diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 00000000..0141ecee --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,36 @@ +#### Если вы хотите доработать xUnitFor1C, добро пожаловать :) + +Нужно соблюсти очень простые правила: + +1. Поискать задачу в списке задач (issues) проекта https://github.com/xDrivenDevelopment/xUnitFor1C/issues +1. Если нет уже существующей задачи, создайте новую, в которой опишите новые требования. В этой задаче можно будет обсудить как само требование, так и реализацию. + + Возможно, Ваше требование уже реализовано или может быть реализован другим способом, отличным от придуманного Вами. + +1. Почитайте короткую [[инструкцию по установке фреймворка xUnitFor1C|Инструкция по установке фреймворка xUnitFor1C]] + +1. Сделайте fork проекта +![пример кнопки](https://cloud.githubusercontent.com/assets/2920817/6867971/4ec9e270-d498-11e4-93f3-75bd3d043414.png) + +1. Получите локальную копию на своем веток `master` и `develop` - сделать `checkout` или `pull` из полученного fork для каждой из веток. +1. Создайте свою собственную ветку на базе `develop`. +1. Создайте пустую базу 1С. База может быть как Файловой, так и клиент-серверной. +1. В Конфигураторе в базу загрузите файл конфигурации `Tests\TestConfig.cf` и обновите базу данных. +1. Перезапустите конфигуратор и создайте пользователя Администратор с полными правами. + 1. Наличие этого пользователя важно для тестирования. ![] (http://xdd.silverbulleters.org/uploads/default/56/327c1644c254e979.png) +1. Запустите Предприятие. Прогоните все тесты из `папки Tests`. Ошибок быть не должно. + 1. *Прогоняйте тесты согласно [Инструкции для тестирования](https://github.com/xDrivenDevelopment/xUnitFor1C/wiki/%D0%A2%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D0%B0-xUnitFor1C)* +1. Выполните необходимые для Вас доработки. + 1. Обязательно измените `самый минорный номер версии` в методе `Версия` модуля обработки xddTestRunner. + Например, если было `2.5.0.19`, поставьте `2.5.0.20`. +1. Обязательно перезагрузите Предприятие. +1. Снова выполните все тесты из `папки Tests`. + 1. Если есть ошибки, исправьте свой код. + 1. Тесты исправляйте в крайнем случае, желательно только после согласования с участниками проекта. + Как правило, тесты написаны не зря :) +1. Если вы дорабатывали конфигурацию базы, например, добавляли метаданные для генерации тестовых данных, сохраните файл измененной конфигурации в файл `TestConfig.cf` +1. Если нет ошибок во всех тестах, выполните коммит всех исправленных файлов с обязательным описанием своих правок и привязкой к созданной/найденной issue в виде `Добавлено то и это #36` +1. Далее сделайте pull-request в проект. https://github.com/xDrivenDevelopment/xUnitFor1C/pulls + 1. ВАЖНО: **выбирайте ветку `develop`, а не `master`** + 1. ВАЖНО: **убедитесь, что Ваш fork синхронизирован с оригинальным репозиторием** ![](http://xdd.silverbulleters.org/uploads/default/52/fe9c6d07feaa9506.png) +1. После этого Вашу работу проверят и загрузят в основной ствол. diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 00000000..c156fef9 --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,45 @@ +### Предварительно + +* [ ] Вы используете [последнюю версию продукта](https://github.com/xDrivenDevelopment/xUnitFor1C/tree/develop) ? +* [ ] Вы проверили [Известные проблемы при тестировании](https://github.com/xDrivenDevelopment/xUnitFor1C/wiki/%D0%98%D0%B7%D0%B2%D0%B5%D1%81%D1%82%D0%BD%D1%8B%D0%B5-%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D1%8B-%D0%BF%D1%80%D0%B8-%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8) ? + +## Описание + +[ Вставьте описание бага или проблемы ] + +** Шаги для воспроизведения ** + +1. [ Вставьте первый шаг ] +2. [ Вставьте второй шаг ] +3. [ И так далее... ] + +**Ожидаемое поведение:** [ Что вы хотите получить? ] + +**Текущее поведение:** [ Что происходит в действительности? ] + +**Укажите:** +* [ версию продукта ] +* [ версию платформы 1С ] +* [ параметры запуска + * обычное/управляемое приложение, тонкий/толстый клиент и т.п. ] + +** Прикладывайте скриншоты ** + +## Также приветствуется описание в формате Gherkin + +```Gherkin +Функционал <Необходимый эффект> + Как <роль пользователя> + Я хочу <Необходимый функционал> + +Контекст + Дано <версия продукта> + И <версия платформы 1С> + и <параметры запуска> + +Сценарий <ожидаемое поведение> + Допустим <Исходные данные> + Когда <Что-то вызывается> + Тогда <Получаем результат> + +``` diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..fc7eae9a --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,3 @@ +реализация #[Номер issue] + +сделанные доработки diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..0141ecee --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,36 @@ +#### Если вы хотите доработать xUnitFor1C, добро пожаловать :) + +Нужно соблюсти очень простые правила: + +1. Поискать задачу в списке задач (issues) проекта https://github.com/xDrivenDevelopment/xUnitFor1C/issues +1. Если нет уже существующей задачи, создайте новую, в которой опишите новые требования. В этой задаче можно будет обсудить как само требование, так и реализацию. + + Возможно, Ваше требование уже реализовано или может быть реализован другим способом, отличным от придуманного Вами. + +1. Почитайте короткую [[инструкцию по установке фреймворка xUnitFor1C|Инструкция по установке фреймворка xUnitFor1C]] + +1. Сделайте fork проекта +![пример кнопки](https://cloud.githubusercontent.com/assets/2920817/6867971/4ec9e270-d498-11e4-93f3-75bd3d043414.png) + +1. Получите локальную копию на своем веток `master` и `develop` - сделать `checkout` или `pull` из полученного fork для каждой из веток. +1. Создайте свою собственную ветку на базе `develop`. +1. Создайте пустую базу 1С. База может быть как Файловой, так и клиент-серверной. +1. В Конфигураторе в базу загрузите файл конфигурации `Tests\TestConfig.cf` и обновите базу данных. +1. Перезапустите конфигуратор и создайте пользователя Администратор с полными правами. + 1. Наличие этого пользователя важно для тестирования. ![] (http://xdd.silverbulleters.org/uploads/default/56/327c1644c254e979.png) +1. Запустите Предприятие. Прогоните все тесты из `папки Tests`. Ошибок быть не должно. + 1. *Прогоняйте тесты согласно [Инструкции для тестирования](https://github.com/xDrivenDevelopment/xUnitFor1C/wiki/%D0%A2%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D0%B0-xUnitFor1C)* +1. Выполните необходимые для Вас доработки. + 1. Обязательно измените `самый минорный номер версии` в методе `Версия` модуля обработки xddTestRunner. + Например, если было `2.5.0.19`, поставьте `2.5.0.20`. +1. Обязательно перезагрузите Предприятие. +1. Снова выполните все тесты из `папки Tests`. + 1. Если есть ошибки, исправьте свой код. + 1. Тесты исправляйте в крайнем случае, желательно только после согласования с участниками проекта. + Как правило, тесты написаны не зря :) +1. Если вы дорабатывали конфигурацию базы, например, добавляли метаданные для генерации тестовых данных, сохраните файл измененной конфигурации в файл `TestConfig.cf` +1. Если нет ошибок во всех тестах, выполните коммит всех исправленных файлов с обязательным описанием своих правок и привязкой к созданной/найденной issue в виде `Добавлено то и это #36` +1. Далее сделайте pull-request в проект. https://github.com/xDrivenDevelopment/xUnitFor1C/pulls + 1. ВАЖНО: **выбирайте ветку `develop`, а не `master`** + 1. ВАЖНО: **убедитесь, что Ваш fork синхронизирован с оригинальным репозиторием** ![](http://xdd.silverbulleters.org/uploads/default/52/fe9c6d07feaa9506.png) +1. После этого Вашу работу проверят и загрузят в основной ствол. diff --git a/LICENSE b/LICENSE index bc561f63..c29d69d3 100644 --- a/LICENSE +++ b/LICENSE @@ -191,6 +191,7 @@ Author: Artur Ayukhanov aartbear@gmail.com Author: Alexander Kuntashov kuntashov@gmail.com Author: Shenja Sosna shenjasosna@gmail.com + Author: Alexey Lustin alexey@lustin.org Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/MockExample.cf b/MockExample.cf deleted file mode 100644 index c70f2adc..00000000 Binary files a/MockExample.cf and /dev/null differ diff --git "a/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217.epf" "b/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217.epf" new file mode 100644 index 00000000..78de2154 Binary files /dev/null and "b/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217.epf" differ diff --git "a/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.epf" "b/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.epf" new file mode 100644 index 00000000..e0cc2a4f Binary files /dev/null and "b/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.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\260JUnitXML.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\260JUnitXML.epf" new file mode 100644 index 00000000..d91c443d Binary files /dev/null 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\260JUnitXML.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" new file mode 100644 index 00000000..77113c21 Binary files /dev/null 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\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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" new file mode 100644 index 00000000..256bd5a0 Binary files /dev/null and "b/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260.epf" "b/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260.epf" new file mode 100644 index 00000000..ee477e69 Binary files /dev/null and "b/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\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" new file mode 100644 index 00000000..67b1a2dd Binary files /dev/null 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" new file mode 100644 index 00000000..9e54ec8e Binary files /dev/null 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\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273.epf" "b/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273.epf" new file mode 100644 index 00000000..883d77a8 Binary files /dev/null and "b/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273.epf" differ diff --git "a/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270.epf" "b/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270.epf" new file mode 100644 index 00000000..a561d934 Binary files /dev/null and "b/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270.epf" differ diff --git "a/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262.epf" "b/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262.epf" new file mode 100644 index 00000000..8b7a2867 Binary files /dev/null and "b/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262.epf" differ diff --git "a/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL.epf" "b/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL.epf" new file mode 100644 index 00000000..147c0904 Binary files /dev/null and "b/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL.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" new file mode 100644 index 00000000..fd08a706 Binary files /dev/null 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/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD.epf" "b/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD.epf" new file mode 100644 index 00000000..a6d22802 Binary files /dev/null and "b/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD.epf" differ diff --git "a/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206.epf" "b/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206.epf" new file mode 100644 index 00000000..9a78a7d2 Binary files /dev/null and "b/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206.epf" differ diff --git "a/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260.epf" "b/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260.epf" new file mode 100644 index 00000000..d076f94c Binary files /dev/null and "b/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260.epf" differ diff --git "a/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260.epf" "b/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260.epf" new file mode 100644 index 00000000..e1cffc15 Binary files /dev/null and "b/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260.epf" differ diff --git "a/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213.epf" "b/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213.epf" new file mode 100644 index 00000000..2c92f1ab Binary files /dev/null and "b/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213.epf" differ diff --git a/README.md b/README.md index 37b570a6..d5b20227 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,78 @@ # xUnitFor1C - Set of testing tools for 1C:Enterprise 8 platform +[![Join the chat at https://gitter.im/xDrivenDevelopment/xUnitFor1C](https://badges.gitter.im/xDrivenDevelopment/xUnitFor1C.svg)](https://gitter.im/xDrivenDevelopment/xUnitFor1C?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) Здесь вы можете задавать любые вопросы разработчикам и активным участникам + xUnitFor1C is a set of testing tools for 1C:Enterprise 8 platform (http://v8.1c.ru). -xUnitFor1C - набор инструментов для выполнения тестирования (модульного/юнит, приемочного, сценарного для 1С 8.3, интеграционного) в 1С:Предприятии 8. +xUnitFor1C - простой и мощный фреймворк для тестирования в 1С. + +Набор инструментов для выполнения тестирования (модульного/юнит, приемочного, сценарного для 1С 8.3, интеграционного) в 1С:Предприятие 8. + +Миссия продукта - повышение качества разработки. + +Продукт позволяет проверять различные поведение систем на базе 1С и проверяет/гарантирует качество функциональности системы и ее составных частей. [Посмотрите Wiki](https://github.com/xDrivenDevelopment/xUnitFor1C/wiki) +xUnitFor1C работает с любыми конфигурациями, полностью независима, но может быть встроена в конфигурацию. + +Позволяет открывать/тестировать в разных режимах - обычное приложение, тонкий и толстый клиент управляемого приложения. Поддерживаются любые платформы 1С - от 8.2.17 до 8.3.5 и выше. + +Для быстрого входа рекомендуем [почитать статьи или посмотреть видео](https://github.com/xDrivenDevelopment/xUnitFor1C/wiki/%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D0%B8-%D0%B8-%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-%D0%BF%D0%BE-%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8E-%D0%B2-1%D0%A1) + +Тесты могут быть как во внешних обработках, так и во встроенных обработках. + +Любые наборы тестов могут прогоняться в полностью автоматическом режиме через [специальную командную строку запуска](https://github.com/xDrivenDevelopment/xUnitFor1C/wiki/%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA-%D1%82%D0%B5%D1%81%D1%82%D0%BE%D0%B2-%D0%B8%D0%B7-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D0%BE%D0%B9-%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B8-%D0%B8-%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2-%D1%80%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%BE%D0%B2). Автозапуск используется в различных build-серверах и в системах Continuous Integration. + +Также возможно очень простое создание тестовых данных на основании табличных макетов. Эти макеты можно генерировать из реальных боевых данных. Полученные данные в тестах загружаются одной строкой кода. + +Почитайте короткую [инструкцию по установке фреймворка xUnitFor1C](https://github.com/xDrivenDevelopment/xUnitFor1C/wiki/%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F-%D0%BF%D0%BE-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B5-%D1%84%D1%80%D0%B5%D0%B9%D0%BC%D0%B2%D0%BE%D1%80%D0%BA%D0%B0-xUnitFor1C) + +В случае возникновения каких-то проблем при тестировании рекомендуем заглянуть на страницу [Известные проблемы при тестировании](https://github.com/xDrivenDevelopment/xUnitFor1C/wiki/%D0%98%D0%B7%D0%B2%D0%B5%D1%81%D1%82%D0%BD%D1%8B%D0%B5-%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D1%8B-%D0%BF%D1%80%D0%B8-%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8) + +### Использование xUnitFor1C + +* [Создание файлов-тестов](https://github.com/xDrivenDevelopment/xUnitFor1C/wiki/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2-%D1%82%D0%B5%D1%81%D1%82%D0%BE%D0%B2) + +* [Сценарные тесты - сценарии в виде связанных и последовательных шагов](https://github.com/xDrivenDevelopment/xUnitFor1C/wiki/%D0%A1%D1%86%D0%B5%D0%BD%D0%B0%D1%80%D0%BD%D1%8B%D0%B5-%D1%82%D0%B5%D1%81%D1%82%D1%8B---%D1%81%D1%86%D0%B5%D0%BD%D0%B0%D1%80%D0%B8%D0%B8-%D0%B2-%D0%B2%D0%B8%D0%B4%D0%B5-%D1%81%D0%B2%D1%8F%D0%B7%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%B8-%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D1%85-%D1%88%D0%B0%D0%B3%D0%BE%D0%B2) + +* [Принципы написания тестов](https://github.com/xDrivenDevelopment/xUnitFor1C/wiki/%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF%D1%8B-%D0%BD%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D1%8F-%D1%82%D0%B5%D1%81%D1%82%D0%BE%D0%B2) + +* [Методы проверки/утверждений](https://github.com/xDrivenDevelopment/xUnitFor1C/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B8---%D1%83%D1%82%D0%B2%D0%B5%D1%80%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F) + +* [Изменения в версии 4.Х по сравнению с 3.Х](https://github.com/xDrivenDevelopment/xUnitFor1C/wiki/%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F-%D0%B2-%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%B8-4.%D0%A5-%D0%BF%D0%BE-%D1%81%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D1%8E-%D1%81-3.%D0%A5) + +* [Конвертация тестов из формата 3.Х в 4.Х](https://github.com/xDrivenDevelopment/xUnitFor1C/wiki/%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F-%D0%B2-%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%B8-4.%D0%A5-%D0%BF%D0%BE-%D1%81%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D1%8E-%D1%81-3.%D0%A5#%D0%9A%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B0%D1%86%D0%B8%D1%8F-%D1%82%D0%B5%D1%81%D1%82%D0%BE%D0%B2-%D0%B2-%D0%BD%D0%BE%D0%B2%D1%8B%D0%B9-%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82) + +* [Известные проблемы при тестировании](https://github.com/xDrivenDevelopment/xUnitFor1C/wiki/%D0%98%D0%B7%D0%B2%D0%B5%D1%81%D1%82%D0%BD%D1%8B%D0%B5-%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D1%8B-%D0%BF%D1%80%D0%B8-%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8) + +* [Тестирование через образец исходных данных](https://github.com/xDrivenDevelopment/xUnitFor1C/wiki/%D0%A2%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%B5%D1%86-%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D0%BD%D1%8B%D1%85-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85) + +[Запуск тестов из командной строки и получение файлов результатов](https://github.com/xDrivenDevelopment/xUnitFor1C/wiki/%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA-%D1%82%D0%B5%D1%81%D1%82%D0%BE%D0%B2-%D0%B8%D0%B7-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D0%BE%D0%B9-%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B8-%D0%B8-%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2-%D1%80%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%BE%D0%B2) + +* [Запуск тестов на build-серверах Jenkins, TeamCity и т.д.](https://github.com/xDrivenDevelopment/xUnitFor1C/wiki/%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA-%D1%82%D0%B5%D1%81%D1%82%D0%BE%D0%B2-%D0%BD%D0%B0-build-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0%D1%85-Jenkins,-TeamCity-%D0%B8-%D1%82.%D0%B4.) + +[Генерация данных](https://github.com/xDrivenDevelopment/xUnitFor1C/wiki/%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85) + +* [Режимы генерации данных при создании объектов и поиске реквизитов объектов](https://github.com/xDrivenDevelopment/xUnitFor1C/wiki/%D0%A0%D0%B5%D0%B6%D0%B8%D0%BC%D1%8B-%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%BF%D1%80%D0%B8-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B8-%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2-%D0%B8-%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B5-%D1%80%D0%B5%D0%BA%D0%B2%D0%B8%D0%B7%D0%B8%D1%82%D0%BE%D0%B2-%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2) + +* [Генерация макета на базе реальных данных](https://github.com/xDrivenDevelopment/xUnitFor1C/wiki/%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F-%D0%BC%D0%B0%D0%BA%D0%B5%D1%82%D0%B0-%D0%BD%D0%B0-%D0%B1%D0%B0%D0%B7%D0%B5-%D1%80%D0%B5%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85) + +* [Создание макета данных на основании результатов запросов (например, через ирМобильные)](https://github.com/xDrivenDevelopment/xUnitFor1C/wiki/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BC%D0%B0%D0%BA%D0%B5%D1%82%D0%B0-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%BD%D0%B0-%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8-%D1%80%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%BE%D0%B2-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2-%28%D0%BD%D0%B0%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%2C-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-%D0%B8%D1%80%D0%9C%D0%BE%D0%B1%D0%B8%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5%29) + +[Тесты открытия форм](https://github.com/xDrivenDevelopment/xUnitFor1C/wiki/%D0%A2%D0%B5%D1%81%D1%82%D1%8B-%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D1%8F-%D1%84%D0%BE%D1%80%D0%BC) (удобно юзать перед выпуском релиза или его установкой на рабочую базу) + +Примеры тестов: + +* [Пример теста СКД и отчета, сделанного на компоновке](https://github.com/xDrivenDevelopment/xUnitFor1C/wiki/%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80-%D1%82%D0%B5%D1%81%D1%82%D0%B0-%D0%A1%D0%9A%D0%94-%D0%B8-%D0%BE%D1%82%D1%87%D0%B5%D1%82%D0%B0%2C-%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE-%D0%BD%D0%B0-%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%BE%D0%B2%D0%BA%D0%B5) + +Скрипт для Snegopat ["Добавить описание тестовых случаев текущего модуля в метод ПолучитьСписокТестов" (xUnitAddTestsDesc.js)](https://github.com/xDrivenDevelopment/xUnitFor1C/wiki/%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82-%D0%B4%D0%BB%D1%8F-Snegopat---%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D1%82%D0%B5%D1%81%D1%82%D0%BE%D0%B2%D1%8B%D1%85-%D1%81%D0%BB%D1%83%D1%87%D0%B0%D0%B5%D0%B2-%D1%82%D0%B5%D0%BA%D1%83%D1%89%D0%B5%D0%B3%D0%BE-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F-%D0%B2-%D0%BC%D0%B5%D1%82%D0%BE%D0%B4-%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B8%D1%82%D1%8C%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%D0%A2%D0%B5%D1%81%D1%82%D0%BE%D0%B2----xUnitAddTestsDesc.js) + +**[Инструкция для контрибьюторов, т.е. для тех, кто жаждет доработать xUnitFor1C](https://github.com/xDrivenDevelopment/xUnitFor1C/wiki/%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F-%D0%B4%D0%BB%D1%8F-%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%B8%D0%B1%D1%8C%D1%8E%D1%82%D0%BE%D1%80%D0%BE%D0%B2,-%D1%82.%D0%B5.-%D0%B4%D0%BB%D1%8F-%D1%82%D0%B5%D1%85,-%D0%BA%D1%82%D0%BE-%D0%B6%D0%B0%D0%B6%D0%B4%D0%B5%D1%82-%D0%B4%D0%BE%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D1%82%D1%8C-xUnitFor1C)** + ## Что к чему * *xddTestRunner.epf* - браузер и исполнитель тестов для обычного приложения и управляемого приложения 1С:Предприятия 8 (толстый и тонкий клиенты) -* *xddDataFixtureGen.epf* - генерация макета данных для использования в тестах. Макет можно генерить из боевой базы на основе реальных данных. -* *xddTestRunner.js* - скрипт для Снегопата, позволяющий выполнять тесты прямо из конфигуратора * *Tests/* - каталог с примерами тестов и с тестами для самотестирования xddTestRunner.epf (подпапка selftests) * *Tests\CommonApp\тесты_ОткрытиеФормКонфигурации.epf* - тесты открытия всех форм справочников, документов, отчетов и обработок. Для справочников и документов в транзакции создаются новые или копируются или перезаписываются существующие элементы. * *Tests\CommonApp\Тест_ЗапускТестовВСеансеДругихПользователей.epf* - примеры запуска тестов для пользователей с ограниченными правами. Пользователи создаются на лету из простых макетов. @@ -18,12 +80,12 @@ xUnitFor1C - набор инструментов для выполнения т ## Как помочь проекту -Мы рады любой помощи: +Мы рады любой помощи: -1. Если вы занимаетесь разработкой на 1С:Преприятии 8 пробуйте писать и выполнять тесты при помощи xUnitFor1C, сообщайте нам об обнаруженных ошибках, пишите пожелания. Для управления сообщениями об ошибках и пожеланиями мы используем [баг-трекер GitHub'а](https://github.com/xDrivenDevelopment/xUnitFor1C/issues?sort=created&state=open). +1. Если вы занимаетесь разработкой на 1С:Предприятии 8 пробуйте писать и выполнять тесты при помощи xUnitFor1C, сообщайте нам об обнаруженных ошибках, пишите пожелания. Для управления сообщениями об ошибках и пожеланиями мы используем [баг-трекер GitHub'а](https://github.com/xDrivenDevelopment/xUnitFor1C/issues?sort=created&state=open). 2. Если у вас есть время разобраться в исходном коде, вы можете взять на себя реализацию одной из [открытых задач](https://github.com/xDrivenDevelopment/xUnitFor1C/issues?sort=created&state=open). 3. Если вы уже используете xUnitFor1C на практике, напишите об этом статью, например, на [Инфостарте](http://infostart.ru). -[Инструкция для контрибьюторов, т.е. для тех, кто жаждет доработать xUnitFor1C](https://github.com/xDrivenDevelopment/xUnitFor1C/wiki/%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F-%D0%B4%D0%BB%D1%8F-%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%B8%D0%B1%D1%8C%D1%8E%D1%82%D0%BE%D1%80%D0%BE%D0%B2,-%D1%82.%D0%B5.-%D0%B4%D0%BB%D1%8F-%D1%82%D0%B5%D1%85,-%D0%BA%D1%82%D0%BE-%D0%B6%D0%B0%D0%B6%D0%B4%D0%B5%D1%82-%D0%B4%D0%BE%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D1%82%D1%8C-xUnitFor1C) \ No newline at end of file +[Инструкция для контрибьюторов, т.е. для тех, кто жаждет доработать xUnitFor1C](https://github.com/xDrivenDevelopment/xUnitFor1C/wiki/%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F-%D0%B4%D0%BB%D1%8F-%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%B8%D0%B1%D1%8C%D1%8E%D1%82%D0%BE%D1%80%D0%BE%D0%B2,-%D1%82.%D0%B5.-%D0%B4%D0%BB%D1%8F-%D1%82%D0%B5%D1%85,-%D0%BA%D1%82%D0%BE-%D0%B6%D0%B0%D0%B6%D0%B4%D0%B5%D1%82-%D0%B4%D0%BE%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D1%82%D1%8C-xUnitFor1C) diff --git "a/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271.epf" "b/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271.epf" deleted file mode 100644 index b109848b..00000000 Binary files "a/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271.epf" and /dev/null differ diff --git "a/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\321\213\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\320\276\320\263\320\276\320\237\320\276\320\236\321\202\320\261\320\276\321\200\321\203.epf" "b/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\321\213\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\320\276\320\263\320\276\320\237\320\276\320\236\321\202\320\261\320\276\321\200\321\203.epf" deleted file mode 100644 index bc5c42ea..00000000 Binary files "a/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\321\213\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\320\276\320\263\320\276\320\237\320\276\320\236\321\202\320\261\320\276\321\200\321\203.epf" and /dev/null differ diff --git "a/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203.epf" "b/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203.epf" deleted file mode 100644 index 8873604b..00000000 Binary files "a/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203.epf" and /dev/null differ diff --git "a/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\220\320\262\321\202\320\276\320\242\320\265\321\201\321\202\321\213\320\247\320\265\321\200\320\265\320\267\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200.epf" "b/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\220\320\262\321\202\320\276\320\242\320\265\321\201\321\202\321\213\320\247\320\265\321\200\320\265\320\267\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200.epf" deleted file mode 100644 index 2bfe64eb..00000000 Binary files "a/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\220\320\262\321\202\320\276\320\242\320\265\321\201\321\202\321\213\320\247\320\265\321\200\320\265\320\267\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200.epf" and /dev/null differ diff --git "a/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202.epf" "b/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202.epf" deleted file mode 100644 index 3f19d75e..00000000 Binary files "a/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202.epf" and /dev/null differ diff --git "a/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\237\320\276\320\272\320\260\320\267\320\260\321\202\321\214GUID.epf" "b/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\237\320\276\320\272\320\260\320\267\320\260\321\202\321\214GUID.epf" deleted file mode 100644 index 38355736..00000000 Binary files "a/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\237\320\276\320\272\320\260\320\267\320\260\321\202\321\214GUID.epf" and /dev/null differ diff --git "a/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260.epf" "b/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260.epf" deleted file mode 100644 index ac59a6f2..00000000 Binary files "a/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260.epf" and /dev/null differ diff --git "a/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260\320\236\321\202\320\273\320\260\320\264\320\272\320\260\320\243\320\244.epf" "b/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260\320\236\321\202\320\273\320\260\320\264\320\272\320\260\320\243\320\244.epf" deleted file mode 100644 index ac59a6f2..00000000 Binary files "a/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260\320\236\321\202\320\273\320\260\320\264\320\272\320\260\320\243\320\244.epf" and /dev/null differ diff --git "a/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205.epf" "b/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205.epf" deleted file mode 100644 index 1349eb83..00000000 Binary files "a/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205.epf" and /dev/null differ diff --git "a/Tests/CommonApp/\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/CommonApp/\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" deleted file mode 100644 index 613eb845..00000000 Binary files "a/Tests/CommonApp/\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 /dev/null differ diff --git "a/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262.epf" "b/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262.epf" new file mode 100644 index 00000000..b3a87256 Binary files /dev/null and "b/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262.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" new file mode 100644 index 00000000..b7158fba Binary files /dev/null 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/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262.epf" "b/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262.epf" new file mode 100644 index 00000000..5b75cf45 Binary files /dev/null and "b/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262.epf" differ diff --git a/Tests/Gui83/UILogToScript.epf b/Tests/Gui83/UILogToScript.epf deleted file mode 100644 index 0f74b9ac..00000000 Binary files a/Tests/Gui83/UILogToScript.epf and /dev/null differ diff --git "a/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83.epf" "b/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83.epf" deleted file mode 100644 index 9f101fc7..00000000 Binary files "a/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83.epf" and /dev/null differ diff --git "a/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271.epf" "b/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271.epf" deleted file mode 100644 index 424f08e3..00000000 Binary files "a/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271.epf" and /dev/null differ diff --git "a/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214.epf" "b/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214.epf" deleted file mode 100644 index e206184d..00000000 Binary files "a/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214.epf" and /dev/null differ diff --git "a/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265.epf" "b/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265.epf" deleted file mode 100644 index 7b167812..00000000 Binary files "a/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265.epf" and /dev/null differ diff --git "a/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214.epf" "b/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214.epf" deleted file mode 100644 index 12b638af..00000000 Binary files "a/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214.epf" and /dev/null differ diff --git "a/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214.epf" "b/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214.epf" deleted file mode 100644 index e41f38ac..00000000 Binary files "a/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214.epf" and /dev/null differ diff --git "a/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276.epf" "b/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276.epf" deleted file mode 100644 index 9730fef1..00000000 Binary files "a/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276.epf" and /dev/null differ diff --git "a/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277.epf" "b/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277.epf" deleted file mode 100644 index e0872126..00000000 Binary files "a/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277.epf" and /dev/null differ diff --git "a/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\235\320\260\320\232\320\273\320\270\320\265\320\275\321\202\320\265.epf" "b/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\235\320\260\320\232\320\273\320\270\320\265\320\275\321\202\320\265.epf" deleted file mode 100644 index fa28e2f7..00000000 Binary files "a/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\235\320\260\320\232\320\273\320\270\320\265\320\275\321\202\320\265.epf" and /dev/null differ diff --git "a/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260.epf" "b/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260.epf" deleted file mode 100644 index bb57c121..00000000 Binary files "a/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260.epf" and /dev/null differ diff --git "a/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260.epf" "b/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260.epf" new file mode 100644 index 00000000..53979544 Binary files /dev/null and "b/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260.epf" differ diff --git "a/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203.epf" "b/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203.epf" new file mode 100644 index 00000000..b64f4405 Binary files /dev/null and "b/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203.epf" differ diff --git "a/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML.epf" "b/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML.epf" new file mode 100644 index 00000000..e6840eac Binary files /dev/null and "b/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML.epf" differ diff --git "a/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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" new file mode 100644 index 00000000..20ebf29e Binary files /dev/null and "b/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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" new file mode 100644 index 00000000..95427155 Binary files /dev/null and "b/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260.epf" "b/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260.epf" new file mode 100644 index 00000000..d039f754 Binary files /dev/null and "b/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260.epf" differ diff --git "a/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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" new file mode 100644 index 00000000..8a6bf87f Binary files /dev/null and "b/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262.epf" "b/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262.epf" new file mode 100644 index 00000000..d42b8790 Binary files /dev/null and "b/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262.epf" differ diff --git "a/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270.epf" "b/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270.epf" new file mode 100644 index 00000000..59b77df2 Binary files /dev/null and "b/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270.epf" differ diff --git "a/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL.epf" "b/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL.epf" new file mode 100644 index 00000000..2c9c4b9c Binary files /dev/null and "b/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL.epf" differ diff --git "a/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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" new file mode 100644 index 00000000..c9159059 Binary files /dev/null and "b/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD.epf" "b/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD.epf" new file mode 100644 index 00000000..d43c2129 Binary files /dev/null and "b/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD.epf" differ diff --git "a/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206.epf" "b/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206.epf" new file mode 100644 index 00000000..ae749a5b Binary files /dev/null and "b/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206.epf" differ diff --git "a/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262.epf" "b/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262.epf" new file mode 100644 index 00000000..c9cc4b2c Binary files /dev/null and "b/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262.epf" differ diff --git a/Tests/TestBase.dt b/Tests/TestBase.dt deleted file mode 100644 index 34670248..00000000 Binary files a/Tests/TestBase.dt and /dev/null differ diff --git a/Tests/TestConfig-Taxi83.cf b/Tests/TestConfig-Taxi83.cf deleted file mode 100644 index d0457311..00000000 Binary files a/Tests/TestConfig-Taxi83.cf and /dev/null differ diff --git a/Tests/TestConfig.cf b/Tests/TestConfig.cf index a9b9f2d2..bda15aee 100644 Binary files a/Tests/TestConfig.cf and b/Tests/TestConfig.cf differ diff --git "a/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164.epf" "b/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164.epf" new file mode 100644 index 00000000..f812bf23 Binary files /dev/null and "b/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164.epf" differ diff --git a/Tests/selftests/RunTests.ps1 b/Tests/selftests/RunTests.ps1 deleted file mode 100644 index 85470df1..00000000 --- a/Tests/selftests/RunTests.ps1 +++ /dev/null @@ -1,53 +0,0 @@ -#"C:\Program Files (x86)\1cv82\8.2.18.96\bin\1cv8c.exe" /DisableStartupMessages /Execute E:\ТестыИМ\xddTestRunner.epf /S "as-msk-a6122\im_test" /Out "E:\ТестыИМ\Тесты\log.txt" /C "Тесты_Команда_Тестировать;E:\ТестыИМ\Тесты;ЗавершитьРаботуПослеТестирования" /LogUI -@' -if ($args.count -gt 0) { $basePath = args[0] } -else { $basePath = "C:\Users\aayuhanov\Documents\1c\1cv77\Конфигурации\АвтообновлениеКонфигурации" } - -$bin1c = "${env:ProgramFiles(x86)}\1cv77\BIN.SQL\1cv7s.exe" -If (!(Test-Path $bin1c)) { - $bin1c = "$env:ProgramFiles\1cv77\BIN.SQL\1cv7s.exe" -} -$bin1c -$basePath - - #start "" /wait %bin1c% config /m /D"$basePath\База" /loadmd"$basePath\База_1Cv7.MD" -Start-Process $bin1c "config /m /D""$basePath\База"" /loadmd""$basePath\База_1Cv7.MD"" " -Wait -Get-Content d:\ЗагрузкаОбъединениеМД.log - -"." - -Start-Process $bin1c "config /m /D""$basePath\База"" /loadmd""$basePath\УдалилСпр_ИзменилТипРеквизита_1Cv7.MD"" " -Wait -Get-Content d:\ЗагрузкаОбъединениеМД.log -'@ - -if ($args.count -gt 0) { $basePath = args[0] } -else { $basePath = "W:\1CUnit\ТестоваяБаза" } - -if ($args.count -gt 1) { $TestRunnerPath = args[1] } -else { $TestRunnerPath = "C:\Projects\GitHub\xUnitFor1C\xddTestRunner.epf" } - -if ($args.count -gt 2) { $TestsPath = args[2] } -else { $TestsPath = "C:\Projects\GitHub\xUnitFor1C\Tests\CommonApp\ТестПримерТеста.epf" } -#else { $TestsPath = "C:\Projects\GitHub\xUnitFor1C\Tests\selftests" } -#else { $TestsPath = "Метаданные.Подсистемы.Тестовая" } - -$bin1c = "${env:ProgramFiles(x86)}\1cv82\8.2.19.68\bin\1cv8.exe" -#$bin1c = "${env:ProgramFiles(x86)}\1cv82\8.2.19.68\bin\1cv8c.exe" -@' -If (!(Test-Path $bin1c)) { - $bin1c = "$env:ProgramFiles\1cv77\BIN.SQL\1cv7s.exe" -} -'@ -$logPath = "D:\log.txt" - -$bin1c -$basePath -$TestRunnerPath -$TestsPath - - #start "" /wait %bin1c% config /m /D"$basePath\База" /loadmd"$basePath\База_1Cv7.MD" -#"C:\Program Files (x86)\1cv82\8.2.18.96\bin\1cv8c.exe" /DisableStartupMessages /Execute E:\ТестыИМ\xddTestRunner.epf /S "as-msk-a6122\im_test" /Out "E:\ТестыИМ\Тесты\log.txt" /C "Тесты_Команда_Тестировать;E:\ТестыИМ\Тесты;ЗавершитьРаботуПослеТестирования" /LogUI -Start-Process $bin1c " /F ""$basePath"" /NАдминистратор /DisableStartupMessages /Execute $TestRunnerPath /Out $logPath /C ""xddRun;$TestsPath;xddShutdown1"" /LogUI " -Wait -Get-Content $logPath - -"." diff --git a/Tests/selftests/Tests_CmdLine.epf b/Tests/selftests/Tests_CmdLine.epf deleted file mode 100644 index 881ae456..00000000 Binary files a/Tests/selftests/Tests_CmdLine.epf and /dev/null differ diff --git "a/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202.epf" "b/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202.epf" deleted file mode 100644 index 35b23eb0..00000000 Binary files "a/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202.epf" and /dev/null differ diff --git "a/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200.epf" "b/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200.epf" deleted file mode 100644 index f8df1a0b..00000000 Binary files "a/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200.epf" and /dev/null differ diff --git "a/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244.epf" "b/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244.epf" deleted file mode 100644 index 6eec4745..00000000 Binary files "a/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244.epf" and /dev/null differ diff --git "a/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202.epf" "b/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202.epf" deleted file mode 100644 index 61f61446..00000000 Binary files "a/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202.epf" and /dev/null differ diff --git "a/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200.epf" "b/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200.epf" deleted file mode 100644 index 1c619dd8..00000000 Binary files "a/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200.epf" and /dev/null differ diff --git "a/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244.epf" "b/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244.epf" deleted file mode 100644 index 7827afe8..00000000 Binary files "a/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244.epf" and /dev/null differ diff --git a/Tests/selftests/runtest.sh b/Tests/selftests/runtest.sh deleted file mode 100644 index b1dfd17d..00000000 --- a/Tests/selftests/runtest.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/sh - -WORKSPACE=`pwd` - -if test -d $WORKSPACE/build; then rm -rf $WORKSPACE/build;fi -mkdir $WORKSPACE/build -p - -if test -d $WORKSPACE/test-reports; then rm -rf $WORKSPACE/test-reports;fi -mkdir $WORKSPACE/test-reports/ordinary -p - -if test -d /opt/1C/v8.3/x86_64; then - oneC_root=/opt/1C/v8.3/x86_64 -else - oneC_root=/opt/1C/v8.3/i386 -fi - - -echo "create database $oneC_root" -$oneC_root/1cv8 CREATEINFOBASE File=$WORKSPACE/build/ib/ /Lru -echo "resotore base" -$oneC_root/1cv8 DESIGNER /F$WORKSPACE/build/ib/ /Lru /RestoreIB $WORKSPACE/Tests/TestBase.dt -echo "load cf" -$oneC_root/1cv8 DESIGNER /F$WORKSPACE/build/ib/ /Nadmin /Lru /LoadCfg$WORKSPACE/Tests/TestConfig.cf /UpdateDBCfg - -echo "run thick client ordinary mode" -echo "$oneC_root/1cv8" ENTERPRISE /Lru /F"$WORKSPACE/build/ib/" /Nadmin /C"xddRun;$WORKSPACE/Tests/;xddReportFormat;xml;xddExitCodePath;$WORKSPACE/out.txt;xddReportPath;$WORKSPACE/test-reports/thick.xml;" /Execute"$WORKSPACE/xddTestRunner.epf" /RunModeOrdinary /outrunTest.txt -"$oneC_root/1cv8" ENTERPRISE /Lru /VLru /F"$WORKSPACE/build/ib/" /Nadmin /C"xddRun;$WORKSPACE/Tests/;xddReportFormat;xml;xddExitCodePath;$WORKSPACE/out.txt;xddReportPath;$WORKSPACE/test-reports/thick.xml;" /Execute"$WORKSPACE/xddTestRunner.epf" /RunModeOrdinary /outrunTest.txt -"$oneC_root/1cv8c" ENTERPRISE /Lru /VLru /F"$WORKSPACE/build/ib/" /Nadmin /C"xddRun;$WORKSPACE/Tests/;xddReportFormat;xml;xddExitCodePath;$WORKSPACE/out.txt;xddReportPath;$WORKSPACE/test-reports/thin_Managedapp.xml;" /Execute"$WORKSPACE/xddTestRunner.epf" /outrunTest.txt /TESTMANAGER -"$oneC_root/1cv8" ENTERPRISE /Lru /VLru /F"$WORKSPACE/build/ib/" /Nadmin /C"xddRun;$WORKSPACE/Tests/;xddReportFormat;xml;xddExitCodePath;$WORKSPACE/out.txt;xddReportPath;$WORKSPACE/test-reports/thick_all.xml;" /Execute"$WORKSPACE\xddTestRunner.epf" /outrunTest.txt /RunModeManagedApplication /TESTMANAGER diff --git "a/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine).epf" "b/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine).epf" deleted file mode 100644 index adb2582f..00000000 Binary files "a/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine).epf" and /dev/null differ diff --git "a/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine).epf" "b/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine).epf" deleted file mode 100644 index 3ed7b8d6..00000000 Binary files "a/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine).epf" and /dev/null differ diff --git "a/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262.epf" "b/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262.epf" deleted file mode 100644 index 24adfb62..00000000 Binary files "a/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262.epf" and /dev/null differ diff --git "a/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260.epf" "b/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260.epf" deleted file mode 100644 index 6ede4ca2..00000000 Binary files "a/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260.epf" and /dev/null differ diff --git "a/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274.epf" "b/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274.epf" deleted file mode 100644 index 5c844b4e..00000000 Binary files "a/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274.epf" and /dev/null differ diff --git "a/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262.epf" "b/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262.epf" deleted file mode 100644 index 7463cc21..00000000 Binary files "a/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262.epf" and /dev/null differ diff --git "a/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262.epf" "b/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262.epf" deleted file mode 100644 index babc45bd..00000000 Binary files "a/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262.epf" and /dev/null differ diff --git "a/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271.epf" "b/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271.epf" deleted file mode 100644 index 49dfdc0c..00000000 Binary files "a/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271.epf" and /dev/null differ diff --git "a/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262.epf" "b/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262.epf" deleted file mode 100644 index d68211fa..00000000 Binary files "a/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262.epf" and /dev/null differ diff --git "a/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214.epf" "b/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214.epf" deleted file mode 100644 index e0c0b589..00000000 Binary files "a/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214.epf" and /dev/null differ diff --git "a/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265.epf" "b/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265.epf" deleted file mode 100644 index 5f223793..00000000 Binary files "a/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265.epf" and /dev/null differ diff --git "a/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216.epf" "b/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216.epf" deleted file mode 100644 index 20351d1b..00000000 Binary files "a/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216.epf" and /dev/null differ diff --git "a/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214.epf" "b/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214.epf" deleted file mode 100644 index 29c5b28b..00000000 Binary files "a/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214.epf" and /dev/null differ diff --git "a/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203.epf" "b/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203.epf" deleted file mode 100644 index a72a912c..00000000 Binary files "a/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203.epf" and /dev/null differ diff --git "a/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214.epf" "b/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214.epf" deleted file mode 100644 index d2eaafd8..00000000 Binary files "a/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214.epf" and /dev/null differ diff --git "a/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276.epf" "b/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276.epf" deleted file mode 100644 index 6f2da586..00000000 Binary files "a/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276.epf" and /dev/null differ diff --git "a/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206.epf" "b/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206.epf" deleted file mode 100644 index 3189a211..00000000 Binary files "a/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206.epf" and /dev/null differ diff --git "a/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277.epf" "b/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277.epf" deleted file mode 100644 index d266b41c..00000000 Binary files "a/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277.epf" and /dev/null differ diff --git "a/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262.epf" "b/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262.epf" deleted file mode 100644 index 46cb515b..00000000 Binary files "a/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262.epf" and /dev/null differ diff --git "a/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262.epf" "b/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262.epf" deleted file mode 100644 index abbbed64..00000000 Binary files "a/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262.epf" and /dev/null differ diff --git "a/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262.epf" "b/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262.epf" deleted file mode 100644 index 0563fd73..00000000 Binary files "a/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262.epf" and /dev/null differ diff --git "a/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260.epf" "b/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260.epf" deleted file mode 100644 index 6a98f28c..00000000 Binary files "a/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260.epf" and /dev/null differ diff --git "a/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271.epf" "b/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271.epf" deleted file mode 100644 index d50c9716..00000000 Binary files "a/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271.epf" and /dev/null differ diff --git "a/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262.epf" "b/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262.epf" deleted file mode 100644 index 2feed939..00000000 Binary files "a/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262.epf" and /dev/null differ diff --git "a/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262.epf" "b/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262.epf" deleted file mode 100644 index 808f6036..00000000 Binary files "a/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262.epf" and /dev/null differ diff --git "a/TestsShouldFail/\320\242\320\265\321\201\321\202\320\236\321\210\320\270\320\261\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270.epf" "b/TestsShouldFail/\320\242\320\265\321\201\321\202\320\236\321\210\320\270\320\261\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270.epf" deleted file mode 100644 index 7f4ffb2e..00000000 Binary files "a/TestsShouldFail/\320\242\320\265\321\201\321\202\320\236\321\210\320\270\320\261\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270.epf" and /dev/null differ diff --git "a/TestsShouldFail/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260.epf" "b/TestsShouldFail/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260.epf" deleted file mode 100644 index 5d89a5ed..00000000 Binary files "a/TestsShouldFail/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260.epf" and /dev/null differ diff --git "a/TestsShouldFail/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271.epf" "b/TestsShouldFail/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271.epf" deleted file mode 100644 index b3d76efa..00000000 Binary files "a/TestsShouldFail/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271.epf" and /dev/null differ diff --git a/TestsSnegopat/Automated/1CUnit/test1CUnit.js b/TestsSnegopat/Automated/1CUnit/test1CUnit.js deleted file mode 100644 index eebd7e5f..00000000 --- a/TestsSnegopat/Automated/1CUnit/test1CUnit.js +++ /dev/null @@ -1,160 +0,0 @@ -$engine JScript -$uname test1CUnit -$dname Тесты работы 1CUnit в Конфигураторе -$addin global -$addin stdcommands -$addin stdlib - -global.connectGlobals(SelfScript); - -//{ init -var testBrowser = requireAddin(stdlib.getSnegopatMainFolder() + "scripts\\1CUnit_my\\TestRunner.js"); // если просто написать stdlib.require(fullLoadString, SelfScript), может возникать исключение - -stdlib.require('jsUnitCore.js', SelfScript); // если эту строку вставить до предыдущей requireAddin, будет ошибка при выполнении тестов - -var testBrowserAddin = addins.byUniqueName("_1CUnitTestRunner"); - -var testingFormFrom1cEnterprise = null; -ПерезагрузитьТестируемыйСкриптЗапускающийПредприятие(); -//ПодключитьсяК_1С_Предприятию_ИспользуяКеширование(); - - //var testBrowserForm = testBrowser._1CTestRunnerForm; //testRunner.object._1CTestRunnerForm; - //var testBrowserAddin = addins.byUniqueName("_1CUnitTestRunner"); - //testBrowserForm.connect(); // ускорение тестирования - Предприятие запускаем только один раз - -function ПерезагрузитьТестируемыйСкриптЗапускающийПредприятие() -{ -//debugger; - testBrowserAddin = addins.byUniqueName("_1CUnitTestRunner"); - if(!testBrowserAddin) - testBrowser = requireAddin(stdlib.getSnegopatMainFolder() + "scripts\\1CUnit_my\\TestRunner.js"); // если просто написать stdlib.require(fullLoadString, SelfScript), может возникать исключение - else { - testBrowser = testBrowserAddin.object; - - path = testBrowserAddin.fullPath; - group = testBrowserAddin.group; - addins.UnloadAddin(testBrowserAddin); - - testBrowserAddin = addins.loadAddin(path, group); - testBrowser = testBrowserAddin.object; - } - - //testBrowser = requireAddin(stdlib.getSnegopatMainFolder() + "scripts\\1CUnit_my\\TestRunner.js"); // если просто написать stdlib.require(fullLoadString, SelfScript), может возникать исключение - testingFormFrom1cEnterprise = testBrowser.TestRunnerForm1C; - testingFormFrom1cEnterprise.connectIfNotConnected(); -} - -// ускорение тестирования - Предприятие запускаем только один раз -function ПодключитьсяК_1С_Предприятию_ИспользуяКеширование() { -//debugger; - testingFormFrom1cEnterprise = stdlib.UnitTest1C_1CTestRunnerForm; - try { - testingFormFrom1cEnterprise.connectIfNotConnected(); - } - catch(e) { - testingFormFrom1cEnterprise = testBrowser.TestRunnerForm1C; - stdlib.UnitTest1C_1CTestRunnerForm = testingFormFrom1cEnterprise; - testingFormFrom1cEnterprise.connectIfNotConnected(); - } - - ////естьКешированноеЗначение_И_ИсходныйСкриптНеПерезагружали = stdlib.UnitTest1C_1CTestRunnerForm && stdlib.UnitTest1C_1CTestRunnerForm._super(); - //естьКешированноеЗначение_И_ИсходныйСкриптНеПерезагружали = stdlib.UnitTest1C_1CTestRunnerForm && stdlib.UnitTest1C_1CTestRunnerForm._super; - ////естьКешированноеЗначение_И_ИсходныйСкриптНеПерезагружали = stdlib.UnitTest1C_1CTestRunnerForm && stdlib.UnitTest1C_1CTestRunnerForm._super; - // - //if(естьКешированноеЗначение_И_ИсходныйСкриптНеПерезагружали) { - // testingFormFrom1cEnterprise = stdlib.UnitTest1C_1CTestRunnerForm; - //} - //else{ - // //testingFormFrom1cEnterprise = testBrowser._1CTestRunnerForm._instance; - // //testingFormFrom1cEnterprise = new TestRunnerForm1Cf; - // testingFormFrom1cEnterprise = testBrowser.TestRunnerForm1C; - // stdlib.UnitTest1C_1CTestRunnerForm = testingFormFrom1cEnterprise; - //} - //testingFormFrom1cEnterprise.connectIfNotConnected(); -} - -SelfScript.self['macros Убрать кеш'] = function () { - stdlib.UnitTest1C_1CTestRunnerForm = null; -} - -function requireAddin(fullLoadString) { - var lib = addins.byFullPath(fullLoadString); - - if (!lib){ - return stdlib.require(fullLoadString, SelfScript); - } - return lib; -} -//} init - - -//{ test setUp/tearDown -function setUp() { -} - -function tearDown() { - //testingFormFrom1cEnterprise.close(); - //addins.UnloadAddin(testBrowserAddin); -} -//} test setUp/tearDown - -//{ tests - -var test1CPath = v8New("File", SelfScript.fullPath).Path + "\\Тесты\\"; - -SelfScript.self['macrosTest Открытие/закрытие браузера тестов'] = function () { - assertNotNull("addin _1CUnitTestRunner не загружен", testBrowser); - assertNotNull("форма testingFormFrom1cEnterprise не инициализирована", testingFormFrom1cEnterprise); - testingFormFrom1cEnterprise.open(); - testingFormFrom1cEnterprise.close(); -} - -SelfScript.self['macrosTest Загрузить тесты'] = function () { - testingFormFrom1cEnterprise.open(); - testingFormFrom1cEnterprise.LoadAllTests(test1CPath); - //Предупреждение(1); -} - -SelfScript.self['macrosTest Загрузить тесты (нажатие кнопки)'] = function () { - testingFormFrom1cEnterprise.open(); - testingFormFrom1cEnterprise.LoadAllTestWithSelectFolderPath(); - //Предупреждение(1); -} - -SelfScript.self['macrosTest Запустить все тесты'] = function () { - testingFormFrom1cEnterprise.open(); - testingFormFrom1cEnterprise.LoadAllTests(test1CPath); - - testingFormFrom1cEnterprise.RunAllTests(); -} - -function m_macrosTestAnalyseModule1() { - -//debugger; - - //Message(cnt.ModuleVars.join(',')); - - //assertEquals('Неправильно определено количество переменных модуля!', 6, cnt.ModuleVars.length); - //assertArrayEqualsIgnoringOrder('Неправильно определен список переменных модуля!', - // ['мПеременнаяМодуля', 'ЕщеОднаПеременная', 'ЭкспортнаяПеременная', - // 'ЭкспортныйМассив', 'ЛокальныйМассив', 'ПростоПеременная'], cnt.ModuleVars); -// - //assertEquals('Неправильно определено количество методов!', 2, cnt.Methods.length); - // - //assertUndefined(cnt.getMethodByName('НесуществующийМетод')); - // - //var method = cnt.getMethodByName('МояФункция'); - //assertNotUndefined("Метод МояФункция не найден", method); - //assertArrayEqualsIgnoringOrder(['ПараметрФункции'], method.Params); - //assertFalse(method.IsProc) -// - //var proc = cnt.getMethodByName('МояПроцедура'); - //assertNotNull("Метод МояПроцедура не найден", proc); - //assertArrayEqualsIgnoringOrder(['Парам1', 'Парам2'], proc.Params); - //assertTrue(proc.IsProc) - -} - - -//} tests - diff --git "a/TestsSnegopat/Automated/1CUnit/\320\242\320\265\321\201\321\202\321\213/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260.epf" "b/TestsSnegopat/Automated/1CUnit/\320\242\320\265\321\201\321\202\321\213/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260.epf" deleted file mode 100644 index f67caa77..00000000 Binary files "a/TestsSnegopat/Automated/1CUnit/\320\242\320\265\321\201\321\202\321\213/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260.epf" and /dev/null differ diff --git a/xddGuidShow.epf b/Utils/xddGuidShow.epf similarity index 100% rename from xddGuidShow.epf rename to Utils/xddGuidShow.epf diff --git a/Utils/xddTestsConvertIntoRebornFormat.epf b/Utils/xddTestsConvertIntoRebornFormat.epf new file mode 100644 index 00000000..58fcb888 Binary files /dev/null and b/Utils/xddTestsConvertIntoRebornFormat.epf differ diff --git "a/externals/GenerateData/\320\270\321\200\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265_\320\227\320\260\320\277\321\200\320\276\321\201\321\213.sel" "b/externals/GenerateData/\320\270\321\200\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265_\320\227\320\260\320\277\321\200\320\276\321\201\321\213.sel" deleted file mode 100644 index a6d8b0f4..00000000 --- "a/externals/GenerateData/\320\270\321\200\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265_\320\227\320\260\320\277\321\200\320\276\321\201\321\213.sel" +++ /dev/null @@ -1,141 +0,0 @@ -{"#",e603c0f2-92fb-4d47-8f38-a44a381cf235, -{1, -{13, -{0,"Запрос", -{"Pattern"},"",0}, -{1,"ТекстЗапроса", -{"Pattern"},"",0}, -{2,"ПараметрыЗапроса", -{"Pattern"},"",0}, -{3,"СпособВыгрузки", -{"Pattern"},"",0}, -{4,"НовыйМенеджерВремменныхТаблиц", -{"Pattern", -{"B"} -},"",0}, -{5,"КодОбработкиСтрокиРезультата", -{"Pattern"},"",0}, -{6,"КодПередВыполнениемЗапроса", -{"Pattern"},"",0}, -{7,"КодОбработкиРезультата", -{"Pattern"},"",0}, -{8,"Настройка", -{"Pattern"},"",0}, -{9,"ТипЗапроса", -{"Pattern", -{"S"} -},"",0}, -{10,"Длительность", -{"Pattern", -{"S"}, -{"N"} -},"",0}, -{11,"РазмерРезультата", -{"Pattern", -{"S"}, -{"N"} -},"",0}, -{12,"СтрокаДанных", -{"Pattern"},"",0} -}, -{2,13,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12, -{1,1, -{2,0,13, -{"S","Генерация регистра сведений"}, -{"S","ВЫБРАТЬ - ""РегистрСведений"" КАК ТипДляГенератораМакетаДанных_xUnitFor1C, - ""РегистрСведений1"" КАК ВидДляГенератораМакетаДанных_xUnitFor1C, - ""ЗаписьРегистраСведений"" КАК ПрефиксИмениПеременнойДляГенератораМакетаДанных_xUnitFor1C, - РегистрСведений1.ПростойСправочник, - РегистрСведений1.ПростойСправочник2, - РегистрСведений1.РесурсЧисло, - РегистрСведений1.РесурсБулево -ИЗ - РегистрСведений.РегистрСведений1 КАК РегистрСведений1"}, -{"#",acf6192e-81ca-46ef-93a6-5a6968b78663, -{8, -{6, -{0,"ИмяПараметра", -{"Pattern", -{"S",100,1} -},"Имя параметра",19}, -{1,"ЭтоВыражение", -{"Pattern"},"Тип",10}, -{2,"Выражение", -{"Pattern", -{"S"} -},"Выражение",16}, -{3,"НеИспользоватьОграничениеТипа", -{"Pattern", -{"B"} -},"НеИспользоватьОграничениеТипа",0}, -{4,"ТипЗначения", -{"Pattern", -{"#",f5c65050-3bbb-11d5-b988-0050bae0a95d} -},"Допустимые типы значения",15}, -{5,"Значение", -{"Pattern", -{"#",0387f3a2-7df5-4804-948b-4580a51e4a15}, -{"#",0f725605-ea6e-420c-8968-a82dbfcd51cd}, -{"#",280f5f0e-9c8a-49cc-bf6d-4d296cc17a63}, -{"#",2fdc88ec-7c9b-43cd-8ba5-873f043bdd88}, -{"#",4772b3b4-f4a3-49c0-a1a5-8cb5961511a3}, -{"#",51e7a0d2-530b-11d4-b98a-008048da3034}, -{"#",5a49abd5-936d-4f46-8499-9cb204efe378}, -{"#",5b2b819e-ebc7-4d0b-9af6-1d5e2c8cdb0c}, -{"B"}, -{"#",6733e851-ebd2-484a-acfc-6009b6d1ec2d}, -{"#",741ae838-6e42-4ac0-b6a4-17e5604b0669}, -{"#",82d8a678-2251-4db1-8db1-99d4bdf5a04d}, -{"#",872f7198-7083-4e3e-b57e-a2a9802c769e}, -{"S"}, -{"D"}, -{"#",acf6192e-81ca-46ef-93a6-5a6968b78663}, -{"L"}, -{"N",20,3,0}, -{"#",c8ec9b19-8c9a-4de5-8078-a3e5f0df8ef3}, -{"T"}, -{"#",e603c0f2-92fb-4d47-8f38-a44a381cf235}, -{"#",eb43f417-48a7-4d0f-8d23-4335291aae47}, -{"#",f5c65050-3bbb-11d5-b988-0050bae0a95d}, -{"#",fc01b5df-97fe-449b-83d4-218a090e681e} -},"",0} -}, -{2,6,0,0,1,1,2,2,3,3,4,4,5,5, -{1,0},-1,-1} -} -}, -{"N",1}, -{"B",0}, -{"S",""}, -{"S",""}, -{"S","Путь_xUnitFor1C = ""C:\Projects\GitHub\xUnitFor1C\""; -ПутьГенератораМакета = Путь_xUnitFor1C + ""ГенерацияМакетаДанных_На_БазеРеальныхДанных.epf""; - -СоздательМакетаДанныхНаОснованииЗапроса = ВнешниеОбработки.Создать(Путь_xUnitFor1C + ""externals\GenerateData\СозданиеМакетаДанныхНаОснованииЗапроса.epf""); -Макет = СоздательМакетаДанныхНаОснованииЗапроса.СоздатьМакетДанныхНаОснованииЗапроса(мРезультатЗапроса, ПутьГенератораМакета); -Макет.Показать(); -"}, -{"#",e199ca70-93cf-46ce-a54b-6edc88c3a296, -{#base64:AQE1AAAAAAAAAO+7v3siIyIsM2M3MmZmNTYtN2UwNC00Mzg1LWJjMDMtOTJkNGJk -NmMzNTFjLA0KezB9DQp9AAAAADYCAAAAAAAA77u/PD94bWwgdmVyc2lvbj0iMS4w -IiBlbmNvZGluZz0iVVRGLTgiPz4NCjxTZXR0aW5ncyB4bWxucz0iaHR0cDovL3Y4 -LjFjLnJ1LzguMS9kYXRhLWNvbXBvc2l0aW9uLXN5c3RlbS9zZXR0aW5ncyIgeG1s -bnM6ZGNzY29yPSJodHRwOi8vdjguMWMucnUvOC4xL2RhdGEtY29tcG9zaXRpb24t -c3lzdGVtL2NvcmUiIHhtbG5zOnN0eWxlPSJodHRwOi8vdjguMWMucnUvOC4xL2Rh -dGEvdWkvc3R5bGUiIHhtbG5zOnN5cz0iaHR0cDovL3Y4LjFjLnJ1LzguMS9kYXRh -L3VpL2ZvbnRzL3N5c3RlbSIgeG1sbnM6djg9Imh0dHA6Ly92OC4xYy5ydS84LjEv -ZGF0YS9jb3JlIiB4bWxuczp2OHVpPSJodHRwOi8vdjguMWMucnUvOC4xL2RhdGEv -dWkiIHhtbG5zOndlYj0iaHR0cDovL3Y4LjFjLnJ1LzguMS9kYXRhL3VpL2NvbG9y -cy93ZWIiIHhtbG5zOndpbj0iaHR0cDovL3Y4LjFjLnJ1LzguMS9kYXRhL3VpL2Nv -bG9ycy93aW5kb3dzIiB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9Y -TUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxT -Y2hlbWEtaW5zdGFuY2UiLz4=} -}, -{"S","Обычный"}, -{"N",1}, -{"N",2}, -{"U"},0} -},12,0} -} -} \ No newline at end of file diff --git a/history.txt b/history.txt index 14fd506e..a912affc 100644 --- a/history.txt +++ b/history.txt @@ -1,3 +1,9 @@ +draft 3.0.0.5 + +xUnitFor1C работает только с версией платформы 1С 8.2.17 и выше, т.к. учитываем миллисекунды при расчете времени выполнения с использованием метода ТекущаяУниверсальнаяДатаВМиллисекундах, которая появилась в платформе 1С 8.2.17 + +... + 3.0.0.3 ОФ: Если при загрузке тестов при включенном Информаторе падала 1С, при следующей загрузке пользователю будет дана возможность отключить и Информатора, и загрузку тестов и загрузить браузер тестов в нужном режиме. #442 #412 diff --git "a/src/DataProcessor/UnitTestRunner/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.xml" "b/src/DataProcessor/UnitTestRunner/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.xml" deleted file mode 100644 index 2b3bb009..00000000 --- "a/src/DataProcessor/UnitTestRunner/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.xml" +++ /dev/null @@ -1,22 +0,0 @@ - - -
- - УправляемаяФорма - - - ru - Управляемая форма - - - - Managed - false - - PersonalComputer - MobileDevice - - - -
-
\ No newline at end of file diff --git "a/src/DataProcessor/UnitTestRunner/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/Form.xml" "b/src/DataProcessor/UnitTestRunner/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/Form.xml" deleted file mode 100644 index 912d8e48..00000000 --- "a/src/DataProcessor/UnitTestRunner/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/Form.xml" +++ /dev/null @@ -1,5145 +0,0 @@ - -
- - - Объект - - <Type> - <v8:Type xmlns:d5p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d5p1:DataProcessorObject.UnitTestRunner</v8:Type> - </Type> - <Accessibility> - <xr:common>true</xr:common> - </Accessibility> - <Editing> - <xr:common>true</xr:common> - </Editing> - <Content/> - <SavingContent/> - <MainProperty>true</MainProperty> - <StoredData>false</StoredData> - <FunctionalOptions/> - <FillCheck>DontCheck</FillCheck> - <Columns/> - <ExtInfo/> - </Attribute> - <Attribute id="2"> - <Name>Пути</Name> - <Title> - <v8:item> - <v8:lang>en</v8:lang> - <v8:content>Path to test cases</v8:content> - </v8:item> - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Пути к тестовым случаям</v8:content> - </v8:item> - - - v8:ValueListType - - - true - - - true - - - - Пути - - false - false - - DontCheck - - - - - ПутиПараметр - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Пути параметр</v8:content> - </v8:item> - - - v8:ValueListType - - - true - - - true - - - - false - false - - DontCheck - - - - - ЗначенияТиповСтроки - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Значения типов строки</v8:content> - </v8:item> - - - - true - - - true - - - - false - false - - DontCheck - - - - - ЗначенияСостоянияТестов - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Значения состояния тестов</v8:content> - </v8:item> - - - - true - - - true - - - - false - false - - DontCheck - - - - - MiddleMan - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Middle man</v8:content> - </v8:item> - - - - true - - - true - - - - false - false - - DontCheck - - - - - ПутиНадпись - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Пути надпись</v8:content> - </v8:item> - - - xs:string - - 0 - Variable - - - - true - - - true - - - - false - false - - DontCheck - - - - - АдресВХИнформатор - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Адрес ВХ Информатор</v8:content> - </v8:item> - - - xs:string - - 0 - Variable - - - - true - - - true - - - - false - false - - DontCheck - - - - - ЗначениеМодульИлиФорма - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Значение модуль или форма</v8:content> - </v8:item> - - - - true - - - true - - - - false - false - - DontCheck - - - - - ВсегоТестов - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Всего тестов</v8:content> - </v8:item> - - - xs:decimal - - 10 - 0 - Any - - - - true - - - true - - - - false - false - - DontCheck - - - - - СписокОшибок - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Список ошибок</v8:content> - </v8:item> - - - v8:ValueListType - - - true - - - true - - - - false - false - - DontCheck - - - - - ПутьОтчетаТестирования - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Путь отчета тестирования</v8:content> - </v8:item> - - - xs:string - - 0 - Variable - - - - true - - - true - - - - false - false - - DontCheck - - - - - ТипОтчетаОТестировании - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Тип отчета о тестировании</v8:content> - </v8:item> - - - xs:string - - 0 - Variable - - - - true - - - true - - - - false - false - - DontCheck - - - - - Объект.ДеревоТестов - - false - Имя - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Имя</v8:content> - </v8:item> - - - xs:string - - 0 - Variable - - - - true - - - true - - - DontCheck - - - false - ВремяВыполнения - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Время выполнения</v8:content> - </v8:item> - - - xs:decimal - - 10 - 0 - Any - - - - true - - - true - - - DontCheck - - - false - ПолныйПуть - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Полный путь</v8:content> - </v8:item> - - - xs:string - - 0 - Variable - - - - true - - - true - - - DontCheck - - - false - ТипСтроки - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Тип строки</v8:content> - </v8:item> - - - xs:decimal - - 10 - 0 - Any - - - - true - - - true - - - DontCheck - - - false - Состояние - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Состояние</v8:content> - </v8:item> - - - xs:decimal - - 10 - 0 - Any - - - - true - - - true - - - DontCheck - - - false - ТестовыйСлучайОбъектМетаданныхИмя - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Имя объекта метданных Тестового случая (внешней обработки)</v8:content> - </v8:item> - - - xs:string - - 0 - Variable - - - - true - - - true - - - DontCheck - - - false - _GUID - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>GUID</v8:content> - </v8:item> - - - xs:string - - 0 - Variable - - - - true - - - true - - - DontCheck - - - false - МодульИлиФорма - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Модуль или форма</v8:content> - </v8:item> - - - xs:decimal - - 3 - 0 - Nonnegative - - - - true - - - true - - - DontCheck - - - false - ПараметрыТеста - - <Type> - <v8:Type>v8:ValueListType</v8:Type> - </Type> - <Accessibility> - <xr:common>true</xr:common> - </Accessibility> - <Editing> - <xr:common>true</xr:common> - </Editing> - <FunctionalOptions/> - <FillCheck>DontCheck</FillCheck> - </Column> - <Column id="10"> - <AddedFromContext>false</AddedFromContext> - <Name>ЕстьПараметрыТеста</Name> - <Title> - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Есть параметры теста</v8:content> - </v8:item> - - - xs:boolean - - - true - - - true - - - DontCheck - - - false - ИмяТестовогоСлучая - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Имя тестового случая</v8:content> - </v8:item> - - - xs:string - - 0 - Variable - - - - true - - - true - - - DontCheck - - - false - ПредставлениеПути - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Представление пути</v8:content> - </v8:item> - - - xs:string - - 0 - Variable - - - - true - - - true - - - DontCheck - - - false - ИмяОсновнойУправляемойФормы - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Имя основной управляемой формы</v8:content> - </v8:item> - - - xs:string - - 0 - Variable - - - - true - - - true - - - DontCheck - - - false - КоличествоТестов - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Количество тестов</v8:content> - </v8:item> - - - xs:decimal - - 10 - 0 - Nonnegative - - - - true - - - true - - - DontCheck - - - - - - - КомандаЗагрузитьТестовыйНабор - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Загрузить наборы</v8:content> - </v8:item> - - - - ru - Загрузить тестовые случаи из указанного каталога - - - - true - - - - КомандаЗагрузитьТестовыйНабор - - TextPicture - false - false - - - КомандаЗагрузитьТестовыеСлучаи - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Загрузить отдельный набор</v8:content> - </v8:item> - - - - ru - Загрузить выбранные тестовые случаи - - - - true - - - - КомандаЗагрузитьТестовыеСлучаи - - TextPicture - false - false - - - КомандаВыполнитьВсеТесты - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Выполнить все тесты</v8:content> - </v8:item> - - - - ru - Команда выполнить все тесты - - - - true - - - - КомандаВыполнитьВсеТесты - - TextPicture - false - false - - - КомандаПерезагрузитьВсеТесты - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Перезагрузить</v8:content> - </v8:item> - - - - ru - Команда перезагрузить все тесты - - - - true - - Ctrl+R - - КомандаПерезагрузитьВсеТесты - - TextPicture - false - false - - - КомандаВыполнитьТест - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Выполнить тест</v8:content> - </v8:item> - - - - ru - Команда выполнить тест - - - - true - - - - КомандаВыполнитьТест - - TextPicture - false - false - - - - - Пути - - v8:ValueListType - - false - - - - - - <Width>0</Width> - <Height>0</Height> - <OpeningMode>Independent</OpeningMode> - <EnterKeyBehavior>ControlNavigation</EnterKeyBehavior> - <AutoSaveFormDataInSettings>Use</AutoSaveFormDataInSettings> - <SaveFormDataInSettings>DontUse</SaveFormDataInSettings> - <SettingsStorage/> - <AutoTitle>false</AutoTitle> - <AutoURL>true</AutoURL> - <ChildrenGrouping>Vertical</ChildrenGrouping> - <ChildItemsWidth>Auto</ChildItemsWidth> - <AutoFillCheck>true</AutoFillCheck> - <Customizable>true</Customizable> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <CommandBarLocation>Auto</CommandBarLocation> - <VerticalScrolling>useIfNecessary</VerticalScrolling> - <CommandsContent/> - </Properties> - <Events> - <Event name="OnCreateAtServer">ПриСозданииНаСервере</Event> - <Event name="OnOpen">ПриОткрытии</Event> - <Event name="OnReopen"/> - <Event name="BeforeClose">ПередЗакрытием</Event> - <Event name="OnClose"/> - <Event name="ChoiceProcessing"/> - <Event name="NotificationProcessing"/> - <Event name="ActivationProcessing"/> - <Event name="NewWriteProcessing"/> - <Event name="FillCheckProcessingAtServer"/> - <Event name="ExternalEvent"/> - <Event name="OnSaveDataInSettingsAtServer"/> - <Event name="BeforeLoadDataFromSettingsAtServer"/> - <Event name="OnLoadDataFromSettingsAtServer"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems> - <CommandBar xsi:type="AutoMenuGroup" id="-1:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ФормаКоманднаяПанель</Name> - <Type>AutoCommandBar</Type> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <EnableContentChange>false</EnableContentChange> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleFont kind="AutoFont"/> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <Shortcut/> - <Width>0</Width> - <Height>0</Height> - <HorizontalStretch>auto</HorizontalStretch> - <VerticalStretch>auto</VerticalStretch> - <HorAlignment>Left</HorAlignment> - <FillWithStdCommands>true</FillWithStdCommands> - </Properties> - <PredefinedContainedItems/> - <ContainedItems> - <Button id="30:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ФормаКомандаВыполнитьВсеТесты</Name> - <Kind>CommandBarButton</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <TitleRowsCount>0</TitleRowsCount> - <Representation>Auto</Representation> - <DefaultButton>true</DefaultButton> - <SkipOnInput>auto</SkipOnInput> - <Enabled>true</Enabled> - <DefaultElement>false</DefaultElement> - <Important>auto</Important> - <Width>0</Width> - <Height>0</Height> - <PlacementArea>userCmds</PlacementArea> - <Check>false</Check> - <Command>Form.Command.КомандаВыполнитьВсеТесты</Command> - <AttributeProperty/> - <TextColor>auto</TextColor> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Picture> - <xr:pictureAbs>DataProcessor.UnitTestRunner.Form.УправляемаяФорма.Form.Form.Item.ФормаКомандаВыполнитьВсеТесты.Picture.png</xr:pictureAbs> - <xr:loadTransparent>false</xr:loadTransparent> - </Picture> - <Title/> - <TooltipRepresentation>Auto</TooltipRepresentation> - </Properties> - <PredefinedContainedItems> - <ExtTooltip xsi:type="TextDecoration" id="70:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ФормаКомандаВыполнитьВсеТестыExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - </Button> - <Button id="31:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ФормаКомандаПерезагрузитьТесты</Name> - <Kind>CommandBarButton</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <TitleRowsCount>0</TitleRowsCount> - <Representation>Auto</Representation> - <DefaultButton>false</DefaultButton> - <SkipOnInput>auto</SkipOnInput> - <Enabled>true</Enabled> - <DefaultElement>false</DefaultElement> - <Important>auto</Important> - <Width>0</Width> - <Height>0</Height> - <PlacementArea>userCmds</PlacementArea> - <Check>false</Check> - <Command>Form.Command.КомандаПерезагрузитьВсеТесты</Command> - <AttributeProperty/> - <TextColor>auto</TextColor> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Picture> - <xr:pictureAbs>DataProcessor.UnitTestRunner.Form.УправляемаяФорма.Form.Form.Item.ФормаКомандаПерезагрузитьТесты.Picture.png</xr:pictureAbs> - <xr:loadTransparent>false</xr:loadTransparent> - </Picture> - <Title/> - <TooltipRepresentation>Auto</TooltipRepresentation> - </Properties> - <PredefinedContainedItems> - <ExtTooltip xsi:type="TextDecoration" id="71:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ФормаКомандаПерезагрузитьТестыExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - </Button> - <Button id="28:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ФормаКнопкаЗагрузитьТестовыйНабор</Name> - <Kind>CommandBarButton</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <TitleRowsCount>0</TitleRowsCount> - <Representation>Auto</Representation> - <DefaultButton>false</DefaultButton> - <SkipOnInput>auto</SkipOnInput> - <Enabled>true</Enabled> - <DefaultElement>false</DefaultElement> - <Important>auto</Important> - <Width>0</Width> - <Height>0</Height> - <PlacementArea>userCmds</PlacementArea> - <Check>false</Check> - <Command>Form.Command.КомандаЗагрузитьТестовыйНабор</Command> - <AttributeProperty/> - <TextColor>auto</TextColor> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Picture> - <xr:pictureAbs>DataProcessor.UnitTestRunner.Form.УправляемаяФорма.Form.Form.Item.ФормаКнопкаЗагрузитьТестовыйНабор.Picture.png</xr:pictureAbs> - <xr:loadTransparent>false</xr:loadTransparent> - </Picture> - <Title/> - <TooltipRepresentation>Auto</TooltipRepresentation> - </Properties> - <PredefinedContainedItems> - <ExtTooltip xsi:type="TextDecoration" id="72:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ФормаКнопкаЗагрузитьТестовыйНаборExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - </Button> - <Button id="29:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ФормаКнопкаЗагрузитьТестовыеСлучаи</Name> - <Kind>CommandBarButton</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <TitleRowsCount>0</TitleRowsCount> - <Representation>Auto</Representation> - <DefaultButton>false</DefaultButton> - <SkipOnInput>auto</SkipOnInput> - <Enabled>true</Enabled> - <DefaultElement>false</DefaultElement> - <Important>auto</Important> - <Width>0</Width> - <Height>0</Height> - <PlacementArea>userCmds</PlacementArea> - <Check>false</Check> - <Command>Form.Command.КомандаЗагрузитьТестовыеСлучаи</Command> - <AttributeProperty/> - <TextColor>auto</TextColor> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Picture> - <xr:pictureAbs>DataProcessor.UnitTestRunner.Form.УправляемаяФорма.Form.Form.Item.ФормаКнопкаЗагрузитьТестовыеСлучаи.Picture.png</xr:pictureAbs> - <xr:loadTransparent>false</xr:loadTransparent> - </Picture> - <Title/> - <TooltipRepresentation>Auto</TooltipRepresentation> - </Properties> - <PredefinedContainedItems> - <ExtTooltip xsi:type="TextDecoration" id="73:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ФормаКнопкаЗагрузитьТестовыеСлучаиExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - </Button> - </ContainedItems> - </CommandBar> - </PredefinedContainedItems> - <ContainedItems> - <Group id="36:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>Группа1</Name> - <Type>UsualGroup</Type> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <EnableContentChange>false</EnableContentChange> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleFont kind="AutoFont"/> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <Shortcut/> - <Width>0</Width> - <Height>0</Height> - <HorizontalStretch>auto</HorizontalStretch> - <VerticalStretch>auto</VerticalStretch> - <Group>Horizontal</Group> - <Behavior>Usual</Behavior> - <CollapsedRepresentationTitle/> - <Collapsed>false</Collapsed> - <ControlRepresentation>TitleHyperlink</ControlRepresentation> - <Representation>None</Representation> - <ShowLeftMargin>true</ShowLeftMargin> - <ChildItemsWidth>Auto</ChildItemsWidth> - <Format/> - <ShowTitle>false</ShowTitle> - <TitleDataPath/> - <BackColor>auto</BackColor> - </Properties> - <PredefinedContainedItems> - <ExtTooltip xsi:type="TextDecoration" id="74:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>Группа1ExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - <ContainedItems> - <TextDecoration id="34:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДекорацияНадписьПутиЗаголовок</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title> - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Пути:</v8:content> - </v8:item> - - - Auto - false - Left - Auto - 0 - auto - auto - - - - - - - - - - - - ДекорацияНадписьПутиЗаголовокКонтекстноеМеню - ContextMenu - true - - true - - true - false - false - - <TitleTextColor>auto</TitleTextColor> - <TitleFont kind="AutoFont"/> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <Shortcut/> - <Width>0</Width> - <Height>0</Height> - <HorizontalStretch>auto</HorizontalStretch> - <VerticalStretch>auto</VerticalStretch> - <FillWithStdCommands>true</FillWithStdCommands> - </Properties> - <PredefinedContainedItems/> - <ContainedItems/> - </ContextMenu> - <ExtTooltip xsi:type="TextDecoration" id="75:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДекорацияНадписьПутиЗаголовокExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - </TextDecoration> - <Input id="37:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ПутиНадпись</Name> - <Type>InputField</Type> - <DataPath>ПутиНадпись</DataPath> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <DefaultItem>false</DefaultItem> - <Enabled>true</Enabled> - <ReadOnly>true</ReadOnly> - <SkipOnInput>auto</SkipOnInput> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleBackColor>auto</TitleBackColor> - <TitleFont kind="AutoFont"/> - <TitleLocation>None</TitleLocation> - <TitleHeight>0</TitleHeight> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <WarningOnEditRepresentation>Auto</WarningOnEditRepresentation> - <WarningOnEdit/> - <Shortcut/> - <CommandsContent/> - <HorizontalAlign>Auto</HorizontalAlign> - <VerticalAlign>Auto</VerticalAlign> - <EditMode>Enter</EditMode> - <FixingInTable>None</FixingInTable> - <CellHyperlink>false</CellHyperlink> - <AutoCellHeight>false</AutoCellHeight> - <ShowInHeader>true</ShowInHeader> - <HeaderPicture/> - <HeaderHorizontalAlign>Left</HeaderHorizontalAlign> - <ShowInFooter>true</ShowInFooter> - <FooterDataPath/> - <FooterText/> - <FooterTextColor>auto</FooterTextColor> - <FooterBackColor>auto</FooterBackColor> - <FooterFont kind="AutoFont"/> - <FooterPicture/> - <FooterHorizontalAlign>Auto</FooterHorizontalAlign> - <Width>0</Width> - <RowsCount>0</RowsCount> - <HorizontalStretchable>auto</HorizontalStretchable> - <VerticalStretchable>auto</VerticalStretchable> - <Wrap>true</Wrap> - <PasswordMode>auto</PasswordMode> - <MultiLine>true</MultiLine> - <ExtendedEdit>auto</ExtendedEdit> - <MarkNegatives>auto</MarkNegatives> - <ChoiceListButton>auto</ChoiceListButton> - <DropListButton>auto</DropListButton> - <ChoiceButton>auto</ChoiceButton> - <ChoiceButtonRepresentation>Auto</ChoiceButtonRepresentation> - <ClearButton>auto</ClearButton> - <SpinButton>auto</SpinButton> - <OpenButton>auto</OpenButton> - <CreateButton>auto</CreateButton> - <Mask/> - <ListChoiceMode>false</ListChoiceMode> - <AutoChoiceIncomplete>auto</AutoChoiceIncomplete> - <QuickChoice>auto</QuickChoice> - <ChoiceObjects>Auto</ChoiceObjects> - <Format/> - <InputFormat/> - <AutoMarkIncomplete>auto</AutoMarkIncomplete> - <ChoiceType>true</ChoiceType> - <IncompleteChoiceMode>OnEnterPressed</IncompleteChoiceMode> - <TypeDomainEnabled>true</TypeDomainEnabled> - <TextEdit>true</TextEdit> - <EditTextUpdateMode>Auto</EditTextUpdateMode> - <MinVal xsi:nil="true"/> - <MaxVal xsi:nil="true"/> - <ChoiceButtonPicture/> - <ChoiceForm/> - <ChoiceParamLinks/> - <ChoiceParams/> - <AvailableTypes/> - <ValueList/> - <TextColor>auto</TextColor> - <BackColor>style:FormBackColor</BackColor> - <BorderColor>style:FormBackColor</BorderColor> - <Font xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" ref="sys:DefaultGUIFont" bold="true" italic="false" underline="false" strikeout="false" kind="WindowsFont"/> - <LinkByType/> - <InputHint/> - </Properties> - <Events> - <Event name="OnChange"/> - <Event name="StartChoice"/> - <Event name="StartListChoice"/> - <Event name="Clearing"/> - <Event name="Tuning"/> - <Event name="Opening"/> - <Event name="Creating"/> - <Event name="ChoiceProcessing"/> - <Event name="AutoComplete"/> - <Event name="TextEditEnd"/> - </Events> - <PredefinedContainedItems> - <ContextMenu xsi:type="ContextMenuGroup" id="38:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ПутиНадписьКонтекстноеМеню</Name> - <Type>ContextMenu</Type> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <EnableContentChange>false</EnableContentChange> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleFont kind="AutoFont"/> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <Shortcut/> - <Width>0</Width> - <Height>0</Height> - <HorizontalStretch>auto</HorizontalStretch> - <VerticalStretch>auto</VerticalStretch> - <FillWithStdCommands>true</FillWithStdCommands> - </Properties> - <PredefinedContainedItems/> - <ContainedItems/> - </ContextMenu> - <ExtTooltip xsi:type="TextDecoration" id="76:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ПутиНадписьExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - </Input> - </ContainedItems> - </Group> - <Table id="1:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестов</Name> - <Representation>Tree</Representation> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <TitleLocation>None</TitleLocation> - <TitleRowsCount>0</TitleRowsCount> - <CommandBarLocation>Auto</CommandBarLocation> - <AutoFill>false</AutoFill> - <Enabled>true</Enabled> - <ReadOnly>true</ReadOnly> - <SkipOnInput>auto</SkipOnInput> - <DefaultElement>false</DefaultElement> - <ChangeRowSet>true</ChangeRowSet> - <ChangeRowOrder>true</ChangeRowOrder> - <Width>0</Width> - <Height>0</Height> - <RowsCount>0</RowsCount> - <ChoiceMode>false</ChoiceMode> - <MultipleChoice>false</MultipleChoice> - <RowInputMode>EndOfList</RowInputMode> - <RowsSelectionMode>MultiRow</RowsSelectionMode> - <RowSelectionMode>Cell</RowSelectionMode> - <ShowHeader>true</ShowHeader> - <HeaderHeight>1</HeaderHeight> - <ShowFooter>false</ShowFooter> - <FooterHeight>1</FooterHeight> - <HorScroll>AutoUse</HorScroll> - <VertScroll>AutoUse</VertScroll> - <ShowHorLines>false</ShowHorLines> - <ShowVertLines>false</ShowVertLines> - <FixedLeft>4294967295</FixedLeft> - <FixedRight>4294967295</FixedRight> - <UseAlternationRowColor>false</UseAlternationRowColor> - <AutoInsertNewRow>true</AutoInsertNewRow> - <AutoInsertNotCompletedVals>auto</AutoInsertNotCompletedVals> - <AutoMarkNotcompletedVals>auto</AutoMarkNotcompletedVals> - <SearchOnInput>Auto</SearchOnInput> - <InitialListView>Auto</InitialListView> - <InitialTreeView>ExpandAllLevels</InitialTreeView> - <UseOutput>Auto</UseOutput> - <HorStretchable>true</HorStretchable> - <VertStretchable>true</VertStretchable> - <EnableStartDrag>true</EnableStartDrag> - <EnableDrag>true</EnableDrag> - <DataPath>Объект.ДеревоТестов</DataPath> - <RowPictureDataPath>Объект.ДеревоТестов.ТипСтроки</RowPictureDataPath> - <RowsPicture> - <xr:pictureAbs>DataProcessor.UnitTestRunner.Form.УправляемаяФорма.Form.Form.Item.ДеревоТестов.RowsPicture.png</xr:pictureAbs> - <xr:loadTransparent>false</xr:loadTransparent> - </RowsPicture> - <TextColor>auto</TextColor> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Font kind="AutoFont"/> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleFont kind="AutoFont"/> - <ShortCut/> - <CommandsContent/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - </Properties> - <Events> - <Event name="OnChange"/> - <Event name="Selection"/> - <Event name="OnActivateRow"/> - <Event name="ValueChoice"/> - <Event name="OnActivateField"/> - <Event name="OnActivateCell"/> - <Event name="BeforeAddRow"/> - <Event name="BeforeRowChange"/> - <Event name="BeforeDeleteRow"/> - <Event name="OnStartEdit"/> - <Event name="BeforeEditEnd"/> - <Event name="OnEditEnd"/> - <Event name="ChoiceProcessing"/> - <Event name="BeforeExpand"/> - <Event name="BeforeCollapse"/> - <Event name="AfterDeleteRow"/> - <Event name="OnCurrentParentChange"/> - <Event name="NewWriteProcessing"/> - <Event name="DragStart"/> - <Event name="DragCheck"/> - <Event name="DragEnd"/> - <Event name="Drag"/> - </Events> - <PredefinedContainedItems> - <ContextMenu xsi:type="ContextMenuGroup" id="2:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовКонтекстноеМеню</Name> - <Type>ContextMenu</Type> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <EnableContentChange>false</EnableContentChange> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleFont kind="AutoFont"/> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <Shortcut/> - <Width>0</Width> - <Height>0</Height> - <HorizontalStretch>auto</HorizontalStretch> - <VerticalStretch>auto</VerticalStretch> - <FillWithStdCommands>false</FillWithStdCommands> - </Properties> - <PredefinedContainedItems/> - <ContainedItems> - <Button id="39:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовКонтекстноеМенюКомандаВыполнитьТест</Name> - <Kind>CommandBarButton</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <TitleRowsCount>0</TitleRowsCount> - <Representation>Auto</Representation> - <DefaultButton>false</DefaultButton> - <SkipOnInput>auto</SkipOnInput> - <Enabled>true</Enabled> - <DefaultElement>false</DefaultElement> - <Important>auto</Important> - <Width>0</Width> - <Height>0</Height> - <PlacementArea>userCmds</PlacementArea> - <Check>false</Check> - <Command>Form.Command.КомандаВыполнитьТест</Command> - <AttributeProperty/> - <TextColor>auto</TextColor> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Picture> - <xr:pictureAbs>DataProcessor.UnitTestRunner.Form.УправляемаяФорма.Form.Form.Item.ДеревоТестовКонтекстноеМенюКомандаВыполнитьТест.Picture.png</xr:pictureAbs> - <xr:loadTransparent>false</xr:loadTransparent> - </Picture> - <Title/> - <TooltipRepresentation>Auto</TooltipRepresentation> - </Properties> - <PredefinedContainedItems> - <ExtTooltip xsi:type="TextDecoration" id="77:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовКонтекстноеМенюКомандаВыполнитьТестExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - </Button> - </ContainedItems> - </ContextMenu> - <CommandBar xsi:type="AutoMenuGroup" id="3:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовКоманднаяПанель</Name> - <Type>AutoCommandBar</Type> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <EnableContentChange>false</EnableContentChange> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleFont kind="AutoFont"/> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <Shortcut/> - <Width>0</Width> - <Height>0</Height> - <HorizontalStretch>auto</HorizontalStretch> - <VerticalStretch>auto</VerticalStretch> - <HorAlignment>Left</HorAlignment> - <FillWithStdCommands>false</FillWithStdCommands> - </Properties> - <PredefinedContainedItems/> - <ContainedItems/> - </CommandBar> - <ExtTooltip xsi:type="TextDecoration" id="78:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - <ContainedItems> - <Image id="20:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовСостояние</Name> - <Type>PictureField</Type> - <DataPath>Объект.ДеревоТестов.Состояние</DataPath> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <DefaultItem>false</DefaultItem> - <Enabled>true</Enabled> - <ReadOnly>true</ReadOnly> - <SkipOnInput>auto</SkipOnInput> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleBackColor>auto</TitleBackColor> - <TitleFont kind="AutoFont"/> - <TitleLocation>None</TitleLocation> - <TitleHeight>0</TitleHeight> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <WarningOnEditRepresentation>Auto</WarningOnEditRepresentation> - <WarningOnEdit/> - <Shortcut/> - <CommandsContent/> - <HorizontalAlign>Auto</HorizontalAlign> - <VerticalAlign>Auto</VerticalAlign> - <EditMode>EnterOnInput</EditMode> - <FixingInTable>None</FixingInTable> - <CellHyperlink>false</CellHyperlink> - <AutoCellHeight>false</AutoCellHeight> - <ShowInHeader>true</ShowInHeader> - <HeaderPicture/> - <HeaderHorizontalAlign>Left</HeaderHorizontalAlign> - <ShowInFooter>true</ShowInFooter> - <FooterDataPath/> - <FooterText/> - <FooterTextColor>auto</FooterTextColor> - <FooterBackColor>auto</FooterBackColor> - <FooterFont kind="AutoFont"/> - <FooterPicture/> - <FooterHorizontalAlign>Auto</FooterHorizontalAlign> - <Width>0</Width> - <Height>0</Height> - <HorizontalStretchable>true</HorizontalStretchable> - <VerticalStretchable>true</VerticalStretchable> - <PictureSizeMode>RealSize</PictureSizeMode> - <Zoomable>false</Zoomable> - <HyperLink>false</HyperLink> - <NonselectedPictureText/> - <EnableStartDrag>false</EnableStartDrag> - <EnableDrag>false</EnableDrag> - <PictureValues> - <xr:pictureAbs>DataProcessor.UnitTestRunner.Form.УправляемаяФорма.Form.Form.Item.ДеревоТестовСостояние.PictureValues.png</xr:pictureAbs> - <xr:loadTransparent>false</xr:loadTransparent> - </PictureValues> - <TextColor>auto</TextColor> - <BorderColor>auto</BorderColor> - <Font kind="AutoFont"/> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">Single</style> - </Border> - </Properties> - <Events> - <Event name="OnChange"/> - <Event name="Click"/> - <Event name="DragStart"/> - <Event name="DragCheck"/> - <Event name="DragEnd"/> - <Event name="Drag"/> - </Events> - <PredefinedContainedItems> - <ContextMenu xsi:type="ContextMenuGroup" id="21:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовСостояниеКонтекстноеМеню</Name> - <Type>ContextMenu</Type> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <EnableContentChange>false</EnableContentChange> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleFont kind="AutoFont"/> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <Shortcut/> - <Width>0</Width> - <Height>0</Height> - <HorizontalStretch>auto</HorizontalStretch> - <VerticalStretch>auto</VerticalStretch> - <FillWithStdCommands>true</FillWithStdCommands> - </Properties> - <PredefinedContainedItems/> - <ContainedItems/> - </ContextMenu> - <ExtTooltip xsi:type="TextDecoration" id="79:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовСостояниеExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - </Image> - <Image id="40:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовМодульИлиФорма</Name> - <Type>PictureField</Type> - <DataPath>Объект.ДеревоТестов.МодульИлиФорма</DataPath> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <DefaultItem>false</DefaultItem> - <Enabled>true</Enabled> - <ReadOnly>true</ReadOnly> - <SkipOnInput>auto</SkipOnInput> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleBackColor>auto</TitleBackColor> - <TitleFont kind="AutoFont"/> - <TitleLocation>None</TitleLocation> - <TitleHeight>0</TitleHeight> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <WarningOnEditRepresentation>Auto</WarningOnEditRepresentation> - <WarningOnEdit/> - <Shortcut/> - <CommandsContent/> - <HorizontalAlign>Auto</HorizontalAlign> - <VerticalAlign>Auto</VerticalAlign> - <EditMode>EnterOnInput</EditMode> - <FixingInTable>None</FixingInTable> - <CellHyperlink>false</CellHyperlink> - <AutoCellHeight>false</AutoCellHeight> - <ShowInHeader>true</ShowInHeader> - <HeaderPicture/> - <HeaderHorizontalAlign>Left</HeaderHorizontalAlign> - <ShowInFooter>true</ShowInFooter> - <FooterDataPath/> - <FooterText/> - <FooterTextColor>auto</FooterTextColor> - <FooterBackColor>auto</FooterBackColor> - <FooterFont kind="AutoFont"/> - <FooterPicture/> - <FooterHorizontalAlign>Auto</FooterHorizontalAlign> - <Width>0</Width> - <Height>0</Height> - <HorizontalStretchable>true</HorizontalStretchable> - <VerticalStretchable>true</VerticalStretchable> - <PictureSizeMode>RealSize</PictureSizeMode> - <Zoomable>false</Zoomable> - <HyperLink>false</HyperLink> - <NonselectedPictureText/> - <EnableStartDrag>false</EnableStartDrag> - <EnableDrag>false</EnableDrag> - <PictureValues> - <xr:pictureAbs>DataProcessor.UnitTestRunner.Form.УправляемаяФорма.Form.Form.Item.ДеревоТестовМодульИлиФорма.PictureValues.png</xr:pictureAbs> - <xr:loadTransparent>false</xr:loadTransparent> - </PictureValues> - <TextColor>auto</TextColor> - <BorderColor>auto</BorderColor> - <Font kind="AutoFont"/> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">Single</style> - </Border> - </Properties> - <Events> - <Event name="OnChange"/> - <Event name="Click"/> - <Event name="DragStart"/> - <Event name="DragCheck"/> - <Event name="DragEnd"/> - <Event name="Drag"/> - </Events> - <PredefinedContainedItems> - <ContextMenu xsi:type="ContextMenuGroup" id="41:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовМодульИлиФормаКонтекстноеМеню</Name> - <Type>ContextMenu</Type> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <EnableContentChange>false</EnableContentChange> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleFont kind="AutoFont"/> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <Shortcut/> - <Width>0</Width> - <Height>0</Height> - <HorizontalStretch>auto</HorizontalStretch> - <VerticalStretch>auto</VerticalStretch> - <FillWithStdCommands>true</FillWithStdCommands> - </Properties> - <PredefinedContainedItems/> - <ContainedItems/> - </ContextMenu> - <ExtTooltip xsi:type="TextDecoration" id="80:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовМодульИлиФормаExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - </Image> - <Input id="68:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовКоличествоТестов</Name> - <Type>InputField</Type> - <DataPath>Объект.ДеревоТестов.КоличествоТестов</DataPath> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <DefaultItem>false</DefaultItem> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <SkipOnInput>auto</SkipOnInput> - <Title> - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Кол-во</v8:content> - </v8:item> - - auto - auto - - Auto - 0 - - Auto - Auto - - - - Auto - Auto - EnterOnInput - None - false - false - true - - Left - true - - - auto - auto - - - Auto - 5 - 0 - auto - auto - true - auto - auto - auto - auto - auto - auto - auto - Auto - auto - auto - auto - auto - - false - auto - auto - Auto - - - auto - true - OnEnterPressed - true - true - Auto - - - - - - - - - auto - auto - auto - - - - - - - - - - - - - - - - - - - - ДеревоТестовКоличествоТестовКонтекстноеМеню - ContextMenu - true - - true - - true - false - false - - <TitleTextColor>auto</TitleTextColor> - <TitleFont kind="AutoFont"/> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <Shortcut/> - <Width>0</Width> - <Height>0</Height> - <HorizontalStretch>auto</HorizontalStretch> - <VerticalStretch>auto</VerticalStretch> - <FillWithStdCommands>true</FillWithStdCommands> - </Properties> - <PredefinedContainedItems/> - <ContainedItems/> - </ContextMenu> - <ExtTooltip xsi:type="TextDecoration" id="81:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовКоличествоТестовExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - </Input> - <Input id="4:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовИмя</Name> - <Type>InputField</Type> - <DataPath>Объект.ДеревоТестов.Имя</DataPath> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <DefaultItem>false</DefaultItem> - <Enabled>true</Enabled> - <ReadOnly>true</ReadOnly> - <SkipOnInput>auto</SkipOnInput> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleBackColor>auto</TitleBackColor> - <TitleFont kind="AutoFont"/> - <TitleLocation>Auto</TitleLocation> - <TitleHeight>0</TitleHeight> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <WarningOnEditRepresentation>Auto</WarningOnEditRepresentation> - <WarningOnEdit/> - <Shortcut/> - <CommandsContent/> - <HorizontalAlign>Auto</HorizontalAlign> - <VerticalAlign>Auto</VerticalAlign> - <EditMode>EnterOnInput</EditMode> - <FixingInTable>None</FixingInTable> - <CellHyperlink>false</CellHyperlink> - <AutoCellHeight>false</AutoCellHeight> - <ShowInHeader>true</ShowInHeader> - <HeaderPicture/> - <HeaderHorizontalAlign>Left</HeaderHorizontalAlign> - <ShowInFooter>true</ShowInFooter> - <FooterDataPath/> - <FooterText/> - <FooterTextColor>auto</FooterTextColor> - <FooterBackColor>auto</FooterBackColor> - <FooterFont kind="AutoFont"/> - <FooterPicture/> - <FooterHorizontalAlign>Auto</FooterHorizontalAlign> - <Width>0</Width> - <RowsCount>0</RowsCount> - <HorizontalStretchable>auto</HorizontalStretchable> - <VerticalStretchable>auto</VerticalStretchable> - <Wrap>true</Wrap> - <PasswordMode>auto</PasswordMode> - <MultiLine>auto</MultiLine> - <ExtendedEdit>auto</ExtendedEdit> - <MarkNegatives>auto</MarkNegatives> - <ChoiceListButton>auto</ChoiceListButton> - <DropListButton>auto</DropListButton> - <ChoiceButton>auto</ChoiceButton> - <ChoiceButtonRepresentation>Auto</ChoiceButtonRepresentation> - <ClearButton>auto</ClearButton> - <SpinButton>auto</SpinButton> - <OpenButton>auto</OpenButton> - <CreateButton>auto</CreateButton> - <Mask/> - <ListChoiceMode>false</ListChoiceMode> - <AutoChoiceIncomplete>auto</AutoChoiceIncomplete> - <QuickChoice>auto</QuickChoice> - <ChoiceObjects>Auto</ChoiceObjects> - <Format/> - <InputFormat/> - <AutoMarkIncomplete>auto</AutoMarkIncomplete> - <ChoiceType>true</ChoiceType> - <IncompleteChoiceMode>OnEnterPressed</IncompleteChoiceMode> - <TypeDomainEnabled>true</TypeDomainEnabled> - <TextEdit>true</TextEdit> - <EditTextUpdateMode>Auto</EditTextUpdateMode> - <MinVal xsi:nil="true"/> - <MaxVal xsi:nil="true"/> - <ChoiceButtonPicture/> - <ChoiceForm/> - <ChoiceParamLinks/> - <ChoiceParams/> - <AvailableTypes/> - <ValueList/> - <TextColor>auto</TextColor> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Font kind="AutoFont"/> - <LinkByType/> - <InputHint/> - </Properties> - <Events> - <Event name="OnChange"/> - <Event name="StartChoice"/> - <Event name="StartListChoice"/> - <Event name="Clearing"/> - <Event name="Tuning"/> - <Event name="Opening"/> - <Event name="Creating"/> - <Event name="ChoiceProcessing"/> - <Event name="AutoComplete"/> - <Event name="TextEditEnd"/> - </Events> - <PredefinedContainedItems> - <ContextMenu xsi:type="ContextMenuGroup" id="5:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовИмяКонтекстноеМеню</Name> - <Type>ContextMenu</Type> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <EnableContentChange>false</EnableContentChange> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleFont kind="AutoFont"/> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <Shortcut/> - <Width>0</Width> - <Height>0</Height> - <HorizontalStretch>auto</HorizontalStretch> - <VerticalStretch>auto</VerticalStretch> - <FillWithStdCommands>true</FillWithStdCommands> - </Properties> - <PredefinedContainedItems/> - <ContainedItems/> - </ContextMenu> - <ExtTooltip xsi:type="TextDecoration" id="82:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовИмяExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - </Input> - <Input id="6:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовВремяВыполнения</Name> - <Type>InputField</Type> - <DataPath>Объект.ДеревоТестов.ВремяВыполнения</DataPath> - <Visible>false</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <DefaultItem>false</DefaultItem> - <Enabled>true</Enabled> - <ReadOnly>true</ReadOnly> - <SkipOnInput>auto</SkipOnInput> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleBackColor>auto</TitleBackColor> - <TitleFont kind="AutoFont"/> - <TitleLocation>Auto</TitleLocation> - <TitleHeight>0</TitleHeight> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <WarningOnEditRepresentation>Auto</WarningOnEditRepresentation> - <WarningOnEdit/> - <Shortcut/> - <CommandsContent/> - <HorizontalAlign>Auto</HorizontalAlign> - <VerticalAlign>Auto</VerticalAlign> - <EditMode>EnterOnInput</EditMode> - <FixingInTable>None</FixingInTable> - <CellHyperlink>false</CellHyperlink> - <AutoCellHeight>false</AutoCellHeight> - <ShowInHeader>true</ShowInHeader> - <HeaderPicture/> - <HeaderHorizontalAlign>Left</HeaderHorizontalAlign> - <ShowInFooter>true</ShowInFooter> - <FooterDataPath/> - <FooterText/> - <FooterTextColor>auto</FooterTextColor> - <FooterBackColor>auto</FooterBackColor> - <FooterFont kind="AutoFont"/> - <FooterPicture/> - <FooterHorizontalAlign>Auto</FooterHorizontalAlign> - <Width>0</Width> - <RowsCount>0</RowsCount> - <HorizontalStretchable>auto</HorizontalStretchable> - <VerticalStretchable>auto</VerticalStretchable> - <Wrap>true</Wrap> - <PasswordMode>auto</PasswordMode> - <MultiLine>auto</MultiLine> - <ExtendedEdit>auto</ExtendedEdit> - <MarkNegatives>auto</MarkNegatives> - <ChoiceListButton>auto</ChoiceListButton> - <DropListButton>auto</DropListButton> - <ChoiceButton>auto</ChoiceButton> - <ChoiceButtonRepresentation>Auto</ChoiceButtonRepresentation> - <ClearButton>auto</ClearButton> - <SpinButton>auto</SpinButton> - <OpenButton>auto</OpenButton> - <CreateButton>auto</CreateButton> - <Mask/> - <ListChoiceMode>false</ListChoiceMode> - <AutoChoiceIncomplete>auto</AutoChoiceIncomplete> - <QuickChoice>auto</QuickChoice> - <ChoiceObjects>Auto</ChoiceObjects> - <Format/> - <InputFormat/> - <AutoMarkIncomplete>auto</AutoMarkIncomplete> - <ChoiceType>true</ChoiceType> - <IncompleteChoiceMode>OnEnterPressed</IncompleteChoiceMode> - <TypeDomainEnabled>true</TypeDomainEnabled> - <TextEdit>true</TextEdit> - <EditTextUpdateMode>Auto</EditTextUpdateMode> - <MinVal xsi:nil="true"/> - <MaxVal xsi:nil="true"/> - <ChoiceButtonPicture/> - <ChoiceForm/> - <ChoiceParamLinks/> - <ChoiceParams/> - <AvailableTypes/> - <ValueList/> - <TextColor>auto</TextColor> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Font kind="AutoFont"/> - <LinkByType/> - <InputHint/> - </Properties> - <Events> - <Event name="OnChange"/> - <Event name="StartChoice"/> - <Event name="StartListChoice"/> - <Event name="Clearing"/> - <Event name="Tuning"/> - <Event name="Opening"/> - <Event name="Creating"/> - <Event name="ChoiceProcessing"/> - <Event name="AutoComplete"/> - <Event name="TextEditEnd"/> - </Events> - <PredefinedContainedItems> - <ContextMenu xsi:type="ContextMenuGroup" id="7:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовВремяВыполненияКонтекстноеМеню</Name> - <Type>ContextMenu</Type> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <EnableContentChange>false</EnableContentChange> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleFont kind="AutoFont"/> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <Shortcut/> - <Width>0</Width> - <Height>0</Height> - <HorizontalStretch>auto</HorizontalStretch> - <VerticalStretch>auto</VerticalStretch> - <FillWithStdCommands>true</FillWithStdCommands> - </Properties> - <PredefinedContainedItems/> - <ContainedItems/> - </ContextMenu> - <ExtTooltip xsi:type="TextDecoration" id="83:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовВремяВыполненияExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - </Input> - <Input id="8:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовПолныйПуть</Name> - <Type>InputField</Type> - <DataPath>Объект.ДеревоТестов.ПолныйПуть</DataPath> - <Visible>false</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <DefaultItem>false</DefaultItem> - <Enabled>true</Enabled> - <ReadOnly>true</ReadOnly> - <SkipOnInput>auto</SkipOnInput> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleBackColor>auto</TitleBackColor> - <TitleFont kind="AutoFont"/> - <TitleLocation>Auto</TitleLocation> - <TitleHeight>0</TitleHeight> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <WarningOnEditRepresentation>Auto</WarningOnEditRepresentation> - <WarningOnEdit/> - <Shortcut/> - <CommandsContent/> - <HorizontalAlign>Auto</HorizontalAlign> - <VerticalAlign>Auto</VerticalAlign> - <EditMode>EnterOnInput</EditMode> - <FixingInTable>None</FixingInTable> - <CellHyperlink>false</CellHyperlink> - <AutoCellHeight>false</AutoCellHeight> - <ShowInHeader>true</ShowInHeader> - <HeaderPicture/> - <HeaderHorizontalAlign>Left</HeaderHorizontalAlign> - <ShowInFooter>true</ShowInFooter> - <FooterDataPath/> - <FooterText/> - <FooterTextColor>auto</FooterTextColor> - <FooterBackColor>auto</FooterBackColor> - <FooterFont kind="AutoFont"/> - <FooterPicture/> - <FooterHorizontalAlign>Auto</FooterHorizontalAlign> - <Width>0</Width> - <RowsCount>0</RowsCount> - <HorizontalStretchable>auto</HorizontalStretchable> - <VerticalStretchable>auto</VerticalStretchable> - <Wrap>true</Wrap> - <PasswordMode>auto</PasswordMode> - <MultiLine>auto</MultiLine> - <ExtendedEdit>auto</ExtendedEdit> - <MarkNegatives>auto</MarkNegatives> - <ChoiceListButton>auto</ChoiceListButton> - <DropListButton>auto</DropListButton> - <ChoiceButton>auto</ChoiceButton> - <ChoiceButtonRepresentation>Auto</ChoiceButtonRepresentation> - <ClearButton>auto</ClearButton> - <SpinButton>auto</SpinButton> - <OpenButton>auto</OpenButton> - <CreateButton>auto</CreateButton> - <Mask/> - <ListChoiceMode>false</ListChoiceMode> - <AutoChoiceIncomplete>auto</AutoChoiceIncomplete> - <QuickChoice>auto</QuickChoice> - <ChoiceObjects>Auto</ChoiceObjects> - <Format/> - <InputFormat/> - <AutoMarkIncomplete>auto</AutoMarkIncomplete> - <ChoiceType>true</ChoiceType> - <IncompleteChoiceMode>OnEnterPressed</IncompleteChoiceMode> - <TypeDomainEnabled>true</TypeDomainEnabled> - <TextEdit>true</TextEdit> - <EditTextUpdateMode>Auto</EditTextUpdateMode> - <MinVal xsi:nil="true"/> - <MaxVal xsi:nil="true"/> - <ChoiceButtonPicture/> - <ChoiceForm/> - <ChoiceParamLinks/> - <ChoiceParams/> - <AvailableTypes/> - <ValueList/> - <TextColor>auto</TextColor> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Font kind="AutoFont"/> - <LinkByType/> - <InputHint/> - </Properties> - <Events> - <Event name="OnChange"/> - <Event name="StartChoice"/> - <Event name="StartListChoice"/> - <Event name="Clearing"/> - <Event name="Tuning"/> - <Event name="Opening"/> - <Event name="Creating"/> - <Event name="ChoiceProcessing"/> - <Event name="AutoComplete"/> - <Event name="TextEditEnd"/> - </Events> - <PredefinedContainedItems> - <ContextMenu xsi:type="ContextMenuGroup" id="9:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовПолныйПутьКонтекстноеМеню</Name> - <Type>ContextMenu</Type> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <EnableContentChange>false</EnableContentChange> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleFont kind="AutoFont"/> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <Shortcut/> - <Width>0</Width> - <Height>0</Height> - <HorizontalStretch>auto</HorizontalStretch> - <VerticalStretch>auto</VerticalStretch> - <FillWithStdCommands>true</FillWithStdCommands> - </Properties> - <PredefinedContainedItems/> - <ContainedItems/> - </ContextMenu> - <ExtTooltip xsi:type="TextDecoration" id="84:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовПолныйПутьExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - </Input> - <Input id="24:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовGUID</Name> - <Type>InputField</Type> - <DataPath>Объект.ДеревоТестов._GUID</DataPath> - <Visible>false</Visible> - <UserVisible> - <xr:common>false</xr:common> - </UserVisible> - <DefaultItem>false</DefaultItem> - <Enabled>true</Enabled> - <ReadOnly>true</ReadOnly> - <SkipOnInput>auto</SkipOnInput> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleBackColor>auto</TitleBackColor> - <TitleFont kind="AutoFont"/> - <TitleLocation>Auto</TitleLocation> - <TitleHeight>0</TitleHeight> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <WarningOnEditRepresentation>Auto</WarningOnEditRepresentation> - <WarningOnEdit/> - <Shortcut/> - <CommandsContent/> - <HorizontalAlign>Auto</HorizontalAlign> - <VerticalAlign>Auto</VerticalAlign> - <EditMode>EnterOnInput</EditMode> - <FixingInTable>None</FixingInTable> - <CellHyperlink>false</CellHyperlink> - <AutoCellHeight>false</AutoCellHeight> - <ShowInHeader>true</ShowInHeader> - <HeaderPicture/> - <HeaderHorizontalAlign>Left</HeaderHorizontalAlign> - <ShowInFooter>true</ShowInFooter> - <FooterDataPath/> - <FooterText/> - <FooterTextColor>auto</FooterTextColor> - <FooterBackColor>auto</FooterBackColor> - <FooterFont kind="AutoFont"/> - <FooterPicture/> - <FooterHorizontalAlign>Auto</FooterHorizontalAlign> - <Width>0</Width> - <RowsCount>0</RowsCount> - <HorizontalStretchable>auto</HorizontalStretchable> - <VerticalStretchable>auto</VerticalStretchable> - <Wrap>true</Wrap> - <PasswordMode>auto</PasswordMode> - <MultiLine>auto</MultiLine> - <ExtendedEdit>auto</ExtendedEdit> - <MarkNegatives>auto</MarkNegatives> - <ChoiceListButton>auto</ChoiceListButton> - <DropListButton>auto</DropListButton> - <ChoiceButton>auto</ChoiceButton> - <ChoiceButtonRepresentation>Auto</ChoiceButtonRepresentation> - <ClearButton>auto</ClearButton> - <SpinButton>auto</SpinButton> - <OpenButton>auto</OpenButton> - <CreateButton>auto</CreateButton> - <Mask/> - <ListChoiceMode>false</ListChoiceMode> - <AutoChoiceIncomplete>auto</AutoChoiceIncomplete> - <QuickChoice>auto</QuickChoice> - <ChoiceObjects>Auto</ChoiceObjects> - <Format/> - <InputFormat/> - <AutoMarkIncomplete>auto</AutoMarkIncomplete> - <ChoiceType>true</ChoiceType> - <IncompleteChoiceMode>OnEnterPressed</IncompleteChoiceMode> - <TypeDomainEnabled>true</TypeDomainEnabled> - <TextEdit>true</TextEdit> - <EditTextUpdateMode>Auto</EditTextUpdateMode> - <MinVal xsi:nil="true"/> - <MaxVal xsi:nil="true"/> - <ChoiceButtonPicture/> - <ChoiceForm/> - <ChoiceParamLinks/> - <ChoiceParams/> - <AvailableTypes/> - <ValueList/> - <TextColor>auto</TextColor> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Font kind="AutoFont"/> - <LinkByType/> - <InputHint/> - </Properties> - <Events> - <Event name="OnChange"/> - <Event name="StartChoice"/> - <Event name="StartListChoice"/> - <Event name="Clearing"/> - <Event name="Tuning"/> - <Event name="Opening"/> - <Event name="Creating"/> - <Event name="ChoiceProcessing"/> - <Event name="AutoComplete"/> - <Event name="TextEditEnd"/> - </Events> - <PredefinedContainedItems> - <ContextMenu xsi:type="ContextMenuGroup" id="25:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовGUIDКонтекстноеМеню</Name> - <Type>ContextMenu</Type> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <EnableContentChange>false</EnableContentChange> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleFont kind="AutoFont"/> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <Shortcut/> - <Width>0</Width> - <Height>0</Height> - <HorizontalStretch>auto</HorizontalStretch> - <VerticalStretch>auto</VerticalStretch> - <FillWithStdCommands>true</FillWithStdCommands> - </Properties> - <PredefinedContainedItems/> - <ContainedItems/> - </ContextMenu> - <ExtTooltip xsi:type="TextDecoration" id="85:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовGUIDExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - </Input> - <Input id="26:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовТестовыйСлучайОбъектИмя</Name> - <Type>InputField</Type> - <DataPath>Объект.ДеревоТестов.ТестовыйСлучайОбъектМетаданныхИмя</DataPath> - <Visible>false</Visible> - <UserVisible> - <xr:common>false</xr:common> - </UserVisible> - <DefaultItem>false</DefaultItem> - <Enabled>true</Enabled> - <ReadOnly>true</ReadOnly> - <SkipOnInput>auto</SkipOnInput> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleBackColor>auto</TitleBackColor> - <TitleFont kind="AutoFont"/> - <TitleLocation>Auto</TitleLocation> - <TitleHeight>0</TitleHeight> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <WarningOnEditRepresentation>Auto</WarningOnEditRepresentation> - <WarningOnEdit/> - <Shortcut/> - <CommandsContent/> - <HorizontalAlign>Auto</HorizontalAlign> - <VerticalAlign>Auto</VerticalAlign> - <EditMode>EnterOnInput</EditMode> - <FixingInTable>None</FixingInTable> - <CellHyperlink>false</CellHyperlink> - <AutoCellHeight>false</AutoCellHeight> - <ShowInHeader>true</ShowInHeader> - <HeaderPicture/> - <HeaderHorizontalAlign>Left</HeaderHorizontalAlign> - <ShowInFooter>true</ShowInFooter> - <FooterDataPath/> - <FooterText/> - <FooterTextColor>auto</FooterTextColor> - <FooterBackColor>auto</FooterBackColor> - <FooterFont kind="AutoFont"/> - <FooterPicture/> - <FooterHorizontalAlign>Auto</FooterHorizontalAlign> - <Width>0</Width> - <RowsCount>0</RowsCount> - <HorizontalStretchable>auto</HorizontalStretchable> - <VerticalStretchable>auto</VerticalStretchable> - <Wrap>true</Wrap> - <PasswordMode>auto</PasswordMode> - <MultiLine>auto</MultiLine> - <ExtendedEdit>auto</ExtendedEdit> - <MarkNegatives>auto</MarkNegatives> - <ChoiceListButton>auto</ChoiceListButton> - <DropListButton>auto</DropListButton> - <ChoiceButton>auto</ChoiceButton> - <ChoiceButtonRepresentation>Auto</ChoiceButtonRepresentation> - <ClearButton>auto</ClearButton> - <SpinButton>auto</SpinButton> - <OpenButton>auto</OpenButton> - <CreateButton>auto</CreateButton> - <Mask/> - <ListChoiceMode>false</ListChoiceMode> - <AutoChoiceIncomplete>auto</AutoChoiceIncomplete> - <QuickChoice>auto</QuickChoice> - <ChoiceObjects>Auto</ChoiceObjects> - <Format/> - <InputFormat/> - <AutoMarkIncomplete>auto</AutoMarkIncomplete> - <ChoiceType>true</ChoiceType> - <IncompleteChoiceMode>OnEnterPressed</IncompleteChoiceMode> - <TypeDomainEnabled>true</TypeDomainEnabled> - <TextEdit>true</TextEdit> - <EditTextUpdateMode>Auto</EditTextUpdateMode> - <MinVal xsi:nil="true"/> - <MaxVal xsi:nil="true"/> - <ChoiceButtonPicture/> - <ChoiceForm/> - <ChoiceParamLinks/> - <ChoiceParams/> - <AvailableTypes/> - <ValueList/> - <TextColor>auto</TextColor> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Font kind="AutoFont"/> - <LinkByType/> - <InputHint/> - </Properties> - <Events> - <Event name="OnChange"/> - <Event name="StartChoice"/> - <Event name="StartListChoice"/> - <Event name="Clearing"/> - <Event name="Tuning"/> - <Event name="Opening"/> - <Event name="Creating"/> - <Event name="ChoiceProcessing"/> - <Event name="AutoComplete"/> - <Event name="TextEditEnd"/> - </Events> - <PredefinedContainedItems> - <ContextMenu xsi:type="ContextMenuGroup" id="27:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовТестовыйСлучайОбъектИмяКонтекстноеМеню</Name> - <Type>ContextMenu</Type> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <EnableContentChange>false</EnableContentChange> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleFont kind="AutoFont"/> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <Shortcut/> - <Width>0</Width> - <Height>0</Height> - <HorizontalStretch>auto</HorizontalStretch> - <VerticalStretch>auto</VerticalStretch> - <FillWithStdCommands>true</FillWithStdCommands> - </Properties> - <PredefinedContainedItems/> - <ContainedItems/> - </ContextMenu> - <ExtTooltip xsi:type="TextDecoration" id="86:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовТестовыйСлучайОбъектИмяExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - </Input> - <Input id="42:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовИмя1</Name> - <Type>InputField</Type> - <DataPath>Объект.ДеревоТестов.Имя</DataPath> - <Visible>false</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <DefaultItem>false</DefaultItem> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <SkipOnInput>auto</SkipOnInput> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleBackColor>auto</TitleBackColor> - <TitleFont kind="AutoFont"/> - <TitleLocation>Auto</TitleLocation> - <TitleHeight>0</TitleHeight> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <WarningOnEditRepresentation>Auto</WarningOnEditRepresentation> - <WarningOnEdit/> - <Shortcut/> - <CommandsContent/> - <HorizontalAlign>Auto</HorizontalAlign> - <VerticalAlign>Auto</VerticalAlign> - <EditMode>EnterOnInput</EditMode> - <FixingInTable>None</FixingInTable> - <CellHyperlink>false</CellHyperlink> - <AutoCellHeight>false</AutoCellHeight> - <ShowInHeader>true</ShowInHeader> - <HeaderPicture/> - <HeaderHorizontalAlign>Left</HeaderHorizontalAlign> - <ShowInFooter>true</ShowInFooter> - <FooterDataPath/> - <FooterText/> - <FooterTextColor>auto</FooterTextColor> - <FooterBackColor>auto</FooterBackColor> - <FooterFont kind="AutoFont"/> - <FooterPicture/> - <FooterHorizontalAlign>Auto</FooterHorizontalAlign> - <Width>0</Width> - <RowsCount>0</RowsCount> - <HorizontalStretchable>auto</HorizontalStretchable> - <VerticalStretchable>auto</VerticalStretchable> - <Wrap>true</Wrap> - <PasswordMode>auto</PasswordMode> - <MultiLine>auto</MultiLine> - <ExtendedEdit>auto</ExtendedEdit> - <MarkNegatives>auto</MarkNegatives> - <ChoiceListButton>auto</ChoiceListButton> - <DropListButton>auto</DropListButton> - <ChoiceButton>auto</ChoiceButton> - <ChoiceButtonRepresentation>Auto</ChoiceButtonRepresentation> - <ClearButton>auto</ClearButton> - <SpinButton>auto</SpinButton> - <OpenButton>auto</OpenButton> - <CreateButton>auto</CreateButton> - <Mask/> - <ListChoiceMode>false</ListChoiceMode> - <AutoChoiceIncomplete>auto</AutoChoiceIncomplete> - <QuickChoice>auto</QuickChoice> - <ChoiceObjects>Auto</ChoiceObjects> - <Format/> - <InputFormat/> - <AutoMarkIncomplete>auto</AutoMarkIncomplete> - <ChoiceType>true</ChoiceType> - <IncompleteChoiceMode>OnEnterPressed</IncompleteChoiceMode> - <TypeDomainEnabled>true</TypeDomainEnabled> - <TextEdit>true</TextEdit> - <EditTextUpdateMode>Auto</EditTextUpdateMode> - <MinVal xsi:nil="true"/> - <MaxVal xsi:nil="true"/> - <ChoiceButtonPicture/> - <ChoiceForm/> - <ChoiceParamLinks/> - <ChoiceParams/> - <AvailableTypes/> - <ValueList/> - <TextColor>auto</TextColor> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Font kind="AutoFont"/> - <LinkByType/> - <InputHint/> - </Properties> - <Events> - <Event name="OnChange"/> - <Event name="StartChoice"/> - <Event name="StartListChoice"/> - <Event name="Clearing"/> - <Event name="Tuning"/> - <Event name="Opening"/> - <Event name="Creating"/> - <Event name="ChoiceProcessing"/> - <Event name="AutoComplete"/> - <Event name="TextEditEnd"/> - </Events> - <PredefinedContainedItems> - <ContextMenu xsi:type="ContextMenuGroup" id="43:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовИмя1КонтекстноеМеню</Name> - <Type>ContextMenu</Type> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <EnableContentChange>false</EnableContentChange> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleFont kind="AutoFont"/> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <Shortcut/> - <Width>0</Width> - <Height>0</Height> - <HorizontalStretch>auto</HorizontalStretch> - <VerticalStretch>auto</VerticalStretch> - <FillWithStdCommands>true</FillWithStdCommands> - </Properties> - <PredefinedContainedItems/> - <ContainedItems/> - </ContextMenu> - <ExtTooltip xsi:type="TextDecoration" id="87:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовИмя1ExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - </Input> - <Input id="44:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовВремяВыполнения1</Name> - <Type>InputField</Type> - <DataPath>Объект.ДеревоТестов.ВремяВыполнения</DataPath> - <Visible>false</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <DefaultItem>false</DefaultItem> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <SkipOnInput>auto</SkipOnInput> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleBackColor>auto</TitleBackColor> - <TitleFont kind="AutoFont"/> - <TitleLocation>Auto</TitleLocation> - <TitleHeight>0</TitleHeight> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <WarningOnEditRepresentation>Auto</WarningOnEditRepresentation> - <WarningOnEdit/> - <Shortcut/> - <CommandsContent/> - <HorizontalAlign>Auto</HorizontalAlign> - <VerticalAlign>Auto</VerticalAlign> - <EditMode>EnterOnInput</EditMode> - <FixingInTable>None</FixingInTable> - <CellHyperlink>false</CellHyperlink> - <AutoCellHeight>false</AutoCellHeight> - <ShowInHeader>true</ShowInHeader> - <HeaderPicture/> - <HeaderHorizontalAlign>Left</HeaderHorizontalAlign> - <ShowInFooter>true</ShowInFooter> - <FooterDataPath/> - <FooterText/> - <FooterTextColor>auto</FooterTextColor> - <FooterBackColor>auto</FooterBackColor> - <FooterFont kind="AutoFont"/> - <FooterPicture/> - <FooterHorizontalAlign>Auto</FooterHorizontalAlign> - <Width>0</Width> - <RowsCount>0</RowsCount> - <HorizontalStretchable>auto</HorizontalStretchable> - <VerticalStretchable>auto</VerticalStretchable> - <Wrap>true</Wrap> - <PasswordMode>auto</PasswordMode> - <MultiLine>auto</MultiLine> - <ExtendedEdit>auto</ExtendedEdit> - <MarkNegatives>auto</MarkNegatives> - <ChoiceListButton>auto</ChoiceListButton> - <DropListButton>auto</DropListButton> - <ChoiceButton>auto</ChoiceButton> - <ChoiceButtonRepresentation>Auto</ChoiceButtonRepresentation> - <ClearButton>auto</ClearButton> - <SpinButton>auto</SpinButton> - <OpenButton>auto</OpenButton> - <CreateButton>auto</CreateButton> - <Mask/> - <ListChoiceMode>false</ListChoiceMode> - <AutoChoiceIncomplete>auto</AutoChoiceIncomplete> - <QuickChoice>auto</QuickChoice> - <ChoiceObjects>Auto</ChoiceObjects> - <Format/> - <InputFormat/> - <AutoMarkIncomplete>auto</AutoMarkIncomplete> - <ChoiceType>true</ChoiceType> - <IncompleteChoiceMode>OnEnterPressed</IncompleteChoiceMode> - <TypeDomainEnabled>true</TypeDomainEnabled> - <TextEdit>true</TextEdit> - <EditTextUpdateMode>Auto</EditTextUpdateMode> - <MinVal xsi:nil="true"/> - <MaxVal xsi:nil="true"/> - <ChoiceButtonPicture/> - <ChoiceForm/> - <ChoiceParamLinks/> - <ChoiceParams/> - <AvailableTypes/> - <ValueList/> - <TextColor>auto</TextColor> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Font kind="AutoFont"/> - <LinkByType/> - <InputHint/> - </Properties> - <Events> - <Event name="OnChange"/> - <Event name="StartChoice"/> - <Event name="StartListChoice"/> - <Event name="Clearing"/> - <Event name="Tuning"/> - <Event name="Opening"/> - <Event name="Creating"/> - <Event name="ChoiceProcessing"/> - <Event name="AutoComplete"/> - <Event name="TextEditEnd"/> - </Events> - <PredefinedContainedItems> - <ContextMenu xsi:type="ContextMenuGroup" id="45:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовВремяВыполнения1КонтекстноеМеню</Name> - <Type>ContextMenu</Type> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <EnableContentChange>false</EnableContentChange> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleFont kind="AutoFont"/> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <Shortcut/> - <Width>0</Width> - <Height>0</Height> - <HorizontalStretch>auto</HorizontalStretch> - <VerticalStretch>auto</VerticalStretch> - <FillWithStdCommands>true</FillWithStdCommands> - </Properties> - <PredefinedContainedItems/> - <ContainedItems/> - </ContextMenu> - <ExtTooltip xsi:type="TextDecoration" id="88:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовВремяВыполнения1ExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - </Input> - <Input id="46:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовПолныйПуть1</Name> - <Type>InputField</Type> - <DataPath>Объект.ДеревоТестов.ПолныйПуть</DataPath> - <Visible>false</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <DefaultItem>false</DefaultItem> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <SkipOnInput>auto</SkipOnInput> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleBackColor>auto</TitleBackColor> - <TitleFont kind="AutoFont"/> - <TitleLocation>Auto</TitleLocation> - <TitleHeight>0</TitleHeight> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <WarningOnEditRepresentation>Auto</WarningOnEditRepresentation> - <WarningOnEdit/> - <Shortcut/> - <CommandsContent/> - <HorizontalAlign>Auto</HorizontalAlign> - <VerticalAlign>Auto</VerticalAlign> - <EditMode>EnterOnInput</EditMode> - <FixingInTable>None</FixingInTable> - <CellHyperlink>false</CellHyperlink> - <AutoCellHeight>false</AutoCellHeight> - <ShowInHeader>true</ShowInHeader> - <HeaderPicture/> - <HeaderHorizontalAlign>Left</HeaderHorizontalAlign> - <ShowInFooter>true</ShowInFooter> - <FooterDataPath/> - <FooterText/> - <FooterTextColor>auto</FooterTextColor> - <FooterBackColor>auto</FooterBackColor> - <FooterFont kind="AutoFont"/> - <FooterPicture/> - <FooterHorizontalAlign>Auto</FooterHorizontalAlign> - <Width>0</Width> - <RowsCount>0</RowsCount> - <HorizontalStretchable>auto</HorizontalStretchable> - <VerticalStretchable>auto</VerticalStretchable> - <Wrap>true</Wrap> - <PasswordMode>auto</PasswordMode> - <MultiLine>auto</MultiLine> - <ExtendedEdit>auto</ExtendedEdit> - <MarkNegatives>auto</MarkNegatives> - <ChoiceListButton>auto</ChoiceListButton> - <DropListButton>auto</DropListButton> - <ChoiceButton>auto</ChoiceButton> - <ChoiceButtonRepresentation>Auto</ChoiceButtonRepresentation> - <ClearButton>auto</ClearButton> - <SpinButton>auto</SpinButton> - <OpenButton>auto</OpenButton> - <CreateButton>auto</CreateButton> - <Mask/> - <ListChoiceMode>false</ListChoiceMode> - <AutoChoiceIncomplete>auto</AutoChoiceIncomplete> - <QuickChoice>auto</QuickChoice> - <ChoiceObjects>Auto</ChoiceObjects> - <Format/> - <InputFormat/> - <AutoMarkIncomplete>auto</AutoMarkIncomplete> - <ChoiceType>true</ChoiceType> - <IncompleteChoiceMode>OnEnterPressed</IncompleteChoiceMode> - <TypeDomainEnabled>true</TypeDomainEnabled> - <TextEdit>true</TextEdit> - <EditTextUpdateMode>Auto</EditTextUpdateMode> - <MinVal xsi:nil="true"/> - <MaxVal xsi:nil="true"/> - <ChoiceButtonPicture/> - <ChoiceForm/> - <ChoiceParamLinks/> - <ChoiceParams/> - <AvailableTypes/> - <ValueList/> - <TextColor>auto</TextColor> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Font kind="AutoFont"/> - <LinkByType/> - <InputHint/> - </Properties> - <Events> - <Event name="OnChange"/> - <Event name="StartChoice"/> - <Event name="StartListChoice"/> - <Event name="Clearing"/> - <Event name="Tuning"/> - <Event name="Opening"/> - <Event name="Creating"/> - <Event name="ChoiceProcessing"/> - <Event name="AutoComplete"/> - <Event name="TextEditEnd"/> - </Events> - <PredefinedContainedItems> - <ContextMenu xsi:type="ContextMenuGroup" id="47:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовПолныйПуть1КонтекстноеМеню</Name> - <Type>ContextMenu</Type> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <EnableContentChange>false</EnableContentChange> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleFont kind="AutoFont"/> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <Shortcut/> - <Width>0</Width> - <Height>0</Height> - <HorizontalStretch>auto</HorizontalStretch> - <VerticalStretch>auto</VerticalStretch> - <FillWithStdCommands>true</FillWithStdCommands> - </Properties> - <PredefinedContainedItems/> - <ContainedItems/> - </ContextMenu> - <ExtTooltip xsi:type="TextDecoration" id="89:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовПолныйПуть1ExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - </Input> - <Input id="48:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовТипСтроки</Name> - <Type>InputField</Type> - <DataPath>Объект.ДеревоТестов.ТипСтроки</DataPath> - <Visible>false</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <DefaultItem>false</DefaultItem> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <SkipOnInput>auto</SkipOnInput> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleBackColor>auto</TitleBackColor> - <TitleFont kind="AutoFont"/> - <TitleLocation>Auto</TitleLocation> - <TitleHeight>0</TitleHeight> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <WarningOnEditRepresentation>Auto</WarningOnEditRepresentation> - <WarningOnEdit/> - <Shortcut/> - <CommandsContent/> - <HorizontalAlign>Auto</HorizontalAlign> - <VerticalAlign>Auto</VerticalAlign> - <EditMode>EnterOnInput</EditMode> - <FixingInTable>None</FixingInTable> - <CellHyperlink>false</CellHyperlink> - <AutoCellHeight>false</AutoCellHeight> - <ShowInHeader>true</ShowInHeader> - <HeaderPicture/> - <HeaderHorizontalAlign>Left</HeaderHorizontalAlign> - <ShowInFooter>true</ShowInFooter> - <FooterDataPath/> - <FooterText/> - <FooterTextColor>auto</FooterTextColor> - <FooterBackColor>auto</FooterBackColor> - <FooterFont kind="AutoFont"/> - <FooterPicture/> - <FooterHorizontalAlign>Auto</FooterHorizontalAlign> - <Width>0</Width> - <RowsCount>0</RowsCount> - <HorizontalStretchable>auto</HorizontalStretchable> - <VerticalStretchable>auto</VerticalStretchable> - <Wrap>true</Wrap> - <PasswordMode>auto</PasswordMode> - <MultiLine>auto</MultiLine> - <ExtendedEdit>auto</ExtendedEdit> - <MarkNegatives>auto</MarkNegatives> - <ChoiceListButton>auto</ChoiceListButton> - <DropListButton>auto</DropListButton> - <ChoiceButton>auto</ChoiceButton> - <ChoiceButtonRepresentation>Auto</ChoiceButtonRepresentation> - <ClearButton>auto</ClearButton> - <SpinButton>auto</SpinButton> - <OpenButton>auto</OpenButton> - <CreateButton>auto</CreateButton> - <Mask/> - <ListChoiceMode>false</ListChoiceMode> - <AutoChoiceIncomplete>auto</AutoChoiceIncomplete> - <QuickChoice>auto</QuickChoice> - <ChoiceObjects>Auto</ChoiceObjects> - <Format/> - <InputFormat/> - <AutoMarkIncomplete>auto</AutoMarkIncomplete> - <ChoiceType>true</ChoiceType> - <IncompleteChoiceMode>OnEnterPressed</IncompleteChoiceMode> - <TypeDomainEnabled>true</TypeDomainEnabled> - <TextEdit>true</TextEdit> - <EditTextUpdateMode>Auto</EditTextUpdateMode> - <MinVal xsi:nil="true"/> - <MaxVal xsi:nil="true"/> - <ChoiceButtonPicture/> - <ChoiceForm/> - <ChoiceParamLinks/> - <ChoiceParams/> - <AvailableTypes/> - <ValueList/> - <TextColor>auto</TextColor> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Font kind="AutoFont"/> - <LinkByType/> - <InputHint/> - </Properties> - <Events> - <Event name="OnChange"/> - <Event name="StartChoice"/> - <Event name="StartListChoice"/> - <Event name="Clearing"/> - <Event name="Tuning"/> - <Event name="Opening"/> - <Event name="Creating"/> - <Event name="ChoiceProcessing"/> - <Event name="AutoComplete"/> - <Event name="TextEditEnd"/> - </Events> - <PredefinedContainedItems> - <ContextMenu xsi:type="ContextMenuGroup" id="49:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовТипСтрокиКонтекстноеМеню</Name> - <Type>ContextMenu</Type> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <EnableContentChange>false</EnableContentChange> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleFont kind="AutoFont"/> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <Shortcut/> - <Width>0</Width> - <Height>0</Height> - <HorizontalStretch>auto</HorizontalStretch> - <VerticalStretch>auto</VerticalStretch> - <FillWithStdCommands>true</FillWithStdCommands> - </Properties> - <PredefinedContainedItems/> - <ContainedItems/> - </ContextMenu> - <ExtTooltip xsi:type="TextDecoration" id="90:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовТипСтрокиExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - </Input> - <Input id="50:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовСостояние1</Name> - <Type>InputField</Type> - <DataPath>Объект.ДеревоТестов.Состояние</DataPath> - <Visible>false</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <DefaultItem>false</DefaultItem> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <SkipOnInput>auto</SkipOnInput> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleBackColor>auto</TitleBackColor> - <TitleFont kind="AutoFont"/> - <TitleLocation>Auto</TitleLocation> - <TitleHeight>0</TitleHeight> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <WarningOnEditRepresentation>Auto</WarningOnEditRepresentation> - <WarningOnEdit/> - <Shortcut/> - <CommandsContent/> - <HorizontalAlign>Auto</HorizontalAlign> - <VerticalAlign>Auto</VerticalAlign> - <EditMode>EnterOnInput</EditMode> - <FixingInTable>None</FixingInTable> - <CellHyperlink>false</CellHyperlink> - <AutoCellHeight>false</AutoCellHeight> - <ShowInHeader>true</ShowInHeader> - <HeaderPicture/> - <HeaderHorizontalAlign>Left</HeaderHorizontalAlign> - <ShowInFooter>true</ShowInFooter> - <FooterDataPath/> - <FooterText/> - <FooterTextColor>auto</FooterTextColor> - <FooterBackColor>auto</FooterBackColor> - <FooterFont kind="AutoFont"/> - <FooterPicture/> - <FooterHorizontalAlign>Auto</FooterHorizontalAlign> - <Width>0</Width> - <RowsCount>0</RowsCount> - <HorizontalStretchable>auto</HorizontalStretchable> - <VerticalStretchable>auto</VerticalStretchable> - <Wrap>true</Wrap> - <PasswordMode>auto</PasswordMode> - <MultiLine>auto</MultiLine> - <ExtendedEdit>auto</ExtendedEdit> - <MarkNegatives>auto</MarkNegatives> - <ChoiceListButton>auto</ChoiceListButton> - <DropListButton>auto</DropListButton> - <ChoiceButton>auto</ChoiceButton> - <ChoiceButtonRepresentation>Auto</ChoiceButtonRepresentation> - <ClearButton>auto</ClearButton> - <SpinButton>auto</SpinButton> - <OpenButton>auto</OpenButton> - <CreateButton>auto</CreateButton> - <Mask/> - <ListChoiceMode>false</ListChoiceMode> - <AutoChoiceIncomplete>auto</AutoChoiceIncomplete> - <QuickChoice>auto</QuickChoice> - <ChoiceObjects>Auto</ChoiceObjects> - <Format/> - <InputFormat/> - <AutoMarkIncomplete>auto</AutoMarkIncomplete> - <ChoiceType>true</ChoiceType> - <IncompleteChoiceMode>OnEnterPressed</IncompleteChoiceMode> - <TypeDomainEnabled>true</TypeDomainEnabled> - <TextEdit>true</TextEdit> - <EditTextUpdateMode>Auto</EditTextUpdateMode> - <MinVal xsi:nil="true"/> - <MaxVal xsi:nil="true"/> - <ChoiceButtonPicture/> - <ChoiceForm/> - <ChoiceParamLinks/> - <ChoiceParams/> - <AvailableTypes/> - <ValueList/> - <TextColor>auto</TextColor> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Font kind="AutoFont"/> - <LinkByType/> - <InputHint/> - </Properties> - <Events> - <Event name="OnChange"/> - <Event name="StartChoice"/> - <Event name="StartListChoice"/> - <Event name="Clearing"/> - <Event name="Tuning"/> - <Event name="Opening"/> - <Event name="Creating"/> - <Event name="ChoiceProcessing"/> - <Event name="AutoComplete"/> - <Event name="TextEditEnd"/> - </Events> - <PredefinedContainedItems> - <ContextMenu xsi:type="ContextMenuGroup" id="51:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовСостояние1КонтекстноеМеню</Name> - <Type>ContextMenu</Type> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <EnableContentChange>false</EnableContentChange> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleFont kind="AutoFont"/> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <Shortcut/> - <Width>0</Width> - <Height>0</Height> - <HorizontalStretch>auto</HorizontalStretch> - <VerticalStretch>auto</VerticalStretch> - <FillWithStdCommands>true</FillWithStdCommands> - </Properties> - <PredefinedContainedItems/> - <ContainedItems/> - </ContextMenu> - <ExtTooltip xsi:type="TextDecoration" id="91:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовСостояние1ExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - </Input> - <Input id="52:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовТестовыйСлучайОбъектМетаданныхИмя</Name> - <Type>InputField</Type> - <DataPath>Объект.ДеревоТестов.ТестовыйСлучайОбъектМетаданныхИмя</DataPath> - <Visible>false</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <DefaultItem>false</DefaultItem> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <SkipOnInput>auto</SkipOnInput> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleBackColor>auto</TitleBackColor> - <TitleFont kind="AutoFont"/> - <TitleLocation>Auto</TitleLocation> - <TitleHeight>0</TitleHeight> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <WarningOnEditRepresentation>Auto</WarningOnEditRepresentation> - <WarningOnEdit/> - <Shortcut/> - <CommandsContent/> - <HorizontalAlign>Auto</HorizontalAlign> - <VerticalAlign>Auto</VerticalAlign> - <EditMode>EnterOnInput</EditMode> - <FixingInTable>None</FixingInTable> - <CellHyperlink>false</CellHyperlink> - <AutoCellHeight>false</AutoCellHeight> - <ShowInHeader>true</ShowInHeader> - <HeaderPicture/> - <HeaderHorizontalAlign>Left</HeaderHorizontalAlign> - <ShowInFooter>true</ShowInFooter> - <FooterDataPath/> - <FooterText/> - <FooterTextColor>auto</FooterTextColor> - <FooterBackColor>auto</FooterBackColor> - <FooterFont kind="AutoFont"/> - <FooterPicture/> - <FooterHorizontalAlign>Auto</FooterHorizontalAlign> - <Width>0</Width> - <RowsCount>0</RowsCount> - <HorizontalStretchable>auto</HorizontalStretchable> - <VerticalStretchable>auto</VerticalStretchable> - <Wrap>true</Wrap> - <PasswordMode>auto</PasswordMode> - <MultiLine>auto</MultiLine> - <ExtendedEdit>auto</ExtendedEdit> - <MarkNegatives>auto</MarkNegatives> - <ChoiceListButton>auto</ChoiceListButton> - <DropListButton>auto</DropListButton> - <ChoiceButton>auto</ChoiceButton> - <ChoiceButtonRepresentation>Auto</ChoiceButtonRepresentation> - <ClearButton>auto</ClearButton> - <SpinButton>auto</SpinButton> - <OpenButton>auto</OpenButton> - <CreateButton>auto</CreateButton> - <Mask/> - <ListChoiceMode>false</ListChoiceMode> - <AutoChoiceIncomplete>auto</AutoChoiceIncomplete> - <QuickChoice>auto</QuickChoice> - <ChoiceObjects>Auto</ChoiceObjects> - <Format/> - <InputFormat/> - <AutoMarkIncomplete>auto</AutoMarkIncomplete> - <ChoiceType>true</ChoiceType> - <IncompleteChoiceMode>OnEnterPressed</IncompleteChoiceMode> - <TypeDomainEnabled>true</TypeDomainEnabled> - <TextEdit>true</TextEdit> - <EditTextUpdateMode>Auto</EditTextUpdateMode> - <MinVal xsi:nil="true"/> - <MaxVal xsi:nil="true"/> - <ChoiceButtonPicture/> - <ChoiceForm/> - <ChoiceParamLinks/> - <ChoiceParams/> - <AvailableTypes/> - <ValueList/> - <TextColor>auto</TextColor> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Font kind="AutoFont"/> - <LinkByType/> - <InputHint/> - </Properties> - <Events> - <Event name="OnChange"/> - <Event name="StartChoice"/> - <Event name="StartListChoice"/> - <Event name="Clearing"/> - <Event name="Tuning"/> - <Event name="Opening"/> - <Event name="Creating"/> - <Event name="ChoiceProcessing"/> - <Event name="AutoComplete"/> - <Event name="TextEditEnd"/> - </Events> - <PredefinedContainedItems> - <ContextMenu xsi:type="ContextMenuGroup" id="53:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовТестовыйСлучайОбъектМетаданныхИмяКонтекстноеМеню</Name> - <Type>ContextMenu</Type> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <EnableContentChange>false</EnableContentChange> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleFont kind="AutoFont"/> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <Shortcut/> - <Width>0</Width> - <Height>0</Height> - <HorizontalStretch>auto</HorizontalStretch> - <VerticalStretch>auto</VerticalStretch> - <FillWithStdCommands>true</FillWithStdCommands> - </Properties> - <PredefinedContainedItems/> - <ContainedItems/> - </ContextMenu> - <ExtTooltip xsi:type="TextDecoration" id="92:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовТестовыйСлучайОбъектМетаданныхИмяExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - </Input> - <Input id="54:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестов_GUID</Name> - <Type>InputField</Type> - <DataPath>Объект.ДеревоТестов._GUID</DataPath> - <Visible>false</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <DefaultItem>false</DefaultItem> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <SkipOnInput>auto</SkipOnInput> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleBackColor>auto</TitleBackColor> - <TitleFont kind="AutoFont"/> - <TitleLocation>Auto</TitleLocation> - <TitleHeight>0</TitleHeight> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <WarningOnEditRepresentation>Auto</WarningOnEditRepresentation> - <WarningOnEdit/> - <Shortcut/> - <CommandsContent/> - <HorizontalAlign>Auto</HorizontalAlign> - <VerticalAlign>Auto</VerticalAlign> - <EditMode>EnterOnInput</EditMode> - <FixingInTable>None</FixingInTable> - <CellHyperlink>false</CellHyperlink> - <AutoCellHeight>false</AutoCellHeight> - <ShowInHeader>true</ShowInHeader> - <HeaderPicture/> - <HeaderHorizontalAlign>Left</HeaderHorizontalAlign> - <ShowInFooter>true</ShowInFooter> - <FooterDataPath/> - <FooterText/> - <FooterTextColor>auto</FooterTextColor> - <FooterBackColor>auto</FooterBackColor> - <FooterFont kind="AutoFont"/> - <FooterPicture/> - <FooterHorizontalAlign>Auto</FooterHorizontalAlign> - <Width>0</Width> - <RowsCount>0</RowsCount> - <HorizontalStretchable>auto</HorizontalStretchable> - <VerticalStretchable>auto</VerticalStretchable> - <Wrap>true</Wrap> - <PasswordMode>auto</PasswordMode> - <MultiLine>auto</MultiLine> - <ExtendedEdit>auto</ExtendedEdit> - <MarkNegatives>auto</MarkNegatives> - <ChoiceListButton>auto</ChoiceListButton> - <DropListButton>auto</DropListButton> - <ChoiceButton>auto</ChoiceButton> - <ChoiceButtonRepresentation>Auto</ChoiceButtonRepresentation> - <ClearButton>auto</ClearButton> - <SpinButton>auto</SpinButton> - <OpenButton>auto</OpenButton> - <CreateButton>auto</CreateButton> - <Mask/> - <ListChoiceMode>false</ListChoiceMode> - <AutoChoiceIncomplete>auto</AutoChoiceIncomplete> - <QuickChoice>auto</QuickChoice> - <ChoiceObjects>Auto</ChoiceObjects> - <Format/> - <InputFormat/> - <AutoMarkIncomplete>auto</AutoMarkIncomplete> - <ChoiceType>true</ChoiceType> - <IncompleteChoiceMode>OnEnterPressed</IncompleteChoiceMode> - <TypeDomainEnabled>true</TypeDomainEnabled> - <TextEdit>true</TextEdit> - <EditTextUpdateMode>Auto</EditTextUpdateMode> - <MinVal xsi:nil="true"/> - <MaxVal xsi:nil="true"/> - <ChoiceButtonPicture/> - <ChoiceForm/> - <ChoiceParamLinks/> - <ChoiceParams/> - <AvailableTypes/> - <ValueList/> - <TextColor>auto</TextColor> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Font kind="AutoFont"/> - <LinkByType/> - <InputHint/> - </Properties> - <Events> - <Event name="OnChange"/> - <Event name="StartChoice"/> - <Event name="StartListChoice"/> - <Event name="Clearing"/> - <Event name="Tuning"/> - <Event name="Opening"/> - <Event name="Creating"/> - <Event name="ChoiceProcessing"/> - <Event name="AutoComplete"/> - <Event name="TextEditEnd"/> - </Events> - <PredefinedContainedItems> - <ContextMenu xsi:type="ContextMenuGroup" id="55:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестов_GUIDКонтекстноеМеню</Name> - <Type>ContextMenu</Type> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <EnableContentChange>false</EnableContentChange> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleFont kind="AutoFont"/> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <Shortcut/> - <Width>0</Width> - <Height>0</Height> - <HorizontalStretch>auto</HorizontalStretch> - <VerticalStretch>auto</VerticalStretch> - <FillWithStdCommands>true</FillWithStdCommands> - </Properties> - <PredefinedContainedItems/> - <ContainedItems/> - </ContextMenu> - <ExtTooltip xsi:type="TextDecoration" id="93:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестов_GUIDExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - </Input> - <Input id="56:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовМодульИлиФорма1</Name> - <Type>InputField</Type> - <DataPath>Объект.ДеревоТестов.МодульИлиФорма</DataPath> - <Visible>false</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <DefaultItem>false</DefaultItem> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <SkipOnInput>auto</SkipOnInput> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleBackColor>auto</TitleBackColor> - <TitleFont kind="AutoFont"/> - <TitleLocation>Auto</TitleLocation> - <TitleHeight>0</TitleHeight> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <WarningOnEditRepresentation>Auto</WarningOnEditRepresentation> - <WarningOnEdit/> - <Shortcut/> - <CommandsContent/> - <HorizontalAlign>Auto</HorizontalAlign> - <VerticalAlign>Auto</VerticalAlign> - <EditMode>EnterOnInput</EditMode> - <FixingInTable>None</FixingInTable> - <CellHyperlink>false</CellHyperlink> - <AutoCellHeight>false</AutoCellHeight> - <ShowInHeader>true</ShowInHeader> - <HeaderPicture/> - <HeaderHorizontalAlign>Left</HeaderHorizontalAlign> - <ShowInFooter>true</ShowInFooter> - <FooterDataPath/> - <FooterText/> - <FooterTextColor>auto</FooterTextColor> - <FooterBackColor>auto</FooterBackColor> - <FooterFont kind="AutoFont"/> - <FooterPicture/> - <FooterHorizontalAlign>Auto</FooterHorizontalAlign> - <Width>0</Width> - <RowsCount>0</RowsCount> - <HorizontalStretchable>auto</HorizontalStretchable> - <VerticalStretchable>auto</VerticalStretchable> - <Wrap>true</Wrap> - <PasswordMode>auto</PasswordMode> - <MultiLine>auto</MultiLine> - <ExtendedEdit>auto</ExtendedEdit> - <MarkNegatives>auto</MarkNegatives> - <ChoiceListButton>auto</ChoiceListButton> - <DropListButton>auto</DropListButton> - <ChoiceButton>auto</ChoiceButton> - <ChoiceButtonRepresentation>Auto</ChoiceButtonRepresentation> - <ClearButton>auto</ClearButton> - <SpinButton>auto</SpinButton> - <OpenButton>auto</OpenButton> - <CreateButton>auto</CreateButton> - <Mask/> - <ListChoiceMode>false</ListChoiceMode> - <AutoChoiceIncomplete>auto</AutoChoiceIncomplete> - <QuickChoice>auto</QuickChoice> - <ChoiceObjects>Auto</ChoiceObjects> - <Format/> - <InputFormat/> - <AutoMarkIncomplete>auto</AutoMarkIncomplete> - <ChoiceType>true</ChoiceType> - <IncompleteChoiceMode>OnEnterPressed</IncompleteChoiceMode> - <TypeDomainEnabled>true</TypeDomainEnabled> - <TextEdit>true</TextEdit> - <EditTextUpdateMode>Auto</EditTextUpdateMode> - <MinVal xsi:nil="true"/> - <MaxVal xsi:nil="true"/> - <ChoiceButtonPicture/> - <ChoiceForm/> - <ChoiceParamLinks/> - <ChoiceParams/> - <AvailableTypes/> - <ValueList/> - <TextColor>auto</TextColor> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Font kind="AutoFont"/> - <LinkByType/> - <InputHint/> - </Properties> - <Events> - <Event name="OnChange"/> - <Event name="StartChoice"/> - <Event name="StartListChoice"/> - <Event name="Clearing"/> - <Event name="Tuning"/> - <Event name="Opening"/> - <Event name="Creating"/> - <Event name="ChoiceProcessing"/> - <Event name="AutoComplete"/> - <Event name="TextEditEnd"/> - </Events> - <PredefinedContainedItems> - <ContextMenu xsi:type="ContextMenuGroup" id="57:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовМодульИлиФорма1КонтекстноеМеню</Name> - <Type>ContextMenu</Type> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <EnableContentChange>false</EnableContentChange> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleFont kind="AutoFont"/> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <Shortcut/> - <Width>0</Width> - <Height>0</Height> - <HorizontalStretch>auto</HorizontalStretch> - <VerticalStretch>auto</VerticalStretch> - <FillWithStdCommands>true</FillWithStdCommands> - </Properties> - <PredefinedContainedItems/> - <ContainedItems/> - </ContextMenu> - <ExtTooltip xsi:type="TextDecoration" id="94:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовМодульИлиФорма1ExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - </Input> - <Input id="58:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовПараметрыТеста</Name> - <Type>InputField</Type> - <DataPath>Объект.ДеревоТестов.ПараметрыТеста</DataPath> - <Visible>false</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <DefaultItem>false</DefaultItem> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <SkipOnInput>auto</SkipOnInput> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleBackColor>auto</TitleBackColor> - <TitleFont kind="AutoFont"/> - <TitleLocation>Auto</TitleLocation> - <TitleHeight>0</TitleHeight> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <WarningOnEditRepresentation>Auto</WarningOnEditRepresentation> - <WarningOnEdit/> - <Shortcut/> - <CommandsContent/> - <HorizontalAlign>Auto</HorizontalAlign> - <VerticalAlign>Auto</VerticalAlign> - <EditMode>EnterOnInput</EditMode> - <FixingInTable>None</FixingInTable> - <CellHyperlink>false</CellHyperlink> - <AutoCellHeight>false</AutoCellHeight> - <ShowInHeader>true</ShowInHeader> - <HeaderPicture/> - <HeaderHorizontalAlign>Left</HeaderHorizontalAlign> - <ShowInFooter>true</ShowInFooter> - <FooterDataPath/> - <FooterText/> - <FooterTextColor>auto</FooterTextColor> - <FooterBackColor>auto</FooterBackColor> - <FooterFont kind="AutoFont"/> - <FooterPicture/> - <FooterHorizontalAlign>Auto</FooterHorizontalAlign> - <Width>0</Width> - <RowsCount>0</RowsCount> - <HorizontalStretchable>auto</HorizontalStretchable> - <VerticalStretchable>auto</VerticalStretchable> - <Wrap>true</Wrap> - <PasswordMode>auto</PasswordMode> - <MultiLine>auto</MultiLine> - <ExtendedEdit>auto</ExtendedEdit> - <MarkNegatives>auto</MarkNegatives> - <ChoiceListButton>auto</ChoiceListButton> - <DropListButton>auto</DropListButton> - <ChoiceButton>auto</ChoiceButton> - <ChoiceButtonRepresentation>Auto</ChoiceButtonRepresentation> - <ClearButton>auto</ClearButton> - <SpinButton>auto</SpinButton> - <OpenButton>auto</OpenButton> - <CreateButton>auto</CreateButton> - <Mask/> - <ListChoiceMode>false</ListChoiceMode> - <AutoChoiceIncomplete>auto</AutoChoiceIncomplete> - <QuickChoice>auto</QuickChoice> - <ChoiceObjects>Auto</ChoiceObjects> - <Format/> - <InputFormat/> - <AutoMarkIncomplete>auto</AutoMarkIncomplete> - <ChoiceType>true</ChoiceType> - <IncompleteChoiceMode>OnEnterPressed</IncompleteChoiceMode> - <TypeDomainEnabled>true</TypeDomainEnabled> - <TextEdit>true</TextEdit> - <EditTextUpdateMode>Auto</EditTextUpdateMode> - <MinVal xsi:nil="true"/> - <MaxVal xsi:nil="true"/> - <ChoiceButtonPicture/> - <ChoiceForm/> - <ChoiceParamLinks/> - <ChoiceParams/> - <AvailableTypes/> - <ValueList/> - <TextColor>auto</TextColor> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Font kind="AutoFont"/> - <LinkByType/> - <InputHint/> - </Properties> - <Events> - <Event name="OnChange"/> - <Event name="StartChoice"/> - <Event name="StartListChoice"/> - <Event name="Clearing"/> - <Event name="Tuning"/> - <Event name="Opening"/> - <Event name="Creating"/> - <Event name="ChoiceProcessing"/> - <Event name="AutoComplete"/> - <Event name="TextEditEnd"/> - </Events> - <PredefinedContainedItems> - <ContextMenu xsi:type="ContextMenuGroup" id="59:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовПараметрыТестаКонтекстноеМеню</Name> - <Type>ContextMenu</Type> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <EnableContentChange>false</EnableContentChange> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleFont kind="AutoFont"/> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <Shortcut/> - <Width>0</Width> - <Height>0</Height> - <HorizontalStretch>auto</HorizontalStretch> - <VerticalStretch>auto</VerticalStretch> - <FillWithStdCommands>true</FillWithStdCommands> - </Properties> - <PredefinedContainedItems/> - <ContainedItems/> - </ContextMenu> - <ExtTooltip xsi:type="TextDecoration" id="95:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовПараметрыТестаExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - </Input> - <CheckBox id="60:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовЕстьПараметрыТеста</Name> - <Type>CheckBoxField</Type> - <DataPath>Объект.ДеревоТестов.ЕстьПараметрыТеста</DataPath> - <Visible>false</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <DefaultItem>false</DefaultItem> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <SkipOnInput>auto</SkipOnInput> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleBackColor>auto</TitleBackColor> - <TitleFont kind="AutoFont"/> - <TitleLocation>Auto</TitleLocation> - <TitleHeight>0</TitleHeight> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <WarningOnEditRepresentation>Auto</WarningOnEditRepresentation> - <WarningOnEdit/> - <Shortcut/> - <CommandsContent/> - <HorizontalAlign>Auto</HorizontalAlign> - <VerticalAlign>Auto</VerticalAlign> - <EditMode>EnterOnInput</EditMode> - <FixingInTable>None</FixingInTable> - <CellHyperlink>false</CellHyperlink> - <AutoCellHeight>false</AutoCellHeight> - <ShowInHeader>true</ShowInHeader> - <HeaderPicture/> - <HeaderHorizontalAlign>Left</HeaderHorizontalAlign> - <ShowInFooter>true</ShowInFooter> - <FooterDataPath/> - <FooterText/> - <FooterTextColor>auto</FooterTextColor> - <FooterBackColor>auto</FooterBackColor> - <FooterFont kind="AutoFont"/> - <FooterPicture/> - <FooterHorizontalAlign>Auto</FooterHorizontalAlign> - <CheckBoxType>Auto</CheckBoxType> - <ThreeState>false</ThreeState> - <BorderColor>auto</BorderColor> - <EqualElementsWidth>auto</EqualElementsWidth> - </Properties> - <Events> - <Event name="OnChange"/> - </Events> - <PredefinedContainedItems> - <ContextMenu xsi:type="ContextMenuGroup" id="61:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовЕстьПараметрыТестаКонтекстноеМеню</Name> - <Type>ContextMenu</Type> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <EnableContentChange>false</EnableContentChange> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleFont kind="AutoFont"/> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <Shortcut/> - <Width>0</Width> - <Height>0</Height> - <HorizontalStretch>auto</HorizontalStretch> - <VerticalStretch>auto</VerticalStretch> - <FillWithStdCommands>true</FillWithStdCommands> - </Properties> - <PredefinedContainedItems/> - <ContainedItems/> - </ContextMenu> - <ExtTooltip xsi:type="TextDecoration" id="96:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовЕстьПараметрыТестаExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - </CheckBox> - <Input id="62:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовИмяТестовогоСлучая</Name> - <Type>InputField</Type> - <DataPath>Объект.ДеревоТестов.ИмяТестовогоСлучая</DataPath> - <Visible>false</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <DefaultItem>false</DefaultItem> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <SkipOnInput>auto</SkipOnInput> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleBackColor>auto</TitleBackColor> - <TitleFont kind="AutoFont"/> - <TitleLocation>Auto</TitleLocation> - <TitleHeight>0</TitleHeight> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <WarningOnEditRepresentation>Auto</WarningOnEditRepresentation> - <WarningOnEdit/> - <Shortcut/> - <CommandsContent/> - <HorizontalAlign>Auto</HorizontalAlign> - <VerticalAlign>Auto</VerticalAlign> - <EditMode>EnterOnInput</EditMode> - <FixingInTable>None</FixingInTable> - <CellHyperlink>false</CellHyperlink> - <AutoCellHeight>false</AutoCellHeight> - <ShowInHeader>true</ShowInHeader> - <HeaderPicture/> - <HeaderHorizontalAlign>Left</HeaderHorizontalAlign> - <ShowInFooter>true</ShowInFooter> - <FooterDataPath/> - <FooterText/> - <FooterTextColor>auto</FooterTextColor> - <FooterBackColor>auto</FooterBackColor> - <FooterFont kind="AutoFont"/> - <FooterPicture/> - <FooterHorizontalAlign>Auto</FooterHorizontalAlign> - <Width>0</Width> - <RowsCount>0</RowsCount> - <HorizontalStretchable>auto</HorizontalStretchable> - <VerticalStretchable>auto</VerticalStretchable> - <Wrap>true</Wrap> - <PasswordMode>auto</PasswordMode> - <MultiLine>auto</MultiLine> - <ExtendedEdit>auto</ExtendedEdit> - <MarkNegatives>auto</MarkNegatives> - <ChoiceListButton>auto</ChoiceListButton> - <DropListButton>auto</DropListButton> - <ChoiceButton>auto</ChoiceButton> - <ChoiceButtonRepresentation>Auto</ChoiceButtonRepresentation> - <ClearButton>auto</ClearButton> - <SpinButton>auto</SpinButton> - <OpenButton>auto</OpenButton> - <CreateButton>auto</CreateButton> - <Mask/> - <ListChoiceMode>false</ListChoiceMode> - <AutoChoiceIncomplete>auto</AutoChoiceIncomplete> - <QuickChoice>auto</QuickChoice> - <ChoiceObjects>Auto</ChoiceObjects> - <Format/> - <InputFormat/> - <AutoMarkIncomplete>auto</AutoMarkIncomplete> - <ChoiceType>true</ChoiceType> - <IncompleteChoiceMode>OnEnterPressed</IncompleteChoiceMode> - <TypeDomainEnabled>true</TypeDomainEnabled> - <TextEdit>true</TextEdit> - <EditTextUpdateMode>Auto</EditTextUpdateMode> - <MinVal xsi:nil="true"/> - <MaxVal xsi:nil="true"/> - <ChoiceButtonPicture/> - <ChoiceForm/> - <ChoiceParamLinks/> - <ChoiceParams/> - <AvailableTypes/> - <ValueList/> - <TextColor>auto</TextColor> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Font kind="AutoFont"/> - <LinkByType/> - <InputHint/> - </Properties> - <Events> - <Event name="OnChange"/> - <Event name="StartChoice"/> - <Event name="StartListChoice"/> - <Event name="Clearing"/> - <Event name="Tuning"/> - <Event name="Opening"/> - <Event name="Creating"/> - <Event name="ChoiceProcessing"/> - <Event name="AutoComplete"/> - <Event name="TextEditEnd"/> - </Events> - <PredefinedContainedItems> - <ContextMenu xsi:type="ContextMenuGroup" id="63:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовИмяТестовогоСлучаяКонтекстноеМеню</Name> - <Type>ContextMenu</Type> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <EnableContentChange>false</EnableContentChange> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleFont kind="AutoFont"/> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <Shortcut/> - <Width>0</Width> - <Height>0</Height> - <HorizontalStretch>auto</HorizontalStretch> - <VerticalStretch>auto</VerticalStretch> - <FillWithStdCommands>true</FillWithStdCommands> - </Properties> - <PredefinedContainedItems/> - <ContainedItems/> - </ContextMenu> - <ExtTooltip xsi:type="TextDecoration" id="97:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовИмяТестовогоСлучаяExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - </Input> - <Input id="66:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовПолныйПуть2</Name> - <Type>InputField</Type> - <DataPath>Объект.ДеревоТестов.ПолныйПуть</DataPath> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <DefaultItem>false</DefaultItem> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <SkipOnInput>auto</SkipOnInput> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleBackColor>auto</TitleBackColor> - <TitleFont kind="AutoFont"/> - <TitleLocation>Auto</TitleLocation> - <TitleHeight>0</TitleHeight> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <WarningOnEditRepresentation>Auto</WarningOnEditRepresentation> - <WarningOnEdit/> - <Shortcut/> - <CommandsContent/> - <HorizontalAlign>Auto</HorizontalAlign> - <VerticalAlign>Auto</VerticalAlign> - <EditMode>EnterOnInput</EditMode> - <FixingInTable>None</FixingInTable> - <CellHyperlink>false</CellHyperlink> - <AutoCellHeight>false</AutoCellHeight> - <ShowInHeader>true</ShowInHeader> - <HeaderPicture/> - <HeaderHorizontalAlign>Left</HeaderHorizontalAlign> - <ShowInFooter>true</ShowInFooter> - <FooterDataPath/> - <FooterText/> - <FooterTextColor>auto</FooterTextColor> - <FooterBackColor>auto</FooterBackColor> - <FooterFont kind="AutoFont"/> - <FooterPicture/> - <FooterHorizontalAlign>Auto</FooterHorizontalAlign> - <Width>0</Width> - <RowsCount>0</RowsCount> - <HorizontalStretchable>auto</HorizontalStretchable> - <VerticalStretchable>auto</VerticalStretchable> - <Wrap>true</Wrap> - <PasswordMode>auto</PasswordMode> - <MultiLine>auto</MultiLine> - <ExtendedEdit>auto</ExtendedEdit> - <MarkNegatives>auto</MarkNegatives> - <ChoiceListButton>auto</ChoiceListButton> - <DropListButton>auto</DropListButton> - <ChoiceButton>auto</ChoiceButton> - <ChoiceButtonRepresentation>Auto</ChoiceButtonRepresentation> - <ClearButton>auto</ClearButton> - <SpinButton>auto</SpinButton> - <OpenButton>auto</OpenButton> - <CreateButton>auto</CreateButton> - <Mask/> - <ListChoiceMode>false</ListChoiceMode> - <AutoChoiceIncomplete>auto</AutoChoiceIncomplete> - <QuickChoice>auto</QuickChoice> - <ChoiceObjects>Auto</ChoiceObjects> - <Format/> - <InputFormat/> - <AutoMarkIncomplete>auto</AutoMarkIncomplete> - <ChoiceType>true</ChoiceType> - <IncompleteChoiceMode>OnEnterPressed</IncompleteChoiceMode> - <TypeDomainEnabled>true</TypeDomainEnabled> - <TextEdit>true</TextEdit> - <EditTextUpdateMode>Auto</EditTextUpdateMode> - <MinVal xsi:nil="true"/> - <MaxVal xsi:nil="true"/> - <ChoiceButtonPicture/> - <ChoiceForm/> - <ChoiceParamLinks/> - <ChoiceParams/> - <AvailableTypes/> - <ValueList/> - <TextColor>auto</TextColor> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Font kind="AutoFont"/> - <LinkByType/> - <InputHint/> - </Properties> - <Events> - <Event name="OnChange"/> - <Event name="StartChoice"/> - <Event name="StartListChoice"/> - <Event name="Clearing"/> - <Event name="Tuning"/> - <Event name="Opening"/> - <Event name="Creating"/> - <Event name="ChoiceProcessing"/> - <Event name="AutoComplete"/> - <Event name="TextEditEnd"/> - </Events> - <PredefinedContainedItems> - <ContextMenu xsi:type="ContextMenuGroup" id="67:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовПолныйПуть2КонтекстноеМеню</Name> - <Type>ContextMenu</Type> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <EnableContentChange>false</EnableContentChange> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleFont kind="AutoFont"/> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <Shortcut/> - <Width>0</Width> - <Height>0</Height> - <HorizontalStretch>auto</HorizontalStretch> - <VerticalStretch>auto</VerticalStretch> - <FillWithStdCommands>true</FillWithStdCommands> - </Properties> - <PredefinedContainedItems/> - <ContainedItems/> - </ContextMenu> - <ExtTooltip xsi:type="TextDecoration" id="98:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовПолныйПуть2ExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - </Input> - <Input id="64:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовПредставлениеПути</Name> - <Type>InputField</Type> - <DataPath>Объект.ДеревоТестов.ПредставлениеПути</DataPath> - <Visible>false</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <DefaultItem>false</DefaultItem> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <SkipOnInput>auto</SkipOnInput> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleBackColor>auto</TitleBackColor> - <TitleFont kind="AutoFont"/> - <TitleLocation>Auto</TitleLocation> - <TitleHeight>0</TitleHeight> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <WarningOnEditRepresentation>Auto</WarningOnEditRepresentation> - <WarningOnEdit/> - <Shortcut/> - <CommandsContent/> - <HorizontalAlign>Auto</HorizontalAlign> - <VerticalAlign>Auto</VerticalAlign> - <EditMode>EnterOnInput</EditMode> - <FixingInTable>None</FixingInTable> - <CellHyperlink>false</CellHyperlink> - <AutoCellHeight>false</AutoCellHeight> - <ShowInHeader>true</ShowInHeader> - <HeaderPicture/> - <HeaderHorizontalAlign>Left</HeaderHorizontalAlign> - <ShowInFooter>true</ShowInFooter> - <FooterDataPath/> - <FooterText/> - <FooterTextColor>auto</FooterTextColor> - <FooterBackColor>auto</FooterBackColor> - <FooterFont kind="AutoFont"/> - <FooterPicture/> - <FooterHorizontalAlign>Auto</FooterHorizontalAlign> - <Width>0</Width> - <RowsCount>0</RowsCount> - <HorizontalStretchable>auto</HorizontalStretchable> - <VerticalStretchable>auto</VerticalStretchable> - <Wrap>true</Wrap> - <PasswordMode>auto</PasswordMode> - <MultiLine>auto</MultiLine> - <ExtendedEdit>auto</ExtendedEdit> - <MarkNegatives>auto</MarkNegatives> - <ChoiceListButton>auto</ChoiceListButton> - <DropListButton>auto</DropListButton> - <ChoiceButton>auto</ChoiceButton> - <ChoiceButtonRepresentation>Auto</ChoiceButtonRepresentation> - <ClearButton>auto</ClearButton> - <SpinButton>auto</SpinButton> - <OpenButton>auto</OpenButton> - <CreateButton>auto</CreateButton> - <Mask/> - <ListChoiceMode>false</ListChoiceMode> - <AutoChoiceIncomplete>auto</AutoChoiceIncomplete> - <QuickChoice>auto</QuickChoice> - <ChoiceObjects>Auto</ChoiceObjects> - <Format/> - <InputFormat/> - <AutoMarkIncomplete>auto</AutoMarkIncomplete> - <ChoiceType>true</ChoiceType> - <IncompleteChoiceMode>OnEnterPressed</IncompleteChoiceMode> - <TypeDomainEnabled>true</TypeDomainEnabled> - <TextEdit>true</TextEdit> - <EditTextUpdateMode>Auto</EditTextUpdateMode> - <MinVal xsi:nil="true"/> - <MaxVal xsi:nil="true"/> - <ChoiceButtonPicture/> - <ChoiceForm/> - <ChoiceParamLinks/> - <ChoiceParams/> - <AvailableTypes/> - <ValueList/> - <TextColor>auto</TextColor> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Font kind="AutoFont"/> - <LinkByType/> - <InputHint/> - </Properties> - <Events> - <Event name="OnChange"/> - <Event name="StartChoice"/> - <Event name="StartListChoice"/> - <Event name="Clearing"/> - <Event name="Tuning"/> - <Event name="Opening"/> - <Event name="Creating"/> - <Event name="ChoiceProcessing"/> - <Event name="AutoComplete"/> - <Event name="TextEditEnd"/> - </Events> - <PredefinedContainedItems> - <ContextMenu xsi:type="ContextMenuGroup" id="65:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовПредставлениеПутиКонтекстноеМеню</Name> - <Type>ContextMenu</Type> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <ReadOnly>false</ReadOnly> - <EnableContentChange>false</EnableContentChange> - <Title/> - <TitleTextColor>auto</TitleTextColor> - <TitleFont kind="AutoFont"/> - <ToolTip/> - <ToolTipRepresentation>Auto</ToolTipRepresentation> - <Shortcut/> - <Width>0</Width> - <Height>0</Height> - <HorizontalStretch>auto</HorizontalStretch> - <VerticalStretch>auto</VerticalStretch> - <FillWithStdCommands>true</FillWithStdCommands> - </Properties> - <PredefinedContainedItems/> - <ContainedItems/> - </ContextMenu> - <ExtTooltip xsi:type="TextDecoration" id="99:02023637-7868-4a5f-8576-835a76e0c9ba"> - <Properties> - <Name>ДеревоТестовПредставлениеПутиExtendedTooltip</Name> - <Kind>Label</Kind> - <Visible>true</Visible> - <UserVisible> - <xr:common>true</xr:common> - </UserVisible> - <Enabled>true</Enabled> - <Width>0</Width> - <Height>0</Height> - <HorStretchable>auto</HorStretchable> - <VertStretchable>auto</VertStretchable> - <SkipOnInput>auto</SkipOnInput> - <TextColor>auto</TextColor> - <Font kind="AutoFont"/> - <ShortCut/> - <Title/> - <Tooltip/> - <TooltipRepresentation>Auto</TooltipRepresentation> - <HyperLink>false</HyperLink> - <HorAlignment>Left</HorAlignment> - <VertAlignment>Auto</VertAlignment> - <TitleHeight>0</TitleHeight> - <BackColor>auto</BackColor> - <BorderColor>auto</BorderColor> - <Border width="1"> - <style xmlns="http://v8.1c.ru/8.1/data/ui" xsi:type="ControlBorderType">WithoutBorder</style> - </Border> - </Properties> - <Events> - <Event name="Click"/> - <Event name="URLProcessing"/> - </Events> - <PredefinedContainedItems/> - </ExtTooltip> - </PredefinedContainedItems> - </Input> - </ContainedItems> - </Table> - </ContainedItems> - </Elements> - <NavigationPanel/> - <CommandPanel/> -</Form> \ No newline at end of file diff --git "a/src/DataProcessor/UnitTestRunner/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/Form/Form/Item/\320\224\320\265\321\200\320\265\320\262\320\276\320\242\320\265\321\201\321\202\320\276\320\262/RowsPicture.png" "b/src/DataProcessor/UnitTestRunner/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/Form/Form/Item/\320\224\320\265\321\200\320\265\320\262\320\276\320\242\320\265\321\201\321\202\320\276\320\262/RowsPicture.png" deleted file mode 100644 index 8702c709..00000000 Binary files "a/src/DataProcessor/UnitTestRunner/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/Form/Form/Item/\320\224\320\265\321\200\320\265\320\262\320\276\320\242\320\265\321\201\321\202\320\276\320\262/RowsPicture.png" and /dev/null differ diff --git "a/src/DataProcessor/UnitTestRunner/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/Form/Form/Item/\320\224\320\265\321\200\320\265\320\262\320\276\320\242\320\265\321\201\321\202\320\276\320\262\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\320\275\320\276\320\265\320\234\320\265\320\275\321\216\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214\320\242\320\265\321\201\321\202/Picture.png" "b/src/DataProcessor/UnitTestRunner/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/Form/Form/Item/\320\224\320\265\321\200\320\265\320\262\320\276\320\242\320\265\321\201\321\202\320\276\320\262\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\320\275\320\276\320\265\320\234\320\265\320\275\321\216\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214\320\242\320\265\321\201\321\202/Picture.png" deleted file mode 100644 index d896a416..00000000 Binary files "a/src/DataProcessor/UnitTestRunner/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/Form/Form/Item/\320\224\320\265\321\200\320\265\320\262\320\276\320\242\320\265\321\201\321\202\320\276\320\262\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\320\275\320\276\320\265\320\234\320\265\320\275\321\216\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214\320\242\320\265\321\201\321\202/Picture.png" and /dev/null differ diff --git "a/src/DataProcessor/UnitTestRunner/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/Form/Form/Item/\320\224\320\265\321\200\320\265\320\262\320\276\320\242\320\265\321\201\321\202\320\276\320\262\320\234\320\276\320\264\321\203\320\273\321\214\320\230\320\273\320\270\320\244\320\276\321\200\320\274\320\260/PictureValues.png" "b/src/DataProcessor/UnitTestRunner/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/Form/Form/Item/\320\224\320\265\321\200\320\265\320\262\320\276\320\242\320\265\321\201\321\202\320\276\320\262\320\234\320\276\320\264\321\203\320\273\321\214\320\230\320\273\320\270\320\244\320\276\321\200\320\274\320\260/PictureValues.png" deleted file mode 100644 index 340171d9..00000000 Binary files "a/src/DataProcessor/UnitTestRunner/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/Form/Form/Item/\320\224\320\265\321\200\320\265\320\262\320\276\320\242\320\265\321\201\321\202\320\276\320\262\320\234\320\276\320\264\321\203\320\273\321\214\320\230\320\273\320\270\320\244\320\276\321\200\320\274\320\260/PictureValues.png" and /dev/null differ diff --git "a/src/DataProcessor/UnitTestRunner/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/Form/Form/Item/\320\224\320\265\321\200\320\265\320\262\320\276\320\242\320\265\321\201\321\202\320\276\320\262\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265/PictureValues.png" "b/src/DataProcessor/UnitTestRunner/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/Form/Form/Item/\320\224\320\265\321\200\320\265\320\262\320\276\320\242\320\265\321\201\321\202\320\276\320\262\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265/PictureValues.png" deleted file mode 100644 index e104273b..00000000 Binary files "a/src/DataProcessor/UnitTestRunner/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/Form/Form/Item/\320\224\320\265\321\200\320\265\320\262\320\276\320\242\320\265\321\201\321\202\320\276\320\262\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265/PictureValues.png" and /dev/null differ diff --git "a/src/DataProcessor/UnitTestRunner/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/Form/Form/Item/\320\244\320\276\321\200\320\274\320\260\320\232\320\275\320\276\320\277\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\241\320\273\321\203\321\207\320\260\320\270/Picture.png" "b/src/DataProcessor/UnitTestRunner/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/Form/Form/Item/\320\244\320\276\321\200\320\274\320\260\320\232\320\275\320\276\320\277\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\241\320\273\321\203\321\207\320\260\320\270/Picture.png" deleted file mode 100644 index 75723ca2..00000000 Binary files "a/src/DataProcessor/UnitTestRunner/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/Form/Form/Item/\320\244\320\276\321\200\320\274\320\260\320\232\320\275\320\276\320\277\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\241\320\273\321\203\321\207\320\260\320\270/Picture.png" and /dev/null differ diff --git "a/src/DataProcessor/UnitTestRunner/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/Form/Form/Item/\320\244\320\276\321\200\320\274\320\260\320\232\320\275\320\276\320\277\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/Picture.png" "b/src/DataProcessor/UnitTestRunner/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/Form/Form/Item/\320\244\320\276\321\200\320\274\320\260\320\232\320\275\320\276\320\277\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/Picture.png" deleted file mode 100644 index f1ed9abe..00000000 Binary files "a/src/DataProcessor/UnitTestRunner/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/Form/Form/Item/\320\244\320\276\321\200\320\274\320\260\320\232\320\275\320\276\320\277\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/Picture.png" and /dev/null differ diff --git "a/src/DataProcessor/UnitTestRunner/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/Form/Form/Item/\320\244\320\276\321\200\320\274\320\260\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214\320\222\321\201\320\265\320\242\320\265\321\201\321\202\321\213/Picture.png" "b/src/DataProcessor/UnitTestRunner/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/Form/Form/Item/\320\244\320\276\321\200\320\274\320\260\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214\320\222\321\201\320\265\320\242\320\265\321\201\321\202\321\213/Picture.png" deleted file mode 100644 index 800aa167..00000000 Binary files "a/src/DataProcessor/UnitTestRunner/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/Form/Form/Item/\320\244\320\276\321\200\320\274\320\260\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214\320\222\321\201\320\265\320\242\320\265\321\201\321\202\321\213/Picture.png" and /dev/null differ diff --git "a/src/DataProcessor/UnitTestRunner/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/Form/Form/Item/\320\244\320\276\321\200\320\274\320\260\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\267\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\242\320\265\321\201\321\202\321\213/Picture.png" "b/src/DataProcessor/UnitTestRunner/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/Form/Form/Item/\320\244\320\276\321\200\320\274\320\260\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\267\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\242\320\265\321\201\321\202\321\213/Picture.png" deleted file mode 100644 index 8cd2ce11..00000000 Binary files "a/src/DataProcessor/UnitTestRunner/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/Form/Form/Item/\320\244\320\276\321\200\320\274\320\260\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\267\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\242\320\265\321\201\321\202\321\213/Picture.png" and /dev/null differ diff --git "a/src/DataProcessor/UnitTestRunner/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/Form/Module.txt" "b/src/DataProcessor/UnitTestRunner/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/Form/Module.txt" deleted file mode 100644 index 9b4e2164..00000000 --- "a/src/DataProcessor/UnitTestRunner/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/Form/Module.txt" +++ /dev/null @@ -1,1408 +0,0 @@ -&НаКлиенте -Перем мПути; - - //#Если ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда - //&НаКлиенте - //Перем мОбъектUTR; - //#КонецЕсли - -&НаСервере -Функция ВерсияСервер() - Возврат РеквизитФормыВЗначение("Объект").Версия(); -КонецФункции - -//////////////////////////////////////////////////////////////////////////////// -// ФУНКЦИИ ПРОВЕРКИ ЗНАЧЕНИЙ. -// -// На основе общего модуля тестирования Я_Тест для 1С:Предприятия 8 (SnowTest) Федора Езеева. -// - -&НаКлиенте -Процедура Проверить(_Истина, ДопСообщениеОшибки = "") Экспорт - Если Не _Истина Тогда - СообщениеОшибки = "Переданный параметр ("+Формат(_Истина, "БЛ=ложь; БИ=истина")+") не является Истиной, а хотели, чтобы являлся." + ФорматДСО(ДопСообщениеОшибки); - ВызватьИсключение(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьИстину(_Истина, ДопСообщениеОшибки = "") Экспорт - Проверить(_Истина, ДопСообщениеОшибки); -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьЛожь(_Ложь, ДопСообщениеОшибки = "") Экспорт - Если _Ложь Тогда - СообщениеОшибки = "Переданный параметр ("+Формат(_Ложь, "БЛ=ложь; БИ=истина")+") не является Ложью, а хотели, чтобы являлся." + ФорматДСО(ДопСообщениеОшибки); - ВызватьИсключение(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьРавенство(_1, _2, ДопСообщениеОшибки = "") Экспорт - Если _1 <> _2 Тогда - СообщениеОшибки = "Сравниваемые значения ("+_1+"; "+_2+") не равны, а хотели, чтобы были равны." + ФорматДСО(ДопСообщениеОшибки); - ВызватьИсключение(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьНеРавенство(_1, _2, ДопСообщениеОшибки = "") Экспорт - Если _1 = _2 Тогда - СообщениеОшибки = "Сравниваемые значения ("+_1+"; "+_2+") равны, а хотели, чтобы были не равны." + ФорматДСО(ДопСообщениеОшибки); - ВызватьИсключение(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьБольше(_Больше, _Меньше, ДопСообщениеОшибки = "") Экспорт - Если _Больше <= _Меньше Тогда - СообщениеОшибки = "Первый параметр ("+_Больше+") меньше или равен второму ("+_Меньше+") а хотели, чтобы был больше." + ФорматДСО(ДопСообщениеОшибки); - ВызватьИсключение(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьБольшеИлиРавно(_Больше, _Меньше, ДопСообщениеОшибки = "") Экспорт - Если _Больше < _Меньше Тогда - СообщениеОшибки = "Первый параметр ("+_Больше+") меньше второго ("+_Меньше+") а хотели, чтобы был больше или равен." + ФорматДСО(ДопСообщениеОшибки); - ВызватьИсключение(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьМеньше(проверяемоеЗначение1, проверяемоеЗначение2, СообщениеОбОшибке = "") Экспорт - Если проверяемоеЗначение1 >= проверяемоеЗначение2 Тогда - ВызватьИсключение "Значение <"+проверяемоеЗначение1+"> больше или равно, чем <"+проверяемоеЗначение2+">, а ожидалось меньше"+ - ФорматДСО(СообщениеОбОшибке); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьМеньшеИлиРавно(проверяемоеЗначение1, проверяемоеЗначение2, СообщениеОбОшибке = "") Экспорт - Если проверяемоеЗначение1 > проверяемоеЗначение2 Тогда - ВызватьИсключение "Значение <"+проверяемоеЗначение1+"> больше, чем <"+проверяемоеЗначение2+">, а ожидалось меньше или равно"+ - ФорматДСО(СообщениеОбОшибке); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьВыполнилось(СтрокаВыполнения, ДопСообщениеОшибки = "") Экспорт - Попытка - Выполнить(СтрокаВыполнения); - Упало = Ложь; - Исключение - Упало = Истина; - ПолученноеОписаниеОшибки = ИнформацияОбОшибке().Описание; - КонецПопытки; - - Если Упало Тогда - СообщениеОшибки = "Хотели, чтобы код """+СтрокаВыполнения+""" выполнился, а он упал с ошибкой """+ПолученноеОписаниеОшибки+"""." + ФорматДСО(ДопСообщениеОшибки); - ВызватьИсключение(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьМетодВыполнился(Объект, ИмяМетода, ДопСообщениеОшибки = "") Экспорт - СтрокаВыполнения = "Объект."+ИмяМетода+"()"; - - Попытка - Выполнить(СтрокаВыполнения); - Упало = Ложь; - Исключение - Упало = Истина; - ПолученноеОписаниеОшибки = ИнформацияОбОшибке().Описание; - КонецПопытки; - - Если Упало Тогда - СообщениеОшибки = "Хотели, чтобы код """+СтрокаВыполнения+""" выполнился, а он упал с ошибкой """+ПолученноеОписаниеОшибки+"""." + ФорматДСО(ДопСообщениеОшибки); - ВызватьИсключение(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьНеВыполнилось(СтрокаВыполнения, ОжидаемоеОписаниеОшибки, ДопСообщениеОшибки = "") Экспорт - Попытка - Выполнить(СтрокаВыполнения); - Успех = Истина; - Исключение - Успех = Ложь; - ПолученноеОписаниеОшибки = ИнформацияОбОшибке().Описание; - КонецПопытки; - - Если Успех Тогда - ВызватьИсключение("Хотели, чтобы код """+СтрокаВыполнения+""" упал, а он выполнился" + ФорматДСО(ДопСообщениеОшибки)); - КонецЕсли; - Если ОжидаемоеОписаниеОшибки <> ПолученноеОписаниеОшибки Тогда - ВызватьИсключение("Хотели, чтобы код """+СтрокаВыполнения+""" упал с сообщением об ошибке """+ОжидаемоеОписаниеОшибки+""", а он упал с сообщением """+ПолученноеОписаниеОшибки+"""." + ФорматДСО(ДопСообщениеОшибки)); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьМетодНеВыполнился(Объект, ИмяМетода, ОжидаемоеОписаниеОшибки, ДопСообщениеОшибки = "") Экспорт - СтрокаВыполнения = "Объект."+ИмяМетода+"()"; - - Попытка - Выполнить(СтрокаВыполнения); - Успех = Истина; - Исключение - Успех = Ложь; - ПолученноеОписаниеОшибки = ИнформацияОбОшибке().Описание; - КонецПопытки; - - Если Успех Тогда - ВызватьИсключение("Хотели, чтобы код """+СтрокаВыполнения+""" упал, а он выполнился" + ФорматДСО(ДопСообщениеОшибки)); - КонецЕсли; - Если ОжидаемоеОписаниеОшибки <> ПолученноеОписаниеОшибки Тогда - ВызватьИсключение("Хотели, чтобы код """+СтрокаВыполнения+""" упал с сообщением об ошибке """+ОжидаемоеОписаниеОшибки+""", а он упал с сообщением """+ПолученноеОписаниеОшибки+"""." + ФорматДСО(ДопСообщениеОшибки)); - КонецЕсли; -КонецПроцедуры - -// проверка идет через ЗначениеЗаполнено, но мутабельные значение всегда считаем заполненными -&НаКлиенте -Процедура ПроверитьЗаполненность(ПроверяемоеЗначение, ДопСообщениеОшибки = "") Экспорт - Попытка - фЗаполнено = ЗначениеЗаполнено(ПроверяемоеЗначение); - Исключение - Возврат; - КонецПопытки; - Если НЕ фЗаполнено Тогда - ВызватьИсключение "Значение ("+ПроверяемоеЗначение+") не заполнено, а ожидалась заполненность" + ФорматДСО(ДопСообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьНеЗаполненность(ПроверяемоеЗначение, ДопСообщениеОшибки = "") Экспорт - СообщениеОшибки = "Значение ("+ПроверяемоеЗначение+") заполнено, а ожидалась незаполненность" + ФорматДСО(ДопСообщениеОшибки); - Попытка - фЗаполнено = ЗначениеЗаполнено(ПроверяемоеЗначение); - Исключение - ВызватьИсключение СообщениеОшибки; - КонецПопытки; - Если фЗаполнено Тогда - ВызватьИсключение СообщениеОшибки; - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьТип(значение, ТипИлиИмяТипа, ДопСообщениеОшибки = "") Экспорт - Если ТипЗнч(ТипИлиИмяТипа) = Тип("Строка") Тогда - искомыйТип = Тип(ТипИлиИмяТипа); - ИначеЕсли ТипЗнч(ТипИлиИмяТипа) = Тип("Тип") Тогда - искомыйТип = ТипИлиИмяТипа; - Иначе - ВызватьИсключение "ПроверитьТип: Тип значения параметра ТипИлиИмяТипа должен быть <Тип> или <Строка>, а получили <"+ ТипЗнч(ТипИлиИмяТипа) + ">" + ФорматДСО(ДопСообщениеОшибки); - КонецЕсли; - Если ТипЗнч(значение) <> искомыйТип Тогда - ВызватьИсключение "Типом значения <"+значение+"> является <"+ТипЗнч(значение)+">, а ожидался тип <"+ТипИлиИмяТипа+">."+ФорматДСО(ДопСообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -//////////////////////////////////////////////////////////////////////////////// -// ВНЕШНЕЕ API - -&НаКлиенте -Процедура LoadAllTests() - Объект.ДеревоТестов.ПолучитьЭлементы().Очистить(); - - Для каждого ЭлементСписка Из Пути Цикл - #Если Клиент Тогда - ОбработкаПрерыванияПользователя(); - #КонецЕсли - - Файл = Новый Файл(ЭлементСписка.Значение); - Если Файл.Существует() Тогда - ЗагрузитьТесты(Объект.ДеревоТестов, Файл); - Иначе - ВывестиОшибку(НСтр("en = 'File or directory does not exist ""'; ru = 'Файл или каталог не существует ""'") + - ЭлементСписка.Значение + """"); - КонецЕсли; - КонецЦикла; - - ПосчитатьКоличествоТестовыхСлучаевПоВсемуДеревуТестов(Объект.ДеревоТестов); -КонецПроцедуры - -&НаКлиенте -Функция RunAllTests() Экспорт - мОбъектUTR = Неопределено; - _ВыполнитьВыбранныеТесты(Истина, Объект.ДеревоТестов.ПолучитьЭлементы()); //ВыполнитьТесты(Объект.ДеревоТестов.ПолучитьЭлементы()); -КонецФункции - -////////////////////////////////////////////////////////////// -// РАБОТА С ТЕСТАМИ - -&НаКлиенте -Процедура ЗагрузитьТесты(РодительскаяСтрока, ОбъектФайл) -//Сообщить("ОбъектФайл.ПолноеИмя = <"+?(ОбъектФайл.ПолноеИмя = Неопределено, "Неопределено", ОбъектФайл.ПолноеИмя)+">"); - Если ОбъектФайл.ЭтоКаталог() Тогда - СтрокаКаталога = ДобавитьСтрокуДереваТестов(РодительскаяСтрока, ОбъектФайл.Имя, ОбъектФайл.ПолноеИмя, Неопределено, Неопределено, ЗначенияТиповСтроки.КаталогТестов); - - НайденныеФайлы = НайтиФайлы(ОбъектФайл.ПолноеИмя, "*", Ложь); - Для каждого Файл из НайденныеФайлы Цикл - #Если Клиент Тогда - ОбработкаПрерыванияПользователя(); - #КонецЕсли -//Сообщить("Файл.ПолноеИмя = <"+?(Файл.ПолноеИмя = Неопределено, "Неопределено", Файл.ПолноеИмя)+">"); - Если Файл.ЭтоКаталог() Тогда - ЗагрузитьТесты(СтрокаКаталога, Файл); - ИначеЕсли НРег(Файл.Расширение) = ".epf" Тогда //И НРег(Лев(Файл.Имя, 4)) = "тест" Тогда - СтрокаТеста = ДобавитьТест(СтрокаКаталога, Файл); - Если СтрокаТеста <> Неопределено И СтрокаТеста.ТестовыйСлучайОбъектМетаданныхИмя <> Неопределено Тогда - //#Если ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда - //ДобавитьТестТолстыйКлиент(СтрокаТеста.ПолучитьИдентификатор(), Файл); - //#Иначе - ДобавитьТестНаСервере(СтрокаТеста.ПолучитьИдентификатор(), СтрокаТеста.ТестовыйСлучайОбъектМетаданныхИмя); - //#КонецЕсли - КонецЕсли; - - УдалитьПустуюСтрокуДерева(СтрокаТеста, СтрокаКаталога); - //Если СтрокаТеста <> Неопределено И СтрокаТеста.ПолучитьЭлементы().Количество() = 0 Тогда - // лРодитель = СтрокаТеста.ПолучитьРодителя(); - // Если лРодитель <> Неопределено Тогда - // СтрокаТеста.ПолучитьРодителя().ПолучитьЭлементы().Удалить(СтрокаТеста); - // Иначе - // Объект.ДеревоТестов.ПолучитьЭлементы().Удалить(СтрокаТеста); - // КонецЕсли; - //КонецЕсли; - КонецЕсли; - КонецЦикла; - - //Если СтрокаКаталога.ПолучитьЭлементы().Количество() = 0 Тогда - // лРодитель = СтрокаКаталога.ПолучитьРодителя(); - // Если лРодитель <> Неопределено Тогда - // СтрокаКаталога.ПолучитьРодителя().ПолучитьЭлементы().Удалить(СтрокаКаталога); - // Иначе - // Объект.ДеревоТестов.ПолучитьЭлементы().Удалить(СтрокаКаталога); - // КонецЕсли; - //КонецЕсли; - СтрокаТеста = СтрокаКаталога; - Иначе - СтрокаТеста = ДобавитьТест(РодительскаяСтрока, ОбъектФайл); - //Если СтрокаТеста = "НЕТ_ФОРМЫ" ИЛИ (СтрокаТеста <> Неопределено И СтрокаТеста.ТестовыйСлучайОбъектМетаданныхИмя <> Неопределено) Тогда - Если СтрокаТеста <> Неопределено И СтрокаТеста.ТестовыйСлучайОбъектМетаданныхИмя <> Неопределено Тогда - //#Если ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда - //ДобавитьТестТолстыйКлиент(СтрокаТеста.ПолучитьИдентификатор(), ОбъектФайл); - //#Иначе - ДобавитьТестНаСервере(СтрокаТеста.ПолучитьИдентификатор(), СтрокаТеста.ТестовыйСлучайОбъектМетаданныхИмя); - //#КонецЕсли - КонецЕсли; - КонецЕсли; - - УдалитьПустуюСтрокуДерева(СтрокаТеста, РодительскаяСтрока); - - //Если СтрокаТеста <> Неопределено И СтрокаТеста.ПолучитьЭлементы().Количество() = 0 Тогда - // лРодитель = СтрокаТеста.ПолучитьРодителя(); - // Если лРодитель <> Неопределено Тогда - // СтрокаТеста.ПолучитьРодителя().ПолучитьЭлементы().Удалить(СтрокаТеста); - // Иначе - // Объект.ДеревоТестов.ПолучитьЭлементы().Удалить(СтрокаТеста); - // КонецЕсли; - //КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура УдалитьПустуюСтрокуДерева(СтрокаТеста, РодительскаяСтрока) - //Возврат; // АРТУР TODO ВЕРНУТЬ КОД !! - Если СтрокаТеста <> Неопределено И СтрокаТеста.ПолучитьЭлементы().Количество() = 0 Тогда - //лРодитель = СтрокаТеста.ПолучитьРодителя(); - //Если лРодитель <> Неопределено Тогда - Если РодительскаяСтрока <> Неопределено Тогда - РодительскаяСтрока.ПолучитьЭлементы().Удалить(СтрокаТеста); - Иначе - Объект.ДеревоТестов.ПолучитьЭлементы().Удалить(СтрокаТеста); - КонецЕсли; - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Функция ДобавитьСтрокуДереваТестов(РодительскаяСтрока, - Имя, - ПутьКФайлу, - ТестовыйСлучайОбъектМетаданныхИмя = Неопределено, - ТестовыйСлучайОбъект = Неопределено, - ТипСтроки = 0, - ПараметрыТеста = Неопределено, - Состояние = 0, - МодульИлиФорма = 0, - ИмяОсновнойУправляемойФормы = "") - НоваяСтрока = РодительскаяСтрока.ПолучитьЭлементы().Добавить(); - НоваяСтрока.Имя = Имя; - НоваяСтрока.ПолныйПуть = ПутьКФайлу; - //НоваяСтрока.ПредставлениеПути = СтрЗаменить(НоваяСтрока.ПолныйПуть, РодительскаяСтрока.ПолныйПуть, "..."); - НоваяСтрока.ТипСтроки = ТипСтроки; - НоваяСтрока.Состояние = Состояние; - НоваяСтрока.ТестовыйСлучайОбъектМетаданныхИмя = ТестовыйСлучайОбъектМетаданныхИмя; - НоваяСтрока._GUID = Строка(Новый УникальныйИдентификатор()); - НоваяСтрока.МодульИлиФорма = МодульИлиФорма; - НоваяСтрока.ИмяОсновнойУправляемойФормы = ИмяОсновнойУправляемойФормы; - - НоваяСтрока.ЕстьПараметрыТеста = Ложь; - НоваяСтрока.ИмяТестовогоСлучая = Имя; - - //Если НуженСписокЗначений И ПараметрыТеста <> Неопределено Тогда - Если ПараметрыТеста <> Неопределено Тогда - СЗ = Новый СписокЗначений(); - СЗ.Добавить(ПараметрыТеста); - НоваяСтрока.ПараметрыТеста = СЗ; - НоваяСтрока.ЕстьПараметрыТеста = Истина; - - описаниеПараметра = "<пусто>"; - Если ПараметрыТеста.Свойство("Параметр") Тогда - описаниеПараметра = "" + ПараметрыТеста.Параметр; - КонецЕсли; - - НоваяСтрока.Имя = НоваяСтрока.Имя + " ( " + описаниеПараметра + " )"; - //Иначе - // НоваяСтрока.ПараметрыТеста = ПараметрыТеста; - // Если ПараметрыТеста <> Неопределено Тогда - // НоваяСтрока.Имя = НоваяСтрока.Имя + " ( " + ПараметрыТеста.Параметр + " )"; - // НоваяСтрока.ЕстьПараметрыТеста = Истина; - // КонецЕсли; - // - КонецЕсли; - - //ОповеститьОСобытии("TestLoaded", НоваяСтрока); - - Возврат НоваяСтрока; -КонецФункции - -&НаКлиенте -Функция ПосчитатьКоличествоТестовыхСлучаевПоВсемуДеревуТестов(РодительскаяСтрока) - коллекцияСтрок = РодительскаяСтрока.ПолучитьЭлементы(); - Если коллекцияСтрок.Количество() = 0 Тогда - Возврат 1; // строка теста - КонецЕсли; - количествоТестов = 0; - Для каждого СтрокаДерева из коллекцияСтрок Цикл - лКоличество = ПосчитатьКоличествоТестовыхСлучаевПоВсемуДеревуТестов(СтрокаДерева); - СтрокаДерева.КоличествоТестов = лКоличество; - количествоТестов = количествоТестов + лКоличество; - КонецЦикла; - Возврат количествоТестов; -КонецФункции - -&НаСервере -Функция ПолучитьИмяОсновнойУправляемойФормы(имОбработки) - лМетаданные = ВнешниеОбработки.Создать(имОбработки).Метаданные(); - метаФорма = лМетаданные.ОсновнаяФорма; - Если метаФорма = Неопределено Тогда - метаФорма = лМетаданные.ДополнительнаяФорма; - Если метаФорма = Неопределено Тогда - Возврат ""; - КонецЕсли; - КонецЕсли; - Если метаФорма.ТипФормы = Метаданные.СвойстваОбъектов.ТипФормы.Управляемая Тогда - Возврат метаФорма.Имя; - КонецЕсли; - Возврат ""; -КонецФункции - -&НаСервереБезКонтекста -Функция ПодключитьВнешнююОбработку(АдресХранилища, ТестовыйСлучайОбъектМетаданныхИмя) - Возврат ВнешниеОбработки.Подключить(АдресХранилища, ТестовыйСлучайОбъектМетаданныхИмя, Ложь); // подключаю не в безопасном режиме -КонецФункции - -&НаКлиенте -Функция ПолучитьТестОбъект(ТестовыйСлучайОбъектМетаданныхИмя, имяОсновнойУправляемойФормы) - Попытка - Возврат ПолучитьФорму("ВнешняяОбработка." + ТестовыйСлучайОбъектМетаданныхИмя + ".Форма." + имяОсновнойУправляемойФормы); - //Возврат ПолучитьФорму("ВнешняяОбработка." + ТестовыйСлучайОбъектМетаданныхИмя + ".Форма.Форма"); - Исключение - Возврат Неопределено; - КонецПопытки; -КонецФункции - -&НаКлиенте -Функция СоздатьТестОбъектМетаданных(ПолныйПутьФайлаОбработки, ТестовыйСлучайОбъектМетаданныхИмя) - АдресХранилища = ""; - ПоместитьФайл(АдресХранилища, ПолныйПутьФайлаОбработки,, Ложь); - Возврат ПодключитьВнешнююОбработку(АдресХранилища, ТестовыйСлучайОбъектМетаданныхИмя); -КонецФункции - -&НаКлиенте -Функция ДобавитьТест(РодительскаяСтрока, ФайлТестовогоСлучая) - Перем ТестовыйСлучайОбъект; // специально локальная переменная для исключения циклических ссылок - - полныйПуть = ФайлТестовогоСлучая.ПолноеИмя; - ТестовыйСлучайОбъектМетаданныхИмя = Строка(Новый УникальныйИдентификатор()); - Попытка - лИмяОбработки = СоздатьТестОбъектМетаданных(полныйПуть, ТестовыйСлучайОбъектМетаданныхИмя); - - ИмяОсновнойУправляемойФормы = ПолучитьИмяОсновнойУправляемойФормы(лИмяОбработки); - Если ИмяОсновнойУправляемойФормы = "" Тогда - //Возврат "НЕТ_ФОРМЫ"; // ВОзврат Неопределено; - Иначе - ТестовыйСлучайОбъект = ПолучитьТестОбъект(ТестовыйСлучайОбъектМетаданныхИмя, ИмяОсновнойУправляемойФормы); - КонецЕсли; - - //ТестовыйСлучайОбъект = ПолучитьТестОбъект(ТестовыйСлучайОбъектМетаданныхИмя, ИмяОсновнойУправляемойФормы); - Исключение - ВывестиОшибку("Тест не загружен: " + полныйПуть + "Ошибка: " + ОписаниеОшибки()); - - Возврат Неопределено; - КонецПопытки; - - СтрокаТеста = ДобавитьСтрокуДереваТестов(РодительскаяСтрока, - ФайлТестовогоСлучая.ИмяБезРасширения, - полныйПуть, - ТестовыйСлучайОбъектМетаданныхИмя,, - ЗначенияТиповСтроки.ТестовыйСлучай); - - Если ТестовыйСлучайОбъект <> Неопределено Тогда - МассивТестовыхМетодов = ПолучитьТестовыеСлучаи(ТестовыйСлучайОбъект, полныйПуть); - Если МассивТестовыхМетодов <> Неопределено Тогда - - Для каждого ТестовыйМетод из МассивТестовыхМетодов Цикл - #Если Клиент Тогда - ОбработкаПрерыванияПользователя(); - #КонецЕсли - - Если ТипЗнч(ТестовыйМетод) = Тип("Строка") Тогда - имяТестовогоМетода = ТестовыйМетод; - параметрыТеста = Неопределено; - Иначе - имяТестовогоМетода = ТестовыйМетод.ИмяТеста; - параметрыТеста = ТестовыйМетод; - КонецЕсли; - - ДобавитьСтрокуДереваТестов(СтрокаТеста, - имяТестовогоМетода, //ТестовыйМетод, - полныйПуть, - ТестовыйСлучайОбъектМетаданныхИмя,, - ЗначенияТиповСтроки.ТестовыйМетод, - параметрыТеста,, - ЗначениеМодульИлиФорма.Форма); - КонецЦикла; - КонецЕсли; - КонецЕсли; - - Возврат СтрокаТеста; -КонецФункции - - //#Если ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда - //&НаКлиенте - //Процедура ДобавитьТестТолстыйКлиент(ИдентификаторРодительскойСтроки, Файл) - // //ОбъектUTR = ВнешниеОбработки.Создать(ИспользуемоеИмяФайла(), Ложь); // подключаю не в безопасном режиме - // ОбъектUTR = ПолучитьОбъектUTR(); - - // СтрокаДЗ = Объект.ДеревоТестов.НайтиПоИдентификатору(ИдентификаторРодительскойСтроки); - // ДобавитьТест(СтрокаДЗ, Файл); - // //ОбъектUTR.ДобавитьТест(СтрокаДЗ, Файл,, Ложь, Истина); - //КонецПроцедуры - //#КонецЕсли - -&НаСервере -Функция ИспользуемоеИмяФайла() - Возврат РеквизитФормыВЗначение("Объект").ИспользуемоеИмяФайла; -КонецФункции - -&НаСервере -Процедура ДобавитьТестНаСервере(ИдентификаторРодительскойСтроки, ТестовыйСлучайОбъектМетаданныхИмя) - ОбъектUTR = РеквизитФормыВЗначение("Объект"); - СтрокаДЗ = Объект.ДеревоТестов.НайтиПоИдентификатору(ИдентификаторРодительскойСтроки); - ОбъектUTR.ДобавитьТест(СтрокаДЗ, Новый Файл(СтрокаДЗ.ПолныйПуть), ТестовыйСлучайОбъектМетаданныхИмя, Ложь, Истина); -КонецПроцедуры - -&НаКлиенте -Функция ПолучитьТестовыеСлучаи(ТестовыйСлучайОбъект, ТестовыйСлучайИмяФайла) - Попытка - МассивТестовыхМетодов = ТестовыйСлучайОбъект.ПолучитьСписокТестов(ЭтаФорма); - Исключение - //Если выводитьОшибку Тогда - текстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()) ; //Ошибка.Описание + ". " + Ошибка.Причина.Описание + ". Номер строки: " + Ошибка.НомерСтроки; - - // TODO если не использовать переменную ниже, а поставить вызов метода в условие, то будет глюк - внутрь условия не попадаем ! - ЕстьОшибка_МетодОбъектаНеОбнаружен = ЕстьОшибка_МетодОбъектаНеОбнаружен(текстОшибки, "ПолучитьСписокТестов"); - Если НЕ ЕстьОшибка_МетодОбъектаНеОбнаружен Тогда - ВывестиОшибку("Тестовый случай не загружен: " + ТестовыйСлучайИмяФайла + " - | Ошибка получения списка тестовых случаев: " + ОписаниеОшибки()); - КонецЕсли; - - Возврат Неопределено; - КонецПопытки; - - Если ТипЗнч(МассивТестовыхМетодов) <> Тип("Массив") Тогда - ВывестиОшибку("Тест не загружен: " + ТестовыйСлучайИмяФайла + " - | Ошибка получения списка тестовых случаев: вместо массива - |имен тестовых случаев получен объект <" + Строка(ТипЗнч(МассивТестовыхМетодов)) + ">"); - - Возврат Неопределено; - КонецЕсли; - - Возврат МассивТестовыхМетодов; - - //Исключение - // Если выводитьОшибку Тогда - // ВывестиОшибку("Тестовый случай не загружен: " + ТестовыйСлучайИмяФайла + " - // | Ошибка получения списка тестовых случаев: " + ОписаниеОшибки()); - // КонецЕсли; - - // Возврат Неопределено; - //КонецПопытки; -КонецФункции - -&НаКлиенте -Функция _ВыполнитьВыбранныеТесты(ЭтоНаборТестов, СтрокиДереваТестов) - ПередВыполнениемТестов(); - - датаНачалаТестирования = ТекущаяДата(); - - Если ЭтоНаборТестов Тогда - СостояниеРезультат = _ВыполнитьТесты(СтрокиДереваТестов); - Иначе - СостояниеРезультат = ВыполнитьТестВЗависимостиОтВидаТеста_МодульИлиФорма(СтрокиДереваТестов, СписокОшибок); - //СостояниеРезультат = ВыполнитьТест(СтрокиДереваТестов); - КонецЕсли; - - табДок = ВывестиОтчетТестирования(датаНачалаТестирования); - - имяФайлаТестирования = "лог_тестирования"; - - Если табДок <> Неопределено Тогда - //ПроверитьТип(табДок, "ТабличныйДокумент", "табДок"); - - табДок.Показать("Отчет об автоматическом тестировании, 1CUnit v." + ВерсияСервер()); - - Если НЕ ПустаяСтрока(ПутьОтчетаТестирования) Тогда - - - Попытка - табДок.Записать(ПутьОтчетаТестирования + "\" + имяФайлаТестирования + ".xlsx", ТипФайлаТабличногоДокумента.XLSX); - Исключение - КонецПопытки; - - Попытка - табДок.Записать(ПутьОтчетаТестирования + "\" +имяФайлаТестирования + ".mxl", ТипФайлаТабличногоДокумента.MXL); - Исключение - КонецПопытки; - КонецЕсли; - Иначе - Если НЕ ПустаяСтрока(ПутьОтчетаТестирования) Тогда - Попытка - УдалитьФайлы(ПутьОтчетаТестирования + "\" + имяФайлаТестирования + ".xlsx"); - Исключение - КонецПопытки; - - Попытка - УдалитьФайлы(ПутьОтчетаТестирования + "\" + имяФайлаТестирования + ".mxl"); - Исключение - КонецПопытки; - КонецЕсли; - КонецЕсли; - - Возврат СостояниеРезультат; -КонецФункции - -&НаКлиенте -Функция ВыполнитьТестВЗависимостиОтВидаТеста_МодульИлиФорма(СтрокиДереваТестов, СписокОшибок) - - Если СтрокиДереваТестов.МодульИлиФорма = ЗначениеМодульИлиФорма.Форма Тогда - СостояниеРезультат = ВыполнитьТест(СтрокиДереваТестов); - Иначе - //#Если ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда - // - // НовоеСостояние = ВыполнитьТестТолстыйКлиент(СтрокиДереваТестов.ПолучитьИдентификатор()); - // - //#Иначе - - СостояниеРезультат = ВыполнитьТестНаСервере(СтрокиДереваТестов.ПолучитьИдентификатор(), СписокОшибок); - - //#КонецЕсли - КонецЕсли; - - Возврат СостояниеРезультат; - -КонецФункции - -&НаСервере -Процедура ПередВыполнениемТестов() - СписокОшибок = Новый СписокЗначений; - ВсегоТестов = 0; - //лОБъект = РеквизитФормыВЗначение("Объект"); - //лОБъект.ПередВыполнениемТестов(); - // ЗначениеВРеквизитФормы(лОБъект, "Объект"); -КонецПроцедуры - -&НаСервере -Функция ВывестиОтчетТестирования(датаНачалаТестирования, ТипОтчета = "") Экспорт -//Процедура ВывестиОтчетТестирования(СписокОшибок, ВсегоТестов, датаНачалаТестирования) Экспорт - //СписокОшибок = мСписокОшибок; - //ВсегоТестов = мВсегоТестов; - - КоличествоОшибок = СписокОшибок.Количество(); - Если КоличествоОшибок = 0 Тогда - Возврат Неопределено; - КонецЕсли; - - #Если Клиент Тогда - ОчиститьСообщения(); - #КонецЕсли - - ПрошлоВремени = ТекущаяДата() - датаНачалаТестирования; - - ТабДок = Новый ТабличныйДокумент; - макет = РеквизитФормыВЗначение("Объект").ПолучитьМакет("ОтчетТестирования"); - - Секция = макет.ПолучитьОбласть("Заголовок"); //"R1C1:R6C1"); - Секция.Параметры.ВсегоТестов = ВсегоТестов; - Секция.Параметры.КоличествоОшибок = СписокОшибок.Количество(); - Секция.Параметры.ПрошлоВремени = ПрошлоВремени; - Секция.Параметры.ПрошлоВремениСтрока = формат(Дата(1,1,1) + ПрошлоВремени, "ДЛФ=T"); - Секция.Параметры.ВремяВыполненияОдногоТеста = ?(ВсегоТестов = 0, "", Формат(ПрошлоВремени / ВсегоТестов * 1000, "ЧЦ=15; ЧДЦ=2")); - ТабДок.Вывести(Секция); - - ТабДок.НачатьАвтогруппировкуСтрок(); - - Для Каждого Ошибка Из СписокОшибок Цикл - #Если Клиент Тогда - ОбработкаПрерыванияПользователя(); - #КонецЕсли - - ВывестиОшибкуВМакет(ТабДок, макет, Ошибка.Значение); - КонецЦикла; - - ТабДок.ЗакончитьАвтогруппировкуСтрок(); - - ТабДок.ОтображатьСетку = Ложь; - ТабДок.Защита = Ложь; - ТабДок.ТолькоПросмотр = Ложь; - ТабДок.ОтображатьЗаголовки = Ложь; - //ТабДок.Показать("Отчет об автоматическом тестировании, 1CUnit v." + ВерсияСервер); - - Возврат ТабДок; - - //лОБъект = РеквизитФормыВЗначение("Объект"); - //табДок = лОБъект.ВывестиОтчетТестирования(датаНачалаТестирования); - // //РеквизитФормыВЗначение("Объект").ВывестиОтчетТестирования(мСписокОшибок, мВсегоТестов, датаНачалаТестирования); - //ЗначениеВРеквизитФормы(лОБъект, "Объект"); - - //Возврат табДок; -КонецФункции - -Процедура ВывестиОшибкуВМакет(ТабДок, макет, _Ошибка) - Секция = макет.ПолучитьОбласть("НаименованиеНабора"); - ЗаполнитьЗначенияСвойств(Секция.Параметры, _Ошибка); - ТабДок.Вывести(Секция, 1); - - Секция = макет.ПолучитьОбласть("НаименованиеТеста"); - ЗаполнитьЗначенияСвойств(Секция.Параметры, _Ошибка); - ТабДок.Вывести(Секция, 2); - - Если _Ошибка.ЕстьПараметрыТеста Тогда - Секция = макет.ПолучитьОбласть("ПараметрыТеста"); - ЗаполнитьЗначенияСвойств(Секция.Параметры, _Ошибка); - //Секция.Область("R4C1").Текст = "Параметр метода: "+_Ошибка.ПараметрыТеста; - ТабДок.Вывести(Секция, 2); - КонецЕсли; - - ИнфоОшибки = _Ошибка.ИнфоОшибки; - Пока ИнфоОшибки <> Неопределено Цикл - Секция = макет.ПолучитьОбласть("R1C1:R4C3"); - Секция.Область("R1C3").Текст = ИнфоОшибки.ИмяМодуля + ", строка № "+ИнфоОшибки.НомерСтроки; - Секция.Область("R2C3").Текст = ИнфоОшибки.ИсходнаяСтрока; - //Секция.Область("R3C3").Текст = ИнфоОшибки.НомерСтроки; - //Секция.Область("R4C3").Текст = ИнфоОшибки.Описание; - Секция.Область("R3C3").Текст = ИнфоОшибки.Описание; - - //Секция.Область("R5C3").Текст = ПодробноеПредставлениеОшибки(ИнфоОшибки); // Артур - лишнее описание ошибки - - ТабДок.Вывести(Секция, 3); - - ИнфоОшибки = ИнфоОшибки.Причина; - КонецЦикла; - -КонецПроцедуры - -&НаКлиенте -Функция _ВыполнитьТесты(СтрокиДереваТестов) Экспорт - СостояниеРезультат = ЗначенияСостоянияТестов.НеВыполнялся; - Для каждого СтрокаДереваТестов из СтрокиДереваТестов Цикл - #Если Клиент Тогда - ОбработкаПрерыванияПользователя(); - #КонецЕсли - - Если СтрокаДереваТестов.ТипСтроки = ЗначенияТиповСтроки.ТестовыйМетод Тогда - - ВсегоТестов = ВсегоТестов + 1; //Объект.мВсегоТестов = Объект.мВсегоТестов + 1; - - НовоеСостояние = ВыполнитьТестВЗависимостиОтВидаТеста_МодульИлиФорма(СтрокаДереваТестов, СписокОшибок); - //Если СтрокаДереваТестов.МодульИлиФорма = ЗначениеМодульИлиФорма.Форма Тогда - // НовоеСостояние = ВыполнитьТест(СтрокаДереваТестов); - //Иначе - // //#Если ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда - // // - // // НовоеСостояние = ВыполнитьТестТолстыйКлиент(СтрокаДереваТестов.ПолучитьИдентификатор()); - // // - // //#Иначе - // - // НовоеСостояние = ВыполнитьТестНаСервере(СтрокаДереваТестов.ПолучитьИдентификатор(), СписокОшибок); - // - // //#КонецЕсли - //КонецЕсли; - Иначе - НовоеСостояние = _ВыполнитьТесты(СтрокаДереваТестов.ПолучитьЭлементы()); - КонецЕсли; - - СтрокаДереваТестов.Состояние = НовоеСостояние; - ЗапомнитьСамоеХудшееСостояние(СостояниеРезультат, НовоеСостояние); - КонецЦикла; - - Возврат СостояниеРезультат; -КонецФункции - -&НаКлиенте -Функция ВыполнитьТест(СтрокаДереваТестов) Экспорт - Перем Тест; // специально локальная переменная для исключения циклических ссылок - - ИмяТестовогоМетода = СтрокаДереваТестов.ИмяТестовогоСлучая; //Имя; - ПолноеИмяТестовогоМетода = СтрокаДереваТестов.Имя; - - Если ПустаяСтрока(СтрокаДереваТестов.ТестовыйСлучайОбъектМетаданныхИмя) Тогда - Возврат ЗначенияСостоянияТестов.НеВыполнялся; - КонецЕсли; - - полныйПуть = СтрокаДереваТестов.ПолныйПуть; - Попытка - Тест = ПолучитьТестОбъект(СтрокаДереваТестов.ТестовыйСлучайОбъектМетаданныхИмя, СтрокаДереваТестов.ИмяОсновнойУправляемойФормы); - массивТестов = ПолучитьТестовыеСлучаи(Тест, полныйПуть); // возможно, что тест сохранит у себя ссылку на браузер - ПроверитьЗаполненность(массивТестов, "Не удалось получить тестовые случаи"); - Исключение - текстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()) ; - СостояниеВыполнения = ВывестиОшибкуВыполненияТеста(ПолноеИмяТестовогоМетода, текстОшибки, СтрокаДереваТестов, ОписаниеОшибки(), ИнформацияОбОшибке()); - - Тест = Неопределено; // для исключения циклических ссылок - - Возврат СостояниеВыполнения; - - КонецПопытки; - - СостояниеВыполнения = ЗначенияСостоянияТестов.НеВыполнялся; - - параметрыТеста = СтрокаДереваТестов.ПараметрыТеста; - естьПараметры = СтрокаДереваТестов.ЕстьПараметрыТеста; - - естьТранзакция = Ложь; - Если естьПараметры Тогда - естьТранзакция = ?(ТипЗнч(параметрыТеста) = Тип("Структура"), параметрыТеста, параметрыТеста[0].Значение).Свойство("Транзакция", естьТранзакция) - или ТипЗнч(естьТранзакция) = Тип("Булево") и естьТранзакция; - Если естьТранзакция Тогда - #Если ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда - НачатьТранзакцию(); - #КонецЕсли - КонецЕсли; - КонецЕсли; - - //TODO Если первый раз запуск setup оказался неуспешным, то при повторном прогоне без перезагрузки - // не выполнять, также не выполнять для следующих тестовых случаев. - лСостояниеВыполнения = ВыполнитьПроцедуруТестовогоСлучая(Тест, "ПередЗапускомТеста", ПолноеИмяТестовогоМетода, СтрокаДереваТестов); - Если лСостояниеВыполнения <> Неопределено Тогда - СостояниеВыполнения = лСостояниеВыполнения; - КонецЕсли; - Если СостояниеВыполнения = ЗначенияСостоянияТестов.Сломался Тогда - Возврат ЗначенияСостоянияТестов.Сломался; - КонецЕсли; - - переданПараметрТеста = Ложь; - параметрТеста = ""; - - Если естьПараметры Тогда - лПараметрыТеста = ?(ТипЗнч(параметрыТеста) = Тип("Структура"), параметрыТеста, параметрыТеста[0].Значение); - переданПараметрТеста = лПараметрыТеста.Свойство("Параметр", параметрТеста); - - Если переданПараметрТеста Тогда - строкаПараметров = "параметрТеста"; - КонецЕсли; - КонецЕсли; - - Попытка - - Выполнить("Тест." + ИмяТестовогоМетода + "(" + строкаПараметров + ");"); - - СостояниеВыполнения = ЗначенияСостоянияТестов.Прошел; - ОповеститьОСобытии("TestPassed", СтрокаДереваТестов); - Исключение - текстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()) ; //Ошибка.Описание + ". " + Ошибка.Причина.Описание + ". Номер строки: " + Ошибка.НомерСтроки; - - Если ЕстьОшибка_МетодОбъектаНеОбнаружен(текстОшибки, ИмяТестовогоМетода) Тогда - //Если Найти(текстОшибки, "Метод объекта не обнаружен ("+ИмяТестовогоМетода+")") > 0 Тогда - СостояниеВыполнения = ЗначенияСостоянияТестов.НеРеализован; - ОповеститьОСобытии("TestNotImplemented", СтрокаДереваТестов); - Иначе - СостояниеВыполнения = ВывестиОшибкуВыполненияТеста(ПолноеИмяТестовогоМетода, текстОшибки, СтрокаДереваТестов, ОписаниеОшибки(), ИнформацияОбОшибке()); - КонецЕсли; - КонецПопытки; - - лСостояниеВыполнения = ВыполнитьПроцедуруТестовогоСлучая(Тест, "ПослеЗапускаТеста", ПолноеИмяТестовогоМетода, СтрокаДереваТестов); - Если лСостояниеВыполнения <> Неопределено Тогда - СостояниеВыполнения = ЗапомнитьСамоеХудшееСостояние(СостояниеВыполнения, лСостояниеВыполнения); //СостояниеВыполнения = лСостояниеВыполнения; - КонецЕсли; - - Если естьТранзакция Тогда - #Если ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда - ОтменитьТранзакцию(); - #КонецЕсли - //ОтменитьТранзакцию_сервер(); - КонецЕсли; - - Тест = Неопределено; // для исключения циклических ссылок - - Возврат СостояниеВыполнения; -КонецФункции - -&НаКлиенте -Функция ВыполнитьПроцедуруТестовогоСлучая(Тест, ИмяПроцедуры, ИмяТестовогоСлучая, СтрокаДереваТестов) - СостояниеВыполнения = Неопределено; - - Попытка - Выполнить("Тест." + ИмяПроцедуры + "();"); - Исключение - Ошибка = ИнформацияОбОшибке(); - текстОшибки = ПодробноеПредставлениеОшибки(Ошибка) ; - - Если НЕ ЕстьОшибка_МетодОбъектаНеОбнаружен(текстОшибки, ИмяПроцедуры) Тогда - //Если Найти(текстОшибки, "Метод объекта не обнаружен (" + ИмяПроцедуры + ")") = 0 Тогда - СостояниеВыполнения = ВывестиОшибкуВыполненияТеста(ИмяТестовогоСлучая, текстОшибки, СтрокаДереваТестов, ОписаниеОшибки(), ИнформацияОбОшибке()); - КонецЕсли; - КонецПопытки; - - Возврат СостояниеВыполнения; - -КонецФункции - -&НаКлиенте -Функция ВывестиОшибкуВыполненияТеста(ПолноеИмяТестовогоМетода, текстОшибки, СтрокаДереваТестов, СообщениеОбОшибке, ИнфоОшибки) -Сообщить("текстОшибки = <"+?(текстОшибки = Неопределено, "Неопределено", текстОшибки)+">"); -Сообщить("СообщениеОбОшибке = <"+?(СообщениеОбОшибке = Неопределено, "Неопределено", СообщениеОбОшибке)+">"); - - СостояниеВыполнения = ЗначенияСостоянияТестов.Сломался; - - СтруктураОшибки = Новый Структура; - //СтруктураОшибки.Вставить("ИмяТестовогоСлучая", СтрокаДереваТестов.ПолучитьРодителя().Имя); - //СтруктураОшибки.Вставить("ИмяТестовогоМетода", ПолноеИмяТестовогоМетода); - //СтруктураОшибки.Вставить("Описание", текстОшибки); - - стИнфоОшибки = Новый Структура("ИмяМодуля,ИсходнаяСтрока,НомерСтроки,Описание"); //,Причина"); - ЗаполнитьЗначенияСвойств(стИнфоОшибки, ИнфоОшибки); - стИнфоОшибки.Вставить("Причина", Неопределено); - - стИнфоОшибкиЦикл = стИнфоОшибки; - ИнфоОшибки = ИнфоОшибки.Причина; - Пока ИнфоОшибки <> Неопределено Цикл // Артур TODO - стИнфоОшибкиЦикл.Причина = Новый Структура("ИмяМодуля,ИсходнаяСтрока,НомерСтроки,Описание");//,Причина"); - стИнфоОшибкиЦикл = стИнфоОшибкиЦикл.Причина; - ЗаполнитьЗначенияСвойств(стИнфоОшибкиЦикл, ИнфоОшибки); - стИнфоОшибкиЦикл.Вставить("Причина", Неопределено); - - //стИнфоОшибкиЦикл = стИнфоОшибкиЦикл.Причина; - ИнфоОшибки = ИнфоОшибки.Причина; - КонецЦикла; - - СтруктураОшибки.Вставить("ИмяТестовогоНабора", СтрокаДереваТестов.ПолучитьРодителя().Имя); - СтруктураОшибки.Вставить("ИмяТестовогоСлучая", ПолноеИмяТестовогоМетода); - //СтруктураОшибки.Вставить("ИмяТестовогоСлучая", СтрокаДереваТестов.ПолучитьРодителя().Имя); - //СтруктураОшибки.Вставить("ИмяТестовогоМетода", ПолноеИмяТестовогоМетода); - - СтруктураОшибки.Вставить("Описание", текстОшибки); - - СтруктураОшибки.Вставить("СообщениеОбОшибке", СообщениеОбОшибке); - СтруктураОшибки.Вставить("ИнфоОшибки", стИнфоОшибки); - СтруктураОшибки.Вставить("ЕстьПараметрыТеста", СтрокаДереваТестов.ЕстьПараметрыТеста); - СтруктураОшибки.Вставить("ПараметрыТеста", СтрокаДереваТестов.ПараметрыТеста); - СтруктураОшибки.Вставить("ПолныйПуть", СтрокаДереваТестов.ПолныйПуть); - - СписокОшибок.Добавить(СтруктураОшибки); //Объект.мСписокОшибок.Добавить(СтруктураОшибки); - - ВывестиОшибку(СтруктураОшибки); - - Попытка - ОповеститьОСобытии("TestFailed", СтрокаДереваТестов); - Исключение - КонецПопытки; - - Возврат СостояниеВыполнения; - -КонецФункции - - //#Если ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда - //&НаКлиенте - //Функция ВыполнитьТестТолстыйКлиент(ИдентификаторСтрокиТестовогоМетода) - // //Возврат ВнешниеОбработки.Создать(ИспользуемоеИмяФайла(), Ложь).ВыполнитьТест(Объект.ДеревоТестов.НайтиПоИдентификатору(ИдентификаторСтрокиТестовогоМетода));// подключаю не в безопасном режиме - // ОбъектUTR = ПолучитьОбъектUTR(); - // Возврат ОбъектUTR.ВыполнитьТест(Объект.ДеревоТестов.НайтиПоИдентификатору(ИдентификаторСтрокиТестовогоМетода));// подключаю не в безопасном режиме - //КонецФункции - //#КонецЕсли - -&НаСервере -Функция ВыполнитьТестНаСервере(ИдентификаторСтрокиТестовогоМетода, СписокОшибокРез) - Возврат РеквизитФормыВЗначение("Объект").ВыполнитьТест(Объект.ДеревоТестов.НайтиПоИдентификатору(ИдентификаторСтрокиТестовогоМетода), СписокОшибокРез); -КонецФункции - -&НаКлиенте -Функция ОповеститьОСобытии(ИмяСобытия, Аргумент1 = Неопределено) - Если MiddleMan <> Неопределено Тогда - Попытка - Выполнить("MiddleMan." + ИмяСобытия + "(Аргумент1);"); - Исключение - КонецПопытки; - КонецЕсли; -КонецФункции - -&НаКлиенте -Функция ЗапомнитьСамоеХудшееСостояние(ТекущееСостояние, НовоеСостояние) - ТекущееСостояние = Макс(ТекущееСостояние, НовоеСостояние); // TODO некоторый хак, который зависит от порядка заполнения в мЗначенияСостоянияТестов - Возврат ТекущееСостояние; -КонецФункции - -//////////////////////////////////////////////////////////////////////////////// -// СЛУЖЕБНЫЕ ЭКСПОРТНЫЕ ФУНКЦИИ - -&НаКлиенте -Функция ВывестиОшибку(Ошибка) Экспорт - ТипОбъектаОшибка = ТипЗнч(Ошибка); - - Если ТипОбъектаОшибка = Тип("Структура") Тогда - ВывестиСообщение("[" + Ошибка.ИмяТестовогоНабора + ": " + Ошибка.ИмяТестовогоСлучая + "] " + Ошибка.Описание, СтатусСообщения.Важное); - //ВывестиСообщение("[" + Ошибка.ИмяТестовогоСлучая + ": " + Ошибка.ИмяТестовогоМетода + "] " + Ошибка.Описание, СтатусСообщения.Важное); - ИначеЕсли ТипОбъектаОшибка = Тип("ИнформацияОбОшибке") Тогда - ВывестиСообщение(Ошибка.Описание, СтатусСообщения.Важное); - Иначе - ВывестиСообщение(Ошибка, СтатусСообщения.Важное); - КонецЕсли; -КонецФункции - -&НаКлиенте -Функция ВывестиСообщение(ТекстСообщения, Статус = Неопределено) Экспорт - Если MiddleMan <> Неопределено Тогда - MiddleMan.Message(ТекстСообщения); - Иначе - Сообщить(ТекстСообщения); - КонецЕсли; -КонецФункции - -&НаКлиенте -Функция SetHandlerObject(obj) Экспорт - MiddleMan = obj; -КонецФункции - -//////////////////////////////////////////////////////////////////////////////// -// ПРОЦЕДУРЫ И ФУНКЦИИ ОБЩЕГО НАЗНАЧЕНИЯ - -&НаКлиенте -Функция ФорматДСО(ДопСообщениеОшибки) - Если ДопСообщениеОшибки = "" Тогда - Возврат ""; - КонецЕсли; - - Возврат Символы.ПС + ДопСообщениеОшибки; -КонецФункции - -&НаКлиенте -Функция Новый_НаборТестов() Экспорт - Возврат Новый Массив; -КонецФункции - -&НаКлиенте -Функция НаборТестов_Добавить(НаборТестов, ИмяТестовогоСлучая, П1 = Неопределено, П2 = Неопределено, П3 = Неопределено, - П4 = Неопределено, П5 = Неопределено, П6 = Неопределено, П7 = Неопределено) Экспорт - НаборТестов.Добавить(ИмяТестовогоСлучая); - - Возврат НаборТестов; -КонецФункции - -Функция ЕстьОшибка_МетодОбъектаНеОбнаружен(текстОшибки, имяМетода) - Возврат Найти(текстОшибки, "Метод объекта не обнаружен ("+имяМетода+")") > 0; -КонецФункции - -////////////////////////////////////////////////////////////// -// ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ - -&НаСервере -Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) - лЭтотОбъект = РеквизитФормыВЗначение("Объект"); - ЭтаФорма.Заголовок = СокрЛП(лЭтотОбъект.Метаданные().Синоним) + ", версия " + лЭтотОбъект.Версия(); // специально ЭтотОбъект.Версия() для проверки Экспорта! - - Если ЗначениеЗаполнено(Параметры.Пути) Тогда - ПутиПараметр = Параметры.Пути; - КонецЕсли; - - //{ Состояния тестов - ВАЖЕН порядок заполнения в мЗначенияСостоянияТестов, используется в ЗапомнитьСамоеХудшееСостояние - ЗначенияСостоянияТестов = Новый Структура; - ЗначенияСостоянияТестов.Вставить("НеВыполнялся", 0); - ЗначенияСостоянияТестов.Вставить("Прошел", 1); - ЗначенияСостоянияТестов.Вставить("НеРеализован", 2); - ЗначенияСостоянияТестов.Вставить("Сломался", 3); - //} Состояния тестов - - //{ Типы строк дерева тестов - ЗначенияТиповСтроки = Новый Структура; - ЗначенияТиповСтроки.Вставить("КаталогТестов", 0); - ЗначенияТиповСтроки.Вставить("ТестовыйСлучай", 1); - ЗначенияТиповСтроки.Вставить("ТестовыйМетод", 2); - //} Типы строк дерева тестов - - ЗначениеМодульИлиФорма = Новый Структура(); - ЗначениеМодульИлиФорма.Вставить("Модуль", 1); - ЗначениеМодульИлиФорма.Вставить("Форма", 2); - - СоздатьКнопкуПерезагрузитьФормуНаКоманднойПанелиФормы("Перезагрузить браузер тестирования", Ложь); // блок кода для переоткрытия формы -КонецПроцедуры - -&НаКлиенте -Процедура ПриОткрытии(Отказ) - - Если ОбработатьПараметрыЗапуска() Тогда - Возврат; - КонецЕсли; - - //ВремПараметрЗапуска = ПараметрЗапуска; - //Если ЗначениеЗаполнено(ВремПараметрЗапуска) Тогда - // ПутиПараметр = ВремПараметрЗапуска; - //КонецЕсли; - - Если ЗначениеЗаполнено(ПутиПараметр) Тогда - мПути = Пути; - Пути = ПутиПараметр; - КонецЕсли; - - Если ЗначениеЗаполнено(Пути) Тогда - ОбновитьНадписьПути(); - - Попытка - LoadAllTests(); - Исключение - текстОшибки = ОписаниеОшибки(); - ВывестиСообщение("ОШИБКА загрузки тестов: "+текстОшибки); - КонецПопытки; - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Функция ОбработатьПараметрыЗапуска() - путьКТестам = ""; - естьКоманда_Загрузить = Ложь; - естьКоманда_ВыполнитьТестирование = Ложь; - лЗавершитьРаботуПослеТестирования = Ложь; - - параметрыЗапуска = ПолучитьМассивПараметровЗапуска(); - Если ЗначениеЗаполнено(ПараметрЗапуска) Тогда - лКомандаЗапуска = Нрег(ПараметрыЗапуска[0]); - //Сообщить("лКомандаЗапуска = <"+?(лКомандаЗапуска = Неопределено, "Неопределено", лКомандаЗапуска)+">"); - - естьКоманда_ВыполнитьТестирование = лКомандаЗапуска = НРег("Тесты_Команда_Тестировать") И ПараметрыЗапуска.Количество() > 1; - Если естьКоманда_ВыполнитьТестирование Тогда - путьКТестам = ПараметрыЗапуска[1]; - естьКоманда_Загрузить = Истина; - КонецЕсли; - - Если НЕ естьКоманда_ВыполнитьТестирование Тогда - естьКоманда_Загрузить = (лКомандаЗапуска = НРег("Тесты_Команда_Загрузить") И ПараметрыЗапуска.Количество() > 1); - Если естьКоманда_Загрузить Тогда - путьКТестам = ПараметрыЗапуска[1]; - КонецЕсли; - КонецЕсли; - - //Сообщить("путьКТестам = <"+?(путьКТестам = Неопределено, "Неопределено", путьКТестам)+">"); - - лЗавершитьРаботуПослеТестирования = естьКоманда_ВыполнитьТестирование И ПараметрыЗапуска.Количество() > 2 И НРег(ПараметрыЗапуска[2]) = НРег("ЗавершитьРаботуПослеТестирования"); - //Сообщить("лЗавершитьРаботуПослеТестирования = <"+?(лЗавершитьРаботуПослеТестирования = Неопределено, "Неопределено", лЗавершитьРаботуПослеТестирования)+">"); - - Если ЗначениеЗаполнено(путьКТестам) Тогда - ПутиПараметр.Добавить(путьКТестам); - КонецЕсли; - КонецЕсли; - - Если ЗначениеЗаполнено(ПутиПараметр) Тогда - мПути = Пути; - Пути = ПутиПараметр; - КонецЕсли; - - Если Не естьКоманда_Загрузить Тогда - Возврат Ложь; - КонецЕсли; - - Если НЕ ПустаяСтрока(путьКТестам) Тогда - файл = Новый Файл(путьКТестам); - Если файл.ЭтоКаталог() Тогда - ПутьОтчетаТестирования = путьКТестам + "\"; - Иначе - ПутьОтчетаТестирования = файл.Путь + "\"; - КонецЕсли; - КонецЕсли; - - ОбновитьНадписьПути(); - - Попытка - LoadAllTests(); - Исключение - текстОшибки = ОписаниеОшибки(); - ВывестиСообщение("ОШИБКА загрузки тестов: "+текстОшибки); - Если лЗавершитьРаботуПослеТестирования Тогда - ЗавершитьРаботуСистемы(Ложь); - Возврат Ложь; - КонецЕсли; - КонецПопытки; - - Если естьКоманда_ВыполнитьТестирование Тогда - Попытка - RunAllTests(); - Исключение - текстОшибки = ОписаниеОшибки(); - ВывестиСообщение("ОШИБКА выполнения тестов: "+текстОшибки); - Если лЗавершитьРаботуПослеТестирования Тогда - ЗавершитьРаботуСистемы(Ложь); - Возврат Ложь; - КонецЕсли; - КонецПопытки; - КонецЕсли; - - Если лЗавершитьРаботуПослеТестирования Тогда - ЗавершитьРаботуСистемы(Ложь); - КонецЕсли; - - Возврат Истина; -КонецФункции - -&НаКлиенте -Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка) - Если ЗначениеЗаполнено(ПутиПараметр) Тогда - Пути = мПути; - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура КомандаЗагрузитьТестовыйНабор(Команда) - Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога); - Диалог.МножественныйВыбор = Ложь; - Диалог.Заголовок = НСтр("en = 'Choose a folder with testcases'; ru = 'Выберите каталог с тестовыми случаями'"); - - Если Диалог.Выбрать() Тогда - Пути.Очистить(); - Пути.Добавить(Диалог.Каталог); - Иначе - Возврат; - КонецЕсли; - - ОбновитьНадписьПути(); - LoadAllTests(); - - Для каждого СтрокаДерева из Объект.ДеревоТестов.ПолучитьЭлементы() Цикл - Элементы.ДеревоТестов.Развернуть(СтрокаДерева.ПолучитьИдентификатор(), Истина); - КонецЦикла; -КонецПроцедуры - -&НаКлиенте -Процедура КомандаЗагрузитьТестовыеСлучаи(Команда) - Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); - Диалог.МножественныйВыбор = Истина; - Диалог.Фильтр = НСтр("en = 'External processing form files (*.epf)|*.epf'; ru = 'Файлы внешних обработок (*.epf)|*.epf'"); - Диалог.Заголовок = НСтр("en = 'Choose an external processing form file'; ru = 'Выберите файл с внешней обработкой'"); - - Если Диалог.Выбрать() Тогда - Пути.Очистить(); - Для каждого ПолноеИмяФайла Из Диалог.ВыбранныеФайлы Цикл - Пути.Добавить(ПолноеИмяФайла); - КонецЦикла; - Иначе - Возврат; - КонецЕсли; - - ОбновитьНадписьПути(); - LoadAllTests(); - - Для каждого СтрокаДерева из Объект.ДеревоТестов.ПолучитьЭлементы() Цикл - Элементы.ДеревоТестов.Развернуть(СтрокаДерева.ПолучитьИдентификатор(), Истина); - КонецЦикла; -КонецПроцедуры - -&НаКлиенте -Процедура КомандаПерезагрузитьВсеТесты(Команда) - LoadAllTests(); - - Для каждого СтрокаДерева из Объект.ДеревоТестов.ПолучитьЭлементы() Цикл - Элементы.ДеревоТестов.Развернуть(СтрокаДерева.ПолучитьИдентификатор(), Истина); - КонецЦикла; -КонецПроцедуры - -&НаКлиенте -Процедура КомандаВыполнитьВсеТесты(Команда) - ОчиститьСообщения(); - LoadAllTests(); - - Для каждого СтрокаДерева из Объект.ДеревоТестов.ПолучитьЭлементы() Цикл - Элементы.ДеревоТестов.Развернуть(СтрокаДерева.ПолучитьИдентификатор(), Истина); - КонецЦикла; - - RunAllTests(); -КонецПроцедуры - -&НаКлиенте -Процедура ОбновитьНадписьПути() - Если Пути.Количество() = 1 Тогда - ПутиНадпись = Пути[0].Значение; - Иначе - ПутиНадпись = ""; - КонечныйИндекс = Пути.Количество() - 1; - Для Индекс = 0 По КонечныйИндекс Цикл - Если Индекс = КонечныйИндекс Тогда - ПутиНадпись = ПутиНадпись + Пути[Индекс].Значение; - Иначе - ПутиНадпись = ПутиНадпись + Пути[Индекс].Значение + Символы.ПС; - КонецЕсли; - КонецЦикла; - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура КомандаВыполнитьТест(Команда) - ОчиститьСообщения(); - //ДанныеФормыВЗначение(Объект); - - лТекущиеДанные = Элементы.ДеревоТестов.ТекущиеДанные; // использую такое кеширование, т.к. после ВыполнитьТесты - - Если лТекущиеДанные.ТипСтроки = ЗначенияТиповСтроки.ТестовыйМетод Тогда - лТекущиеДанные.Состояние = _ВыполнитьВыбранныеТесты(Ложь, лТекущиеДанные); //ВыполнитьТест(лТекущиеДанные); - Иначе - лТекущиеДанные.Состояние = _ВыполнитьВыбранныеТесты(Истина, Элементы.ДеревоТестов.ТекущиеДанные.ПолучитьЭлементы()); //ВыполнитьТесты(Элементы.ДеревоТестов.ТекущиеДанные.ПолучитьЭлементы()); // падали здесь - КонецЕсли; - - ИзменитьСостояниеВыполненияРодителей(лТекущиеДанные); -КонецПроцедуры - -&НаКлиенте -Процедура ИзменитьСостояниеВыполненияРодителей(СтрокаДереваТестов) Экспорт - Если СтрокаДереваТестов.ПолучитьРодителя() = Неопределено Тогда - Возврат; - КонецЕсли; - - СтрокаРодителя = СтрокаДереваТестов.ПолучитьРодителя(); - ЗапомнитьСамоеХудшееСостояние(СтрокаРодителя.Состояние, СтрокаДереваТестов.Состояние); - ИзменитьСостояниеВыполненияРодителей(СтрокаРодителя); -КонецПроцедуры - - -&НаКлиенте -Функция ПолучитьМассивПараметровЗапуска() - - Если ПустаяСтрока(ПараметрЗапуска) Тогда - Возврат Неопределено; - КонецЕсли; - - // Параметр может состоять из частей, разделенных символом ";". - // Первая часть - главное значение параметра запуска. - // Наличие дополнительных частей определяется логикой обработки главного параметра. - ПараметрыЗапуска = РазложитьСтрокуВМассивПодстрокНаСервере(ПараметрЗапуска, ";"); - //ПервыйПараметр = Врег(ПараметрыЗапуска[0]); - - //Отказ = ОбщегоНазначенияКлиентПереопределяемый.ОбработатьПараметрыЗапуска( - // ПервыйПараметр, ПараметрыЗапуска) Или Отказ; - - Возврат ПараметрыЗапуска; - -КонецФункции - -&НаСервере -Функция РазложитьСтрокуВМассивПодстрокНаСервере(Строка = "", Разделитель = "", ПропускатьПустыеСтроки = Неопределено) - - Возврат РеквизитФормыВЗначение("Объект").РазложитьСтрокуВМассивПодстрок(Строка, Разделитель, ПропускатьПустыеСтроки); - -КонецФункции - -// { блок кода для переоткрытия формы - -&НаКлиенте -Процедура ПерезагрузитьФорму(Команда) - Перем ИмяРеквизита; - ИмяРеквизита = "__ИмяФайла1678"; - - путьФайла = ИмяФайлаВнешнейОбработки_ПерезагрузитьФорму(); - ПерезагрузитьФорму_НайтиИлиСоздатьРеквизитДляСохраненияПутиФайла(ИмяРеквизита); - - Если ПустаяСтрока(ЭтаФорма[ИмяРеквизита]) Тогда - ЭтаФорма[ИмяРеквизита] = путьФайла; - КонецЕсли; - - //Предупреждение("1 ЭтаФорма.__ИмяФайла = "+ЭтаФорма.__ИмяФайла); - //Предупреждение("2 ЭтаФорма.__ИмяФайла = "+ЭтаФорма.__ИмяФайла); - - АдресХранилища = ""; - Результат = ПоместитьФайл(АдресХранилища, ЭтаФорма[ИмяРеквизита], , Ложь); - ИмяОбработки = ПодключитьВнешнююОбработку_ПерезагрузитьФорму(АдресХранилища); - - //Закрыть(); - - НоваяФорма = ПолучитьФорму(ЭтаФорма.ИмяФормы,,,Истина); - - НоваяФорма.ПерезагрузитьФорму_НайтиИлиСоздатьРеквизитДляСохраненияПутиФайла(ИмяРеквизита); - - НоваяФорма[ИмяРеквизита] = ЭтаФорма[ИмяРеквизита]; - //Предупреждение("3 НоваяФорма.__ИмяФайла = "+НоваяФорма.__ИмяФайла); - - НоваяФорма.Открыть(); - Закрыть(); -КонецПроцедуры - -&НаСервере -Процедура СоздатьКнопкуПерезагрузитьФормуНаКоманднойПанелиФормы(заголовокКнопки = "Перезагрузить форму", ТолькоВоВсехДействиях = Истина) - //Добавляем новую команду - Кмд = ЭтаФорма.Команды.Добавить("ПерезагрузитьФорму_168733"); - Кмд.Действие = "ПерезагрузитьФорму"; - Кмд.Заголовок = заголовокКнопки; //"Перезагрузить форму"; - - лКоманднаяПанель = Элементы.Найти("ФормаКоманднаяПанель"); - нашлиКоманднуюПанель = лКоманднаяПанель <> Неопределено; - Если нашлиКоманднуюПанель Тогда - нашлиКоманднуюПанель = лКоманднаяПанель.Вид = ВидГруппыФормы.КоманднаяПанель; - КонецЕсли; - - лВладелецФормы = ?(нашлиКоманднуюПанель, лКоманднаяПанель, ЭтаФорма); - - //Добавляем новую кнопку - Элемент2 = ЭтаФорма.Элементы.Добавить("ПерезагрузитьФорму_168733", Тип("КнопкаФормы"), лВладелецФормы); - Элемент2.Вид = ВидКнопкиФормы.КнопкаКоманднойПанели; //ОбычнаяКнопка; - Элемент2.ИмяКоманды = Кмд.Имя; //"Команда1"; - Элемент2.ТолькоВоВсехДействиях = ТолькоВоВсехДействиях; -КонецПроцедуры - -&НаСервере -Процедура ПерезагрузитьФорму_НайтиИлиСоздатьРеквизитДляСохраненияПутиФайла(имяРеквизита) Экспорт - // Добавляем новый реквизит в форму. Попыт - // ка нужна для уже существующего реквизита - Попытка - ДобавляемыеРеквизиты = Новый Массив; - Реквизит = Новый РеквизитФормы(имяРеквизита, Новый ОписаниеТипов("Строка"), , "Введите строку", Истина); - ДобавляемыеРеквизиты.Добавить(Реквизит); - ИзменитьРеквизиты(ДобавляемыеРеквизиты); - Исключение - КонецПопытки; - -КонецПроцедуры - -&НаСервере -Функция ИмяФайлаВнешнейОбработки_ПерезагрузитьФорму() - Возврат РеквизитФормыВЗначение("Объект").ИспользуемоеИмяФайла; - //Возврат РеквизитФормыВЗначение("Объект").ЭтотОбъект.ИспользуемоеИмяФайла; -КонецФункции - -&НаСервере -Функция ПодключитьВнешнююОбработку_ПерезагрузитьФорму(АдресХранилища) - Возврат ВнешниеОбработки.Подключить(АдресХранилища, , Ложь); -КонецФункции - -//} - - //#Если ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда - //&НаКлиенте - //Функция ПолучитьОбъектUTR() - // Возврат Объект; //РеквизитФормыВЗначение("Объект"); - // - // Если мОбъектUTR = Неопределено Тогда - // мОбъектUTR = ВнешниеОбработки.Создать(ИспользуемоеИмяФайла(), Ложь); // подключаю не в безопасном режиме - // КонецЕсли; - // Возврат мОбъектUTR; - //КонецФункции - //#КонецЕсли - - //#Если ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда - //мОбъектUTR = Неопределено; - //#КонецЕсли diff --git "a/src/DataProcessor/UnitTestRunner/Form/\320\244\320\276\321\200\320\274\320\260.Form" "b/src/DataProcessor/UnitTestRunner/Form/\320\244\320\276\321\200\320\274\320\260.Form" deleted file mode 100644 index 74eb5773..00000000 Binary files "a/src/DataProcessor/UnitTestRunner/Form/\320\244\320\276\321\200\320\274\320\260.Form" and /dev/null differ diff --git "a/src/DataProcessor/UnitTestRunner/Form/\320\244\320\276\321\200\320\274\320\260.xml" "b/src/DataProcessor/UnitTestRunner/Form/\320\244\320\276\321\200\320\274\320\260.xml" deleted file mode 100644 index 2f4157b2..00000000 --- "a/src/DataProcessor/UnitTestRunner/Form/\320\244\320\276\321\200\320\274\320\260.xml" +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <Form uuid="e32aab1d-1bb0-4f45-ae2b-00012d7b636c"> - <Properties> - <Name>Форма</Name> - <Synonym> - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Форма</v8:content> - </v8:item> - </Synonym> - <Comment/> - <FormType>Ordinary</FormType> - <IncludeHelpInContents>false</IncludeHelpInContents> - <UsePurposes> - <v8:Value xsi:type="app:ApplicationUsePurpose">PersonalComputer</v8:Value> - <v8:Value xsi:type="app:ApplicationUsePurpose">MobileDevice</v8:Value> - </UsePurposes> - <ExtendedPresentation/> - </Properties> - </Form> -</MetaDataObject> \ No newline at end of file diff --git "a/src/DataProcessor/UnitTestRunner/Form/\320\244\320\276\321\200\320\274\320\260/form" "b/src/DataProcessor/UnitTestRunner/Form/\320\244\320\276\321\200\320\274\320\260/form" deleted file mode 100644 index 442c308f..00000000 --- "a/src/DataProcessor/UnitTestRunner/Form/\320\244\320\276\321\200\320\274\320\260/form" +++ /dev/null @@ -1,2866 +0,0 @@ -{27, -{16, -{ -{1,0},32,4294967295}, -{09ccdc77-ea1a-4a6d-ab1c-3435eada2433, -{1, -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},24,0,1, -{0,4,1},0,3, -{0,4,3}, -{0,11,3}, -{0,20,3},0,0, -{4,1, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0} -},0,1, -{1,2, -{4, -{1,1, -{"ru","Тестирование"} -}, -{4,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0} -},-1,1,1,"Тестирование",1, -{3,4, -{0} -}, -{3,4, -{0} -} -}, -{4, -{1,1, -{"ru","Настройки"} -}, -{4,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0} -},-1,1,1,"Настройки",1, -{3,4, -{0} -}, -{3,4, -{0} -} -} -},1,1,0,8, -{2,8,1,1,1,0,0,0,0}, -{2,8,0,1,2,0,0,0,0}, -{2,509,1,1,3,0,0,6,0}, -{2,544,0,1,4,0,0,8,0}, -{2,8,1,1,1,1,0,0,0}, -{2,8,0,1,2,1,0,0,0}, -{2,507,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} -}, -{11, -{09ccdc77-ea1a-4a6d-ab1c-3435eada2433,4, -{1, -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},24,0,2, -{0,5,1}, -{0,7,1},0,4, -{0,5,3}, -{0,7,3}, -{0,10,3}, -{0,36,3},0,0, -{4,1, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0} -},0,1, -{1,1, -{4, -{1,1, -{"#","Тесты"} -}, -{4,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0} -},-1,1,1,"Тесты",1, -{3,4, -{0} -}, -{3,4, -{0} -} -} -},1,1,0,4, -{2,6,1,1,1,0,0,0,0}, -{2,6,0,1,2,0,0,0,0}, -{2,494,1,1,3,0,0,5,0}, -{2,444,0,1,4,0,0,5,0},0,4294967295,5,64,0, -{3,4, -{0} -},0,0,57}, -{0} -}, -{8,8,70,507,519,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,1,-33}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,-8}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},0,1, -{0,11,0},0,0,0,0,0,0,5,0,0}, -{14,"ПанельТесты",4294967295,0,0,0}, -{9, -{ea83fe3a-ac3c-4cce-8045-3dddf35b28b1,5, -{5, -{"Pattern", -{"#",e603c0f2-92fb-4d47-8f38-a44a381cf235} -}, -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,1, -{-18},0,0,0}, -{1,0},0,0}, -{15,117644833, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-14} -}, -{3,3, -{-15} -}, -{3,3, -{-13} -},2,2,0,0,0,0,1,1,3, -{7,2,0, -{-20},1,100}, -{7,2,0, -{-20},1,100},0,2,0, -{6, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,0}, -{1,0}, -{1,0},25,0,-1,-1,-1,12590594, -{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} -}, -{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}, -{7,3,0,1,100},1,0,0,4,0,"ПиктограммаСостояния", -{},4,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,00000000-0000-0000-0000-000000000000}, -{-1}, -{-1}, -{-1} -},"ПиктограммаСостояния","","",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","Кол-во"} -}, -{1,0}, -{1,0},42,5,-1,-1,-1,12590592, -{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} -}, -{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}, -{7,3,0,1,100},1,0,0,4,0,"КоличествоТестов", -{},6,1, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdZBNDoIwEIV1a8Ilum6TzrTQzi1MjAdAZevCsCM9 -mQsP5MIrSGcAEQJtmL754X3lvd/x83m+OtLFoVPHum2bx12xOKlUHFI+yganISun -fQ52rC510E7bvhWsTf2BO1wOBnFrZq1lIiwTCL8M0xiI2aVfnAXNpv0LidMgxWHN -lRc4dVZpikr9NbGNFbJcM5A3DF5bpWl2jTVHqUIICOV4H74N1aHy7oYGqCHjywZN -jOQMRnu5ElBZU8h9fkVuhZ3/4PBFtgRBEYD0BQ==},0} -}, -{-1}, -{-1}, -{-1} -},"КоличествоТестов","","",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","Тест"} -}, -{1,0}, -{1,0},323.9999999999997,1,-1,-1,-1,12590595, -{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} -}, -{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}, -{7,3,0,1,100},1,0,0,4,0,"Имя", -{},47,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdZBNDoIwEIV1a8Ilum6TzrTQzi1MjAdAZevCsCM9 -mQsP5MIrSGcAEQJtmL754X3lvd/x83m+OtLFoVPHum2bx12xOKlUHFI+yganISun -fQ52rC510E7bvhWsTf2BO1wOBnFrZq1lIiwTCL8M0xiI2aVfnAXNpv0LidMgxWHN -lRc4dVZpikr9NbGNFbJcM5A3DF5bpWl2jTVHqUIICOV4H74N1aHy7oYGqCHjywZN -jOQMRnu5ElBZU8h9fkVuhZ3/4PBFtgRBEYD0BQ==},0} -}, -{-1}, -{-1}, -{-1} -},"Имя","","",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","Время выполнения"} -}, -{1,0}, -{1,0},34,2,-1,-1,-1,12589568, -{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} -}, -{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}, -{7,3,0,1,100},1,0,0,4,0,"ВремяВыполнения", -{},5,0, -{1,0}, -{"Pattern", -{"N",10,0,0} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdZBLDsIgEIZ126SXYA0JA7QwlzBuPEDVbl2Y7hpO -5sIjufACMkyL2qZAGP55MB+897s8Xo/niLKuRnHshqG/30QWByFByzRjXUXy8AIr -gZSVjkyJLrWXNhVDukPHdMgZlowyZqtmrbnCLx0Gvp5MoyBQF6IlCTI3TZtBdv9N -4J2FYzpxErFYIUqWnuE1o1FMAS2Ymm2FSu2a65el9d4baOYH5edg51tnr0YB9qhc -0xsVAlplgj5fELDp0FOeW5FrZs9fON2YWwKjMED8AA==},0} -}, -{-1}, -{-1}, -{-1} -},"ВремяВыполнения","","",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","Путь"} -}, -{1,0}, -{1,0},1e2,3,-1,-1,-1,12590592, -{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} -}, -{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}, -{7,3,0,1,100},1,0,0,4,0,"ПолныйПуть", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdZDBDoIwDIb1asJL7LwlazfY+hYmxgdA5erBcCN7 -Mg8+kAdfQdYCIgS20PVvy/+N937Hz+f56kgXh04d67ZtHnfFyUml4pDyUTY4DTlz -2udgx+oyD9pp27eCtak/cIfLwSBuzaxzmQhLAeGnMI2BmF36xSpoNu1fSCyDFIcF -M8ULnDqrNEWl/kbYxgpZrhnIGwavrdI0u8aao1QhBIRyvA/fhupQeXdDA9SQ8WWD -JkZyBqO9XAmorCnkPr8it8LOf3D4IluCoAhA+gI=},0} -}, -{-1}, -{-1}, -{-1} -},"ПолныйПуть","","",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","Состояние1"} -}, -{1,0}, -{1,0},1e2,4,-1,-1,-1,12589570, -{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} -}, -{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}, -{7,3,0,1,100},1,0,0,4,0,"Состояние1", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdZBNDoIwEIV1a8Ilum6TzrTQzi1MjAdAZevCsCM9 -mQsP5MIrSGcAEQJtmL754X3lvd/x83m+OtLFoVPHum2bx12xOKlUHFI+yganISun -fQ52rC510E7bvhWsTf2BO1wOBnFrZq1lIiwTCL8M0xiI2aVfnAXNpv0LidMgxWHN -lRc4dVZpikr9NbGNFbJcM5A3DF5bpWl2jTVHqUIICOV4H74N1aHy7oYGqCHjywZN -jOQMRnu5ElBZU8h9fkVuhZ3/4PBFtgRBEYD0BQ==},0} -}, -{-1}, -{-1}, -{-1} -},"Состояние","","",0} -} -},0,0,0,0} -}, -{9ab3fa70-d2e0-4e44-baac-730682272ed2, -{4,1,0, -{0} -} -}, -{2, -{35,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} -} -} -}, -{47,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} -} -} -} -} -}, -{8,8,6,494,444,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,1,-5}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,-5}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},0,0,0,0,0,0,0,0,1,0,0}, -{14,"тпДеревоТестов",4294967295,0,0,0}, -{0} -}, -{151ef23e-6bb2-4681-83d0-35bc2217230c,6, -{1, -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},17,0,0, -{4,0, -{3,3, -{0},"",-1,-1,0, -{ -{#base64:iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2Fy -ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAOVJREFUeNpi/P//PwMlgImBQjDwBrBg -E2RkZGTw7mGY/vcfQ8Y/YBAxMTIwMDMxzNhawpCJHmZYDQBplhAWyAixTmFgY2Fj -+PXnF8Oao3MyvHs+gKQzCXrhH9DmQOswhutvVjGcfjoHTIP4IHGivABy5dOv+xk+ -/nrE8P8fA8P3vxA+thjHagDIzx9+3Gbg5mAAG8DIBOGDxImKhZ8fGdZevsLAwMbG -wMDNDaFBfJA4RoBjS4nAWJBzrmboY+dnCAZJAyMFrHlvK0MRUP0jYgwAUXJALIok -/BqIH6GrZxzNCwwAAQYAmYBgqbPtsJQAAAAASUVORK5CYII=} -},0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0} -}, -{0,0,0},1,1,0,0, -{1,0},0}, -{0} -}, -{8,12,351,47,381,0, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,6,0,30}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,6,2,35}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},2, -{0,10,1}, -{0,6,1},0,2, -{0,10,3}, -{0,6,3},0,0,0,0,1,5,0,0}, -{14,"ПолеКартинкиЗеленый",4294967295,0,0,0}, -{0} -}, -{151ef23e-6bb2-4681-83d0-35bc2217230c,7, -{1, -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},17,0,0, -{4,0, -{3,3, -{0},"",-1,-1,0, -{ -{#base64:iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2Fy -ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAOJJREFUeNpi/P//PwMlgImBQjDwBrBg -E2RkZGT4f1BnOsP/vxkMDKAwYgQi5hmM9lcy0cMMqwH/D+pOZ2AVyWAQCwVqZAMK -/GJgeLk6AygOks5EsQxrLBzU/s8gm83A8OEsA8M/oGYmoCECxgwMj6cyMNhfZSTo -AjD49QBo/BcGBmYwB8InNgwgfv7MwMAlzAAPA4bPUJqIWHj46u9aho/XGBg4eCGG -gGggHyyObhW2MADGgtyDVRp98mLMwQwgeWCsgDQrhN0oAqp/RIwBIEoOiEWRhF8D -8SN09YyjeYEBIMAAwiFTQmfMeAkAAAAASUVORK5CYII=} -},0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0} -}, -{0,0,0},1,1,0,0, -{1,0},0}, -{0} -}, -{8,51,351,86,381,0, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,7,0,30}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,7,2,35}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},2, -{0,11,1}, -{0,7,1},0,2, -{0,11,3}, -{0,7,3},0,0,0,0,2,6,0,0}, -{14,"ПолеКартинкиЖелтый",4294967295,0,0,0}, -{0} -}, -{151ef23e-6bb2-4681-83d0-35bc2217230c,8, -{1, -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},17,0,0, -{4,0, -{3,3, -{0},"",-1,-1,0, -{ -{#base64:iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2Fy -ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAOVJREFUeNpi/P//PwMlgImBQjDwBrBg -E2RkZGQ462M6/f/fvxmgMALxGZmZZxhvOZ2JHmZYDQBp5hMUyFD09GZgZmNl+Pvr -N8P97VsygOIg6UyCXvj/71+Gkoc3w7/Lpxh+HT8AppU8fMDiRHkB5Eimx3cZ/n35 -DPHSrx9g/n9iw4CBEeiwL58YWPiFGf4B/cwEDAMQHyxOTCy8/Plr7a17jxkYePgZ -mARFwDSIDxLHsAtbSgSGutwWF/0+cXbWYFgsvPz5e63PnotFQP4jYgwAUXJALIok -/BqIH6GrZxzNCwwAAQYA62pmkhKpjr0AAAAASUVORK5CYII=} -},0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0} -}, -{0,0,0},1,1,0,0, -{1,0},0}, -{0} -}, -{8,89,351,124,381,0, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,8,0,30}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,8,2,35}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},2, -{0,12,1}, -{0,8,1},0,2, -{0,12,3}, -{0,8,3},0,0,0,0,3,7,0,0}, -{14,"ПолеКартинкиКрасный",4294967295,0,0,0}, -{0} -}, -{151ef23e-6bb2-4681-83d0-35bc2217230c,9, -{1, -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},17,0,0, -{4,0, -{3,3, -{0},"",-1,-1,0, -{ -{#base64:iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2Fy -ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAMpJREFUeNrkUzEOwjAMtBElRS0jK1vy -tvZF7SPgDX1H0w2pLIw0U4qMHVQJlQ6ROjBgyYp8sS/2WUEigjW2gZX2e4LtEoiI -YK2tgKgQhfAN1saYcq4ZLonYdV3FRcU+y6QQmAicc0JUa63LCAJLWX6AgYvkXjrK -mcwND9DaYJQG3o/8srSP4QxxrAaTqTQN7U9jRG+h72+X5+hhlySglAqnxIJ/JcuM -c2c7NU1zbtuWJpdY8HnuoogimiSzHz/gO/s1ao1/9hdeAgwAAwJ6cFkNW6kAAAAA -SUVORK5CYII=} -},0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0} -}, -{0,0,0},1,1,0,0, -{1,0},0}, -{0} -}, -{8,129,351,164,381,0, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,9,0,30}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,9,2,35}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},2, -{0,13,1}, -{0,9,1},0,2, -{0,13,3}, -{0,9,3},0,0,0,0,4,8,0,0}, -{14,"ПолеКартинкиСерый",4294967295,0,0,0}, -{0} -}, -{e69bf21d-97b2-4f37-86db-675aea9ec2cb,10, -{2, -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},9,2,0,0,1,1, -{5,d4746b64-45af-49b5-a280-c2206705887b,4,1,2, -{6,9cdee17c-88a5-49c7-94ca-bc41d557c336,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,ff6c139e-ca68-4c7f-85a4-602320d10b7b,1,e1692cc2-605b-4535-84dd-28440238746c, -{3,"КнопкаВыполнитьВыделенныйНажатие", -{1,"КнопкаВыполнитьВыделенныйНажатие", -{1,1, -{"#","Кнопка выполнить выделенный нажатие"} -}, -{1,1, -{"#","Кнопка выполнить выделенный нажатие"} -}, -{1,1, -{"#","Кнопка выполнить выделенный нажатие"} -}, -{3,0, -{0},"",-1,-1,1,0}, -{0,0,0} -} -},1, -{3,3, -{0},"",-1,-1,0, -{ -{#base64:iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAAL -EwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj33 -3vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEs -DIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIe -EeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH -/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAn -f+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJ -V2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4 -mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHg -g/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl -7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/A -V/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5 -WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQ -WHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAA -RKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv -1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4 -IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGy -UT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPE -bDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM -WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPE -NyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD -5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2h -tlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0 -dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHK -CpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2ep -O6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN -2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIp -G6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3n -U9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36 -p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYP -jGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLn -m+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cR -p7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0H -DYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dn -F2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofc -n8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh -7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJ -gUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p -DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85 -ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7 -F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/R -NtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9 -MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo -1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5 -sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWF -fevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTP -ZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJ -zs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ -+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3v -dy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtb -Ylu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ7 -52PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7 -nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9 -zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9D -BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfy -l5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT -0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq -YAAAOpgAABdvkl/FRgAAA2xJREFUeNrsl91Pm1Ucxz99edryPO06YEV5F1FYMo1G -shnizcxiFhJvuDGk88pd+3btX6C3M3oxE4kzC5oY4gJZtiWEcDHADqaDrUBpoaXd -uq6lBUtp+zznPN70Zsl4K9NdyLk9yfl+8vud3/d8j8U0TV7ksvKC1xHAEYB9t82e -nh47oAE1wDawBRjVis3MzBwMANB6/dFP61oKA6mw+1rgt9YrwGNg8zAgBwGo9TZu -f/zhu590B9tunzrxavDCekwdnv6l/TKQBDavXj+t7yXi7wtUDaA6PXq3UxH0dvbz -Vmup7cHDic9r2+4MZOPqyOxwy/f+vsAakAP0q9dPm8+7AjYhoCyylMUmDlsd77Sf -443m919afDR9seH18YupZW3o/s3GS/m0M+LvC2SB8kFA9gLAECBNkGYZQyYp6hkc -Ni+nWs5wsvk9Qi2BAV/n2MDjsGM4Mun7LrPiDvr7AutAcT8gewMYFqSUSFMCIClh -yBRFPYNi99LV9CbdTWdYbp/rn+241Z9cSd1IBo//GL9bd7sCsg3IqgF0HaQpMc2n -zxBIhJ6maGRx2Dx0NLTz2stfstoZPj/dPnredzI7ngkfG4z94RsDngAlwKyqAqZp -Ind6NU2DosxS1HMoNg/N9Q185PuMeFfs7NTSzbO1r0RuJe7Wf5UOee9VIA5YAYNK -C/Zqp0lJblDSN7BbXXg0hXNv97JwYumDCWNlLR3yflEdgG4hV9jAkHv7jsViwWF3 -ojqsCKEzuxwklIgSD7T+BJSrvAMWDASGKXYWxoJid6A53VixM7MY4n50hc01dWht -outrUbaFqwcwQAiJEHIHYQXVoaFYXcyFV/lzeZmNuHP40WTnN0bBHqmYVPlQY2hI -iSGfroBiU9Ccblz2GoKrCQKLIXIJZSS30Pht4aH7HpDZTfhAYyhMgai0wG5T0Jwa -qqKyFEsxNR8gm7De2IrWX86vHp+qCD9z5Ko3IiGxYEV1qHhcHiLxdSbn50jF5Hgx -eWwwH6ofA9JAcb/C+wUQhgCXowa3UyOe+ptr43dIxvTp8hPtSn7BN1oxmV3d7jAA -BT2vLGbWS92jcyHi0eKcnlGHth40DwGpirD4N/NAtpxz/fzryOKAkVV/L8x3DFYC -SeG/CiRbW381XQJ+eB6R7JkecvQzOgL43wP8MwC/vaxojUiI8wAAAABJRU5ErkJg -gg==} -},0} -},1, -{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,2,ff6c139e-ca68-4c7f-85a4-602320d10b7b, -{8,"ВыполнитьТест",0,1, -{1,2, -{"#","Выполнить тест"}, -{"ru","Выполнить тест"} -},1,d4746b64-45af-49b5-a280-c2206705887b,1,1e2,0,3,1,0,0,0,0},9cdee17c-88a5-49c7-94ca-bc41d557c336, -{8,"Разделитель",0,1, -{1,1, -{"#","Действие"} -},0,d4746b64-45af-49b5-a280-c2206705887b,2,1e2,2,0,1,0,0,0,0}, -{-1,0, -{0} -} -} -},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,9d0a2e40-b978-11d4-84b6-008048da06df,0,0,0} -}, -{8,269,357,472,381,0, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,10,0,24}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,-27}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},2, -{0,36,1}, -{0,10,1},0,0,0,0,0,0,5,9,0,0}, -{14,"КоманднаяПанельКонтекстноеМенюПоляТестов",4294967295,0,0,0}, -{0} -}, -{151ef23e-6bb2-4681-83d0-35bc2217230c,28, -{1, -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},17,0,0, -{4,0, -{3,3, -{0},"",-1,-1,0, -{ -{#base64:iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2Fy -ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAhpJREFUeNqkUz1vE0EQfbO7ZweDUQgE -CptEFEih4ENJREsTaCkokBCigSIFDf8A0dKAhKyEhgaUNg1CpEFCokzg4gJkJAcj -JJtggn2W75zL3S6zd84X0CCPdLq9nZn3Zt7MkTEGg5jAgKbK8zOLOgqvGh0nFyQk -SKoykTjHX/ujqX9DhG2fssnnZ58BW1EaJCVWntw4yyCG6A8ATiIhIFTmExOdSQCM -1py8ibDyEMYQnMI1TM4+5+b6yRZkG8i+lIJbujUhSUzx/bJKHKbLjgPsl4jWX/HF -yySWGMTEGkHH75dukClc53iDjh9ezB/MWgB2xT6EM8RHaYvcYdasS+Wdi6DVsSzs -4YnRfQipkHOcEuv2IAWgTUuHoB0g6TulQ22lgtGxERy/WQISkU36WL+TgTt3+5iy -ZSLy8Pmti+4vb1cv1mN86jSOFI5iq/qIq9ZJ6RZA5ooIxQSa7XBJWWa/vsbKAtP3 -FriduK+WRPy1BG14VSiTlp8AawYYR+vjKr6s914onjc69RoOF3kq3Sp0c4lDRQoi -s3zau2usAzHT0CH8rLq48/jDYtJCu/ENxelL3EodlM1zqtgd4T5jAGcEfmMN3xvN -16vzM56yQcFGC7lTJ4FeiwcxjL82cK9lh7Gx/B61H72FE6NM5s5d9nhgeR3FsEtl -djbm32aLMiTak3ffjJWfXvFs5IVEsf8zu/duulsD/s6/BRgAq8u/ourCQ6kAAAAA -SUVORK5CYII=} -},0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0} -}, -{0,0,0},1,1,0,0, -{1,0},0}, -{0} -}, -{8,12,316,47,346,0, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,28,0,30}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,28,2,35}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,28,1},0,1, -{0,28,3},0,0,0,0,6,2,0,0}, -{14,"ПолеКартинкиКаталогТестов",4294967295,0,0,0}, -{0} -}, -{151ef23e-6bb2-4681-83d0-35bc2217230c,29, -{1, -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},17,0,0, -{4,0, -{3,3, -{0},"",-1,-1,0, -{ -{#base64:iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB6klEQVQ4jZ2SzWsT -URTFz0sT3Chi4j/gwihTdSN1I21srRgkA+4iGIvxA7Sgi6ymaUSkiKU1UHRh6EqI -wXU7IoytU6lVcFMEiTQVoUpsVEqThYYx6Zvjok00TdKIFy7v43J+XM69IIlWqQUU -78zjEVMLKN7NtX8Sm6lhk8U5Tty7VAdpKZ5+dMtk8YmU+STlt2E5k7xaA3GgSQyo -7d7eYDDRc7rDJ38uCLswZUtaosvv9p0805kYUNu9AOoBQggKIWKvV7Zlpt+ml4du -DjpYfEdZ/iwc5QVC2I6j/h3dPer+dUidKUCs0r7xIGjy6wVaH45Ja/GwvfZJkaXs -XupjXaYWUI439AAA//bAGDticqmDpY8H7FLWy4nRfVVxM0Bss5HP7h80uaxQv1sr -Jgln9+UbQcq1s67tbhXAOQBDJ66PLgFIln+s6q4951MwHl5xuETi1Yu223f09PMa -03xhbXLcmGcmT2byJIBY5T5uzLP32sjkRifuRqOGL6xxNkeGonECqGYoGudsjvSF -NTYS1uyBJYG+/ghC0TgAIBSNo68/Aks225I/4QSAlV/rj1MXI9Wz8tcS4PHs1tNv -Xqo7d3kAAIc6/cguvgcAfM99AQB9S8BqoZCam3oKAGqDui7anKmtAGJj9v8dvwET -hrJA6lgD5gAAAABJRU5ErkJggg==} -},0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0} -}, -{0,0,0},1,1,0,0, -{1,0},0}, -{0} -}, -{8,51,316,86,346,0, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,29,0,30}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,29,2,35}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,29,1},0,1, -{0,29,3},0,0,0,0,7,3,0,0}, -{14,"ПолеКартинкиТест",4294967295,0,0,0}, -{0} -}, -{151ef23e-6bb2-4681-83d0-35bc2217230c,30, -{1, -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},17,0,0, -{4,0, -{3,3, -{0},"",12,2,1, -{ -{#base64:Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAADEDgAAxA4AAAAA -AAAAAAAA//////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////// -////////////////////////////////r7j0EyP0////////////GzHvoa32//// -////////////////GzHv////////////Iz/r////////////////////Iz/r//// -////////////////Iz/r////////////Iz/r////////////////////Iz/r//// -////////////////Iz/r////////////Iz/r////////////////////Iz/r//// -////////////////Iz/r////////////Iz/r////////////////////Iz/r//// -////////////////Iz/r////////////Iz/r////////////////////Iz/r//// -////////////////Iz/rGzHvGzHv////Iz/r////////////////////Iz/r//// -////////////////Iz/r////////////r7j0EyP0////////////GzHvoa32//// -////////////////Iz/r//////////////////////////////////////////// -////////////////r7j0GzHvGzHv//////////////////////////////////// -//////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////// -////////} -},0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0} -}, -{0,0,0},1,1,0,0, -{1,0},0}, -{0} -}, -{8,89,316,124,346,0, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,30,0,30}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,30,2,35}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,30,1},0,1, -{0,30,3},0,0,0,0,8,4,0,0}, -{14,"ПолеКартинкиТестовыйСлучай",4294967295,0,0,0}, -{0} -} -} -}, -{b1db1f86-abbb-4cf0-8852-fe6ae21650c2,11, -{0, -{ -{13,1, -{3,3, -{-7} -}, -{3,4, -{0} -}, -{7,3,0,1,100},0, -{3,0, -{44544} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},1,1,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},3,0,100,1,0,1,2} -}, -{8,8,522,507,544,1, -{0, -{2,4,1,3}, -{2,-1,6,0} -}, -{0, -{2,11,0,22}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,-8}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,11,1},0,0,0,0,0,0,1,6,0,0}, -{14,"ИндикаторВыполнения",4294967295,0,0,0}, -{0} -}, -{6ff79819-710e-4145-97cd-1618da79e3e2,12, -{1, -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},1, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},13, -{1,2, -{"#","Выполнить все тесты"}, -{"ru","Выполнить все тесты"} -},1,1,0,0,0, -{3,3, -{0},"",-1,-1,0, -{ -{#base64:iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAAL -EwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj33 -3vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEs -DIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIe -EeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH -/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAn -f+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJ -V2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4 -mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHg -g/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl -7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/A -V/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5 -WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQ -WHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAA -RKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv -1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4 -IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGy -UT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPE -bDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM -WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPE -NyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD -5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2h -tlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0 -dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHK -CpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2ep -O6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN -2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIp -G6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3n -U9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36 -p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYP -jGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLn -m+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cR -p7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0H -DYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dn -F2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofc -n8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh -7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJ -gUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p -DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85 -ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7 -F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/R -NtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9 -MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo -1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5 -sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWF -fevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTP -ZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJ -zs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ -+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3v -dy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtb -Ylu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ7 -52PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7 -nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9 -zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9D -BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfy -l5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT -0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq -YAAAOpgAABdvkl/FRgAABO5JREFUeNrslklMlGcYx3+zD7PBMIzsg4AslgpaUi02 -sTakiSZdYmoMUZM29dRDtT02nD3Ua5v2YJMabQxaG1oVG9dSYxQctgI6MMMyDMM2 -sgyIAzPf1kORIoJDkyYeynv7/ofv+b3P87z/51EpisLLPGpe8lkHWAfQLv0oLy/X -AmYgAZgDnuw/3i5eqC5dUQe4UF265mD7j7cD8OUeYWUAwFxxcOCz5KxIVajXctH9 -c/aZC9WlY4qiqHYeCny6XAdmAPE/ywBgT0yfO/zujk+KPK67JSl5nkOTAVPt3bNZ -Vwy2yEd7yz/e5HU1LOqN53JOAqPAzNnfXl+81sG97hWDyXJ8AJPBKhQZdBIV+fso -y466Hg7fPpaU1XR4dkZwjA1P8kraHkrS97i6c+8cs7uaqqaCpssttVnfHdzrHgTC -gACs6G6SpIoLoJEkiElTxKQZ9JpkXsup5NXMtx3dI420Df1C94iLgg3l5KdVUPzG -rtTeR01HNhTUHwn1mGseXEv/enbc0AdMAbHlIJIUPwOIEsgKyEoMUR5lXphAr0mk -JGs7xZlv4ht28+fgJTwjqWxylpKZXkJ+2Q78ma1VzvxbVWO9+tq+e85vJ/otHmAS -mH8KIq4JQFQhyzKy8nfBZKKIcoh5YQKdNpHCjC0UZWynZ7SDlv7reEZbyHEUk5e1 -mQ/KthFwefa15t7YN9ofujrqSfoh2Jp8dwFkThRVz3WBaukwKi8v3/LWF53tH+58 -D0WRVm5blQa9xopR60SjtuIP9dLoq0N6bCAnpZCC7M3Y7U6CU37u99Qx7BfqJ3pt -pwL3nbeAR0C0ublZeWEGFEVBXm1KKiLz8hTzQhidxkqmYwMHnEcJjgdo8F7D3+pj -a942cl35HNh5lGBhYHeD99pu+8a+60OtjupxX2I7EF0VQBBZKEG8Ma0QlaeJCtNo -1UasZh2VWyvoCnrpCj7EliRjMZv/0VO879wW+wfHfYmfvxhAUBGOTCPK8f1FpVKh -1xow6dVIkkBLjwff0ABbUjcTlecxyLpn9KA7+/TC6+CFACIS4mo9AKhQodPqMRss -qNHS3O3jwUA/VpLYtrGU7CwHCUbDoj4zaKoZvF34lRTT9MYHEEGSZCRJXiWwDpPe -jE5tpKPXT1tPDybJQpmrmIx0OzarGc9ggLaeHqaDhtqRe/knxIi2DwgXHfLE1vQM -RVlGlJ/NgE6jw2ywYNQm4PEP4e72YRCNFGdsxJWVQrLdgi84wqX7bsJDusvhrvRv -IsOWdmDi6a1FMb4TIgggKRLSQgm0Gh1mgxmTzoQ3EKKh041G0JKXkU6uK4WUZBv9 -w+NccbcxNaS++mTAcXLWn9SwEDi61A0FYa1GJMmoUGPSm7AarfQFJ7nX2YEcAVda -Cnk5DtKcdgbHwpy74SYUkOvnR22nZn2OW8D4Uvdb/u94AJIogVGfgMVgJhh6zMX6 -Job7xPaYEik9/H4ZqU4bY+EI52+1MBoQGmOPzGdmu5x1CyYzB8irNe9arDgizOq6 -JyajRXUdPoID8x3ChKlmpiPtjn2X/3tJJRfU/tGxqD95mFkDhBYCS/Ge7VqG0VQs -bPzx/OXuKnHK9GukM/cUMKZWKzppNuH0T1e8z+hA5N8sJCuN4+Wz4LnVy1bpFWdu -Fq6oA8zcLFzz9mOr9ALw+4nHKwOsr+XrAP9LgL8GAIsWe/XplG1LAAAAAElFTkSu -QmCC} -},0}, -{0,0,0},0,0,0,0,0}, -{1, -{0,e1692cc2-605b-4535-84dd-28440238746c, -{3,"КнопкаВыполнитьВсеТестыНажатие", -{1,"КнопкаВыполнитьВсеТестыНажатие", -{1,1, -{"#","Кнопка выполнить все тесты нажатие"} -}, -{1,1, -{"#","Кнопка выполнить все тесты нажатие"} -}, -{1,1, -{"#","Кнопка выполнить все тесты нажатие"} -}, -{3,0, -{0},"",-1,-1,1,0}, -{0,0,0} -} -} -} -} -}, -{8,346,8,508,38,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,12,0,30}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,12,2,162}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,12,1},0,1, -{0,12,3},0,0,0,0,2,3,0,0}, -{14,"КнопкаВыполнитьВсеТесты",4294967295,0,0,0}, -{0} -}, -{6ff79819-710e-4145-97cd-1618da79e3e2,13, -{1, -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},1, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},13, -{1,2, -{"#","Загрузить тесты"}, -{"ru","Загрузить наборы"} -},1,1,0,0,0, -{3,1, -{0,785362cb-3756-48ed-87d2-292ded17054a},"",-1,-1,1,0}, -{0,0,0},0,2, -{5,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,2,1,2, -{6,b112c213-dc4b-4dbd-a591-f6a025816f86,1,e1692cc2-605b-4535-84dd-28440238746c, -{3,"КнопкаЗагрузитьТестыЗагрузитьТестКейс", -{1,"КнопкаЗагрузитьТестыЗагрузитьТестКейс", -{1,1, -{"#","Загрузить тест кейс"} -}, -{1,1, -{"#","Загрузить тест кейс"} -}, -{1,1, -{"#","Загрузить тест кейс"} -}, -{3,0, -{0},"",-1,-1,1,0}, -{0,0,0} -} -},6, -{1,1, -{"#","Загрузить один тестовый скрипт (тест-кейс)"} -}, -{1,1, -{"#","Загрузить один тестовый скрипт (тест-кейс)"} -} -}, -{6,bb0036dd-d2d7-44e9-ae50-e2b73b861cc8,1,e1692cc2-605b-4535-84dd-28440238746c, -{3,"КнопкаЗагрузитьТестыНажатие", -{1,"КнопкаЗагрузитьТестыНажатие", -{1,1, -{"#","Кнопка загрузить тесты нажатие"} -}, -{1,1, -{"#","Кнопка загрузить тесты нажатие"} -}, -{1,1, -{"#","Кнопка загрузить тесты нажатие"} -}, -{3,0, -{0},"",-1,-1,1,0}, -{0,0,0} -} -},6, -{1,1, -{"#","Загрузить все тесты из выбранного каталога"} -}, -{1,1, -{"#","Загружает все тесты из выбранного каталога"} -} -},1, -{5,31946946-0a9b-40a2-95cf-82f200778341,0,0,2,bb0036dd-d2d7-44e9-ae50-e2b73b861cc8, -{8,"ЗагрузитьВсеТесты",0,1, -{1,2, -{"#","Загрузить все тесты из каталога"}, -{"ru","Загрузить наборы"} -},1,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,1,1e2,0,0,1,0,0,0,0},b112c213-dc4b-4dbd-a591-f6a025816f86, -{8,"ЗагрузитьТестКейс",0,1, -{1,2, -{"#","Загрузить один тестовый скрипт"}, -{"ru","Загрузить отдельный набор"} -},1,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,2,1e2,0,0,1,0,0,0,0}, -{-1,0, -{0} -} -} -},0,0,0}, -{1, -{0,e1692cc2-605b-4535-84dd-28440238746c, -{3,"КнопкаЗагрузитьТестыНажатие", -{1,"КнопкаЗагрузитьТестыНажатие", -{1,1, -{"#","Кнопка загрузить тесты нажатие"} -}, -{1,1, -{"#","Кнопка загрузить тесты нажатие"} -}, -{1,1, -{"#","Кнопка загрузить тесты нажатие"} -}, -{3,0, -{0},"",-1,-1,1,0}, -{0,0,0} -} -} -} -} -}, -{8,8,8,170,38,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,13,0,30}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,13,2,162}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,13,1},0,1, -{0,13,3},0,0,0,0,3,1,0,0}, -{14,"КнопкаЗагрузитьТесты",4294967295,0,0,0}, -{0} -}, -{381ed624-9217-4e63-85db-c4c3cb87daae,20, -{9, -{"Pattern", -{"S"} -}, -{ -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},0, -{3,3, -{-22} -}, -{3,3, -{-1} -}, -{3,0, -{16711680} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},29,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,4,0, -{"U"}, -{"U"},"",0,1,0,0,0,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0},0,0,0, -{0,0,0}, -{1,0},0,0,0,0,0,0,0,16777215} -}, -{1, -{9a7643d2-19e9-45e2-8893-280bc9195a97, -{4, -{"U"}, -{"U"},0,"",0,0} -} -}, -{0},0,1,0, -{1,0},0}, -{8,8,43,507,62,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,20,0,19}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,-8}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,20,1},0,0,0,0,0,0,4,4,0,0}, -{14,"Путь",4294967295,0,0,0}, -{0} -}, -{6ff79819-710e-4145-97cd-1618da79e3e2,21, -{1, -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},1, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},13, -{1,2, -{"#","Перезагрузить"}, -{"ru","Перезагрузить"} -},1,1,0,0,0, -{3,3, -{0},"",-1,-1,0, -{ -{#base64:iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2Fy -ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABL1JREFUeNrEV21MW2UUfu5HL1Q2J0ZN -xA1BrGbq5mBOJmxsKxOEsKXVGBMSExJ/+EujZHER+aELHxnLhtEZNyPJEpUfW+KM -zBA26D6cSpBluu0HTga4jq6FNXwVyrhtr+e9fVdLaUerxN7k9N7b973ved7zPOec -ewVN05DMQ0SSj6QDAKPgjv2HQ9lxAFp5E9roWk7E71JFIM0fADZno2J7PY7SvfR/ -U2CY8wHW/BoUmmAtrsOxeEHEEy6JdlWniXidrh+JHk7AOwcExFS8uK6Snmi1CgSi -sxav0rD/3wIQzXtQbVr51L6NpgJsNG2A0SDCE2jjmxPmIfBrPgiBdFx2tqI0twqi -fMQqNuC7kzWw0gxfLCdCuPgEIbSovGOfcsy85hVLed4WuDxnMOK5AJ9/FqpmD58X -igD9YnqWrUHwiNjcVW+g5usWdLyHe2lwKpoIY0VAMn+Ixm1rLJaSvHW46NqD8dsO -iLSoRIuLEnOyMGM0EqGcymDQPJpz4lIL1EmcZfpIhAIh/008mZWRuWtbXhYujNTB -G5hCihEYdQMDduCGE1DVBQxApSBXvRwEMETzbKdx7txevE23aiIA5OUZaMxfmwG7 -twteYQoK7aq7Fxgcgtd5CZ/MjOJGvw19CPoKZUHpXrQracDVa+Tcpjt/l/53kHkT -AWCUUrBz5aMa3N6rkMj5LXfQ+ckPUEbjo2QeMtI8AmHPpctE0SC5s3WEnF8nG0s0 -CxSRQqsqQxADXqTS9R/9BKIPTTQ2SHaLO/dHREDnvesHdJ9NwHk0ACIp2HP4S9ey -AO1PF56k77WfO5+JsY76fTWe5cpwxOs8WhreR6dsFtIwmbEUsnMAsQSlMPo4LYxz -f8lH2CrdA5vqD/7JKFJETJzYhQfZOrHScJqHejjsPx/fOTvL1HCOSzIq2qqRwukA -P8+Fi9LrgSk324QGawsmpgeQajCisuW1FaxvkI3HokANH4xSko9uooZz/q9gA4pw -Oq83GNKxvyBnM9zT19H+axXkf4qnkmgv0J2zBvPC47C+VdaJroPbEaXACC/VYwPV -A5NmwKFC0/PLtq62ovdaPRQix06qmJuALSJ74mtGzHnBalirNn1GZfmK3njMDXCJ -4cWI7Db9PJOdgeceW4uCnHL0Ob+Bw9MNogy9pKLB09gfGbVYvSAEsKQBxwufRoUl -7338NNCI9ZnvkKAEqvfi/HKog9D0qjg7N069owejU5ch0LRTv5Oo/sRX55tRS9Nu -3k2EkYdRIMGVra9Ez3AjJGLv4s2Pkaak834QXgoE3WbUMb0hMc595PzMb8DIMH4k -5008PX2JUGBgDaX9SuuWzIcpt3hm+6SgkwU5TZZKIMcmqW8MUcgpl5x9ONzzBQ7x -+jATWcAWo2A5qwtFu/Gp2YyirFVBJ0e+JWQyooLQqVDh9jjR+fNBfE63I2Qussnw -3cdLASsqDl7bm4tLUfREDuUR6b9jt94bohUmXY9kE2Rufp6NVH+8FPg4b2AgaMPN -BguK5OCb5OCdsRjPzXIg/qV4LWdl5AGyvOJa/LLzgL7Lh5bic2AxDUSCuJ8sg4fZ -fpcIxAUgkUoIHsoxHlpxsReNeI9EIrDkX2QLIpCML+Wkf5z+LcAAUD/gDNueXkgA -AAAASUVORK5CYII=} -},0}, -{0,0,0},0,2, -{5,41c23139-b710-4b93-a93e-1a3fe9843cfe,3,1,3, -{6,6a6063bd-306d-46e5-b28e-7a088fb3929e,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} -} -},7, -{1,1, -{"ru","Перезагрузить тесты"} -}, -{1,1, -{"ru","Перезагрузить тесты"} -}, -{3,3, -{0},"",-1,-1,0, -{ -{#base64:iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2Fy -ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABL1JREFUeNrEV21MW2UUfu5HL1Q2J0ZN -xA1BrGbq5mBOJmxsKxOEsKXVGBMSExJ/+EujZHER+aELHxnLhtEZNyPJEpUfW+KM -zBA26D6cSpBluu0HTga4jq6FNXwVyrhtr+e9fVdLaUerxN7k9N7b973ved7zPOec -ewVN05DMQ0SSj6QDAKPgjv2HQ9lxAFp5E9roWk7E71JFIM0fADZno2J7PY7SvfR/ -U2CY8wHW/BoUmmAtrsOxeEHEEy6JdlWniXidrh+JHk7AOwcExFS8uK6Snmi1CgSi -sxav0rD/3wIQzXtQbVr51L6NpgJsNG2A0SDCE2jjmxPmIfBrPgiBdFx2tqI0twqi -fMQqNuC7kzWw0gxfLCdCuPgEIbSovGOfcsy85hVLed4WuDxnMOK5AJ9/FqpmD58X -igD9YnqWrUHwiNjcVW+g5usWdLyHe2lwKpoIY0VAMn+Ixm1rLJaSvHW46NqD8dsO -iLSoRIuLEnOyMGM0EqGcymDQPJpz4lIL1EmcZfpIhAIh/008mZWRuWtbXhYujNTB -G5hCihEYdQMDduCGE1DVBQxApSBXvRwEMETzbKdx7txevE23aiIA5OUZaMxfmwG7 -twteYQoK7aq7Fxgcgtd5CZ/MjOJGvw19CPoKZUHpXrQracDVa+Tcpjt/l/53kHkT -AWCUUrBz5aMa3N6rkMj5LXfQ+ckPUEbjo2QeMtI8AmHPpctE0SC5s3WEnF8nG0s0 -CxSRQqsqQxADXqTS9R/9BKIPTTQ2SHaLO/dHREDnvesHdJ9NwHk0ACIp2HP4S9ey -AO1PF56k77WfO5+JsY76fTWe5cpwxOs8WhreR6dsFtIwmbEUsnMAsQSlMPo4LYxz -f8lH2CrdA5vqD/7JKFJETJzYhQfZOrHScJqHejjsPx/fOTvL1HCOSzIq2qqRwukA -P8+Fi9LrgSk324QGawsmpgeQajCisuW1FaxvkI3HokANH4xSko9uooZz/q9gA4pw -Oq83GNKxvyBnM9zT19H+axXkf4qnkmgv0J2zBvPC47C+VdaJroPbEaXACC/VYwPV -A5NmwKFC0/PLtq62ovdaPRQix06qmJuALSJ74mtGzHnBalirNn1GZfmK3njMDXCJ -4cWI7Db9PJOdgeceW4uCnHL0Ob+Bw9MNogy9pKLB09gfGbVYvSAEsKQBxwufRoUl -7338NNCI9ZnvkKAEqvfi/HKog9D0qjg7N069owejU5ch0LRTv5Oo/sRX55tRS9Nu -3k2EkYdRIMGVra9Ez3AjJGLv4s2Pkaak834QXgoE3WbUMb0hMc595PzMb8DIMH4k -5008PX2JUGBgDaX9SuuWzIcpt3hm+6SgkwU5TZZKIMcmqW8MUcgpl5x9ONzzBQ7x -+jATWcAWo2A5qwtFu/Gp2YyirFVBJ0e+JWQyooLQqVDh9jjR+fNBfE63I2Qussnw -3cdLASsqDl7bm4tLUfREDuUR6b9jt94bohUmXY9kE2Rufp6NVH+8FPg4b2AgaMPN -BguK5OCb5OCdsRjPzXIg/qV4LWdl5AGyvOJa/LLzgL7Lh5bic2AxDUSCuJ8sg4fZ -fpcIxAUgkUoIHsoxHlpxsReNeI9EIrDkX2QLIpCML+Wkf5z+LcAAUD/gDNueXkgA -AAAASUVORK5CYII=} -},0} -}, -{6,4572679a-9c60-4ad3-bc65-aa88097955b9,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,60155424-8f86-4ba5-b468-bad3d7a906c8,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},1, -{5,31946946-0a9b-40a2-95cf-82f200778341,0,0,3,6a6063bd-306d-46e5-b28e-7a088fb3929e, -{8,"ПерезагрузитьТесты",0,1, -{1,1, -{"ru","Перезагрузить тесты"} -},1,41c23139-b710-4b93-a93e-1a3fe9843cfe,1,1e2,0,0,1,0,0,0,0},4572679a-9c60-4ad3-bc65-aa88097955b9, -{8,"Разделитель",0,1, -{1,1, -{"ru","Действие"} -},0,41c23139-b710-4b93-a93e-1a3fe9843cfe,2,1e2,2,0,1,0,0,0,0},60155424-8f86-4ba5-b468-bad3d7a906c8, -{8,"ПерезагрузитьБраузерТестирования",0,1, -{1,1, -{"#","Перезагрузить браузер тестирования"} -},0,41c23139-b710-4b93-a93e-1a3fe9843cfe,3,1e2,0,0,1,0,0,0,0}, -{-1,0, -{0} -} -} -},0,0,0}, -{1, -{0,e1692cc2-605b-4535-84dd-28440238746c, -{3,"КнопкаПерезагрузитьНажатие", -{1,"КнопкаПерезагрузитьНажатие", -{1,1, -{"#","Кнопка перезагрузить нажатие"} -}, -{1,1, -{"#","Кнопка перезагрузить нажатие"} -}, -{1,1, -{"#","Кнопка перезагрузить нажатие"} -}, -{3,0, -{0},"",-1,-1,1,0}, -{0,0,0} -} -} -} -} -}, -{8,177,8,339,38,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,21,0,30}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,21,2,162}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,21,1},0,1, -{0,21,3},0,0,0,0,5,2,0,0}, -{14,"КнопкаПерезагрузить",4294967295,0,0,0}, -{0} -}, -{6ff79819-710e-4145-97cd-1618da79e3e2,23, -{1, -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},1, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},13, -{1,2, -{"#","Назад"}, -{"ru","Назад"} -},1,1,0,0,0, -{3,3, -{0},"",-1,-1,0, -{ -{#base64:iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAE1mlDQ1BJQ0MgUHJv -ZmlsZQAAeJzllWtMk3cUxp/37R2otFCLTNFXxhBZYR2grEII0CEDEbBUoIx09iZU -W3jzUhFkUxlG8IYXmMrChhIUlWwuKA4ZzhsToolDzJDhvGA13hBvgwREuw9d5INx -yT57Pj15knNyzj/5/R+Af1RH0xYSgDXPxqjiY6lMTRbF6wUXfEjgCU+doYCOSU1N -wltrpBcEAFwO0tG0pSlpvulm6/X5vgP6DY+OBxnf3gcAEDKZmiyAoABIcpw6DIBE -79SfAZCstNE2gMgGIDHk6owAQQOQMWqVEiBqAYznqFVKgNwNYFyvVikBVjWA8UJD -jg1gbwMgzzOa8wD2KYA1yWgqMAC8bgAbDTRjA/jZAIKs1nwjwN8MICBTk0U518xf -BygOAqTPhLcEwE85gPTxhDdLBUi9gDbphPd8BggAxCc/FywNDQEAEOI2gO/ncAzV -AC6VwMt5DseY2OEY7wE4MqBpumEFU/jvGxUBYMEFXpiNGGhRikPoJ8REClFNDJDh -5E7yFYtmDbIZDpuzl5vAfcU7yd8sMLkkuka6zRMqJ2W4F4rqxY88MyU3paVT5nqP -Tu3w2TojdSbbt92vxD82wH327Q9PB+3/qOrjitDyOZXhexTtEfYoaXR6bP2nL+KX -JPQkpST3LbKq3dJbNOZsf+2grs24LceyLMUaTvsVSAp5ReMlT1ffKb2yrqu8deOB -Lbu3VVSV7KRrzLVL68z1zL6yA983dfw43BzWUtZqb1988trZFZ3S82cuFvdE9gr/ -HLzWP9B3594D16GYZ1tGnrxY7nC8cbsbpkKOBbDiG3RglJhLrCLOkd6kjexjxbHa -2Ar2aU4a5zF3J28+n+B3Cna5MK4ZbvHCmElx7iqRWVzp0SFxnayXnp8S4901VetD -TD9C0b6Rfl7+xKyxQMgkwaFybUhV2KVwqUIf0RzFjs6MPRrnE1+VODmpPiVi0Q31 -loy4LE72xS++0xeYknODl4usw3R/wa+Fe4vXfqlZIysdWXes3Lpx2ubftubu4FU3 -7IquuV67us5v76WG8sbEQ9N+wOHRI4Jjc46vaR88taYjoPPGhcbfyy+XXam7ar+Z -dnv4fvfQw7+TRl+8cTsJASR4H+FIRR524Bc8ICgim9hDPCSjyBryJWs5y842sp9y -KriB3D7edn6GIMCF4zLkesttQDjoDpGPWOXRKPGe3Oi10Jv3Xve0huklVIpvoJ+H -Py9AEOglkwenydeGtIQ9DQ9VFEeciRJGp8fuj0O8MaEnKTH5/CJ12t30rzUffN6t -LdNFGsaXnjFXWrT5oYzQdn9l16qDX21am1eWvD5wA3vT1crm7RXVS3YpvvWqHauz -1/+xr/tAX9Ojwx7NCS3VrSPtzCnB2aOdyy4EXXT02Hv/6n94Q2LX3D0xGPfk2XDX -2AWHw8mqkxDnnwIA90on9PPc15oAnDwDAIsLNJQDi+3AgnNATSLgHwl4GoFUIaBW -gLhlADEwE8QDMVgoAvmuUfWukfSu0QM4Mw0AIDIv1Bkopc5i1jM6m+l1DItgxkLo -YAAFJXSwwAw9GOhggwnG/2r9f2UzFdkAQJlPFzPmnFwbFUPTFhOlzLfSK2wmRkYl -5BmCZVSIXB4KAM7cBQCuCKjNAoATz7RvzP0HbnfbUKLmT0AAAAOeSURBVFiF7ZZb -aFxVFIa/M+dkJpOZpJNMwlgbY7zUaGqJ2jSQSptbrdVKoVIFC2KrYpugRi31JVaa -tiIIFcGHKFJ9UFBR8AJC3lJMNKQVVFqKiWlTx1zapHVmOulczmVvH+ZkkpSkJs1E -EfLDYu/D3mf9/1r7sjYs4f+K6rdxZ8KPej0/NRwqavZp/s7i9a7wQEesJxNC5oTH -DuBsOFh4ZO8ntXIsekzWH/L/tlCf2lwn1r2ev+UvhcY9m3ZtaVi9EU3VQFL2rwio -bfW3BJb5D7dsf5XlvgC6FQYFkHKh/NcWUN3iX5GdRUvdqurGXfVPoqoWceMiEoHq -cINYMP/sAmr3+3ZqDuWjFx95jsqVFehmBMMwkKSiVpVxpJDU7c+/vjQotHUcDDUp -M43VvZb/VmlR8b6Xt+3Bm5OFYV1BSHPaHNXhwql6UR3OeXNnZ/l5/M0n6HgjrEzL -wPoWd1WWqTU+vKZ+59Z1D2KIMNFEIh31dMSIEZo3OUBedgJEymdawIZ9ec25mvud -5x99mpLlhUQSQYQwYEbyhcHQEkiR2kBa7QG8XPEcLi+9vfmpzdtBjXEpFkTIDOyw -WeC2pmTAGvc07qjf1lx19yoi8SGMZAKZgeN1LejOJHJCgMMU1silfs6ODTEcPkXM -iCAXMXqA24qqJjOgD8XbvufXkt5zBc0P1dyD4ugnHLuAKfRFE6BbTAro/oI4xF+6 -/4XR/o+/irz7wLo1BAI+RiIDJMzxRVkOwyK9BOlq+OdxcfzGe5XPfh8YVPWYe21Z -6R3oIkncSGBYAkuQMSvwFHPy5DB/nLBap90DP7Qle4EmZffA+cGR0dZNNZU4PcOc -vxxEN6ffBx5XHkXeFXhdefPOQLHvTqT4CUiVlBlRvVvbrAnZWFmxeuvNZTkEw31E -E+H08by18C7av+mbN/kEpCLaut6zmmatBd3vm+1Au3zm1JGBoO+Vmg0VjKpnGYuO -oFtJsrVcEJLOD8xZg5gLHP80oeuouffCxdCzX3/biRq6gdLCclxaLpZU0htpUQUA -dH9oHdVDevGxH3vaTveMsbLgPgo8gYy8B+b8Jhw8TTT4s/xu2S2Xk+fOjGy8KVBC -b++Zz4O/yC8XIkCZ0qqkMqLZ5gSybNPsMQeglNeyNjfAjtAQn/Z1ccL2IQCLVPUy -7W/TNusqExOm2OSKTeQE3EAO4LXbHMB1tQgml0/YpBag24RJuz/VkoBh940p4paw -hP8WfwNIdpwThSRjAwAAAABJRU5ErkJggg==} -},0}, -{0,0,0},0,0,0,0,0}, -{1, -{0,e1692cc2-605b-4535-84dd-28440238746c, -{3,"КнопкаНазадНажатие", -{1,"КнопкаНазадНажатие", -{1,1, -{"#","Кнопка назад нажатие"} -}, -{1,1, -{"#","Кнопка назад нажатие"} -}, -{1,1, -{"#","Кнопка назад нажатие"} -}, -{3,0, -{0},"",-1,-1,1,0}, -{0,0,0} -} -} -} -} -}, -{8,8,8,116,37,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,23,0,29}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,23,2,108}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,23,1},0,1, -{0,23,3},0,0,0,1,0,1,0,0}, -{14,"КнопкаНазад",4294967295,0,0,0}, -{0} -}, -{35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26,24, -{1, -{ -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},5, -{1,2, -{"#","Автоматически перезагружать тесты перед повторным выполнением"}, -{"ru","Автоматически перезагружать тесты перед повторным выполнением"} -},1,0,1,0},2,0,0,0,0}, -{1, -{2147483647,e1692cc2-605b-4535-84dd-28440238746c, -{3,"АвтоматическиПерезагружатьПередВыполнениемПриИзменении", -{1,"АвтоматическиПерезагружатьПередВыполнениемПриИзменении", -{1,1, -{"#","Автоматически перезагружать перед выполнением при изменении"} -}, -{1,1, -{"#","Автоматически перезагружать перед выполнением при изменении"} -}, -{1,1, -{"#","Автоматически перезагружать перед выполнением при изменении"} -}, -{3,0, -{0},"",-1,-1,1,0}, -{0,0,0} -} -} -} -} -}, -{8,12,89,507,104,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,24,0,15}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,24,2,495}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,24,1},0,1, -{0,24,3},0,0,0,1,1,4,0,0}, -{14,"ReloadBeforeRunAll",4294967295,0,0,0}, -{0} -}, -{0fc7e20d-f241-460c-bdf4-5ad88e5474a5,25, -{3, -{ -{13,1, -{3,4, -{-7} -}, -{3,4, -{0} -}, -{7,1,2, -{0},140,1,100},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},4,2,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},8, -{1,2, -{"#"," Настройки"}, -{"ru","Настройки"} -},4,1,0,0,0, -{0,0,0},0, -{1,0},1, -{4,4, -{3,3, -{0},"",-1,-1,0, -{ -{#base64:iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAAL -EwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj33 -3vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEs -DIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIe -EeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH -/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAn -f+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJ -V2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4 -mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHg -g/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl -7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/A -V/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5 -WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQ -WHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAA -RKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv -1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4 -IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGy -UT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPE -bDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM -WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPE -NyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD -5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2h -tlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0 -dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHK -CpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2ep -O6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN -2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIp -G6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3n -U9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36 -p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYP -jGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLn -m+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cR -p7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0H -DYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dn -F2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofc -n8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh -7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJ -gUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p -DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85 -ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7 -F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/R -NtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9 -MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo -1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5 -sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWF -fevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTP -ZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJ -zs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ -+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3v -dy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtb -Ylu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ7 -52PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7 -nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9 -zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9D -BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfy -l5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT -0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq -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 -AABJRU5ErkJggg==} -},0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0} -},4,0}, -{0} -}, -{8,12,47,507,75,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,25,0,28}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,25,2,495}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,25,1},0,1, -{0,25,3},0,0,0,1,2,3,0,0}, -{14,"Надпись1",4294967295,0,0,0}, -{0} -}, -{6ff79819-710e-4145-97cd-1618da79e3e2,26, -{1, -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},1, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},13, -{1,2, -{"#","Применить"}, -{"ru","Применить"} -},1,1,0,0,2, -{3,3, -{0},"",-1,-1,0, -{ -{#base64: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 -jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==} -},0}, -{0,0,0},0,0,0,0,0}, -{1, -{0,e1692cc2-605b-4535-84dd-28440238746c, -{3,"КнопкаПрименитьНажатие", -{1,"КнопкаПрименитьНажатие", -{1,1, -{"#","Кнопка применить нажатие"} -}, -{1,1, -{"#","Кнопка применить нажатие"} -}, -{1,1, -{"#","Кнопка применить нажатие"} -}, -{3,0, -{0},"",-1,-1,1,0}, -{0,0,0} -} -} -} -} -}, -{8,128,8,236,37,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,26,0,29}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,26,2,108}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,26,1},0,1, -{0,26,3},0,0,0,1,3,2,0,0}, -{14,"КнопкаПрименить",4294967295,0,0,0}, -{0} -}, -{35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26,27, -{1, -{ -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},5, -{1,2, -{"#","Выводить информацию об успешном выполнении тестов"}, -{"ru","Выводить информацию об успешном выполнении тестов"} -},1,0,1,0},2,0,0,0,0}, -{1, -{2147483647,e1692cc2-605b-4535-84dd-28440238746c, -{3,"LogOnSuccessПриИзменении", -{1,"LogOnSuccessПриИзменении", -{1,1, -{"#","Log on success при изменении"} -}, -{1,1, -{"#","Log on success при изменении"} -}, -{1,1, -{"#","Log on success при изменении"} -}, -{3,0, -{0},"",-1,-1,1,0}, -{0,0,0} -} -} -} -} -}, -{8,12,109,507,124,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,27,0,15}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,27,2,495}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,27,1},0,1, -{0,27,3},0,0,0,1,4,5,0,0}, -{14,"LogOnSuccess",4294967295,0,0,0}, -{0} -} -} -},515,552,1,0,1,4,4,248}, -{ -{1},14, -{8, -{ -{1},0,0,1,"ОбработкаОбъект", -{"Pattern", -{"#",94c492c9-d1de-4174-b3f8-2b8d004317a2} -} -}, -{ -{2},1,0,1,"ИндикаторВыполнения", -{"Pattern", -{"N",10,0,1} -} -}, -{ -{6},1,0,1,"Путь", -{"Pattern", -{"S"} -} -}, -{ -{8},1,0,1,"ReloadBeforeRunAll", -{"Pattern", -{"B"} -} -}, -{ -{9},1,0,1,"LogOnSuccess", -{"Pattern", -{"B"} -} -}, -{ -{11},0,0,1,"ЗавершитьРаботуПослеТестирования", -{"Pattern", -{"B"} -} -}, -{ -{12},0,0,1,"ПутьОтчетаТестирования", -{"Pattern", -{"S"} -} -}, -{ -{13},0,0,1,"ТипОтчетаОТестировании", -{"Pattern", -{"S",100,1} -} -} -}, -{5, -{5, -{2, -{1}, -{0,ec0d9ef8-36f7-46f8-b781-534277fbe04b} -} -}, -{11, -{1, -{2} -} -}, -{20, -{1, -{6} -} -}, -{24, -{1, -{8} -} -}, -{27, -{1, -{9} -} -} -} -}, -{59d6c227-97d3-46f6-84a0-584c5a2807e1,1, -{2,0, -{0,0}, -{0},1} -}, -{4, -{70000,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} -} -} -}, -{70001,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} -} -} -}, -{70003,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} -} -} -}, -{70007,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,4,1,0,0,0, -{1,5,10,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0}, -{0}, -{4,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0} -},1,2,0,0,1,1} \ No newline at end of file diff --git "a/src/DataProcessor/UnitTestRunner/Form/\320\244\320\276\321\200\320\274\320\260/module" "b/src/DataProcessor/UnitTestRunner/Form/\320\244\320\276\321\200\320\274\320\260/module" deleted file mode 100644 index 78b33fb9..00000000 --- "a/src/DataProcessor/UnitTestRunner/Form/\320\244\320\276\321\200\320\274\320\260/module" +++ /dev/null @@ -1,482 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// ПЕРЕМЕННЫЕ МОДУЛЯ - -Перем мМассивПиктограммСостояний; -Перем мМассивПиктограммТиповСтроки; - -Перем мСохраненныйПутьОтдельногоТестовогоНабора; -Перем мАвтозапускТестовыхНаборов; - -//////////////////////////////////////////////////////////////////////////////// -// ПРОЦЕДУРЫ И ФУНКЦИИ ОБЩЕГО НАЗНАЧЕНИЯ - -// Открывает диалог выбора каталога тестов. -// Возвращает Истину, если каталог выбран и ложь в противном случае. -// Путь к выбранному каталогу запоминается в реквизите формы Путь. -// -Функция ВыбратьКаталогТестов() - - ДиалогВыбораКаталога = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога); - ДиалогВыбораКаталога.Каталог = Путь; - - Если ДиалогВыбораКаталога.Выбрать() Тогда - - Путь = ДиалогВыбораКаталога.Каталог; - Возврат Истина; - - КонецЕсли; - - Возврат Ложь; - -КонецФункции - -// Разворачивает строки табличного поля дерева тестов. -// По умолчанию разворачивается только самый верхний уровень. -// -Процедура РазвернутьСтрокиДерева(ВключаяПодчиненные=Ложь) - - Для каждого СтрокаДерева из ДеревоТестов.Строки Цикл - ЭлементыФормы.тпДеревоТестов.Развернуть(СтрокаДерева, ВключаяПодчиненные); - КонецЦикла; - -КонецПроцедуры - -Функция ПосчитатьКоличествоТестовыхСлучаевПоВсемуДеревуТестов(РодительскаяСтрока) - коллекцияСтрок = РодительскаяСтрока.Строки; - Если коллекцияСтрок.Количество() = 0 Тогда - Возврат 1; // строка теста - КонецЕсли; - количествоТестов = 0; - Для каждого СтрокаДерева из коллекцияСтрок Цикл - лКоличество = ПосчитатьКоличествоТестовыхСлучаевПоВсемуДеревуТестов(СтрокаДерева); - СтрокаДерева.КоличествоТестов = лКоличество; - количествоТестов = количествоТестов + лКоличество; - КонецЦикла; - Возврат количествоТестов; -КонецФункции - -// Устанавливает начальное состояние индикатора выполнения тестов. -// -Процедура ИнициализироватьИндикаторВыполнения(КоличествоТестовыхСлучаев = 0) - - ЭлементыФормы.ИндикаторВыполнения.МаксимальноеЗначение = КоличествоТестовыхСлучаев; - ЭлементыФормы.ИндикаторВыполнения.Значение = 1; - ЭлементыФормы.ИндикаторВыполнения.ЦветРамки = Новый Цвет(0, 174, 0); // Зеленый. - -КонецПроцедуры - -// Рекурсивно из строк дерева тестов запоминает в соответствии в качестве ключа -// только те строки дерева тестов, которые являются тестовыми случаями. -// Возвращает созданное и заполненное тестовыми случаями соответствие. -// -Функция ПолучитьТолькоТестовыеСлучаи(СтрокиДереваТестов, КэшТестовыхСлучаев=Неопределено) - - Если КэшТестовыхСлучаев=Неопределено Тогда - КэшТестовыхСлучаев = Новый Соответствие; - КонецЕсли; - - Для каждого СтрокаДереваТестов из СтрокиДереваТестов Цикл - Если СтрокаДереваТестов.ТипСтроки = мЗначенияТиповСтроки.ТестовыйМетод Тогда - КэшТестовыхСлучаев.Вставить(СтрокаДереваТестов); - Иначе - ПолучитьТолькоТестовыеСлучаи(СтрокаДереваТестов.Строки, КэшТестовыхСлучаев); - КонецЕсли; - КонецЦикла; - - Возврат КэшТестовыхСлучаев; - -КонецФункции - -Процедура ЗагрузитьТестыПоРанееСохраненнымПараметрам() - лПараметры = ВосстановитьЗначение(ПолучитьИмяДляСохраненияПараметров()); - Если ЗначениеЗаполнено(лПараметры) Тогда - Путь = лПараметры.Путь; - мСохраненныйПутьОтдельногоТестовогоНабора = лПараметры.мСохраненныйПутьОтдельногоТестовогоНабора; - - Если ЗначениеЗаполнено(мСохраненныйПутьОтдельногоТестовогоНабора) Тогда - - Форма_ЗагрузитьОтдельныйТестовыйНабор(мСохраненныйПутьОтдельногоТестовогоНабора); - - ИначеЕсли ЗначениеЗаполнено(Путь) Тогда - - Форма_ЗагрузитьТестовыеНаборы(); - - КонецЕсли; - КонецЕсли; -КонецПроцедуры - -Функция ПолучитьИмяДляСохраненияПараметров() - Возврат Метаданные().Имя + "_Параметры"; -КонецФункции - -Функция ПолучитьМассивПараметровЗапуска() - - Если ПустаяСтрока(ПараметрЗапуска) Тогда - Возврат Неопределено; - КонецЕсли; - - // Параметр может состоять из частей, разделенных символом ";". - // Первая часть - главное значение параметра запуска. - // Наличие дополнительных частей определяется логикой обработки главного параметра. - ПараметрыЗапуска = РазложитьСтрокуВМассивПодстрок(ПараметрЗапуска, ";"); - //ПервыйПараметр = Врег(ПараметрыЗапуска[0]); - - //Отказ = ОбщегоНазначенияКлиентПереопределяемый.ОбработатьПараметрыЗапуска( - // ПервыйПараметр, ПараметрыЗапуска) Или Отказ; - - Возврат ПараметрыЗапуска; - -КонецФункции - - -Процедура ОбработатьПараметрыЗапуска(ПараметрЗапуска) - путьКТестам = ""; - естьКоманда_Загрузить = Ложь; - естьКоманда_ВыполнитьТестирование = Ложь; - естьПутьККаталогуОтчетов = Ложь; - лЗавершитьРаботуПослеТестирования = Ложь; - - Если ПустаяСтрока(ПараметрЗапуска) Тогда - Возврат ; - КонецЕсли; - - параметрыЗапуска = ПолучитьМассивПараметровЗапуска(); - - Если ЗначениеЗаполнено(ПараметрЗапуска) Тогда - - Для Номер = 0 По параметрыЗапуска.Количество()-1 Цикл - ЭлементМассива = параметрыЗапуска.Получить(Номер); - - лКомандаЗапуска = НРег(ЭлементМассива); - - естьКоманда_ВыполнитьТестирование = лКомандаЗапуска = НРег("Тесты_Команда_Тестировать") И ПараметрыЗапуска.Количество() > Номер; - - Если естьКоманда_ВыполнитьТестирование Тогда - путьКТестам = ПараметрыЗапуска[Номер+1]; - естьКоманда_Загрузить = Истина; - Продолжить; - КонецЕсли; - - естьКоманда_Загрузить = (лКомандаЗапуска = НРег("Тесты_Команда_Загрузить") И ПараметрыЗапуска.Количество() > Номер); - Если естьКоманда_Загрузить Тогда - путьКТестам = ПараметрыЗапуска[Номер+1]; - Продолжить; - КонецЕсли; - - //Сообщить("путьКТестам = <"+?(путьКТестам = Неопределено, "Неопределено", путьКТестам)+">"); - - лЗавершитьРаботуПослеТестирования = НРег(ЭлементМассива) = НРег("ЗавершитьРаботуПослеТестирования"); - - Если лКомандаЗапуска = НРег("Тесты_Команда_КаталогОтчетов") И ПараметрыЗапуска.Количество() > Номер Тогда - ПутьОтчетаТестирования = ПараметрыЗапуска[Номер+1]; - КонецЕсли; - - Если лКомандаЗапуска = НРег("Тесты_Команда_ФорматОтчета") И ПараметрыЗапуска.Количество() > Номер Тогда - ТипОтчетаОТестировании = ПараметрыЗапуска[Номер+1]; - КонецЕсли; - - КонецЦикла; - - КонецЕсли; - - Если Не естьКоманда_Загрузить Тогда - Возврат ; - КонецЕсли; - - Если НЕ ПустаяСтрока(путьКТестам) И НЕ ПустаяСтрока(ПутьОтчетаТестирования) Тогда - файл = Новый Файл(путьКТестам); - Если файл.ЭтоКаталог() Тогда - ПутьОтчетаТестирования = путьКТестам + "\"; - Иначе - ПутьОтчетаТестирования = файл.Путь + "\"; - КонецЕсли; - КонецЕсли; - - - Если НЕ ПустаяСтрока(путьКТестам) Тогда - мПуть = Путь; - Путь = путьКТестам; - Попытка - Форма_ЗагрузитьТестовыеНаборы(); - Исключение - текстОшибки = ОписаниеОшибки(); - ВывестиСообщение("ОШИБКА загрузки тестов: "+текстОшибки); - Если лЗавершитьРаботуПослеТестирования Тогда - ЗавершитьРаботуСистемы(Ложь); - Возврат ; - КонецЕсли; - КонецПопытки; - КонецЕсли; - - Если естьКоманда_ВыполнитьТестирование Тогда - Попытка - ПодключитьОбработчикОжидания("ВыполнитьВсеТесты", 1, Истина); - Исключение - текстОшибки = ОписаниеОшибки(); - ВывестиСообщение("ОШИБКА выполнения тестов: "+текстОшибки); - Если лЗавершитьРаботуПослеТестирования Тогда - ЗавершитьРаботуСистемы(Ложь); - Возврат ; - КонецЕсли; - КонецПопытки; - КонецЕсли; - -КонецПроцедуры - -//////////////////////////////////////////////////////////////////////////////// -// ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ - -Процедура ПриОткрытии() - ЭтаФорма.Заголовок = СокрЛП(Метаданные().Синоним) + ", версия " + Версия(); // специально ЭтотОбъект.Версия() для проверки Экспорта! - - ЗагрузитьТестыПоРанееСохраненнымПараметрам(); - - ОбработатьПараметрыЗапуска(ПараметрЗапуска); - -КонецПроцедуры - -Процедура ПриЗакрытии() - лПараметры = Новый Структура("Путь, мСохраненныйПутьОтдельногоТестовогоНабора", Путь, мСохраненныйПутьОтдельногоТестовогоНабора); - СохранитьЗначение(ПолучитьИмяДляСохраненияПараметров(), лПараметры); -КонецПроцедуры - -// Обработка оповещений о загрузке или ходе выполнения тестов. -// -Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) - - // Возможные события: - // 1CUnit.TestLoaded - // 1CUnit.TestPassed - // 1CUnit.TestNotInplemented - // 1CUnit.TestFailed - - Если ИмяСобытия = "1CUnit.TestPassed" Тогда - - ЭлементыФормы.ИндикаторВыполнения.Значение = ЭлементыФормы.ИндикаторВыполнения.Значение + 1; - - ИначеЕсли ИмяСобытия = "1CUnit.TestNotImplemented" Тогда - - ЭлементыФормы.ИндикаторВыполнения.Значение = ЭлементыФормы.ИндикаторВыполнения.Значение + 1; - - Если ЭлементыФормы.ИндикаторВыполнения.ЦветРамки <> WebЦвета.Красный Тогда - ЭлементыФормы.ИндикаторВыполнения.ЦветРамки = WebЦвета.Золотой; - КонецЕсли; - - ИначеЕсли ИмяСобытия = "1CUnit.TestFailed" Тогда - - ЭлементыФормы.ИндикаторВыполнения.Значение = ЭлементыФормы.ИндикаторВыполнения.Значение + 1; - ЭлементыФормы.ИндикаторВыполнения.ЦветРамки = WebЦвета.Красный; - - КонецЕсли; - -КонецПроцедуры - -//////////////////////////////////////////////////////////////////////////////// -// ОБРАБОТЧИКИ ЭЛЕМЕНТОВ УПРАВЛЕНИЯ СТРАНИЦЫ "Тестирование" - -Процедура КнопкаВыполнитьВыделенныйНажатие(Элемент) - - // В случае множественного выделения в общем случае у нас могут быть одновременно выделены - // как строки на уровне обработок тестирования и папок, но и отдельные тестовые случаи. - // Поэтому мы предварительно из выделенных строк получаем ТОЛЬКО строки, соответствующие - // тестовым случаям. При этом, если выделена строка обработки или папка, то значит надо выполнить - // все тестовые случае, реализованные в этой обработке (или все тестовые случаи, реализованные во - // всех обработках в выделенной папке). - - КэшТестовыхСлучаев = ПолучитьТолькоТестовыеСлучаи(ЭлементыФормы.тпДеревоТестов.ВыделенныеСтроки); - - ИнициализироватьИндикаторВыполнения(КэшТестовыхСлучаев.Количество()); - - ПередВыполнениемТестов(); - - датаНачалаТестирования = ТекущаяДата(); - - ОчиститьСообщения(); - Для каждого ЭлементКэша из КэшТестовыхСлучаев Цикл - #Если Клиент Тогда - ОбработкаПрерыванияПользователя(); - #КонецЕсли - - СтрокаТестовогоСлучая = ЭлементКэша.Ключ; - СтрокаТестовогоСлучая.Состояние = ВыполнитьТест(СтрокаТестовогоСлучая, мСписокОшибок); - - ИзменитьСостояниеВыполненияРодителей(СтрокаТестовогоСлучая); - - КонецЦикла; - - ВывестиОтчетТестирования(датаНачалаТестирования); - //ВывестиОтчетТестирования(мСписокОшибок, мВсегоТестов, датаНачалаТестирования); - -КонецПроцедуры - -Процедура КнопкаВыполнитьВсеТестыНажатие(Элемент) - - ВыполнитьВсеТесты(); - -КонецПроцедуры - -Процедура ВыполнитьВсеТесты() - - ИнициализироватьИндикаторВыполнения(мКоличествоТестовыхСлучаев); - - датаНачалаТестирования = ТекущаяДата(); - - ОчиститьСообщения(); - ВыполнитьТесты(ДеревоТестов.Строки); - - табДок = ВывестиОтчетТестирования(датаНачалаТестирования); - - имяФайлаТестирования = "лог_тестирования"; - - Если табДок <> Неопределено Тогда - //ПроверитьТип(табДок, "ТабличныйДокумент", "табДок"); - - табДок.Показать("Отчет об автоматическом тестировании, 1CUnit v." + Версия()); - - Если НЕ ПустаяСтрока(ПутьОтчетаТестирования) Тогда - - Попытка - табДок.Записать(ПутьОтчетаТестирования + "\" + имяФайлаТестирования + ".xlsx", ТипФайлаТабличногоДокумента.XLSX); - Исключение - КонецПопытки; - - Попытка - табДок.Записать(ПутьОтчетаТестирования + "\" +имяФайлаТестирования + ".mxl", ТипФайлаТабличногоДокумента.MXL); - Исключение - КонецПопытки; - КонецЕсли; - Иначе - Если НЕ ПустаяСтрока(ПутьОтчетаТестирования) Тогда - Попытка - УдалитьФайлы(ПутьОтчетаТестирования + "\" + имяФайлаТестирования + ".xlsx"); - Исключение - КонецПопытки; - - Попытка - УдалитьФайлы(ПутьОтчетаТестирования + "\" + имяФайлаТестирования + ".mxl"); - Исключение - КонецПопытки; - КонецЕсли; - КонецЕсли; - - - Если ЭтаФорма.ЗавершитьРаботуПослеТестирования Тогда - ЗавершитьРаботуСистемы(Ложь); - КонецЕсли; - -КонецПроцедуры - -Процедура КнопкаЗагрузитьТестыНажатие(Элемент) - мСохраненныйПутьОтдельногоТестовогоНабора = ""; - - Если ВыбратьКаталогТестов() Тогда - - Форма_ЗагрузитьТестовыеНаборы(); - - КонецЕсли; - -КонецПроцедуры - -Процедура КнопкаЗагрузитьТестыЗагрузитьТестКейс(Кнопка) - - ДиалогВыбораТеста = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); - ДиалогВыбораТеста.Фильтр = "Обработка-тест (*.epf)|*.epf|Все файлы|*"; - ДиалогВыбораТеста.МножественныйВыбор = Ложь; - ДиалогВыбораТеста.ПроверятьСуществованиеФайла = Истина; - ДиалогВыбораТеста.Каталог = Путь; - - Если ДиалогВыбораТеста.Выбрать() Тогда - - Путь = ДиалогВыбораТеста.Каталог; - Форма_ЗагрузитьОтдельныйТестовыйНабор(ДиалогВыбораТеста.ПолноеИмяФайла); - - КонецЕсли; - -КонецПроцедуры - -Процедура КнопкаПерезагрузитьНажатие(Элемент) - - Если ЗначениеЗаполнено(мСохраненныйПутьОтдельногоТестовогоНабора) Тогда - - Форма_ЗагрузитьОтдельныйТестовыйНабор(мСохраненныйПутьОтдельногоТестовогоНабора); - - ИначеЕсли ЗначениеЗаполнено(Путь) Тогда - - Форма_ЗагрузитьТестовыеНаборы(); - - КонецЕсли; - -КонецПроцедуры - -Процедура Форма_ЗагрузитьОтдельныйТестовыйНабор(путьКТестовомуНабору) - ИнициализироватьИндикаторВыполнения(); - - мСохраненныйПутьОтдельногоТестовогоНабора = путьКТестовомуНабору; - - ЗагрузитьВсеТесты(мСохраненныйПутьОтдельногоТестовогоНабора); - - ПосчитатьКоличествоТестовыхСлучаевПоВсемуДеревуТестов(ДеревоТестов); - РазвернутьСтрокиДерева(Истина); -КонецПроцедуры - -Процедура Форма_ЗагрузитьТестовыеНаборы() - ИнициализироватьИндикаторВыполнения(); - - ЗагрузитьВсеТесты(Путь); - - ПосчитатьКоличествоТестовыхСлучаевПоВсемуДеревуТестов(ДеревоТестов); - РазвернутьСтрокиДерева(); -КонецПроцедуры - -// Процедура для кнопки "Переоткрыть" -// Закрывает и вновь открывает текущую форму. -// -Процедура КнопкаПерезагрузитьПерезагрузитьБраузерТестирования(Кнопка) - - Для каждого МетаФорма Из ЭтаФорма.Метаданные().Формы Цикл - ТекФорма = ПолучитьФорму(МетаФорма); // может возвращать неопределено, если есть управляемая форма - Если ТекФорма <> Неопределено И ТекФорма.Открыта() Тогда - ТекФорма.Закрыть(); - Если ТекФорма = ЭтаФорма Тогда - Если Найти(Строка(ТипЗнч(ЭтотОбъект)), "Внешняя обработка объект:") = 1 Тогда - ВнешниеОбработки.Создать(ЭтотОбъект.ИспользуемоеИмяФайла).ПолучитьФорму(МетаФорма.Имя).Открыть(); - Иначе - ВнешниеОтчеты.Создать(ЭтотОбъект.ИспользуемоеИмяФайла).ПолучитьФорму(МетаФорма.Имя).Открыть(); - КонецЕсли; - КонецЕсли; - КонецЕсли; - КонецЦикла; - -КонецПроцедуры - -//////////////////////////////////////////////////////////////////////////////// -// ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ РЕКВИЗИТОВ ТАБЛИЧНОГО ПОЛЯ ДеревоТестов - -Процедура тпДеревоТестовПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) - - ОформлениеСтроки.Ячейки.ПиктограммаСостояния.УстановитьКартинку(мМассивПиктограммСостояний[ДанныеСтроки.Состояние]); - ОформлениеСтроки.Ячейки.Имя.УстановитьКартинку(мМассивПиктограммТиповСтроки[ДанныеСтроки.ТипСтроки]); - ОформлениеСтроки.Ячейки.ПолныйПуть.УстановитьТекст(СтрЗаменить(ДанныеСтроки.ПолныйПуть, Путь, "...")); - -КонецПроцедуры - -//////////////////////////////////////////////////////////////////////////////// -// ОПЕРАТОРЫ ОСНОВНОЙ ПРОГРАММЫ - -//{ Состояния тестов -мМассивПиктограммСостояний = Новый Массив(4); -мМассивПиктограммСостояний[мЗначенияСостоянияТестов.НеВыполнялся] = ЭлементыФормы.ПолеКартинкиСерый.Картинка; -мМассивПиктограммСостояний[мЗначенияСостоянияТестов.Сломался] = ЭлементыФормы.ПолеКартинкиКрасный.Картинка; -мМассивПиктограммСостояний[мЗначенияСостоянияТестов.НеРеализован] = ЭлементыФормы.ПолеКартинкиЖелтый.Картинка; -мМассивПиктограммСостояний[мЗначенияСостоянияТестов.Прошел] = ЭлементыФормы.ПолеКартинкиЗеленый.Картинка; -//} Состояния тестов - -//{ Типы строк дерева тестов -мМассивПиктограммТиповСтроки = Новый Массив(3); -мМассивПиктограммТиповСтроки[мЗначенияТиповСтроки.КаталогТестов] = ЭлементыФормы.ПолеКартинкиКаталогТестов.Картинка; -мМассивПиктограммТиповСтроки[мЗначенияТиповСтроки.ТестовыйСлучай] = ЭлементыФормы.ПолеКартинкиТест.Картинка; -мМассивПиктограммТиповСтроки[мЗначенияТиповСтроки.ТестовыйМетод] = ЭлементыФормы.ПолеКартинкиТестовыйСлучай.Картинка; -//} Типы строк дерева тестов - -мСохраненныйПутьОтдельногоТестовогоНабора = ""; -мАвтозапускТестовыхНаборов = Ложь; \ No newline at end of file diff --git a/src/DataProcessor/UnitTestRunner/ObjectModule.txt b/src/DataProcessor/UnitTestRunner/ObjectModule.txt deleted file mode 100644 index dd3488f0..00000000 --- a/src/DataProcessor/UnitTestRunner/ObjectModule.txt +++ /dev/null @@ -1,1189 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// ПЕРЕМЕННЫЕ МОДУЛЯ - -// Прокси-объект для взаимодействия с внешним миром, -// когда браузер тестов открывается извне, например, -// скриптом для Снегопата. -// -Перем mMiddleMan; - -Перем мИнформатор; // работа с таблицей методов в runtime -Перем мПытаемсяСоздатьИнформатор; - -Перем мЗначенияСостоянияТестов Экспорт; -Перем мЗначенияТиповСтроки Экспорт; -Перем мЗначениеМодульИлиФорма Экспорт; - -// Хранит количество загруженных тестовых случаев. -Перем мКоличествоТестовыхСлучаев Экспорт; - - -Функция Версия() Экспорт - Возврат "1.0.4.1"; -КонецФункции - -//////////////////////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////////////////////// -// МЕТОДЫ ДЛЯ ПРОВЕРКИ ЗНАЧЕНИЙ (assertions). -// -// На основе общего модуля тестирования Я_Тест для 1С:Предприятия 8 (SnowTest) Федора Езеева. -// - -Процедура Проверить(_Истина, ДопСообщениеОшибки = "") Экспорт - Если Не _Истина Тогда - СообщениеОшибки = "Переданный параметр ("+Формат(_Истина, "БЛ=ложь; БИ=истина")+") не является Истиной, а хотели, чтобы являлся." + ФорматДСО(ДопСообщениеОшибки); - ВызватьИсключение(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -Процедура ПроверитьИстину(_Истина, ДопСообщениеОшибки = "") Экспорт - Проверить(_Истина, ДопСообщениеОшибки); -КонецПроцедуры - -Процедура ПроверитьЛожь(_Ложь, ДопСообщениеОшибки = "") Экспорт - Если _Ложь Тогда - СообщениеОшибки = "Переданный параметр ("+Формат(_Ложь, "БЛ=ложь; БИ=истина")+") не является Ложью, а хотели, чтобы являлся." + ФорматДСО(ДопСообщениеОшибки); - ВызватьИсключение(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -Процедура ПроверитьРавенство(_1, _2, ДопСообщениеОшибки = "") Экспорт - Если _1 <> _2 Тогда - СообщениеОшибки = "Сравниваемые значения ("+_1+"; "+_2+") не равны, а хотели, чтобы были равны." + ФорматДСО(ДопСообщениеОшибки); - ВызватьИсключение(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -Процедура ПроверитьНеРавенство(_1, _2, ДопСообщениеОшибки = "") Экспорт - Если _1 = _2 Тогда - СообщениеОшибки = "Сравниваемые значения ("+_1+"; "+_2+") равны, а хотели, чтобы были не равны." + ФорматДСО(ДопСообщениеОшибки); - ВызватьИсключение(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -Процедура ПроверитьБольше(_Больше, _Меньше, ДопСообщениеОшибки = "") Экспорт - Если _Больше <= _Меньше Тогда - СообщениеОшибки = "Первый параметр ("+_Больше+") меньше или равен второму ("+_Меньше+") а хотели, чтобы был больше." + ФорматДСО(ДопСообщениеОшибки); - ВызватьИсключение(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -Процедура ПроверитьБольшеИлиРавно(_Больше, _Меньше, ДопСообщениеОшибки = "") Экспорт - Если _Больше < _Меньше Тогда - СообщениеОшибки = "Первый параметр ("+_Больше+") меньше второго ("+_Меньше+") а хотели, чтобы был больше или равен." + ФорматДСО(ДопСообщениеОшибки); - ВызватьИсключение(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -Процедура ПроверитьМеньше(проверяемоеЗначение1, проверяемоеЗначение2, СообщениеОбОшибке = "") Экспорт - Если проверяемоеЗначение1 >= проверяемоеЗначение2 Тогда - ВызватьИсключение "Значение <"+проверяемоеЗначение1+"> больше или равно, чем <"+проверяемоеЗначение2+">, а ожидалось меньше"+ - ФорматДСО(СообщениеОбОшибке); - КонецЕсли; -КонецПроцедуры - -Процедура ПроверитьМеньшеИлиРавно(проверяемоеЗначение1, проверяемоеЗначение2, СообщениеОбОшибке = "") Экспорт - Если проверяемоеЗначение1 > проверяемоеЗначение2 Тогда - ВызватьИсключение "Значение <"+проверяемоеЗначение1+"> больше, чем <"+проверяемоеЗначение2+">, а ожидалось меньше или равно"+ - ФорматДСО(СообщениеОбОшибке); - КонецЕсли; -КонецПроцедуры - -Процедура ПроверитьВыполнилось(СтрокаВыполнения, ДопСообщениеОшибки = "") Экспорт - Попытка - Выполнить(СтрокаВыполнения); - Упало = Ложь; - Исключение - Упало = Истина; - ПолученноеОписаниеОшибки = ИнформацияОбОшибке().Описание; - КонецПопытки; - - Если Упало Тогда - СообщениеОшибки = "Хотели, чтобы код """+СтрокаВыполнения+""" выполнился, а он упал с ошибкой """+ПолученноеОписаниеОшибки+"""." + ФорматДСО(ДопСообщениеОшибки); - ВызватьИсключение(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -Процедура ПроверитьМетодВыполнился(Объект, ИмяМетода, ДопСообщениеОшибки = "") Экспорт - СтрокаВыполнения = "Объект."+ИмяМетода+"()"; - - Попытка - Выполнить(СтрокаВыполнения); - Упало = Ложь; - Исключение - Упало = Истина; - ПолученноеОписаниеОшибки = ИнформацияОбОшибке().Описание; - КонецПопытки; - - Если Упало Тогда - СообщениеОшибки = "Хотели, чтобы код """+СтрокаВыполнения+""" выполнился, а он упал с ошибкой """+ПолученноеОписаниеОшибки+"""." + ФорматДСО(ДопСообщениеОшибки); - ВызватьИсключение(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -Процедура ПроверитьНеВыполнилось(СтрокаВыполнения, ОжидаемоеОписаниеОшибки, ДопСообщениеОшибки = "") Экспорт - Попытка - Выполнить(СтрокаВыполнения); - Успех = Истина; - Исключение - Успех = Ложь; - ПолученноеОписаниеОшибки = ИнформацияОбОшибке().Описание; - КонецПопытки; - - Если Успех Тогда - ВызватьИсключение("Хотели, чтобы код """+СтрокаВыполнения+""" упал, а он выполнился" + ФорматДСО(ДопСообщениеОшибки)); - КонецЕсли; - Если ОжидаемоеОписаниеОшибки <> ПолученноеОписаниеОшибки Тогда - ВызватьИсключение("Хотели, чтобы код """+СтрокаВыполнения+""" упал с сообщением об ошибке """+ОжидаемоеОписаниеОшибки+""", а он упал с сообщением """+ПолученноеОписаниеОшибки+"""." + ФорматДСО(ДопСообщениеОшибки)); - КонецЕсли; -КонецПроцедуры - -Процедура ПроверитьМетодНеВыполнился(Объект, ИмяМетода, ОжидаемоеОписаниеОшибки, ДопСообщениеОшибки = "") Экспорт - СтрокаВыполнения = "Объект."+ИмяМетода+"()"; - - Попытка - Выполнить(СтрокаВыполнения); - Успех = Истина; - Исключение - Успех = Ложь; - ПолученноеОписаниеОшибки = ИнформацияОбОшибке().Описание; - КонецПопытки; - - Если Успех Тогда - ВызватьИсключение("Хотели, чтобы код """+СтрокаВыполнения+""" упал, а он выполнился" + ФорматДСО(ДопСообщениеОшибки)); - КонецЕсли; - Если ОжидаемоеОписаниеОшибки <> ПолученноеОписаниеОшибки Тогда - ВызватьИсключение("Хотели, чтобы код """+СтрокаВыполнения+""" упал с сообщением об ошибке """+ОжидаемоеОписаниеОшибки+""", а он упал с сообщением """+ПолученноеОписаниеОшибки+"""." + ФорматДСО(ДопСообщениеОшибки)); - КонецЕсли; -КонецПроцедуры - -// проверка идет через ЗначениеЗаполнено, но мутабельные значение всегда считаем заполненными -Процедура ПроверитьЗаполненность(ПроверяемоеЗначение, ДопСообщениеОшибки = "") Экспорт - Попытка - фЗаполнено = ЗначениеЗаполнено(ПроверяемоеЗначение); - Исключение - Возврат; - КонецПопытки; - Если НЕ фЗаполнено Тогда - ВызватьИсключение "Значение ("+ПроверяемоеЗначение+") не заполнено, а ожидалась заполненность" + ФорматДСО(ДопСообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -Процедура ПроверитьНеЗаполненность(ПроверяемоеЗначение, ДопСообщениеОшибки = "") Экспорт - СообщениеОшибки = "Значение ("+ПроверяемоеЗначение+") заполнено, а ожидалась незаполненность" + ФорматДСО(ДопСообщениеОшибки); - Попытка - фЗаполнено = ЗначениеЗаполнено(ПроверяемоеЗначение); - Исключение - ВызватьИсключение СообщениеОшибки; - КонецПопытки; - Если фЗаполнено Тогда - ВызватьИсключение СообщениеОшибки; - КонецЕсли; -КонецПроцедуры - -Процедура ПроверитьТип(значение, ТипИлиИмяТипа, ДопСообщениеОшибки = "") Экспорт - Если ТипЗнч(ТипИлиИмяТипа) = Тип("Строка") Тогда - искомыйТип = Тип(ТипИлиИмяТипа); - ИначеЕсли ТипЗнч(ТипИлиИмяТипа) = Тип("Тип") Тогда - искомыйТип = ТипИлиИмяТипа; - Иначе - ВызватьИсключение "ПроверитьТип: Тип значения параметра ТипИлиИмяТипа должен быть <Тип> или <Строка>, а получили <"+ ТипЗнч(ТипИлиИмяТипа) + ">" + ФорматДСО(ДопСообщениеОшибки); - КонецЕсли; - Если ТипЗнч(значение) <> искомыйТип Тогда - ВызватьИсключение "Типом значения <"+значение+"> является <"+ТипЗнч(значение)+">, а ожидался тип <"+ТипИлиИмяТипа+">."+ФорматДСО(ДопСообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -//////////////////////////////////////////////////////////////////////////////// -// МЕТОДЫ ДЛЯ ИСПОЛЬЗОВАНИЯ ИЗ ОБРАБОТОК ТЕСТИРОВАНИЯ - -// Создает новый набор тестов. -// -Функция Новый_НаборТестов() Экспорт - Возврат Новый Массив; -КонецФункции - -// Добавляет новый тестовый случай в набор. -// -Функция НаборТестов_Добавить(НаборТестов, ИмяТестовогоСлучая, П1=Неопределено, П2=Неопределено, П3=Неопределено, П4=Неопределено, П5=Неопределено, П6=Неопределено, П7=Неопределено) Экспорт - - НаборТестов.Добавить(ИмяТестовогоСлучая); - Возврат НаборТестов; - -КонецФункции - -// Выводит сообщение. В тестах ВСЕГДА должна использоваться ВМЕСТО метода Сообщить(). -// -Функция ВывестиСообщение(ТекстСообщения, Статус=Неопределено) Экспорт - - Если mMiddleMan <> Неопределено Тогда - mMiddleMan.Message(ТекстСообщения); - Иначе - Сообщить(ТекстСообщения, Статус); - КонецЕсли; - -КонецФункции - -// Вызывает исключение с заданным текстом ошибки для прерывания выполнения тестового случая. -// -Функция ПрерватьТест(ТекстОшибки) Экспорт - - ВызватьИсключение ТекстОшибки; - -КонецФункции - -//////////////////////////////////////////////////////////////////////////////// -// ВНЕШНЕЕ API (для использования из скрипта Снегопата или из COM-подключения). - -Процедура OpenBrowserForm() Экспорт - ЭтотОбъект.ПолучитьФорму("Форма").Открыть(); -КонецПроцедуры - -// Устанавливает объект-прокси, который будет получать сообщения -// о ходе загрузки и выполнения тестов, сообщения, выводимые при -// выполнении тестов. Для использования в скрипте для Снегопата. -// -Функция SetHandlerObject(obj) Экспорт - mMiddleMan = obj; -КонецФункции - -// Загружает все тесты из каталога в дерево тестов. -// -Функция LoadAllTests(ПутьККаталогу) Экспорт - - ДеревоТестов.Строки.Очистить(); - - ЗагрузитьТесты(ДеревоТестов, Новый Файл(ПутьККаталогу)); - -КонецФункции - -// Загружает отдельную обработку тестирования в дерево тестов. -// -Функция LoadTest(ПутьКФайлуТеста) Экспорт - - ДеревоТестов.Строки.Очистить(); - - ЗагрузитьТесты(ДеревоТестов, Новый Файл(ПутьКФайлуТеста)); - -КонецФункции - -// Выполняет все тесты, загруженные в дерево тестов. -// -Функция RunAllTests() Экспорт - - #Если Клиент Тогда - ОчиститьСообщения(); - #КонецЕсли - ВыполнитьТесты(ДеревоТестов.Строки); - -КонецФункции - -// Запускает отдельный тест из дерева тестов. -// -Функция RunTest(TestRow) Экспорт - - #Если Клиент Тогда - ОчиститьСообщения(); - #КонецЕсли - - ПередВыполнениемТестов(); - ВыполнитьТест(TestRow, мСписокОшибок); - -КонецФункции - -//////////////////////////////////////////////////////////////////////////////// -// МЕТОДЫ ДЛЯ ВЫПОЛНЕНИЯ ТЕСТОВ - -// Выполняет отдельный тест. -// -Функция ВыполнитьТест(СтрокаДереваТестов, СписокОшибокРез) Экспорт - Перем Тест; // специально локальная переменная для исключения циклических ссылок - - Тест = Неопределено; - - мСписокОшибок = СписокОшибокРез; - - ИмяТестовогоСлучая = СтрокаДереваТестов.ИмяТестовогоСлучая; //Имя; - - Попытка - Тест = СоздатьОбъектВнешнейОбработкиОтключаяБезопасныйРежим(СтрокаДереваТестов.ПолныйПуть); //ВнешниеОбработки.Создать(СтрокаДереваТестов.ПолныйПуть, Ложь); // безопасный режим выключен - массивТестов = ПолучитьТестовыеСлучаи(Тест); // возможно, что тест сохранит у себя ссылку на браузер - ПроверитьЗаполненность(массивТестов, "Не удалось получить тестовые случаи"); - Исключение - - текстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()) ; - СостояниеВыполнения = ВывестиОшибкуВыполненияТеста(ИмяТестовогоСлучая, текстОшибки, СтрокаДереваТестов, ОписаниеОшибки(), ИнформацияОбОшибке()); - - Тест = Неопределено; // обязательно удаляем, для исключения циклических ссылок - - Возврат СостояниеВыполнения; - КонецПопытки; - - СостояниеВыполнения = мЗначенияСостоянияТестов.НеВыполнялся; - - параметрыТеста = СтрокаДереваТестов.ПараметрыТеста; - естьПараметры = СтрокаДереваТестов.ЕстьПараметрыТеста; - - естьТранзакция = Ложь; - Если естьПараметры Тогда - лПараметрыТеста = ?(ТипЗнч(параметрыТеста) = Тип("Структура"), параметрыТеста, параметрыТеста[0].Значение); - Если лПараметрыТеста.Свойство("Транзакция", естьТранзакция) Тогда - естьТранзакция = ТипЗнч(естьТранзакция) = Тип("Булево") и естьТранзакция; - Иначе - естьТранзакция = Ложь; - КонецЕсли; - - //естьТранзакция = ?(ТипЗнч(параметрыТеста) = Тип("Структура"), параметрыТеста, параметрыТеста[0].Значение).Свойство("Транзакция", естьТранзакция) - // или ТипЗнч(естьТранзакция) = Тип("Булево") и естьТранзакция; - Если естьТранзакция Тогда - НачатьТранзакцию(); - КонецЕсли; - КонецЕсли; - - //TODO Если первый раз запуск setup оказался неуспешным, то при повторном прогоне без перезагрузки - // не выполнять, также не выполнять для следующих тестовых случаев. - лСостояниеВыполнения = ВыполнитьПроцедуруТестовогоСлучая(Тест, "ПередЗапускомТеста", ИмяТестовогоСлучая, СтрокаДереваТестов); - Если лСостояниеВыполнения <> Неопределено Тогда - СостояниеВыполнения = лСостояниеВыполнения; - КонецЕсли; - Если СостояниеВыполнения = мЗначенияСостоянияТестов.Сломался Тогда - Возврат мЗначенияСостоянияТестов.Сломался; - КонецЕсли; - - переданПараметрТеста = Ложь; - параметрТеста = ""; - - Если естьПараметры Тогда - лПараметрыТеста = ?(ТипЗнч(параметрыТеста) = Тип("Структура"), параметрыТеста, параметрыТеста[0].Значение); - переданПараметрТеста = лПараметрыТеста.Свойство("Параметр", параметрТеста); - - Если переданПараметрТеста Тогда - строкаПараметров = "параметрТеста"; - КонецЕсли; - КонецЕсли; - - Попытка - - Выполнить("Тест." + ИмяТестовогоСлучая + "(" + строкаПараметров + ");"); - - СостояниеВыполнения = мЗначенияСостоянияТестов.Прошел; - - ОповеститьОСобытии("TestPassed", СтрокаДереваТестов); - - Исключение - - текстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()) ; //Ошибка.Описание + ". " + Ошибка.Причина.Описание + ". Номер строки: " + Ошибка.НомерСтроки; - - Если ЕстьОшибка_МетодОбъектаНеОбнаружен(текстОшибки, ИмяТестовогоСлучая) Тогда - //Если Найти(текстОшибки, "Метод объекта не обнаружен ("+ИмяТестовогоСлучая+")") > 0 Тогда - СостояниеВыполнения = мЗначенияСостоянияТестов.НеРеализован; - - ОповеститьОСобытии("TestNotImplemented", СтрокаДереваТестов); - - Иначе - - СостояниеВыполнения = ВывестиОшибкуВыполненияТеста(ИмяТестовогоСлучая, текстОшибки, СтрокаДереваТестов, ОписаниеОшибки(), ИнформацияОбОшибке()); - - КонецЕсли; - - КонецПопытки; - - лСостояниеВыполнения = ВыполнитьПроцедуруТестовогоСлучая(Тест, "ПослеЗапускаТеста", ИмяТестовогоСлучая, СтрокаДереваТестов); - Если лСостояниеВыполнения <> Неопределено Тогда - СостояниеВыполнения = ЗапомнитьСамоеХудшееСостояние(СостояниеВыполнения, лСостояниеВыполнения); //СостояниеВыполнения = лСостояниеВыполнения; - КонецЕсли; - - Если естьТранзакция Тогда - Если ТранзакцияАктивна() Тогда - ОтменитьТранзакцию(); - КонецЕсли; - КонецЕсли; - - Тест = Неопределено; // для исключения циклических ссылок - - Возврат СостояниеВыполнения; - -КонецФункции - -Функция ВыполнитьПроцедуруТестовогоСлучая(Тест, ИмяПроцедуры, ИмяТестовогоСлучая, СтрокаДереваТестов) - СостояниеВыполнения = Неопределено; - - Попытка - Выполнить("Тест." + ИмяПроцедуры + "();"); - Исключение - текстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()) ; - - Если НЕ ЕстьОшибка_МетодОбъектаНеОбнаружен(текстОшибки, ИмяПроцедуры) Тогда - //Если Найти(текстОшибки, "Метод объекта не обнаружен (" + ИмяПроцедуры + ")") = 0 Тогда - СостояниеВыполнения = ВывестиОшибкуВыполненияТеста(ИмяТестовогоСлучая, текстОшибки, СтрокаДереваТестов, ОписаниеОшибки(), ИнформацияОбОшибке()); - КонецЕсли; - КонецПопытки; - - Возврат СостояниеВыполнения; - -КонецФункции - -Функция ВывестиОшибкуВыполненияТеста(ИмяТестовогоСлучая, текстОшибки, СтрокаДереваТестов, СообщениеОбОшибке, ИнфоОшибки) - - СостояниеВыполнения = мЗначенияСостоянияТестов.Сломался; - - СтруктураОшибки = Новый Структура(); - - Если ТипЗнч(СтрокаДереваТестов) = Тип("СтрокаДереваЗначений") ИЛИ ТипЗнч(СтрокаДереваТестов) = Тип("ДеревоЗначений") Тогда - СтруктураОшибки.Вставить("ИмяТестовогоНабора", СтрокаДереваТестов.Родитель.Имя); - ИначеЕсли ТипЗнч(СтрокаДереваТестов) = Тип("ДанныеФормыЭлементДерева") ИЛИ ТипЗнч(СтрокаДереваТестов) = Тип("ДанныеФормыДерево") Тогда - СтруктураОшибки.Вставить("ИмяТестовогоНабора", СтрокаДереваТестов.ПолучитьРодителя().Имя); - КонецЕсли; - - //стИнфоОшибки = Новый Структура("ИмяМодуля,ИсходнаяСтрока,НомерСтроки,Описание,Причина"); - //ЗаполнитьЗначенияСвойств(стИнфоОшибки, ИнфоОшибки); - - стИнфоОшибки = Новый Структура("ИмяМодуля,ИсходнаяСтрока,НомерСтроки,Описание"); //,Причина"); - ЗаполнитьЗначенияСвойств(стИнфоОшибки, ИнфоОшибки); - //стИнфоОшибки.Вставить("Причина", Новый Структура("ИмяМодуля,ИсходнаяСтрока,НомерСтроки,Описание")); - стИнфоОшибки.Вставить("Причина", Неопределено); - - стИнфоОшибкиЦикл = стИнфоОшибки; - ИнфоОшибки = ИнфоОшибки.Причина; - Пока ИнфоОшибки <> Неопределено Цикл // Артур TODO - стИнфоОшибкиЦикл.Причина = Новый Структура("ИмяМодуля,ИсходнаяСтрока,НомерСтроки,Описание");//,Причина"); - стИнфоОшибкиЦикл = стИнфоОшибкиЦикл.Причина; - ЗаполнитьЗначенияСвойств(стИнфоОшибкиЦикл, ИнфоОшибки); - стИнфоОшибкиЦикл.Вставить("Причина", Неопределено); - //стИнфоОшибкиЦикл.Вставить("Причина", Новый Структура("ИмяМодуля,ИсходнаяСтрока,НомерСтроки,Описание")); - - //стИнфоОшибкиЦикл = стИнфоОшибкиЦикл.Причина; - ИнфоОшибки = ИнфоОшибки.Причина; - КонецЦикла; - - СтруктураОшибки.Вставить("ИмяТестовогоСлучая", ИмяТестовогоСлучая); - СтруктураОшибки.Вставить("Описание", текстОшибки); - СтруктураОшибки.Вставить("СообщениеОбОшибке", СообщениеОбОшибке); - СтруктураОшибки.Вставить("ИнфоОшибки", стИнфоОшибки); - СтруктураОшибки.Вставить("ЕстьПараметрыТеста", СтрокаДереваТестов.ЕстьПараметрыТеста); - СтруктураОшибки.Вставить("ПараметрыТеста", СтрокаДереваТестов.ПараметрыТеста); - СтруктураОшибки.Вставить("ПолныйПуть", СтрокаДереваТестов.ПолныйПуть); - - ВывестиОшибку(СтруктураОшибки); - - //#Если ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда - мСписокОшибок.Добавить(СтруктураОшибки); - //#Иначе - //#КонецЕсли - - Попытка - ОповеститьОСобытии("TestFailed", СтрокаДереваТестов); - Исключение - КонецПопытки; - - Возврат СостояниеВыполнения; - -КонецФункции - -// Выполняет рекурсивно все тесты строки дерева тестов для -// строк, являющихся группами (обработками или каталогами). -// -Функция _ВыполнитьТесты(СтрокиДереваТестов) //Экспорт - - СостояниеРезультат = мЗначенияСостоянияТестов.НеВыполнялся; - - Для каждого СтрокаДереваТестов из СтрокиДереваТестов Цикл - #Если Клиент Тогда - ОбработкаПрерыванияПользователя(); - #КонецЕсли - - Если СтрокаДереваТестов.ТипСтроки = мЗначенияТиповСтроки.ТестовыйМетод Тогда - - мВсегоТестов = мВсегоТестов + 1; - НовоеСостояние = ВыполнитьТест(СтрокаДереваТестов, мСписокОшибок); - - Иначе - - НовоеСостояние = _ВыполнитьТесты(СтрокаДереваТестов.Строки); - - КонецЕсли; - - СтрокаДереваТестов.Состояние = НовоеСостояние; - - ЗапомнитьСамоеХудшееСостояние(СостояниеРезультат, НовоеСостояние); - - КонецЦикла; - - Возврат СостояниеРезультат; - -КонецФункции - -// Выполняет рекурсивно все тесты строки дерева тестов для -// строк, являющихся группами (обработками или каталогами). -// -Функция ВыполнитьТесты(СтрокиДереваТестов) Экспорт - ПередВыполнениемТестов(); - - датаНачалаТестирования = ТекущаяДата(); - - результат = _ВыполнитьТесты(СтрокиДереваТестов); - - //ВывестиОтчетТестирования(мСписокОшибок, мВсегоТестов, датаНачалаТестирования); - - Возврат результат; -КонецФункции - -Процедура ПередВыполнениемТестов() Экспорт - мСписокОшибок = Новый СписокЗначений; - мВсегоТестов = 0; -КонецПроцедуры - - -//////////////////////////////////////////////////////////////////////////////// -// МЕТОДЫ ЗАГРУЗКИ ТЕСТОВ - -// Загружает тесты в дерево тестов из каталога. -// -Функция ЗагрузитьВсеТесты(ПутьККаталогу) Экспорт - - мКоличествоТестовыхСлучаев = 0; - - ДеревоТестов.Строки.Очистить(); - - ОбъектФайл = Новый Файл(ПутьККаталогу); - Если ОбъектФайл.Существует() Тогда - - Возврат ЗагрузитьТесты(ДеревоТестов, ОбъектФайл); - - КонецЕсли; - - ВывестиОшибку(НСтр("en = 'File or directory does not exist ""'; ru = 'Файл или каталог не существует ""'") + - ОбъектФайл.ПолноеИмя + """"); - Возврат Ложь; -КонецФункции - -// Выполняет рекурсивную загрузку тестов и тестовых случаев -// из обработки или каталога с обработками для тестирования. -// -Функция ЗагрузитьТесты(РодительскаяСтрока, ОбъектФайл) - - Если ОбъектФайл.ЭтоКаталог() Тогда - - СтрокаКаталога = ДобавитьСтрокуДереваТестов(РодительскаяСтрока, ОбъектФайл.Имя, ОбъектФайл.ПолноеИмя, - мЗначенияТиповСтроки.КаталогТестов, Неопределено); - - НайденныеФайлы = НайтиФайлы(ОбъектФайл.ПолноеИмя, "*", Ложь); - Для каждого Файл из НайденныеФайлы Цикл - #Если Клиент Тогда - ОбработкаПрерыванияПользователя(); - #КонецЕсли - - Если Файл.ЭтоКаталог() Тогда - - ЗагрузитьТесты(СтрокаКаталога, Файл); - - ИначеЕсли НРег(Файл.Расширение) = ".epf" Тогда //И НРег(Лев(Файл.Имя, 4)) = "тест" Тогда - - ДобавитьТест(СтрокаКаталога, Файл); - - КонецЕсли; - - КонецЦикла; - - Если СтрокаКаталога.Строки.Количество() = 0 Тогда - РодительскаяСтрока.Строки.Удалить(СтрокаКаталога); - КонецЕсли; - - Иначе - - Если РодительскаяСтрока = ДеревоТестов ИЛИ РодительскаяСтрока.ТипСтроки = мЗначенияТиповСтроки.КаталогТестов Тогда - ДобавитьТест(РодительскаяСтрока, ОбъектФайл); - КонецЕсли; - - КонецЕсли; - - Возврат Истина; -КонецФункции - -// Добавляет тестовую обработку (тест) в дерево тестов. -// -Процедура ДобавитьТест(РодительскаяСтрока, ФайлТеста, ТестовыйСлучайОбъектМетаданныхИмя = Неопределено, ДобавлятьСтрокуТестОбъект = Истина, НуженСписокЗначений = Ложь) Экспорт - Перем ТестОбъект; // специально локальная переменная для исключения циклических ссылок - - ТестОбъект = Неопределено; - - Попытка - Если ТестовыйСлучайОбъектМетаданныхИмя = Неопределено Тогда - ТестОбъект = СоздатьОбъектВнешнейОбработкиОтключаяБезопасныйРежим(ФайлТеста.ПолноеИмя); //ВнешниеОбработки.Создать(ФайлТеста.ПолноеИмя, Ложь); // безопасный режим выключен - Иначе - ТестОбъект = СоздатьОбъектВнешнейОбработкиОтключаяБезопасныйРежим(ТестовыйСлучайОбъектМетаданныхИмя); //ВнешниеОбработки.Создать(ТестовыйСлучайОбъектМетаданныхИмя, Ложь); // безопасный режим выключен - КонецЕсли; - Исключение - ВывестиОшибку("Тест не загружен: " + ФайлТеста.ПолноеИмя + " - | Ошибка: " + ОписаниеОшибки()); - Возврат; - КонецПопытки; - - МассивТестовыхСлучаев = ПолучитьТестовыеСлучаи(ТестОбъект); - - Если МассивТестовыхСлучаев <> Неопределено Тогда - - Если ДобавлятьСтрокуТестОбъект Тогда - СтрокаТеста = ДобавитьСтрокуДереваТестов(РодительскаяСтрока, ФайлТеста.ИмяБезРасширения, ФайлТеста.ПолноеИмя, - мЗначенияТиповСтроки.ТестовыйСлучай, Неопределено,,, НуженСписокЗначений); - Иначе - СтрокаТеста = РодительскаяСтрока; - КонецЕсли; - - - Для каждого ТестовыйСлучай из МассивТестовыхСлучаев Цикл - #Если Клиент Тогда - ОбработкаПрерыванияПользователя(); - #КонецЕсли - - Если ТипЗнч(ТестовыйСлучай) = Тип("Строка") Тогда - имяТестовогоСлучая = ТестовыйСлучай; - параметрыТеста = Неопределено; - Иначе - имяТестовогоСлучая = ТестовыйСлучай.ИмяТеста; - параметрыТеста = ТестовыйСлучай; - КонецЕсли; - - ДобавитьСтрокуДереваТестов(СтрокаТеста, имяТестовогоСлучая, ФайлТеста.ПолноеИмя, - мЗначенияТиповСтроки.ТестовыйМетод, параметрыТеста,, мЗначениеМодульИлиФорма.Модуль, НуженСписокЗначений); - - мКоличествоТестовыхСлучаев = мКоличествоТестовыхСлучаев + 1; - - КонецЦикла; - - КонецЕсли; - - ТестОбъект = Неопределено; -КонецПроцедуры - -// Добавляет в дерево тестов новую строку. -// -Функция ДобавитьСтрокуДереваТестов(РодительскаяСтрока, Имя, ПутьКФайлу, ТипСтроки = 0, ПараметрыТеста = Неопределено, Состояние=0, МодульИлиФорма = 0, НуженСписокЗначений = Ложь) - - Если ТипЗнч(РодительскаяСтрока) = Тип("СтрокаДереваЗначений") ИЛИ ТипЗнч(РодительскаяСтрока) = Тип("ДеревоЗначений") Тогда - НоваяСтрока = РодительскаяСтрока.Строки.Добавить(); - ИначеЕсли ТипЗнч(РодительскаяСтрока) = Тип("ДанныеФормыЭлементДерева") ИЛИ ТипЗнч(РодительскаяСтрока) = Тип("ДанныеФормыДерево") Тогда - НоваяСтрока = РодительскаяСтрока.ПолучитьЭлементы().Добавить(); - КонецЕсли; - - НоваяСтрока.Имя = Имя; - НоваяСтрока.ПолныйПуть = ПутьКФайлу; - //НоваяСтрока.ПредставлениеПути = СтрЗаменить(ПутьКФайлу, НоваяСтрока.ПолучитьРодителя().ПолныйПуть, "..."); - НоваяСтрока.ТипСтроки = ТипСтроки; - НоваяСтрока.Состояние = Состояние; - НоваяСтрока._guid = Строка(Новый УникальныйИдентификатор()); - НоваяСтрока.МодульИлиФорма = МодульИлиФорма; - - НоваяСтрока.ЕстьПараметрыТеста = Ложь; - НоваяСтрока.ИмяТестовогоСлучая = Имя; - - Если НуженСписокЗначений И ПараметрыТеста <> Неопределено Тогда - СЗ = Новый СписокЗначений(); - СЗ.Добавить(ПараметрыТеста); - НоваяСтрока.ПараметрыТеста = СЗ; - - описаниеПараметра = "<пусто>"; - Если ПараметрыТеста.Свойство("Параметр") Тогда - описаниеПараметра = "" + ПараметрыТеста.Параметр; - КонецЕсли; - - НоваяСтрока.Имя = НоваяСтрока.Имя + " ( " + описаниеПараметра + " )"; - - НоваяСтрока.ЕстьПараметрыТеста = Истина; - Иначе - НоваяСтрока.ПараметрыТеста = ПараметрыТеста; - Если ПараметрыТеста <> Неопределено Тогда - описаниеПараметра = "<пусто>"; - Если ПараметрыТеста.Свойство("Параметр") Тогда - описаниеПараметра = "" + ПараметрыТеста.Параметр; - КонецЕсли; - - НоваяСтрока.Имя = НоваяСтрока.Имя + " ( " + описаниеПараметра + " )"; - НоваяСтрока.ЕстьПараметрыТеста = Истина; - КонецЕсли; - - КонецЕсли; - - ОповеститьОСобытии("TestLoaded", НоваяСтрока); - - Возврат НоваяСтрока; - -КонецФункции - - -// получает мИнформатор. Возвращает Неопределено, если мИнформатор не удалось загрузить -Функция ПолучитьИнформатор() Экспорт - -#Если НЕ ТолстыйКлиентОбычноеПриложение Тогда - ВызватьИсключение "Информатор пока можно использовать только в толстом клиенте обычного приложения!"; -#КонецЕсли - - Если мИнформатор = Неопределено И мПытаемсяСоздатьИнформатор Тогда - СистемнаяИнформация = Новый СистемнаяИнформация; - используемПлатформу8_3 = Лев(СистемнаяИнформация.ВерсияПриложения, 3) = "8.3"; - Если используемПлатформу8_3 Тогда - мПытаемсяСоздатьИнформатор = Ложь; - Возврат Неопределено; - КонецЕсли; - - файл = Новый Файл(ЭтотОбъект.ИспользуемоеИмяФайла); - путьИнформатора = файл.Путь + "Informator.epf"; - файл = Новый Файл(путьИнформатора); - - Если НЕ файл.Существует() Тогда - ВывестиОшибку("Класс Информатор не найден <"+путьИнформатора+">"); - Возврат Неопределено; - КонецЕсли; - - Попытка - мИнформатор = СоздатьОбъектВнешнейОбработкиОтключаяБезопасныйРежим(путьИнформатора); //ВнешниеОбработки.Создать(путьИнформатора, Ложь); // безопасный режим выключен - Исключение - ВывестиОшибку("Класс Информатор не удалось создать <"+путьИнформатора+">"); - - мИнформатор = Неопределено; - мПытаемсяСоздатьИнформатор = Ложь; - Возврат Неопределено; - КонецПопытки; - КонецЕсли; - - Возврат мИнформатор; -КонецФункции - -// Получает с помощью Информатора массив тестовых экспортных методов, начинающихся с Тест -// может вызываться из теста из его метода ПолучитьСписокТестов(ЮнитТестирование) -Функция ДобавитьПростыеТестыИзОбъекта(массивТестов, ТестовыйОбъект) Экспорт - Если мИнформатор = Неопределено Тогда - Возврат Ложь; - КонецЕсли; - - Попытка - ТаблицаМетодов = мИнформатор.ПолучитьТаблицуМетодов(ТестовыйОбъект); - - Для каждого СтрокаТаблицыМетодов из ТаблицаМетодов Цикл - наименованиеТеста = СтрокаТаблицыМетодов.Наименование; - Если НРег(Лев(наименованиеТеста, 4)) = "тест" - И СтрокаТаблицыМетодов.КоличествоПараметров = 0 Тогда - - Если массивТестов.Найти(наименованиеТеста) = Неопределено Тогда - массивТестов.Добавить(наименованиеТеста); - КонецЕсли; - КонецЕсли; - КонецЦикла; - Исключение - ВывестиОшибку("Ошибка получения списка тестовых случаев: " + ОписаниеОшибки()); - Возврат Ложь; - КонецПопытки; - - Возврат Истина; -КонецФункции - -// Возвращает массив тестовых случаев обработки для тестирования. -Функция ПолучитьТестовыеСлучаи(ТестОбъект) - Попытка - - #Если ТолстыйКлиентОбычноеПриложение Тогда - //#Если Клиент Тогда - получаемСписокТестовИзТестОбъекта = мИнформатор = Неопределено - или мИнформатор.МетодСуществует(ТестОбъект, "ПолучитьСписокТестов"); // после вызова Информатора появляются циклические ссылки - Если НЕ получаемСписокТестовИзТестОбъекта Тогда - //Если выводитьОшибку Тогда - // ВывестиОшибку("Набор тестов не загружен: " + ТестОбъект.ИспользуемоеИмяФайла + " - // | Ошибка получения списка тестовых случаев: " + ОписаниеОшибки()); - //КонецЕсли; - - Возврат Неопределено; - КонецЕсли; - - #Иначе - получаемСписокТестовИзТестОбъекта = Истина; - #КонецЕсли - - Если получаемСписокТестовИзТестОбъекта Тогда - МассивТестовыхСлучаев = ТестОбъект.ПолучитьСписокТестов(ЭтотОбъект); - КонецЕсли; - - Исключение - //Если выводитьОшибку Тогда - текстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()) ; //Ошибка.Описание + ". " + Ошибка.Причина.Описание + ". Номер строки: " + Ошибка.НомерСтроки; - - // TODO если не использовать переменную ниже, а поставить вызов метода в условие, то будет глюк - внутрь условия не попадаем ! - ЕстьОшибка_МетодОбъектаНеОбнаружен = ЕстьОшибка_МетодОбъектаНеОбнаружен(текстОшибки, "ПолучитьСписокТестов"); - Если НЕ ЕстьОшибка_МетодОбъектаНеОбнаружен Тогда - - ВывестиОшибку("Набор тестов не загружен: " + ТестОбъект.ИспользуемоеИмяФайла + " - | Ошибка получения списка тестовых случаев: " + ОписаниеОшибки()); - - ТестОбъект = Неопределено; - КонецЕсли; - - Возврат Неопределено; - - КонецПопытки; - - Если ТипЗнч(МассивТестовыхСлучаев) <> Тип("Массив") Тогда - - //Если выводитьОшибку Тогда - ВывестиОшибку("Набор тестов не загружен: " + ТестОбъект.ИспользуемоеИмяФайла + " - | Ошибка получения списка тестовых случаев: вместо массива имен тестовых случаев получен объект <" + Строка(ТипЗнч(МассивТестовыхСлучаев)) + ">"); - //КонецЕсли; - ТестОбъект = Неопределено; - Возврат Неопределено; - - КонецЕсли; - - Если НЕ ПроверитьМассивТестовыхСлучаев(МассивТестовыхСлучаев, ТестОбъект) Тогда - Возврат Неопределено; - КонецЕсли; - - Возврат МассивТестовыхСлучаев; - - //Исключение - // Если выводитьОшибку Тогда - // ВывестиОшибку("Набор тестов не загружен: " + ТестОбъект.ИспользуемоеИмяФайла + " - // | Ошибка получения списка тестовых случаев: " + ОписаниеОшибки()); - // КонецЕсли; - // - //КонецПопытки; - - Возврат Неопределено; - -КонецФункции - -Функция ПроверитьМассивТестовыхСлучаев(МассивТестовыхСлучаев, ТестОбъект) - Для каждого данныеТеста из МассивТестовыхСлучаев Цикл - Если ТипЗнч(данныеТеста) = Тип("Строка") Тогда - Продолжить; - КонецЕсли; - - Если ТипЗнч(данныеТеста) <> Тип("Структура") Тогда - ВывестиОшибку("Набор тестов не загружен: " + ТестОбъект.ИспользуемоеИмяФайла + " - | Ошибка получения структуры описания тестового случая: " + ОписаниеОшибки()); - Возврат Ложь; - КонецЕсли; - Если НЕ данныеТеста.Свойство("ИмяТеста") Тогда - ВывестиОшибку("Набор тестов не загружен: " + ТестОбъект.ИспользуемоеИмяФайла + " - | Не задано имя теста в структуре описания тестового случая: " + ОписаниеОшибки()); - Возврат Ложь; - КонецЕсли; - КонецЦикла; - Возврат Истина; -КонецФункции - -// Возвращает количество подчиненных тестовых случаев для заданной строки дерева тестов. -// -Функция ПолучитьКоличествоТестовыхСлучаев(СтрокаДереваТестов) Экспорт - - Если СтрокаДереваТестов.ТипСтроки = мЗначенияТиповСтроки.ТестовыйМетод Тогда - Возврат 1; - КонецЕсли; - - КоличествоТестовыхСлучаев = 0; - Для каждого ПодчиненнаяСтрока из СтрокаДереваТестов.Строки Цикл - КоличествоТестовыхСлучаев = КоличествоТестовыхСлучаев + ПолучитьКоличествоТестовыхСлучаев(ПодчиненнаяСтрока); - КонецЦикла; - - Возврат КоличествоТестовыхСлучаев; - -КонецФункции - -//&НаСервере -Функция ВывестиОтчетТестирования(датаНачалаТестирования) Экспорт -//Процедура ВывестиОтчетТестирования(СписокОшибок, ВсегоТестов, датаНачалаТестирования) Экспорт - СписокОшибок = мСписокОшибок; - ВсегоТестов = мВсегоТестов; - - КоличествоОшибок = СписокОшибок.Количество(); - Если КоличествоОшибок = 0 Тогда - Возврат Неопределено; - КонецЕсли; - - #Если Клиент Тогда - ОчиститьСообщения(); - #КонецЕсли - - ПрошлоВремени = ТекущаяДата() - датаНачалаТестирования; - - ТабДок = Новый ТабличныйДокумент; - макет = ПолучитьМакет("ОтчетТестирования"); - - Секция = макет.ПолучитьОбласть("Заголовок"); //"R1C1:R6C1"); - Секция.Параметры.ВсегоТестов = ВсегоТестов; - Секция.Параметры.КоличествоОшибок = КоличествоОшибок; - Секция.Параметры.ПрошлоВремени = ПрошлоВремени; - Секция.Параметры.ПрошлоВремениСтрока = формат(Дата(1,1,1) + ПрошлоВремени, "ДЛФ=T"); - Секция.Параметры.ВремяВыполненияОдногоТеста = ?(ВсегоТестов = 0, "", Формат(ПрошлоВремени / ВсегоТестов * 1000, "ЧЦ=15; ЧДЦ=2")); - ТабДок.Вывести(Секция); - - ТабДок.НачатьАвтогруппировкуСтрок(); - - Для Каждого Ошибка Из СписокОшибок Цикл - #Если Клиент Тогда - ОбработкаПрерыванияПользователя(); - #КонецЕсли - - ВывестиОшибкуВМакет(ТабДок, макет, Ошибка.Значение); - КонецЦикла; - - ТабДок.ЗакончитьАвтогруппировкуСтрок(); - - ТабДок.ОтображатьСетку = Ложь; - ТабДок.Защита = Ложь; - ТабДок.ТолькоПросмотр = Ложь; - ТабДок.ОтображатьЗаголовки = Ложь; - ТабДок.Показать("Отчет об автоматическом тестировании, 1CUnit v." + Версия()); - - Возврат ТабДок; -КонецФункции - -Процедура ВывестиОшибкуВМакет(ТабДок, макет, _Ошибка) - Секция = макет.ПолучитьОбласть("НаименованиеНабора"); - ЗаполнитьЗначенияСвойств(Секция.Параметры, _Ошибка); - ТабДок.Вывести(Секция, 1); - - Секция = макет.ПолучитьОбласть("НаименованиеТеста"); - ЗаполнитьЗначенияСвойств(Секция.Параметры, _Ошибка); - ТабДок.Вывести(Секция, 2); - - Если _Ошибка.ЕстьПараметрыТеста Тогда - Секция = макет.ПолучитьОбласть("ПараметрыТеста"); - ЗаполнитьЗначенияСвойств(Секция.Параметры, _Ошибка); - //Секция.Область("R4C1").Текст = "Параметр метода: "+_Ошибка.ПараметрыТеста; - ТабДок.Вывести(Секция, 2); - КонецЕсли; - - ИнфоОшибки = _Ошибка.ИнфоОшибки; - Пока ИнфоОшибки <> Неопределено Цикл // Артур TODO - Секция = макет.ПолучитьОбласть("R1C1:R4C3"); - Секция.Область("R1C3").Текст = ИнфоОшибки.ИмяМодуля + ", строка № "+ИнфоОшибки.НомерСтроки; - Секция.Область("R2C3").Текст = ИнфоОшибки.ИсходнаяСтрока; - //Секция.Область("R3C3").Текст = ИнфоОшибки.НомерСтроки; - //Секция.Область("R4C3").Текст = ИнфоОшибки.Описание; - Секция.Область("R3C3").Текст = ИнфоОшибки.Описание; - - //Секция.Область("R5C3").Текст = ПодробноеПредставлениеОшибки(ИнфоОшибки); // Артур - лишнее описание ошибки - - ТабДок.Вывести(Секция, 3); - - ИнфоОшибки = ИнфоОшибки.Причина; - КонецЦикла; - -КонецПроцедуры - -//////////////////////////////////////////////////////////////////////////////// -// ВСПОМОГАТЕЛЬНЫЕ МЕТОДЫ ОБЩЕГО -// НАЗНАЧЕНИЯ - -Функция ВывестиОшибку(Ошибка) Экспорт - - ТипОбъектаОшибка = ТипЗнч(Ошибка); - - Если ТипОбъектаОшибка = Тип("Структура") Тогда - - ВывестиСообщение("[" + Ошибка.ИмяТестовогоНабора + ": " + Ошибка.ИмяТестовогоСлучая + "] " + Ошибка.Описание, СтатусСообщения.Важное); - //ВывестиСообщение("[" + Ошибка.ИмяТеста + ": " + Ошибка.ИмяТестовогоСлучая + "] " + Ошибка.Описание, СтатусСообщения.Важное); - - ИначеЕсли ТипОбъектаОшибка = Тип("ИнформацияОбОшибке") Тогда - - ВывестиСообщение(Ошибка.Описание, СтатусСообщения.Важное); - - Иначе - - ВывестиСообщение(Ошибка, СтатусСообщения.Важное); - - КонецЕсли; - -КонецФункции - -Функция ПредставлениеЗначения(Значение) - - Перем ЗначениеСтрокой; - - ТипЗначения = ТипЗнч(Значение); - Если ТипЗначения = Тип("Булево") Тогда - ЗначениеСтрокой = Формат(Значение, "БЛ=Ложь; БИ=Истина"); - Иначе - ЗначениеСтрокой = Строка(Значение); - КонецЕсли; - - Представление = "<" + ЗначениеСтрокой + "> (" + Строка(ТипЗначения) + ")"; - - Возврат Представление; - -КонецФункции - -Функция ФорматДСО(ДопСообщениеОшибки) - Если ДопСообщениеОшибки = "" Тогда - Возврат ""; - КонецЕсли; - - Возврат Символы.ПС + ДопСообщениеОшибки; -КонецФункции - -Функция СоздатьОбъектВнешнейОбработкиОтключаяБезопасныйРежим(путьФайла) - - Возврат ВнешниеОбработки.Создать(путьФайла, Ложь); - -КонецФункции // СоздатьОбъектВнешнейОбработкиОтключаяБезопасныйРежим() - -// Устанавливает новое текущее состояние выполнения тестов -// в соответствии с приоритетами состояний: -// Красное - заменяет все другие состояния -// Желтое - заменяет только зеленое состояние -// Зеленое - заменяет только серое состояние (тест не выполнялся ни разу). -Функция ЗапомнитьСамоеХудшееСостояние(ТекущееСостояние, НовоеСостояние) - - ТекущееСостояние = Макс(ТекущееСостояние, НовоеСостояние); - Возврат ТекущееСостояние; - -КонецФункции - -// Рекурсивно вверх от текущей строки меняет состояние у родительских строк. -// -Процедура ИзменитьСостояниеВыполненияРодителей(СтрокаДереваТестов) Экспорт - - Если СтрокаДереваТестов.Родитель = Неопределено Тогда - Возврат; - КонецЕсли; - - СтрокаРодителя = СтрокаДереваТестов.Родитель; - ЗапомнитьСамоеХудшееСостояние(СтрокаРодителя.Состояние, СтрокаДереваТестов.Состояние); - ИзменитьСостояниеВыполненияРодителей(СтрокаРодителя); - -КонецПроцедуры - -// Оповещает внешний мир о каком-либо событии. Используется -// для взаимодействия со скриптом Снегопата, а также с формой браузера -// когда он запущен в режиме обычного приложения. -// -Функция ОповеститьОСобытии(ИмяСобытия, Аргумент1=Неопределено) - Если mMiddleMan <> Неопределено Тогда - Попытка - Выполнить("mMiddleMan." + ИмяСобытия + "(Аргумент1);"); - Исключение - КонецПопытки; - КонецЕсли; - #Если Клиент Тогда - Оповестить("1CUnit." + ИмяСобытия, Аргумент1); - #КонецЕсли -КонецФункции - -Функция ЕстьОшибка_МетодОбъектаНеОбнаружен(текстОшибки, имяМетода) - Возврат Найти(текстОшибки, "Метод объекта не обнаружен ("+имяМетода+")") > 0; -КонецФункции - -//////////////////////////////////////////////////////////////////////////////// -// ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ ОБЪЕКТА - -//////////////////////////////////////////////////////////////////////////////// -// ОПЕРАТОРЫ ОСНОВНОЙ ПРОГРАММЫ - -// Разбивает строку на несколько строк по разделителю. Разделитель может иметь любую длину. -// Общий модуль СтроковыеФункцииКлиентСервер. -// -// Параметры: -// Строка - Строка - текст с разделителями; -// Разделитель - Строка - разделитель строк текста, минимум 1 символ; -// ПропускатьПустыеСтроки - Булево - признак необходимости включения в результат пустых строк. -// Если параметр не задан, то функция работает в режиме совместимости со своей предыдущей версией: -// - для разделителя-пробела пустые строки не включаются в результат, для остальных разделителей пустые строки -// включаются в результат. -// - если параметр Строка не содержит значащих символов или не содержит ни одного символа (пустая строка), то в -// случае разделителя-пробела результатом функции будет массив, содержащий одно значение "" (пустая строка), а -// при других разделителях результатом функции будет пустой массив. -// -// -// Возвращаемое значение: -// Массив - массив строк. -// -// Примеры: -// РазложитьСтрокуВМассивПодстрок(",один,,два,", ",") - возвратит массив из 5 элементов, три из которых - пустые строки; -// РазложитьСтрокуВМассивПодстрок(",один,,два,", ",", Истина) - возвратит массив из двух элементов; -// РазложитьСтрокуВМассивПодстрок(" один два ", " ") - возвратит массив из двух элементов; -// РазложитьСтрокуВМассивПодстрок("") - возвратит пустой массив; -// РазложитьСтрокуВМассивПодстрок("",,Ложь) - возвратит массив с одним элементом "" (пустой строкой); -// РазложитьСтрокуВМассивПодстрок("", " ") - возвратит массив с одним элементом "" (пустой строкой); -// -Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",", Знач ПропускатьПустыеСтроки = Неопределено) Экспорт - - Результат = Новый Массив; - - // для обеспечения обратной совместимости - Если ПропускатьПустыеСтроки = Неопределено Тогда - ПропускатьПустыеСтроки = ?(Разделитель = " ", Истина, Ложь); - Если ПустаяСтрока(Строка) Тогда - Если Разделитель = " " Тогда - Результат.Добавить(""); - КонецЕсли; - Возврат Результат; - КонецЕсли; - КонецЕсли; - // - - Позиция = Найти(Строка, Разделитель); - Пока Позиция > 0 Цикл - Подстрока = Лев(Строка, Позиция - 1); - Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Подстрока) Тогда - Результат.Добавить(Подстрока); - КонецЕсли; - Строка = Сред(Строка, Позиция + СтрДлина(Разделитель)); - Позиция = Найти(Строка, Разделитель); - КонецЦикла; - - Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Строка) Тогда - Результат.Добавить(Строка); - КонецЕсли; - - Возврат Результат; - -КонецФункции - - -//{ Состояния тестов - ВАЖЕН порядок заполнения в мЗначенияСостоянияТестов, используется в ЗапомнитьСамоеХудшееСостояние -мЗначенияСостоянияТестов = Новый Структура; -мЗначенияСостоянияТестов.Вставить("НеВыполнялся", 0); -мЗначенияСостоянияТестов.Вставить("Прошел" , 1); -мЗначенияСостоянияТестов.Вставить("НеРеализован", 2); -мЗначенияСостоянияТестов.Вставить("Сломался" , 3); -//} Состояния тестов - -//{ Типы строк дерева тестов -мЗначенияТиповСтроки = Новый Структура; -мЗначенияТиповСтроки.Вставить("КаталогТестов", 0); -мЗначенияТиповСтроки.Вставить("ТестовыйСлучай", 1); -мЗначенияТиповСтроки.Вставить("ТестовыйМетод", 2); -//} Типы строк дерева тестов - -мЗначениеМодульИлиФорма = Новый Структура(); -мЗначениеМодульИлиФорма.Вставить("Модуль", 1); -мЗначениеМодульИлиФорма.Вставить("Форма", 2); - -//{ Инициализация дерева тестов -ДеревоТестов.Колонки.Добавить("Имя"); -ДеревоТестов.Колонки.Добавить("ВремяВыполнения"); -ДеревоТестов.Колонки.Добавить("ПолныйПуть"); -//ДеревоТестов.Колонки.Добавить("ПредставлениеПути"); -ДеревоТестов.Колонки.Добавить("ТипСтроки"); -ДеревоТестов.Колонки.Добавить("Состояние"); -ДеревоТестов.Колонки.Добавить("МодульИлиФорма"); -//ДеревоТестов.Колонки.Добавить("_Объект"); -ДеревоТестов.Колонки.Добавить("_guid"); -ДеревоТестов.Колонки.Добавить("ПараметрыТеста"); -ДеревоТестов.Колонки.Добавить("ЕстьПараметрыТеста"); -ДеревоТестов.Колонки.Добавить("ИмяТестовогоСлучая"); -ДеревоТестов.Колонки.Добавить("КоличествоТестов"); -//} Инициализация дерева тестов - -мИнформатор = Неопределено; - -#Если ТолстыйКлиентОбычноеПриложение Тогда - - мПытаемсяСоздатьИнформатор = Истина; - - Если мПытаемсяСоздатьИнформатор Тогда - ПолучитьИнформатор(); - КонецЕсли; -#Иначе - мПытаемсяСоздатьИнформатор = Ложь; -#КонецЕсли - -мКоличествоТестовыхСлучаев = 0; \ No newline at end of file diff --git "a/src/DataProcessor/UnitTestRunner/Template/\320\236\321\202\321\207\320\265\321\202\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.xml" "b/src/DataProcessor/UnitTestRunner/Template/\320\236\321\202\321\207\320\265\321\202\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.xml" deleted file mode 100644 index 0c062607..00000000 --- "a/src/DataProcessor/UnitTestRunner/Template/\320\236\321\202\321\207\320\265\321\202\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.xml" +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <Template uuid="c945e032-bc46-4d51-b25e-ce552ed28121"> - <Properties> - <Name>ОтчетТестирования</Name> - <Synonym> - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Отчет тестирования</v8:content> - </v8:item> - </Synonym> - <Comment/> - <TemplateType>SpreadsheetDocument</TemplateType> - </Properties> - </Template> -</MetaDataObject> \ No newline at end of file diff --git "a/src/DataProcessor/UnitTestRunner/Template/\320\236\321\202\321\207\320\265\321\202\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217/Template.xml" "b/src/DataProcessor/UnitTestRunner/Template/\320\236\321\202\321\207\320\265\321\202\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217/Template.xml" deleted file mode 100644 index 830a3c1b..00000000 --- "a/src/DataProcessor/UnitTestRunner/Template/\320\236\321\202\321\207\320\265\321\202\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217/Template.xml" +++ /dev/null @@ -1,270 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<document xmlns="http://v8.1c.ru/8.2/data/spreadsheet" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <languageSettings> - <currentLanguage>ru</currentLanguage> - <defaultLanguage>ru</defaultLanguage> - <languageInfo> - <id>ru</id> - <code>Русский</code> - <description>Русский</description> - </languageInfo> - </languageSettings> - <columns> - <size>3</size> - <columnsItem> - <index>0</index> - <column> - <formatIndex>1</formatIndex> - </column> - </columnsItem> - <columnsItem> - <index>1</index> - <column> - <formatIndex>2</formatIndex> - </column> - </columnsItem> - </columns> - <rowsItem> - <index>7</index> - <row> - <formatIndex>3</formatIndex> - <c> - <c> - <f>4</f> - </c> - </c> - </row> - </rowsItem> - <rowsItem> - <index>8</index> - <row> - <formatIndex>3</formatIndex> - <c> - <c> - <f>5</f> - <tl> - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Запущено тестов: [ВсегоТестов], из них упало - [КоличествоОшибок]</v8:content> - </v8:item> - </tl> - </c> - </c> - </row> - </rowsItem> - <rowsItem> - <index>9</index> - <row> - <formatIndex>3</formatIndex> - <c> - <c> - <f>6</f> - <tl> - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Общее время выполнения: [ПрошлоВремени] ( [ПрошлоВремениСтрока] сек. )</v8:content> - </v8:item> - </tl> - </c> - </c> - </row> - </rowsItem> - <rowsItem> - <index>10</index> - <row> - <formatIndex>3</formatIndex> - <c> - <i>1</i> - <c> - <f>3</f> - <tl> - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Грубое среднее время выполнение одного теста: [ВремяВыполненияОдногоТеста] мс</v8:content> - </v8:item> - </tl> - </c> - </c> - </row> - </rowsItem> - <rowsItem> - <index>11</index> - <row> - <formatIndex>3</formatIndex> - <empty>true</empty> - </row> - </rowsItem> - <rowsItem> - <index>13</index> - <row> - <c> - <c> - <f>6</f> - <tl> - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Набор: [ИмяТестовогоНабора], путь [ПолныйПуть]</v8:content> - </v8:item> - </tl> - </c> - </c> - </row> - </rowsItem> - <rowsItem> - <index>14</index> - <row> - <formatIndex>3</formatIndex> - <c> - <c> - <f>3</f> - </c> - </c> - </row> - </rowsItem> - <rowsItem> - <index>15</index> - <row> - <formatIndex>3</formatIndex> - <c> - <c> - <f>0</f> - </c> - </c> - <c> - <c> - <f>0</f> - </c> - </c> - <c> - <c> - <f>3</f> - <tl> - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Параметр метода: [ПараметрыТеста]</v8:content> - </v8:item> - </tl> - </c> - </c> - </row> - </rowsItem> - <rowsItem> - <index>16</index> - <row> - <formatIndex>3</formatIndex> - <empty>true</empty> - </row> - </rowsItem> - <rowsItem> - <index>19</index> - <row> - <formatIndex>7</formatIndex> - <c> - <c> - <f>8</f> - </c> - </c> - <c> - <c> - <f>7</f> - <tl> - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Тестовый случай: [ИмяТестовогоСлучая]</v8:content> - </v8:item> - </tl> - </c> - </c> - </row> - </rowsItem> - <rowsItem> - <index>20</index> - <row> - <formatIndex>3</formatIndex> - <c> - <c> - <f>3</f> - </c> - </c> - </row> - </rowsItem> - <templateMode>true</templateMode> - <defaultFormatIndex>9</defaultFormatIndex> - <height>21</height> - <vgRows>21</vgRows> - <namedItem xsi:type="NamedItemCells"> - <name>Заголовок</name> - <area> - <type>Rows</type> - <beginRow>8</beginRow> - <endRow>10</endRow> - <beginColumn>-1</beginColumn> - <endColumn>-1</endColumn> - </area> - </namedItem> - <namedItem xsi:type="NamedItemCells"> - <name>НаименованиеНабора</name> - <area> - <type>Rows</type> - <beginRow>12</beginRow> - <endRow>13</endRow> - <beginColumn>-1</beginColumn> - <endColumn>-1</endColumn> - </area> - </namedItem> - <namedItem xsi:type="NamedItemCells"> - <name>НаименованиеТеста</name> - <area> - <type>Rows</type> - <beginRow>18</beginRow> - <endRow>20</endRow> - <beginColumn>-1</beginColumn> - <endColumn>-1</endColumn> - </area> - </namedItem> - <namedItem xsi:type="NamedItemCells"> - <name>ПараметрыТеста</name> - <area> - <type>Rows</type> - <beginRow>15</beginRow> - <endRow>16</endRow> - <beginColumn>-1</beginColumn> - <endColumn>-1</endColumn> - </area> - </namedItem> - <font faceName="Arial" height="8" bold="true" italic="false" underline="false" strikeout="false" kind="Absolute"/> - <format> - <width>48</width> - </format> - <format> - <width>55</width> - </format> - <format> - <fillType>Template</fillType> - </format> - <format> - <font>0</font> - <textColor xmlns:d3p1="http://v8.1c.ru/8.1/data/ui/colors/web">d3p1:FireBrick</textColor> - </format> - <format> - <font>0</font> - <textColor xmlns:d3p1="http://v8.1c.ru/8.1/data/ui/colors/web">d3p1:FireBrick</textColor> - <fillType>Template</fillType> - </format> - <format> - <font>0</font> - <fillType>Template</fillType> - </format> - <format> - <font>0</font> - <textColor xmlns:d3p1="http://v8.1c.ru/8.1/data/ui/colors/web">d3p1:IndianRed</textColor> - <fillType>Template</fillType> - </format> - <format> - <font>0</font> - <textColor xmlns:d3p1="http://v8.1c.ru/8.1/data/ui/colors/web">d3p1:IndianRed</textColor> - </format> - <format> - <width>72</width> - </format> -</document> \ No newline at end of file diff --git a/src/DataProcessor/UnitTestRunner/UnitTestRunner.xml b/src/DataProcessor/UnitTestRunner/UnitTestRunner.xml deleted file mode 100644 index d22c88b4..00000000 --- a/src/DataProcessor/UnitTestRunner/UnitTestRunner.xml +++ /dev/null @@ -1,140 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <DataProcessor uuid="d8da069a-e8b0-4539-82a5-424d563071af"> - <InnerInfo> - <xr:producedType name="DataProcessorObject.UnitTestRunner" category="Object"> - <xr:typeId>94c492c9-d1de-4174-b3f8-2b8d004317a2</xr:typeId> - <xr:valTypeId>6ce08bbe-b9b9-46ec-a3f2-55bfb4ba2b00</xr:valTypeId> - </xr:producedType> - <xr:producedType name="DataProcessorManager.UnitTestRunner" category="Manager"> - <xr:typeId>92d10daf-11e9-4912-adc5-9e18abfa9c51</xr:typeId> - <xr:valTypeId>e1dd3fcc-7056-4f18-a035-a58c73f9b3ca</xr:valTypeId> - </xr:producedType> - </InnerInfo> - <Properties> - <Name>UnitTestRunner</Name> - <Synonym> - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Юнит-тестирование для 1С:Предприятия 8, 1CUnit</v8:content> - </v8:item> - </Synonym> - <Comment/> - <UseStandardCommands>true</UseStandardCommands> - <DefaultForm>DataProcessor.UnitTestRunner.Form.Форма</DefaultForm> - <AuxiliaryForm>DataProcessor.UnitTestRunner.Form.УправляемаяФорма</AuxiliaryForm> - <IncludeHelpInContents>false</IncludeHelpInContents> - <ExtendedPresentation/> - <Explanation/> - </Properties> - <ChildObjects> - <Attribute uuid="ec0d9ef8-36f7-46f8-b781-534277fbe04b"> - <Properties> - <Name>ДеревоТестов</Name> - <Synonym> - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Дерево тестов</v8:content> - </v8:item> - </Synonym> - <Comment/> - <Type> - <v8:Type>v8:ValueTree</v8:Type> - </Type> - <PasswordMode>false</PasswordMode> - <Format/> - <EditFormat/> - <ToolTip/> - <MarkNegatives>false</MarkNegatives> - <Mask/> - <MultiLine>false</MultiLine> - <ExtendedEdit>false</ExtendedEdit> - <MinValue xsi:nil="true"/> - <MaxValue xsi:nil="true"/> - <FillChecking>DontCheck</FillChecking> - <ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems> - <ChoiceParameterLinks/> - <ChoiceParameters/> - <QuickChoice>Auto</QuickChoice> - <CreateOnInput>Auto</CreateOnInput> - <ChoiceForm/> - <LinkByType/> - </Properties> - </Attribute> - <Attribute uuid="178e0e49-df64-4bdb-b0c0-e801bcf0bf0d"> - <Properties> - <Name>мСписокОшибок</Name> - <Synonym> - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Список ошибок</v8:content> - </v8:item> - </Synonym> - <Comment/> - <Type> - <v8:Type>v8:ValueListType</v8:Type> - </Type> - <PasswordMode>false</PasswordMode> - <Format/> - <EditFormat/> - <ToolTip/> - <MarkNegatives>false</MarkNegatives> - <Mask/> - <MultiLine>false</MultiLine> - <ExtendedEdit>false</ExtendedEdit> - <MinValue xsi:nil="true"/> - <MaxValue xsi:nil="true"/> - <FillChecking>DontCheck</FillChecking> - <ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems> - <ChoiceParameterLinks/> - <ChoiceParameters/> - <QuickChoice>Auto</QuickChoice> - <CreateOnInput>Auto</CreateOnInput> - <ChoiceForm/> - <LinkByType/> - </Properties> - </Attribute> - <Attribute uuid="68f3b525-74dc-4deb-976c-64c57f1ba2e7"> - <Properties> - <Name>мВсегоТестов</Name> - <Synonym> - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Всего тестов</v8:content> - </v8:item> - </Synonym> - <Comment/> - <Type> - <v8:Type>xs:decimal</v8:Type> - <v8:NumberQualifiers> - <v8:Digits>10</v8:Digits> - <v8:FractionDigits>0</v8:FractionDigits> - <v8:AllowedSign>Any</v8:AllowedSign> - </v8:NumberQualifiers> - </Type> - <PasswordMode>false</PasswordMode> - <Format/> - <EditFormat/> - <ToolTip/> - <MarkNegatives>false</MarkNegatives> - <Mask/> - <MultiLine>false</MultiLine> - <ExtendedEdit>false</ExtendedEdit> - <MinValue xsi:nil="true"/> - <MaxValue xsi:nil="true"/> - <FillChecking>DontCheck</FillChecking> - <ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems> - <ChoiceParameterLinks/> - <ChoiceParameters/> - <QuickChoice>Auto</QuickChoice> - <CreateOnInput>Auto</CreateOnInput> - <ChoiceForm/> - <LinkByType/> - </Properties> - </Attribute> - <Form>Форма</Form> - <Form>УправляемаяФорма</Form> - <Template>ОтчетТестирования</Template> - </ChildObjects> - </DataProcessor> -</MetaDataObject> \ No newline at end of file diff --git "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Form/\320\242\320\265\321\201\321\202\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217\320\224\320\265\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\260.Form" "b/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Form/\320\242\320\265\321\201\321\202\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217\320\224\320\265\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\260.Form" deleted file mode 100644 index b6942c9b..00000000 Binary files "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Form/\320\242\320\265\321\201\321\202\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217\320\224\320\265\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\260.Form" and /dev/null differ diff --git "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Form/\320\242\320\265\321\201\321\202\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217\320\224\320\265\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\260.xml" "b/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Form/\320\242\320\265\321\201\321\202\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217\320\224\320\265\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\260.xml" deleted file mode 100644 index b0f0dd9c..00000000 --- "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Form/\320\242\320\265\321\201\321\202\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217\320\224\320\265\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\260.xml" +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <Form uuid="876bb6e3-99a5-40fd-98ab-32c8ad80dd52"> - <Properties> - <Name>ТестВыполненияДеструктора</Name> - <Synonym> - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Тест выполнения деструктора</v8:content> - </v8:item> - </Synonym> - <Comment/> - <FormType>Ordinary</FormType> - <IncludeHelpInContents>false</IncludeHelpInContents> - <UsePurposes> - <v8:Value xsi:type="app:ApplicationUsePurpose">PersonalComputer</v8:Value> - <v8:Value xsi:type="app:ApplicationUsePurpose">MobileDevice</v8:Value> - </UsePurposes> - <ExtendedPresentation/> - </Properties> - </Form> -</MetaDataObject> \ No newline at end of file diff --git "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Form/\320\242\320\265\321\201\321\202\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217\320\224\320\265\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\260/form" "b/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Form/\320\242\320\265\321\201\321\202\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217\320\224\320\265\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\260/form" deleted file mode 100644 index 46c7bf1e..00000000 --- "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Form/\320\242\320\265\321\201\321\202\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217\320\224\320\265\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\260/form" +++ /dev/null @@ -1,297 +0,0 @@ -{27, -{16, -{ -{1,1, -{"ru","Обработка Информатор 81/82 - http://www.1cpp.ru/forum/YaBB.pl?num=1313560540"} -},3,3}, -{09ccdc77-ea1a-4a6d-ab1c-3435eada2433, -{1, -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},24,0,1, -{0,3,1},2, -{0,2,2}, -{0,3,2},2, -{0,2,3}, -{0,3,3},0,0, -{4,1, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0} -},0,1, -{1,1, -{4, -{1,1, -{"ru","Страница1"} -}, -{4,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0} -},-1,1,1,"Страница1",1, -{3,4, -{0} -}, -{3,4, -{0} -} -} -},1,1,0,4, -{2,8,1,1,1,0,0,0,0}, -{2,33,0,1,2,0,0,0,0}, -{2,392,1,1,3,0,0,8,0}, -{2,259,0,1,4,0,0,33,0},0,4294967295,5,64,0, -{3,4, -{0} -},0,0,57}, -{0} -}, -{2, -{e69bf21d-97b2-4f37-86db-675aea9ec2cb,2, -{2, -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-21} -}, -{3,0, -{0},4,1,0,00000000-0000-0000-0000-000000000000}, -{1,0},0,0},9,2,1,0,1,1, -{5,e5befeef-ae10-413d-8273-3b4c89008e9d,3,1,0,1, -{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,0, -{0,0, -{0} -} -} -},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,9d0a2e40-b978-11d4-84b6-008048da06df,0,0,0} -}, -{8,0,0,400,25,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,2,0,25}, -{2,-1,6,0} -}, -{0, -{2,0,2,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,2,1},0,0,0,0,0,0,0,1,1,0}, -{14,"КоманднаяПанель1",0,0,0,0}, -{0} -}, -{e69bf21d-97b2-4f37-86db-675aea9ec2cb,3, -{2, -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-21} -}, -{3,0, -{0},7,1,0,00000000-0000-0000-0000-000000000000}, -{1,0},0,0},9,2,0,2,0,1, -{5,1d2ca24c-4e49-4cb6-adf2-18165c794829,3,1,3, -{6,e96141fb-04f8-4aa1-ad0c-833443248f07,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,8bb5a1fa-3a89-448a-95ae-d74ea6bb4e32,1,fbe38877-b914-4fd5-8540-07dde06ba2e1, -{6,2,00000000-0000-0000-0000-000000000000,142, -{1,0,357c6a54-357d-425d-a2bd-22f4f6e86c87,2147483647,0},0,1},0}, -{6,f252b753-31fc-4c3b-bb0d-1780849d7171,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},1, -{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,3,f252b753-31fc-4c3b-bb0d-1780849d7171, -{8,"ОсновныеДействияФормыВыполнить",0,1, -{1,1, -{"ru","Выполнить"} -},1,1d2ca24c-4e49-4cb6-adf2-18165c794829,1,1e2,0,1,1,0,1,0,0},e96141fb-04f8-4aa1-ad0c-833443248f07, -{8,"Разделитель",0,1, -{1,0},0,1d2ca24c-4e49-4cb6-adf2-18165c794829,2,1e2,2,1,1,0,1,0,0},8bb5a1fa-3a89-448a-95ae-d74ea6bb4e32, -{8,"ОсновныеДействияФормыЗакрыть",0,1, -{1,1, -{"ru","Закрыть"} -},1,1d2ca24c-4e49-4cb6-adf2-18165c794829,3,1e2,0,1,1,0,1,0,0}, -{-1,0, -{0} -} -} -},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,5d9c3d07-5579-446f-bfff-bedf0e2cc581,1,0,0} -}, -{8,0,267,400,292,1, -{0, -{2,3,1,-25}, -{2,-1,6,0} -}, -{0, -{2,0,1,0}, -{2,-1,6,0} -}, -{0, -{2,0,2,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,3,1},1, -{0,3,0},0,0,0,0,0,1,2,1,1}, -{14,"ОсновныеДействияФормы",0,0,0,0}, -{0} -} -} -},400,292,1,0,1,4,4,8}, -{ -{1},3, -{2, -{ -{1},0,0,1,"ОбработкаОбъект", -{"Pattern", -{"#",b5b97a50-d92d-4b7c-a3cf-b23f72c4c313} -} -}, -{ -{2},0,0,1,"Реквизит", -{"Pattern"} -} -}, -{0} -}, -{59d6c227-97d3-46f6-84a0-584c5a2807e1,1, -{2,0, -{0,0}, -{0},1} -}, -{1, -{70003,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} -} -} -} -},1,4,1,0,0,0, -{0}, -{0}, -{4,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0} -},1,2,0,0,1,1} \ No newline at end of file diff --git "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Form/\320\242\320\265\321\201\321\202\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217\320\224\320\265\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\260/module" "b/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Form/\320\242\320\265\321\201\321\202\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217\320\224\320\265\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\260/module" deleted file mode 100644 index c5d84a22..00000000 --- "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Form/\320\242\320\265\321\201\321\202\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217\320\224\320\265\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\260/module" +++ /dev/null @@ -1,8 +0,0 @@ - -Процедура КнопкаВыполнитьНажатие(Кнопка) - // Вставить содержимое обработчика. -КонецПроцедуры - -Процедура ПриЗакрытии() - Сообщить("Форма::ПриЗакрытии"); -КонецПроцедуры diff --git "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Form/\320\244\320\276\321\200\320\274\320\260.Form" "b/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Form/\320\244\320\276\321\200\320\274\320\260.Form" deleted file mode 100644 index 7645dd99..00000000 Binary files "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Form/\320\244\320\276\321\200\320\274\320\260.Form" and /dev/null differ diff --git "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Form/\320\244\320\276\321\200\320\274\320\260.xml" "b/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Form/\320\244\320\276\321\200\320\274\320\260.xml" deleted file mode 100644 index bcb25f48..00000000 --- "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Form/\320\244\320\276\321\200\320\274\320\260.xml" +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <Form uuid="4d409c29-d7aa-4a07-91f5-6531a0ba7fad"> - <Properties> - <Name>Форма</Name> - <Synonym> - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Форма</v8:content> - </v8:item> - </Synonym> - <Comment/> - <FormType>Ordinary</FormType> - <IncludeHelpInContents>false</IncludeHelpInContents> - <UsePurposes> - <v8:Value xsi:type="app:ApplicationUsePurpose">PersonalComputer</v8:Value> - <v8:Value xsi:type="app:ApplicationUsePurpose">MobileDevice</v8:Value> - </UsePurposes> - <ExtendedPresentation/> - </Properties> - </Form> -</MetaDataObject> \ No newline at end of file diff --git "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Form/\320\244\320\276\321\200\320\274\320\260/form" "b/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Form/\320\244\320\276\321\200\320\274\320\260/form" deleted file mode 100644 index a1362233..00000000 --- "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Form/\320\244\320\276\321\200\320\274\320\260/form" +++ /dev/null @@ -1,1119 +0,0 @@ -{27, -{16, -{ -{1,1, -{"ru","Информатор"} -},6,3}, -{09ccdc77-ea1a-4a6d-ab1c-3435eada2433, -{1, -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},24,0,2, -{0,3,1}, -{0,4,1},3, -{0,2,2}, -{0,3,2}, -{0,5,2},5, -{0,2,3}, -{0,3,3}, -{0,4,3}, -{0,5,3}, -{0,6,3},0,0, -{4,1, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0} -},0,1, -{1,1, -{4, -{1,1, -{"ru","Страница1"} -}, -{4,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0} -},-1,1,1,"Страница1",1, -{3,4, -{0} -}, -{3,4, -{0} -} -} -},1,1,0,4, -{2,8,1,1,1,0,0,0,0}, -{2,33,0,1,2,0,0,0,0}, -{2,836,1,1,3,0,0,8,0}, -{2,488,0,1,4,0,0,33,0},0,4294967295,5,64,0, -{3,4, -{0} -},0,0,57}, -{0} -}, -{5, -{e69bf21d-97b2-4f37-86db-675aea9ec2cb,2, -{2, -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-21} -}, -{3,0, -{0},4,1,0,00000000-0000-0000-0000-000000000000}, -{1,0},0,0},9,2,1,0,1,1, -{5,0520bbd3-4cbc-4eb9-ba0d-8bbe97ef2dc0,153,1,0,1, -{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,0, -{0,0, -{0} -} -} -},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,9d0a2e40-b978-11d4-84b6-008048da06df,0,0,0} -}, -{8,0,0,844,25,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,2,0,25}, -{2,-1,6,0} -}, -{0, -{2,0,2,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,2,1},0,0,0,0,0,0,0,1,1,0}, -{14,"КоманднаяПанель1",0,0,0,0}, -{0} -}, -{e69bf21d-97b2-4f37-86db-675aea9ec2cb,3, -{2, -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-21} -}, -{3,0, -{0},7,1,0,00000000-0000-0000-0000-000000000000}, -{1,0},0,0},9,2,0,2,0,1, -{5,88cfa5ce-39b7-494a-a1b9-7d6756a478f6,7,1,5, -{6,6620211a-1a51-4b67-a853-cea225fc9279,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} -} -},6, -{1,1, -{"ru","Изучить Таблицу"} -}, -{1,1, -{"ru","Изучить Таблицу"} -} -}, -{6,a2d8932f-dead-4c24-94d3-29c33e0428f8,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} -} -},6, -{1,1, -{"ru","Изучить ГлобальныйКонтекст"} -}, -{1,1, -{"ru","Изучить ГлобальныйКонтекст"} -} -}, -{6,f522c84a-132d-49ca-ac3b-2a9a0ba3fa7e,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,1552afb7-850b-4cb6-876b-0a5f3905002e,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} -} -},6, -{1,1, -{"ru","Исследовать тест"} -}, -{1,1, -{"ru","Исследовать тест"} -} -}, -{6,aa696acb-6b5d-4065-af84-b40da996cc9c,1,fbe38877-b914-4fd5-8540-07dde06ba2e1, -{6,2,00000000-0000-0000-0000-000000000000,142, -{1,0,357c6a54-357d-425d-a2bd-22f4f6e86c87,2147483647,0},0,1},0},1, -{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,5,a2d8932f-dead-4c24-94d3-29c33e0428f8, -{8,"ОсновныеДействияФормыВыполнитьГлобальныйКонтекст",0,3, -{1,1, -{"ru","Изучить ГлобальныйКонтекст"} -},1,88cfa5ce-39b7-494a-a1b9-7d6756a478f6,6,1e2,0,1,1,0,0,0,0},6620211a-1a51-4b67-a853-cea225fc9279, -{8,"ОсновныеДействияФормыВыполнитьТаблицаЗначений",0,2, -{1,1, -{"ru","Изучить Таблицу"} -},1,88cfa5ce-39b7-494a-a1b9-7d6756a478f6,4,1e2,0,1,1,0,0,0,0},1552afb7-850b-4cb6-876b-0a5f3905002e, -{8,"ОсновныеДействияФормыВыполнить",0,1, -{1,1, -{"ru","Исследовать тест"} -},1,88cfa5ce-39b7-494a-a1b9-7d6756a478f6,1,1e2,0,1,1,0,0,0,0},f522c84a-132d-49ca-ac3b-2a9a0ba3fa7e, -{8,"Разделитель",0,1, -{1,0},0,88cfa5ce-39b7-494a-a1b9-7d6756a478f6,2,1e2,2,1,1,0,0,0,0},aa696acb-6b5d-4065-af84-b40da996cc9c, -{8,"ОсновныеДействияФормыЗакрыть",0,1, -{1,1, -{"ru","Закрыть"} -},1,88cfa5ce-39b7-494a-a1b9-7d6756a478f6,3,1e2,0,1,1,0,0,0,0}, -{-1,0, -{0} -} -} -},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,ff042883-88b3-4fe1-85b0-5843916dd301,4,0,0} -}, -{8,0,496,844,521,1, -{0, -{2,3,1,-25}, -{2,-1,6,0} -}, -{0, -{2,0,1,0}, -{2,-1,6,0} -}, -{0, -{2,0,2,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,3,1},1, -{0,3,0},0,0,0,0,0,1,5,1,1}, -{14,"ОсновныеДействияФормы",0,0,0,0}, -{0} -}, -{ea83fe3a-ac3c-4cce-8045-3dddf35b28b1,4, -{5, -{"Pattern", -{"#",e603c0f2-92fb-4d47-8f38-a44a381cf235} -}, -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,1, -{-18},0,0,0}, -{1,0},0,0}, -{15,117644849, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-14} -}, -{3,3, -{-15} -}, -{3,3, -{-13} -},2,2,0,0,0,0,0,1,1, -{7,2,0, -{-20},1,100}, -{7,2,0, -{-20},1,100},2,0,1, -{7, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","Наименование"} -}, -{1,0}, -{1,0},1e2,0,-1,-1,-1,12590595, -{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} -}, -{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}, -{7,3,0,1,100},1,0,0,4,0,"Наименование", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdZBNDoIwEIV1a8Ilum6TzrTQzi1MjAdAZevCsCM9 -mQsP5MIrSGcAEQJtmL754X3lvd/x83m+OtLFoVPHum2bx12xOKlUHFI+yganISun -fQ52rC510E7bvhWsTf2BO1wOBnFrZq1lIiwTCL8M0xiI2aVfnAXNpv0LidMgxWHN -lRc4dVZpikr9NbGNFbJcM5A3DF5bpWl2jTVHqUIICOV4H74N1aHy7oYGqCHjywZN -jOQMRnu5ElBZU8h9fkVuhZ3/4PBFtgRBEYD0BQ==},0} -}, -{-1}, -{-1}, -{-1} -},"Наименование","","",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","Значение"} -}, -{1,0}, -{1,0},1e2,2,-1,-1,-1,12590594, -{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} -}, -{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}, -{7,3,0,1,100},1,0,0,4,0,"Значение", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdZBNDoIwEIV1a8Ilum6TzrTQzi1MjAdAZevCsCM9 -mQsP5MIrSGcAEQJtmL754X3lvd/x83m+OtLFoVPHum2bx12xOKlUHFI+yganISun -fQ52rC510E7bvhWsTf2BO1wOBnFrZq1lIiwTCL8M0xiI2aVfnAXNpv0LidMgxWHN -lRc4dVZpikr9NbGNFbJcM5A3DF5bpWl2jTVHqUIICOV4H74N1aHy7oYGqCHjywZN -jOQMRnu5ElBZU8h9fkVuhZ3/4PBFtgRBEYD0BQ==},0} -}, -{-1}, -{-1}, -{-1} -},"Значение","","",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","Тип"} -}, -{1,0}, -{1,0},1e2,1,-1,-1,-1,12590594, -{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} -}, -{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}, -{7,3,0,1,100},1,0,0,4,0,"Тип", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdZBNDoIwEIV1a8Ilum6TzrTQzi1MjAdAZevCsCM9 -mQsP5MIrSGcAEQJtmL754X3lvd/x83m+OtLFoVPHum2bx12xOKlUHFI+yganISun -fQ52rC510E7bvhWsTf2BO1wOBnFrZq1lIiwTCL8M0xiI2aVfnAXNpv0LidMgxWHN -lRc4dVZpikr9NbGNFbJcM5A3DF5bpWl2jTVHqUIICOV4H74N1aHy7oYGqCHjywZN -jOQMRnu5ElBZU8h9fkVuhZ3/4PBFtgRBEYD0BQ==},0} -}, -{-1}, -{-1}, -{-1} -},"Тип","","",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","№ метода/свойства"} -}, -{1,0}, -{1,0},112,4,-1,-1,-1,12590594, -{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} -}, -{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}, -{7,3,0,1,100},1,0,2,2,0,"Индекс", -{},16,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdZBNDoIwEIV1a8Ilum6TzrTQzi1MjAdAZevCsCM9 -mQsP5MIrSGcAEQJtmL754X3lvd/x83m+OtLFoVPHum2bx12xOKlUHFI+yganISun -fQ52rC510E7bvhWsTf2BO1wOBnFrZq1lIiwTCL8M0xiI2aVfnAXNpv0LidMgxWHN -lRc4dVZpikr9NbGNFbJcM5A3DF5bpWl2jTVHqUIICOV4H74N1aHy7oYGqCHjywZN -jOQMRnu5ElBZU8h9fkVuhZ3/4PBFtgRBEYD0BQ==},0} -}, -{-1}, -{-1}, -{-1} -},"Индекс","","",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","№ глоб.контекста"} -}, -{1,0}, -{1,0},112,3,-1,-1,-1,12590594, -{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} -}, -{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}, -{7,3,0,1,100},1,0,2,2,0,"ИндексКонтекста", -{},16,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdZBNDoIwEIV1a8Ilum6TzrTQzi1MjAdAZevCsCM9 -mQsP5MIrSGcAEQJtmL754X3lvd/x83m+OtLFoVPHum2bx12xOKlUHFI+yganISun -fQ52rC510E7bvhWsTf2BO1wOBnFrZq1lIiwTCL8M0xiI2aVfnAXNpv0LidMgxWHN -lRc4dVZpikr9NbGNFbJcM5A3DF5bpWl2jTVHqUIICOV4H74N1aHy7oYGqCHjywZN -jOQMRnu5ElBZU8h9fkVuhZ3/4PBFtgRBEYD0BQ==},0} -}, -{-1}, -{-1}, -{-1} -},"ИндексКонтекста","","",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","IContext"} -}, -{1,0}, -{1,0},1e2,5,-1,-1,-1,12590594, -{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} -}, -{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}, -{7,3,0,1,100},1,0,1,1,0,"IContext", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVBLDsIgENVtk16CNSQM0MLcwsR4gKrdujDdNZzM -hQdy4RVkBlq1TZkJ8+e94bXf8Xk/niPKuhrFoRuG/n4THBxFrKtIblawEiiy0pHR -U3UZe2mlTq2gdUwOd1gyypitmXWcJ/wyYeCbYTYKAqEk4SxIBk2XQU5DLhaBhU97 -nkScrRB/TQyjMzOqKSCFgrVVmmfXtH7hW++9gWbah7fBzrfOXo0C7FG5pjcqBLTK -BH2+IGDToac+t2KuM3f+wfIiQ5YtM4H4AQ==},0} -}, -{-1}, -{-1}, -{-1} -},"IContext","","",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","VTable"} -}, -{1,0}, -{1,0},1e2,6,-1,-1,-1,12590594, -{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} -}, -{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}, -{7,3,0,1,100},1,0,1,1,0,"vtable", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVBLDsIgENVtk16CNSQM0MLcwsR4gKrdujDdNZzM -hQdy4RVkBlq1TZkJ8+e94bXf8Xk/niPKuhrFoRuG/n4THBxFrKtIblawEiiy0pHR -U3UZe2mlTq2gdUwOd1gyypitmXWcJ/wyYeCbYTYKAqEk4SxIBk2XQU5DLhaBhU97 -nkScrRB/TQyjMzOqKSCFgrVVmmfXtH7hW++9gWbah7fBzrfOXo0C7FG5pjcqBLTK -BH2+IGDToac+t2KuM3f+wfIiQ5YtM4H4AQ==},0} -}, -{-1}, -{-1}, -{-1} -},"vtable","","",0} -} -},0,0,0,0} -}, -{9ab3fa70-d2e0-4e44-baac-730682272ed2, -{4,1,1, -{1, -{10000,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} -} -} -} -} -} -}, -{4, -{34,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} -} -} -}, -{40,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} -} -} -}, -{42,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} -} -} -}, -{53,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} -} -} -} -} -}, -{8,8,74,836,479,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,1,-42}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,-8}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},0,0,0,0,0,0,0,2,4,0,0}, -{14,"ДЗ",4294967295,0,0,0}, -{0} -}, -{0fc7e20d-f241-460c-bdf4-5ad88e5474a5,5, -{3, -{ -{13,1, -{3,4, -{0} -}, -{3,2, -{10} -}, -{7,3,0,0,100},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},8, -{1,0},4,1,1,0,0, -{0,0,0},0, -{1,0},1, -{4,4, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0} -},4,0}, -{1, -{0,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} -} -} -} -} -}, -{8,8,33,836,48,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,5,0,15}, -{2,-1,6,0} -}, -{0, -{2,0,2,8}, -{2,-1,6,0} -}, -{0, -{2,0,3,-8}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,5,1},0,0,0,0,0,0,3,2,1,0}, -{14,"НадписьЗаголовок",4294967295,0,0,0}, -{0} -}, -{e69bf21d-97b2-4f37-86db-675aea9ec2cb,6, -{2, -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},9,2,1,0,1,1, -{5,9837984c-8d47-4b8a-a77e-230ba0f6f18f,272,1,0,1, -{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,0, -{0,0, -{0} -} -} -},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,9d0a2e40-b978-11d4-84b6-008048da06df,0,0,0} -}, -{8,8,50,836,74,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,6,0,24}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,-8}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,6,1},0,0,0,0,0,0,4,3,0,0}, -{14,"КоманднаяПанельДерева",4,1,0,0}, -{0} -} -} -},844,521,1,0,1,4,4,285}, -{ -{0},2, -{1, -{ -{0},0,0,1,"ОбработкаОбъект", -{"Pattern", -{"#",b5b97a50-d92d-4b7c-a3cf-b23f72c4c313} -} -} -}, -{1, -{4, -{2, -{0}, -{0,9a135bae-4cf3-4591-a8c9-0c9b0c99b55b} -} -} -} -}, -{59d6c227-97d3-46f6-84a0-584c5a2807e1,1, -{2,0, -{0,0}, -{0},1} -}, -{3, -{70001,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} -} -} -}, -{70002,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} -} -} -}, -{70010,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} -} -} -} -},1,4,1,0,0,0, -{0}, -{0}, -{4,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0} -},1,2,0,0,1,1} \ No newline at end of file diff --git "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Form/\320\244\320\276\321\200\320\274\320\260/module" "b/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Form/\320\244\320\276\321\200\320\274\320\260/module" deleted file mode 100644 index ff866cab..00000000 --- "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Form/\320\244\320\276\321\200\320\274\320\260/module" +++ /dev/null @@ -1,84 +0,0 @@ -Перем ЦветМетоды; -Перем Жирность; - -Процедура КнопкаВыполнитьНажатие(Кнопка) - Объект = ЭтотОбъект;//Метаданные;//Неопределено; - - ИсследоватьОбъект(Объект); - УстановитьЗаголовокПоОбъекту(Объект); -КонецПроцедуры - -Процедура ПриОткрытии() - //Заголовок = ПолучитьНачалоЗаголовка(); - ЭлементыФормы.НадписьЗаголовок.Заголовок = Заголовок; - - ЦветМетоды = Новый Цвет(192, 0, 0); - Жирность = Новый Шрифт(,,Истина); -КонецПроцедуры - -Процедура ПередЗакрытием() - Очистить(ДЗ.Строки); - ДЗ.Строки.Очистить(); -КонецПроцедуры - -Функция ПолучитьНачалоЗаголовка() - Возврат "Информатор v."+Версия()+" : "; -КонецФункции - -// вызывается из модуля обработки -Процедура УстановитьЗаголовокПоОбъекту(Объект) Экспорт - ЭтаФорма.Заголовок = ПолучитьНачалоЗаголовка()+ "Свойства и методы объекта:" + Объект; - - ЭлементыФормы.ДЗ.Колонки.ИндексКонтекста.Видимость = ЭтоГлобальныйКонтекст(Объект); -КонецПроцедуры - -//================================== -Процедура ДЗПередРазворачиванием(Элемент, Строка, Отказ) - ОбработатьСобытие_ДЗ_ПередРазворачиванием(Элемент, Строка, Отказ); -КонецПроцедуры - -Процедура ДЗПриПолученииДанных(Элемент, ОформленияСтрок) - Для каждого ОформлениеСтроки Из ОформленияСтрок Цикл - лДанныеСтроки = ОформлениеСтроки.ДанныеСтроки; - лРодитель = лДанныеСтроки.Родитель; - - Если (лДанныеСтроки.Наименование = СТРОКА_МЕТОДЫ) Тогда - ОформлениеСтроки.ЦветТекста = ЦветМетоды; - ОформлениеСтроки.Шрифт = Жирность; - ИначеЕсли лРодитель <> Неопределено Then - If лРодитель.Наименование = СТРОКА_МЕТОДЫ Then - ОформлениеСтроки.ЦветТекста = ЦветМетоды; - EndIf; - КонецЕсли; - КонецЦикла; -КонецПроцедуры - -Процедура ДЗВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка) - ОбработатьСобытие_ДЗ_Выбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка); -КонецПроцедуры - -Процедура НадписьЗаголовокНажатие(Элемент) - ЗапуститьПриложение("http://www.1cpp.ru/forum/YaBB.pl?num=1313560540"); -КонецПроцедуры - -Процедура ОсновныеДействияФормыОсновныеДействияФормыВыполнитьГлобальныйКонтекст(Кнопка) - Объект = Неопределено; - - ИсследоватьОбъект(Объект); - УстановитьЗаголовокПоОбъекту(Объект); -КонецПроцедуры - -Процедура ОсновныеДействияФормыОсновныеДействияФормыВыполнитьТаблицаЗначений(Кнопка) - Объект = Новый ТаблицаЗначений; - - ИсследоватьОбъект(Объект); - УстановитьЗаголовокПоОбъекту(Объект); -КонецПроцедуры - -Процедура ДЗПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель) - Отказ = Истина; -КонецПроцедуры - -Процедура ДЗПередУдалением(Элемент, Отказ) - Отказ = Истина; -КонецПроцедуры diff --git "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/ObjectModule.txt" "b/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/ObjectModule.txt" deleted file mode 100644 index 23e781ba..00000000 --- "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/ObjectModule.txt" +++ /dev/null @@ -1,1612 +0,0 @@ -//Пример вызова (в отладчике, табло или своем коде) -// ВнешниеОбработки.Создать("T:\Информатор_82.epf").Изучить(Новый ТаблицаЗначений) -// для исследования глобального контекста следующий вызов -// ВнешниеОбработки.Создать("T:\Информатор_82.epf").Изучить(Неопределено) -// -// Экспортные методы -// булево = Изучить(Объект) - показ формы обработки с данными объекта -// таблицаЗначений = ПолучитьТаблицуМетодов(Объект) -// таблицаЗначений = ПолучитьТаблицуСвойств(Объект) -// булево = МетодСуществует(Объект, наименованиеМетода) -// булево = СвойствоСуществует(Объект, наименованиеСвойства) -// -// ВАЖНО: исключения зависших/циклических ссылок либо сбрасывать объект Информатора либо вызывать метод Сброс() -// - - -Перем СТРОКА_ОПИСАНИЕ_МЕТОДА_БЕЗ_ПАРАМЕТРОВ Экспорт; -Перем СТРОКА_МЕТОДЫ Экспорт; -Перем СТРОКА_СВОЙСТВА Экспорт; - -Перем СТРОКА_ГЛОБАЛЬНЫЙ_КОНТЕКСТ; // Экспорт; - -Перем ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_СВОЙСТВ_И_МЕТОДОВ; // Экспорт; -Перем ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_СВОЙСТВ; -Перем ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_МЕТОДОВ; -Перем ФЛАГ_ЗАПОЛНЕНИЯ_ЗАПОЛНИТЬ_СВОЙСТВА; -Перем ФЛАГ_ЗАПОЛНЕНИЯ_ЗАПОЛНИТЬ_МЕТОДЫ; - -Перем ИМЯ_КЛАССА_DynamicWrapperX; - -Перем ScrptCtrl; -Перем Wrap; -Перем ТЗ; -Перем buf; -Перем ppv; - -Перем WshShell; // Экспорт; -Перем ФайлРегистратораКомпонент; // Экспорт; -Перем ИсполнительСкрытыхКомандСистемы; -Перем ПапкаВнешнихКомпонент; // Экспорт; -Перем Флаг; - -Перем юТест; // для тестирования в 1CUnit - -Функция Версия() Экспорт - Возврат "1.15"; -КонецФункции - -#Если Клиент Тогда - -// основной метод для внешнего использования, например, в отладчике -// если Объект = неопределено, то исследуется глобальный контекст -Функция Изучить(Объект, Модально = Ложь) Экспорт - форма = ЭтотОбъект.ПолучитьФорму(,, Новый УникальныйИдентификатор); - - ИсследоватьОбъект(Объект); - - форма.УстановитьЗаголовокПоОбъекту(Объект); - //форма.СпрятатьКолонкиВЗависимостиОтОбъекта(Объект); - Если Модально Тогда - форма.ОткрытьМодально(); - Иначе - форма.Открыть(); - КонецЕсли; - - Возврат Истина; -КонецФункции - -Функция ПолучитьТаблицуСвойств(Объект) Экспорт - Если НЕ ТипДоступенДляИсследования(Объект) Тогда - ВызватьИсключение "Объект недоступен для изучения"; - КонецЕсли; - - ИсследоватьОбъект(Объект, ФЛАГ_ЗАПОЛНЕНИЯ_ЗАПОЛНИТЬ_СВОЙСТВА); - - резТаблица = Новый ТаблицаЗначений; - резТаблица.Колонки.Добавить("Наименование"); - резТаблица.Колонки.Добавить("Тип"); - резТаблица.Колонки.Добавить("Значение"); - резТаблица.Колонки.Добавить("Индекс"); - резТаблица.Колонки.Добавить("ИндексКонтекста"); - - новСтрока = ДЗ.Строки[0]; - Для каждого строка Из новСтрока.Строки Цикл - НоваяСтрока = резТаблица.Добавить(); - ЗаполнитьЗначенияСвойств(НоваяСтрока, строка); - НоваяСтрока.Значение = строка.Объект; - //НоваяСтрока.Наименование = строка.Наименование; - //НоваяСтрока.Индекс = строка.Индекс; - КонецЦикла; - - Сброс(); - Возврат резТаблица; -КонецФункции - -Функция ПолучитьТаблицуМетодов(Объект) Экспорт - Если НЕ ТипДоступенДляИсследования(Объект) Тогда - ВызватьИсключение "Объект недоступен для изучения"; - КонецЕсли; - - ИсследоватьОбъект(Объект, ФЛАГ_ЗАПОЛНЕНИЯ_ЗАПОЛНИТЬ_МЕТОДЫ); - - резТаблица = Новый ТаблицаЗначений; - резТаблица.Колонки.Добавить("Наименование"); - резТаблица.Колонки.Добавить("КоличествоПараметров"); - резТаблица.Колонки.Добавить("ЕстьВозвращаемоеЗначение"); - //резТаблица.Колонки.Добавить("Тип"); - //резТаблица.Колонки.Добавить("Значение"); - резТаблица.Колонки.Добавить("Индекс"); - резТаблица.Колонки.Добавить("ИндексКонтекста"); - - новСтрока = ДЗ.Строки[0]; - Для каждого строка Из новСтрока.Строки Цикл - НоваяСтрока = резТаблица.Добавить(); - ЗаполнитьЗначенияСвойств(НоваяСтрока, строка); - //НоваяСтрока.Наименование = строка.Наименование; - //НоваяСтрока.Значение = строка.Объект; - //НоваяСтрока.КоличествоПараметров = строка.КоличествоПараметров; - //НоваяСтрока.ЕстьВозвращаемоеЗначение = строка.ЕстьВозвращаемоеЗначение = Истина; - //НоваяСтрока.Индекс = строка.ИндексМетодаСвойства; - КонецЦикла; - - Сброс(); - Возврат резТаблица; -КонецФункции - -Функция СвойствоСуществует(Объект, наименованиеСвойства) Экспорт - таблица = ПолучитьТаблицуСвойств(Объект); - строка = таблица.Найти(наименованиеСвойства, "Наименование"); - Возврат строка <> Неопределено; -КонецФункции - -Функция МетодСуществует(Объект, наименованиеМетода) Экспорт - таблица = ПолучитьТаблицуМетодов(Объект); - строка = таблица.Найти(наименованиеМетода, "Наименование"); - Возврат строка <> Неопределено; -КонецФункции - -Процедура GetIContext(текСтр, Объект) - Если ТипДоступенДляИсследования(Объект, -1) Тогда - текСтр.IContext = ScrptCtrl.Run("GetIContext", Объект); - текСтр.VTable = ScrptCtrl.Run("GetVT", Объект); - КонецЕсли; -КонецПроцедуры - -// вызывается из формы обработки -Процедура ИсследоватьОбъект(Объект, парамФлагЗаполнения = Неопределено ) Экспорт - Если Объект = Неопределено Тогда // глобальный контекст - //Если ЭтоПлатформа_81() Тогда - // ВызватьИсключение "Изучение глобального контекста для платформы 8.1 пока не реализовано!"; - //КонецЕсли; - - Объект = СТРОКА_ГЛОБАЛЬНЫЙ_КОНТЕКСТ; - //ElsIf Объект = ЭтотОбъект.ПолучитьФорму() Then - // Возврат; - КонецЕсли; - - Перехват(); - Очистить(ДЗ.Строки); - ДЗ.Строки.Очистить(); - - новСтрока = ДЗ.Строки.Добавить(); - новСтрока.Наименование = "Значение"; - новСтрока.Тип = ТипЗнч(Объект); - новСтрока.Значение = Объект; - новСтрока.Объект = Объект; - GetIContext(новСтрока, Объект); - - Если парамФлагЗаполнения = Неопределено Тогда - парамФлагЗаполнения = ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_СВОЙСТВ_И_МЕТОДОВ; - КонецЕсли; - - ЗаполнитьСубДерево(Объект, новСтрока, парамФлагЗаполнения); //0 -КонецПроцедуры - -Функция Инит() //Экспорт - ПапкаВнешнихКомпонент = Новый Файл(КаталогВременныхФайлов()); - - WshShell = Новый COMОбъект("WScript.Shell"); - - Wrap = "НеИнициализирован"; - Wrap = ПолучитьWinAPI(); - - ДЗ.Колонки.Добавить("Наименование"); - ДЗ.Колонки.Добавить("Тип"); - ДЗ.Колонки.Добавить("Значение"); - - ДЗ.Колонки.Добавить("Объект"); - ДЗ.Колонки.Добавить("УжеЗаполняли"); - ДЗ.Колонки.Добавить("ЕстьВозвращаемоеЗначение"); - ДЗ.Колонки.Добавить("КоличествоПараметров"); - - ДЗ.Колонки.Добавить("ИндексКонтекста"); - ДЗ.Колонки.Добавить("Индекс"); //ИндексМетодаСвойства"); - ДЗ.Колонки.Добавить("IContext"); - ДЗ.Колонки.Добавить("VTable"); -КонецФункции - -// вызывать для сброса данных для исключения зависших ссылок -Процедура Сброс() Экспорт - ДЗ.Строки.Очистить(); -КонецПроцедуры - -Процедура Перехват() //Экспорт - If ТипЗнч(ScrptCtrl) <> Тип("Неопределено") Then Возврат; EndIf; - - ТекстМодуля = Public_Consts(); - ТекстМодуля = ТекстМодуля + Public_Vars(); - ТекстМодуля = ТекстМодуля + Class_Service(); - ТекстМодуля = ТекстМодуля + Funcs(); - - ScrptCtrl = Новый COMОбъект("MSScriptControl.ScriptControl"); - ScrptCtrl.Language = "vbscript"; - ScrptCtrl.TimeOut = -1; - - Попытка - ScrptCtrl.AddCode(ТекстМодуля); - Исключение - Сообщить(ScrptCtrl.Error.Description); - Сообщить(ScrptCtrl.Error.Source); - Сообщить(ScrptCtrl.Error.Text); - Сообщить(ScrptCtrl.Error.Line); - КонецПопытки; - ScrptCtrl.Eval("oServ.HookOn"); - Сообщить(1); - ScrptCtrl.Eval("oServ.HookOff"); - - //Для вычисления значения функций - buf = ScrptCtrl.Eval("oServ.buf"); - ppv = ScrptCtrl.Eval("oServ.ppv"); - Wrap.RegisterAddr(buf, "ImplBase_call", "i=pllp", "r=l"); //ID 20 -КонецПроцедуры - -Функция ЭтоПлатформа_81() - Перем локальная; - этоПлатформа_81 = Истина; - Попытка - Выполнить("локальная = Метаданные.РежимСовместимости"); - этоПлатформа_81 = Ложь; - Исключение - КонецПопытки; - Возврат этоПлатформа_81; -КонецФункции - -Функция Public_Consts() - - ТекстМодуля = " - |Public Const S_OK = &h0 - |Public Const E_NOINTERFACE = &h80004002 - |Public Const CP_ACP = &h0 - | - |Public Const HEAP_ZERO_MEMORY = &h00000008 - |Public Const PAGE_EXECUTE_READWRITE = &h40 - |Public Const PAGE_EXECUTE_READ = &h20 - | - |Public Const VT_BSTR = &h8 - |Public Const VT_DISPATCH = &h9 - | - |'IID Интерфейсов - |Public Const IID_IContextExtImpBase = ""{FD7B6CC2-DC8E-11D2-B8D0-008048DA0335}"" - |Public Const IID_IValueImplBase = ""{FD7B6CC3-DC8E-11D2-B8D0-008048DA0335}"" - |Public Const IID_GC = ""{F7399BD5-100E-4D0A-A5CE-F97810ACFEE9}"" - | - |Public Const platform_offset = &h18 - |"; - - СисИнфо = Новый СистемнаяИнформация; - ВерсияDLL = СтрЗаменить(Лев(СисИнфо.ВерсияПриложения, 4), ".", ""); - ТекстМодуля = ТекстМодуля + " - |Public Const dllName = ""core" + ВерсияDLL + """ - |"; - - - Возврат ТекстМодуля; -КонецФункции - -Функция Public_Vars() - ТекстМодуля = " - |Public oServ - | - |Public Wrap - |Public curVers 'Версия сборки 8.X - |Public VersPlatform 'Версия 8.X - | - |Set Wrap = CreateObject("""+ИМЯ_КЛАССА_DynamicWrapperX+""") - | - |Public bsl_off_13 - |"; - //|Set Wrap = CreateObject(""DynamicWrapperX"") - - Возврат ТекстМодуля; -КонецФункции - -Функция Class_Service() - ТекстМодуля = " -//{ |Class Service - |Class Service -//{ |Vars - | Private hHeap - | Public buf 'Буфер для вызова функций - | Private buf_thiscall 'Буфер для вызова функций - | - //| Private res 'Память для результата VirtualProtect - | Private pGC 'Глоб.объект - | Public ppv - | Private pIID - | Private swIID - | Private handle - | - | Public numGK 'Кол-во ГК контекстов - | Public pArray 'Массив ГК - | - | 'Для передачи параметров - | Public paramArr2 'Для печати - | Public paramArr9 'Для вызова функций - | - | Private pMes 'Контекст, с методом /Сообщить/ - | Private numMes 'Номер метода /Сообщить/ - | - | Private adrValue_str 'адрес ф-и __thiscall core::Value::Value(wchar_t const *) - | Private adrValue_void 'адрес ф-и __thiscall core::Value::Value(void) - | - | Private Ref - | Private oldFunc - | Private newFunc -//} | -//{ |Release - | Private Function Release(pObj) - | vfunc pObj, (3 - 1) * 4 - | res = Wrap.IUnknown_Release(pObj) - | End Function -//} | -//{ |FindCG_Message - | Private Function FindCG_Message() - | FindCG_Message = -1 - | - | 'Найдем контекст, в котором есть метод ""Сообщить"" - | j = 0 - | PutString(""Сообщить"") - | Do While j < numGK + 1 - | pIContext = Wrap.NumGet(pArray, j * 4) - | - | vfunc pIContext, 4 * (16 - 1) - | numMes = Wrap.ImplBase_findMethod(pIContext, ppv) - | If numMes =>0 Then - | FindCG_Message = pIContext - | Exit Do - | End If - | j = j + 1 - | Loop - | '======================================================= - | End Function -//} | -//{ |GetArrayGC - | Private Function GetArrayGC() - | IIDFromString IID_GC - | - | 'ГО (1) - | vfunc pGC, (15 - 1) * 4 - | pObj1 = Wrap.GetObjectFromIID(pGC, pIID) - | - | 'ГО (2) - | vfunc pObj1, (13 - 1) * 4 - | res = Wrap.GetObj(pObj1, ppv) - | pObj2 = Wrap.NumGet(ppv) - | - | If VersPlatform = 82 Then - | Select Case curVers - | Case 13 - | numfunc = 68 - | Case 14 - | numfunc = 69 - | Case 15 - | numfunc = 70 - | Case Else - | numfunc = 70 - | End Select - | Else - | numfunc = 71 - | End If - | - | 'ГО (3) - | vfunc pObj2, (numfunc - 1) * 4 - | res1 = Wrap.GetObj(pObj2, ppv) - | pObj3 = Wrap.NumGet(ppv) - | - | 'Массив - | GetArrayGC = Wrap.NumGet(pObj3, &h10) - | - | 'Количество - | numGK = (Wrap.NumGet(pObj3, &h14) - GetArrayGC) / 4 - | numGK = numGK - 1 - | - | Release pObj3 - | Release pObj2 - | Release pObj1 - | Release pGC - | End Function -//} | -//{ |Class_Initialize - | Private Sub Class_Initialize - | Wrap.Register ""Kernel32"", ""HeapAlloc"", ""i=lll"", ""r=l"" - | Wrap.Register ""Kernel32"", ""GetProcessHeap"", ""r=l"" - | Wrap.Register ""Kernel32"", ""HeapFree"", ""i=lll"",""r=l"" - | Wrap.Register ""Kernel32"", ""VirtualProtect"" , ""i=lllp"", ""r=l"" - | Wrap.Register ""Kernel32"", ""LoadLibrary"" , ""i=s"", ""r=h"" - | Wrap.Register ""Kernel32"", ""GetProcAddress"" , ""i=hs"", ""r=u"" - | Wrap.Register ""Kernel32"", ""MultiByteToWideChar"", ""i=llslpl"", ""r=l"" - | Wrap.Register ""Ole32"" , ""IIDFromString"", ""i=pp"", ""r=l"" - | Wrap.Register ""Version"", ""GetFileVersionInfoSize"", ""i=sl"", ""r=l"" - | Wrap.Register ""Version"", ""GetFileVersionInfo"", ""i=sllp"", ""r=l"" - | Wrap.Register ""Version"", ""VerQueryValue"", ""i=pspp"", ""r=l"" - | - | hHeap = Wrap.GetProcessHeap() - | curVers = GetVersion() - | - | numGK = 0 - | code_len = 10 - | - | buf_thiscall= Wrap.HeapAlloc(hHeap, HEAP_ZERO_MEMORY, code_len) - | ppv = Wrap.HeapAlloc(hHeap, HEAP_ZERO_MEMORY, &h20) 'Под внутр. нужды и строки - | pIID = Wrap.HeapAlloc(hHeap, HEAP_ZERO_MEMORY, 32) - | swIID = Wrap.HeapAlloc(hHeap, HEAP_ZERO_MEMORY, 100) - | - | paramArr2 = Wrap.HeapAlloc(hHeap, HEAP_ZERO_MEMORY, 16 * 2 + 4 * (2 + 1) + 4 * 3) 'На 2 параметра - | paramArr9 = Wrap.HeapAlloc(hHeap, HEAP_ZERO_MEMORY, 16 * 9 + 4 * (9 + 1) + 4 * 3) 'На 9 параметров - | '======================================================= - | 'Буфер для вызова функций интерфейса - | Wrap.VirtualProtect buf_thiscall, code_len, PAGE_EXECUTE_READWRITE, ppv - | - | Wrap.NumPut &hB9, buf_thiscall, 0, ""b"" 'mov ecx, .... pObj - | - | buf = buf_thiscall + 5 - | Wrap.NumPut &hE9, buf, 0, ""b"" 'jmp ...Addr - | '======================================================= - | 'IUnknown - | Wrap.RegisterAddr buf, ""IUnknown_QueryInterface"", ""i=ppp"", ""r=l"" 'ID 1 - | Wrap.RegisterAddr buf, ""IUnknown_AddRef"", ""i=p"", ""r=l"" 'ID 2 - | Wrap.RegisterAddr buf, ""IUnknown_Release"", ""i=p"", ""r=l"" 'ID 3 - | - | 'IContextExtImplBase - | Wrap.RegisterAddr buf , ""ImplBase_getName"", ""i=pll"", ""r=l"" 'ID getPropName - 5, getMethodName - 10 - | Wrap.RegisterAddr buf , ""ImplBase_getN"", ""i=p"", ""r=l"" 'ID getNProps - 4, getNMethods - 9 - | Wrap.RegisterAddr buf , ""ImplBase_getNParams"", ""i=pl"", ""r=l"" 'ID 11 - | Wrap.RegisterAddr buf , ""ImplBase_hasRetVal"", ""i=pl"", ""r=l"" 'ID 15 - | Wrap.RegisterAddr buf , ""ImplBase_findMethod"", ""i=pp"", ""r=l"" 'ID 16 - | Wrap.RegisterAddr buf , ""ImplBase_getParamDefValue"", ""i=pllp"", ""r=l"" 'ID 14 - | Wrap.RegisterAddr buf , ""ImplBase_call"", ""i=pllp"", ""r=l"" 'ID 20 - | Wrap.RegisterAddr buf_thiscall, ""ImplBase_call_thiscall"", ""i=pllp"", ""r=l"" 'ID 20 - | - | 'IValue - | Wrap.RegisterAddr buf_thiscall, ""setIValue"", ""i=p"", ""r=l"" 'ID 1 - | Wrap.RegisterAddr buf_thiscall, ""getIValue"", ""i=p"", ""r=l"" 'ID 2 - | Wrap.RegisterAddr buf_thiscall, ""type0"", ""i=p"", ""r=l"" 'ID 7 - | - | 'ObjectTypeCore - | Wrap.RegisterAddr buf, ""getTypeCode"", ""i=p"", ""r=l"" 'ID 4 - | '======================================================= - | handle = Wrap.LoadLibrary(dllName) - | 'Функция возвращает ГК - | Addr1 = Wrap.GetProcAddress(handle, ""?current_process@core@@YAPAVSCOM_Process@1@XZ"") - | - | Wrap.RegisterAddr Addr1, ""current_process"", ""r=l"" 'core::current_process(void) - | - | 'Вот это Глобальный Контекст - | pGC = Wrap.current_process() - | '======================================================= - | 'CurProc - | 'Функция из ВТ объекта pGC - | 'возвращает какой-то глобальный объект (1) - | 'в ВТ (1) есть ф-я, возвращающая другой ГО (2) - | 'в ВТ (2) есть ф-я, возвращающая другой ГО (3) - | '(3) - содержит массив ГК IContextExtImplBase - | - | Wrap.RegisterAddr buf, ""GetObjectFromIID"", ""i=pp"", ""r=l"" 'ID 15 - | - | 'Функция, получения объектов - | Wrap.RegisterAddr buf, ""GetObj"", ""i=pp"", ""r=p"" - | - | 'Получим указатель на глоб. массив ГК - | pArray = GetArrayGC() - | - | 'Для вывода сообщений - | pMes = FindCG_Message() - | '======================================================= - | - | adrValue_str = Wrap.GetProcAddress(handle, ""??0Value@core@@QAE@PB_W@Z"") '__thiscall core::Value::Value(wchar_t const *) - | Wrap.RegisterAddr buf_thiscall, ""Value_str"", ""i=p"", ""r=l"" - | - | adrValue_void = Wrap.GetProcAddress(handle, ""??0Value@core@@QAE@XZ"") '__thiscall core::Value::Value(void) - | Wrap.RegisterAddr buf_thiscall, ""Value_void"", ""r=l"" - | - | 'Обертка 1C-х объектов в IDispatch - | Addr1 = Wrap.GetProcAddress(handle, ""?value_to_dispatch@core@@YA?AV?$InterfacePtr@UIDispatch@@@1@PAVIValue@1@PAVSCOM_ProcessData@1@@Z"") - | Wrap.RegisterAddr Addr1, ""value_to_dispatch"", ""i=ppl"", ""r=l"" - | - | Set Ref = GetRef(""IContextExtImplBase_call"") - | newFunc = Wrap.RegisterCallback(Ref, ""i=pllp"", ""r=l"") - | Wrap.VirtualProtect newFunc - 6, 21, PAGE_EXECUTE_READWRITE, ppv - | End Sub -//} | -//{ |Class_Terminate - | Private Sub Class_Terminate - | Wrap.HeapFree hHeap, 0, buf_thiscall - | Wrap.HeapFree hHeap, 0, ppv - | Wrap.HeapFree hHeap, 0, pIID - | Wrap.HeapFree hHeap, 0, swIID - | - | Wrap.HeapFree hHeap, 0, paramArr2 - | Wrap.HeapFree hHeap, 0, paramArr9 - | - | Set Ref = Nothing - | Set Wrap = Nothing - //| MsgBox ""Class_Terminate2"" - | End Sub -//} | -//{ |GetString - | Private Function GetString(offset) - | ppv1 = ppv + offset - | ln = Wrap.NumGet(ppv1) - | If ln > 15 Then - | GetString = Wrap.StrGet(Wrap.NumGet(ppv1, 4) + 8) - | Else - | GetString = Wrap.StrGet(ppv1 + 4) - | End If - | End Function -//} | -//{ |PutString - | Private Function PutString(txt) - | 'Формируем структуру строки - | ln = Len(txt) - | If ln > 15 Then - | Wrap.NumPut 16, ppv, 0 'Флаг, что строка длиннее 15 символов - | Wrap.NumPut (ppv + 16), ppv, 4 'Указатель на начало строки - | Wrap.NumPut (ppv + 24) + ln * 2, ppv, 8 'Указатель на 0, за концом строки - | Wrap.NumPut 1, ppv, 12 'Не знаю, что это - | - | Wrap.NumPut 1, ppv, 16 'Это счетчик ссылок на строку - | Wrap.NumPut 1, ppv, 20 'Не знаю, что это - | res = Wrap.MultiByteToWideChar(CP_ACP, 0, txt, -1, ppv + 24, ln) - | Wrap.NumPut 0, ppv, 24 + ln * 2 - | Else - | Wrap.NumPut ln, ppv, 0 - | res = Wrap.MultiByteToWideChar(CP_ACP, 0, txt, -1, ppv + 4, ln) - | End If - | End Function -//} | -//{ |GetVersion - | Private Function GetVersion() - | sz = Wrap.GetFileVersionInfoSize(dllName, 0) - | - | pbuf = Wrap.HeapAlloc(hHeap, 0, sz) - | lplpBuffer = Wrap.HeapAlloc(hHeap, 0, 4) - | puLen = Wrap.HeapAlloc(hHeap, 0, 4) - | - | res1 = Wrap.GetFileVersionInfo(dllName,0, sz, pbuf) - | res1 = Wrap.VerQueryValue(pbuf, ""\"", lplpBuffer, puLen) - | - | VS_FIXEDFILEINFO = Wrap.NumGet(lplpBuffer) - | 'Младшая часть версии - | lpart = Wrap.NumGet(VS_FIXEDFILEINFO, &h0C, ""t"") - | 'Старшая часть версии - | hpart = Wrap.NumGet(VS_FIXEDFILEINFO, &h0E, ""t"") - | - //| GetVersion = CSTR(hpart) & ""."" & CSTR(lpart) - | GetVersion = hpart - | - | VersPlatform = Wrap.NumGet(VS_FIXEDFILEINFO, &h0A, ""t"") * 10 - | VersPlatform = VersPlatform + Wrap.NumGet(VS_FIXEDFILEINFO, &h08, ""t"") - | - | Wrap.HeapFree hHeap, 0, pbuf - | Wrap.HeapFree hHeap, 0, lplpBuffer - | Wrap.HeapFree hHeap, 0, puLen - | End Function -//} | -//{ |IIDFromString - | Private Function IIDFromString(sIDD) - | IIDFromString = Wrap.MultiByteToWideChar(CP_ACP, 0, sIDD, -1, swIID, 100) - | IIDFromString = Wrap.IIDFromString(swIID, pIID) - | End Function -//} | -//{ |QueryInterface - | Private Function QueryInterface(pObj, sIDD) - | QueryInterface = E_NOINTERFACE - | If IIDFromString(sIDD) = S_OK Then - | vfunc pObj, &h0 - | QueryInterface = Wrap.IUnknown_QueryInterface(pObj, pIID, ppv) - | End If - | End Function -//} | -//{ |GetInterface - | Public Function GetInterface(pObj, sIID) - | GetInterface = QueryInterface(pObj, sIID) - | If GetInterface = S_OK Then - | GetInterface = Wrap.NumGet(ppv) - | End If - | End Function -//} | -//{ |vfunc - | Public Sub vfunc(pObj, offset) - | Addr = Wrap.NumGet(Wrap.NumGet(pObj), offset) - | Wrap.NumPut Addr - (buf + 1 + 4), buf, 1 - | End Sub -//} | -//{ |this_call - | Public Sub this_call(ECX, Addr) - | Wrap.NumPut ECX, buf_thiscall,1 - | Wrap.NumPut Addr - (buf + 1 + 4),buf, 1 - | End Sub -//} | -//{ |SetParamsCount - | Private Function SetParamsCount(pParams, num, cnt) - | 'Указатели на начало и конец массива указателей на параметры - | - | 'Указатель на начало массива указателей на параметры - | Wrap.NumPut (pParams + num * 16), pParams, num * 16 + (num + 1) * 4 - | - | 'Указатель на конец массива указателей на параметры - | Wrap.NumPut (pParams + num * 16 + cnt * 4), pParams, num * 16 + (num + 1) * 4 + 4 - | Wrap.NumPut (pParams + num * 16 + cnt * 4), pParams, num * 16 + (num + 1) * 4 + 8 - | End Function -//} | -//{ |PrepareParams - | Private Function PrepareParams(pParams, num) - | 'Подготовим параметры, 16 байт на параметр - | bsl_off = bsl_off_13 - | - | For j = 0 To num - 1 - | Wrap.NumPut bsl_off, pParams, j * 16 - | Next - | - | 'Указатели на параметры - | For j = 0 To num - 1 - | Wrap.NumPut (pParams + j * 16), pParams, num * 16 + j * 4 - | Next - | - | 'Установим по-умолчанию 2 параметра - | SetParamsCount pParams, num, 2 - | End Function -//} | -//{ |SetParam - | Private Function SetParam(pParams, num, paramType, paramValue, paramValueType) - | Wrap.NumPut paramType, pParams, (num - 1) * 16 + 4 - | Wrap.NumPut paramValue, pParams, (num - 1) * 16 + 8 - | Wrap.NumPut paramValueType, pParams, (num - 1) * 16 + 12 - | End Function -//} | -//{ |GetParam - | Private Function GetParam(pParams, num) - | GetParam = Wrap.NumGet(pParams, 8 + num * 16) - | End Function -//} | -//{ |getParamList - | Public Function getParamList(pParams, num) - | getParamList = pParams + num * 16 + (num + 1) * 4 - | End Function -//} | -//{ |getType - | Public Function getType(pIValue) - | Addr = Wrap.NumGet(Wrap.NumGet(pIValue), (7 - 1) * 4) - | this_call pIValue, Addr - | res = Wrap.type0(ppv + 8) - | - | pObjTypeCore = Wrap.NumGet(ppv + 8) - | vfunc pObjTypeCore, (4 - 1) * 4 - | getType = Wrap.getTypeCode(pObjTypeCore) - //| MsgBox getType - | End Function -//} | -//{ |getIValue - | Private Function getIValue(pValue) - | Addr = Wrap.NumGet(Wrap.NumGet(pValue), (2 - 1) * 4) - | - | this_call pValue, Addr - | res = Wrap.getIValue(ppv + 8) - | getIValue = Wrap.NumGet(ppv + 8) - | End Function -//} | -//{ |setIValue - | Private Function setIValue(pIValue, pValue) - | Addr = Wrap.NumGet(Wrap.NumGet(pIValue), (1 - 1) * 4) - | - | this_call pIValue, Addr - | setIValue = Wrap.setIValue(pValue) - | End Function -//} | -//{ |Message - | Public Function Message(txt) - | '1-й параметр, строка - | '======================================================= - | this_call ppv, adrValue_str - | res = Wrap.Value_str(txt) - | IValue = getIValue(ppv) - | res = SetParam (paramArr2, 1, 0, IValue, 4) - | - | '2-й параметр, перечисление - | '======================================================= - | this_call ppv, adrValue_void - | res = Wrap.Value_void() - | - | vfunc pMes, 4 * (14 - 1) - | res = Wrap.ImplBase_getParamDefValue(pMes, numMes, 1, ppv) - | IValue = getIValue(ppv) - | res = SetParam(paramArr2, 2, 0, IValue, 0) - | - | SetParamsCount paramArr2, 2, 2 - | '======================================================= - | vtable = Wrap.NumGet(pMes) - | Addr = Wrap.NumGet(vtable, 4 * (20 - 1)) - | - | this_call numMes, Addr - | Wrap.ImplBase_call_thiscall pMes, numMes, 0, getParamList(paramArr2, 2) - | End Function -//} | -//{ |PrepareDefParams - |Public Function PrepareDefParams(pIContext, numFunc) - | PrepareDefParams = -1 - | - | vfunc pIContext, 4 * (11 - 1) - | NParams = Wrap.ImplBase_getNParams(pIContext, numFunc) - | - | If (NParams = 0) OR (NParams > 9) Then - | Exit Function - | End If - | - | j = 0 - | Do While j < NParams - | this_call ppv, adrValue_void - | res = Wrap.Value_void() - | - | vfunc pIContext, 4 * (14 - 1) - | res = Wrap.ImplBase_getParamDefValue(pIContext, numFunc, j, ppv) - | If res <> S_OK Then - | PrepareDefParams = -1 - | Exit Do - | End If - | IValue = getIValue(ppv) - | typeCode = getType(ppv) - | res = SetParam(paramArr9, j + 1, 0, IValue, typeCode) - | j = j + 1 - | Loop - | If PrepareDefParams = -1 Then - | Exit Function - | End If - | - | SetParamsCount paramArr9, 9, NParams - | - | this_call ppv, adrValue_void - | res = Wrap.Value_void() - | - | vfunc pIContext, 4 * (20 - 1) - | PrepareDefParams = getParamList(paramArr9, 9) - | End Function -//} | -//{ |RetValueImplBase - | Public Function RetValueImplBase() - | pCont = getIValue(ppv) - | pValueImplBase = GetInterface(pCont, IID_IValueImplBase) - | - | res = Wrap.value_to_dispatch(ppv, pValueImplBase, 0) - | pDisp = Wrap.NumGet(ppv) - | - | 'Уменьшим счетчик ссылок (незаконно - не через Release), иначе повиснет ссылка и 1С не закроется - | res = Wrap.NumGet(pDisp, 8) - | res = Wrap.NumPut(res - 1, pDisp, 8) - | - | Set RetValueImplBase = Wrap.GetObject(pDisp) - | End Function -//} | -//{ |HookOn - | Public Function HookOn() - | vtable = Wrap.NumGet(pMes) - | Wrap.VirtualProtect vtable + (20 - 1) * 4, 4, PAGE_EXECUTE_READWRITE, ppv - | oldFunc = Wrap.NumGet(vtable, (20 - 1) * 4) - | Wrap.NumPut newFunc, vtable,(20 - 1) * 4 - | End Function -//} | -//{ |HookOn - | Public Function HookOff() - | vtable = Wrap.NumGet(pMes) - | Wrap.NumPut oldFunc, vtable,(20 - 1) * 4 - | Wrap.VirtualProtect vtable + (20 - 1) * 4, 4, PAGE_EXECUTE_READ, ppv - | - | PrepareParams paramArr2, 2 - | PrepareParams paramArr9, 9 - | End Function -//} | - |End Class -//} | - |Set oServ = New Service - |"; - - Возврат ТекстМодуля; -КонецФункции - -Функция Funcs() - ТекстМодуля = " -//{ |getN - |Public Function getN(pIContext, nfunc) - | getN = 0 - | If pIContext <> 0 Then - | oServ.vfunc pIContext, 4 * (nfunc - 1) - | getN = Wrap.ImplBase_getN(pIContext) - | End If - |End Function -//} | -//{ |ImplBase_getN - |Public Function ImplBase_getN(Obj, nfunc) - | ImplBase_getN = 0 - | If VarType(Obj) = VT_BSTR Then - | For j = 0 To oServ.numGK - | pIContext = Wrap.NumGet(oServ.pArray, j * 4) - | ImplBase_getN = ImplBase_getN + getN(pIContext, nfunc) - | Next - | Else - | pObj = Wrap.GetIDispatch(Obj) - | pIContext = Wrap.NumGet(pObj, platform_offset) - | - //| If pIContext <> 0 Then - //| oServ.Message Hex(pIContext) - //| oServ.Message Hex(Wrap.NumGet(pIContext)) - //| End If - | - | ImplBase_getN = getN(pIContext, nfunc) - | End if - |End Function -//} | -//{ |ImplBase_getName - |Public Function ImplBase_getName(pIContext, num, nfunc) - | ImplBase_getName = 0 - | If pIContext <> 0 Then - | j = 1 - | Do While j > -1 - | oServ.vfunc pIContext, 4 * (nfunc - 1) - | pbstrName = Wrap.ImplBase_getName(pIContext, num, j) - | - | If (pbstrName <> 0) Then - | If Wrap.StrGet(pbstrName) <> """" Then - | ImplBase_getName = pbstrName - | Exit Do - | End If - | End If - | j = j - 1 - | Loop - | End If - |End Function -//} | -//{ |valFill - |Public Function valFill(pIContext, num, valTable, nfunc, ContID) - | For j = 0 To num - 1 - | pStr = ImplBase_getName(pIContext, j, nfunc) - | If (pStr <> 0) Then - | Set nRow = valTable.Add() - | nRow.Name = Wrap.StrGet(pStr) - | - | oServ.vfunc pIContext, 4 * (15 - 1) - | nRow.Val = Wrap.ImplBase_hasRetVal(pIContext, j) - | - | oServ.vfunc pIContext, 4 * (11 - 1) - | nRow.NParams = Wrap.ImplBase_getNParams(pIContext, j) - | nRow.ID = j - | nRow.ContID = ContID - | End If - | Next - |End Function -//} | -//{ |Fill - |Public Function Fill(Obj, valTable, nfunc) - | Fill = 0 - | - | If VarType(Obj) = VT_BSTR Then - | For j = 0 To oServ.numGK - | pIContext = Wrap.NumGet(oServ.pArray, j * 4) - | num = getN(pIContext, nfunc - 1) - | Fill = Fill + num - | valFill pIContext, num, valTable, nfunc, j - | Next - | Else - | pObj = Wrap.GetIDispatch(Obj) - | pIContext = Wrap.NumGet(pObj, platform_offset) - | - | Fill = getN(pIContext, nfunc - 1) - | valFill pIContext, Fill, valTable, nfunc, 0 - | End if - |End Function -//} | -//{ |GetContext - |Public Function GetContext(Obj, numCont) - | If VarType(Obj) = VT_BSTR Then - | GetContext = Wrap.NumGet(oServ.pArray, numCont * 4) - | Else - | pObj = Wrap.GetIDispatch(Obj) - | GetContext = Wrap.NumGet(pObj, platform_offset) - | End If - |End Function -//} | -//{ |PrepareDefParams - |Public Function PrepareDefParams(Obj, numFunc, numCont) - | pIContext = GetContext(Obj, numCont) - | PrepareDefParams = oServ.PrepareDefParams(pIContext, numFunc) - |End Function -//} | -//{ |RetValueImplBase - |Public Function RetValueImplBase() - | Set RetValueImplBase = oServ.RetValueImplBase() - |End Function -//} | -//{ |GetIContext - |Public Function GetIContext(Obj) - | GetIContext = """" - | pObj = GetContext(Obj, 0) - | If pObj <> 0 Then - | GetIContext = Hex(pObj) - | End If - |End Function -//} | -//{ |GetVT - |Public Function GetVT(Obj) - | GetVT = """" - | pObj = GetContext(Obj, 0) - | If pObj <> 0 Then - | GetVT = Hex(Wrap.NumGet(pObj)) - | End If - |End Function -//} | -//{ |IContextExtImplBase_call - |Public Function IContextExtImplBase_call(pIContext, numMeth, paramOut, ppArrayParIn) - | If bsl_off_13 = 0 Then - | pFirst = Wrap.NumGet(ppArrayParIn) - | bsl_off_13 = Wrap.NumGet(Wrap.NumGet(pFirst)) - | End If - |End Function -//} | - |"; - - Возврат ТекстМодуля; -КонецФункции - -Функция ТипДоступенДляИсследования(Объект, Уровень = 0) - Если (Объект = Неопределено) И (Уровень = 0) Тогда // глобальный контекст - Объект = СТРОКА_ГЛОБАЛЬНЫЙ_КОНТЕКСТ; - КонецЕсли; - типОбъект = ТипЗнч(Объект); - Если (Объект <> СТРОКА_ГЛОБАЛЬНЫЙ_КОНТЕКСТ) Тогда - If (типОбъект = Тип("Число"))ИЛИ - (типОбъект = Тип("Строка")) ИЛИ - (типОбъект = Тип("Дата")) ИЛИ - (типОбъект = Тип("Булево")) ИЛИ - (типОбъект = Тип("Неопределено")) ИЛИ - (типОбъект = Тип("ComОбъект")) Then - - Возврат Ложь; - EndIf; - КонецЕсли; - Возврат Истина; -КонецФункции - -Функция ЭтоГлобальныйКонтекст(Объект) Экспорт - Возврат Объект = СТРОКА_ГЛОБАЛЬНЫЙ_КОНТЕКСТ ИЛИ Объект = Неопределено; -КонецФункции - -Функция ПолучитьОписание(Объект, ТЗ, Флаг, Уровень) - Рез = ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_СВОЙСТВ_И_МЕТОДОВ; //0 - - Если НЕ ТипДоступенДляИсследования(Объект, Уровень) Тогда Возврат Рез; КонецЕсли; - //типОбъект = ТипЗнч(Объект); - //Если (Объект <> СТРОКА_ГЛОБАЛЬНЫЙ_КОНТЕКСТ) Тогда - // If (типОбъект = Тип("Число"))ИЛИ - // (типОбъект = Тип("Строка")) ИЛИ - // (типОбъект = Тип("Дата")) ИЛИ - // (типОбъект = Тип("Булево")) ИЛИ - // (типОбъект = Тип("Неопределено")) ИЛИ - // (типОбъект = Тип("ComОбъект")) Then - // - // Возврат Рез; - // EndIf; - //КонецЕсли; - - If Флаг = ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_СВОЙСТВ_И_МЕТОДОВ Then //0 - Рез = ScrptCtrl.Run("ImplBase_getN",Объект, 4); - Рез = Рез + ScrptCtrl.Run("ImplBase_getN", Объект, 9); - - //Адр = ScrptCtrl.CodeObject.ImplBase_pIContext(Объект); - //If (Адр <> "0") И (Адр <> "") Then - // Сообщить(""+ Объект + " :" + Адр); - //EndIf; - - ElsIf Флаг = ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_СВОЙСТВ Then //1 - Рез = ScrptCtrl.Run("ImplBase_getN",Объект, 4); - ElsIf Флаг = ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_МЕТОДОВ Then //2 - Рез = ScrptCtrl.Run("ImplBase_getN", Объект, 9); - Else - ТЗ = Новый ТаблицаЗначений; - ТЗ.Колонки.Добавить("Name"); - ТЗ.Колонки.Добавить("Type"); - ТЗ.Колонки.Добавить("Val"); - ТЗ.Колонки.Добавить("NParams"); - ТЗ.Колонки.Добавить("ID"); - ТЗ.Колонки.Добавить("ContID"); - - If Флаг = ФЛАГ_ЗАПОЛНЕНИЯ_ЗАПОЛНИТЬ_СВОЙСТВА Then //3 - ScrptCtrl.Run("Fill", Объект, ТЗ, 5); - Else - ScrptCtrl.Run("Fill", Объект, ТЗ, 10); - EndIf; - //Если (Объект <> СТРОКА_ГЛОБАЛЬНЫЙ_КОНТЕКСТ) Тогда - ТЗ.Сортировать("Name"); - //EndIf; - EndIf; - - Возврат Рез; -КонецФункции - -Процедура ДобавитьВДерево(текСтрока, ТЗ, ТипТЗ, Объект) - Для каждого текСтр Из ТЗ Цикл - новСвойство = текСтрока.Строки.Добавить(); - новСвойство.Наименование = текСтр.Name; //новСвойство.Наименование = текСтр.Name + " (" + ?(Объект <> СТРОКА_ГЛОБАЛЬНЫЙ_КОНТЕКСТ,"", "" + текСтр.ContID + ",") + текСтр.ID + ")"; - - //контИД это порядковый номер контекста из массива Глобальных контекстов, - // ИД номер свойства/метода - //контИД = 0 для не ГлК - новСвойство.ИндексКонтекста = ?(Объект <> СТРОКА_ГЛОБАЛЬНЫЙ_КОНТЕКСТ, "", "" + текСтр.ContID); - новСвойство.Индекс = текСтр.ID; - - текОбъект = ""; - If ТипТЗ = СТРОКА_СВОЙСТВА Then - Если Объект <> СТРОКА_ГЛОБАЛЬНЫЙ_КОНТЕКСТ Тогда - Попытка - текОбъект = Вычислить("Объект."+текСтр.Name);//Объект[текСтр.Name]; - Исключение - КонецПопытки; - Иначе - текОбъект = Вычислить(текСтр.Name); - КонецЕсли; - //текОбъект = Вычислить("Объект."+текСтр.Name);//Объект[текСтр.Name]; - Значение = Строка(текОбъект); - новСвойство.Тип = ТипЗнч(текОбъект); - Else - If текСтр.Val = 0 Then //Процедура - Значение = "<?>"; - новСвойство.КоличествоПараметров = 0; - новСвойство.ЕстьВозвращаемоеЗначение = Ложь; - ElsIf текСтр.NParams > 0 Then - Значение = СТРОКА_ОПИСАНИЕ_МЕТОДА_БЕЗ_ПАРАМЕТРОВ;//"<Функция требует " + Строка(текСтр.NParams) + " парам.>"; - новСвойство.КоличествоПараметров = текСтр.NParams; - новСвойство.ЕстьВозвращаемоеЗначение = Истина; //1; - Else - Значение = СТРОКА_ОПИСАНИЕ_МЕТОДА_БЕЗ_ПАРАМЕТРОВ; - новСвойство.КоличествоПараметров = 0; - новСвойство.ЕстьВозвращаемоеЗначение = Истина; //1; - EndIf; - EndIf; - - новСвойство.Значение = Значение; - новСвойство.Объект = текОбъект; - GetIContext(новСвойство, текОбъект); - - ЗаполнитьСубДерево(текОбъект, новСвойство, ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_СВОЙСТВ_И_МЕТОДОВ); //0); - КонецЦикла; -КонецПроцедуры - -Процедура ЗаполнитьСубДерево(Объект, текСтрока, Флаг) Экспорт - Перем ТЗ; - - Рез = ПолучитьОписание(Объект, ТЗ, Флаг, текСтрока.Уровень()); - If Флаг < ФЛАГ_ЗАПОЛНЕНИЯ_ЗАПОЛНИТЬ_СВОЙСТВА Then //3 - If Рез > 0 Then - новСтрока = текСтрока.Строки.Добавить(); - If (Флаг > ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_СВОЙСТВ_И_МЕТОДОВ) Then //0 - новСтрока.Наименование = ?(Флаг = ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_СВОЙСТВ, СТРОКА_СВОЙСТВА, СТРОКА_МЕТОДЫ); //1 - новСтрока.Объект = новСтрока.Наименование; - новСтрока.Строки.Добавить(); - EndIf; - EndIf; - ElsIf Флаг = ФЛАГ_ЗАПОЛНЕНИЯ_ЗАПОЛНИТЬ_СВОЙСТВА Then //3 - ДобавитьВДерево(текСтрока, ТЗ, СТРОКА_СВОЙСТВА, Объект); - Else - ДобавитьВДерево(текСтрока, ТЗ, СТРОКА_МЕТОДЫ, Объект); - EndIf; -КонецПроцедуры - -Процедура Очистить(НаборСтрок) Экспорт - Для каждого текСтр Из НаборСтрок Цикл - текСтр.Объект = 0; - текСтр.Значение = 0; - Очистить(текСтр.Строки); - КонецЦикла; -КонецПроцедуры - -Процедура ОбработатьСобытие_ДЗ_ПередРазворачиванием(Элемент, Строка, Отказ) Экспорт - //Уже заполняли - If Строка.УжеЗаполняли = Истина Then Возврат; EndIf; //1 - - Объект = Строка.Объект; - Строка.Строки.Очистить(); - If (Объект = СТРОКА_СВОЙСТВА) Then - ЗаполнитьСубДерево(Строка.Родитель.Объект, Строка, ФЛАГ_ЗАПОЛНЕНИЯ_ЗАПОЛНИТЬ_СВОЙСТВА); //3 - ElsIf (Объект = СТРОКА_МЕТОДЫ) Then - ЗаполнитьСубДерево(Строка.Родитель.Объект, Строка, ФЛАГ_ЗАПОЛНЕНИЯ_ЗАПОЛНИТЬ_МЕТОДЫ); //4 - Else - ЗаполнитьСубДерево(Объект, Строка, ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_СВОЙСТВ); //1 - ЗаполнитьСубДерево(Объект, Строка, ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_МЕТОДОВ); //2 - EndIf; - Строка.УжеЗаполняли = Истина; //1; -КонецПроцедуры - -Функция ПолныйПутьОбъекта(ВыбраннаяСтрока) - If ВыбраннаяСтрока.Родитель = Неопределено Then - Возврат "<Объект>"; - Else - If (ВыбраннаяСтрока.Объект = СТРОКА_СВОЙСТВА) Then - Возврат ПолныйПутьОбъекта(ВыбраннаяСтрока.Родитель); - ElsIf (ВыбраннаяСтрока.Объект = СТРОКА_МЕТОДЫ) Then - Возврат ПолныйПутьОбъекта(ВыбраннаяСтрока.Родитель); - Else - тег = ?(ВыбраннаяСтрока.Родитель.Объект = СТРОКА_СВОЙСТВА, "" , "()"); - Возврат ПолныйПутьОбъекта(ВыбраннаяСтрока.Родитель) + "." + ВыбраннаяСтрока.Наименование + тег; - EndIf; - EndIf; -КонецФункции - -Процедура ОбработатьСобытие_ДЗ_Выбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка) Экспорт - If (Колонка.Имя = "Наименование") И ((ВыбраннаяСтрока.Объект <> СТРОКА_СВОЙСТВА) И (ВыбраннаяСтрока.Объект <> СТРОКА_МЕТОДЫ)) Then - Сообщить(ПолныйПутьОбъекта(ВыбраннаяСтрока)); - ElsIf (Колонка.Имя = "vtable") ИЛИ (Колонка.Имя = "IContext") Then - Сообщить(Вычислить("ВыбраннаяСтрока." + Колонка.Имя)); - ElsIf (ВыбраннаяСтрока.ЕстьВозвращаемоеЗначение = Истина) И (ВыбраннаяСтрока.Значение = СТРОКА_ОПИСАНИЕ_МЕТОДА_БЕЗ_ПАРАМЕТРОВ) Then //1 - ВычислитьФункциюВСтроке(ВыбраннаяСтрока); - EndIf; -КонецПроцедуры - -Процедура вспВычислитьФункциюВСтроке(ВыбраннаяСтрока, текОбъект) - ВыбраннаяСтрока.Тип = ТипЗнч(текОбъект); - ВыбраннаяСтрока.Значение = Строка(текОбъект); - ВыбраннаяСтрока.Объект = текОбъект; - - ЗаполнитьСубДерево(текОбъект, ВыбраннаяСтрока, ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_СВОЙСТВ_И_МЕТОДОВ); //0 -КонецПроцедуры - -Процедура ВычислитьФункциюВСтроке(ВыбраннаяСтрока) Экспорт - текОбъект = ВыбраннаяСтрока.Родитель.Родитель.Объект; - param = ScrptCtrl.Run("PrepareDefParams", текОбъект, ВыбраннаяСтрока.Индекс, ВыбраннаяСтрока.индексКонтекста); - - If param = -1 Then - Попытка - Если текОбъект <> СТРОКА_ГЛОБАЛЬНЫЙ_КОНТЕКСТ Тогда - текОбъект = Вычислить("текОбъект." + ВыбраннаяСтрока.Наименование + "()"); - Иначе - текОбъект = Вычислить(ВыбраннаяСтрока.Наименование + "()"); - КонецЕсли; - //текОбъект = Вычислить("текОбъект." + ВыбраннаяСтрока.Наименование + "()"); - - вспВычислитьФункциюВСтроке(ВыбраннаяСтрока, текОбъект); - GetIContext(ВыбраннаяСтрока, текОбъект); - Исключение - Ошибка = ОписаниеОшибки(); - Поз = Найти(Ошибка, "Недостаточно фактических параметров"); - ВыбраннаяСтрока.Значение = ?(Поз >0, Сред(Ошибка, Поз), Ошибка); - КонецПопытки; - Else - Попытка - pIContext = ScrptCtrl.Run("GetContext", текОбъект, ВыбраннаяСтрока.индексКонтекста); - res = Wrap.ImplBase_call(pIContext, ВыбраннаяСтрока.Индекс, ppv, param); - текОбъект = ScrptCtrl.Run("RetValueImplBase"); - вспВычислитьФункциюВСтроке(ВыбраннаяСтрока, текОбъект); - GetIContext(ВыбраннаяСтрока, текОбъект); - Исключение - Ошибка = ОписаниеОшибки(); - Стр = "Произошла исключительная ситуация:"; - Поз = ?(Найти(Ошибка, Стр) >0, Найти(Ошибка, Стр) + СтрДлина(Стр), 1); - - ВыбраннаяСтрока.Значение = Сред(Ошибка, Поз); - КонецПопытки; - EndIf; -КонецПроцедуры - -#КонецЕсли - -// ================================== ================================== ================================== -// -// блок кода из "Инструменты разработчика" -// -// ================================== ================================== ================================== - -#Если Клиент Тогда - -// Получает новый экземпляр ком-объекта парсера. -// -// Параметры: -// Нет. -// -// Возвращаемое значение: -// Com-объект, Неопределено. -// -Функция ПолучитьWinAPI() //Экспорт - - Если Wrap = "НеИнициализирован" Тогда - Wrap = ПолучитьCOMОбъектИзМакета(ИМЯ_КЛАССА_DynamicWrapperX, ИМЯ_КЛАССА_DynamicWrapperX); - Если Wrap <> Неопределено Тогда - Wrap.Register( "KERNEL32.DLL","Sleep","i=h","f=s"); - //Wrap.Register( "KERNEL32.DLL","GetTickCount64","r=l","f=s"); // обычный DynamicWrapper на x86 подключает, а этот - нет - Wrap.Register( "KERNEL32.DLL","GetTickCount","r=l","f=s"); - Wrap.Register( "KERNEL32.DLL","GetProcessId","i=l","r=l","f=s"); - Wrap.Register( "KERNEL32.DLL","GetCurrentProcessId","r=l","f=s"); - Wrap.Register( "WINMM.DLL", "timeGetTime", "r=l", "f=s"); - Wrap.Register( "WINMM.DLL", "timeBeginPeriod", "i=l", "r=l", "f=s"); - Wrap.Register( "WINMM.DLL", "timeEndPeriod", "i=l", "r=l", "f=s"); - Иначе - // Под пользователем ОС без админских прав сразу после установки через regsvr32 /i компонента не создается почему то. - // Нужно перезапускать приложение. - Предупреждение("Установлена новая компонента. Сеанс будет перезапущен", 5); - ПрекратитьРаботуСистемы(Истина); - КонецЕсли; - КонецЕсли; - Возврат Wrap; - -КонецФункции // ПолучитьWinAPI() - -#КонецЕсли - -Функция ЗарегистрироватьПолучитьCOMОбъект(КлассКомпоненты, ПолноеИмяDll) //Экспорт - - // Сначала пробуем зарегистрировать для HKLM - КоманднаяСтрока = "regsvr32 /s """ + ПолноеИмяDll + """"; - //КомандаСистемы(КоманднаяСтрока); - ЗапуститьСкрытоеПриложениеИДождатьсяЗавершения(КоманднаяСтрока, , Истина); - Попытка - Компонента = Новый COMОбъект(КлассКомпоненты); - Исключение - КонецПопытки; - Если Компонента <> Неопределено Тогда - Сообщить("Зарегистрирована COM-компонента " + КлассКомпоненты, СтатусСообщения.Информация); - Возврат Компонента; - КонецЕсли; - - // Теперь пробуем зарегистрировать для HKCU - КоманднаяСтрока = "regsvr32 /s /i""" + ПолноеИмяDll + """"; - //КомандаСистемы(КоманднаяСтрока); - ЗапуститьСкрытоеПриложениеИДождатьсяЗавершения(КоманднаяСтрока, , Истина); - Попытка - Компонента = Новый COMОбъект(КлассКомпоненты); - Исключение - КонецПопытки; - Если Компонента <> Неопределено Тогда - Сообщить("Зарегистрирована COM-компонента " + КлассКомпоненты, СтатусСообщения.Информация); - Возврат Компонента; - КонецЕсли; - - Если ФайлРегистратораКомпонент = Неопределено Тогда - ФайлРегистратораКомпонент = Новый Файл(ПолучитьИмяВременногоФайла("exe")); - ПолучитьМакет("regsvrex").Записать(ФайлРегистратораКомпонент.ПолноеИмя); - КонецЕсли; - - // Теперь пробуем зарегистрировать для HKCU через сторонний регистратор - КоманднаяСтрока = """" + ФайлРегистратораКомпонент.ПолноеИмя + """ /c /s """ + ПолноеИмяDll + """"; - //КомандаСистемы(КоманднаяСтрока); - ЗапуститьСкрытоеПриложениеИДождатьсяЗавершения(КоманднаяСтрока, , Истина); - Попытка - Компонента = Новый COMОбъект(КлассКомпоненты); - Исключение - КонецПопытки; - Если Компонента <> Неопределено Тогда - Сообщить("Зарегистрирована COM-компонента " + КлассКомпоненты, СтатусСообщения.Информация); - Возврат Компонента; - КонецЕсли; - - // Теперь пробуем зарегистрировать для HKCU через сторонний регистратор - КоманднаяСтрока = """" + ФайлРегистратораКомпонент.ПолноеИмя + """ /c /s /i """ + ПолноеИмяDll + """"; - //КомандаСистемы(КоманднаяСтрока); - ЗапуститьСкрытоеПриложениеИДождатьсяЗавершения(КоманднаяСтрока, , Истина); - Попытка - Компонента = Новый COMОбъект(КлассКомпоненты); - Исключение - КонецПопытки; - Если Компонента <> Неопределено Тогда - Сообщить("Зарегистрирована COM-компонента " + КлассКомпоненты, СтатусСообщения.Информация); - Возврат Компонента; - КонецЕсли; - - Сообщить("Не удалось зарегистривать COM-компоненту " + КлассКомпоненты + ". Возможно требуются права администратора ОС", - СтатусСообщения.Внимание); - Возврат Неопределено; - -КонецФункции // ЗарегистрироватьПолучитьCOMОбъект - -// Возвращает нужный com-объект. Если компонента не зарегистрирована, то пытается ее сохранить из макета и зарегистрировать. -// -// Параметры: -// Нет. -// -// Возвращаемое значение: -// COM-объект, Неопределено. -// -Функция ПолучитьCOMОбъектИзМакета(ИмяКомпоненты, КлассКомпоненты, КаталогУстановки = "авто") //Экспорт - - Попытка - Компонента = Новый COMОбъект(КлассКомпоненты); - - // -- Артур -- 14.09.2011 - вставка в код ИР - Если КлассКомпоненты = ИМЯ_КЛАССА_DynamicWrapperX Тогда - Попытка - л = Компонента.GetIDispatch(Компонента); - Возврат Компонента; - Исключение - //ВызватьИсключение "Зарегистрирована старая версия COM-объекта DynamicWrapperX"; - КонецПопытки; - КонецЕсли; - //Возврат Компонента; - // --завершение - - Исключение - КонецПопытки; - - #Если Клиент Тогда - Если КаталогУстановки = "" Тогда - Ответ = Вопрос("Для работы данной функции необходимо зарегистрировать - //|(необходимы права локального администратора) - | COM-компоненту """ + ИмяКомпоненты + """. Выполнить регистрацию?", - РежимДиалогаВопрос.ОКОтмена, 30, КодВозвратаДиалога.Отмена); - Если Ответ = КодВозвратаДиалога.Отмена Тогда - Возврат Неопределено; - КонецЕсли; - ВыборФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога); - ВыборФайла.Заголовок = "Укажите папку, куда установить компоненту."; - Если Не ВыборФайла.Выбрать() Тогда - Возврат Неопределено; - КонецЕсли; - КаталогУстановки = ВыборФайла.Каталог; - ИначеЕсли Нрег(КаталогУстановки) = Нрег("авто") Тогда - КаталогУстановки = ПапкаВнешнихКомпонент.ПолноеИмя; - КонецЕсли; - ФайлКомпоненты = Новый Файл(КаталогУстановки + "\" + ИмяКомпоненты + ".dll"); - Если Не ФайлКомпоненты.Существует() Тогда - ПолучитьМакет(ИмяКомпоненты).Записать(ФайлКомпоненты.ПолноеИмя); - КонецЕсли; - - Результат = ЗарегистрироватьПолучитьCOMОбъект(КлассКомпоненты, ФайлКомпоненты.ПолноеИмя); - #Иначе - Результат = Неопределено; - #КонецЕсли - Возврат Результат; - -КонецФункции // ПолучитьCOMОбъектИзМакета() - -// <Описание процедуры> -// -// Параметры: -// <Параметр1> – <Тип.Вид> – <описание параметра> -// <продолжение описания параметра>; -// ИмяФайлаРезультата – Краткое имя файла, в который будет выведен выходной поток, только в текущем каталоге. -// -Процедура ЗапуститьСкрытоеПриложениеИДождатьсяЗавершения(Знач СтрокаЗапуска, ТекущийКаталог = "\.", ИспользоватьWSH = Ложь, - КраткоеИмяФайлаРезультата = "") //Экспорт - - #Если Клиент Тогда - // Баг платформы здесь будет работать. Во время работы данной строки окно продолжает принимать команды! - // WSH не использовать при генерации внешних обработок - Если ИспользоватьWSH Тогда - #КонецЕсли - WshShell.CurrentDirectory = ТекущийКаталог; - СтрокаЗапуска = "cmd.exe /c """ + СтрокаЗапуска + """"; - Если КраткоеИмяФайлаРезультата <> "" Тогда - СтрокаЗапуска = СтрокаЗапуска + " > " + КраткоеИмяФайлаРезультата; - СтрокаЗапуска = СтрокаЗапуска + " 2>&1"; //stderr - КонецЕсли; - Попытка - WshShell.Run(СтрокаЗапуска, 0, Истина); - Исключение - // Для x64 ОС - СтрокаЗапуска = "%windir%\Sysnative\" + СтрокаЗапуска; - WshShell.Run(СтрокаЗапуска, 0, Истина); - КонецПопытки; - #Если Клиент Тогда - Иначе - ПолучитьИсполнительСкрытыхКомандСистемы(); - КонечнаяСтрока = ИсполнительСкрытыхКомандСистемы + " /nowindow /wait /silent /D=""" + ТекущийКаталог + """ " + СтрокаЗапуска; - ЗапуститьПриложение(КонечнаяСтрока, , Истина); - КонецЕсли; - #КонецЕсли - -КонецПроцедуры // ЗапуститьСкрытоеПриложениеИДождатьсяЗавершения() - -Функция ПолучитьИсполнительСкрытыхКомандСистемы() //Экспорт - - Если ИсполнительСкрытыхКомандСистемы = Неопределено Тогда - ДвоичныеДанные = ПолучитьОбщийМакет("hstart"); - ИсполнительСкрытыхКомандСистемы = ПолучитьИмяВременногоФайла("exe"); - ДвоичныеДанные.Записать(ИсполнительСкрытыхКомандСистемы); - ИсполнительСкрытыхКомандСистемы = """" + ИсполнительСкрытыхКомандСистемы + """"; - КонецЕсли; - Возврат ИсполнительСкрытыхКомандСистемы; - -КонецФункции - -// ================================== ================================== ================================== -// -// окончание блока кода из "Инструменты разработчика" -// -// ================================== ================================== ================================== - -#Если Клиент Тогда - -// основная процедура для юнит-тестирования 1CUnit -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - ВсеТесты.Добавить("Тесты_ВызовДеструктораОбъектов"); - //ВсеТесты = Я_Тест.Новый_НаборТестов(); - // - //Я_Тест.НаборТестов_Добавить(ВсеТесты, "Тесты_ПолучитьТаблицуСвойств"); - //Я_Тест.НаборТестов_Добавить(ВсеТесты, "Тесты_ПолучитьТаблицуМетодов"); - // - //Я_Тест.НаборТестов_Добавить(ВсеТесты, "Тесты_ПолучитьТаблицуСвойств_Глобальный"); - //Я_Тест.НаборТестов_Добавить(ВсеТесты, "Тесты_ПолучитьТаблицуМетодов_Глобальный"); - // - //Я_Тест.НаборТестов_Добавить(ВсеТесты, "Тесты_СвойствоСуществует"); - //Я_Тест.НаборТестов_Добавить(ВсеТесты, "Тесты_МетодСуществует"); - // - //Я_Тест.НаборТестов_Добавить(ВсеТесты, "Тесты_СвойствоСуществует_Глобальный"); - //Я_Тест.НаборТестов_Добавить(ВсеТесты, "Тесты_МетодСуществует_Глобальный"); - - Возврат ВсеТесты; -КонецФункции - -Процедура ПередЗапускомТеста() Экспорт - - юТест.ВывестиСообщение("Перед запуском теста Информатора"); - -КонецПроцедуры - -Процедура ПослеЗапускаТеста() Экспорт - - юТест.ВывестиСообщение("После запуска теста Информатора"); - -КонецПроцедуры - -Процедура Тесты_ВызовДеструктораОбъектов() Экспорт - лФорма = ЭтотОбъект.ПолучитьФорму("ТестВыполненияДеструктора", , "1"); - лФорма.Реквизит = 1; - лФорма.Открыть(); - - успешно = ЭтотОбъект.МетодСуществует(лФорма, "Метод1"); - - //Сообщить("До закрытия"); - лФорма.Закрыть(); - //Сообщить("После закрытия"); - //лФорма = Неопределено; - лФорма = ЭтотОбъект.ПолучитьФорму("ТестВыполненияДеструктора", , "1"); - юТест.ПроверитьНеравенство(лФорма.Реквизит, 1, "лФорма.Реквизит, 1"); - лФорма = Неопределено; - //лФорма.Открыть(); - //Сообщить("После деструктора"); -КонецПроцедуры - -#КонецЕсли - -#Если Клиент1 Тогда - -// основная процедура для юнит-тестирования SnowTest -Функция ПолучитьСписокТестов() Экспорт - Результат = Я_Тест.Новый_НаборТестов(); - - Я_Тест.НаборТестов_Добавить(Результат, "Тесты_ПолучитьТаблицуСвойств"); - Я_Тест.НаборТестов_Добавить(Результат, "Тесты_ПолучитьТаблицуМетодов"); - - Я_Тест.НаборТестов_Добавить(Результат, "Тесты_ПолучитьТаблицуСвойств_Глобальный"); - Я_Тест.НаборТестов_Добавить(Результат, "Тесты_ПолучитьТаблицуМетодов_Глобальный"); - - Я_Тест.НаборТестов_Добавить(Результат, "Тесты_СвойствоСуществует"); - Я_Тест.НаборТестов_Добавить(Результат, "Тесты_МетодСуществует"); - - Я_Тест.НаборТестов_Добавить(Результат, "Тесты_СвойствоСуществует_Глобальный"); - Я_Тест.НаборТестов_Добавить(Результат, "Тесты_МетодСуществует_Глобальный"); - - Возврат Результат; -КонецФункции - -// ======================= ======================= ======================= ======================= -// -// БЛОК ЮНИТ-ТЕСТОВ - сами тесты -// -// ======================= ======================= ======================= ======================= - -Процедура Тесты_ПолучитьТаблицуСвойств() Экспорт - тестТЗ = Новый ТаблицаЗначений; - тестТЗ.Колонки.Добавить("Колонка1"); - НоваяСтрока = тестТЗ.Добавить(); - - таблицаСвойств = ЭтотОбъект.ПолучитьТаблицуСвойств(тестТЗ); - артТесты.ПроверитьБольшеИлиРавно(таблицаСвойств.Колонки.Количество(), 5, "таблицаСвойств.Колонки.Количество()"); - артТесты.ПроверитьРавенство(таблицаСвойств.Количество(), 2, "таблицаСвойств.Количество()"); - артТесты.ПроверитьРавенство(таблицаСвойств[0].Наименование, "Индексы", "таблицаСвойств[0].Наименование"); - артТесты.ПроверитьРавенство(таблицаСвойств[1].Наименование, "Колонки", "таблицаСвойств[0].Наименование"); -КонецПроцедуры - -Процедура Тесты_ПолучитьТаблицуМетодов() Экспорт - тестТЗ = Новый ТаблицаЗначений; - тестТЗ.Колонки.Добавить("Колонка1"); - НоваяСтрока = тестТЗ.Добавить(); - - таблица = ЭтотОбъект.ПолучитьТаблицуМетодов(тестТЗ); - артТесты.ПроверитьБольшеИлиРавно(таблица.Колонки.Количество(), 5, "таблица.Колонки.Количество()"); - артТесты.ПроверитьРавенство(таблица.Количество(), 19, "таблица.Количество()"); - артТесты.ПроверитьРавенство(таблица[0].Наименование, "Вставить", "таблица[0].Наименование"); - артТесты.ПроверитьИстину(таблица[0].ЕстьВозвращаемоеЗначение, "таблица[0].ЕстьВозвращаемоеЗначение"); - артТесты.ПроверитьРавенство(таблица[0].КоличествоПараметров, 1, "таблица[0].КоличествоПараметров"); - артТесты.ПроверитьРавенство(таблица[18].Наименование, "Удалить", "таблица[Последняя].Наименование"); - - Если Ложь Тогда - таблица = Новый ТаблицаЗначений; - КонецЕсли; - строка = таблица.Найти("Количество", "Наименование"); - артТесты.ПроверитьНеравенство(строка, Неопределено, "таблица.НайтиСтроки(Количество, Наименование)"); - артТесты.ПроверитьИстину(строка.ЕстьВозвращаемоеЗначение, "строка.ЕстьВозвращаемоеЗначение"); - артТесты.ПроверитьРавенство(строка.КоличествоПараметров, 0, "таблица[0].КоличествоПараметров"); -КонецПроцедуры - -Процедура Тесты_ПолучитьТаблицуСвойств_Глобальный() Экспорт - таблица = ЭтотОбъект.ПолучитьТаблицуСвойств(Неопределено); - артТесты.ПроверитьБольшеИлиРавно(таблица.Колонки.Количество(), 5, "таблица.Колонки.Количество()"); - артТесты.ПроверитьБольшеИлиРавно(таблица.Количество(), 10, "таблица.Количество()"); - - строка = таблица.Найти("SelectRecordType", "Наименование"); - артТесты.ПроверитьНеравенство(строка, Неопределено, "таблица.НайтиСтроки(Количество, Наименование)"); - //артТесты.ПроверитьРавенство(таблицаСвойств[0].Наименование, "Индексы", "таблицаСвойств[0].Наименование"); - //артТесты.ПроверитьРавенство(таблицаСвойств[1].Наименование, "Колонки", "таблицаСвойств[0].Наименование"); -КонецПроцедуры - -Процедура Тесты_ПолучитьТаблицуМетодов_Глобальный() Экспорт - таблица = ЭтотОбъект.ПолучитьТаблицуМетодов(Неопределено); - артТесты.ПроверитьБольшеИлиРавно(таблица.Колонки.Количество(), 5, "таблица.Колонки.Количество()"); - артТесты.ПроверитьБольшеИлиРавно(таблица.Количество(), 30, "таблица.Количество()"); - //артТесты.ПроверитьРавенство(таблица[0].Наименование, "Вставить", "таблица[0].Наименование"); - //артТесты.ПроверитьИстину(таблица[0].ЕстьВозвращаемоеЗначение, "таблица[0].ЕстьВозвращаемоеЗначение"); - //артТесты.ПроверитьРавенство(таблица[0].КоличествоПараметров, 1, "таблица[0].КоличествоПараметров"); - //артТесты.ПроверитьРавенство(таблица[18].Наименование, "Удалить", "таблица[Последняя].Наименование"); - - Если Ложь Тогда - таблица = Новый ТаблицаЗначений; - КонецЕсли; - строка = таблица.Найти("XMLЗначение", "Наименование"); - артТесты.ПроверитьНеравенство(строка, Неопределено, "таблица.НайтиСтроки(Количество, Наименование)"); - артТесты.ПроверитьИстину(строка.ЕстьВозвращаемоеЗначение, "строка.ЕстьВозвращаемоеЗначение"); - артТесты.ПроверитьРавенство(строка.КоличествоПараметров, 2, "таблица[0].КоличествоПараметров"); -КонецПроцедуры - -Процедура Тесты_СвойствоСуществует() Экспорт - тестТЗ = Новый ТаблицаЗначений; - тестТЗ.Колонки.Добавить("Колонка1"); - НоваяСтрока = тестТЗ.Добавить(); - - существует = ЭтотОбъект.СвойствоСуществует(тестТЗ, "Колонки"); - артТесты.ПроверитьИстину(существует, "существует Колонки"); - - существует = ЭтотОбъект.СвойствоСуществует(тестТЗ, "Колонки1564"); - артТесты.ПроверитьЛожь(существует, "существует Колонки1564"); -КонецПроцедуры - -Процедура Тесты_МетодСуществует() Экспорт - тестТЗ = Новый ТаблицаЗначений; - тестТЗ.Колонки.Добавить("Колонка1"); - НоваяСтрока = тестТЗ.Добавить(); - - существует = ЭтотОбъект.МетодСуществует(тестТЗ, "Количество"); - артТесты.ПроверитьИстину(существует, "существует Количество"); - - существует = ЭтотОбъект.МетодСуществует(тестТЗ, "Количество1564"); - артТесты.ПроверитьЛожь(существует, "существует Количество1564"); -КонецПроцедуры - -Процедура Тесты_СвойствоСуществует_Глобальный() Экспорт - существует = ЭтотОбъект.СвойствоСуществует(Неопределено, "SelectRecordType"); - артТесты.ПроверитьИстину(существует, "существует SelectRecordType"); - - существует = ЭтотОбъект.СвойствоСуществует(Неопределено, "SelectRecordType1564"); - артТесты.ПроверитьЛожь(существует, "существует SelectRecordType1564"); -КонецПроцедуры - -Процедура Тесты_МетодСуществует_Глобальный() Экспорт - существует = ЭтотОбъект.МетодСуществует(Неопределено, "XMLЗначение"); - артТесты.ПроверитьИстину(существует, "существует XMLЗначение"); - - существует = ЭтотОбъект.МетодСуществует(Неопределено, "XMLЗначение1564"); - артТесты.ПроверитьЛожь(существует, "существует XMLЗначение1564"); -КонецПроцедуры - -// ======================= ======================= ======================= ======================= -// -// КОНЕЦ БЛОКА ЮНИТ-ТЕСТОВ -// -// ======================= ======================= ======================= ======================= -#КонецЕсли - -//================================== -ИМЯ_КЛАССА_DynamicWrapperX = "DynamicWrapperX"; - -СТРОКА_ОПИСАНИЕ_МЕТОДА_БЕЗ_ПАРАМЕТРОВ = "<Двойной клик по ячейке>"; -СТРОКА_МЕТОДЫ = "Методы"; -СТРОКА_СВОЙСТВА = "Свойства"; - -СТРОКА_ГЛОБАЛЬНЫЙ_КОНТЕКСТ = "ГлобальныйКонтекст"; - -ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_СВОЙСТВ_И_МЕТОДОВ = 0; -ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_СВОЙСТВ = 1; -ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_МЕТОДОВ = 2; -ФЛАГ_ЗАПОЛНЕНИЯ_ЗАПОЛНИТЬ_СВОЙСТВА = 3; -ФЛАГ_ЗАПОЛНЕНИЯ_ЗАПОЛНИТЬ_МЕТОДЫ = 4; - -#Если Клиент Тогда -Инит(); -#КонецЕсли diff --git "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Template/DynamicWrapperX.xml" "b/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Template/DynamicWrapperX.xml" deleted file mode 100644 index fbcfc6f7..00000000 --- "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Template/DynamicWrapperX.xml" +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <Template uuid="43dd74a9-d72e-4251-bd67-7057118283e8"> - <Properties> - <Name>DynamicWrapperX</Name> - <Synonym> - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Dynamic wrapper X</v8:content> - </v8:item> - </Synonym> - <Comment/> - <TemplateType>BinaryData</TemplateType> - </Properties> - </Template> -</MetaDataObject> \ No newline at end of file diff --git "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Template/DynamicWrapperX/Template.bin" "b/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Template/DynamicWrapperX/Template.bin" deleted file mode 100644 index cddac1f6..00000000 Binary files "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Template/DynamicWrapperX/Template.bin" and /dev/null differ diff --git "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Template/regsvrex.xml" "b/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Template/regsvrex.xml" deleted file mode 100644 index 17640849..00000000 --- "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Template/regsvrex.xml" +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <Template uuid="e33bfc68-6347-4ba4-ad0a-9ff4064ff5cb"> - <Properties> - <Name>regsvrex</Name> - <Synonym> - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Regsvrex</v8:content> - </v8:item> - </Synonym> - <Comment/> - <TemplateType>BinaryData</TemplateType> - </Properties> - </Template> -</MetaDataObject> \ No newline at end of file diff --git "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Template/regsvrex/Template.bin" "b/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Template/regsvrex/Template.bin" deleted file mode 100644 index 690836cf..00000000 Binary files "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Template/regsvrex/Template.bin" and /dev/null differ diff --git "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Template/\320\241\320\277\321\200\320\260\320\262\320\272\320\260.xml" "b/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Template/\320\241\320\277\321\200\320\260\320\262\320\272\320\260.xml" deleted file mode 100644 index ac0dce06..00000000 --- "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Template/\320\241\320\277\321\200\320\260\320\262\320\272\320\260.xml" +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <Template uuid="4e767bfc-31ad-4ebc-ab6e-1f5ee491df46"> - <Properties> - <Name>Справка</Name> - <Synonym> - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Справка</v8:content> - </v8:item> - </Synonym> - <Comment/> - <TemplateType>TextDocument</TemplateType> - </Properties> - </Template> -</MetaDataObject> \ No newline at end of file diff --git "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Template/\320\241\320\277\321\200\320\260\320\262\320\272\320\260/Template.txt" "b/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Template/\320\241\320\277\321\200\320\260\320\262\320\272\320\260/Template.txt" deleted file mode 100644 index e2378ff7..00000000 --- "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Template/\320\241\320\277\321\200\320\260\320\262\320\272\320\260/Template.txt" +++ /dev/null @@ -1,411 +0,0 @@ -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=CP1251" /> -<meta name="generator" content="Docutils 0.6: http://docutils.sourceforge.net/" /> -<title>Информатор - - - -
-

Информатор

- - - -

Класс "Информатор" .

-

Удобный сервисный класс, показывающий различную информацию.

-

Версия 1C: 8.2 и выше.

-
-

Методы

- -
-

ПолучитьТаблицуМетодов

-
-
-

Синтаксис: ПолучитьТаблицуМетодов(ПроверяемыйОбъект)

-
-
Параметры:
-
    -
  • ПроверяемыйОбъект - тип: Агрегатный.
  • -
-
-
-

Возвращает: тип: ТаблицаЗначений. Полученная таблица методов для данного объекта.

-

Описание: Получает таблицу методов для переданного объекта.

-
-
-
В случае, если проверяемый объект не является агрегатным типом (Строка, Число и т.п.),
-
выдается исключение.
-
-
-
-
-

ПолучитьТаблицуСвойств

-
-
-

Синтаксис: ПолучитьТаблицуСвойств(ПроверяемыйОбъект)

-
-
Параметры:
-
    -
  • ПроверяемыйОбъект - тип: Агрегатный.
  • -
-
-
-
-

Возвращает: тип: ТаблицаЗначений. Полученная таблица свойств для данного объекта.

-
-Описание: Получает таблицу свойств для переданного объекта.
-
-
В случае, если проверяемый объект не является агрегатным типом (Строка, Число и т.п.),
-
выдается исключение.
-
-
-
-
-

МетодСуществует

-
-
-

Синтаксис: МетодСуществует(ПроверяемыйОбъект, ИмяМетода)

-
-
Параметры:
-
    -
  • ПроверяемыйОбъект - тип: Агрегатный.
  • -
  • ИмяМетода - тип: Строка. Имя метода, существование которого проверяем.
  • -
-
-
-
-

Возвращает: тип: Булево. Истина, если метод существует. Ложь, если нет.

-
-

Описание: Проверяет существование указанного метода у переданного объекта.

-

В случае, если проверяемый объект не является агрегатным типом (Строка, Число и т.п.), -выдается исключение. -В случае, если второй параметр не является строкой, выдается исключение.

-
-
-
-
-

СвойствоСуществует

-
-
-

Синтаксис: СвойствоСуществует(ПроверяемыйОбъект, ИмяСвойства)

-
-
Параметры:
-
    -
  • ПроверяемыйОбъект - тип: Агрегатный.
  • -
  • ИмяСвойства - тип: Строка. Имя свойства, существование которого проверяем.
  • -
-
-
-
-

Возвращает: тип: Булево. Истина, если свойство существует. Ложь, если нет.

-
-

Описание: Проверяет существование указанного свойства у переданного объекта.

-

В случае, если проверяемый объект не является агрегатным типом (Строка, Число и т.п.), -выдается исключение. -В случае, если второй параметр не является строкой, выдается исключение.

-
-
-
-
-
- - - diff --git "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200.xml" "b/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200.xml" deleted file mode 100644 index 1d5ec26a..00000000 --- "a/src/DataProcessor/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200.xml" +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - b5b97a50-d92d-4b7c-a3cf-b23f72c4c313 - 3b0ae6dc-156e-4384-ae6a-4f34e8eb8368 - - - d4cd9ea8-667f-40c3-92be-1ae45d80174c - 36e6c539-d0df-40fa-8d3d-a0b93a54d77e - - - - Информатор - - - ru - Информатор 81/82 - http://www.1cpp.ru/forum/YaBB.pl?num=1313560540 - - - http://www.1cpp.ru/forum/YaBB.pl?num=1313560540 - true - DataProcessor.Информатор.Form.Форма - - false - - - - - - - ДЗ - - - ru - ДЗ - - - - - v8:ValueTree - - false - - - - false - - false - false - - - DontCheck - Items - - - Auto - Auto - - - - - Форма -
ТестВыполненияДеструктора
- - - -
-
-
\ No newline at end of file diff --git "a/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/Form/\320\244\320\276\321\200\320\274\320\260.Form" "b/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/Form/\320\244\320\276\321\200\320\274\320\260.Form" deleted file mode 100644 index c6da4759..00000000 Binary files "a/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/Form/\320\244\320\276\321\200\320\274\320\260.Form" and /dev/null differ diff --git "a/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/Form/\320\244\320\276\321\200\320\274\320\260.xml" "b/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/Form/\320\244\320\276\321\200\320\274\320\260.xml" deleted file mode 100644 index c0c3b91f..00000000 --- "a/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/Form/\320\244\320\276\321\200\320\274\320\260.xml" +++ /dev/null @@ -1,22 +0,0 @@ - - -
- - Форма - - - ru - Форма - - - - Ordinary - false - - PersonalComputer - MobileDevice - - - -
-
\ No newline at end of file diff --git "a/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/Form/\320\244\320\276\321\200\320\274\320\260/form" "b/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/Form/\320\244\320\276\321\200\320\274\320\260/form" deleted file mode 100644 index d9c24db2..00000000 --- "a/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/Form/\320\244\320\276\321\200\320\274\320\260/form" +++ /dev/null @@ -1,393 +0,0 @@ -{27, -{16, -{ -{1,1, -{"ru","Регистрация_DynaWrapperX - на базе Информатора - http://www.1cpp.ru/forum/YaBB.pl?num=1313560540"} -},7,3}, -{09ccdc77-ea1a-4a6d-ab1c-3435eada2433, -{1, -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},24,0,1, -{0,3,1},2, -{0,2,2}, -{0,3,2},2, -{0,2,3}, -{0,3,3},0,0, -{4,1, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0} -},0,1, -{1,1, -{4, -{1,1, -{"ru","Страница1"} -}, -{4,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0} -},-1,1,1,"Страница1",1, -{3,4, -{0} -}, -{3,4, -{0} -} -} -},1,1,0,4, -{2,8,1,1,1,0,0,0,0}, -{2,33,0,1,2,0,0,0,0}, -{2,643,1,1,3,0,0,8,0}, -{2,104,0,1,4,0,0,33,0},0,4294967295,5,64,0, -{3,4, -{0} -},0,0,57}, -{0} -}, -{3, -{e69bf21d-97b2-4f37-86db-675aea9ec2cb,2, -{2, -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-21} -}, -{3,0, -{0},4,1,0,00000000-0000-0000-0000-000000000000}, -{1,0},0,0},9,2,1,0,1,1, -{5,0520bbd3-4cbc-4eb9-ba0d-8bbe97ef2dc0,120,1,0,1, -{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,0, -{0,0, -{0} -} -} -},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,9d0a2e40-b978-11d4-84b6-008048da06df,0,0,0} -}, -{8,0,0,651,25,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,2,0,25}, -{2,-1,6,0} -}, -{0, -{2,0,2,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,2,1},0,0,0,0,0,0,0,1,1,0}, -{14,"КоманднаяПанель1",0,0,0,0}, -{0} -}, -{e69bf21d-97b2-4f37-86db-675aea9ec2cb,3, -{2, -{ -{13,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{7,3,0,1,100},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-21} -}, -{3,0, -{0},7,1,0,00000000-0000-0000-0000-000000000000}, -{1,0},0,0},9,2,0,2,0,1, -{5,88cfa5ce-39b7-494a-a1b9-7d6756a478f6,8,1,3, -{6,691e20f1-c108-4736-ad5b-ff31c0fff841,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,6379d473-e362-45a2-b31f-9e556d4d617e,1,fbe38877-b914-4fd5-8540-07dde06ba2e1, -{6,2,00000000-0000-0000-0000-000000000000,142, -{1,0,357c6a54-357d-425d-a2bd-22f4f6e86c87,2147483647,0},0,1},0}, -{6,502b11b2-fbe1-4e81-a592-9c85123e31e9,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} -} -},7, -{1,1, -{"ru","Зарегистрировать DynaWrapperX (в редакции chessman)"} -}, -{1,1, -{"ru","Зарегистрировать DynaWrapperX (в редакции chessman)"} -}, -{3,1, -{0,f874b0cc-db1d-4577-8c77-d4ba206eb05d},"",-1,-1,1,0} -},1, -{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,3,502b11b2-fbe1-4e81-a592-9c85123e31e9, -{8,"Зарегистрировать",0,1, -{1,1, -{"ru","Зарегистрировать DynaWrapperX"} -},1,88cfa5ce-39b7-494a-a1b9-7d6756a478f6,8,1e2,0,3,1,0,0,0,0},691e20f1-c108-4736-ad5b-ff31c0fff841, -{8,"Разделитель",0,1, -{1,0},0,88cfa5ce-39b7-494a-a1b9-7d6756a478f6,2,1e2,2,1,1,0,0,0,0},6379d473-e362-45a2-b31f-9e556d4d617e, -{8,"ОсновныеДействияФормыЗакрыть",0,1, -{1,1, -{"ru","Закрыть"} -},1,88cfa5ce-39b7-494a-a1b9-7d6756a478f6,3,1e2,0,1,1,0,0,0,0}, -{-1,0, -{0} -} -} -},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,8a13c116-baf1-422a-a692-67f307e6b615,8,0,0} -}, -{8,0,112,651,137,1, -{0, -{2,3,1,-25}, -{2,-1,6,0} -}, -{0, -{2,0,1,0}, -{2,-1,6,0} -}, -{0, -{2,0,2,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,3,1},1, -{0,3,0},0,0,0,0,0,1,3,1,1}, -{14,"ОсновныеДействияФормы",0,0,0,0}, -{0} -}, -{0fc7e20d-f241-460c-bdf4-5ad88e5474a5,7, -{3, -{ -{13,1, -{3,4, -{0} -}, -{3,2, -{10} -}, -{7,3,0,0,100},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},8, -{1,0},4,1,1,0,0, -{0,0,0},0, -{1,0},1, -{4,4, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0} -},4,0}, -{1, -{0,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} -} -} -} -} -}, -{8,8,44,643,59,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,7,0,15}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,7,2,635}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,7,1},0,1, -{0,7,3},0,0,0,0,2,2,0,0}, -{14,"НадписьЗаголовок",4294967295,0,0,0}, -{0} -} -} -},651,137,1,0,1,4,4,219}, -{ -{0},2, -{1, -{ -{0},0,0,1,"ОбработкаОбъект", -{"Pattern", -{"#",5b25893a-75a3-4afe-b64e-870ac578d42b} -} -} -}, -{0} -}, -{59d6c227-97d3-46f6-84a0-584c5a2807e1,1, -{2,0, -{0,0}, -{0},1} -}, -{1, -{70001,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} -} -} -} -},1,4,1,0,0,0, -{0}, -{0}, -{4,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0} -},1,2,0,0,1,1} \ No newline at end of file diff --git "a/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/Form/\320\244\320\276\321\200\320\274\320\260/module" "b/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/Form/\320\244\320\276\321\200\320\274\320\260/module" deleted file mode 100644 index 428baa93..00000000 --- "a/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/Form/\320\244\320\276\321\200\320\274\320\260/module" +++ /dev/null @@ -1,13 +0,0 @@ - -Процедура ПриОткрытии() - //Заголовок = ПолучитьНачалоЗаголовка(); - ЭлементыФормы.НадписьЗаголовок.Заголовок = Заголовок; -КонецПроцедуры - -Процедура НадписьЗаголовокНажатие(Элемент) - ЗапуститьПриложение("http://www.1cpp.ru/forum/YaBB.pl?num=1313560540"); -КонецПроцедуры - -Процедура ОсновныеДействияФормыЗарегистрировать(Кнопка) - ЗарегистрироватьWinAPI(); -КонецПроцедуры diff --git "a/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/ObjectModule.txt" "b/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/ObjectModule.txt" deleted file mode 100644 index e54504ea..00000000 --- "a/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/ObjectModule.txt" +++ /dev/null @@ -1,266 +0,0 @@ -Перем ИМЯ_КЛАССА_DynamicWrapperX; - -Перем WinAPI; - -Перем WshShell; // Экспорт; -Перем ФайлРегистратораКомпонент; // Экспорт; -Перем ИсполнительСкрытыхКомандСистемы; -Перем ПапкаВнешнихКомпонент; // Экспорт; - -Функция Версия() Экспорт - Возврат "1.10.1"; -КонецФункции - -#Если Клиент Тогда - -Функция ЗарегистрироватьWinAPI() Экспорт - ПапкаВнешнихКомпонент = Новый Файл(КаталогВременныхФайлов()); - - WshShell = Новый COMОбъект("WScript.Shell"); - - WinAPI = "НеИнициализирован"; - WinAPI = ПолучитьWinAPI(); -КонецФункции - -Функция ЭтоПлатформа_81() - Перем локальная; - этоПлатформа_81 = Истина; - Попытка - Выполнить("локальная = Метаданные.РежимСовместимости"); - этоПлатформа_81 = Ложь; - Исключение - КонецПопытки; - Возврат этоПлатформа_81; -КонецФункции - -#КонецЕсли - -// ================================== ================================== ================================== -// -// блок кода из "Инструменты разработчика" -// -// ================================== ================================== ================================== - -#Если Клиент Тогда - -// Получает новый экземпляр ком-объекта парсера. -// -// Параметры: -// Нет. -// -// Возвращаемое значение: -// Com-объект, Неопределено. -// -Функция ПолучитьWinAPI() //Экспорт - - Если WinAPI = "НеИнициализирован" Тогда - WinAPI = ПолучитьCOMОбъектИзМакета(ИМЯ_КЛАССА_DynamicWrapperX, ИМЯ_КЛАССА_DynamicWrapperX); - Если WinAPI <> Неопределено Тогда - //WinAPI.Register( "KERNEL32.DLL","Sleep","i=h","f=s"); - ////WinAPI.Register( "KERNEL32.DLL","GetTickCount64","r=l","f=s"); // обычный DynamicWrapper на x86 подключает, а этот - нет - //WinAPI.Register( "KERNEL32.DLL","GetTickCount","r=l","f=s"); - //WinAPI.Register( "KERNEL32.DLL","GetProcessId","i=l","r=l","f=s"); - //WinAPI.Register( "KERNEL32.DLL","GetCurrentProcessId","r=l","f=s"); - //WinAPI.Register( "WINMM.DLL", "timeGetTime", "r=l", "f=s"); - //WinAPI.Register( "WINMM.DLL", "timeBeginPeriod", "i=l", "r=l", "f=s"); - //WinAPI.Register( "WINMM.DLL", "timeEndPeriod", "i=l", "r=l", "f=s"); - Иначе - // Под пользователем ОС без админских прав сразу после установки через regsvr32 /i компонента не создается почему то. - // Нужно перезапускать приложение. - Предупреждение("Установлена новая компонента. Сеанс будет перезапущен", 5); - ПрекратитьРаботуСистемы(Истина); - КонецЕсли; - КонецЕсли; - Возврат WinAPI; - -КонецФункции // ПолучитьWinAPI() - -#КонецЕсли - -Функция ЗарегистрироватьПолучитьCOMОбъект(КлассКомпоненты, ПолноеИмяDll) //Экспорт - - // Сначала пробуем зарегистрировать для HKLM - КоманднаяСтрока = "regsvr32 /s """ + ПолноеИмяDll + """"; - //КомандаСистемы(КоманднаяСтрока); - ЗапуститьСкрытоеПриложениеИДождатьсяЗавершения(КоманднаяСтрока, , Истина); - Попытка - Компонента = Новый COMОбъект(КлассКомпоненты); - Исключение - КонецПопытки; - Если Компонента <> Неопределено Тогда - Сообщить("Зарегистрирована COM-компонента " + КлассКомпоненты, СтатусСообщения.Информация); - Возврат Компонента; - КонецЕсли; - - // Теперь пробуем зарегистрировать для HKCU - КоманднаяСтрока = "regsvr32 /s /i""" + ПолноеИмяDll + """"; - //КомандаСистемы(КоманднаяСтрока); - ЗапуститьСкрытоеПриложениеИДождатьсяЗавершения(КоманднаяСтрока, , Истина); - Попытка - Компонента = Новый COMОбъект(КлассКомпоненты); - Исключение - КонецПопытки; - Если Компонента <> Неопределено Тогда - Сообщить("Зарегистрирована COM-компонента " + КлассКомпоненты, СтатусСообщения.Информация); - Возврат Компонента; - КонецЕсли; - - Если ФайлРегистратораКомпонент = Неопределено Тогда - ФайлРегистратораКомпонент = Новый Файл(ПолучитьИмяВременногоФайла("exe")); - ПолучитьМакет("regsvrex").Записать(ФайлРегистратораКомпонент.ПолноеИмя); - КонецЕсли; - - // Теперь пробуем зарегистрировать для HKCU через сторонний регистратор - КоманднаяСтрока = """" + ФайлРегистратораКомпонент.ПолноеИмя + """ /c /s """ + ПолноеИмяDll + """"; - //КомандаСистемы(КоманднаяСтрока); - ЗапуститьСкрытоеПриложениеИДождатьсяЗавершения(КоманднаяСтрока, , Истина); - Попытка - Компонента = Новый COMОбъект(КлассКомпоненты); - Исключение - КонецПопытки; - Если Компонента <> Неопределено Тогда - Сообщить("Зарегистрирована COM-компонента " + КлассКомпоненты, СтатусСообщения.Информация); - Возврат Компонента; - КонецЕсли; - - // Теперь пробуем зарегистрировать для HKCU через сторонний регистратор - КоманднаяСтрока = """" + ФайлРегистратораКомпонент.ПолноеИмя + """ /c /s /i """ + ПолноеИмяDll + """"; - //КомандаСистемы(КоманднаяСтрока); - ЗапуститьСкрытоеПриложениеИДождатьсяЗавершения(КоманднаяСтрока, , Истина); - Попытка - Компонента = Новый COMОбъект(КлассКомпоненты); - Исключение - КонецПопытки; - Если Компонента <> Неопределено Тогда - Сообщить("Зарегистрирована COM-компонента " + КлассКомпоненты, СтатусСообщения.Информация); - Возврат Компонента; - КонецЕсли; - - Сообщить("Не удалось зарегистривать COM-компоненту " + КлассКомпоненты + ". Возможно требуются права администратора ОС", - СтатусСообщения.Внимание); - Возврат Неопределено; - -КонецФункции // ЗарегистрироватьПолучитьCOMОбъект - -// Возвращает нужный com-объект. Если компонента не зарегистрирована, то пытается ее сохранить из макета и зарегистрировать. -// -// Параметры: -// Нет. -// -// Возвращаемое значение: -// COM-объект, Неопределено. -// -Функция ПолучитьCOMОбъектИзМакета(ИмяКомпоненты, КлассКомпоненты, КаталогУстановки = "авто") //Экспорт - - Попытка - Компонента = Новый COMОбъект(КлассКомпоненты); - - // -- Артур -- 14.09.2011 - вставка в код ИР - Если КлассКомпоненты = ИМЯ_КЛАССА_DynamicWrapperX Тогда - Попытка - л = Компонента.GetIDispatch(Компонента); - Возврат Компонента; - Исключение - //ВызватьИсключение "Зарегистрирована старая версия COM-объекта DynamicWrapperX"; - КонецПопытки; - КонецЕсли; - //Возврат Компонента; - // --завершение - - Исключение - КонецПопытки; - - #Если Клиент Тогда - Если КаталогУстановки = "" Тогда - Ответ = Вопрос("Для работы данной функции необходимо зарегистрировать - //|(необходимы права локального администратора) - | COM-компоненту """ + ИмяКомпоненты + """. Выполнить регистрацию?", - РежимДиалогаВопрос.ОКОтмена, 30, КодВозвратаДиалога.Отмена); - Если Ответ = КодВозвратаДиалога.Отмена Тогда - Возврат Неопределено; - КонецЕсли; - ВыборФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога); - ВыборФайла.Заголовок = "Укажите папку, куда установить компоненту."; - Если Не ВыборФайла.Выбрать() Тогда - Возврат Неопределено; - КонецЕсли; - КаталогУстановки = ВыборФайла.Каталог; - ИначеЕсли Нрег(КаталогУстановки) = Нрег("авто") Тогда - КаталогУстановки = ПапкаВнешнихКомпонент.ПолноеИмя; - КонецЕсли; - ФайлКомпоненты = Новый Файл(КаталогУстановки + "\" + ИмяКомпоненты + ".dll"); - Если Не ФайлКомпоненты.Существует() Тогда - ПолучитьМакет(ИмяКомпоненты).Записать(ФайлКомпоненты.ПолноеИмя); - КонецЕсли; - - Результат = ЗарегистрироватьПолучитьCOMОбъект(КлассКомпоненты, ФайлКомпоненты.ПолноеИмя); - #Иначе - Результат = Неопределено; - #КонецЕсли - Возврат Результат; - -КонецФункции // ПолучитьCOMОбъектИзМакета() - -// <Описание процедуры> -// -// Параметры: -// <Параметр1> – <Тип.Вид> – <описание параметра> -// <продолжение описания параметра>; -// ИмяФайлаРезультата – Краткое имя файла, в который будет выведен выходной поток, только в текущем каталоге. -// -Процедура ЗапуститьСкрытоеПриложениеИДождатьсяЗавершения(Знач СтрокаЗапуска, ТекущийКаталог = "\.", ИспользоватьWSH = Ложь, - КраткоеИмяФайлаРезультата = "") //Экспорт - - #Если Клиент Тогда - // Баг платформы здесь будет работать. Во время работы данной строки окно продолжает принимать команды! - // WSH не использовать при генерации внешних обработок - Если ИспользоватьWSH Тогда - #КонецЕсли - WshShell.CurrentDirectory = ТекущийКаталог; - СтрокаЗапуска = "cmd.exe /c """ + СтрокаЗапуска + """"; - Если КраткоеИмяФайлаРезультата <> "" Тогда - СтрокаЗапуска = СтрокаЗапуска + " > " + КраткоеИмяФайлаРезультата; - СтрокаЗапуска = СтрокаЗапуска + " 2>&1"; //stderr - КонецЕсли; - Попытка - WshShell.Run(СтрокаЗапуска, 0, Истина); - Исключение - // Для x64 ОС - СтрокаЗапуска = "%windir%\Sysnative\" + СтрокаЗапуска; - WshShell.Run(СтрокаЗапуска, 0, Истина); - КонецПопытки; - #Если Клиент Тогда - Иначе - ПолучитьИсполнительСкрытыхКомандСистемы(); - КонечнаяСтрока = ИсполнительСкрытыхКомандСистемы + " /nowindow /wait /silent /D=""" + ТекущийКаталог + """ " + СтрокаЗапуска; - ЗапуститьПриложение(КонечнаяСтрока, , Истина); - КонецЕсли; - #КонецЕсли - -КонецПроцедуры // ЗапуститьСкрытоеПриложениеИДождатьсяЗавершения() - -Функция ПолучитьИсполнительСкрытыхКомандСистемы() //Экспорт - - Если ИсполнительСкрытыхКомандСистемы = Неопределено Тогда - ДвоичныеДанные = ПолучитьОбщийМакет("hstart"); - ИсполнительСкрытыхКомандСистемы = ПолучитьИмяВременногоФайла("exe"); - ДвоичныеДанные.Записать(ИсполнительСкрытыхКомандСистемы); - ИсполнительСкрытыхКомандСистемы = """" + ИсполнительСкрытыхКомандСистемы + """"; - КонецЕсли; - Возврат ИсполнительСкрытыхКомандСистемы; - -КонецФункции - -// ================================== ================================== ================================== -// -// окончание блока кода из "Инструменты разработчика" -// -// ================================== ================================== ================================== - -ИМЯ_КЛАССА_DynamicWrapperX = "DynamicWrapperX"; - -//#Если Клиент Тогда -// -// Инит(); -// -//#КонецЕсли diff --git "a/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/Template/DynamicWrapperX.xml" "b/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/Template/DynamicWrapperX.xml" deleted file mode 100644 index 8b681c85..00000000 --- "a/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/Template/DynamicWrapperX.xml" +++ /dev/null @@ -1,16 +0,0 @@ - - - - \ No newline at end of file diff --git "a/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/Template/DynamicWrapperX/Template.bin" "b/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/Template/DynamicWrapperX/Template.bin" deleted file mode 100644 index cddac1f6..00000000 Binary files "a/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/Template/DynamicWrapperX/Template.bin" and /dev/null differ diff --git "a/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/Template/regsvrex.xml" "b/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/Template/regsvrex.xml" deleted file mode 100644 index 312316e1..00000000 --- "a/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/Template/regsvrex.xml" +++ /dev/null @@ -1,16 +0,0 @@ - - - - \ No newline at end of file diff --git "a/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/Template/regsvrex/Template.bin" "b/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/Template/regsvrex/Template.bin" deleted file mode 100644 index 690836cf..00000000 Binary files "a/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/Template/regsvrex/Template.bin" and /dev/null differ diff --git "a/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX.xml" "b/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX.xml" deleted file mode 100644 index 29ac383c..00000000 --- "a/src/DataProcessor/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217_DynaWrapperX.xml" +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - 5b25893a-75a3-4afe-b64e-870ac578d42b - 18785ea2-a863-4ecb-a409-02e293320570 - - - 60e25d55-7733-4f5a-9ca7-3786d5d12b74 - 29d5a5da-c012-4f11-90e8-69e6a1272d4b - - - - Регистрация_DynaWrapperX - - - ru - Регистрация DynaWrapperX - на базе Информатора - http://www.1cpp.ru/forum/YaBB.pl?num=1313560540 - - - http://www.1cpp.ru/forum/YaBB.pl?num=1313560540 - true - DataProcessor.Регистрация_DynaWrapperX.Form.Форма - - false - - - - -
Форма
- - -
-
-
\ No newline at end of file diff --git "a/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" new file mode 100644 index 00000000..cadd69af --- /dev/null +++ "b/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" @@ -0,0 +1 @@ +&НаКлиенте Перем СтатусыРезультатаТестирования; &НаКлиенте Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) Возврат Объект().ОписаниеПлагина(ВозможныеТипыПлагинов); КонецФункции // { функции утверждения- проверки значений. &НаКлиенте Процедура Проверить(_Истина, ДопСообщениеОшибки = "") Экспорт Если Не _Истина Тогда СообщениеОшибки = "Переданный параметр ("+Формат(_Истина, "БЛ=ложь; БИ=истина")+") не является Истиной, а хотели, чтобы являлся." + ФорматДСО(ДопСообщениеОшибки); ВызватьОшибкуПроверки(СообщениеОшибки); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ПроверитьИстину(_Истина, ДопСообщениеОшибки = "") Экспорт Проверить(_Истина, ДопСообщениеОшибки); КонецПроцедуры &НаКлиенте Процедура ПроверитьЛожь(_Ложь, ДопСообщениеОшибки = "") Экспорт Если _Ложь Тогда СообщениеОшибки = "Переданный параметр ("+Формат(_Ложь, "БЛ=ложь; БИ=истина")+") не является Ложью, а хотели, чтобы являлся." + ФорматДСО(ДопСообщениеОшибки); ВызватьОшибкуПроверки(СообщениеОшибки); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ПроверитьДату(_Дата, _Период, ДопСообщениеОшибки = "") Экспорт Если _Дата < _Период.ДатаНачала или _Дата > _Период.ДатаОкончания Тогда представление = ПредставлениеПериода(_Период.ДатаНачала, _Период.ДатаОкончания, "ФП = Истина"); СообщениеОшибки = "Переданный параметр ("+Формат(_Дата, "ДФ='dd.MM.yyyy HH:mm:ss'")+") не входит в период "+представление+", а хотели, чтобы являлся." + ФорматДСО(ДопСообщениеОшибки); ВызватьОшибкуПроверки(СообщениеОшибки); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ПроверитьРавенствоДатСТочностью2Секунды(_Дата, _Дата2, ДопСообщениеОшибки = "") Экспорт Если _Дата < _Дата2-2 или _Дата > _Дата2+2 Тогда СообщениеОшибки = "Переданная дата ("+Формат(_Дата, "ДФ='dd.MM.yyyy HH:mm:ss'")+") не равна дате ("+Формат(_Дата2, "ДФ='dd.MM.yyyy HH:mm:ss'")+") с точностью до 2-х секунд, а хотели, чтобы они равнялись." + ФорматДСО(ДопСообщениеОшибки); ВызватьОшибкуПроверки(СообщениеОшибки); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ПроверитьРавенство(_1, _2, ДопСообщениеОшибки = "") Экспорт Если _1 <> _2 Тогда СообщениеОшибки = "Сравниваемые значения ("+_1+"; "+_2+") не равны, а хотели, чтобы были равны." + ФорматДСО(ДопСообщениеОшибки); ВызватьОшибкуПроверки(СообщениеОшибки); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ПроверитьНеРавенство(_1, _2, ДопСообщениеОшибки = "") Экспорт Если _1 = _2 Тогда СообщениеОшибки = "Сравниваемые значения ("+_1+"; "+_2+") равны, а хотели, чтобы были не равны." + ФорматДСО(ДопСообщениеОшибки); ВызватьОшибкуПроверки(СообщениеОшибки); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ПроверитьБольше(_Больше, _Меньше, ДопСообщениеОшибки = "") Экспорт Если _Больше <= _Меньше Тогда СообщениеОшибки = "Первый параметр ("+_Больше+") меньше или равен второму ("+_Меньше+") а хотели, чтобы был больше." + ФорматДСО(ДопСообщениеОшибки); ВызватьОшибкуПроверки(СообщениеОшибки); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ПроверитьБольшеИлиРавно(_Больше, _Меньше, ДопСообщениеОшибки = "") Экспорт Если _Больше < _Меньше Тогда СообщениеОшибки = "Первый параметр ("+_Больше+") меньше второго ("+_Меньше+") а хотели, чтобы был больше или равен." + ФорматДСО(ДопСообщениеОшибки); ВызватьОшибкуПроверки(СообщениеОшибки); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ПроверитьМеньше(проверяемоеЗначение1, проверяемоеЗначение2, СообщениеОбОшибке = "") Экспорт Если проверяемоеЗначение1 >= проверяемоеЗначение2 Тогда СообщениеОшибки = "Значение <"+проверяемоеЗначение1+"> больше или равно, чем <"+проверяемоеЗначение2+">, а ожидалось меньше"+ ФорматДСО(СообщениеОбОшибке); ВызватьОшибкуПроверки(СообщениеОшибки) КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ПроверитьМеньшеИлиРавно(проверяемоеЗначение1, проверяемоеЗначение2, СообщениеОбОшибке = "") Экспорт Если проверяемоеЗначение1 > проверяемоеЗначение2 Тогда СообщениеОшибки = "Значение <"+проверяемоеЗначение1+"> больше, чем <"+проверяемоеЗначение2+">, а ожидалось меньше или равно"+ ФорматДСО(СообщениеОбОшибке); ВызватьОшибкуПроверки(СообщениеОшибки) КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ПроверитьВыполнилось(Знач СтрокаАлгоритм, ПараметрыИлиДопСообщениеОшибки = Неопределено, Знач ДопСообщениеОшибки = "") Экспорт Перем Параметры; Если ТипЗнч(ПараметрыИлиДопСообщениеОшибки) = Тип("Строка") Тогда ДопСообщениеОшибки = ПараметрыИлиДопСообщениеОшибки; Иначе Параметры = ПараметрыИлиДопСообщениеОшибки; КонецЕсли; Попытка Выполнить(СтрокаАлгоритм); Исключение ПолученноеОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); СообщениеОшибки = "Хотели, чтобы алгоритм """+СтрокаАлгоритм+""" выполнился, а он упал с ошибкой """+ПолученноеОписаниеОшибки+"""." + ФорматДСО(ДопСообщениеОшибки); ВызватьОшибкуПроверки(СообщениеОшибки); КонецПопытки; КонецПроцедуры &НаКлиенте Процедура ПроверитьМетодВыполнился(Объект, Знач ИмяМетода, ПараметрыИлиДопСообщениеОшибки = Неопределено, Знач ДопСообщениеОшибки = "") Экспорт Перем Параметры; Если ТипЗнч(ПараметрыИлиДопСообщениеОшибки) = Тип("Строка") Тогда ДопСообщениеОшибки = ПараметрыИлиДопСообщениеОшибки; Иначе Параметры = ПараметрыИлиДопСообщениеОшибки; Если Параметры <> Неопределено Тогда ТипПараметра = ТипЗнч(Параметры); Если ТипПараметра <> Тип("Массив") Тогда ВызватьИсключение ("Ожидали, что вторым параметром будет передан массив параметров для метода <"+ИмяМетода+">, а получили другой объект с типом <"+ТипПараметра+">"); КонецЕсли; КонецЕсли; КонецЕсли; ПараметрыСтрока = ПараметрыСтрокой(Параметры); СтрокаВыполнения = "Объект." + ИмяМетода + "(" + ПараметрыСтрока + ")"; Попытка Выполнить(СтрокаВыполнения); Исключение ПолученноеОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); СообщениеОшибки = "Хотели, чтобы код """+СтрокаВыполнения+""" выполнился, а он упал с ошибкой """+ПолученноеОписаниеОшибки+"""." + ФорматДСО(ДопСообщениеОшибки); ВызватьОшибкуПроверки(СообщениеОшибки); КонецПопытки; КонецПроцедуры &НаКлиенте Функция ПараметрыСтрокой(Параметры) ПараметрыСтрока = ""; Если ЗначениеЗаполнено(Параметры) Тогда Для Индекс = 0 По Параметры.ВГраница() Цикл ПараметрыСтрока = ПараметрыСтрока + ", Параметры[" + Формат(Индекс, "ЧН=0; ЧГ=0") + "]"; КонецЦикла; КонецЕсли; Возврат Сред(ПараметрыСтрока, 3); КонецФункции &НаКлиенте Процедура ПроверитьНеВыполнилось(Знач СтрокаАлгоритм, ПараметрыИлиОжидаемоеОписаниеОшибки, Знач ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки = "", Знач ДопСообщениеОшибки = "") Экспорт Перем Параметры, ОжидаемоеОписаниеОшибки; Если ТипЗнч(ПараметрыИлиОжидаемоеОписаниеОшибки) = Тип("Строка") Тогда ОжидаемоеОписаниеОшибки = ПараметрыИлиОжидаемоеОписаниеОшибки; ДопСообщениеОшибки = ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки; Иначе Параметры = ПараметрыИлиОжидаемоеОписаниеОшибки; ОжидаемоеОписаниеОшибки = ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки; КонецЕсли; Попытка Выполнить(СтрокаАлгоритм); Исключение ПолученноеОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); Если Найти(ПолученноеОписаниеОшибки, ОжидаемоеОписаниеОшибки) = 0 Тогда ВызватьОшибкуПроверки("Хотели, чтобы алгоритм """+СтрокаАлгоритм+""" упал с сообщением об ошибке """+ОжидаемоеОписаниеОшибки+""", а он упал с сообщением """+ПолученноеОписаниеОшибки+"""." + ФорматДСО(ДопСообщениеОшибки)); КонецЕсли; Возврат; КонецПопытки; ВызватьОшибкуПроверки("Хотели, чтобы алгоритм """+СтрокаАлгоритм+""" упал, а он выполнился" + ФорматДСО(ДопСообщениеОшибки)); КонецПроцедуры &НаКлиенте Процедура ПроверитьМетодНеВыполнился(Объект, ИмяМетода, ПараметрыИлиОжидаемоеОписаниеОшибки, Знач ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки = "", Знач ДопСообщениеОшибки = "") Экспорт Перем Параметры, ОжидаемоеОписаниеОшибки; Если ТипЗнч(ПараметрыИлиОжидаемоеОписаниеОшибки) = Тип("Строка") Тогда ОжидаемоеОписаниеОшибки = ПараметрыИлиОжидаемоеОписаниеОшибки; ДопСообщениеОшибки = ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки; Иначе Параметры = ПараметрыИлиОжидаемоеОписаниеОшибки; Если Параметры <> Неопределено Тогда ТипПараметра = ТипЗнч(Параметры); Если ТипПараметра <> Тип("Массив") Тогда ВызватьИсключение ("Ожидали, что третьим параметром будет передан массив параметров для метода <"+ИмяМетода+">, а получили другой объект с типом <"+ТипПараметра+">"); КонецЕсли; КонецЕсли; ОжидаемоеОписаниеОшибки = ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки; КонецЕсли; ПараметрыСтрока = ПараметрыСтрокой(Параметры); СтрокаВыполнения = "Объект." + ИмяМетода + "(" + ПараметрыСтрока + ")"; Попытка Выполнить(СтрокаВыполнения); Исключение ПолученноеОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); Если Найти(ПолученноеОписаниеОшибки, ОжидаемоеОписаниеОшибки) = 0 Тогда ВызватьОшибкуПроверки("Хотели, чтобы код """+СтрокаВыполнения+""" упал с сообщением об ошибке """+ОжидаемоеОписаниеОшибки+""", а он упал с сообщением """+ПолученноеОписаниеОшибки+"""." + ФорматДСО(ДопСообщениеОшибки)); КонецЕсли; Возврат; КонецПопытки; ВызватьОшибкуПроверки("Хотели, чтобы код """+СтрокаВыполнения+""" упал, а он выполнился" + ФорматДСО(ДопСообщениеОшибки)); КонецПроцедуры // проверка идет через ЗначениеЗаполнено, но мутабельные значение всегда считаем заполненными &НаКлиенте Процедура ПроверитьЗаполненность(ПроверяемоеЗначение, ДопСообщениеОшибки = "") Экспорт Попытка фЗаполнено = ЗначениеЗаполнено(ПроверяемоеЗначение); Исключение Возврат; КонецПопытки; Если НЕ фЗаполнено Тогда ВызватьОшибкуПроверки("Значение ("+ПроверяемоеЗначение+") не заполнено, а ожидалась заполненность" + ФорматДСО(ДопСообщениеОшибки)); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ПроверитьНеЗаполненность(ПроверяемоеЗначение, ДопСообщениеОшибки = "") Экспорт СообщениеОшибки = "Значение ("+ПроверяемоеЗначение+") заполнено, а ожидалась незаполненность" + ФорматДСО(ДопСообщениеОшибки); Попытка фЗаполнено = ЗначениеЗаполнено(ПроверяемоеЗначение); Исключение ВызватьОшибкуПроверки(СообщениеОшибки); КонецПопытки; Если фЗаполнено Тогда ВызватьОшибкуПроверки(СообщениеОшибки); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ПроверитьТип(значение, ТипИлиИмяТипа, ДопСообщениеОшибки = "") Экспорт Если ТипЗнч(ТипИлиИмяТипа) = Тип("Строка") Тогда искомыйТип = Тип(ТипИлиИмяТипа); ИначеЕсли ТипЗнч(ТипИлиИмяТипа) = Тип("Тип") Тогда искомыйТип = ТипИлиИмяТипа; Иначе ВызватьИсключение ("ПроверитьТип: Тип значения параметра ТипИлиИмяТипа должен быть <Тип> или <Строка>, а получили <"+ ТипЗнч(ТипИлиИмяТипа) + ">" + ФорматДСО(ДопСообщениеОшибки)); КонецЕсли; Если ТипЗнч(значение) <> искомыйТип Тогда ВызватьОшибкуПроверки("Типом значения <"+значение+"> является <"+ТипЗнч(значение)+">, а ожидался тип <"+ТипИлиИмяТипа+">."+ФорматДСО(ДопСообщениеОшибки)); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ПроверитьВхождение(строка, подстрокаПоиска, ДопСообщениеОшибки = "") Экспорт Если Найти(строка, подстрокаПоиска) = 0 Тогда ПредставлениеСтроки = "<"+строка+">"; Если СтрДлина(строка) > 20 Тогда ПредставлениеСтроки = ПредставлениеСтроки + Символы.ПС; КонецЕсли; ПредставлениеПодСтроки = "<"+подстрокаПоиска+">"; Если СтрДлина(подстрокаПоиска) > 20 Тогда ПредставлениеПодСтроки = ПредставлениеПодСтроки + Символы.ПС; КонецЕсли; СообщениеОшибки = "Искали в "+ПредставлениеСтроки+" подстроку "+ПредставлениеПодСтроки+", но не нашли." + ФорматДСО(ДопСообщениеОшибки); ВызватьОшибкуПроверки(СообщениеОшибки); КонецЕсли; КонецПроцедуры //Коллекция - Массив, Структура, Соответствие, ФиксированныйМассив, ФиксированнаяСтруктура, ФиксированноеСоответствие, СписокЗначений &НаКлиенте Процедура ПроверитьВхождениеВКоллекцию(Элемент, Коллекция, ДопСообщениеОшибки = "") Экспорт Нашли = Неопределено; ТипКоллекции = ТипЗнч(Коллекция); Если ТипКоллекции = Тип("Массив") или ТипКоллекции = Тип("ФиксированныйМассив") Тогда Нашли = Коллекция.Найти(Элемент) <> Неопределено; ИначеЕсли ТипКоллекции = Тип("Структура") или ТипКоллекции = Тип("Соответствие") или ТипКоллекции = Тип("ФиксированнаяСтруктура") или ТипКоллекции = Тип("ФиксированноеСоответствие") Тогда Для каждого КлючЗначение Из Коллекция Цикл Нашли = КлючЗначение.Значение = Элемент; Если Нашли Тогда Прервать; КонецЕсли; КонецЦикла; ИначеЕсли ТипКоллекции = Тип("СписокЗначений") Тогда Нашли = Коллекция.НайтиПоЗначению(Элемент) <> Неопределено; КонецЕсли; Если Нашли = Неопределено Тогда СообщениеОшибки = "Утверждение ""ПроверитьВхождениеВКоллекцию"" не умеет работать с типом коллекции <"+ТипКоллекции+">." + ФорматДСО(ДопСообщениеОшибки); ВызватьИсключение СообщениеОшибки; КонецЕсли; Если Не Нашли Тогда СообщениеОшибки = "Не нашли элемент <"+Элемент+"> в коллекции, а хотели, чтобы он был в коллекции." + ФорматДСО(ДопСообщениеОшибки); ВызватьОшибкуПроверки(СообщениеОшибки); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ПроверитьВалидностьЗапросаСКД(ТекстЗапроса, ДопСообщениеОшибки = "") Экспорт ПроверитьВалидностьЗапросаСКДНаСервере(ТекстЗапроса, ДопСообщениеОшибки); КонецПроцедуры &НаКлиенте Процедура ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки = Ложь, УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки = Ложь, Знач ДопСообщениеОшибки = "") Экспорт ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениямСервер(ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки, УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки, ДопСообщениеОшибки); КонецПроцедуры &НаСервере Процедура ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениямСервер(ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки = Ложь, УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки = Ложь, Знач ДопСообщениеОшибки = "") Экспорт Объект().ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки, УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки, ДопСообщениеОшибки); КонецПроцедуры &НаКлиенте Процедура ВызватьОшибкуПроверки(СообщениеОшибки) Префикс = "[" + СтатусыРезультатаТестирования.ОшибкаПроверки + "]"; ВызватьИсключение Префикс + " " + СообщениеОшибки; КонецПроцедуры &НаКлиенте Процедура ПропуститьТест(Знач Сообщение = "") Экспорт Префикс = "[" + СтатусыРезультатаТестирования.ТестПропущен + "]"; Если ПустаяСтрока(Сообщение) Тогда Сообщение = НСтр("ru = 'Тест пропущен'"); КонецЕсли; ВызватьИсключение Префикс + " " + Сообщение; КонецПроцедуры &НаСервере Процедура ПроверитьВалидностьЗапросаСКДНаСервере(ТекстЗапроса, ДопСообщениеОшибки = "") Объект().ПроверитьВалидностьЗапросаСКД(ТекстЗапроса, ДопСообщениеОшибки); КонецПроцедуры // } &НаКлиенте Функция ФорматДСО(ДопСообщениеОшибки) Если ДопСообщениеОшибки = "" Тогда Возврат ""; КонецЕсли; Возврат Символы.ПС + ДопСообщениеОшибки; КонецФункции &НаСервере Функция Объект() Возврат РеквизитФормыВЗначение("Объект"); КонецФункции СтатусыРезультатаТестирования = Новый Структура; СтатусыРезультатаТестирования.Вставить("ОшибкаПроверки", "Failed"); СтатусыРезультатаТестирования.Вставить("НеизвестнаяОшибка", "Broken"); СтатусыРезультатаТестирования.Вставить("ТестПропущен", "Pending"); СтатусыРезультатаТестирования = Новый ФиксированнаяСтруктура(СтатусыРезультатаТестирования); \ No newline at end of file diff --git "a/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/ObjectModule.txt" "b/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/ObjectModule.txt" new file mode 100644 index 00000000..0f8e1d62 --- /dev/null +++ "b/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/ObjectModule.txt" @@ -0,0 +1,386 @@ +Перем СтатусыРезультатаТестирования; + +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Результат = Новый Структура; + Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); + Результат.Вставить("Идентификатор", "БазовыеУтверждения"); + Результат.Вставить("Представление", "Базовый набор утверждений"); + + Возврат Новый ФиксированнаяСтруктура(Результат); +КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт +КонецПроцедуры + +//{ МЕТОДЫ ДЛЯ ПРОВЕРКИ ЗНАЧЕНИЙ (assertions). + +Процедура Проверить(_Истина, ДопСообщениеОшибки = "") Экспорт + Если Не _Истина Тогда + СообщениеОшибки = "Переданный параметр ("+Формат(_Истина, "БЛ=ложь; БИ=истина")+") не является Истиной, а хотели, чтобы являлся." + ФорматДСО(ДопСообщениеОшибки); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; +КонецПроцедуры + +Процедура ПроверитьИстину(_Истина, ДопСообщениеОшибки = "") Экспорт + Проверить(_Истина, ДопСообщениеОшибки); +КонецПроцедуры + +Процедура ПроверитьЛожь(_Ложь, ДопСообщениеОшибки = "") Экспорт + Если _Ложь Тогда + СообщениеОшибки = "Переданный параметр ("+Формат(_Ложь, "БЛ=ложь; БИ=истина")+") не является Ложью, а хотели, чтобы являлся." + ФорматДСО(ДопСообщениеОшибки); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; +КонецПроцедуры + +Процедура ПроверитьДату(_Дата, _Период, ДопСообщениеОшибки = "") Экспорт + Если _Дата < _Период.ДатаНачала или _Дата > _Период.ДатаОкончания Тогда + представление = ПредставлениеПериода(_Период.ДатаНачала, _Период.ДатаОкончания, "ФП = Истина"); + СообщениеОшибки = "Переданный параметр ("+Формат(_Дата, "ДФ='dd.MM.yyyy HH:mm:ss'")+") не входит в период "+представление+", а хотели, чтобы являлся." + ФорматДСО(ДопСообщениеОшибки); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; +КонецПроцедуры + +Процедура ПроверитьРавенствоДатСТочностью2Секунды(_Дата, _Дата2, ДопСообщениеОшибки = "") Экспорт + Если _Дата < _Дата2-2 или _Дата > _Дата2+2 Тогда + СообщениеОшибки = "Переданная дата ("+Формат(_Дата, "ДФ='dd.MM.yyyy HH:mm:ss'")+") не равна дате ("+Формат(_Дата2, "ДФ='dd.MM.yyyy HH:mm:ss'")+") с точностью до 2-х секунд, а хотели, чтобы они равнялись." + ФорматДСО(ДопСообщениеОшибки); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; +КонецПроцедуры + +Процедура ПроверитьРавенство(_1, _2, ДопСообщениеОшибки = "") Экспорт + Если _1 <> _2 Тогда + СообщениеОшибки = "Сравниваемые значения ("+_1+"; "+_2+") не равны, а хотели, чтобы были равны." + ФорматДСО(ДопСообщениеОшибки); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; +КонецПроцедуры + +Процедура ПроверитьНеРавенство(_1, _2, ДопСообщениеОшибки = "") Экспорт + Если _1 = _2 Тогда + СообщениеОшибки = "Сравниваемые значения ("+_1+"; "+_2+") равны, а хотели, чтобы были не равны." + ФорматДСО(ДопСообщениеОшибки); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; +КонецПроцедуры + +Процедура ПроверитьБольше(_Больше, _Меньше, ДопСообщениеОшибки = "") Экспорт + Если _Больше <= _Меньше Тогда + СообщениеОшибки = "Первый параметр ("+_Больше+") меньше или равен второму ("+_Меньше+") а хотели, чтобы был больше." + ФорматДСО(ДопСообщениеОшибки); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; +КонецПроцедуры + +Процедура ПроверитьБольшеИлиРавно(_Больше, _Меньше, ДопСообщениеОшибки = "") Экспорт + Если _Больше < _Меньше Тогда + СообщениеОшибки = "Первый параметр ("+_Больше+") меньше второго ("+_Меньше+") а хотели, чтобы был больше или равен." + ФорматДСО(ДопСообщениеОшибки); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; +КонецПроцедуры + +Процедура ПроверитьМеньше(проверяемоеЗначение1, проверяемоеЗначение2, СообщениеОбОшибке = "") Экспорт + Если проверяемоеЗначение1 >= проверяемоеЗначение2 Тогда + СообщениеОшибки = "Значение <"+проверяемоеЗначение1+"> больше или равно, чем <"+проверяемоеЗначение2+">, а ожидалось меньше"+ + ФорматДСО(СообщениеОбОшибке); + ВызватьОшибкуПроверки(СообщениеОшибки) + КонецЕсли; +КонецПроцедуры + +Процедура ПроверитьМеньшеИлиРавно(проверяемоеЗначение1, проверяемоеЗначение2, СообщениеОбОшибке = "") Экспорт + Если проверяемоеЗначение1 > проверяемоеЗначение2 Тогда + СообщениеОшибки = "Значение <"+проверяемоеЗначение1+"> больше, чем <"+проверяемоеЗначение2+">, а ожидалось меньше или равно"+ + ФорматДСО(СообщениеОбОшибке); + ВызватьОшибкуПроверки(СообщениеОшибки) + КонецЕсли; +КонецПроцедуры + +Процедура ПроверитьВыполнилось(Знач СтрокаАлгоритм, ПараметрыИлиДопСообщениеОшибки = Неопределено, Знач ДопСообщениеОшибки = "") Экспорт + Перем Параметры; + + Если ТипЗнч(ПараметрыИлиДопСообщениеОшибки) = Тип("Строка") Тогда + ДопСообщениеОшибки = ПараметрыИлиДопСообщениеОшибки; + Иначе + Параметры = ПараметрыИлиДопСообщениеОшибки; + КонецЕсли; + Попытка + Выполнить(СтрокаАлгоритм); + Исключение + ПолученноеОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + СообщениеОшибки = "Хотели, чтобы алгоритм """+СтрокаАлгоритм+""" выполнился, а он упал с ошибкой """+ПолученноеОписаниеОшибки+"""." + ФорматДСО(ДопСообщениеОшибки); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецПопытки; + +КонецПроцедуры + +Процедура ПроверитьМетодВыполнился(Объект, Знач ИмяМетода, ПараметрыИлиДопСообщениеОшибки = Неопределено, Знач ДопСообщениеОшибки = "") Экспорт + Перем Параметры; + + Если ТипЗнч(ПараметрыИлиДопСообщениеОшибки) = Тип("Строка") Тогда + ДопСообщениеОшибки = ПараметрыИлиДопСообщениеОшибки; + Иначе + Параметры = ПараметрыИлиДопСообщениеОшибки; + Если Параметры <> Неопределено Тогда + ТипПараметра = ТипЗнч(Параметры); + Если ТипПараметра <> Тип("Массив") Тогда + ВызватьИсключение ("Ожидали, что вторым параметром будет передан массив параметров для метода <"+ИмяМетода+">, а получили другой объект с типом <"+ТипПараметра+">"); + КонецЕсли; + КонецЕсли; + КонецЕсли; + + ПараметрыСтрока = ПараметрыСтрокой(Параметры); + + СтрокаВыполнения = "Объект." + ИмяМетода + "(" + ПараметрыСтрока + ")"; + + Попытка + Выполнить(СтрокаВыполнения); + Исключение + ПолученноеОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + СообщениеОшибки = "Хотели, чтобы код """+СтрокаВыполнения+""" выполнился, а он упал с ошибкой """+ПолученноеОписаниеОшибки+"""." + ФорматДСО(ДопСообщениеОшибки); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецПопытки; + +КонецПроцедуры + +Функция ПараметрыСтрокой(Параметры) + ПараметрыСтрока = ""; + Если ЗначениеЗаполнено(Параметры) Тогда + Для Индекс = 0 По Параметры.ВГраница() Цикл + ПараметрыСтрока = ПараметрыСтрока + ", Параметры[" + Формат(Индекс, "ЧН=0; ЧГ=0") + "]"; + КонецЦикла; + КонецЕсли; + Возврат Сред(ПараметрыСтрока, 3); +КонецФункции + +Процедура ПроверитьНеВыполнилось(Знач СтрокаАлгоритм, ПараметрыИлиОжидаемоеОписаниеОшибки, Знач ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки = "", Знач ДопСообщениеОшибки = "") Экспорт + Перем Параметры, ОжидаемоеОписаниеОшибки; + Если ТипЗнч(ПараметрыИлиОжидаемоеОписаниеОшибки) = Тип("Строка") Тогда + ОжидаемоеОписаниеОшибки = ПараметрыИлиОжидаемоеОписаниеОшибки; + ДопСообщениеОшибки = ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки; + Иначе + Параметры = ПараметрыИлиОжидаемоеОписаниеОшибки; + ОжидаемоеОписаниеОшибки = ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки; + КонецЕсли; + Попытка + Выполнить(СтрокаАлгоритм); + Исключение + ПолученноеОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + Если Найти(ПолученноеОписаниеОшибки, ОжидаемоеОписаниеОшибки) = 0 Тогда + ВызватьОшибкуПроверки("Хотели, чтобы алгоритм """+СтрокаАлгоритм+""" упал с сообщением об ошибке """+ОжидаемоеОписаниеОшибки+""", а он упал с сообщением """+ПолученноеОписаниеОшибки+"""." + ФорматДСО(ДопСообщениеОшибки)); + КонецЕсли; + Возврат; + КонецПопытки; + + ВызватьОшибкуПроверки("Хотели, чтобы алгоритм """+СтрокаАлгоритм+""" упал, а он выполнился" + ФорматДСО(ДопСообщениеОшибки)); + +КонецПроцедуры + +Процедура ПроверитьМетодНеВыполнился(Объект, ИмяМетода, ПараметрыИлиОжидаемоеОписаниеОшибки, Знач ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки = "", Знач ДопСообщениеОшибки = "") Экспорт + Перем Параметры, ОжидаемоеОписаниеОшибки; + + Если ТипЗнч(ПараметрыИлиОжидаемоеОписаниеОшибки) = Тип("Строка") Тогда + ОжидаемоеОписаниеОшибки = ПараметрыИлиОжидаемоеОписаниеОшибки; + ДопСообщениеОшибки = ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки; + Иначе + Параметры = ПараметрыИлиОжидаемоеОписаниеОшибки; + Если Параметры <> Неопределено Тогда + ТипПараметра = ТипЗнч(Параметры); + Если ТипПараметра <> Тип("Массив") Тогда + ВызватьИсключение ("Ожидали, что третьим параметром будет передан массив параметров для метода <"+ИмяМетода+">, а получили другой объект с типом <"+ТипПараметра+">"); + КонецЕсли; + КонецЕсли; + ОжидаемоеОписаниеОшибки = ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки; + КонецЕсли; + + ПараметрыСтрока = ПараметрыСтрокой(Параметры); + + СтрокаВыполнения = "Объект." + ИмяМетода + "(" + ПараметрыСтрока + ")"; + + Попытка + Выполнить(СтрокаВыполнения); + Исключение + ПолученноеОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + Если Найти(ПолученноеОписаниеОшибки, ОжидаемоеОписаниеОшибки) = 0 Тогда + ВызватьОшибкуПроверки("Хотели, чтобы код """+СтрокаВыполнения+""" упал с сообщением об ошибке """+ОжидаемоеОписаниеОшибки+""", а он упал с сообщением """+ПолученноеОписаниеОшибки+"""." + ФорматДСО(ДопСообщениеОшибки)); + КонецЕсли; + Возврат; + КонецПопытки; + + ВызватьОшибкуПроверки("Хотели, чтобы код """+СтрокаВыполнения+""" упал, а он выполнился" + ФорматДСО(ДопСообщениеОшибки)); + +КонецПроцедуры + +// проверка идет через ЗначениеЗаполнено, но мутабельные значение всегда считаем заполненными +Процедура ПроверитьЗаполненность(ПроверяемоеЗначение, ДопСообщениеОшибки = "") Экспорт + Попытка + фЗаполнено = ЗначениеЗаполнено(ПроверяемоеЗначение); + Исключение + Возврат; + КонецПопытки; + Если НЕ фЗаполнено Тогда + ВызватьОшибкуПроверки("Значение ("+ПроверяемоеЗначение+") не заполнено, а ожидалась заполненность" + ФорматДСО(ДопСообщениеОшибки)); + КонецЕсли; +КонецПроцедуры + +Процедура ПроверитьНеЗаполненность(ПроверяемоеЗначение, ДопСообщениеОшибки = "") Экспорт + СообщениеОшибки = "Значение ("+ПроверяемоеЗначение+") заполнено, а ожидалась незаполненность" + ФорматДСО(ДопСообщениеОшибки); + Попытка + фЗаполнено = ЗначениеЗаполнено(ПроверяемоеЗначение); + Исключение + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецПопытки; + Если фЗаполнено Тогда + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; +КонецПроцедуры + +Процедура ПроверитьТип(значение, ТипИлиИмяТипа, ДопСообщениеОшибки = "") Экспорт + Если ТипЗнч(ТипИлиИмяТипа) = Тип("Строка") Тогда + искомыйТип = Тип(ТипИлиИмяТипа); + ИначеЕсли ТипЗнч(ТипИлиИмяТипа) = Тип("Тип") Тогда + искомыйТип = ТипИлиИмяТипа; + Иначе + ВызватьИсключение ("ПроверитьТип: Тип значения параметра ТипИлиИмяТипа должен быть <Тип> или <Строка>, а получили <"+ ТипЗнч(ТипИлиИмяТипа) + ">" + ФорматДСО(ДопСообщениеОшибки)); + КонецЕсли; + Если ТипЗнч(значение) <> искомыйТип Тогда + ВызватьОшибкуПроверки("Типом значения <"+значение+"> является <"+ТипЗнч(значение)+">, а ожидался тип <"+ТипИлиИмяТипа+">."+ФорматДСО(ДопСообщениеОшибки)); + КонецЕсли; +КонецПроцедуры + +Процедура ПроверитьВхождение(строка, подстрокаПоиска, ДопСообщениеОшибки = "") Экспорт + Если Найти(строка, подстрокаПоиска) = 0 Тогда + ПредставлениеСтроки = "<"+строка+">"; + Если СтрДлина(строка) > 20 Тогда + ПредставлениеСтроки = ПредставлениеСтроки + Символы.ПС; + КонецЕсли; + ПредставлениеПодСтроки = "<"+подстрокаПоиска+">"; + Если СтрДлина(подстрокаПоиска) > 20 Тогда + ПредставлениеПодСтроки = ПредставлениеПодСтроки + Символы.ПС; + КонецЕсли; + СообщениеОшибки = "Искали в "+ПредставлениеСтроки+" подстроку "+ПредставлениеПодСтроки+", но не нашли." + ФорматДСО(ДопСообщениеОшибки); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; +КонецПроцедуры + +//Коллекция - Массив, Структура, Соответствие, ФиксированныйМассив, ФиксированнаяСтруктура, ФиксированноеСоответствие, СписокЗначений +Процедура ПроверитьВхождениеВКоллекцию(Элемент, Коллекция, ДопСообщениеОшибки = "") Экспорт + Нашли = Неопределено; + ТипКоллекции = ТипЗнч(Коллекция); + Если ТипКоллекции = Тип("Массив") или ТипКоллекции = Тип("ФиксированныйМассив") Тогда + Нашли = Коллекция.Найти(Элемент) <> Неопределено; + ИначеЕсли ТипКоллекции = Тип("Структура") или ТипКоллекции = Тип("Соответствие") + или ТипКоллекции = Тип("ФиксированнаяСтруктура") или ТипКоллекции = Тип("ФиксированноеСоответствие") Тогда + Для каждого КлючЗначение Из Коллекция Цикл + Нашли = КлючЗначение.Значение = Элемент; + Если Нашли Тогда + Прервать; + КонецЕсли; + КонецЦикла; + ИначеЕсли ТипКоллекции = Тип("СписокЗначений") Тогда + Нашли = Коллекция.НайтиПоЗначению(Элемент) <> Неопределено; + КонецЕсли; + Если Нашли = Неопределено Тогда + СообщениеОшибки = "Утверждение ""ПроверитьВхождениеВКоллекцию"" не умеет работать с типом коллекции <"+ТипКоллекции+">." + ФорматДСО(ДопСообщениеОшибки); + ВызватьИсключение СообщениеОшибки; + КонецЕсли; + Если Не Нашли Тогда + СообщениеОшибки = "Не нашли элемент <"+Элемент+"> в коллекции, а хотели, чтобы он был в коллекции." + ФорматДСО(ДопСообщениеОшибки); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; +КонецПроцедуры + +Процедура ПроверитьВалидностьЗапросаСКД(ТекстЗапроса, ДопСообщениеОшибки = "") Экспорт + + СхемаКомпоновкиДанных = Новый СхемаКомпоновкиДанных; + + ИсточникДанных = СхемаКомпоновкиДанных.ИсточникиДанных.Добавить(); + ИсточникДанных.Имя = "ИсточникДанных"; + ИсточникДанных.СтрокаСоединения = ""; + ИсточникДанных.ТипИсточникаДанных = "Local"; + + НаборДанных = СхемаКомпоновкиДанных.НаборыДанных.Добавить(Тип("НаборДанныхЗапросСхемыКомпоновкиДанных")); + НаборДанных.Имя = "НаборДанных"; + НаборДанных.ИсточникДанных = "ИсточникДанных"; + НаборДанных.АвтоЗаполнениеДоступныхПолей = Истина; + НаборДанных.Запрос = ТекстЗапроса; + + КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных; + Попытка + КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); + Исключение + СообщениеОшибки = ОписаниеОшибки() + "." + ФорматДСО(ДопСообщениеОшибки); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецПопытки; + +КонецПроцедуры // ПроверитьВалидностьЗапросаСКД() + +Процедура ПроверитьНаличиеОбъектаИБ(ссылка, ДопСообщениеОшибки = "") Экспорт + Если Не ЗначениеЗаполнено(ссылка) Тогда + СообщениеОшибки = "Ожидали заполненность ссылки, а получили пустую ссылку." + ФорматДСО(ДопСообщениеОшибки); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; + лОбъект = ссылка.ПолучитьОбъект(); + Если лОбъект = Неопределено Тогда + СообщениеОшибки = "Ожидали существование объекта в ИБ, а получили объект не найден <" + ссылка + "> ." + ФорматДСО(ДопСообщениеОшибки); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; +КонецПроцедуры + +// Проеряет равенство файлов +// Параметры: +// ПутьФайла1, ПутьФайла2 - полные пути к фалйам +// ПарамСравнениеФайлов - структура с ключами: +// ИгнорироватьПустоеПространство +// СпособСравнения +// УчитыватьРазделителиСтрок +// УчитыватьРегистр +// ПоказатьРазличия - в случае ошибки появляется окно сравнеия (для отладки) +Процедура ПроверитьРавенствоФайлов(ПутьФайла1, ПутьФайла2, ДопСообщениеОшибки = "", ПарамСравнениеФайлов = Неопределено, ПоказатьРазличия = Ложь) Экспорт +#Если ТолстыйКлиентОбычноеПриложение или ТолстыйКлиентУправляемоеПриложение Тогда + Если ПарамСравнениеФайлов = Неопределено Тогда + ПарамСравнениеФайлов = Новый Структура; + КонецЕсли; + СравнениеФайлов = Новый СравнениеФайлов; + СравнениеФайлов.ПервыйФайл = ПутьФайла1; + СравнениеФайлов.ВторойФайл = ПутьФайла2; + Если Не ПарамСравнениеФайлов.Свойство("СпособСравнения") Тогда + Файл = Новый Файл(ПутьФайла1); + ТипФайла = НРег(Файл.Расширение); + ТекстовыеТипы = ".txt,.xml"; + Если ТипФайла = ".mxl" Тогда + ПарамСравнениеФайлов.Вставить("СпособСравнения", СпособСравненияФайлов.ТабличныйДокумент); + ИначеЕсли Найти(ТекстовыеТипы, ТипФайла) > 0 Тогда + ПарамСравнениеФайлов.Вставить("СпособСравнения", СпособСравненияФайлов.ТекстовыйДокумент); + КонецЕсли; + КонецЕсли; + ЗаполнитьЗначенияСвойств(СравнениеФайлов, ПарамСравнениеФайлов); + ФайлыИдентичны = СравнениеФайлов.Сравнить(); + Если Не ФайлыИдентичны Тогда + Если ПоказатьРазличия Тогда // для удобства отладки и расследования ошибок + СравнениеФайлов.ПоказатьРазличия(); + КонецЕсли; + СообщениеОшибки = "Ожидали идентичность файлов, а получили, что они различны." + ФорматДСО(ДопСообщениеОшибки); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; +#Иначе + ВызватьИсключение "Утверждение ПроверитьРавенствоФайлов можно использовать только в толстом клиенте!"; +#КонецЕсли +КонецПроцедуры +//} + +Процедура ВызватьОшибкуПроверки(СообщениеОшибки) + + Префикс = "["+ СтатусыРезультатаТестирования.ОшибкаПроверки + "]"; + ВызватьИсключение Префикс + " " + СообщениеОшибки; + +КонецПроцедуры + +Функция ФорматДСО(ДопСообщениеОшибки) + Если ДопСообщениеОшибки = "" Тогда + Возврат ""; + КонецЕсли; + + Возврат Символы.ПС + ДопСообщениеОшибки; +КонецФункции + +СтатусыРезультатаТестирования = Новый Структура; +СтатусыРезультатаТестирования.Вставить("ОшибкаПроверки", "Failed"); +СтатусыРезультатаТестирования.Вставить("НеизвестнаяОшибка", "Broken"); +СтатусыРезультатаТестирования.Вставить("ТестПропущен", "Pending"); +СтатусыРезультатаТестирования = Новый ФиксированнаяСтруктура(СтатусыРезультатаТестирования); \ No newline at end of file diff --git "a/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/maps.txt" "b/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/maps.txt" new file mode 100644 index 00000000..0f538c80 --- /dev/null +++ "b/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/maps.txt" @@ -0,0 +1 @@ +Form\Форма\Форма.txt-->4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 (29, 395) diff --git "a/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/renames.txt" "b/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/renames.txt" new file mode 100644 index 00000000..31723e1f --- /dev/null +++ "b/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/renames.txt" @@ -0,0 +1,9 @@ +11c5f751-bfaf-480a-92fe-7f30023f2e9a-->und\11c5f751-bfaf-480a-92fe-7f30023f2e9a +4e8e1a4a-a947-419b-95c8-58a411e3ffa4-->und\4e8e1a4a-a947-419b-95c8-58a411e3ffa4 +4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0-->und\4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 +908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\info-->und\908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\info +908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\text-->ObjectModule.txt +copyinfo-->und\copyinfo +root-->und\root +version-->und\version +versions-->und\versions diff --git "a/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" "b/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" new file mode 100644 index 00000000..2e8489a9 --- /dev/null +++ "b/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" @@ -0,0 +1,17 @@ +{1, +{11c5f751-bfaf-480a-92fe-7f30023f2e9a},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,85629dd2-6be4-49c6-9a69-13411102aa57,3fdd55c8-e92e-4f99-8b28-3ba8957b50ab, +{0, +{0, +{0,0,908d0aaf-e4ec-4668-8d14-3e8075d222fd},"БазовыеУтверждения", +{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}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,4e8e1a4a-a947-419b-95c8-58a411e3ffa4}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} +} +} +} \ No newline at end of file diff --git "a/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" "b/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" new file mode 100644 index 00000000..e9f6cd91 --- /dev/null +++ "b/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" @@ -0,0 +1,10 @@ +{1, +{1, +{0, +{9, +{0, +{0,0,4e8e1a4a-a947-419b-95c8-58a411e3ffa4},"Форма", +{1,"ru","Форма"},""},0,1}, +{0} +} +},0} \ No newline at end of file diff --git "a/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" "b/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" new file mode 100644 index 00000000..f2a65878 --- /dev/null +++ "b/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" @@ -0,0 +1,433 @@ +{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}, +{0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},0,0,1} +},"&НаКлиенте +Перем СтатусыРезультатаТестирования; + +&НаКлиенте +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); +КонецФункции + +&НаСервере +Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) + Возврат Объект().ОписаниеПлагина(ВозможныеТипыПлагинов); +КонецФункции + +// { функции утверждения- проверки значений. + +&НаКлиенте +Процедура Проверить(_Истина, ДопСообщениеОшибки = """") Экспорт + Если Не _Истина Тогда + СообщениеОшибки = ""Переданный параметр (""+Формат(_Истина, ""БЛ=ложь; БИ=истина"")+"") не является Истиной, а хотели, чтобы являлся."" + ФорматДСО(ДопСообщениеОшибки); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ПроверитьИстину(_Истина, ДопСообщениеОшибки = """") Экспорт + Проверить(_Истина, ДопСообщениеОшибки); +КонецПроцедуры + +&НаКлиенте +Процедура ПроверитьЛожь(_Ложь, ДопСообщениеОшибки = """") Экспорт + Если _Ложь Тогда + СообщениеОшибки = ""Переданный параметр (""+Формат(_Ложь, ""БЛ=ложь; БИ=истина"")+"") не является Ложью, а хотели, чтобы являлся."" + ФорматДСО(ДопСообщениеОшибки); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ПроверитьДату(_Дата, _Период, ДопСообщениеОшибки = """") Экспорт + Если _Дата < _Период.ДатаНачала или _Дата > _Период.ДатаОкончания Тогда + представление = ПредставлениеПериода(_Период.ДатаНачала, _Период.ДатаОкончания, ""ФП = Истина""); + СообщениеОшибки = ""Переданный параметр (""+Формат(_Дата, ""ДФ='dd.MM.yyyy HH:mm:ss'"")+"") не входит в период ""+представление+"", а хотели, чтобы являлся."" + ФорматДСО(ДопСообщениеОшибки); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ПроверитьРавенствоДатСТочностью2Секунды(_Дата, _Дата2, ДопСообщениеОшибки = """") Экспорт + Если _Дата < _Дата2-2 или _Дата > _Дата2+2 Тогда + СообщениеОшибки = ""Переданная дата (""+Формат(_Дата, ""ДФ='dd.MM.yyyy HH:mm:ss'"")+"") не равна дате (""+Формат(_Дата2, ""ДФ='dd.MM.yyyy HH:mm:ss'"")+"") с точностью до 2-х секунд, а хотели, чтобы они равнялись."" + ФорматДСО(ДопСообщениеОшибки); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ПроверитьРавенство(_1, _2, ДопСообщениеОшибки = """") Экспорт + Если _1 <> _2 Тогда + СообщениеОшибки = ""Сравниваемые значения (""+_1+""; ""+_2+"") не равны, а хотели, чтобы были равны."" + ФорматДСО(ДопСообщениеОшибки); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ПроверитьНеРавенство(_1, _2, ДопСообщениеОшибки = """") Экспорт + Если _1 = _2 Тогда + СообщениеОшибки = ""Сравниваемые значения (""+_1+""; ""+_2+"") равны, а хотели, чтобы были не равны."" + ФорматДСО(ДопСообщениеОшибки); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ПроверитьБольше(_Больше, _Меньше, ДопСообщениеОшибки = """") Экспорт + Если _Больше <= _Меньше Тогда + СообщениеОшибки = ""Первый параметр (""+_Больше+"") меньше или равен второму (""+_Меньше+"") а хотели, чтобы был больше."" + ФорматДСО(ДопСообщениеОшибки); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ПроверитьБольшеИлиРавно(_Больше, _Меньше, ДопСообщениеОшибки = """") Экспорт + Если _Больше < _Меньше Тогда + СообщениеОшибки = ""Первый параметр (""+_Больше+"") меньше второго (""+_Меньше+"") а хотели, чтобы был больше или равен."" + ФорматДСО(ДопСообщениеОшибки); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ПроверитьМеньше(проверяемоеЗначение1, проверяемоеЗначение2, СообщениеОбОшибке = """") Экспорт + Если проверяемоеЗначение1 >= проверяемоеЗначение2 Тогда + СообщениеОшибки = ""Значение <""+проверяемоеЗначение1+""> больше или равно, чем <""+проверяемоеЗначение2+"">, а ожидалось меньше""+ + ФорматДСО(СообщениеОбОшибке); + ВызватьОшибкуПроверки(СообщениеОшибки) + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ПроверитьМеньшеИлиРавно(проверяемоеЗначение1, проверяемоеЗначение2, СообщениеОбОшибке = """") Экспорт + Если проверяемоеЗначение1 > проверяемоеЗначение2 Тогда + СообщениеОшибки = ""Значение <""+проверяемоеЗначение1+""> больше, чем <""+проверяемоеЗначение2+"">, а ожидалось меньше или равно""+ + ФорматДСО(СообщениеОбОшибке); + ВызватьОшибкуПроверки(СообщениеОшибки) + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ПроверитьВыполнилось(Знач СтрокаАлгоритм, ПараметрыИлиДопСообщениеОшибки = Неопределено, Знач ДопСообщениеОшибки = """") Экспорт + Перем Параметры; + + Если ТипЗнч(ПараметрыИлиДопСообщениеОшибки) = Тип(""Строка"") Тогда + ДопСообщениеОшибки = ПараметрыИлиДопСообщениеОшибки; + Иначе + Параметры = ПараметрыИлиДопСообщениеОшибки; + КонецЕсли; + Попытка + Выполнить(СтрокаАлгоритм); + Исключение + ПолученноеОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + СообщениеОшибки = ""Хотели, чтобы алгоритм """"""+СтрокаАлгоритм+"""""" выполнился, а он упал с ошибкой """"""+ПолученноеОписаниеОшибки+""""""."" + ФорматДСО(ДопСообщениеОшибки); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецПопытки; + +КонецПроцедуры + +&НаКлиенте +Процедура ПроверитьМетодВыполнился(Объект, Знач ИмяМетода, ПараметрыИлиДопСообщениеОшибки = Неопределено, Знач ДопСообщениеОшибки = """") Экспорт + Перем Параметры; + + Если ТипЗнч(ПараметрыИлиДопСообщениеОшибки) = Тип(""Строка"") Тогда + ДопСообщениеОшибки = ПараметрыИлиДопСообщениеОшибки; + Иначе + Параметры = ПараметрыИлиДопСообщениеОшибки; + Если Параметры <> Неопределено Тогда + ТипПараметра = ТипЗнч(Параметры); + Если ТипПараметра <> Тип(""Массив"") Тогда + ВызватьИсключение (""Ожидали, что вторым параметром будет передан массив параметров для метода <""+ИмяМетода+"">, а получили другой объект с типом <""+ТипПараметра+"">""); + КонецЕсли; + КонецЕсли; + КонецЕсли; + + ПараметрыСтрока = ПараметрыСтрокой(Параметры); + + СтрокаВыполнения = ""Объект."" + ИмяМетода + ""("" + ПараметрыСтрока + "")""; + + Попытка + Выполнить(СтрокаВыполнения); + Исключение + ПолученноеОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + СообщениеОшибки = ""Хотели, чтобы код """"""+СтрокаВыполнения+"""""" выполнился, а он упал с ошибкой """"""+ПолученноеОписаниеОшибки+""""""."" + ФорматДСО(ДопСообщениеОшибки); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецПопытки; + +КонецПроцедуры + +&НаКлиенте +Функция ПараметрыСтрокой(Параметры) + ПараметрыСтрока = """"; + Если ЗначениеЗаполнено(Параметры) Тогда + Для Индекс = 0 По Параметры.ВГраница() Цикл + ПараметрыСтрока = ПараметрыСтрока + "", Параметры["" + Формат(Индекс, ""ЧН=0; ЧГ=0"") + ""]""; + КонецЦикла; + КонецЕсли; + Возврат Сред(ПараметрыСтрока, 3); +КонецФункции + +&НаКлиенте +Процедура ПроверитьНеВыполнилось(Знач СтрокаАлгоритм, ПараметрыИлиОжидаемоеОписаниеОшибки, Знач ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки = """", Знач ДопСообщениеОшибки = """") Экспорт + Перем Параметры, ОжидаемоеОписаниеОшибки; + Если ТипЗнч(ПараметрыИлиОжидаемоеОписаниеОшибки) = Тип(""Строка"") Тогда + ОжидаемоеОписаниеОшибки = ПараметрыИлиОжидаемоеОписаниеОшибки; + ДопСообщениеОшибки = ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки; + Иначе + Параметры = ПараметрыИлиОжидаемоеОписаниеОшибки; + ОжидаемоеОписаниеОшибки = ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки; + КонецЕсли; + Попытка + Выполнить(СтрокаАлгоритм); + Исключение + ПолученноеОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + Если Найти(ПолученноеОписаниеОшибки, ОжидаемоеОписаниеОшибки) = 0 Тогда + ВызватьОшибкуПроверки(""Хотели, чтобы алгоритм """"""+СтрокаАлгоритм+"""""" упал с сообщением об ошибке """"""+ОжидаемоеОписаниеОшибки+"""""", а он упал с сообщением """"""+ПолученноеОписаниеОшибки+""""""."" + ФорматДСО(ДопСообщениеОшибки)); + КонецЕсли; + Возврат; + КонецПопытки; + + ВызватьОшибкуПроверки(""Хотели, чтобы алгоритм """"""+СтрокаАлгоритм+"""""" упал, а он выполнился"" + ФорматДСО(ДопСообщениеОшибки)); + +КонецПроцедуры + +&НаКлиенте +Процедура ПроверитьМетодНеВыполнился(Объект, ИмяМетода, ПараметрыИлиОжидаемоеОписаниеОшибки, Знач ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки = """", Знач ДопСообщениеОшибки = """") Экспорт + Перем Параметры, ОжидаемоеОписаниеОшибки; + + Если ТипЗнч(ПараметрыИлиОжидаемоеОписаниеОшибки) = Тип(""Строка"") Тогда + ОжидаемоеОписаниеОшибки = ПараметрыИлиОжидаемоеОписаниеОшибки; + ДопСообщениеОшибки = ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки; + Иначе + Параметры = ПараметрыИлиОжидаемоеОписаниеОшибки; + Если Параметры <> Неопределено Тогда + ТипПараметра = ТипЗнч(Параметры); + Если ТипПараметра <> Тип(""Массив"") Тогда + ВызватьИсключение (""Ожидали, что третьим параметром будет передан массив параметров для метода <""+ИмяМетода+"">, а получили другой объект с типом <""+ТипПараметра+"">""); + КонецЕсли; + КонецЕсли; + ОжидаемоеОписаниеОшибки = ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки; + КонецЕсли; + + ПараметрыСтрока = ПараметрыСтрокой(Параметры); + + СтрокаВыполнения = ""Объект."" + ИмяМетода + ""("" + ПараметрыСтрока + "")""; + + Попытка + Выполнить(СтрокаВыполнения); + Исключение + ПолученноеОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + Если Найти(ПолученноеОписаниеОшибки, ОжидаемоеОписаниеОшибки) = 0 Тогда + ВызватьОшибкуПроверки(""Хотели, чтобы код """"""+СтрокаВыполнения+"""""" упал с сообщением об ошибке """"""+ОжидаемоеОписаниеОшибки+"""""", а он упал с сообщением """"""+ПолученноеОписаниеОшибки+""""""."" + ФорматДСО(ДопСообщениеОшибки)); + КонецЕсли; + Возврат; + КонецПопытки; + + ВызватьОшибкуПроверки(""Хотели, чтобы код """"""+СтрокаВыполнения+"""""" упал, а он выполнился"" + ФорматДСО(ДопСообщениеОшибки)); + +КонецПроцедуры + +// проверка идет через ЗначениеЗаполнено, но мутабельные значение всегда считаем заполненными +&НаКлиенте +Процедура ПроверитьЗаполненность(ПроверяемоеЗначение, ДопСообщениеОшибки = """") Экспорт + Попытка + фЗаполнено = ЗначениеЗаполнено(ПроверяемоеЗначение); + Исключение + Возврат; + КонецПопытки; + Если НЕ фЗаполнено Тогда + ВызватьОшибкуПроверки(""Значение (""+ПроверяемоеЗначение+"") не заполнено, а ожидалась заполненность"" + ФорматДСО(ДопСообщениеОшибки)); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ПроверитьНеЗаполненность(ПроверяемоеЗначение, ДопСообщениеОшибки = """") Экспорт + СообщениеОшибки = ""Значение (""+ПроверяемоеЗначение+"") заполнено, а ожидалась незаполненность"" + ФорматДСО(ДопСообщениеОшибки); + Попытка + фЗаполнено = ЗначениеЗаполнено(ПроверяемоеЗначение); + Исключение + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецПопытки; + Если фЗаполнено Тогда + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ПроверитьТип(значение, ТипИлиИмяТипа, ДопСообщениеОшибки = """") Экспорт + Если ТипЗнч(ТипИлиИмяТипа) = Тип(""Строка"") Тогда + искомыйТип = Тип(ТипИлиИмяТипа); + ИначеЕсли ТипЗнч(ТипИлиИмяТипа) = Тип(""Тип"") Тогда + искомыйТип = ТипИлиИмяТипа; + Иначе + ВызватьИсключение (""ПроверитьТип: Тип значения параметра ТипИлиИмяТипа должен быть <Тип> или <Строка>, а получили <""+ ТипЗнч(ТипИлиИмяТипа) + "">"" + ФорматДСО(ДопСообщениеОшибки)); + КонецЕсли; + Если ТипЗнч(значение) <> искомыйТип Тогда + ВызватьОшибкуПроверки(""Типом значения <""+значение+""> является <""+ТипЗнч(значение)+"">, а ожидался тип <""+ТипИлиИмяТипа+"">.""+ФорматДСО(ДопСообщениеОшибки)); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ПроверитьВхождение(строка, подстрокаПоиска, ДопСообщениеОшибки = """") Экспорт + Если Найти(строка, подстрокаПоиска) = 0 Тогда + ПредставлениеСтроки = ""<""+строка+"">""; + Если СтрДлина(строка) > 20 Тогда + ПредставлениеСтроки = ПредставлениеСтроки + Символы.ПС; + КонецЕсли; + ПредставлениеПодСтроки = ""<""+подстрокаПоиска+"">""; + Если СтрДлина(подстрокаПоиска) > 20 Тогда + ПредставлениеПодСтроки = ПредставлениеПодСтроки + Символы.ПС; + КонецЕсли; + СообщениеОшибки = ""Искали в ""+ПредставлениеСтроки+"" подстроку ""+ПредставлениеПодСтроки+"", но не нашли."" + ФорматДСО(ДопСообщениеОшибки); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; +КонецПроцедуры + +//Коллекция - Массив, Структура, Соответствие, ФиксированныйМассив, ФиксированнаяСтруктура, ФиксированноеСоответствие, СписокЗначений +&НаКлиенте +Процедура ПроверитьВхождениеВКоллекцию(Элемент, Коллекция, ДопСообщениеОшибки = """") Экспорт + Нашли = Неопределено; + ТипКоллекции = ТипЗнч(Коллекция); + Если ТипКоллекции = Тип(""Массив"") или ТипКоллекции = Тип(""ФиксированныйМассив"") Тогда + Нашли = Коллекция.Найти(Элемент) <> Неопределено; + ИначеЕсли ТипКоллекции = Тип(""Структура"") или ТипКоллекции = Тип(""Соответствие"") + или ТипКоллекции = Тип(""ФиксированнаяСтруктура"") или ТипКоллекции = Тип(""ФиксированноеСоответствие"") Тогда + Для каждого КлючЗначение Из Коллекция Цикл + Нашли = КлючЗначение.Значение = Элемент; + Если Нашли Тогда + Прервать; + КонецЕсли; + КонецЦикла; + ИначеЕсли ТипКоллекции = Тип(""СписокЗначений"") Тогда + Нашли = Коллекция.НайтиПоЗначению(Элемент) <> Неопределено; + КонецЕсли; + Если Нашли = Неопределено Тогда + СообщениеОшибки = ""Утверждение """"ПроверитьВхождениеВКоллекцию"""" не умеет работать с типом коллекции <""+ТипКоллекции+"">."" + ФорматДСО(ДопСообщениеОшибки); + ВызватьИсключение СообщениеОшибки; + КонецЕсли; + Если Не Нашли Тогда + СообщениеОшибки = ""Не нашли элемент <""+Элемент+""> в коллекции, а хотели, чтобы он был в коллекции."" + ФорматДСО(ДопСообщениеОшибки); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ПроверитьВалидностьЗапросаСКД(ТекстЗапроса, ДопСообщениеОшибки = """") Экспорт + ПроверитьВалидностьЗапросаСКДНаСервере(ТекстЗапроса, ДопСообщениеОшибки); +КонецПроцедуры + +&НаКлиенте +Процедура ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки = Ложь, УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки = Ложь, Знач ДопСообщениеОшибки = """") Экспорт + ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениямСервер(ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки, УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки, ДопСообщениеОшибки); +КонецПроцедуры + +&НаСервере +Процедура ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениямСервер(ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки = Ложь, УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки = Ложь, Знач ДопСообщениеОшибки = """") Экспорт + Объект().ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки, УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки, ДопСообщениеОшибки); +КонецПроцедуры + +&НаКлиенте +Процедура ВызватьОшибкуПроверки(СообщениеОшибки) + + Префикс = ""["" + СтатусыРезультатаТестирования.ОшибкаПроверки + ""]""; + ВызватьИсключение Префикс + "" "" + СообщениеОшибки; + +КонецПроцедуры + +&НаКлиенте +Процедура ПропуститьТест(Знач Сообщение = """") Экспорт + + Префикс = ""["" + СтатусыРезультатаТестирования.ТестПропущен + ""]""; + Если ПустаяСтрока(Сообщение) Тогда + Сообщение = НСтр(""ru = 'Тест пропущен'""); + КонецЕсли; + ВызватьИсключение Префикс + "" "" + Сообщение; + +КонецПроцедуры + +&НаСервере +Процедура ПроверитьВалидностьЗапросаСКДНаСервере(ТекстЗапроса, ДопСообщениеОшибки = """") + Объект().ПроверитьВалидностьЗапросаСКД(ТекстЗапроса, ДопСообщениеОшибки); +КонецПроцедуры +// } + +&НаКлиенте +Функция ФорматДСО(ДопСообщениеОшибки) + Если ДопСообщениеОшибки = """" Тогда + Возврат """"; + КонецЕсли; + + Возврат Символы.ПС + ДопСообщениеОшибки; +КонецФункции + +&НаСервере +Функция Объект() + Возврат РеквизитФормыВЗначение(""Объект""); +КонецФункции + +СтатусыРезультатаТестирования = Новый Структура; +СтатусыРезультатаТестирования.Вставить(""ОшибкаПроверки"", ""Failed""); +СтатусыРезультатаТестирования.Вставить(""НеизвестнаяОшибка"", ""Broken""); +СтатусыРезультатаТестирования.Вставить(""ТестПропущен"", ""Pending""); +СтатусыРезультатаТестирования = Новый ФиксированнаяСтруктура(СтатусыРезультатаТестирования); +", +{4,1, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",85629dd2-6be4-49c6-9a69-13411102aa57} +}, +{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 +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,0}, +{0,0}, +{0,0}, +{0,0} +} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/9eb30d94-85ce-4406-a5a1-c2fe00b9550a.0/info" "b/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/und/908d0aaf-e4ec-4668-8d14-3e8075d222fd.0/info" similarity index 100% rename from "src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/9eb30d94-85ce-4406-a5a1-c2fe00b9550a.0/info" rename to "src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/und/908d0aaf-e4ec-4668-8d14-3e8075d222fd.0/info" diff --git "a/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/und/copyinfo" "b/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/und/copyinfo" new file mode 100644 index 00000000..39cbc994 --- /dev/null +++ "b/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/und/copyinfo" @@ -0,0 +1,16 @@ +{4, +{2, +{4e8e1a4a-a947-419b-95c8-58a411e3ffa4,4e8e1a4a-a947-419b-95c8-58a411e3ffa4,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} +}, +{908d0aaf-e4ec-4668-8d14-3e8075d222fd,908d0aaf-e4ec-4668-8d14-3e8075d222fd,1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"БазовыеУтверждения"} +} +}, +{1, +{85629dd2-6be4-49c6-9a69-13411102aa57,908d0aaf-e4ec-4668-8d14-3e8075d222fd,0} +}, +{0}, +{0,0}, +{0} +} \ No newline at end of file diff --git "a/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/und/root" "b/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/und/root" new file mode 100644 index 00000000..fe2f30c4 --- /dev/null +++ "b/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/und/root" @@ -0,0 +1 @@ +{2,11c5f751-bfaf-480a-92fe-7f30023f2e9a,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/version" "b/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/und/version" similarity index 100% rename from "src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/version" rename to "src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/und/version" diff --git "a/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/und/versions" "b/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/und/versions" new file mode 100644 index 00000000..16a21110 --- /dev/null +++ "b/src/Plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/und/versions" @@ -0,0 +1 @@ +{1,9,"",d4d716bf-a173-4027-b59d-53438596b9b3,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4",3430dc45-6616-484f-980f-e670b75b8120,"versions",b747526e-8cf7-413c-b34e-6384c9598dfe,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0",08a77d02-f702-47c2-a6ac-acf2ae668373,"root",9ceb23cc-520f-43e9-97c9-b9dc5086aa66,"908d0aaf-e4ec-4668-8d14-3e8075d222fd.0",7b8432f4-f8c8-41a4-affb-42fff4134227,"11c5f751-bfaf-480a-92fe-7f30023f2e9a",0e9ff48a-475b-4e16-a5ef-dc2ed4dc0308,"version",c0ac7442-2802-48a2-b4e6-531461bff913,"copyinfo",4a65863a-9326-4d95-b003-7298723334ef} \ No newline at end of file diff --git "a/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" new file mode 100644 index 00000000..9d226060 --- /dev/null +++ "b/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" @@ -0,0 +1 @@ + // { Plugin interface &НаКлиенте Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); КонецФункции // } Plugin interface // { Helpers &НаСервере Функция ЭтотОбъектНаСервере() Возврат РеквизитФормыВЗначение("Объект"); КонецФункции // } Helpers \ No newline at end of file diff --git "a/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/ObjectModule.txt" "b/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/ObjectModule.txt" new file mode 100644 index 00000000..a6be3506 --- /dev/null +++ "b/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/ObjectModule.txt" @@ -0,0 +1,102 @@ + +////////////////////////////////////////////////////////////////// +// +// Простой хелпер создания временных файлов и каталогов +// +////////////////////////////////////////////////////////////////// + +//#Использовать logos + +Перем мВременныеФайлы; +//Перем Лог; + +// { Plugin interface +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Результат = Новый Структура; + Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); + Результат.Вставить("Идентификатор", Метаданные().Имя); + Результат.Вставить("Представление", "ВременныеФайлы"); + + Возврат Новый ФиксированнаяСтруктура(Результат); +КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт +КонецПроцедуры +// } Plugin interface + +///////////////////////////////////////////////////////////////////////// +// Программный интерфейс + +Функция НовоеИмяФайла(Знач Расширение = "tmp") Экспорт + + ИмяВремФайла = ПолучитьИмяВременногоФайла(Расширение); + мВременныеФайлы.Добавить(ИмяВремФайла); + + Возврат ИмяВремФайла; + +КонецФункции + +Функция СоздатьФайл(Знач Расширение = "tmp") Экспорт + + ИмяФайла = НовоеИмяФайла(Расширение); + ЗаписьТекста = Новый ЗаписьТекста(ИмяФайла, КодировкаТекста.ANSI); + ЗаписьТекста.Закрыть(); + Возврат ИмяФайла; + +КонецФункции + +Функция СоздатьКаталог_(Знач Расширение = "tmp") Экспорт + + ИмяФайла = НовоеИмяФайла(Расширение); + СоздатьКаталог(ИмяФайла); + + Возврат ИмяФайла; + +КонецФункции + +Процедура Удалить() Экспорт + + КрайнийИндекс = мВременныеФайлы.Количество()-1; + Для Сч = 0 По КрайнийИндекс Цикл + + Индекс = КрайнийИндекс-Сч; + ИмяВременногоФайла = мВременныеФайлы[Индекс]; + Если БезопасноУдалитьФайл(ИмяВременногоФайла) Тогда + мВременныеФайлы.Удалить(Индекс); + КонецЕсли; + + КонецЦикла; + +КонецПроцедуры + +Функция УдалитьФайл(Знач Путь) Экспорт + Возврат БезопасноУдалитьФайл(Путь); +КонецФункции + +Функция БезопасноУдалитьФайл(Знач Путь) Экспорт + + Попытка + УдалитьФайлы(Путь); + Возврат Истина; + Исключение + ТекстОшибки = "Попытка удаления "+Путь+" закончилась неудачей, по причине "+ОписаниеОшибки(); + УдаляемыйФайл = Новый Файл(Путь); + Если УдаляемыйФайл.ЭтоФайл() и УдаляемыйФайл.ПолучитьТолькоЧтение() Тогда + УдаляемыйФайл.УстановитьТолькоЧтение(Ложь); + Попытка + УдалитьФайлы(Путь); + Возврат Истина; + Исключение + //Лог.Предупреждение(ТекстОшибки); + КонецПопытки; + Иначе + //Лог.Предупреждение(ТекстОшибки); + КонецЕсли; + КонецПопытки; + + Возврат Ложь; + +КонецФункции + +мВременныеФайлы = Новый Массив; +//Лог = Логирование.ПолучитьЛог("oscript.app.tempfiles"); \ No newline at end of file diff --git "a/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/maps.txt" "b/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/maps.txt" new file mode 100644 index 00000000..4962a47e --- /dev/null +++ "b/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/maps.txt" @@ -0,0 +1 @@ +Form\Форма\Форма.txt-->4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 (29, 48) diff --git "a/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/renames.txt" "b/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/renames.txt" new file mode 100644 index 00000000..31723e1f --- /dev/null +++ "b/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/renames.txt" @@ -0,0 +1,9 @@ +11c5f751-bfaf-480a-92fe-7f30023f2e9a-->und\11c5f751-bfaf-480a-92fe-7f30023f2e9a +4e8e1a4a-a947-419b-95c8-58a411e3ffa4-->und\4e8e1a4a-a947-419b-95c8-58a411e3ffa4 +4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0-->und\4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 +908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\info-->und\908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\info +908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\text-->ObjectModule.txt +copyinfo-->und\copyinfo +root-->und\root +version-->und\version +versions-->und\versions diff --git "a/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" "b/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" new file mode 100644 index 00000000..5ed50ebc --- /dev/null +++ "b/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" @@ -0,0 +1,17 @@ +{1, +{11c5f751-bfaf-480a-92fe-7f30023f2e9a},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,85629dd2-6be4-49c6-9a69-13411102aa57,3fdd55c8-e92e-4f99-8b28-3ba8957b50ab, +{0, +{0, +{0,0,908d0aaf-e4ec-4668-8d14-3e8075d222fd},"ВременныеФайлы", +{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}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,4e8e1a4a-a947-419b-95c8-58a411e3ffa4}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} +} +} +} \ No newline at end of file diff --git "a/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" "b/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" new file mode 100644 index 00000000..e9f6cd91 --- /dev/null +++ "b/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" @@ -0,0 +1,10 @@ +{1, +{1, +{0, +{9, +{0, +{0,0,4e8e1a4a-a947-419b-95c8-58a411e3ffa4},"Форма", +{1,"ru","Форма"},""},0,1}, +{0} +} +},0} \ No newline at end of file diff --git "a/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" "b/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" new file mode 100644 index 00000000..305af89b --- /dev/null +++ "b/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" @@ -0,0 +1,86 @@ +{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}, +{0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},0,0,1} +}," +// { Plugin interface +&НаКлиенте +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); +КонецФункции + +&НаСервере +Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); +КонецФункции +// } Plugin interface + +// { Helpers +&НаСервере +Функция ЭтотОбъектНаСервере() + Возврат РеквизитФормыВЗначение(""Объект""); +КонецФункции +// } Helpers +", +{4,1, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",85629dd2-6be4-49c6-9a69-13411102aa57} +}, +{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 +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,0}, +{0,0}, +{0,0}, +{0,0} +} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0/info" "b/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/und/908d0aaf-e4ec-4668-8d14-3e8075d222fd.0/info" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0/info" rename to "src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/und/908d0aaf-e4ec-4668-8d14-3e8075d222fd.0/info" diff --git "a/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/und/copyinfo" "b/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/und/copyinfo" new file mode 100644 index 00000000..cd028106 --- /dev/null +++ "b/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/und/copyinfo" @@ -0,0 +1,16 @@ +{4, +{2, +{4e8e1a4a-a947-419b-95c8-58a411e3ffa4,4e8e1a4a-a947-419b-95c8-58a411e3ffa4,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} +}, +{908d0aaf-e4ec-4668-8d14-3e8075d222fd,908d0aaf-e4ec-4668-8d14-3e8075d222fd,1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ВременныеФайлы"} +} +}, +{1, +{85629dd2-6be4-49c6-9a69-13411102aa57,908d0aaf-e4ec-4668-8d14-3e8075d222fd,0} +}, +{0}, +{0,0}, +{0} +} \ No newline at end of file diff --git "a/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/und/root" "b/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/und/root" new file mode 100644 index 00000000..fe2f30c4 --- /dev/null +++ "b/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/und/root" @@ -0,0 +1 @@ +{2,11c5f751-bfaf-480a-92fe-7f30023f2e9a,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/version" "b/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/und/version" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/version" rename to "src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/und/version" diff --git "a/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/und/versions" "b/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/und/versions" new file mode 100644 index 00000000..b49daf16 --- /dev/null +++ "b/src/Plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/und/versions" @@ -0,0 +1 @@ +{1,9,"",79ae4b75-2eb5-430d-9f58-7380699ef8f4,"versions",ccaa9049-60fa-4497-86f5-f4595d94304b,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4",d33325b0-36e7-4cf4-8eda-f14f4786e976,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0",2e212560-9696-4441-96a3-211006d7dce1,"root",f857bf72-bf53-4050-b8bb-5cae868d8b7d,"908d0aaf-e4ec-4668-8d14-3e8075d222fd.0",6dd7e0c5-ea20-44c1-96a5-83ca155efb06,"11c5f751-bfaf-480a-92fe-7f30023f2e9a",23b97576-60ee-4bcf-89d7-66b6d849bd39,"version",b3fa002e-a999-44f7-aee4-a5c85c4e0cd6,"copyinfo",a0df6778-38af-4360-a911-4991d90bedda} \ 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\260JUnitXML/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.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\260JUnitXML/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" new file mode 100644 index 00000000..255eebbd --- /dev/null +++ "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\260JUnitXML/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" @@ -0,0 +1 @@ + // { Plugin interface &НаКлиенте Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); КонецФункции // } Plugin interface // { Report generator interface &НаКлиенте Функция СоздатьОтчет(КонтекстЯдра, РезультатыТестирования) Экспорт Объект.ТипыУзловДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов").Объект.ТипыУзловДереваТестов; Объект.СостоянияТестов = КонтекстЯдра.Объект.СостоянияТестов; Возврат СоздатьОтчетНаСервере(РезультатыТестирования); КонецФункции &НаСервере Функция СоздатьОтчетНаСервере(РезультатыТестирования) Возврат ЭтотОбъектНаСервере().СоздатьОтчетНаСервере(РезультатыТестирования); КонецФункции &НаКлиенте Процедура Показать(Отчет) Экспорт Отчет.Показать(); КонецПроцедуры &НаКлиенте Процедура Экспортировать(Отчет, ПолныйПутьФайла) Экспорт Отчет.Записать(ПолныйПутьФайла); КонецПроцедуры // } Report generator interface // { Helpers &НаСервере Функция ЭтотОбъектНаСервере() Возврат РеквизитФормыВЗначение("Объект"); КонецФункции // } Helpers \ 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\260JUnitXML/ObjectModule.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\260JUnitXML/ObjectModule.txt" new file mode 100644 index 00000000..63a27256 --- /dev/null +++ "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\260JUnitXML/ObjectModule.txt" @@ -0,0 +1,115 @@ + +// { Plugin interface +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Результат = Новый Структура; + Результат.Вставить("Тип", ВозможныеТипыПлагинов.ГенераторОтчета); + Результат.Вставить("Идентификатор", Метаданные().Имя); + Результат.Вставить("Представление", "Отчет о тестировании в формате MXL"); + + Возврат Новый ФиксированнаяСтруктура(Результат); +КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт +КонецПроцедуры +// } Plugin interface + +// { Report generator interface +Функция СоздатьОтчет(КонтекстЯдра, РезультатыТестирования) Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + ЭтотОбъект.ТипыУзловДереваТестов = ПостроительДереваТестов.ТипыУзловДереваТестов; + ЭтотОбъект.СостоянияТестов = КонтекстЯдра.СостоянияТестов; + Отчет = СоздатьОтчетНаСервере(РезультатыТестирования); + + Возврат Отчет; +КонецФункции + +Функция СоздатьОтчетНаСервере(РезультатыТестирования) Экспорт + ЗаписьXML = Новый ЗаписьXML; + ЗаписьXML.УстановитьСтроку("UTF-8"); + ЗаписьXML.ЗаписатьОбъявлениеXML(); + + ЗаписьXML.ЗаписатьНачалоЭлемента("testsuites"); + ЗаписьXML.ЗаписатьАтрибут("name", XMLСтрока(РезультатыТестирования.Имя)); + ЗаписьXML.ЗаписатьАтрибут("time", XMLСтрока(РезультатыТестирования.ВремяВыполнения)); + ЗаписьXML.ЗаписатьАтрибут("tests", XMLСтрока(РезультатыТестирования.КоличествоТестов)); + ЗаписьXML.ЗаписатьАтрибут("failures", XMLСтрока(РезультатыТестирования.КоличествоСломанныхТестов)); + ЗаписьXML.ЗаписатьАтрибут("errors", XMLСтрока(РезультатыТестирования.КоличествоОшибочныхТестов)); + ЗаписьXML.ЗаписатьАтрибут("skipped", XMLСтрока(РезультатыТестирования.КоличествоНеРеализованныхТестов)); + + ВывестиДанныеОтчетаТестированияРекурсивно(ЗаписьXML, РезультатыТестирования); + + ЗаписьXML.ЗаписатьКонецЭлемента(); + + СтрокаXML = ЗаписьXML.Закрыть(); + Отчет = Новый ТекстовыйДокумент; + Отчет.ДобавитьСтроку(СтрокаXML); + + Возврат Отчет; +КонецФункции + +Процедура ВывестиДанныеОтчетаТестированияРекурсивно(ЗаписьXML, РезультатыТестирования, ИмяРодителя = "") + Если РезультатыТестирования.Тип = ТипыУзловДереваТестов.Контейнер Тогда + ЗаписьXML.ЗаписатьНачалоЭлемента("testsuite"); + ЗаписьXML.ЗаписатьАтрибут("name", РезультатыТестирования.Имя); + Для Каждого ЭлементКоллекции Из РезультатыТестирования.Строки Цикл + ВывестиДанныеОтчетаТестированияРекурсивно(ЗаписьXML, ЭлементКоллекции, РезультатыТестирования.Имя); + КонецЦикла; + ЗаписьXML.ЗаписатьКонецЭлемента(); + Иначе + ВывестиРезультатЭлемента(ЗаписьXML, РезультатыТестирования, ИмяРодителя); + КонецЕсли; +КонецПроцедуры + +Процедура ВывестиРезультатЭлемента(ЗаписьXML, РезультатыТестирования, ИмяРодителя) + ЗаписьXML.ЗаписатьНачалоЭлемента("testcase"); + ЗаписьXML.ЗаписатьАтрибут("classname", XMLСтрока(ИмяРодителя)); + ЗаписьXML.ЗаписатьАтрибут("name", XMLСтрока(РезультатыТестирования.Представление)); + ЗаписьXML.ЗаписатьАтрибут("time", XMLСтрока(РезультатыТестирования.ВремяВыполнения)); + + Если РезультатыТестирования.Состояние = СостоянияТестов.Пройден Тогда + ЗаписьXML.ЗаписатьАтрибут("status", "passed"); + ИначеЕсли РезультатыТестирования.Состояние = СостоянияТестов.НеРеализован Тогда + СтатусJUnit = "skipped"; + ЗаписьXML.ЗаписатьАтрибут("status", СтатусJUnit); + ЗаписьXML.ЗаписатьНачалоЭлемента(СтатусJUnit); + ЗаписьXML.ЗаписатьКонецЭлемента(); + ИначеЕсли РезультатыТестирования.Состояние = СостоянияТестов.Сломан Тогда + СтатусJUnit = "failure"; + ЗаписьXML.ЗаписатьАтрибут("status", СтатусJUnit); + ЗаписьXML.ЗаписатьНачалоЭлемента(СтатусJUnit); + Сообщение = УдалитьНедопустимыеСимволыXML(РезультатыТестирования.Сообщение); + ЗаписьXML.ЗаписатьАтрибут("message", XMLСтрока(Сообщение)); + ЗаписьXML.ЗаписатьКонецЭлемента(); + ИначеЕсли РезультатыТестирования.Состояние = СостоянияТестов.НеизвестнаяОшибка Тогда + СтатусJUnit = "error"; + ЗаписьXML.ЗаписатьАтрибут("status", СтатусJUnit); + ЗаписьXML.ЗаписатьНачалоЭлемента(СтатусJUnit); + Сообщение = УдалитьНедопустимыеСимволыXML(РезультатыТестирования.Сообщение); + ЗаписьXML.ЗаписатьАтрибут("message", XMLСтрока(Сообщение)); + ЗаписьXML.ЗаписатьКонецЭлемента(); + КонецЕсли; + ЗаписьXML.ЗаписатьКонецЭлемента(); +КонецПроцедуры + +#Если ТолстыйКлиентОбычноеПриложение Тогда +Процедура Показать(Отчет) Экспорт + Отчет.Показать(); +КонецПроцедуры +#КонецЕсли + +Процедура Экспортировать(Отчет, ПолныйПутьФайла) Экспорт + Отчет.Записать(ПолныйПутьФайла); +КонецПроцедуры +// } Report generator interface + +// { Helpers +Функция УдалитьНедопустимыеСимволыXML(Знач Результат) + Позиция = НайтиНедопустимыеСимволыXML(Результат); + Пока Позиция > 0 Цикл + Результат = Лев(Результат, Позиция - 1) + Сред(Результат, Позиция + 1); + Позиция = НайтиНедопустимыеСимволыXML(Результат, Позиция); + КонецЦикла; + + Возврат Результат; +КонецФункции +// } 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\260JUnitXML/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\260JUnitXML/maps.txt" new file mode 100644 index 00000000..d21556a1 --- /dev/null +++ "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\260JUnitXML/maps.txt" @@ -0,0 +1,2 @@ +Form\Форма\Форма.txt-->4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 (29, 73) +Макеты\СхемаJUnit4.txt-->00f1e100-3117-4bea-8be0-1a49b1eccdd9.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\260JUnitXML/renames.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\260JUnitXML/renames.txt" new file mode 100644 index 00000000..0449022b --- /dev/null +++ "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\260JUnitXML/renames.txt" @@ -0,0 +1,11 @@ +00f1e100-3117-4bea-8be0-1a49b1eccdd9-->und\00f1e100-3117-4bea-8be0-1a49b1eccdd9 +00f1e100-3117-4bea-8be0-1a49b1eccdd9.0-->und\00f1e100-3117-4bea-8be0-1a49b1eccdd9.0 +11c5f751-bfaf-480a-92fe-7f30023f2e9a-->und\11c5f751-bfaf-480a-92fe-7f30023f2e9a +4e8e1a4a-a947-419b-95c8-58a411e3ffa4-->und\4e8e1a4a-a947-419b-95c8-58a411e3ffa4 +4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0-->und\4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 +908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\info-->und\908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\info +908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\text-->ObjectModule.txt +copyinfo-->und\copyinfo +root-->und\root +version-->und\version +versions-->und\versions 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\260JUnitXML/und/00f1e100-3117-4bea-8be0-1a49b1eccdd9" "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\260JUnitXML/und/00f1e100-3117-4bea-8be0-1a49b1eccdd9" new file mode 100644 index 00000000..6e7c5a22 --- /dev/null +++ "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\260JUnitXML/und/00f1e100-3117-4bea-8be0-1a49b1eccdd9" @@ -0,0 +1,6 @@ +{1, +{2,4, +{0, +{0,0,00f1e100-3117-4bea-8be0-1a49b1eccdd9},"СхемаJUnit4", +{1,"ru","Схема j unit4"},""} +},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\260JUnitXML/und/00f1e100-3117-4bea-8be0-1a49b1eccdd9.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\260JUnitXML/und/00f1e100-3117-4bea-8be0-1a49b1eccdd9.0" new file mode 100644 index 00000000..77cab717 --- /dev/null +++ "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\260JUnitXML/und/00f1e100-3117-4bea-8be0-1a49b1eccdd9.0" @@ -0,0 +1,206 @@ + + + + + JUnit test result schema for the Apache Ant JUnit and JUnitReport tasks +Copyright © 2011, Windy Road Technology Pty. Limited +The Apache Ant JUnit XML Schema is distributed under the terms of the GNU Lesser General Public License (LGPL) http://www.gnu.org/licenses/lgpl.html +Permission to waive conditions of this license may be requested from Windy Road Support (http://windyroad.org/support). + + + + + + + + + + Contains an aggregation of testsuite results + + + + + + + + + + Derived from testsuite/@name in the non-aggregated documents + + + + + Starts at '0' for the first testsuite and is incremented by 1 for each following testsuite + + + + + + + + + + + + Contains the results of exexuting a testsuite + + + + + Properties (e.g., environment settings) set during test execution + + + + + + + + + + + + + + + + + + + + + + + + Indicates that the test errored. An errored test is one that had an unanticipated problem. e.g., an unchecked throwable; or a problem with the implementation of the test. Contains as a text node relevant data for the error, e.g., a stack trace + + + + + + + The error message. e.g., if a java exception is thrown, the return value of getMessage() + + + + + The type of error that occured. e.g., if a java execption is thrown the full class name of the exception. + + + + + + + + + Indicates that the test failed. A failure is a test which the code has explicitly failed by using the mechanisms for that purpose. e.g., via an assertEquals. Contains as a text node relevant data for the failure, e.g., a stack trace + + + + + + + The message specified in the assert + + + + + The type of the assert. + + + + + + + + + + Name of the test method + + + + + Full class name for the class the test method is in. + + + + + Time taken (in seconds) to execute the test + + + + + + + Data that was written to standard out while the test was executed + + + + + + + + + + Data that was written to standard error while the test was executed + + + + + + + + + + + Full class name of the test for non-aggregated testsuite documents. Class name without the package for aggregated testsuites documents + + + + + + + + + + when the test was executed. Timezone may not be specified. + + + + + Host on which the tests were executed. 'localhost' should be used if the hostname cannot be determined. + + + + + + + + + + The total number of tests in the suite + + + + + The total number of tests in the suite that failed. A failure is a test which the code has explicitly failed by using the mechanisms for that purpose. e.g., via an assertEquals + + + + + The total number of tests in the suite that errorrd. An errored test is one that had an unanticipated problem. e.g., an unchecked throwable; or a problem with the implementation of the test. + + + + + Time taken (in seconds) to execute the tests in the suite + + + + + + + + + \ 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\260JUnitXML/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\260JUnitXML/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" new file mode 100644 index 00000000..ee558675 --- /dev/null +++ "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\260JUnitXML/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" @@ -0,0 +1,94 @@ +{1, +{11c5f751-bfaf-480a-92fe-7f30023f2e9a},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,85629dd2-6be4-49c6-9a69-13411102aa57,3fdd55c8-e92e-4f99-8b28-3ba8957b50ab, +{0, +{0, +{0,0,908d0aaf-e4ec-4668-8d14-3e8075d222fd},"ГенераторОтчетаJUnitXML", +{1,"ru","Генератор отчета JUnit XML"},""} +},4e8e1a4a-a947-419b-95c8-58a411e3ffa4,"",00000000-0000-0000-0000-000000000000},4, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, +{3daea016-69b7-4ed4-9453-127911372fe6,1,00f1e100-3117-4bea-8be0-1a49b1eccdd9}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,4e8e1a4a-a947-419b-95c8-58a411e3ffa4}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,4, +{ +{0, +{25, +{2, +{0, +{0,0,72263b85-e321-40b2-b5dc-368b036f7aaa},"ТипыУзловДереваТестов", +{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,23dd7cb5-a648-4588-817a-d77a4106998e},"ИконкиУзловДереваТестов", +{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,edb4e982-95f6-4760-818c-4bcd498a85aa},"СостоянияТестов", +{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,7186aaf8-38ee-48a8-99e9-225b1d1f5721},"СтатусыJUnit", +{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} +} +} +} +} \ 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\260JUnitXML/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\260JUnitXML/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" new file mode 100644 index 00000000..e9f6cd91 --- /dev/null +++ "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\260JUnitXML/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" @@ -0,0 +1,10 @@ +{1, +{1, +{0, +{9, +{0, +{0,0,4e8e1a4a-a947-419b-95c8-58a411e3ffa4},"Форма", +{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\260JUnitXML/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\260JUnitXML/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" new file mode 100644 index 00000000..34a85820 --- /dev/null +++ "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\260JUnitXML/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" @@ -0,0 +1,111 @@ +{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}, +{0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},0,0,1} +}," +// { Plugin interface +&НаКлиенте +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); +КонецФункции + +&НаСервере +Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); +КонецФункции +// } Plugin interface + +// { Report generator interface +&НаКлиенте +Функция СоздатьОтчет(КонтекстЯдра, РезультатыТестирования) Экспорт + Объект.ТипыУзловДереваТестов = КонтекстЯдра.Плагин(""ПостроительДереваТестов"").Объект.ТипыУзловДереваТестов; + Объект.СостоянияТестов = КонтекстЯдра.Объект.СостоянияТестов; + Возврат СоздатьОтчетНаСервере(РезультатыТестирования); +КонецФункции + +&НаСервере +Функция СоздатьОтчетНаСервере(РезультатыТестирования) + Возврат ЭтотОбъектНаСервере().СоздатьОтчетНаСервере(РезультатыТестирования); +КонецФункции + +&НаКлиенте +Процедура Показать(Отчет) Экспорт + Отчет.Показать(); +КонецПроцедуры + +&НаКлиенте +Процедура Экспортировать(Отчет, ПолныйПутьФайла) Экспорт + Отчет.Записать(ПолныйПутьФайла); +КонецПроцедуры +// } Report generator interface + +// { Helpers +&НаСервере +Функция ЭтотОбъектНаСервере() + Возврат РеквизитФормыВЗначение(""Объект""); +КонецФункции +// } Helpers + +", +{4,1, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",85629dd2-6be4-49c6-9a69-13411102aa57} +}, +{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 +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,0}, +{0,0}, +{0,0}, +{0,0} +} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0/info" "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\260JUnitXML/und/908d0aaf-e4ec-4668-8d14-3e8075d222fd.0/info" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0/info" rename to "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\260JUnitXML/und/908d0aaf-e4ec-4668-8d14-3e8075d222fd.0/info" 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\260JUnitXML/und/copyinfo" "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\260JUnitXML/und/copyinfo" new file mode 100644 index 00000000..27b4e62f --- /dev/null +++ "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\260JUnitXML/und/copyinfo" @@ -0,0 +1,16 @@ +{4, +{2, +{4e8e1a4a-a947-419b-95c8-58a411e3ffa4,4e8e1a4a-a947-419b-95c8-58a411e3ffa4,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} +}, +{908d0aaf-e4ec-4668-8d14-3e8075d222fd,908d0aaf-e4ec-4668-8d14-3e8075d222fd,1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ГенераторОтчетаJUnitXML"} +} +}, +{1, +{85629dd2-6be4-49c6-9a69-13411102aa57,908d0aaf-e4ec-4668-8d14-3e8075d222fd,0} +}, +{0}, +{0,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\260JUnitXML/und/root" "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\260JUnitXML/und/root" new file mode 100644 index 00000000..fe2f30c4 --- /dev/null +++ "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\260JUnitXML/und/root" @@ -0,0 +1 @@ +{2,11c5f751-bfaf-480a-92fe-7f30023f2e9a,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/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\260JUnitXML/und/version" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/version" rename to "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\260JUnitXML/und/version" 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\260JUnitXML/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\260JUnitXML/und/versions" new file mode 100644 index 00000000..93114e2e --- /dev/null +++ "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\260JUnitXML/und/versions" @@ -0,0 +1 @@ +{1,11,"",b2d4de09-fe9e-41a5-bb49-63841bf9d6c5,"versions",1c8b38a3-f126-4204-a21a-3153eb9dc4ba,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4",41944c0d-28ec-4295-ab9d-1ad9b0481eb0,"00f1e100-3117-4bea-8be0-1a49b1eccdd9",48aa047c-ca85-44d8-8e5d-889d55fff3c9,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0",038e0310-10fb-4516-bbb8-e3d4122b6a84,"00f1e100-3117-4bea-8be0-1a49b1eccdd9.0",f2a83816-e7ce-489f-a797-3c122f23f602,"root",af2148fd-6cf1-429e-8b4a-199312a3dcf8,"908d0aaf-e4ec-4668-8d14-3e8075d222fd.0",bf19ed16-ceff-485f-82c6-fad714d0af20,"11c5f751-bfaf-480a-92fe-7f30023f2e9a",f3e124ca-b780-4ac8-9e6d-b396b31ffe0c,"version",975dc0ce-c6c8-41dc-9886-b4831ea2bf3f,"copyinfo",3d2d70c5-1375-4ac8-98bd-97691999b995} \ 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\260JUnitXML/\320\234\320\260\320\272\320\265\321\202\321\213/\320\241\321\205\320\265\320\274\320\260JUnit4.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\260JUnitXML/\320\234\320\260\320\272\320\265\321\202\321\213/\320\241\321\205\320\265\320\274\320\260JUnit4.txt" new file mode 100644 index 00000000..77cab717 --- /dev/null +++ "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\260JUnitXML/\320\234\320\260\320\272\320\265\321\202\321\213/\320\241\321\205\320\265\320\274\320\260JUnit4.txt" @@ -0,0 +1,206 @@ + + + + + JUnit test result schema for the Apache Ant JUnit and JUnitReport tasks +Copyright © 2011, Windy Road Technology Pty. Limited +The Apache Ant JUnit XML Schema is distributed under the terms of the GNU Lesser General Public License (LGPL) http://www.gnu.org/licenses/lgpl.html +Permission to waive conditions of this license may be requested from Windy Road Support (http://windyroad.org/support). + + + + + + + + + + Contains an aggregation of testsuite results + + + + + + + + + + Derived from testsuite/@name in the non-aggregated documents + + + + + Starts at '0' for the first testsuite and is incremented by 1 for each following testsuite + + + + + + + + + + + + Contains the results of exexuting a testsuite + + + + + Properties (e.g., environment settings) set during test execution + + + + + + + + + + + + + + + + + + + + + + + + Indicates that the test errored. An errored test is one that had an unanticipated problem. e.g., an unchecked throwable; or a problem with the implementation of the test. Contains as a text node relevant data for the error, e.g., a stack trace + + + + + + + The error message. e.g., if a java exception is thrown, the return value of getMessage() + + + + + The type of error that occured. e.g., if a java execption is thrown the full class name of the exception. + + + + + + + + + Indicates that the test failed. A failure is a test which the code has explicitly failed by using the mechanisms for that purpose. e.g., via an assertEquals. Contains as a text node relevant data for the failure, e.g., a stack trace + + + + + + + The message specified in the assert + + + + + The type of the assert. + + + + + + + + + + Name of the test method + + + + + Full class name for the class the test method is in. + + + + + Time taken (in seconds) to execute the test + + + + + + + Data that was written to standard out while the test was executed + + + + + + + + + + Data that was written to standard error while the test was executed + + + + + + + + + + + Full class name of the test for non-aggregated testsuite documents. Class name without the package for aggregated testsuites documents + + + + + + + + + + when the test was executed. Timezone may not be specified. + + + + + Host on which the tests were executed. 'localhost' should be used if the hostname cannot be determined. + + + + + + + + + + The total number of tests in the suite + + + + + The total number of tests in the suite that failed. A failure is a test which the code has explicitly failed by using the mechanisms for that purpose. e.g., via an assertEquals + + + + + The total number of tests in the suite that errorrd. An errored test is one that had an unanticipated problem. e.g., an unchecked throwable; or a problem with the implementation of the test. + + + + + Time taken (in seconds) to execute the tests in the suite + + + + + + + + + \ 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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.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\260MXL/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" new file mode 100644 index 00000000..80fc6595 --- /dev/null +++ "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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" @@ -0,0 +1 @@ + // { Plugin interface &НаКлиенте Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); КонецФункции // } Plugin interface // { Report generator interface &НаКлиенте Функция СоздатьОтчет(КонтекстЯдра, РезультатыТестирования) Экспорт Объект.ТипыУзловДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов").Объект.ТипыУзловДереваТестов; Объект.СостоянияТестов = КонтекстЯдра.Объект.СостоянияТестов; Возврат СоздатьОтчетНаСервере(РезультатыТестирования); КонецФункции &НаСервере Функция СоздатьОтчетНаСервере(РезультатыТестирования) Возврат ЭтотОбъектНаСервере().СоздатьОтчетНаСервере(РезультатыТестирования); КонецФункции &НаКлиенте Процедура Показать(Отчет) Экспорт Если Отчет <> Неопределено Тогда ЗаголовокОкнаОтчета = НСтр("ru = 'Отчет об автоматическом тестировании'"); Отчет.Показать(ЗаголовокОкнаОтчета); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура Экспортировать(Отчет, ПолныйПутьФайла) Экспорт ВызватьИсключение "Метод не реализован"; КонецПроцедуры // } Report generator interface // { Helpers &НаСервере Функция ЭтотОбъектНаСервере() Возврат РеквизитФормыВЗначение("Объект"); КонецФункции // } Helpers \ 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.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\260MXL/ObjectModule.txt" new file mode 100644 index 00000000..6f66ad23 --- /dev/null +++ "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.txt" @@ -0,0 +1,81 @@ + +// { Plugin interface +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Результат = Новый Структура; + Результат.Вставить("Тип", ВозможныеТипыПлагинов.ГенераторОтчета); + Результат.Вставить("Идентификатор", Метаданные().Имя); + Результат.Вставить("Представление", "Отчет о тестировании в формате MXL"); + + Возврат Новый ФиксированнаяСтруктура(Результат); +КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт +КонецПроцедуры +// } Plugin interface + +// { Report generator interface +Функция СоздатьОтчет(КонтекстЯдра, РезультатыТестирования) Экспорт + ЭтотОбъект.ТипыУзловДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов").ТипыУзловДереваТестов; + ЭтотОбъект.СостоянияТестов = КонтекстЯдра.СостоянияТестов; + Отчет = СоздатьОтчетНаСервере(РезультатыТестирования); + + Возврат Отчет; +КонецФункции + +Функция СоздатьОтчетНаСервере(РезультатыТестирования) Экспорт + Если (РезультатыТестирования.КоличествоСломанныхТестов = 0) И (РезультатыТестирования.КоличествоОшибочныхТестов = 0) И (РезультатыТестирования.КоличествоНеРеализованныхТестов = 0) Тогда + Возврат Неопределено; + КонецЕсли; + + МакетОтчетТестирования = ПолучитьМакет("ОтчетТестирования"); + Отчет = Новый ТабличныйДокумент; + ОбластьЗаголовок = МакетОтчетТестирования.ПолучитьОбласть("Заголовок"); + ЗаполнитьЗначенияСвойств(ОбластьЗаголовок.Параметры, РезультатыТестирования); + ОбластьЗаголовок.Параметры.ВремяВыполненияСтрока = Формат(Дата(1, 1, 1) + РезультатыТестирования.ВремяВыполнения, "ДЛФ=T"); + Отчет.Вывести(ОбластьЗаголовок); + + Отчет.НачатьАвтогруппировкуСтрок(); + ВывестиДанныеОтчетаТестированияРекурсивно(ТипыУзловДереваТестов, СостоянияТестов, РезультатыТестирования, МакетОтчетТестирования, Отчет); + Отчет.ЗакончитьАвтогруппировкуСтрок(); + + Отчет.ОтображатьСетку = Ложь; + Отчет.Защита = Ложь; + Отчет.ТолькоПросмотр = Ложь; + Отчет.ОтображатьЗаголовки = Ложь; + + Возврат Отчет; +КонецФункции + +Процедура ВывестиДанныеОтчетаТестированияРекурсивно(ТипыУзловДереваТестов, СостоянияТестов, РезультатыТестирования, МакетОтчетТестирования, Отчет, Уровень = 0) + Если РезультатыТестирования.Состояние <> СостоянияТестов.Пройден Тогда + Если РезультатыТестирования.Тип = ТипыУзловДереваТестов.Контейнер Тогда + ОбластьКонтейнер = МакетОтчетТестирования.ПолучитьОбласть("Контейнер"); + ОбластьКонтейнер.Параметры.ИмяКонтейнера = РезультатыТестирования.Имя; + Отчет.Вывести(ОбластьКонтейнер, Уровень); + Для каждого ЭлементКоллекции Из РезультатыТестирования.Строки Цикл + ВывестиДанныеОтчетаТестированияРекурсивно(ТипыУзловДереваТестов, СостоянияТестов, ЭлементКоллекции, МакетОтчетТестирования, Отчет, Уровень + 1); + КонецЦикла; + Иначе + ОбластьЭлемент = МакетОтчетТестирования.ПолучитьОбласть("Элемент"); + ОбластьЭлемент.Параметры.ИмяМетода = РезультатыТестирования.ИмяМетода; + ОбластьЭлемент.Параметры.Путь = РезультатыТестирования.Путь; + ОбластьЭлемент.Параметры.Сообщение = РезультатыТестирования.Сообщение; + ОбластьЭлемент.Области.Элемент.Отступ = Уровень * 2; + Отчет.Вывести(ОбластьЭлемент, Уровень); + КонецЕсли; + КонецЕсли; +КонецПроцедуры + +#Если ТолстыйКлиентОбычноеПриложение Тогда +Процедура Показать(Отчет) Экспорт + Если Отчет <> Неопределено Тогда + ЗаголовокОкнаОтчета = НСтр("ru = 'Отчет об автоматическом тестировании'"); + Отчет.Показать(ЗаголовокОкнаОтчета); + КонецЕсли; +КонецПроцедуры +#КонецЕсли + +Процедура Экспортировать(Отчет, ПолныйПутьФайла) Экспорт + ВызватьИсключение "Метод не реализован"; +КонецПроцедуры +// } Report generator interface 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/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\260MXL/maps.txt" new file mode 100644 index 00000000..53c5b722 --- /dev/null +++ "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/maps.txt" @@ -0,0 +1,2 @@ +Form\Форма\Форма.txt-->4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 (29, 75) +Макеты\ОтчетТестирования.mxl-->e723b36e-7faa-4345-bf5b-763f60cd5663.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\260MXL/renames.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\260MXL/renames.txt" new file mode 100644 index 00000000..361c0735 --- /dev/null +++ "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/renames.txt" @@ -0,0 +1,11 @@ +11c5f751-bfaf-480a-92fe-7f30023f2e9a-->und\11c5f751-bfaf-480a-92fe-7f30023f2e9a +4e8e1a4a-a947-419b-95c8-58a411e3ffa4-->und\4e8e1a4a-a947-419b-95c8-58a411e3ffa4 +4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0-->und\4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 +908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\info-->und\908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\info +908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\text-->ObjectModule.txt +copyinfo-->und\copyinfo +e723b36e-7faa-4345-bf5b-763f60cd5663-->und\e723b36e-7faa-4345-bf5b-763f60cd5663 +e723b36e-7faa-4345-bf5b-763f60cd5663.0-->und\e723b36e-7faa-4345-bf5b-763f60cd5663.0 +root-->und\root +version-->und\version +versions-->und\versions 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/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\260MXL/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" new file mode 100644 index 00000000..5e95c3f6 --- /dev/null +++ "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/11c5f751-bfaf-480a-92fe-7f30023f2e9a" @@ -0,0 +1,56 @@ +{1, +{11c5f751-bfaf-480a-92fe-7f30023f2e9a},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,85629dd2-6be4-49c6-9a69-13411102aa57,3fdd55c8-e92e-4f99-8b28-3ba8957b50ab, +{0, +{0, +{0,0,908d0aaf-e4ec-4668-8d14-3e8075d222fd},"ГенераторОтчетаMXL", +{1,"ru","Генератор отчета MXL"},""} +},4e8e1a4a-a947-419b-95c8-58a411e3ffa4,"",00000000-0000-0000-0000-000000000000},4, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, +{3daea016-69b7-4ed4-9453-127911372fe6,1,e723b36e-7faa-4345-bf5b-763f60cd5663}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,4e8e1a4a-a947-419b-95c8-58a411e3ffa4}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,2, +{ +{0, +{25, +{2, +{0, +{0,0,72263b85-e321-40b2-b5dc-368b036f7aaa},"ТипыУзловДереваТестов", +{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,edb4e982-95f6-4760-818c-4bcd498a85aa},"СостоянияТестов", +{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} +} +} +} +} \ 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/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\260MXL/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" new file mode 100644 index 00000000..e9f6cd91 --- /dev/null +++ "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/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" @@ -0,0 +1,10 @@ +{1, +{1, +{0, +{9, +{0, +{0,0,4e8e1a4a-a947-419b-95c8-58a411e3ffa4},"Форма", +{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\260MXL/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\260MXL/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" new file mode 100644 index 00000000..23d2bae6 --- /dev/null +++ "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/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" @@ -0,0 +1,113 @@ +{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}, +{0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},0,0,1} +}," +// { Plugin interface +&НаКлиенте +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); +КонецФункции + +&НаСервере +Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); +КонецФункции +// } Plugin interface + +// { Report generator interface +&НаКлиенте +Функция СоздатьОтчет(КонтекстЯдра, РезультатыТестирования) Экспорт + Объект.ТипыУзловДереваТестов = КонтекстЯдра.Плагин(""ПостроительДереваТестов"").Объект.ТипыУзловДереваТестов; + Объект.СостоянияТестов = КонтекстЯдра.Объект.СостоянияТестов; + Возврат СоздатьОтчетНаСервере(РезультатыТестирования); +КонецФункции + +&НаСервере +Функция СоздатьОтчетНаСервере(РезультатыТестирования) + Возврат ЭтотОбъектНаСервере().СоздатьОтчетНаСервере(РезультатыТестирования); +КонецФункции + +&НаКлиенте +Процедура Показать(Отчет) Экспорт + Если Отчет <> Неопределено Тогда + ЗаголовокОкнаОтчета = НСтр(""ru = 'Отчет об автоматическом тестировании'""); + Отчет.Показать(ЗаголовокОкнаОтчета); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура Экспортировать(Отчет, ПолныйПутьФайла) Экспорт + ВызватьИсключение ""Метод не реализован""; +КонецПроцедуры +// } Report generator interface + +// { Helpers +&НаСервере +Функция ЭтотОбъектНаСервере() + Возврат РеквизитФормыВЗначение(""Объект""); +КонецФункции +// } Helpers +", +{4,1, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",85629dd2-6be4-49c6-9a69-13411102aa57} +}, +{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 +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,0}, +{0,0}, +{0,0}, +{0,0} +} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\321\213\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\320\276\320\263\320\276\320\237\320\276\320\236\321\202\320\261\320\276\321\200\321\203/und/25400b38-4862-4842-8893-66bfbd06f859.0/info" "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/908d0aaf-e4ec-4668-8d14-3e8075d222fd.0/info" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\321\213\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\320\276\320\263\320\276\320\237\320\276\320\236\321\202\320\261\320\276\321\200\321\203/und/25400b38-4862-4842-8893-66bfbd06f859.0/info" rename to "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/908d0aaf-e4ec-4668-8d14-3e8075d222fd.0/info" 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/copyinfo" "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/copyinfo" new file mode 100644 index 00000000..df1785e3 --- /dev/null +++ "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/copyinfo" @@ -0,0 +1,16 @@ +{4, +{2, +{4e8e1a4a-a947-419b-95c8-58a411e3ffa4,4e8e1a4a-a947-419b-95c8-58a411e3ffa4,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} +}, +{908d0aaf-e4ec-4668-8d14-3e8075d222fd,908d0aaf-e4ec-4668-8d14-3e8075d222fd,1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ГенераторОтчетаMXL"} +} +}, +{1, +{85629dd2-6be4-49c6-9a69-13411102aa57,908d0aaf-e4ec-4668-8d14-3e8075d222fd,0} +}, +{0}, +{0,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\260MXL/und/e723b36e-7faa-4345-bf5b-763f60cd5663" "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/e723b36e-7faa-4345-bf5b-763f60cd5663" new file mode 100644 index 00000000..7dae7109 --- /dev/null +++ "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/e723b36e-7faa-4345-bf5b-763f60cd5663" @@ -0,0 +1,6 @@ +{1, +{2,0, +{0, +{0,0,e723b36e-7faa-4345-bf5b-763f60cd5663},"ОтчетТестирования", +{1,"ru","Отчет тестирования"},""} +},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\260MXL/und/e723b36e-7faa-4345-bf5b-763f60cd5663.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\260MXL/und/e723b36e-7faa-4345-bf5b-763f60cd5663.0" new file mode 100644 index 00000000..88892e35 Binary files /dev/null and "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/e723b36e-7faa-4345-bf5b-763f60cd5663.0" differ 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/root" "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/root" new file mode 100644 index 00000000..fe2f30c4 --- /dev/null +++ "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/root" @@ -0,0 +1 @@ +{2,11c5f751-bfaf-480a-92fe-7f30023f2e9a,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\321\213\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\320\276\320\263\320\276\320\237\320\276\320\236\321\202\320\261\320\276\321\200\321\203/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\260MXL/und/version" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\321\213\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\320\276\320\263\320\276\320\237\320\276\320\236\321\202\320\261\320\276\321\200\321\203/und/version" rename to "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/version" 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" new file mode 100644 index 00000000..934b4bea --- /dev/null +++ "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" @@ -0,0 +1 @@ +{1,11,"",1bfb7b64-d033-4178-b6c3-4b15b36f6d12,"versions",0dc0ce19-c5f8-4ea4-b2b5-44df41a1aef5,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4",a91622c4-36f4-4c1d-82af-26e4645b71a5,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0",62ae4793-1447-48e3-ad39-0e500237a0c7,"root",c154d79e-9e76-4a02-b1b0-d31a0e2e3f00,"e723b36e-7faa-4345-bf5b-763f60cd5663",2837fca9-157f-4865-8ff5-9b8271c051ab,"908d0aaf-e4ec-4668-8d14-3e8075d222fd.0",c029b102-b5bd-446f-b6dc-414993458897,"11c5f751-bfaf-480a-92fe-7f30023f2e9a",4cc26bd4-c62a-45a3-9b4c-08c4148dc51c,"version",5164c308-29dd-42e7-b40e-3838593f7527,"e723b36e-7faa-4345-bf5b-763f60cd5663.0",43d59dd4-cff5-497d-a55b-b7a1f83bc259,"copyinfo",17b0b2e8-e40e-4036-baf3-50571f0b0164} \ 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/\320\234\320\260\320\272\320\265\321\202\321\213/\320\236\321\202\321\207\320\265\321\202\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.mxl" "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/\320\234\320\260\320\272\320\265\321\202\321\213/\320\236\321\202\321\207\320\265\321\202\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.mxl" new file mode 100644 index 00000000..88892e35 Binary files /dev/null and "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/\320\234\320\260\320\272\320\265\321\202\321\213/\320\236\321\202\321\207\320\265\321\202\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.mxl" differ 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/\320\234\320\260\320\272\320\265\321\202\321\213/\320\236\321\202\321\207\320\265\321\202\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217_mxl.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\260MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\236\321\202\321\207\320\265\321\202\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217_mxl.txt" new file mode 100644 index 00000000..0c15f8b9 --- /dev/null +++ "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/\320\234\320\260\320\272\320\265\321\202\321\213/\320\236\321\202\321\207\320\265\321\202\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217_mxl.txt" @@ -0,0 +1,11 @@ + +Запущено тестов - [КоличествоТестов], ошибочных тестов - [КоличествоОшибочныхТестов], не прошло проверку - [КоличествоСломанныхТестов], пропущено - [КоличествоНеРеализованныхТестов] +Общее время выполнения: [ВремяВыполнения] ( [ВремяВыполненияСтрока] сек. ) + + +[ИмяКонтейнера] + + +[ИмяМетода], путь [Путь] + +[Сообщение] \ 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\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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.txt" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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.txt" new file mode 100644 index 00000000..08718d92 --- /dev/null +++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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.txt" @@ -0,0 +1 @@ +&НаКлиенте Перем ПостроительДереваТестов; &НаКлиенте Перем ЗагружаемыйПуть; &НаКлиенте Перем КонтейнерТестов; &НаКлиенте Перем ТекущаяГруппа; // { Plugin interface &НаКлиенте Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); КонецФункции // } Plugin interface // { Loader interface &НаКлиенте Функция ВыбратьПутьИнтерактивно(ТекущийПуть = "") Экспорт Перем ВыбранныйПуть; ПараметрыОткрытия = Новый Структура("ОтборПоИмениТеста", ""); ИмяФормыВыбораПодсистемыУФ = СтрЗаменить(ЭтаФорма.ИмяФормы, "УправляемаяФорма", "ФормаВыбораПодсистемУФ"); ВыбранныйПуть = ОткрытьФормуМодально(ИмяФормыВыбораПодсистемыУФ, ПараметрыОткрытия, ЭтаФорма); Возврат ВыбранныйПуть; КонецФункции &НаКлиенте Функция Загрузить(КонтекстЯдра, Путь) Экспорт СтруктураМетаданных = СтруктураМетаданныхПоПереданномуПути(Путь); ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); ДеревоТестов = Неопределено; ОбработатьОбъектМетаданных(СтруктураМетаданных, ДеревоТестов); Возврат ДеревоТестов; КонецФункции &НаКлиенте Функция ПолучитьКонтекстПоПути(КонтекстЯдра, Путь) Экспорт Перем Контекст; Если ЭтоПутьККлиентскомуКонтексту(Путь) Тогда Контекст = ПолучитьКлиентскийКонтекст(КонтекстЯдра, Путь); Иначе Контекст = ПолучитьСерверныйКонтекст(КонтекстЯдра, Путь); КонецЕсли; Возврат Контекст; КонецФункции // } Loader interface &НаКлиенте Функция ПолучитьКлиентскийКонтекст(КонтекстЯдра, Путь) ИдентификаторКонтекста = ПолучитьИдентификаторКонтекстаПоПутиНаСервере(Сред(Путь, СтрДлина(ПрефиксПутейСФормами()) + 1)); ОписаниеКонтекста = ПолучитьФорму("Обработка." + ИдентификаторКонтекста + ".Форма", , ЭтаФорма, Новый УникальныйИдентификатор); КонтекстЯдра.ПолучитьОписаниеКонтекстаВыполнения(ИдентификаторКонтекста, Истина); Возврат ОписаниеКонтекста; КонецФункции &НаКлиенте Функция ПолучитьСерверныйКонтекст(КонтекстЯдра, Путь) ИдентификаторКонтекста = ПолучитьИдентификаторКонтекстаПоПутиНаСервере(Путь); ОписаниеКонтекста = КонтекстЯдра.ПолучитьОписаниеКонтекстаВыполнения(ИдентификаторКонтекста, Истина); Возврат ОписаниеКонтекста; КонецФункции &НаСервере Функция СтруктураМетаданныхПоПереданномуПути(Путь) ОбъектМетаданных = ЭтотОбъектНаСервере().ПолучитьОбъектМетаданныхПоПути(Путь); Если ЭтоПодсистема(ОбъектМетаданных.ПолноеИмя()) Тогда СтруктураМетаданных = СтруктураМетаданныхПодсистемы(ОбъектМетаданных); Иначе СтруктураМетаданных = СтрокаДереваМетаданных(ОбъектМетаданных); КонецЕсли; Возврат СтруктураМетаданных; КонецФункции &НаСервере Функция СтруктураМетаданныхПодсистемы(Подсистема) СтруктураМетаданных = СтрокаДереваМетаданных(Подсистема); Для Каждого ПодчиненнаяПодсистема Из Подсистема.Подсистемы Цикл СтруктураМетаданных.Строки.Добавить(СтруктураМетаданныхПодсистемы(ПодчиненнаяПодсистема)); КонецЦикла; Для Каждого ДочернееМетаданное Из Подсистема.Состав цикл Если Метаданные.Обработки.Найти(ДочернееМетаданное.Имя) <> Неопределено Тогда СтруктураМетаданныхОбработки = СтрокаДереваМетаданных(ДочернееМетаданное); СтруктураМетаданных.Строки.Добавить(СтруктураМетаданныхОбработки); КонецЕсли; КонецЦикла; Возврат СтруктураМетаданных; КонецФункции &НаСервере Функция СтрокаДереваМетаданных(ОбъектМетаданных) СтрокаДерева = Новый Структура(); СтрокаДерева.Вставить("Имя", ОбъектМетаданных.Имя); СтрокаДерева.Вставить("ПолноеИмя", ОбъектМетаданных.ПолноеИмя()); СтрокаДерева.Вставить("Строки", Новый Массив); Возврат СтрокаДерева; КонецФункции &НаКлиенте Функция ОбработатьОбъектМетаданных(СтруктураМетаданных, ДеревоТестов) Если ЭтоПодсистема(СтруктураМетаданных.ПолноеИмя) Тогда Контейнер = ЗагрузитьПодсистему(СтруктураМетаданных, ДеревоТестов); Иначе Контейнер = ЗагрузитьОбработку(СтруктураМетаданных, ДеревоТестов); КонецЕсли; Возврат Контейнер; КонецФункции &НаКлиентеНаСервереБезКонтекста Функция ЭтоПодсистема(ПолноеИмяОбъектаМетаданных) Возврат (Найти(НРег(ПолноеИмяОбъектаМетаданных), НРег("Подсистема")) > 0); КонецФункции &НаКлиенте Функция ЗагрузитьПодсистему(СтруктураМетаданных, ДеревоТестов) Контейнер = ПостроительДереваТестов.СоздатьКонтейнер(СтруктураМетаданных.Имя, ПостроительДереваТестов.Объект.ИконкиУзловДереваТестов.Подсистема); Для Каждого ПодчиненноеМетаданное Из СтруктураМетаданных.Строки Цикл Если ЭтоПодсистема(ПодчиненноеМетаданное.ПолноеИмя) Тогда ЗагрузитьПодсистему(ПодчиненноеМетаданное, Контейнер); Иначе ЗагрузитьОбработку(ПодчиненноеМетаданное, Контейнер); КонецЕсли; КонецЦикла; Если ДеревоТестов = Неопределено Тогда ДеревоТестов = Контейнер; ИначеЕсли Контейнер.Строки.Количество() > 0 Тогда ДеревоТестов.Строки.Добавить(Контейнер); КонецЕсли; КонецФункции &НаКлиенте Функция ЗагрузитьОбработку(СтруктураМетаданных, ДеревоТестов) ЗагружаемыйПуть = СтрЗаменить("Метаданные." + СтруктураМетаданных.ПолноеИмя, ".Обработка.", ".Обработки."); Контейнер = ЗагрузитьОбработкуНаСервере(ЗагружаемыйПуть); КонтейнерСКлиентскимиТестамиОбработки = ЗагрузитьОбработкуНаКлиенте(СтруктураМетаданных); Если КонтейнерСКлиентскимиТестамиОбработки.Строки.Количество() > 0 Тогда Контейнер.Строки.Добавить(КонтейнерСКлиентскимиТестамиОбработки); КонецЕсли; Если ДеревоТестов = Неопределено Тогда ДеревоТестов = Контейнер; ИначеЕсли Контейнер.Строки.Количество() > 0 Тогда ДеревоТестов.Строки.Добавить(Контейнер); КонецЕсли; КонецФункции &НаСервере Функция ЗагрузитьОбработкуНаСервере(Путь) ПостроительДереваТестов = ВнешниеОбработки.Создать("ПостроительДереваТестов"); ЗагрузчикФайла = ВнешниеОбработки.Создать("ЗагрузчикФайла"); ДеревоТестов = ЭтотОбъектНаСервере().ЗагрузитьПуть(Путь, ПостроительДереваТестов, ЗагрузчикФайла); Возврат ДеревоТестов; КонецФункции &НаКлиенте Функция ЗагрузитьОбработкуНаКлиенте(СтруктураМетаданных) ФормаОбработки = ПолучитьФорму(СтруктураМетаданных.ПолноеИмя + ".Форма"); Попытка Контейнер = ЗагрузитьТестыВНовомФормате_НаКлиенте(ФормаОбработки); Исключение ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); Если ЭтоНовыйФорматОбработки(ТекстОшибки) Тогда ВызватьИсключение; Иначе Контейнер = ЗагрузитьТестыВСтаромФормате_НаКлиенте(ФормаОбработки); КонецЕсли; КонецПопытки; Возврат Контейнер; КонецФункции &НаКлиенте Функция ЭтоНовыйФорматОбработки(Знач ТекстОшибки) ЭтоНовыйФорматОбработки = Не ЕстьОшибка_МетодОбъектаНеОбнаружен(ТекстОшибки, "ЗаполнитьНаборТестов"); Возврат ЭтоНовыйФорматОбработки; КонецФункции &НаКлиенте Функция ЗагрузитьТестыВНовомФормате_НаКлиенте(ФормаОбработки) КонтейнерТестов = ПостроительДереваТестов.СоздатьКонтейнер(ПрефиксПутейСФормами() + СтрЗаменить(ЗагружаемыйПуть, "Метаданные.Обработки.", ""), ПостроительДереваТестов.Объект.ИконкиУзловДереваТестов.Форма); ФормаОбработки.ЗаполнитьНаборТестов(ЭтаФорма); Результат = КонтейнерТестов; КонтейнерТестов = Неопределено; ТекущаяГруппа = Неопределено; Возврат Результат; КонецФункции &НаКлиенте Функция ЗагрузитьТестыВСтаромФормате_НаКлиенте(ФормаОбработки) Попытка СписокТестов = ФормаОбработки.ПолучитьСписокТестов(); Исключение Описание = ОписаниеОшибки(); Если Найти(Описание, "Недостаточно фактических параметров") > 0 Тогда ВызватьИсключение "Старый формат тестов в обработке тестов <"+ЗагружаемыйПуть+">."+Символы.ПС+ "Метод ПолучитьСписокТестов сейчас не принимает параметров"; КонецЕсли; Если Найти(Описание, "Метод объекта не обнаружен (ПолучитьСписокТестов)") = 0 Тогда ВызватьИсключение Описание; КонецЕсли; КонецПопытки; СлучайныйПорядокВыполнения = Истина; Попытка СлучайныйПорядокВыполнения = ФормаОбработки.РазрешенСлучайныйПорядокВыполненияТестов(); Исключение КонецПопытки; Контейнер = ПолучитьКонтейнерДереваТестовПоСпискуТестовНаСервере(СписокТестов, ПрефиксПутейСФормами() + СтрЗаменить(ЗагружаемыйПуть, "Обработка.", ""), ПрефиксПутейСФормами() + ЗагружаемыйПуть, СлучайныйПорядокВыполнения); Контейнер.ИконкаУзла = ПостроительДереваТестов.Объект.ИконкиУзловДереваТестов.Форма; Возврат Контейнер; КонецФункции &НаСервере Функция ПолучитьИдентификаторКонтекстаПоПутиНаСервере(Путь) ОбъектМетаданных = ЭтотОбъектНаСервере().ПолучитьОбъектМетаданныхПоПути(Путь); Возврат ОбъектМетаданных.Имя; КонецФункции &НаСервере Функция ПолучитьКонтейнерДереваТестовПоСпискуТестовНаСервере(СписокТестов, ИмяКонтейнера, Путь, СлучайныйПорядокВыполнения = Истина) ПостроительДереваТестов = ВнешниеОбработки.Создать("ПостроительДереваТестов", Ложь); ЗагрузчикФайла = ВнешниеОбработки.Создать("ЗагрузчикФайла", Ложь); Контейнер = ЭтотОбъектНаСервере().ПолучитьКонтейнерДереваТестовПоСпискуТестов(ПостроительДереваТестов, ЗагрузчикФайла, СписокТестов, ИмяКонтейнера, Путь, СлучайныйПорядокВыполнения); Возврат Контейнер; КонецФункции &НаКлиенте Функция ЭтоПутьККлиентскомуКонтексту(Путь) ПрефиксПутейСФормами = ПрефиксПутейСФормами(); Результат = (Найти(Путь, ПрефиксПутейСФормами) = 1); Возврат Результат; КонецФункции &НаКлиенте Функция ПрефиксПутейСФормами() Возврат "УпрФорма # "; КонецФункции // { API нового формата &НаКлиенте Процедура СлучайныйПорядокВыполнения() Экспорт Если ЗначениеЗаполнено(КонтейнерТестов) Тогда КонтейнерТестов.СлучайныйПорядокВыполнения = Истина; КонецЕсли; КонецПроцедуры &НаКлиенте Процедура СтрогийПорядокВыполнения() Экспорт Если ЗначениеЗаполнено(КонтейнерТестов) Тогда КонтейнерТестов.СлучайныйПорядокВыполнения = Ложь; КонецЕсли; КонецПроцедуры &НаКлиенте Процедура НачатьГруппу(Знач ИмяГруппы, Знач СтрогийПорядокВыполнения = Ложь) Экспорт ТекущаяГруппа = ПостроительДереваТестов.СоздатьКонтейнер(ИмяГруппы, ПостроительДереваТестов.Объект.ИконкиУзловДереваТестов.Группа); ТекущаяГруппа.СлучайныйПорядокВыполнения = Не СтрогийПорядокВыполнения; КонтейнерТестов.Строки.Добавить(ТекущаяГруппа); КонецПроцедуры &НаКлиенте Функция Добавить(Знач ИмяМетода, Знач Параметры = Неопределено, Знач Представление = "") Экспорт Элемент = ПостроительДереваТестов.СоздатьЭлемент(ПрефиксПутейСФормами() + ЗагружаемыйПуть, ИмяМетода, Представление); Если ЗначениеЗаполнено(Параметры) И ТипЗнч(Параметры) = Тип("Массив") Тогда Элемент.Параметры = Параметры; КонецЕсли; Если ЗначениеЗаполнено(ТекущаяГруппа) Тогда ТекущаяГруппа.Строки.Добавить(Элемент); Иначе КонтейнерТестов.Строки.Добавить(Элемент); КонецЕсли; Возврат Элемент; КонецФункции &НаКлиенте Функция ПараметрыТеста(Знач Парам1, Знач Парам2 = Неопределено, Знач Парам3 = Неопределено, Знач Парам4 = Неопределено, Знач Парам5 = Неопределено, Знач Парам6 = Неопределено, Знач Парам7 = Неопределено, Знач Парам8 = Неопределено, Знач Парам9 = Неопределено) Экспорт ВсеПараметры = Новый Массив; ВсеПараметры.Добавить(Парам1); ВсеПараметры.Добавить(Парам2); ВсеПараметры.Добавить(Парам3); ВсеПараметры.Добавить(Парам4); ВсеПараметры.Добавить(Парам5); ВсеПараметры.Добавить(Парам6); ВсеПараметры.Добавить(Парам7); ВсеПараметры.Добавить(Парам8); ВсеПараметры.Добавить(Парам9); ИндексСПоследнимПараметром = 0; Для Сч = 0 По ВсеПараметры.ВГраница() Цикл Индекс = ВсеПараметры.ВГраница() - Сч; Если ВсеПараметры[Индекс] <> Неопределено Тогда ИндексСПоследнимПараметром = Индекс; Прервать; КонецЕсли; КонецЦикла; ПараметрыТеста = Новый Массив; Для Сч = 0 По ИндексСПоследнимПараметром Цикл ПараметрыТеста.Добавить(ВсеПараметры[Сч]); КонецЦикла; Возврат ПараметрыТеста; КонецФункции // } API нового формата // { Helpers &НаСервере Функция ЭтотОбъектНаСервере() Возврат РеквизитФормыВЗначение("Объект"); КонецФункции &НаКлиенте Функция ЕстьОшибка_МетодОбъектаНеОбнаружен(Знач ТекстОшибки, Знач ИмяМетода) Результат = Ложь; Если Найти(текстОшибки, "Метод объекта не обнаружен (" + ИмяМетода + ")") > 0 Или Найти(текстОшибки, "Object method not found (" + ИмяМетода + ")") > 0 Тогда Результат = Истина; КонецЕсли; Возврат Результат; КонецФункции // } Helpers \ 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\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\243\320\244/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\243\320\244/\320\244\320\276\321\200\320\274\320\260.txt" new file mode 100644 index 00000000..cf2ec6ac --- /dev/null +++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\243\320\244/\320\244\320\276\321\200\320\274\320\260.txt" @@ -0,0 +1 @@ + &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) РеквизитФормыВЗначение("Объект").ЗаполнитьДеревоПодсистем(ДеревоПодсистем, Параметры.ОтборПоИмениТеста); КонецПроцедуры &НаКлиенте Процедура ПриОткрытии(Отказ) РазвернутьСтрокиДерева(Истина); КонецПроцедуры &НаКлиенте Процедура ДеревоПодсистемВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; Закрыть(ДеревоПодсистем.НайтиПоИдентификатору(ВыбраннаяСтрока).Путь); КонецПроцедуры &НаКлиенте Процедура РазвернутьСтрокиДерева(ВключаяПодчиненные = Ложь) Для каждого СтрокаДерева из ДеревоПодсистем.ПолучитьЭлементы() Цикл Идентификатор = СтрокаДерева.ПолучитьИдентификатор(); Элементы.ДеревоПодсистем.Развернуть(Идентификатор, ВключаяПодчиненные); КонецЦикла; КонецПроцедуры \ 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\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\213/form" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\213/form" new file mode 100644 index 00000000..4567f6f9 --- /dev/null +++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\213/form" @@ -0,0 +1,570 @@ +{27, +{16, +{ +{1,1, +{"ru","Выберите тестовый случай или всю подсистему"} +},8,4294967295}, +{09ccdc77-ea1a-4a6d-ab1c-3435eada2433, +{1, +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,0, +{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, +{1,0} +},21,0,1, +{0,4,1},0,1, +{0,4,3},0,0, +{3,1, +{3,0, +{0},"",-1,-1,1,0} +},0,1, +{1,1, +{3, +{1,1, +{"ru","Страница1"} +}, +{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,6,0,1,2,0,0,0,0}, +{2,392,1,1,3,0,0,8,0}, +{2,286,0,1,4,0,0,6,0},0,4294967295,5,64,0}, +{0} +}, +{3, +{ea83fe3a-ac3c-4cce-8045-3dddf35b28b1,4, +{5, +{"Pattern", +{"#",e603c0f2-92fb-4d47-8f38-a44a381cf235} +}, +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,1, +{-18},0,0,0}, +{1,0} +}, +{15,117644833, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-14} +}, +{3,3, +{-15} +}, +{3,3, +{-13} +},2,2,0,0,0,0,0,1,1, +{6,2,0, +{-20},1}, +{6,2,0, +{-20},1},0,2,1, +{3, +{737535a4-21e6-4971-8513-3e3173a9fedd, +{8, +{8, +{16, +{1,1, +{"ru","Имя"} +}, +{1,0}, +{1,0},194.9999999999999,0,-1,-1,-1,12590595, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,0,0,4,0,"Имя", +{},28,0, +{1,0}, +{"Pattern", +{"S"} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ +OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U +bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm +rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ +XFhJtSKWz30vMgcItzCmDw==},0} +}, +{-1}, +{-1}, +{-1} +},"Имя","","",0} +}, +{737535a4-21e6-4971-8513-3e3173a9fedd, +{8, +{8, +{16, +{1,1, +{"ru","Путь"} +}, +{1,0}, +{1,0},1e2,1,-1,-1,-1,12589568, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,0,0,4,0,"Путь", +{},15,0, +{1,0}, +{"Pattern", +{"S"} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ +OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U +bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm +rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ +XFhJtSKWz30vMgcItzCmDw==},0} +}, +{-1}, +{-1}, +{-1} +},"Путь","","",0} +}, +{737535a4-21e6-4971-8513-3e3173a9fedd, +{8, +{8, +{16, +{1,1, +{"ru","Это подсистема"} +}, +{1,0}, +{1,0},1e2,2,-1,-1,-1,12589568, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,0,0,4,0,"ТипСтроки", +{},15,0, +{1,0}, +{"Pattern", +{"N",10,0,1} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdY87DsIwDIZhrdRLZE6kOEkfvgRi4QAFujKgblVO +xsBNuAJXILaborZqE8Xy78f/9XM88Pd9vUfUZTGqczcM/fOhODkpDVZbDbEsIily +kwaUeR0o2Fxd57X2PJwernoKxrm9/m0uE81acPBXmMRASy7psApadjgQcXFEk/9K +hsymLirOUam5y2Z0K2BUM0AXJqu90jy7pMpbMz/TY9fUwd+dAezRhKp3pm3RG9fa +6w0Bqw4b6gsbVCuwvG7ayB4g3uIYfw==},0} +}, +{-1}, +{-1}, +{-1} +},"ТипСтроки","","",0} +} +},0,0,0,0} +}, +{9ab3fa70-d2e0-4e44-baac-730682272ed2, +{4,1,1, +{0} +} +}, +{2, +{34,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} +} +} +}, +{47,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} +} +} +} +} +}, +{8,8,6,392,286,1, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,0,1,-6}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,0,3,-8}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},0,0,0,0,0,0,0,0,1,0,0}, +{14,"ДеревоПодсистем",4294967295,0,0,0}, +{0} +}, +{151ef23e-6bb2-4681-83d0-35bc2217230c,6, +{1, +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,0, +{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, +{1,0} +},15,0,0, +{3,3, +{0},"",-1,-1,0, +{ +{#base64:iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB6klEQVQ4jZ2SzWsT +URTFz0sT3Chi4j/gwihTdSN1I21srRgkA+4iGIvxA7Sgi6ymaUSkiKU1UHRh6EqI +wXU7IoytU6lVcFMEiTQVoUpsVEqThYYx6Zvjok00TdKIFy7v43J+XM69IIlWqQUU +78zjEVMLKN7NtX8Sm6lhk8U5Tty7VAdpKZ5+dMtk8YmU+STlt2E5k7xaA3GgSQyo +7d7eYDDRc7rDJ38uCLswZUtaosvv9p0805kYUNu9AOoBQggKIWKvV7Zlpt+ml4du +DjpYfEdZ/iwc5QVC2I6j/h3dPer+dUidKUCs0r7xIGjy6wVaH45Ja/GwvfZJkaXs +XupjXaYWUI439AAA//bAGDticqmDpY8H7FLWy4nRfVVxM0Bss5HP7h80uaxQv1sr +Jgln9+UbQcq1s67tbhXAOQBDJ66PLgFIln+s6q4951MwHl5xuETi1Yu223f09PMa +03xhbXLcmGcmT2byJIBY5T5uzLP32sjkRifuRqOGL6xxNkeGonECqGYoGudsjvSF +NTYS1uyBJYG+/ghC0TgAIBSNo68/Aks225I/4QSAlV/rj1MXI9Wz8tcS4PHs1tNv +Xqo7d3kAAIc6/cguvgcAfM99AQB9S8BqoZCam3oKAGqDui7anKmtAGJj9v8dvwET +hrJA6lgD5gAAAABJRU5ErkJggg==} +},0}, +{0,0,0},1,1,0,0, +{1,0} +}, +{0} +}, +{8,63,178,98,208,0, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,6,0,30}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,6,2,35}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},1, +{0,6,1},0,1, +{0,6,3},0,0,0,0,1,3,0,0}, +{14,"ПолеКартинкиТест",4294967295,0,0,0}, +{0} +}, +{151ef23e-6bb2-4681-83d0-35bc2217230c,7, +{1, +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,0, +{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, +{1,0} +},15,0,0, +{3,3, +{0},"",-1,-1,0, +{ +{#base64:iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAl0lEQVR42mNgQAI3 +D234v6Mn8//i8uD/07Jd/3dEW/zft3zafwZiwdaOlP8/7h77//L0xv+3ds37f3Rh +8/+6IH3iDbiwec7/Ta2J//uTHf+3RZoBNRv83710MvEGHD1/7X9qI0QDiAbxydIM +A0Qbgk0z0YbgC3miYgVfyBMVK/hCfqTFCqEQJxgjhEKcYIwQCnGKYwQXAACvVTho +3ItgPQAAAABJRU5ErkJggg==} +},0}, +{0,0,0},1,1,0,0, +{1,0} +}, +{0} +}, +{8,20,178,55,208,0, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,7,0,30}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,7,2,35}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},1, +{0,7,1},0,1, +{0,7,3},0,0,0,0,2,2,0,0}, +{14,"ПолеКартинкиПодсистема",4294967295,0,0,0}, +{0} +} +} +},400,292,1,0,1,4,4,352}, +{ +{5},8, +{3, +{ +{3},1,0,1,"ДеревоПодсистем", +{"Pattern", +{"#",e603c0f2-92fb-4d47-8f38-a44a381cf235} +} +}, +{ +{5},0,0,1,"ОбработкаОбъект", +{"Pattern", +{"#",5cce5f28-d8c9-48d6-9f87-928be46d5662} +} +}, +{ +{6},0,0,1,"ОтборПоИмениТеста", +{"Pattern", +{"S",10,1} +} +} +}, +{1, +{4, +{1, +{3} +} +} +} +}, +{59d6c227-97d3-46f6-84a0-584c5a2807e1,1, +{2,0, +{0,0}, +{0},1} +}, +{1, +{70001,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} +} +} +} +},1,4,1,0,0,0, +{1,4,4294967295,357c6a54-357d-425d-a2bd-22f4f6e86c87,2147483647,0}, +{0}, +{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\320\222\321\213\320\261\320\276\321\200\320\260\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\213/module" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\213/module" similarity index 100% rename from "src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\213/module" rename to "src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\213/module" diff --git "a/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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.txt" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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.txt" new file mode 100644 index 00000000..109945b1 --- /dev/null +++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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.txt" @@ -0,0 +1,313 @@ +Перем мЗначенияТиповСтроки Экспорт; + +Перем КэшПостроительДереваТестов; +Перем ЗагружаемыйПуть; + +Перем КонтейнерТестов; +Перем ТекущаяГруппа; + +// { Plugin interface +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Результат = Новый Структура; + Результат.Вставить("Тип", ВозможныеТипыПлагинов.Загрузчик); + Результат.Вставить("Идентификатор", Метаданные().Имя); + Результат.Вставить("Представление", "Загрузить тесты из конфигурации"); + + Возврат Новый ФиксированнаяСтруктура(Результат); +КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт +КонецПроцедуры +// } Plugin interface + +// { Loader interface +#Если ТолстыйКлиентОбычноеПриложение Тогда +Функция ВыбратьПутьИнтерактивно(ТекущийПуть = "") Экспорт + ФормаВыбораПодсистем = ЭтотОбъект.ПолучитьФорму("ФормаВыбораПодсистемы"); + ФормаВыбораПодсистем.РежимВыбора = Истина; + ФормаВыбораПодсистем.ОтборПоИмениТеста = ""; + ВыбранныйПуть = ФормаВыбораПодсистем.ОткрытьМодально(); + + Возврат ВыбранныйПуть; +КонецФункции +#КонецЕсли + +Функция Загрузить(КонтекстЯдра, Путь) Экспорт + Перем ДеревоТестов; + + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + ЗагрузчикФайла = КонтекстЯдра.Плагин("ЗагрузчикФайла"); + + ДеревоТестов = ЗагрузитьПуть(Путь, ПостроительДереваТестов, ЗагрузчикФайла); + + Возврат ДеревоТестов; +КонецФункции + +Функция ПолучитьКонтекстПоПути(КонтекстЯдра, Путь) Экспорт + ОбъектМетаданных = ПолучитьОбъектМетаданныхПоПути(Путь); + Контекст = СоздатьОбработкуПоМетаданным(ОбъектМетаданных); + + Возврат Контекст; +КонецФункции +// } Loader interface + +Функция ЗагрузитьПуть(Путь, ПостроительДереваТестов, ЗагрузчикФайла) Экспорт + ОбъектМетаданных = ПолучитьОбъектМетаданныхПоПути(Путь); + ДеревоТестов = ОбработатьОбъектМетаданных(ОбъектМетаданных, ПостроительДереваТестов, ЗагрузчикФайла); + + Возврат ДеревоТестов; +КонецФункции + +Функция ПолучитьОбъектМетаданныхПоПути(Путь) Экспорт + Перем ОбъектКонфигурации; + Попытка + Выполнить("ОбъектКонфигурации = " + Путь); + Исключение + ВызватьИсключение "Передан невалидный путь <" + Путь + ">"; + КонецПопытки; + + Возврат ОбъектКонфигурации; +КонецФункции + +Функция ОбработатьОбъектМетаданных(ОбъектМетаданных, ПостроительДереваТестов, ЗагрузчикФайла) + Если ЭтоПодсистема(ОбъектМетаданных) Тогда + Контейнер = ЗагрузитьПодсистему(ОбъектМетаданных, ПостроительДереваТестов, ЗагрузчикФайла); + Иначе + Контейнер = ЗагрузитьОбработку(ОбъектМетаданных, ПостроительДереваТестов, ЗагрузчикФайла); + КонецЕсли; + + Возврат Контейнер; +КонецФункции + +Функция ЭтоПодсистема(ОбъектМетаданных) + Возврат (Найти(НРег(ОбъектМетаданных.ПолноеИмя()), НРег("Подсистема")) > 0); +КонецФункции + +Функция ЗагрузитьПодсистему(Подсистема, ПостроительДереваТестов, ЗагрузчикФайла) + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер(Подсистема.Имя, ПостроительДереваТестов.ИконкиУзловДереваТестов.Подсистема); + Для каждого ПодчиненнаяПодсистема Из Подсистема.Подсистемы цикл + КонтейнерПодчиненнойПодсистемы = ЗагрузитьПодсистему(ПодчиненнаяПодсистема, ПостроительДереваТестов, ЗагрузчикФайла); + Если КонтейнерПодчиненнойПодсистемы.Строки.Количество() > 0 Тогда + Контейнер.Строки.Добавить(КонтейнерПодчиненнойПодсистемы); + КонецЕсли; + КонецЦикла; + + Для каждого ДочернееМетаданное Из Подсистема.Состав цикл + Если Метаданные.Обработки.Найти(ДочернееМетаданное.Имя) <> Неопределено Тогда + КонтейнерСТестамиОбработки = ЗагрузитьОбработку(ДочернееМетаданное, ПостроительДереваТестов, ЗагрузчикФайла); + Если КонтейнерСТестамиОбработки.Строки.Количество() > 0 Тогда + Контейнер.Строки.Добавить(КонтейнерСТестамиОбработки); + КонецЕсли; + КонецЕсли; + КонецЦикла; + + Возврат Контейнер; +КонецФункции + +Функция ЗагрузитьОбработку(МетаданныеОбработки, ПостроительДереваТестов, ЗагрузчикФайла) Экспорт + Обработка = СоздатьОбработкуПоМетаданным(МетаданныеОбработки); + Попытка + Контейнер = ЗагрузитьТестыВНовомФормате(ПостроительДереваТестов, Обработка, МетаданныеОбработки, ЗагрузчикФайла); + Исключение + ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + Если ЭтоНовыйФорматОбработки(ТекстОшибки) Тогда + ВызватьИсключение; + Иначе + Контейнер = ЗагрузитьТестыВСтаромФормате(ПостроительДереваТестов, Обработка, МетаданныеОбработки, ЗагрузчикФайла); + КонецЕсли; + КонецПопытки; + + Возврат Контейнер; +КонецФункции + +Функция ЗагрузитьТестыВНовомФормате(ПостроительДереваТестов, Обработка, МетаданныеОбработки, ЗагрузчикФайла) + ЗагружаемыйПуть = СтрЗаменить("Метаданные." + МетаданныеОбработки.ПолноеИмя(), ".Обработка.", ".Обработки."); + КэшПостроительДереваТестов = ПостроительДереваТестов; + КонтейнерТестов = ПостроительДереваТестов.СоздатьКонтейнер(МетаданныеОбработки.Имя, ПостроительДереваТестов.ИконкиУзловДереваТестов.Обработка); + Обработка.ЗаполнитьНаборТестов(ЭтотОбъект); + Результат = КонтейнерТестов; + КонтейнерТестов = Неопределено; + ТекущаяГруппа = Неопределено; + + Возврат Результат; +КонецФункции + +Функция ЭтоНовыйФорматОбработки(Знач ТекстОшибки) + ЭтоНовыйФорматОбработки = Не ЕстьОшибка_МетодОбъектаНеОбнаружен(ТекстОшибки, "ЗаполнитьНаборТестов"); + + Возврат ЭтоНовыйФорматОбработки; +КонецФункции + +Функция ЗагрузитьТестыВСтаромФормате(ПостроительДереваТестов, Обработка, МетаданныеОбработки, ЗагрузчикФайла) + + Обработка = СоздатьОбработкуПоМетаданным(МетаданныеОбработки); + Попытка + СписокТестов = Обработка.ПолучитьСписокТестов(); + Исключение + Описание = ОписаниеОшибки(); + Если Найти(Описание, "Недостаточно фактических параметров") > 0 Тогда + ВызватьИсключение "Старый формат тестов в обработке тестов <"+МетаданныеОбработки.Имя+">."+Символы.ПС+ + "Метод ПолучитьСписокТестов сейчас не принимает параметров"; + КонецЕсли; + + Если Найти(Описание, "Метод объекта не обнаружен (ПолучитьСписокТестов)") = 0 Тогда + ВызватьИсключение Описание; + КонецЕсли; + КонецПопытки; + + СлучайныйПорядокВыполнения = Истина; + Попытка + СлучайныйПорядокВыполнения = Обработка.РазрешенСлучайныйПорядокВыполненияТестов(); + Исключение + КонецПопытки; + Путь = СтрЗаменить("Метаданные." + МетаданныеОбработки.ПолноеИмя(), ".Обработка.", ".Обработки."); + Контейнер = ПолучитьКонтейнерДереваТестовПоСпискуТестов(ПостроительДереваТестов, ЗагрузчикФайла, СписокТестов, МетаданныеОбработки.Имя, Путь, СлучайныйПорядокВыполнения); + + Возврат Контейнер; +КонецФункции + +Функция ПолучитьКонтейнерДереваТестовПоСпискуТестов(ПостроительДереваТестов, ЗагрузчикФайла, СписокТестов, ИмяКонтейнера, Путь, СлучайныйПорядокВыполнения = Истина) Экспорт + + Контейнер = ЗагрузчикФайла.ПолучитьКонтейнерДереваТестовПоСпискуТестов(ПостроительДереваТестов, СписокТестов, ИмяКонтейнера, Путь, СлучайныйПорядокВыполнения); + + Возврат Контейнер; + +КонецФункции + +Функция СоздатьОбработкуПоМетаданным(МетаданныеОбработки) + Возврат Обработки[МетаданныеОбработки.Имя].Создать(); +КонецФункции + +//{ Работа со встроенными в конфигурацию тестами и подсистемами +Процедура ЗаполнитьДеревоПодсистем(ДеревоПодсистем, ОтборПоИмениТеста) Экспорт + Для каждого МетаПодсистема из Метаданные.Подсистемы цикл + ДобавитьПодсистемуВДерево(МетаПодсистема, ДеревоПодсистем, ЭтотОбъект, ОтборПоИмениТеста); + КонецЦикла; +КонецПроцедуры + +Функция ДобавитьПодсистемуВДерево(ТекМетаПодсистема, РодительскаяСтрока, ОбработкаОбъект, ОтборПоИмениТеста) + СтрокаПодсистемы = ПодчиненныеСтроки(РодительскаяСтрока).Добавить(); + СтрокаПодсистемы.Имя = ТекМетаПодсистема.Имя; + СтрокаПодсистемы.Путь = "Метаданные."+СтрЗаменить(ТекМетаПодсистема.ПолноеИмя(), "Подсистема.", "Подсистемы."); + СтрокаПодсистемы.ТипСтроки = мЗначенияТиповСтроки.Подсистема; + Для Каждого Подсистема из ТекМетаПодсистема.Подсистемы Цикл + ДобавитьПодсистемуВДерево(Подсистема,СтрокаПодсистемы, ОбработкаОбъект, ОтборПоИмениТеста); + КонецЦикла; + + Для каждого ОбъектМетаданных из ТекМетаПодсистема.Состав цикл + Если Найти(ОбъектМетаданных.ПолноеИмя(), "Обработка."+ОтборПоИмениТеста) = 1 Тогда + СтрокаТеста = ПодчиненныеСтроки(СтрокаПодсистемы).Добавить(); + СтрокаТеста.Имя = ОбъектМетаданных.Имя; + СтрокаТеста.Путь = "Метаданные."+СтрЗаменить(ОбъектМетаданных.ПолноеИмя(), "Обработка.", "Обработки."); + СтрокаТеста.ТипСтроки = мЗначенияТиповСтроки.ТестовыйСлучай; + КонецЕсли; + КонецЦикла; + + Если ПодчиненныеСтроки(СтрокаПодсистемы).Количество() = 0 Тогда + ПодчиненныеСтроки(РодительскаяСтрока).Удалить(СтрокаПодсистемы); + КонецЕсли; + +КонецФункции + +Функция ПодчиненныеСтроки(СтрокаДерева, РезЭтоСтрокаДереваУФ = Ложь) Экспорт + РезЭтоСтрокаДереваУФ = ЭтоСтрокаДереваУФ(СтрокаДерева); + Если Не РезЭтоСтрокаДереваУФ Тогда + Строки = СтрокаДерева.Строки; + Иначе + Строки = СтрокаДерева.ПолучитьЭлементы(); + КонецЕсли; + Возврат Строки; +КонецФункции + +Функция ЭтоСтрокаДереваУФ(СтрокаДерева) + Рез = Ложь; + Если ТипЗнч(СтрокаДерева) = Тип("СтрокаДереваЗначений") ИЛИ ТипЗнч(СтрокаДерева) = Тип("ДеревоЗначений") Тогда + ИначеЕсли ТипЗнч(СтрокаДерева) = Тип("ДанныеФормыЭлементДерева") ИЛИ ТипЗнч(СтрокаДерева) = Тип("ДанныеФормыДерево") Тогда + Рез = Истина; + КонецЕсли; + Возврат Рез; +КонецФункции +//} + +// { API нового формата +Процедура СлучайныйПорядокВыполнения() Экспорт + Если ЗначениеЗаполнено(КонтейнерТестов) Тогда + КонтейнерТестов.СлучайныйПорядокВыполнения = Истина; + КонецЕсли; +КонецПроцедуры + +Процедура СтрогийПорядокВыполнения() Экспорт + Если ЗначениеЗаполнено(КонтейнерТестов) Тогда + КонтейнерТестов.СлучайныйПорядокВыполнения = Ложь; + КонецЕсли; +КонецПроцедуры + +Процедура НачатьГруппу(Знач ИмяГруппы, Знач СтрогийПорядокВыполнения = Ложь) Экспорт + ТекущаяГруппа = КэшПостроительДереваТестов.СоздатьКонтейнер(ИмяГруппы, КэшПостроительДереваТестов.ИконкиУзловДереваТестов.Группа); + ТекущаяГруппа.СлучайныйПорядокВыполнения = Не СтрогийПорядокВыполнения; + КонтейнерТестов.Строки.Добавить(ТекущаяГруппа); +КонецПроцедуры + +Функция Добавить(Знач ИмяМетода, Знач Параметры = Неопределено, Знач Представление = "") Экспорт + Элемент = КэшПостроительДереваТестов.СоздатьЭлемент(ЗагружаемыйПуть, ИмяМетода, Представление); + Если ЗначениеЗаполнено(Параметры) И ТипЗнч(Параметры) = Тип("Массив") Тогда + Элемент.Параметры = Параметры; + КонецЕсли; + Если ЗначениеЗаполнено(ТекущаяГруппа) Тогда + ТекущаяГруппа.Строки.Добавить(Элемент); + Иначе + КонтейнерТестов.Строки.Добавить(Элемент); + КонецЕсли; + + Возврат Элемент; +КонецФункции + +Функция ПараметрыТеста(Знач Парам1, Знач Парам2 = Неопределено, Знач Парам3 = Неопределено, Знач Парам4 = Неопределено, Знач Парам5 = Неопределено, Знач Парам6 = Неопределено, Знач Парам7 = Неопределено, Знач Парам8 = Неопределено, Знач Парам9 = Неопределено) Экспорт + ВсеПараметры = Новый Массив; + ВсеПараметры.Добавить(Парам1); + ВсеПараметры.Добавить(Парам2); + ВсеПараметры.Добавить(Парам3); + ВсеПараметры.Добавить(Парам4); + ВсеПараметры.Добавить(Парам5); + ВсеПараметры.Добавить(Парам6); + ВсеПараметры.Добавить(Парам7); + ВсеПараметры.Добавить(Парам8); + ВсеПараметры.Добавить(Парам9); + + ИндексСПоследнимПараметром = 0; + Для Сч = 0 По ВсеПараметры.ВГраница() Цикл + Индекс = ВсеПараметры.ВГраница() - Сч; + Если ВсеПараметры[Индекс] <> Неопределено Тогда + ИндексСПоследнимПараметром = Индекс; + Прервать; + КонецЕсли; + КонецЦикла; + + ПараметрыТеста = Новый Массив; + Для Сч = 0 По ИндексСПоследнимПараметром Цикл + ПараметрыТеста.Добавить(ВсеПараметры[Сч]); + КонецЦикла; + + Возврат ПараметрыТеста; +КонецФункции +// } API нового формата + +// { Helpers +Функция ЕстьОшибка_МетодОбъектаНеОбнаружен(Знач ТекстОшибки, Знач ИмяМетода) + Результат = Ложь; + Если Найти(текстОшибки, "Метод объекта не обнаружен (" + ИмяМетода + ")") > 0 + ИЛИ Найти(текстОшибки, "Object method not found (" + ИмяМетода + ")") > 0 Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; +КонецФункции +// } Helpers + +мЗначенияТиповСтроки = Новый Структура; +мЗначенияТиповСтроки.Вставить("КаталогТестов", 0); +мЗначенияТиповСтроки.Вставить("ТестовыйСлучай", 1); +мЗначенияТиповСтроки.Вставить("ТестовыйМетод", 2); +мЗначенияТиповСтроки.Вставить("Подсистема", 3); +мЗначенияТиповСтроки.Вставить("Ошибка", 9); +мЗначенияТиповСтроки = Новый ФиксированнаяСтруктура(мЗначенияТиповСтроки); diff --git "a/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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" new file mode 100644 index 00000000..275bf92c --- /dev/null +++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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" @@ -0,0 +1,2 @@ +Form\УправляемаяФорма\Форма.txt-->d75f146d-5027-4604-80fd-3b704ddd86a8.0 (29, 376) +Form\ФормаВыбораПодсистемУФ\Форма.txt-->7074798d-333f-4d35-91d6-154b9f00a019.0 (381, 407) diff --git "a/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/renames.txt" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/renames.txt" new file mode 100644 index 00000000..1eb75ecf --- /dev/null +++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/renames.txt" @@ -0,0 +1,13 @@ +51efd65a-ed36-4be7-a563-89b34ebfa851-->und\51efd65a-ed36-4be7-a563-89b34ebfa851 +7074798d-333f-4d35-91d6-154b9f00a019-->und\7074798d-333f-4d35-91d6-154b9f00a019 +7074798d-333f-4d35-91d6-154b9f00a019.0-->und\7074798d-333f-4d35-91d6-154b9f00a019.0 +c279f76a-3497-488b-ad4e-2ba469b0bd9b-->und\c279f76a-3497-488b-ad4e-2ba469b0bd9b +c279f76a-3497-488b-ad4e-2ba469b0bd9b.0-->Form\ФормаВыбораПодсистемы +copyinfo-->und\copyinfo +d75f146d-5027-4604-80fd-3b704ddd86a8-->und\d75f146d-5027-4604-80fd-3b704ddd86a8 +d75f146d-5027-4604-80fd-3b704ddd86a8.0-->und\d75f146d-5027-4604-80fd-3b704ddd86a8.0 +dfe532e1-d0ef-4008-afd4-214781ee4960.0\info-->und\dfe532e1-d0ef-4008-afd4-214781ee4960.0\info +dfe532e1-d0ef-4008-afd4-214781ee4960.0\text-->ObjectModule.txt +root-->und\root +version-->und\version +versions-->und\versions diff --git "a/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/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\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/51efd65a-ed36-4be7-a563-89b34ebfa851" new file mode 100644 index 00000000..b2db9726 --- /dev/null +++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/51efd65a-ed36-4be7-a563-89b34ebfa851" @@ -0,0 +1,17 @@ +{1, +{51efd65a-ed36-4be7-a563-89b34ebfa851},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,5cce5f28-d8c9-48d6-9f87-928be46d5662,0f2fb654-1692-41fa-b66f-583222be369f, +{0, +{0, +{0,0,dfe532e1-d0ef-4008-afd4-214781ee4960},"ЗагрузчикИзПодсистемКонфигурации", +{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}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,3,d75f146d-5027-4604-80fd-3b704ddd86a8,c279f76a-3497-488b-ad4e-2ba469b0bd9b,7074798d-333f-4d35-91d6-154b9f00a019}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,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\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/7074798d-333f-4d35-91d6-154b9f00a019" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/7074798d-333f-4d35-91d6-154b9f00a019" new file mode 100644 index 00000000..fcd33bb0 --- /dev/null +++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/7074798d-333f-4d35-91d6-154b9f00a019" @@ -0,0 +1,10 @@ +{1, +{1, +{0, +{9, +{0, +{0,0,7074798d-333f-4d35-91d6-154b9f00a019},"ФормаВыбораПодсистемУФ", +{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\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/7074798d-333f-4d35-91d6-154b9f00a019.0" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/7074798d-333f-4d35-91d6-154b9f00a019.0" new file mode 100644 index 00000000..7da9b325 --- /dev/null +++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/7074798d-333f-4d35-91d6-154b9f00a019.0" @@ -0,0 +1,489 @@ +{2, +{28,0,1,55,0,1,0,0,00000000-0000-0000-0000-000000000000,0, +{1,1, +{"ru","Выберите тестовый случай или всю подсистему"} +},0,0,1,1,1,0,1,0, +{2,3ccc650e-f631-4cae-8e33-3eaac610b5f9,"ПриОткрытии",9f2e5ddb-3492-4f5d-8f0d-416b8d1d5c5b,"ПриСозданииНаСервере"}, +{0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},1, +{0,0,1},0,1},1,143c00f7-a42d-4cd7-9189-88e4467dc768, +{42, +{1,02023637-7868-4a5f-8576-835a76e0c9ba},0,2,1, +{0, +{0, +{"B",1},0} +},"ДеревоПодсистем",0,0,1, +{1,0}, +{1,0}, +{1, +{2} +},0,1,0,0,0,1,1,0,0,0,0,0,1,0,1,1,0,1,2,2,1,1,0,0,0,1,2,0,0,1,1, +{1, +{3} +}, +{3,3, +{0},"",-1,-1,0, +{ +{#base64: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} +},0}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1,1,0, +{1,1282f000-23b6-4887-87f4-9e8e79db3d32,"ДеревоПодсистемВыбор"}, +{0},1, +{17, +{2,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},8,"ДеревоПодсистемКонтекстноеМеню", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{1,1},0,1},1, +{17, +{3,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} +}, +{6,3,0,1}, +{0,0,0},1, +{0,0,0},0,1},3,77ffcc29-7f2d-4223-b22f-19666e7250ba, +{30, +{4,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},2,"ДеревоПодсистемИмя",1,0, +{1,0}, +{1,0}, +{2, +{2}, +{1} +}, +{0},1,0,2,0,2, +{1,0}, +{1,0},1,1,0,3,0,3,2,3,0, +{3,0, +{0},"",-1,-1,1,0}, +{3,0, +{0},"",-1,-1,1,0}, +{3,4, +{0} +}, +{6,3,0,1}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{26, +{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, +{"U"}, +{"U"},"",0, +{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}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},1, +{3,0,0},0}, +{0},1, +{17, +{5,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},8,"ДеревоПодсистемИмяКонтекстноеМеню", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{1,1},0,1},1, +{"Pattern"}, +{"Pattern"},"","", +{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, +{30, +{6,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},2,"ДеревоПодсистемПуть",1,0, +{1,0}, +{1,0}, +{2, +{2}, +{2} +}, +{0},1,0,2,0,2, +{1,0}, +{1,0},1,1,0,3,0,3,2,3,0, +{3,0, +{0},"",-1,-1,1,0}, +{3,0, +{0},"",-1,-1,1,0}, +{3,4, +{0} +}, +{6,3,0,1}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{26, +{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, +{"U"}, +{"U"},"",0, +{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}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},1, +{3,0,0},0}, +{0},1, +{17, +{7,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},8,"ДеревоПодсистемПутьКонтекстноеМеню", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{1,1},0,1},0, +{"Pattern"}, +{"Pattern"},"","", +{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, +{30, +{8,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},2,"ДеревоПодсистемТипСтроки",1,0, +{1,0}, +{1,0}, +{2, +{2}, +{3} +}, +{0},1,0,2,0,2, +{1,0}, +{1,0},1,1,0,3,0,3,2,3,0, +{3,0, +{0},"",-1,-1,1,0}, +{3,0, +{0},"",-1,-1,1,0}, +{3,4, +{0} +}, +{6,3,0,1}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{26, +{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, +{"U"}, +{"U"},"",0, +{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}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},1, +{3,0,0},0}, +{0},1, +{17, +{9,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},8,"ДеревоПодсистемТипСтрокиКонтекстноеМеню", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{1,1},0,1},0, +{"Pattern"}, +{"Pattern"},"","", +{0},0},2,2,1,0, +{"Pattern"},"","",2,2},"","",1, +{17, +{0},0,0,0,7,"Navigator", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},0,0,1} +}," +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + РеквизитФормыВЗначение(""Объект"").ЗаполнитьДеревоПодсистем(ДеревоПодсистем, Параметры.ОтборПоИмениТеста); +КонецПроцедуры + +&НаКлиенте +Процедура ПриОткрытии(Отказ) + РазвернутьСтрокиДерева(Истина); +КонецПроцедуры + +&НаКлиенте +Процедура ДеревоПодсистемВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + СтандартнаяОбработка = Ложь; + Закрыть(ДеревоПодсистем.НайтиПоИдентификатору(ВыбраннаяСтрока).Путь); +КонецПроцедуры + +&НаКлиенте +Процедура РазвернутьСтрокиДерева(ВключаяПодчиненные = Ложь) + + Для каждого СтрокаДерева из ДеревоПодсистем.ПолучитьЭлементы() Цикл + Идентификатор = СтрокаДерева.ПолучитьИдентификатор(); + Элементы.ДеревоПодсистем.Развернуть(Идентификатор, ВключаяПодчиненные); + КонецЦикла; + +КонецПроцедуры +", +{4,2, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",5cce5f28-d8c9-48d6-9f87-928be46d5662} +}, +{0, +{0, +{"B",1},0} +}, +{0, +{0, +{"B",1},0} +}, +{0,0}, +{0,0},1,0,0,0, +{0,0}, +{0,0} +}, +{9, +{2},0,"ДеревоПодсистем", +{1,1, +{"ru","Дерево подсистем"} +}, +{"Pattern", +{"#",e603c0f2-92fb-4d47-8f38-a44a381cf235} +}, +{0, +{0, +{"B",1},0} +}, +{0, +{0, +{"B",1},0} +}, +{0,0}, +{0,0},0,0,0,3, +{5,1,0,"Имя", +{1,1, +{"ru","Имя"} +}, +{"Pattern", +{"S"} +}, +{0, +{0, +{"B",1},0} +}, +{0, +{0, +{"B",1},0} +}, +{0,0},0}, +{5,2,0,"Путь", +{1,1, +{"ru","Путь"} +}, +{"Pattern", +{"S"} +}, +{0, +{0, +{"B",1},0} +}, +{0, +{0, +{"B",1},0} +}, +{0,0},0}, +{5,3,0,"ТипСтроки", +{1,1, +{"ru","Тип строки"} +}, +{"Pattern", +{"N",10,0,0} +}, +{0, +{0, +{"B",1},0} +}, +{0, +{0, +{"B",1},0} +}, +{0,0},0}, +{0,0}, +{0,0} +},0,0, +{#base64:77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxTZXR0 +aW5ncyB4bWxucz0iaHR0cDovL3Y4LjFjLnJ1LzguMS9kYXRhLWNvbXBvc2l0aW9u +LXN5c3RlbS9zZXR0aW5ncyIgeG1sbnM6ZGNzY29yPSJodHRwOi8vdjguMWMucnUv +OC4xL2RhdGEtY29tcG9zaXRpb24tc3lzdGVtL2NvcmUiIHhtbG5zOnN0eWxlPSJo +dHRwOi8vdjguMWMucnUvOC4xL2RhdGEvdWkvc3R5bGUiIHhtbG5zOnN5cz0iaHR0 +cDovL3Y4LjFjLnJ1LzguMS9kYXRhL3VpL2ZvbnRzL3N5c3RlbSIgeG1sbnM6djg9 +Imh0dHA6Ly92OC4xYy5ydS84LjEvZGF0YS9jb3JlIiB4bWxuczp2OHVpPSJodHRw +Oi8vdjguMWMucnUvOC4xL2RhdGEvdWkiIHhtbG5zOndlYj0iaHR0cDovL3Y4LjFj +LnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93ZWIiIHhtbG5zOndpbj0iaHR0cDovL3Y4 +LjFjLnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93aW5kb3dzIiB4bWxuczp4cz0iaHR0 +cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDov +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,1, +{0,"ОтборПоИмениТеста", +{"Pattern", +{"S"} +},0} +}, +{0,0}, +{0,0}, +{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\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/c279f76a-3497-488b-ad4e-2ba469b0bd9b" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/c279f76a-3497-488b-ad4e-2ba469b0bd9b" new file mode 100644 index 00000000..c6bd8fb5 --- /dev/null +++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/c279f76a-3497-488b-ad4e-2ba469b0bd9b" @@ -0,0 +1,10 @@ +{1, +{1, +{0, +{9, +{0, +{0,0,c279f76a-3497-488b-ad4e-2ba469b0bd9b},"ФормаВыбораПодсистемы", +{1,"ru","Форма выбора подсистемы"},""},0,0}, +{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\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/copyinfo" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/copyinfo" new file mode 100644 index 00000000..f47c5f8d --- /dev/null +++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/copyinfo" @@ -0,0 +1,29 @@ +{4, +{2, +{d75f146d-5027-4604-80fd-3b704ddd86a8,d75f146d-5027-4604-80fd-3b704ddd86a8,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"УправляемаяФорма"} +}, +{dfe532e1-d0ef-4008-afd4-214781ee4960,dfe532e1-d0ef-4008-afd4-214781ee4960,1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ЗагрузчикИзПодсистемКонфигурации"} +} +}, +{1, +{5cce5f28-d8c9-48d6-9f87-928be46d5662,dfe532e1-d0ef-4008-afd4-214781ee4960,0} +}, +{3, +{ +{1},e603c0f2-92fb-4d47-8f38-a44a381cf235, +{1} +}, +{ +{2},e603c0f2-92fb-4d47-8f38-a44a381cf235, +{2} +}, +{ +{3},e603c0f2-92fb-4d47-8f38-a44a381cf235, +{3} +} +}, +{0,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\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/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\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/d75f146d-5027-4604-80fd-3b704ddd86a8" new file mode 100644 index 00000000..c97466ef --- /dev/null +++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/d75f146d-5027-4604-80fd-3b704ddd86a8" @@ -0,0 +1,10 @@ +{1, +{1, +{0, +{9, +{0, +{0,0,d75f146d-5027-4604-80fd-3b704ddd86a8},"УправляемаяФорма", +{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\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/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\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/d75f146d-5027-4604-80fd-3b704ddd86a8.0" new file mode 100644 index 00000000..b938ea27 --- /dev/null +++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/d75f146d-5027-4604-80fd-3b704ddd86a8.0" @@ -0,0 +1,414 @@ +{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}, +{0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},0,0,1} +},"&НаКлиенте +Перем ПостроительДереваТестов; +&НаКлиенте +Перем ЗагружаемыйПуть; + +&НаКлиенте +Перем КонтейнерТестов; +&НаКлиенте +Перем ТекущаяГруппа; + +// { Plugin interface +&НаКлиенте +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); +КонецФункции + +&НаСервере +Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); +КонецФункции +// } Plugin interface + +// { Loader interface +&НаКлиенте +Функция ВыбратьПутьИнтерактивно(ТекущийПуть = """") Экспорт + Перем ВыбранныйПуть; + + ПараметрыОткрытия = Новый Структура(""ОтборПоИмениТеста"", """"); + ИмяФормыВыбораПодсистемыУФ = СтрЗаменить(ЭтаФорма.ИмяФормы, ""УправляемаяФорма"", ""ФормаВыбораПодсистемУФ""); + ВыбранныйПуть = ОткрытьФормуМодально(ИмяФормыВыбораПодсистемыУФ, ПараметрыОткрытия, ЭтаФорма); + + Возврат ВыбранныйПуть; +КонецФункции + +&НаКлиенте +Функция Загрузить(КонтекстЯдра, Путь) Экспорт + СтруктураМетаданных = СтруктураМетаданныхПоПереданномуПути(Путь); + ПостроительДереваТестов = КонтекстЯдра.Плагин(""ПостроительДереваТестов""); + ДеревоТестов = Неопределено; + ОбработатьОбъектМетаданных(СтруктураМетаданных, ДеревоТестов); + Возврат ДеревоТестов; +КонецФункции + +&НаКлиенте +Функция ПолучитьКонтекстПоПути(КонтекстЯдра, Путь) Экспорт + Перем Контекст; + Если ЭтоПутьККлиентскомуКонтексту(Путь) Тогда + Контекст = ПолучитьКлиентскийКонтекст(КонтекстЯдра, Путь); + Иначе + Контекст = ПолучитьСерверныйКонтекст(КонтекстЯдра, Путь); + КонецЕсли; + + Возврат Контекст; +КонецФункции +// } Loader interface + +&НаКлиенте +Функция ПолучитьКлиентскийКонтекст(КонтекстЯдра, Путь) + ИдентификаторКонтекста = ПолучитьИдентификаторКонтекстаПоПутиНаСервере(Сред(Путь, СтрДлина(ПрефиксПутейСФормами()) + 1)); + ОписаниеКонтекста = ПолучитьФорму(""Обработка."" + ИдентификаторКонтекста + "".Форма"", , ЭтаФорма, Новый УникальныйИдентификатор); + КонтекстЯдра.ПолучитьОписаниеКонтекстаВыполнения(ИдентификаторКонтекста, Истина); + + Возврат ОписаниеКонтекста; +КонецФункции + +&НаКлиенте +Функция ПолучитьСерверныйКонтекст(КонтекстЯдра, Путь) + ИдентификаторКонтекста = ПолучитьИдентификаторКонтекстаПоПутиНаСервере(Путь); + ОписаниеКонтекста = КонтекстЯдра.ПолучитьОписаниеКонтекстаВыполнения(ИдентификаторКонтекста, Истина); + + Возврат ОписаниеКонтекста; +КонецФункции + +&НаСервере +Функция СтруктураМетаданныхПоПереданномуПути(Путь) + ОбъектМетаданных = ЭтотОбъектНаСервере().ПолучитьОбъектМетаданныхПоПути(Путь); + Если ЭтоПодсистема(ОбъектМетаданных.ПолноеИмя()) Тогда + СтруктураМетаданных = СтруктураМетаданныхПодсистемы(ОбъектМетаданных); + Иначе + СтруктураМетаданных = СтрокаДереваМетаданных(ОбъектМетаданных); + КонецЕсли; + Возврат СтруктураМетаданных; +КонецФункции + +&НаСервере +Функция СтруктураМетаданныхПодсистемы(Подсистема) + СтруктураМетаданных = СтрокаДереваМетаданных(Подсистема); + Для Каждого ПодчиненнаяПодсистема Из Подсистема.Подсистемы Цикл + СтруктураМетаданных.Строки.Добавить(СтруктураМетаданныхПодсистемы(ПодчиненнаяПодсистема)); + КонецЦикла; + + Для Каждого ДочернееМетаданное Из Подсистема.Состав цикл + Если Метаданные.Обработки.Найти(ДочернееМетаданное.Имя) <> Неопределено Тогда + СтруктураМетаданныхОбработки = СтрокаДереваМетаданных(ДочернееМетаданное); + СтруктураМетаданных.Строки.Добавить(СтруктураМетаданныхОбработки); + КонецЕсли; + КонецЦикла; + + Возврат СтруктураМетаданных; +КонецФункции + +&НаСервере +Функция СтрокаДереваМетаданных(ОбъектМетаданных) + СтрокаДерева = Новый Структура(); + СтрокаДерева.Вставить(""Имя"", ОбъектМетаданных.Имя); + СтрокаДерева.Вставить(""ПолноеИмя"", ОбъектМетаданных.ПолноеИмя()); + СтрокаДерева.Вставить(""Строки"", Новый Массив); + + Возврат СтрокаДерева; +КонецФункции + +&НаКлиенте +Функция ОбработатьОбъектМетаданных(СтруктураМетаданных, ДеревоТестов) + Если ЭтоПодсистема(СтруктураМетаданных.ПолноеИмя) Тогда + Контейнер = ЗагрузитьПодсистему(СтруктураМетаданных, ДеревоТестов); + Иначе + Контейнер = ЗагрузитьОбработку(СтруктураМетаданных, ДеревоТестов); + КонецЕсли; + + Возврат Контейнер; +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ЭтоПодсистема(ПолноеИмяОбъектаМетаданных) + Возврат (Найти(НРег(ПолноеИмяОбъектаМетаданных), НРег(""Подсистема"")) > 0); +КонецФункции + +&НаКлиенте +Функция ЗагрузитьПодсистему(СтруктураМетаданных, ДеревоТестов) + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер(СтруктураМетаданных.Имя, ПостроительДереваТестов.Объект.ИконкиУзловДереваТестов.Подсистема); + Для Каждого ПодчиненноеМетаданное Из СтруктураМетаданных.Строки Цикл + Если ЭтоПодсистема(ПодчиненноеМетаданное.ПолноеИмя) Тогда + ЗагрузитьПодсистему(ПодчиненноеМетаданное, Контейнер); + Иначе + ЗагрузитьОбработку(ПодчиненноеМетаданное, Контейнер); + КонецЕсли; + КонецЦикла; + + Если ДеревоТестов = Неопределено Тогда + ДеревоТестов = Контейнер; + ИначеЕсли Контейнер.Строки.Количество() > 0 Тогда + ДеревоТестов.Строки.Добавить(Контейнер); + КонецЕсли; + +КонецФункции + +&НаКлиенте +Функция ЗагрузитьОбработку(СтруктураМетаданных, ДеревоТестов) + ЗагружаемыйПуть = СтрЗаменить(""Метаданные."" + СтруктураМетаданных.ПолноеИмя, "".Обработка."", "".Обработки.""); + Контейнер = ЗагрузитьОбработкуНаСервере(ЗагружаемыйПуть); + КонтейнерСКлиентскимиТестамиОбработки = ЗагрузитьОбработкуНаКлиенте(СтруктураМетаданных); + Если КонтейнерСКлиентскимиТестамиОбработки.Строки.Количество() > 0 Тогда + Контейнер.Строки.Добавить(КонтейнерСКлиентскимиТестамиОбработки); + КонецЕсли; + Если ДеревоТестов = Неопределено Тогда + ДеревоТестов = Контейнер; + ИначеЕсли Контейнер.Строки.Количество() > 0 Тогда + ДеревоТестов.Строки.Добавить(Контейнер); + КонецЕсли; + +КонецФункции + +&НаСервере +Функция ЗагрузитьОбработкуНаСервере(Путь) + ПостроительДереваТестов = ВнешниеОбработки.Создать(""ПостроительДереваТестов""); + ЗагрузчикФайла = ВнешниеОбработки.Создать(""ЗагрузчикФайла""); + ДеревоТестов = ЭтотОбъектНаСервере().ЗагрузитьПуть(Путь, ПостроительДереваТестов, ЗагрузчикФайла); + + Возврат ДеревоТестов; +КонецФункции + +&НаКлиенте +Функция ЗагрузитьОбработкуНаКлиенте(СтруктураМетаданных) + ФормаОбработки = ПолучитьФорму(СтруктураМетаданных.ПолноеИмя + "".Форма""); + Попытка + Контейнер = ЗагрузитьТестыВНовомФормате_НаКлиенте(ФормаОбработки); + Исключение + ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + Если ЭтоНовыйФорматОбработки(ТекстОшибки) Тогда + ВызватьИсключение; + Иначе + Контейнер = ЗагрузитьТестыВСтаромФормате_НаКлиенте(ФормаОбработки); + КонецЕсли; + КонецПопытки; + Возврат Контейнер; +КонецФункции + +&НаКлиенте +Функция ЭтоНовыйФорматОбработки(Знач ТекстОшибки) + ЭтоНовыйФорматОбработки = Не ЕстьОшибка_МетодОбъектаНеОбнаружен(ТекстОшибки, ""ЗаполнитьНаборТестов""); + + Возврат ЭтоНовыйФорматОбработки; +КонецФункции + +&НаКлиенте +Функция ЗагрузитьТестыВНовомФормате_НаКлиенте(ФормаОбработки) + КонтейнерТестов = ПостроительДереваТестов.СоздатьКонтейнер(ПрефиксПутейСФормами() + СтрЗаменить(ЗагружаемыйПуть, ""Метаданные.Обработки."", """"), ПостроительДереваТестов.Объект.ИконкиУзловДереваТестов.Форма); + ФормаОбработки.ЗаполнитьНаборТестов(ЭтаФорма); + Результат = КонтейнерТестов; + КонтейнерТестов = Неопределено; + ТекущаяГруппа = Неопределено; + + Возврат Результат; +КонецФункции + +&НаКлиенте +Функция ЗагрузитьТестыВСтаромФормате_НаКлиенте(ФормаОбработки) + Попытка + СписокТестов = ФормаОбработки.ПолучитьСписокТестов(); + Исключение + Описание = ОписаниеОшибки(); + Если Найти(Описание, ""Недостаточно фактических параметров"") > 0 Тогда + ВызватьИсключение ""Старый формат тестов в обработке тестов <""+ЗагружаемыйПуть+"">.""+Символы.ПС+ + ""Метод ПолучитьСписокТестов сейчас не принимает параметров""; + КонецЕсли; + + Если Найти(Описание, ""Метод объекта не обнаружен (ПолучитьСписокТестов)"") = 0 Тогда + ВызватьИсключение Описание; + КонецЕсли; + КонецПопытки; + СлучайныйПорядокВыполнения = Истина; + Попытка + СлучайныйПорядокВыполнения = ФормаОбработки.РазрешенСлучайныйПорядокВыполненияТестов(); + Исключение + КонецПопытки; + + Контейнер = ПолучитьКонтейнерДереваТестовПоСпискуТестовНаСервере(СписокТестов, ПрефиксПутейСФормами() + СтрЗаменить(ЗагружаемыйПуть, ""Обработка."", """"), ПрефиксПутейСФормами() + ЗагружаемыйПуть, СлучайныйПорядокВыполнения); + Контейнер.ИконкаУзла = ПостроительДереваТестов.Объект.ИконкиУзловДереваТестов.Форма; + + Возврат Контейнер; +КонецФункции + +&НаСервере +Функция ПолучитьИдентификаторКонтекстаПоПутиНаСервере(Путь) + ОбъектМетаданных = ЭтотОбъектНаСервере().ПолучитьОбъектМетаданныхПоПути(Путь); + + Возврат ОбъектМетаданных.Имя; +КонецФункции + +&НаСервере +Функция ПолучитьКонтейнерДереваТестовПоСпискуТестовНаСервере(СписокТестов, ИмяКонтейнера, Путь, СлучайныйПорядокВыполнения = Истина) + ПостроительДереваТестов = ВнешниеОбработки.Создать(""ПостроительДереваТестов"", Ложь); + ЗагрузчикФайла = ВнешниеОбработки.Создать(""ЗагрузчикФайла"", Ложь); + Контейнер = ЭтотОбъектНаСервере().ПолучитьКонтейнерДереваТестовПоСпискуТестов(ПостроительДереваТестов, ЗагрузчикФайла, СписокТестов, ИмяКонтейнера, Путь, СлучайныйПорядокВыполнения); + + Возврат Контейнер; +КонецФункции + +&НаКлиенте +Функция ЭтоПутьККлиентскомуКонтексту(Путь) + ПрефиксПутейСФормами = ПрефиксПутейСФормами(); + Результат = (Найти(Путь, ПрефиксПутейСФормами) = 1); + + Возврат Результат; +КонецФункции + +&НаКлиенте +Функция ПрефиксПутейСФормами() + Возврат ""УпрФорма # ""; +КонецФункции + +// { API нового формата +&НаКлиенте +Процедура СлучайныйПорядокВыполнения() Экспорт + Если ЗначениеЗаполнено(КонтейнерТестов) Тогда + КонтейнерТестов.СлучайныйПорядокВыполнения = Истина; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура СтрогийПорядокВыполнения() Экспорт + Если ЗначениеЗаполнено(КонтейнерТестов) Тогда + КонтейнерТестов.СлучайныйПорядокВыполнения = Ложь; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура НачатьГруппу(Знач ИмяГруппы, Знач СтрогийПорядокВыполнения = Ложь) Экспорт + ТекущаяГруппа = ПостроительДереваТестов.СоздатьКонтейнер(ИмяГруппы, ПостроительДереваТестов.Объект.ИконкиУзловДереваТестов.Группа); + ТекущаяГруппа.СлучайныйПорядокВыполнения = Не СтрогийПорядокВыполнения; + КонтейнерТестов.Строки.Добавить(ТекущаяГруппа); +КонецПроцедуры + +&НаКлиенте +Функция Добавить(Знач ИмяМетода, Знач Параметры = Неопределено, Знач Представление = """") Экспорт + Элемент = ПостроительДереваТестов.СоздатьЭлемент(ПрефиксПутейСФормами() + ЗагружаемыйПуть, ИмяМетода, Представление); + Если ЗначениеЗаполнено(Параметры) И ТипЗнч(Параметры) = Тип(""Массив"") Тогда + Элемент.Параметры = Параметры; + КонецЕсли; + Если ЗначениеЗаполнено(ТекущаяГруппа) Тогда + ТекущаяГруппа.Строки.Добавить(Элемент); + Иначе + КонтейнерТестов.Строки.Добавить(Элемент); + КонецЕсли; + + Возврат Элемент; +КонецФункции + +&НаКлиенте +Функция ПараметрыТеста(Знач Парам1, Знач Парам2 = Неопределено, Знач Парам3 = Неопределено, Знач Парам4 = Неопределено, Знач Парам5 = Неопределено, Знач Парам6 = Неопределено, Знач Парам7 = Неопределено, Знач Парам8 = Неопределено, Знач Парам9 = Неопределено) Экспорт + ВсеПараметры = Новый Массив; + ВсеПараметры.Добавить(Парам1); + ВсеПараметры.Добавить(Парам2); + ВсеПараметры.Добавить(Парам3); + ВсеПараметры.Добавить(Парам4); + ВсеПараметры.Добавить(Парам5); + ВсеПараметры.Добавить(Парам6); + ВсеПараметры.Добавить(Парам7); + ВсеПараметры.Добавить(Парам8); + ВсеПараметры.Добавить(Парам9); + + ИндексСПоследнимПараметром = 0; + Для Сч = 0 По ВсеПараметры.ВГраница() Цикл + Индекс = ВсеПараметры.ВГраница() - Сч; + Если ВсеПараметры[Индекс] <> Неопределено Тогда + ИндексСПоследнимПараметром = Индекс; + Прервать; + КонецЕсли; + КонецЦикла; + + ПараметрыТеста = Новый Массив; + Для Сч = 0 По ИндексСПоследнимПараметром Цикл + ПараметрыТеста.Добавить(ВсеПараметры[Сч]); + КонецЦикла; + + Возврат ПараметрыТеста; +КонецФункции +// } API нового формата + +// { Helpers +&НаСервере +Функция ЭтотОбъектНаСервере() + Возврат РеквизитФормыВЗначение(""Объект""); +КонецФункции + +&НаКлиенте +Функция ЕстьОшибка_МетодОбъектаНеОбнаружен(Знач ТекстОшибки, Знач ИмяМетода) + Результат = Ложь; + Если Найти(текстОшибки, ""Метод объекта не обнаружен ("" + ИмяМетода + "")"") > 0 + Или Найти(текстОшибки, ""Object method not found ("" + ИмяМетода + "")"") > 0 Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; +КонецФункции +// } Helpers +", +{4,1, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",5cce5f28-d8c9-48d6-9f87-928be46d5662} +}, +{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 +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,0}, +{0,0}, +{0,0}, +{0,0} +} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/f2d2060c-a875-4798-8c3a-7e5b14081428.0/info" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/dfe532e1-d0ef-4008-afd4-214781ee4960.0/info" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/f2d2060c-a875-4798-8c3a-7e5b14081428.0/info" rename to "src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/dfe532e1-d0ef-4008-afd4-214781ee4960.0/info" diff --git "a/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/root" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/root" new file mode 100644 index 00000000..ae0e1471 --- /dev/null +++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/root" @@ -0,0 +1 @@ +{2,51efd65a-ed36-4be7-a563-89b34ebfa851,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/version" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/version" rename to "src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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" diff --git "a/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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" new file mode 100644 index 00000000..67d31a79 --- /dev/null +++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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" @@ -0,0 +1 @@ +{1,15,"7074798d-333f-4d35-91d6-154b9f00a019",0faf7006-8bd0-46d0-aaaf-46d480cbb787,"7074798d-333f-4d35-91d6-154b9f00a019.0",d4049c32-1066-4754-b65c-e0df4a6acf0e,"7074798d-333f-4d35-91d6-154b9f00a019.1",cee938b5-68b8-422f-9afa-810b9299c036,"",6640787d-eaed-43e5-b987-86a784ccdf82,"versions",143f4395-d524-4c48-b1de-d3710ba20f1f,"root",7087237e-be7e-4959-9db5-d6d050e2b3eb,"c279f76a-3497-488b-ad4e-2ba469b0bd9b",ca7fdcbd-de61-4677-9ff7-e411a7770446,"51efd65a-ed36-4be7-a563-89b34ebfa851",c09e6b3f-4ca6-4037-8a4f-6e06467d405d,"dfe532e1-d0ef-4008-afd4-214781ee4960.0",1b7678be-2c9c-4cb2-9eaf-2c1c9c3af379,"c279f76a-3497-488b-ad4e-2ba469b0bd9b.0",7e27bce4-b31a-4dcf-afcd-2579b7394032,"c279f76a-3497-488b-ad4e-2ba469b0bd9b.1",34b3490d-5b18-4d62-8822-f65cab5af125,"d75f146d-5027-4604-80fd-3b704ddd86a8",c3ef4553-6c35-448c-9ce8-4a201c78d0f3,"version",4134ff87-a48e-43b5-ab67-f10135a5cf5f,"copyinfo",3c1b2d00-62b1-454e-bd9b-795a4a41573f,"d75f146d-5027-4604-80fd-3b704ddd86a8.0",ae9951b0-f7fa-4dda-9d0a-fbd4a48d7414} \ 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\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" new file mode 100644 index 00000000..837b8202 --- /dev/null +++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" @@ -0,0 +1 @@ + // { Plugin interface &НаКлиенте Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); КонецФункции // } Plugin interface // { Loader interface &НаКлиенте Функция ВыбратьПутьИнтерактивно(ТекущийПуть = "") Экспорт ДиалогВыбораКаталога = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога); ДиалогВыбораКаталога.Каталог = ТекущийПуть; Результат = ""; Если ДиалогВыбораКаталога.Выбрать() Тогда Результат = ДиалогВыбораКаталога.Каталог; КонецЕсли; Возврат Результат; КонецФункции &НаКлиенте Функция Загрузить(КонтекстЯдра, Путь) Экспорт КаталогДляЗагрузки = Новый Файл(Путь); Если Не (КаталогДляЗагрузки.Существует() И КаталогДляЗагрузки.ЭтоКаталог()) Тогда ВызватьИсключение "Для загрузки передан не каталог файловой системы <" + КаталогДляЗагрузки.ПолноеИмя + ">"; КонецЕсли; ДеревоТестов = ЗагрузитьКаталог(КонтекстЯдра, КаталогДляЗагрузки); ДеревоТестов.Имя = КаталогДляЗагрузки.ПолноеИмя; Возврат ДеревоТестов; КонецФункции &НаКлиенте Функция ПолучитьКонтекстПоПути(КонтекстЯдра, Путь) Экспорт ЗагрузчикФайла = КонтекстЯдра.Плагин("ЗагрузчикФайла"); Контекст = ЗагрузчикФайла.ПолучитьКонтекстПоПути(КонтекстЯдра, Путь); Возврат Контекст; КонецФункции // } Loader interface &НаКлиенте Функция ЗагрузитьКаталог(КонтекстЯдра, КаталогДляЗагрузки) КонтейнерКаталога = КонтекстЯдра.Плагин("ПостроительДереваТестов").СоздатьКонтейнер(КаталогДляЗагрузки.Имя); НайденныеФайлы = НайтиФайлы(КаталогДляЗагрузки.ПолноеИмя, "*", Ложь); Для каждого Файл из НайденныеФайлы Цикл ОбработкаПрерыванияПользователя(); Если Файл.ЭтоКаталог() Тогда КонтейнерДочернегоКаталога = ЗагрузитьКаталог(КонтекстЯдра, Файл); Если КонтейнерДочернегоКаталога.Строки.Количество() > 0 Тогда КонтейнерКаталога.Строки.Добавить(КонтейнерДочернегоКаталога); КонецЕсли; ИначеЕсли НРег(Файл.Расширение) = ".epf" Тогда КонтейнерФайла = ЗагрузитьФайл(КонтекстЯдра, Файл); Если ЗначениеЗаполнено(КонтейнерФайла) И КонтейнерФайла.Строки.Количество() > 0 Тогда КонтейнерКаталога.Строки.Добавить(КонтейнерФайла); КонецЕсли; КонецЕсли; КонецЦикла; Возврат КонтейнерКаталога; КонецФункции &НаКлиенте Функция ЗагрузитьФайл(КонтекстЯдра, ФайлОбработки) ЗагрузчикФайла = КонтекстЯдра.Плагин("ЗагрузчикФайла"); Попытка ДеревоТестовФайла = ЗагрузчикФайла.Загрузить(КонтекстЯдра, ФайлОбработки.ПолноеИмя); Результат = ДеревоТестовФайла; Если ДеревоТестовФайла.Строки.Количество() > 0 Тогда Результат = ДеревоТестовФайла.Строки[0]; КонецЕсли; Исключение Сообщить("Не удалось загрузить файл " + ФайлОбработки.ПолноеИмя + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); Результат = Неопределено; КонецПопытки; Возврат Результат; КонецФункции // { Helpers &НаСервере Функция ЭтотОбъектНаСервере() Возврат РеквизитФормыВЗначение("Объект"); КонецФункции // } Helpers \ 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\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/ObjectModule.txt" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/ObjectModule.txt" new file mode 100644 index 00000000..a1243e6f --- /dev/null +++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/ObjectModule.txt" @@ -0,0 +1,87 @@ +// { Plugin interface +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Результат = Новый Структура; + Результат.Вставить("Тип", ВозможныеТипыПлагинов.Загрузчик); + Результат.Вставить("Идентификатор", "ЗагрузчикКаталога"); + Результат.Вставить("Представление", "Загрузить тесты из каталога файловой системы"); + + Возврат Новый ФиксированнаяСтруктура(Результат); +КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт +КонецПроцедуры +// } Plugin interface + +// { Loader interface +#Если ТолстыйКлиентОбычноеПриложение Тогда +Функция ВыбратьПутьИнтерактивно(ТекущийПуть = "") Экспорт + ДиалогВыбораКаталога = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога); + ДиалогВыбораКаталога.Каталог = ТекущийПуть; + + Результат = ""; + Если ДиалогВыбораКаталога.Выбрать() Тогда + Результат = ДиалогВыбораКаталога.Каталог; + КонецЕсли; + + Возврат Результат; +КонецФункции +#КонецЕсли + +Функция Загрузить(КонтекстЯдра, Путь) Экспорт + КаталогДляЗагрузки = Новый Файл(Путь); + Если Не (КаталогДляЗагрузки.Существует() И КаталогДляЗагрузки.ЭтоКаталог()) Тогда + ВызватьИсключение "Для загрузки передан не каталог файловой системы <" + КаталогДляЗагрузки.ПолноеИмя + ">"; + КонецЕсли; + ДеревоТестов = ЗагрузитьКаталог(КонтекстЯдра, КаталогДляЗагрузки); + ДеревоТестов.Имя = КаталогДляЗагрузки.ПолноеИмя; + + Возврат ДеревоТестов; +КонецФункции + +Функция ПолучитьКонтекстПоПути(КонтекстЯдра, Путь) Экспорт + ЗагрузчикФайла = КонтекстЯдра.Плагин("ЗагрузчикФайла"); + Обработка = ЗагрузчикФайла.ПолучитьКонтекстПоПути(КонтекстЯдра, Путь); + + Возврат Обработка; +КонецФункции +// } Loader interface + +Функция ЗагрузитьКаталог(КонтекстЯдра, КаталогДляЗагрузки) + КонтейнерКаталога = КонтекстЯдра.Плагин("ПостроительДереваТестов").СоздатьКонтейнер(КаталогДляЗагрузки.Имя); + НайденныеФайлы = НайтиФайлы(КаталогДляЗагрузки.ПолноеИмя, "*", Ложь); + Для каждого Файл из НайденныеФайлы Цикл + #Если Клиент Тогда + ОбработкаПрерыванияПользователя(); + #КонецЕсли + Если Файл.ЭтоКаталог() Тогда + КонтейнерДочернегоКаталога = ЗагрузитьКаталог(КонтекстЯдра, Файл); + Если КонтейнерДочернегоКаталога.Строки.Количество() > 0 Тогда + КонтейнерКаталога.Строки.Добавить(КонтейнерДочернегоКаталога); + КонецЕсли; + ИначеЕсли НРег(Файл.Расширение) = ".epf" Тогда + КонтейнерФайла = ЗагрузитьФайл(КонтекстЯдра, Файл); + Если ЗначениеЗаполнено(КонтейнерФайла) И КонтейнерФайла.Строки.Количество() > 0 Тогда + КонтейнерКаталога.Строки.Добавить(КонтейнерФайла); + КонецЕсли; + КонецЕсли; + КонецЦикла; + + Возврат КонтейнерКаталога; +КонецФункции + +Функция ЗагрузитьФайл(КонтекстЯдра, ФайлОбработки) + ЗагрузчикФайла = КонтекстЯдра.Плагин("ЗагрузчикФайла"); + Попытка + ДеревоТестовФайла = ЗагрузчикФайла.Загрузить(КонтекстЯдра, ФайлОбработки.ПолноеИмя); + Результат = ДеревоТестовФайла; + Если ДеревоТестовФайла.Строки.Количество() > 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\232\320\260\321\202\320\260\320\273\320\276\320\263\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\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/maps.txt" new file mode 100644 index 00000000..d55d2535 --- /dev/null +++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/maps.txt" @@ -0,0 +1 @@ +Form\Форма\Форма.txt-->b5f25876-92c4-4d3f-ac5d-d5ee489cf5d4.0 (29, 123) diff --git "a/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/renames.txt" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/renames.txt" new file mode 100644 index 00000000..016c7042 --- /dev/null +++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/renames.txt" @@ -0,0 +1,9 @@ +47df0590-78c7-4bb0-bf65-a5c6ef41a8d7.0\info-->und\47df0590-78c7-4bb0-bf65-a5c6ef41a8d7.0\info +47df0590-78c7-4bb0-bf65-a5c6ef41a8d7.0\text-->ObjectModule.txt +b5f25876-92c4-4d3f-ac5d-d5ee489cf5d4-->und\b5f25876-92c4-4d3f-ac5d-d5ee489cf5d4 +b5f25876-92c4-4d3f-ac5d-d5ee489cf5d4.0-->und\b5f25876-92c4-4d3f-ac5d-d5ee489cf5d4.0 +copyinfo-->und\copyinfo +d8b3f25c-4b0c-4bad-8a2e-f7cf4018a448-->und\d8b3f25c-4b0c-4bad-8a2e-f7cf4018a448 +root-->und\root +version-->und\version +versions-->und\versions diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\220\320\262\321\202\320\276\320\242\320\265\321\201\321\202\321\213\320\247\320\265\321\200\320\265\320\267\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/47df0590-78c7-4bb0-bf65-a5c6ef41a8d7.0/info" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\220\320\262\321\202\320\276\320\242\320\265\321\201\321\202\321\213\320\247\320\265\321\200\320\265\320\267\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" rename to "src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/47df0590-78c7-4bb0-bf65-a5c6ef41a8d7.0/info" diff --git "a/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/b5f25876-92c4-4d3f-ac5d-d5ee489cf5d4" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/b5f25876-92c4-4d3f-ac5d-d5ee489cf5d4" new file mode 100644 index 00000000..22c937fa --- /dev/null +++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/b5f25876-92c4-4d3f-ac5d-d5ee489cf5d4" @@ -0,0 +1,10 @@ +{1, +{1, +{0, +{9, +{0, +{0,0,b5f25876-92c4-4d3f-ac5d-d5ee489cf5d4},"Форма", +{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\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/b5f25876-92c4-4d3f-ac5d-d5ee489cf5d4.0" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/b5f25876-92c4-4d3f-ac5d-d5ee489cf5d4.0" new file mode 100644 index 00000000..5707dc11 --- /dev/null +++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/b5f25876-92c4-4d3f-ac5d-d5ee489cf5d4.0" @@ -0,0 +1,161 @@ +{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}, +{0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},0,0,1} +}," +// { Plugin interface +&НаКлиенте +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); +КонецФункции + +&НаСервере +Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); +КонецФункции +// } Plugin interface + +// { Loader interface +&НаКлиенте +Функция ВыбратьПутьИнтерактивно(ТекущийПуть = """") Экспорт + ДиалогВыбораКаталога = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога); + ДиалогВыбораКаталога.Каталог = ТекущийПуть; + + Результат = """"; + Если ДиалогВыбораКаталога.Выбрать() Тогда + Результат = ДиалогВыбораКаталога.Каталог; + КонецЕсли; + + Возврат Результат; +КонецФункции + +&НаКлиенте +Функция Загрузить(КонтекстЯдра, Путь) Экспорт + КаталогДляЗагрузки = Новый Файл(Путь); + Если Не (КаталогДляЗагрузки.Существует() И КаталогДляЗагрузки.ЭтоКаталог()) Тогда + ВызватьИсключение ""Для загрузки передан не каталог файловой системы <"" + КаталогДляЗагрузки.ПолноеИмя + "">""; + КонецЕсли; + ДеревоТестов = ЗагрузитьКаталог(КонтекстЯдра, КаталогДляЗагрузки); + ДеревоТестов.Имя = КаталогДляЗагрузки.ПолноеИмя; + + Возврат ДеревоТестов; +КонецФункции + +&НаКлиенте +Функция ПолучитьКонтекстПоПути(КонтекстЯдра, Путь) Экспорт + ЗагрузчикФайла = КонтекстЯдра.Плагин(""ЗагрузчикФайла""); + Контекст = ЗагрузчикФайла.ПолучитьКонтекстПоПути(КонтекстЯдра, Путь); + + Возврат Контекст; +КонецФункции +// } Loader interface + +&НаКлиенте +Функция ЗагрузитьКаталог(КонтекстЯдра, КаталогДляЗагрузки) + КонтейнерКаталога = КонтекстЯдра.Плагин(""ПостроительДереваТестов"").СоздатьКонтейнер(КаталогДляЗагрузки.Имя); + НайденныеФайлы = НайтиФайлы(КаталогДляЗагрузки.ПолноеИмя, ""*"", Ложь); + Для каждого Файл из НайденныеФайлы Цикл + ОбработкаПрерыванияПользователя(); + Если Файл.ЭтоКаталог() Тогда + КонтейнерДочернегоКаталога = ЗагрузитьКаталог(КонтекстЯдра, Файл); + Если КонтейнерДочернегоКаталога.Строки.Количество() > 0 Тогда + КонтейнерКаталога.Строки.Добавить(КонтейнерДочернегоКаталога); + КонецЕсли; + ИначеЕсли НРег(Файл.Расширение) = "".epf"" Тогда + КонтейнерФайла = ЗагрузитьФайл(КонтекстЯдра, Файл); + Если ЗначениеЗаполнено(КонтейнерФайла) И КонтейнерФайла.Строки.Количество() > 0 Тогда + КонтейнерКаталога.Строки.Добавить(КонтейнерФайла); + КонецЕсли; + КонецЕсли; + КонецЦикла; + + Возврат КонтейнерКаталога; +КонецФункции + +&НаКлиенте +Функция ЗагрузитьФайл(КонтекстЯдра, ФайлОбработки) + ЗагрузчикФайла = КонтекстЯдра.Плагин(""ЗагрузчикФайла""); + Попытка + ДеревоТестовФайла = ЗагрузчикФайла.Загрузить(КонтекстЯдра, ФайлОбработки.ПолноеИмя); + Результат = ДеревоТестовФайла; + Если ДеревоТестовФайла.Строки.Количество() > 0 Тогда + Результат = ДеревоТестовФайла.Строки[0]; + КонецЕсли; + + Исключение + Сообщить(""Не удалось загрузить файл "" + ФайлОбработки.ПолноеИмя + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); + Результат = Неопределено; + КонецПопытки; + + Возврат Результат; +КонецФункции + +// { Helpers +&НаСервере +Функция ЭтотОбъектНаСервере() + Возврат РеквизитФормыВЗначение(""Объект""); +КонецФункции +// } Helpers +", +{4,1, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",fad1daa2-cbc6-40fb-b91a-a1cb8474407d} +}, +{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 +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,0}, +{0,0}, +{0,0}, +{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\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/copyinfo" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/copyinfo" new file mode 100644 index 00000000..e353405a --- /dev/null +++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/copyinfo" @@ -0,0 +1,16 @@ +{4, +{2, +{47df0590-78c7-4bb0-bf65-a5c6ef41a8d7,47df0590-78c7-4bb0-bf65-a5c6ef41a8d7,1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ЗагрузчикКаталога"} +}, +{b5f25876-92c4-4d3f-ac5d-d5ee489cf5d4,b5f25876-92c4-4d3f-ac5d-d5ee489cf5d4,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} +} +}, +{1, +{fad1daa2-cbc6-40fb-b91a-a1cb8474407d,47df0590-78c7-4bb0-bf65-a5c6ef41a8d7,0} +}, +{0}, +{0,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\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/d8b3f25c-4b0c-4bad-8a2e-f7cf4018a448" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/d8b3f25c-4b0c-4bad-8a2e-f7cf4018a448" new file mode 100644 index 00000000..8a14c22d --- /dev/null +++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/d8b3f25c-4b0c-4bad-8a2e-f7cf4018a448" @@ -0,0 +1,17 @@ +{1, +{d8b3f25c-4b0c-4bad-8a2e-f7cf4018a448},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,fad1daa2-cbc6-40fb-b91a-a1cb8474407d,6f9c67a5-0999-415c-a776-a722b16a0625, +{0, +{0, +{0,0,47df0590-78c7-4bb0-bf65-a5c6ef41a8d7},"ЗагрузчикКаталога", +{1,"ru","Загрузчик каталога"},""} +},b5f25876-92c4-4d3f-ac5d-d5ee489cf5d4,"",00000000-0000-0000-0000-000000000000},4, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, +{3daea016-69b7-4ed4-9453-127911372fe6,0}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,b5f25876-92c4-4d3f-ac5d-d5ee489cf5d4}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,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\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/root" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/root" new file mode 100644 index 00000000..cf5c3164 --- /dev/null +++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/root" @@ -0,0 +1 @@ +{2,d8b3f25c-4b0c-4bad-8a2e-f7cf4018a448,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\220\320\262\321\202\320\276\320\242\320\265\321\201\321\202\321\213\320\247\320\265\321\200\320\265\320\267\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/und/version" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/version" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\220\320\262\321\202\320\276\320\242\320\265\321\201\321\202\321\213\320\247\320\265\321\200\320\265\320\267\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/und/version" rename to "src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/version" diff --git "a/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\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\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/versions" new file mode 100644 index 00000000..01eff009 --- /dev/null +++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/versions" @@ -0,0 +1 @@ +{1,9,"",a73548cb-8b09-4339-8e65-5dafbc67e9ba,"versions",836f05f6-3716-4525-b8a7-88884cc8e1bf,"root",41c35924-0c56-4645-900c-4012d0cc1ecf,"b5f25876-92c4-4d3f-ac5d-d5ee489cf5d4",e55900cb-dc21-430b-b801-929e89884b34,"d8b3f25c-4b0c-4bad-8a2e-f7cf4018a448",8e5cff37-ef98-4a5c-86dc-c11d1ac0dbe5,"version",a3e2635a-3df5-4011-9887-a2c5b784e886,"47df0590-78c7-4bb0-bf65-a5c6ef41a8d7.0",ae0ef434-0699-4a5f-a4a7-53a1fb8e84cc,"b5f25876-92c4-4d3f-ac5d-d5ee489cf5d4.0",b70ab356-25f4-483e-948b-8db3c9344f08,"copyinfo",338ec1da-041e-4029-afcf-50abe78abc74} \ 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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" new file mode 100644 index 00000000..7485c980 --- /dev/null +++ "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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" @@ -0,0 +1 @@ +&НаКлиенте Перем КэшПостроительДереваТестов; &НаКлиенте Перем ЗагружаемыйПуть; &НаКлиенте Перем КонтейнерТестов; &НаКлиенте Перем ТекущаяГруппа; // { Plugin interface &НаКлиенте Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции &НаКлиенте Процедура Инициализация(КонтекстЯдраПараметр) Экспорт КонецПроцедуры &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); КонецФункции // } Plugin interface // { Loader interface &НаКлиенте Функция ВыбратьПутьИнтерактивно(ТекущийПуть = "") Экспорт ДиалогВыбораТеста = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); ДиалогВыбораТеста.Фильтр = "Обработка-тест (*.epf)|*.epf|Все файлы|*"; ДиалогВыбораТеста.МножественныйВыбор = Истина; ДиалогВыбораТеста.ПроверятьСуществованиеФайла = Истина; ДиалогВыбораТеста.ПолноеИмяФайла = ТекущийПуть; Результат = Новый ТекстовыйДокумент; Если ДиалогВыбораТеста.Выбрать() Тогда Для каждого ПолноеИмяФайла Из ДиалогВыбораТеста.ВыбранныеФайлы Цикл Результат.ДобавитьСтроку(ПолноеИмяФайла); КонецЦикла; КонецЕсли; Текст = Результат.ПолучитьТекст(); Возврат Лев(Текст, СтрДлина(Текст) - 1); КонецФункции &НаКлиенте Функция Загрузить(КонтекстЯдра, Путь) Экспорт ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); ДеревоТестов = Неопределено; Для Сч = 1 По СтрЧислоСтрок(Путь) Цикл ФайлОбработки = Новый Файл(СтрПолучитьСтроку(Путь, Сч)); ПроверитьКорректностьФайла(ФайлОбработки); Если ДеревоТестов = Неопределено Тогда ДеревоТестов = ПостроительДереваТестов.СоздатьКонтейнер(ФайлОбработки.Путь); КонецЕсли; КонтекстЯдра.ПодключитьВнешнююОбработку(ФайлОбработки); КонтейнерССервернымиТестамиОбработки = ЗагрузитьФайлНаСервере(ФайлОбработки.ПолноеИмя); КонтейнерСКлиентскимиТестамиОбработки = ЗагрузитьФайлНаКлиенте(ПостроительДереваТестов, ФайлОбработки); Если КонтейнерСКлиентскимиТестамиОбработки.Строки.Количество() > 0 Тогда КонтейнерССервернымиТестамиОбработки.Строки.Добавить(КонтейнерСКлиентскимиТестамиОбработки); КонецЕсли; Если КонтейнерССервернымиТестамиОбработки.Строки.Количество() > 0 Тогда ДеревоТестов.Строки.Добавить(КонтейнерССервернымиТестамиОбработки); КонецЕсли; КонецЦикла; Возврат ДеревоТестов; КонецФункции &НаКлиенте Функция ПолучитьКонтекстПоПути(КонтекстЯдра, Путь) Экспорт Перем Контекст; Если ЭтоПутьККлиентскомуКонтексту(Путь) Тогда Контекст = ПолучитьКлиентскийКонтекст(КонтекстЯдра, Путь); Иначе Контекст = ПолучитьСерверныйКонтекст(КонтекстЯдра, Путь); КонецЕсли; Возврат Контекст; КонецФункции // } Loader interface &НаКлиенте Функция ПолучитьКлиентскийКонтекст(КонтекстЯдра, Путь) ПрефиксПутейСФормами = ПрефиксПутейСФормами(); ФайлОбработки = Новый Файл(Сред(Путь, СтрДлина(ПрефиксПутейСФормами) + 1)); ПроверитьКорректностьФайла(ФайлОбработки); КонтекстЯдра.ПодключитьВнешнююОбработку(ФайлОбработки); Контекст = ПолучитьФорму("ВнешняяОбработка." + ФайлОбработки.ИмяБезРасширения + ".Форма", , ЭтаФорма, Новый УникальныйИдентификатор); Возврат Контекст; КонецФункции &НаКлиенте Функция ПолучитьСерверныйКонтекст(КонтекстЯдра, Путь) ФайлОбработки = Новый Файл(Путь); ПроверитьКорректностьФайла(ФайлОбработки); КонтекстЯдра.ПодключитьВнешнююОбработку(ФайлОбработки); Контекст = КонтекстЯдра.ПолучитьОписаниеКонтекстаВыполнения(ФайлОбработки.ИмяБезРасширения); Возврат Контекст; КонецФункции &НаКлиенте Процедура ПроверитьКорректностьФайла(Файл) Если Не Файл.Существует() Тогда ВызватьИсключение "Переданный файл не существует файл <" + Файл.ПолноеИмя + ">"; КонецЕсли; Если Файл.ЭтоКаталог() Тогда ВызватьИсключение "Передан каталог вместо файла <" + Файл.ПолноеИмя + ">"; КонецЕсли; КонецПроцедуры &НаСервере Функция ЗагрузитьФайлНаСервере(ПолныйПутьКОбработкеНаКлиенте) ПостроительДереваТестов = ВнешниеОбработки.Создать("ПостроительДереваТестов", Ложь); ФайлОбработки = Новый Файл(ПолныйПутьКОбработкеНаКлиенте); Контейнер = ЭтотОбъектНаСервере().ЗагрузитьФайл(ПостроительДереваТестов, ФайлОбработки); Возврат Контейнер; КонецФункции &НаКлиенте Функция ЗагрузитьФайлНаКлиенте(ПостроительДереваТестов, ФайлОбработки) ФормаОбработки = ПолучитьФорму("ВнешняяОбработка." + ФайлОбработки.ИмяБезРасширения + ".Форма"); Попытка Контейнер = ЗагрузитьТестыВНовомФормате_НаКлиенте(ПостроительДереваТестов, ФормаОбработки, ФайлОбработки); Исключение ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); Если ЭтоНовыйФорматОбработки(ТекстОшибки) Тогда ВызватьИсключение; Иначе Контейнер = ЗагрузитьТестыВСтаромФормате_НаКлиенте(ПостроительДереваТестов, ФормаОбработки, ФайлОбработки); КонецЕсли; КонецПопытки; Возврат Контейнер; КонецФункции &НаКлиенте Функция ЗагрузитьТестыВНовомФормате_НаКлиенте(ПостроительДереваТестов, ФормаОбработки, ФайлОбработки) ЗагружаемыйПуть = ФайлОбработки.ПолноеИмя; КэшПостроительДереваТестов = ПостроительДереваТестов; КонтейнерТестов = ПостроительДереваТестов.СоздатьКонтейнер(ПрефиксПутейСФормами() + ФайлОбработки.ИмяБезРасширения, ПостроительДереваТестов.Объект.ИконкиУзловДереваТестов.Форма); ФормаОбработки.ЗаполнитьНаборТестов(ЭтаФорма); Результат = КонтейнерТестов; КонтейнерТестов = Неопределено; ТекущаяГруппа = Неопределено; Возврат Результат; КонецФункции &НаКлиенте Функция ЭтоНовыйФорматОбработки(Знач ТекстОшибки) ЭтоНовыйФорматОбработки = Не ЕстьОшибка_МетодОбъектаНеОбнаружен(ТекстОшибки, "ЗаполнитьНаборТестов"); Возврат ЭтоНовыйФорматОбработки; КонецФункции &НаКлиенте Функция ЗагрузитьТестыВСтаромФормате_НаКлиенте(ПостроительДереваТестов, ФормаОбработки, ФайлОбработки) Попытка СписокТестов = ФормаОбработки.ПолучитьСписокТестов(); Исключение Описание = ОписаниеОшибки(); Если Найти(Описание, "Недостаточно фактических параметров") > 0 Тогда ВызватьИсключение "Старый формат тестов в обработке тестов <"+ФайлОбработки.ПолноеИмя+">."+Символы.ПС+ "Метод ПолучитьСписокТестов сейчас не принимает параметров"; КонецЕсли; Если Найти(Описание, "Метод объекта не обнаружен (ПолучитьСписокТестов)") = 0 Тогда ВызватьИсключение Описание; КонецЕсли; КонецПопытки; СлучайныйПорядокВыполнения = Истина; Попытка СлучайныйПорядокВыполнения = ФормаОбработки.РазрешенСлучайныйПорядокВыполненияТестов(); Исключение КонецПопытки; Контейнер = ПолучитьКонтейнерДереваТестовПоСпискуТестовНаСервере(СписокТестов, ПрефиксПутейСФормами() + ФайлОбработки.ИмяБезРасширения, ПрефиксПутейСФормами() + ФайлОбработки.ПолноеИмя, СлучайныйПорядокВыполнения); Контейнер.ИконкаУзла = ПостроительДереваТестов.Объект.ИконкиУзловДереваТестов.Форма; Возврат Контейнер; КонецФункции &НаСервере Функция ПолучитьКонтейнерДереваТестовПоСпискуТестовНаСервере(СписокТестов, ИмяКонтейнера, Путь, СлучайныйПорядокВыполнения = Истина) ПостроительДереваТестов = ВнешниеОбработки.Создать("ПостроительДереваТестов", Ложь); Контейнер = ЭтотОбъектНаСервере().ПолучитьКонтейнерДереваТестовПоСпискуТестов(ПостроительДереваТестов, СписокТестов, ИмяКонтейнера, Путь, СлучайныйПорядокВыполнения); Возврат Контейнер; КонецФункции &НаКлиенте Функция ЭтоПутьККлиентскомуКонтексту(Путь) ПрефиксПутейСФормами = ПрефиксПутейСФормами(); Результат = (Найти(Путь, ПрефиксПутейСФормами) = 1); Возврат Результат; КонецФункции &НаКлиенте Функция ПрефиксПутейСФормами() Возврат "УпрФорма # "; КонецФункции // { API нового формата &НаКлиенте Процедура СлучайныйПорядокВыполнения() Экспорт Если ЗначениеЗаполнено(КонтейнерТестов) Тогда КонтейнерТестов.СлучайныйПорядокВыполнения = Истина; КонецЕсли; КонецПроцедуры &НаКлиенте Процедура СтрогийПорядокВыполнения() Экспорт Если ЗначениеЗаполнено(КонтейнерТестов) Тогда КонтейнерТестов.СлучайныйПорядокВыполнения = Ложь; КонецЕсли; КонецПроцедуры &НаКлиенте Процедура НачатьГруппу(Знач ИмяГруппы, Знач СтрогийПорядокВыполнения = Ложь) Экспорт ТекущаяГруппа = КэшПостроительДереваТестов.СоздатьКонтейнер(ИмяГруппы, КэшПостроительДереваТестов.Объект.ИконкиУзловДереваТестов.Группа); ТекущаяГруппа.СлучайныйПорядокВыполнения = Не СтрогийПорядокВыполнения; КонтейнерТестов.Строки.Добавить(ТекущаяГруппа); КонецПроцедуры &НаКлиенте Функция Добавить(Знач ИмяМетода, Знач Параметры = Неопределено, Знач Представление = "") Экспорт Элемент = КэшПостроительДереваТестов.СоздатьЭлемент(ПрефиксПутейСФормами() + ЗагружаемыйПуть, ИмяМетода, Представление); Если ЗначениеЗаполнено(Параметры) И ТипЗнч(Параметры) = Тип("Массив") Тогда Элемент.Параметры = Параметры; КонецЕсли; Если ЗначениеЗаполнено(ТекущаяГруппа) Тогда ТекущаяГруппа.Строки.Добавить(Элемент); Иначе КонтейнерТестов.Строки.Добавить(Элемент); КонецЕсли; Возврат Элемент; КонецФункции &НаКлиенте Функция ПараметрыТеста(Знач Парам1, Знач Парам2 = Неопределено, Знач Парам3 = Неопределено, Знач Парам4 = Неопределено, Знач Парам5 = Неопределено, Знач Парам6 = Неопределено, Знач Парам7 = Неопределено, Знач Парам8 = Неопределено, Знач Парам9 = Неопределено) Экспорт ВсеПараметры = Новый Массив; ВсеПараметры.Добавить(Парам1); ВсеПараметры.Добавить(Парам2); ВсеПараметры.Добавить(Парам3); ВсеПараметры.Добавить(Парам4); ВсеПараметры.Добавить(Парам5); ВсеПараметры.Добавить(Парам6); ВсеПараметры.Добавить(Парам7); ВсеПараметры.Добавить(Парам8); ВсеПараметры.Добавить(Парам9); ИндексСПоследнимПараметром = 0; Для Сч = 0 По ВсеПараметры.ВГраница() Цикл Индекс = ВсеПараметры.ВГраница() - Сч; Если ВсеПараметры[Индекс] <> Неопределено Тогда ИндексСПоследнимПараметром = Индекс; Прервать; КонецЕсли; КонецЦикла; ПараметрыТеста = Новый Массив; Для Сч = 0 По ИндексСПоследнимПараметром Цикл ПараметрыТеста.Добавить(ВсеПараметры[Сч]); КонецЦикла; Возврат ПараметрыТеста; КонецФункции // } API нового формата // { Helpers &НаСервере Функция ЭтотОбъектНаСервере() Возврат РеквизитФормыВЗначение("Объект"); КонецФункции &НаКлиенте Функция ЕстьОшибка_МетодОбъектаНеОбнаружен(Знач ТекстОшибки, Знач ИмяМетода) Результат = Ложь; Если Найти(текстОшибки, "Метод объекта не обнаружен (" + ИмяМетода + ")") > 0 ИЛИ Найти(текстОшибки, "Object method not found (" + ИмяМетода + ")") > 0 Тогда Результат = Истина; КонецЕсли; Возврат Результат; КонецФункции // } Helpers \ 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.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/ObjectModule.txt" new file mode 100644 index 00000000..fa4ad593 --- /dev/null +++ "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.txt" @@ -0,0 +1,245 @@ +Перем КэшПостроительДереваТестов; +Перем ЗагружаемыйПуть; + +Перем КонтейнерТестов; +Перем ТекущаяГруппа; + +// { Plugin interface +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Результат = Новый Структура; + Результат.Вставить("Тип", ВозможныеТипыПлагинов.Загрузчик); + Результат.Вставить("Идентификатор", Метаданные().Имя); + Результат.Вставить("Представление", "Загрузить тесты из файлов"); + + Возврат Новый ФиксированнаяСтруктура(Результат); +КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт +КонецПроцедуры + +// } Plugin interface + +// { Loader interface +#Если ТолстыйКлиентОбычноеПриложение Тогда +Функция ВыбратьПутьИнтерактивно(ТекущийПуть = "") Экспорт + ДиалогВыбораТеста = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); + ДиалогВыбораТеста.Фильтр = "Обработка-тест (*.epf)|*.epf|Все файлы|*"; + ДиалогВыбораТеста.МножественныйВыбор = Истина; + ДиалогВыбораТеста.ПроверятьСуществованиеФайла = Истина; + ДиалогВыбораТеста.ПолноеИмяФайла = ТекущийПуть; + + Результат = Новый ТекстовыйДокумент; + Если ДиалогВыбораТеста.Выбрать() Тогда + Для каждого ПолноеИмяФайла Из ДиалогВыбораТеста.ВыбранныеФайлы Цикл + Результат.ДобавитьСтроку(ПолноеИмяФайла); + КонецЦикла; + КонецЕсли; + Текст = Результат.ПолучитьТекст(); + + Возврат Лев(Текст, СтрДлина(Текст) - 1); +КонецФункции +#КонецЕсли + +Функция Загрузить(КонтекстЯдра, Путь) Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + ДеревоТестов = Неопределено; + Для Сч = 1 По СтрЧислоСтрок(Путь) Цикл + ФайлОбработки = Новый Файл(СтрПолучитьСтроку(Путь, Сч)); + ПроверитьКорректностьФайла(ФайлОбработки); + + Если ДеревоТестов = Неопределено Тогда + ДеревоТестов = ПостроительДереваТестов.СоздатьКонтейнер(ФайлОбработки.Путь); + КонецЕсли; + + КонтейнерСТестамиОбработки = ЗагрузитьФайл(ПостроительДереваТестов, ФайлОбработки); + Если КонтейнерСТестамиОбработки.Строки.Количество() > 0 Тогда + ДеревоТестов.Строки.Добавить(КонтейнерСТестамиОбработки); + КонецЕсли; + КонецЦикла; + + Возврат ДеревоТестов; +КонецФункции + +Функция ПолучитьКонтекстПоПути(КонтекстЯдра, Путь) Экспорт + ФайлОбработки = Новый Файл(Путь); + ПроверитьКорректностьФайла(ФайлОбработки); + + Обработка = ВнешниеОбработки.Создать(ФайлОбработки.ПолноеИмя, Ложь); + + Возврат Обработка; +КонецФункции +// } Loader interface + +Процедура ПроверитьКорректностьФайла(Файл) + Если Не Файл.Существует() Тогда + ВызватьИсключение "Переданный файл не существует файл <" + Файл.ПолноеИмя + ">"; + КонецЕсли; + Если Файл.ЭтоКаталог() Тогда + ВызватьИсключение "Передан каталог вместо файла <" + Файл.ПолноеИмя + ">"; + КонецЕсли; +КонецПроцедуры + +Функция ЗагрузитьФайл(ПостроительДереваТестов, ФайлОбработки) Экспорт + Обработка = ВнешниеОбработки.Создать(ФайлОбработки.ПолноеИмя, Ложь); + Попытка + Контейнер = ЗагрузитьТестыВНовомФормате(ПостроительДереваТестов, Обработка, ФайлОбработки); + Исключение + ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + Если ЭтоНовыйФорматОбработки(ТекстОшибки) Тогда + ВызватьИсключение; + Иначе + Контейнер = ЗагрузитьТестыВСтаромФормате(ПостроительДереваТестов, Обработка, ФайлОбработки); + КонецЕсли; + КонецПопытки; + + Возврат Контейнер; +КонецФункции + +Функция ЗагрузитьТестыВНовомФормате(ПостроительДереваТестов, Обработка, ФайлОбработки) + ЗагружаемыйПуть = ФайлОбработки.ПолноеИмя; + КэшПостроительДереваТестов = ПостроительДереваТестов; + КонтейнерТестов = ПостроительДереваТестов.СоздатьКонтейнер(ФайлОбработки.ИмяБезРасширения, ПостроительДереваТестов.ИконкиУзловДереваТестов.Обработка); + Обработка.ЗаполнитьНаборТестов(ЭтотОбъект); + Результат = КонтейнерТестов; + КонтейнерТестов = Неопределено; + ТекущаяГруппа = Неопределено; + + Возврат Результат; +КонецФункции + +Функция ЭтоНовыйФорматОбработки(Знач ТекстОшибки) + ЭтоНовыйФорматОбработки = Не ЕстьОшибка_МетодОбъектаНеОбнаружен(ТекстОшибки, "ЗаполнитьНаборТестов"); + + Возврат ЭтоНовыйФорматОбработки; +КонецФункции + +Функция ЗагрузитьТестыВСтаромФормате(ПостроительДереваТестов, Обработка, ФайлОбработки) + Попытка + СписокТестов = Обработка.ПолучитьСписокТестов(); + Исключение + Описание = ОписаниеОшибки(); + Если Найти(Описание, "Недостаточно фактических параметров") > 0 Тогда + ВызватьИсключение "Старый формат тестов в обработке тестов <"+ФайлОбработки.ПолноеИмя+">."+Символы.ПС+ + "Метод ПолучитьСписокТестов сейчас не принимает параметров"; + КонецЕсли; + + Если Найти(Описание, "Метод объекта не обнаружен (ПолучитьСписокТестов)") = 0 Тогда + ВызватьИсключение Описание; + КонецЕсли; + КонецПопытки; + + СлучайныйПорядокВыполнения = Истина; + Попытка + СлучайныйПорядокВыполнения = Обработка.РазрешенСлучайныйПорядокВыполненияТестов(); + Исключение + КонецПопытки; + Результат = ПолучитьКонтейнерДереваТестовПоСпискуТестов(ПостроительДереваТестов, СписокТестов, ФайлОбработки.ИмяБезРасширения, ФайлОбработки.ПолноеИмя, СлучайныйПорядокВыполнения); + + Возврат Результат; +КонецФункции + +Функция ПолучитьКонтейнерДереваТестовПоСпискуТестов(ПостроительДереваТестов, СписокТестов, ИмяКонтейнера, Путь, СлучайныйПорядокВыполнения = Истина) Экспорт + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер(ИмяКонтейнера, ПостроительДереваТестов.ИконкиУзловДереваТестов.Обработка); + Контейнер.СлучайныйПорядокВыполнения = СлучайныйПорядокВыполнения; + Если ЗначениеЗаполнено(СписокТестов) И ТипЗнч(СписокТестов) = Тип("Массив") Тогда + Для каждого Тест Из СписокТестов Цикл + Элемент = Неопределено; + Если ТипЗнч(Тест) = Тип("Строка") Тогда + Элемент = ПостроительДереваТестов.СоздатьЭлемент(Путь, Тест); + ИначеЕсли ТипЗнч(Тест) = Тип("Структура") Тогда + ИмяМетода = Тест.ИмяТеста; + Представление = Неопределено; + Если Не Тест.Свойство("ПредставлениеТеста", Представление) Тогда + Представление = ИмяМетода; + КонецЕсли; + Элемент = ПостроительДереваТестов.СоздатьЭлемент(Путь, ИмяМетода, Представление); + Параметр = Неопределено; + Если Тест.Свойство("Параметр", Параметр) Тогда + Элемент.Параметры.Добавить(Параметр); + КонецЕсли; + Иначе + ВызватьИсключение "Тест может быть описан либо строкой либо структурой"; + КонецЕсли; + Если ЗначениеЗаполнено(Элемент) Тогда + Контейнер.Строки.Добавить(Элемент); + КонецЕсли; + КонецЦикла; + КонецЕсли; + + Возврат Контейнер; +КонецФункции + +// { API нового формата +Процедура СлучайныйПорядокВыполнения() Экспорт + Если ЗначениеЗаполнено(КонтейнерТестов) Тогда + КонтейнерТестов.СлучайныйПорядокВыполнения = Истина; + КонецЕсли; +КонецПроцедуры + +Процедура СтрогийПорядокВыполнения() Экспорт + Если ЗначениеЗаполнено(КонтейнерТестов) Тогда + КонтейнерТестов.СлучайныйПорядокВыполнения = Ложь; + КонецЕсли; +КонецПроцедуры + +Процедура НачатьГруппу(Знач ИмяГруппы, Знач СтрогийПорядокВыполнения = Ложь) Экспорт + ТекущаяГруппа = КэшПостроительДереваТестов.СоздатьКонтейнер(ИмяГруппы, КэшПостроительДереваТестов.ИконкиУзловДереваТестов.Группа); + ТекущаяГруппа.СлучайныйПорядокВыполнения = Не СтрогийПорядокВыполнения; + КонтейнерТестов.Строки.Добавить(ТекущаяГруппа); +КонецПроцедуры + +Функция Добавить(Знач ИмяМетода, Знач Параметры = Неопределено, Знач Представление = "") Экспорт + Элемент = КэшПостроительДереваТестов.СоздатьЭлемент(ЗагружаемыйПуть, ИмяМетода, Представление); + Если ЗначениеЗаполнено(Параметры) И ТипЗнч(Параметры) = Тип("Массив") Тогда + Элемент.Параметры = Параметры; + КонецЕсли; + Если ЗначениеЗаполнено(ТекущаяГруппа) Тогда + ТекущаяГруппа.Строки.Добавить(Элемент); + Иначе + КонтейнерТестов.Строки.Добавить(Элемент); + КонецЕсли; + + Возврат Элемент; +КонецФункции + +Функция ПараметрыТеста(Знач Парам1, Знач Парам2 = Неопределено, Знач Парам3 = Неопределено, Знач Парам4 = Неопределено, Знач Парам5 = Неопределено, Знач Парам6 = Неопределено, Знач Парам7 = Неопределено, Знач Парам8 = Неопределено, Знач Парам9 = Неопределено) Экспорт + ВсеПараметры = Новый Массив; + ВсеПараметры.Добавить(Парам1); + ВсеПараметры.Добавить(Парам2); + ВсеПараметры.Добавить(Парам3); + ВсеПараметры.Добавить(Парам4); + ВсеПараметры.Добавить(Парам5); + ВсеПараметры.Добавить(Парам6); + ВсеПараметры.Добавить(Парам7); + ВсеПараметры.Добавить(Парам8); + ВсеПараметры.Добавить(Парам9); + + ИндексСПоследнимПараметром = 0; + Для Сч = 0 По ВсеПараметры.ВГраница() Цикл + Индекс = ВсеПараметры.ВГраница() - Сч; + Если ВсеПараметры[Индекс] <> Неопределено Тогда + ИндексСПоследнимПараметром = Индекс; + Прервать; + КонецЕсли; + КонецЦикла; + + ПараметрыТеста = Новый Массив; + Для Сч = 0 По ИндексСПоследнимПараметром Цикл + ПараметрыТеста.Добавить(ВсеПараметры[Сч]); + КонецЦикла; + + Возврат ПараметрыТеста; +КонецФункции +// } API нового формата + +// { Helpers +Функция ЕстьОшибка_МетодОбъектаНеОбнаружен(Знач ТекстОшибки, Знач ИмяМетода) + Результат = Ложь; + Если Найти(текстОшибки, "Метод объекта не обнаружен (" + ИмяМетода + ")") > 0 + ИЛИ Найти(текстОшибки, "Object method not found (" + ИмяМетода + ")") > 0 Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; +КонецФункции +// } Helpers 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" new file mode 100644 index 00000000..a0d4b300 --- /dev/null +++ "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" @@ -0,0 +1 @@ +Form\Форма\Форма.txt-->d75f146d-5027-4604-80fd-3b704ddd86a8.0 (29, 325) 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/renames.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/renames.txt" new file mode 100644 index 00000000..3c0c8e26 --- /dev/null +++ "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/renames.txt" @@ -0,0 +1,9 @@ +51efd65a-ed36-4be7-a563-89b34ebfa851-->und\51efd65a-ed36-4be7-a563-89b34ebfa851 +copyinfo-->und\copyinfo +d75f146d-5027-4604-80fd-3b704ddd86a8-->und\d75f146d-5027-4604-80fd-3b704ddd86a8 +d75f146d-5027-4604-80fd-3b704ddd86a8.0-->und\d75f146d-5027-4604-80fd-3b704ddd86a8.0 +dfe532e1-d0ef-4008-afd4-214781ee4960.0\info-->und\dfe532e1-d0ef-4008-afd4-214781ee4960.0\info +dfe532e1-d0ef-4008-afd4-214781ee4960.0\text-->ObjectModule.txt +root-->und\root +version-->und\version +versions-->und\versions 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" new file mode 100644 index 00000000..5641a961 --- /dev/null +++ "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" @@ -0,0 +1,17 @@ +{1, +{51efd65a-ed36-4be7-a563-89b34ebfa851},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,5cce5f28-d8c9-48d6-9f87-928be46d5662,0f2fb654-1692-41fa-b66f-583222be369f, +{0, +{0, +{0,0,dfe532e1-d0ef-4008-afd4-214781ee4960},"ЗагрузчикФайла", +{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}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,d75f146d-5027-4604-80fd-3b704ddd86a8}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,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/copyinfo" "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/copyinfo" new file mode 100644 index 00000000..50002f9f --- /dev/null +++ "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/copyinfo" @@ -0,0 +1,16 @@ +{4, +{2, +{d75f146d-5027-4604-80fd-3b704ddd86a8,d75f146d-5027-4604-80fd-3b704ddd86a8,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} +}, +{dfe532e1-d0ef-4008-afd4-214781ee4960,dfe532e1-d0ef-4008-afd4-214781ee4960,1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ЗагрузчикФайла"} +} +}, +{1, +{5cce5f28-d8c9-48d6-9f87-928be46d5662,dfe532e1-d0ef-4008-afd4-214781ee4960,0} +}, +{0}, +{0,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" "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" new file mode 100644 index 00000000..ad3be4ea --- /dev/null +++ "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,0 +1,10 @@ +{1, +{1, +{0, +{9, +{0, +{0,0,d75f146d-5027-4604-80fd-3b704ddd86a8},"Форма", +{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" new file mode 100644 index 00000000..27983413 --- /dev/null +++ "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" @@ -0,0 +1,363 @@ +{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}, +{0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},0,0,1} +},"&НаКлиенте +Перем КэшПостроительДереваТестов; +&НаКлиенте +Перем ЗагружаемыйПуть; + +&НаКлиенте +Перем КонтейнерТестов; +&НаКлиенте +Перем ТекущаяГруппа; + +// { Plugin interface +&НаКлиенте +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); +КонецФункции + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт +КонецПроцедуры + +&НаСервере +Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); +КонецФункции +// } Plugin interface + +// { Loader interface +&НаКлиенте +Функция ВыбратьПутьИнтерактивно(ТекущийПуть = """") Экспорт + ДиалогВыбораТеста = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); + ДиалогВыбораТеста.Фильтр = ""Обработка-тест (*.epf)|*.epf|Все файлы|*""; + ДиалогВыбораТеста.МножественныйВыбор = Истина; + ДиалогВыбораТеста.ПроверятьСуществованиеФайла = Истина; + ДиалогВыбораТеста.ПолноеИмяФайла = ТекущийПуть; + + Результат = Новый ТекстовыйДокумент; + Если ДиалогВыбораТеста.Выбрать() Тогда + Для каждого ПолноеИмяФайла Из ДиалогВыбораТеста.ВыбранныеФайлы Цикл + Результат.ДобавитьСтроку(ПолноеИмяФайла); + КонецЦикла; + КонецЕсли; + Текст = Результат.ПолучитьТекст(); + + Возврат Лев(Текст, СтрДлина(Текст) - 1); +КонецФункции + +&НаКлиенте +Функция Загрузить(КонтекстЯдра, Путь) Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин(""ПостроительДереваТестов""); + ДеревоТестов = Неопределено; + Для Сч = 1 По СтрЧислоСтрок(Путь) Цикл + ФайлОбработки = Новый Файл(СтрПолучитьСтроку(Путь, Сч)); + ПроверитьКорректностьФайла(ФайлОбработки); + + Если ДеревоТестов = Неопределено Тогда + ДеревоТестов = ПостроительДереваТестов.СоздатьКонтейнер(ФайлОбработки.Путь); + КонецЕсли; + + КонтекстЯдра.ПодключитьВнешнююОбработку(ФайлОбработки); + + КонтейнерССервернымиТестамиОбработки = ЗагрузитьФайлНаСервере(ФайлОбработки.ПолноеИмя); + КонтейнерСКлиентскимиТестамиОбработки = ЗагрузитьФайлНаКлиенте(ПостроительДереваТестов, ФайлОбработки); + Если КонтейнерСКлиентскимиТестамиОбработки.Строки.Количество() > 0 Тогда + КонтейнерССервернымиТестамиОбработки.Строки.Добавить(КонтейнерСКлиентскимиТестамиОбработки); + КонецЕсли; + Если КонтейнерССервернымиТестамиОбработки.Строки.Количество() > 0 Тогда + ДеревоТестов.Строки.Добавить(КонтейнерССервернымиТестамиОбработки); + КонецЕсли; + КонецЦикла; + + Возврат ДеревоТестов; +КонецФункции + +&НаКлиенте +Функция ПолучитьКонтекстПоПути(КонтекстЯдра, Путь) Экспорт + Перем Контекст; + Если ЭтоПутьККлиентскомуКонтексту(Путь) Тогда + Контекст = ПолучитьКлиентскийКонтекст(КонтекстЯдра, Путь); + Иначе + Контекст = ПолучитьСерверныйКонтекст(КонтекстЯдра, Путь); + КонецЕсли; + + Возврат Контекст; +КонецФункции +// } Loader interface + +&НаКлиенте +Функция ПолучитьКлиентскийКонтекст(КонтекстЯдра, Путь) + ПрефиксПутейСФормами = ПрефиксПутейСФормами(); + ФайлОбработки = Новый Файл(Сред(Путь, СтрДлина(ПрефиксПутейСФормами) + 1)); + ПроверитьКорректностьФайла(ФайлОбработки); + КонтекстЯдра.ПодключитьВнешнююОбработку(ФайлОбработки); + Контекст = ПолучитьФорму(""ВнешняяОбработка."" + ФайлОбработки.ИмяБезРасширения + "".Форма"", , ЭтаФорма, Новый УникальныйИдентификатор); + + Возврат Контекст; +КонецФункции + +&НаКлиенте +Функция ПолучитьСерверныйКонтекст(КонтекстЯдра, Путь) + ФайлОбработки = Новый Файл(Путь); + ПроверитьКорректностьФайла(ФайлОбработки); + КонтекстЯдра.ПодключитьВнешнююОбработку(ФайлОбработки); + Контекст = КонтекстЯдра.ПолучитьОписаниеКонтекстаВыполнения(ФайлОбработки.ИмяБезРасширения); + + Возврат Контекст; +КонецФункции + +&НаКлиенте +Процедура ПроверитьКорректностьФайла(Файл) + Если Не Файл.Существует() Тогда + ВызватьИсключение ""Переданный файл не существует файл <"" + Файл.ПолноеИмя + "">""; + КонецЕсли; + Если Файл.ЭтоКаталог() Тогда + ВызватьИсключение ""Передан каталог вместо файла <"" + Файл.ПолноеИмя + "">""; + КонецЕсли; +КонецПроцедуры + +&НаСервере +Функция ЗагрузитьФайлНаСервере(ПолныйПутьКОбработкеНаКлиенте) + ПостроительДереваТестов = ВнешниеОбработки.Создать(""ПостроительДереваТестов"", Ложь); + ФайлОбработки = Новый Файл(ПолныйПутьКОбработкеНаКлиенте); + Контейнер = ЭтотОбъектНаСервере().ЗагрузитьФайл(ПостроительДереваТестов, ФайлОбработки); + + Возврат Контейнер; +КонецФункции + +&НаКлиенте +Функция ЗагрузитьФайлНаКлиенте(ПостроительДереваТестов, ФайлОбработки) + ФормаОбработки = ПолучитьФорму(""ВнешняяОбработка."" + ФайлОбработки.ИмяБезРасширения + "".Форма""); + Попытка + Контейнер = ЗагрузитьТестыВНовомФормате_НаКлиенте(ПостроительДереваТестов, ФормаОбработки, ФайлОбработки); + Исключение + ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + Если ЭтоНовыйФорматОбработки(ТекстОшибки) Тогда + ВызватьИсключение; + Иначе + Контейнер = ЗагрузитьТестыВСтаромФормате_НаКлиенте(ПостроительДереваТестов, ФормаОбработки, ФайлОбработки); + КонецЕсли; + КонецПопытки; + + Возврат Контейнер; +КонецФункции + +&НаКлиенте +Функция ЗагрузитьТестыВНовомФормате_НаКлиенте(ПостроительДереваТестов, ФормаОбработки, ФайлОбработки) + ЗагружаемыйПуть = ФайлОбработки.ПолноеИмя; + КэшПостроительДереваТестов = ПостроительДереваТестов; + КонтейнерТестов = ПостроительДереваТестов.СоздатьКонтейнер(ПрефиксПутейСФормами() + ФайлОбработки.ИмяБезРасширения, ПостроительДереваТестов.Объект.ИконкиУзловДереваТестов.Форма); + ФормаОбработки.ЗаполнитьНаборТестов(ЭтаФорма); + Результат = КонтейнерТестов; + КонтейнерТестов = Неопределено; + ТекущаяГруппа = Неопределено; + + Возврат Результат; +КонецФункции + +&НаКлиенте +Функция ЭтоНовыйФорматОбработки(Знач ТекстОшибки) + ЭтоНовыйФорматОбработки = Не ЕстьОшибка_МетодОбъектаНеОбнаружен(ТекстОшибки, ""ЗаполнитьНаборТестов""); + + Возврат ЭтоНовыйФорматОбработки; +КонецФункции + +&НаКлиенте +Функция ЗагрузитьТестыВСтаромФормате_НаКлиенте(ПостроительДереваТестов, ФормаОбработки, ФайлОбработки) + Попытка + СписокТестов = ФормаОбработки.ПолучитьСписокТестов(); + Исключение + Описание = ОписаниеОшибки(); + Если Найти(Описание, ""Недостаточно фактических параметров"") > 0 Тогда + ВызватьИсключение ""Старый формат тестов в обработке тестов <""+ФайлОбработки.ПолноеИмя+"">.""+Символы.ПС+ + ""Метод ПолучитьСписокТестов сейчас не принимает параметров""; + КонецЕсли; + + Если Найти(Описание, ""Метод объекта не обнаружен (ПолучитьСписокТестов)"") = 0 Тогда + ВызватьИсключение Описание; + КонецЕсли; + КонецПопытки; + СлучайныйПорядокВыполнения = Истина; + Попытка + СлучайныйПорядокВыполнения = ФормаОбработки.РазрешенСлучайныйПорядокВыполненияТестов(); + Исключение + КонецПопытки; + + Контейнер = ПолучитьКонтейнерДереваТестовПоСпискуТестовНаСервере(СписокТестов, ПрефиксПутейСФормами() + ФайлОбработки.ИмяБезРасширения, ПрефиксПутейСФормами() + ФайлОбработки.ПолноеИмя, СлучайныйПорядокВыполнения); + Контейнер.ИконкаУзла = ПостроительДереваТестов.Объект.ИконкиУзловДереваТестов.Форма; + + Возврат Контейнер; +КонецФункции + +&НаСервере +Функция ПолучитьКонтейнерДереваТестовПоСпискуТестовНаСервере(СписокТестов, ИмяКонтейнера, Путь, СлучайныйПорядокВыполнения = Истина) + ПостроительДереваТестов = ВнешниеОбработки.Создать(""ПостроительДереваТестов"", Ложь); + Контейнер = ЭтотОбъектНаСервере().ПолучитьКонтейнерДереваТестовПоСпискуТестов(ПостроительДереваТестов, СписокТестов, ИмяКонтейнера, Путь, СлучайныйПорядокВыполнения); + + Возврат Контейнер; +КонецФункции + +&НаКлиенте +Функция ЭтоПутьККлиентскомуКонтексту(Путь) + ПрефиксПутейСФормами = ПрефиксПутейСФормами(); + Результат = (Найти(Путь, ПрефиксПутейСФормами) = 1); + + Возврат Результат; +КонецФункции + +&НаКлиенте +Функция ПрефиксПутейСФормами() + Возврат ""УпрФорма # ""; +КонецФункции + +// { API нового формата +&НаКлиенте +Процедура СлучайныйПорядокВыполнения() Экспорт + Если ЗначениеЗаполнено(КонтейнерТестов) Тогда + КонтейнерТестов.СлучайныйПорядокВыполнения = Истина; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура СтрогийПорядокВыполнения() Экспорт + Если ЗначениеЗаполнено(КонтейнерТестов) Тогда + КонтейнерТестов.СлучайныйПорядокВыполнения = Ложь; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура НачатьГруппу(Знач ИмяГруппы, Знач СтрогийПорядокВыполнения = Ложь) Экспорт + ТекущаяГруппа = КэшПостроительДереваТестов.СоздатьКонтейнер(ИмяГруппы, КэшПостроительДереваТестов.Объект.ИконкиУзловДереваТестов.Группа); + ТекущаяГруппа.СлучайныйПорядокВыполнения = Не СтрогийПорядокВыполнения; + КонтейнерТестов.Строки.Добавить(ТекущаяГруппа); +КонецПроцедуры + +&НаКлиенте +Функция Добавить(Знач ИмяМетода, Знач Параметры = Неопределено, Знач Представление = """") Экспорт + Элемент = КэшПостроительДереваТестов.СоздатьЭлемент(ПрефиксПутейСФормами() + ЗагружаемыйПуть, ИмяМетода, Представление); + Если ЗначениеЗаполнено(Параметры) И ТипЗнч(Параметры) = Тип(""Массив"") Тогда + Элемент.Параметры = Параметры; + КонецЕсли; + Если ЗначениеЗаполнено(ТекущаяГруппа) Тогда + ТекущаяГруппа.Строки.Добавить(Элемент); + Иначе + КонтейнерТестов.Строки.Добавить(Элемент); + КонецЕсли; + + Возврат Элемент; +КонецФункции + +&НаКлиенте +Функция ПараметрыТеста(Знач Парам1, Знач Парам2 = Неопределено, Знач Парам3 = Неопределено, Знач Парам4 = Неопределено, Знач Парам5 = Неопределено, Знач Парам6 = Неопределено, Знач Парам7 = Неопределено, Знач Парам8 = Неопределено, Знач Парам9 = Неопределено) Экспорт + ВсеПараметры = Новый Массив; + ВсеПараметры.Добавить(Парам1); + ВсеПараметры.Добавить(Парам2); + ВсеПараметры.Добавить(Парам3); + ВсеПараметры.Добавить(Парам4); + ВсеПараметры.Добавить(Парам5); + ВсеПараметры.Добавить(Парам6); + ВсеПараметры.Добавить(Парам7); + ВсеПараметры.Добавить(Парам8); + ВсеПараметры.Добавить(Парам9); + + ИндексСПоследнимПараметром = 0; + Для Сч = 0 По ВсеПараметры.ВГраница() Цикл + Индекс = ВсеПараметры.ВГраница() - Сч; + Если ВсеПараметры[Индекс] <> Неопределено Тогда + ИндексСПоследнимПараметром = Индекс; + Прервать; + КонецЕсли; + КонецЦикла; + + ПараметрыТеста = Новый Массив; + Для Сч = 0 По ИндексСПоследнимПараметром Цикл + ПараметрыТеста.Добавить(ВсеПараметры[Сч]); + КонецЦикла; + + Возврат ПараметрыТеста; +КонецФункции +// } API нового формата + +// { Helpers +&НаСервере +Функция ЭтотОбъектНаСервере() + Возврат РеквизитФормыВЗначение(""Объект""); +КонецФункции + +&НаКлиенте +Функция ЕстьОшибка_МетодОбъектаНеОбнаружен(Знач ТекстОшибки, Знач ИмяМетода) + Результат = Ложь; + Если Найти(текстОшибки, ""Метод объекта не обнаружен ("" + ИмяМетода + "")"") > 0 + ИЛИ Найти(текстОшибки, ""Object method not found ("" + ИмяМетода + "")"") > 0 Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; +КонецФункции +// } Helpers +", +{4,1, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",5cce5f28-d8c9-48d6-9f87-928be46d5662} +}, +{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 +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,0}, +{0,0}, +{0,0}, +{0,0} +} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/und/203005cd-50a9-4bc8-a090-bb8387675810.0/info" "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/dfe532e1-d0ef-4008-afd4-214781ee4960.0/info" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/und/203005cd-50a9-4bc8-a090-bb8387675810.0/info" rename to "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/dfe532e1-d0ef-4008-afd4-214781ee4960.0/info" 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/root" "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/root" new file mode 100644 index 00000000..ae0e1471 --- /dev/null +++ "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/root" @@ -0,0 +1 @@ +{2,51efd65a-ed36-4be7-a563-89b34ebfa851,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/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" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/und/version" rename to "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" 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" new file mode 100644 index 00000000..46a4b792 --- /dev/null +++ "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" @@ -0,0 +1 @@ +{1,9,"",dedbd9a9-89c6-4bc2-9d82-4eae3a0a43ee,"versions",cddd11fd-4a9b-4f80-8f9b-e1b1ed267a5e,"root",6bdf644e-702d-4576-bbc6-0d51015572e4,"51efd65a-ed36-4be7-a563-89b34ebfa851",35002c5e-f7aa-4b6d-9dc3-17d0c16ff4d2,"dfe532e1-d0ef-4008-afd4-214781ee4960.0",5161140a-66e8-4c0c-a059-74bd58c2ad51,"d75f146d-5027-4604-80fd-3b704ddd86a8",c08777aa-27bb-481a-a96a-e161a273ef4f,"version",009aad49-2f04-4edb-bd30-2677e65f466f,"copyinfo",30bfa618-1fff-4aa2-a454-7351653b2719,"d75f146d-5027-4604-80fd-3b704ddd86a8.0",6cb5e7d6-e58d-4645-8c55-10591d225047} \ 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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" new file mode 100644 index 00000000..9d226060 --- /dev/null +++ "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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" @@ -0,0 +1 @@ + // { Plugin interface &НаКлиенте Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); КонецФункции // } Plugin interface // { Helpers &НаСервере Функция ЭтотОбъектНаСервере() Возврат РеквизитФормыВЗначение("Объект"); КонецФункции // } Helpers \ 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.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/ObjectModule.txt" new file mode 100644 index 00000000..707628c5 --- /dev/null +++ "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.txt" @@ -0,0 +1,260 @@ +//TODO раскомментировать утверждения во всех методах после решения Архитектура взаимодействия плагинов/утилит между собой #568 https://github.com/xDrivenDevelopment/xUnitFor1C/issues/568 + +// { Plugin interface +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Результат = Новый Структура; + Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); + Результат.Вставить("Идентификатор", Метаданные().Имя); + Результат.Вставить("Представление", "ЗапросыИзБД"); + + Возврат Новый ФиксированнаяСтруктура(Результат); +КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт +КонецПроцедуры +// } Plugin interface + +//{ Методы проверки таблиц метаданных +Функция ПолучитьКоличествоДокументовПоОтбору(видДокумента, Дата1, дата2, структураОтбора = Неопределено) Экспорт + //ПроверитьЗаполненность(видДокумента, "видДокумента"); + //ПроверитьЗаполненность(Дата1, "Дата1"); + //ПроверитьЗаполненность(Дата2, "Дата2"); + + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ + | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Доки.Ссылка) КАК КоличествоДокументов + |ИЗ + | Документ."+видДокумента+" КАК Доки + |ГДЕ + | Доки.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2 + |"; + Запрос.УстановитьПараметр("Дата1", Дата1); + Запрос.УстановитьПараметр("Дата2", КонецДня(Дата2)); + + Если ЗначениеЗаполнено(структураОтбора) Тогда + Для каждого ключЗначение Из структураОтбора Цикл + имяРеквизита = ключЗначение.Ключ; + Запрос.Текст = Запрос.Текст + " И Доки."+имяРеквизита+" = &"+имяРеквизита+" "; + Запрос.УстановитьПараметр(имяРеквизита, ключЗначение.Значение); + КонецЦикла; + КонецЕсли; + + РезультатЗапроса = Запрос.Выполнить(); + Если РезультатЗапроса.Пустой() Тогда + Возврат 0; + КонецЕсли; + Выборка = РезультатЗапроса.Выбрать(); + Выборка.Следующий(); + Возврат выборка.КоличествоДокументов; +КонецФункции + +Функция ПолучитьКоличествоЭлементовСправочникаПоОтбору(видСправочника, структураОтбора = Неопределено) Экспорт + //ПроверитьЗаполненность(видСправочника, "видСправочника"); + + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ + | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Спр.Ссылка) КАК КоличествоЭлементов + |ИЗ + | Справочник."+видСправочника+" КАК Спр + |ГДЕ + | Истина + |"; + + Если ЗначениеЗаполнено(структураОтбора) Тогда + Для каждого ключЗначение Из структураОтбора Цикл + имяРеквизита = ключЗначение.Ключ; + Запрос.Текст = Запрос.Текст + " И Спр."+имяРеквизита+" = &"+имяРеквизита+" "; + Запрос.УстановитьПараметр(имяРеквизита, ключЗначение.Значение); + КонецЦикла; + КонецЕсли; + + РезультатЗапроса = Запрос.Выполнить(); + Если РезультатЗапроса.Пустой() Тогда + Возврат 0; + КонецЕсли; + Выборка = РезультатЗапроса.Выбрать(); + Выборка.Следующий(); + Возврат выборка.КоличествоЭлементов; +КонецФункции + +Функция ПолучитьКоличествоСтрокВДокументахПоОтбору(видДокумента, имяТабличнойЧасти, Дата1, дата2, структураОтбораШапки = Неопределено, структураОтбораТабличнойЧасти = Неопределено) Экспорт + //ПроверитьЗаполненность(видДокумента, "видДокумента"); + //ПроверитьЗаполненность(Дата1, "Дата1"); + //ПроверитьЗаполненность(Дата2, "Дата2"); + + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ + | КОЛИЧЕСТВО(Доки.Ссылка) КАК КоличествоДокументов + |ИЗ + | Документ."+видДокумента+"."+имяТабличнойЧасти+" КАК Доки + |ГДЕ + | Доки.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2 + |"; + Запрос.УстановитьПараметр("Дата1", Дата1); + Запрос.УстановитьПараметр("Дата2", КонецДня(Дата2)); + + Если ЗначениеЗаполнено(структураОтбораШапки) Тогда + Для каждого ключЗначение Из структураОтбораШапки Цикл + имяРеквизита = ключЗначение.Ключ; + Запрос.Текст = Запрос.Текст + " И Доки.Ссылка."+имяРеквизита+" = &"+имяРеквизита+" "; + Запрос.УстановитьПараметр(имяРеквизита, ключЗначение.Значение); + КонецЦикла; + КонецЕсли; + Если ЗначениеЗаполнено(структураОтбораТабличнойЧасти) Тогда + Для каждого ключЗначение Из структураОтбораТабличнойЧасти Цикл + имяРеквизита = ключЗначение.Ключ; + Запрос.Текст = Запрос.Текст + " И Доки."+имяРеквизита+" = &"+имяРеквизита+" "; + Запрос.УстановитьПараметр(имяРеквизита, ключЗначение.Значение); + КонецЦикла; + КонецЕсли; + + РезультатЗапроса = Запрос.Выполнить(); + Если РезультатЗапроса.Пустой() Тогда + Возврат 0; + КонецЕсли; + Выборка = РезультатЗапроса.Выбрать(); + Выборка.Следующий(); + Возврат выборка.КоличествоДокументов; +КонецФункции + +Функция ПолучитьИтоговуюСуммуТабличнойЧастиДокументовПоОтбору(видДокумента, имяТабличнойЧасти, имяРеквизита, Дата1, дата2, структураОтбораШапки = Неопределено, структураОтбораТабличнойЧасти = Неопределено) Экспорт + //ПроверитьЗаполненность(видДокумента, "видДокумента"); + //ПроверитьЗаполненность(Дата1, "Дата1"); + //ПроверитьЗаполненность(Дата2, "Дата2"); + Запрос = Новый Запрос; + текстТабличнаяЧасть = ?(НЕ ЗначениеЗаполнено(имяТабличнойЧасти), "", "."+имяТабличнойЧасти); + Запрос.Текст = "ВЫБРАТЬ + | ЕСТЬNULL(СУММА(Доки."+имяРеквизита+"), 0) КАК Сумма + |ИЗ + | Документ."+видДокумента+текстТабличнаяЧасть+" КАК Доки + |ГДЕ + | Доки.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2 + |"; + Запрос.УстановитьПараметр("Дата1", Дата1); + Запрос.УстановитьПараметр("Дата2", КонецДня(Дата2)); + + Если ЗначениеЗаполнено(структураОтбораШапки) Тогда + Для каждого ключЗначение Из структураОтбораШапки Цикл + имяРеквизита = ключЗначение.Ключ; + Запрос.Текст = Запрос.Текст + " И Доки.Ссылка."+имяРеквизита+" = &"+имяРеквизита+" "; + Запрос.УстановитьПараметр(имяРеквизита, ключЗначение.Значение); + КонецЦикла; + КонецЕсли; + //ПроверитьИстину(НЕ (имяТабличнойЧасти = "" И ЗначениеЗаполнено(структураОтбораТабличнойЧасти)), "табличная часть не должна быть указана"); + Если ЗначениеЗаполнено(структураОтбораТабличнойЧасти) Тогда + Для каждого ключЗначение Из структураОтбораТабличнойЧасти Цикл + имяРеквизита = ключЗначение.Ключ; + Запрос.Текст = Запрос.Текст + " И Доки."+имяРеквизита+" = &"+имяРеквизита+" "; + Запрос.УстановитьПараметр(имяРеквизита, ключЗначение.Значение); + КонецЦикла; + КонецЕсли; + + РезультатЗапроса = Запрос.Выполнить(); + Если РезультатЗапроса.Пустой() Тогда + Возврат 0; + КонецЕсли; + Выборка = РезультатЗапроса.Выбрать(); + Выборка.Следующий(); + Возврат выборка.Сумма; +КонецФункции + +Функция ПолучитьИтоговуюСуммуДокументовПоОтбору(видДокумента, имяРеквизита, Дата1, дата2, структураОтбораШапки = Неопределено, структураОтбораТабличнойЧасти = Неопределено) Экспорт + Возврат ПолучитьИтоговуюСуммуТабличнойЧастиДокументовПоОтбору(видДокумента, "", имяРеквизита, Дата1, дата2, структураОтбораШапки, структураОтбораТабличнойЧасти); +КонецФункции + +Функция ПолучитьКоличествоЭлементовМетаданногоПоОтбору(типМетаданного, видМетаданного, структураОтбора = Неопределено) Экспорт + //ПроверитьЗаполненность(типМетаданного, "типМетаданного"); + //ПроверитьЗаполненность(видМетаданного, "видМетаданного"); + + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ + | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Таб.Ссылка) КАК КоличествоЭлементов + |ИЗ + | "+типМетаданного+"."+видМетаданного+" КАК Таб + |ГДЕ + | Истина + |"; + + Если ЗначениеЗаполнено(структураОтбора) Тогда + Для каждого ключЗначение Из структураОтбора Цикл + имяРеквизита = ключЗначение.Ключ; + Запрос.Текст = Запрос.Текст + " И Таб."+имяРеквизита+" = &"+имяРеквизита+" "; + Запрос.УстановитьПараметр(имяРеквизита, ключЗначение.Значение); + КонецЦикла; + КонецЕсли; + + РезультатЗапроса = Запрос.Выполнить(); + Если РезультатЗапроса.Пустой() Тогда + Возврат 0; + КонецЕсли; + Выборка = РезультатЗапроса.Выбрать(); + Выборка.Следующий(); + Возврат выборка.КоличествоЭлементов; +КонецФункции + +Функция ПолучитьКоличествоБизнесПроцессовПоОтбору(видМетаданного, структураОтбора = Неопределено) Экспорт + Возврат ПолучитьКоличествоЭлементовМетаданногоПоОтбору("БизнесПроцесс", видМетаданного, структураОтбора); +КонецФункции + +Функция ПолучитьКоличествоЗадачПоОтбору(видМетаданного, структураОтбора = Неопределено) Экспорт + Возврат ПолучитьКоличествоЭлементовМетаданногоПоОтбору("Задача", видМетаданного, структураОтбора); +КонецФункции + +Функция ПолучитьКоличествоЭлементовРегистраПоОтбору(типМетаданного, видМетаданного, структураОтбора = Неопределено) Экспорт + //ПроверитьЗаполненность(типМетаданного, "типМетаданного"); + //ПроверитьЗаполненность(видМетаданного, "видМетаданного"); + + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ + | КОЛИЧЕСТВО(*) КАК КоличествоЭлементов + |ИЗ + | "+типМетаданного+"."+видМетаданного+" КАК Таб + |ГДЕ + | Истина + |"; + + Если ЗначениеЗаполнено(структураОтбора) Тогда + Для каждого ключЗначение Из структураОтбора Цикл + имяРеквизита = ключЗначение.Ключ; + Запрос.Текст = Запрос.Текст + " И Таб."+имяРеквизита+" = &"+имяРеквизита+" "; + Запрос.УстановитьПараметр(имяРеквизита, ключЗначение.Значение); + КонецЦикла; + КонецЕсли; + + РезультатЗапроса = Запрос.Выполнить(); + Если РезультатЗапроса.Пустой() Тогда + Возврат 0; + КонецЕсли; + Выборка = РезультатЗапроса.Выбрать(); + Выборка.Следующий(); + Возврат выборка.КоличествоЭлементов; +КонецФункции + +Функция ПолучитьЭлементыМетаданногоПоОтбору(типМетаданного, видМетаданного, Количество=1, структураОтбора = Неопределено) Экспорт + //ПроверитьЗаполненность(типМетаданного, "типМетаданного"); + //ПроверитьЗаполненность(видМетаданного, "видМетаданного"); + + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ "+Количество+" + | * + |ИЗ + | "+типМетаданного+"."+видМетаданного+" КАК Таб + |ГДЕ + | Истина + |"; + + Если ЗначениеЗаполнено(структураОтбора) Тогда + Для каждого ключЗначение Из структураОтбора Цикл + имяРеквизита = ключЗначение.Ключ; + Запрос.Текст = Запрос.Текст + " И Таб."+имяРеквизита+" = &"+имяРеквизита+" "; + Запрос.УстановитьПараметр(имяРеквизита, ключЗначение.Значение); + КонецЦикла; + КонецЕсли; + + РезультатЗапроса = Запрос.Выполнить(); + ТЗ = РезультатЗапроса.Выгрузить(); + + Возврат ТЗ; +КонецФункции + +//} 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" new file mode 100644 index 00000000..4962a47e --- /dev/null +++ "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" @@ -0,0 +1 @@ +Form\Форма\Форма.txt-->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/renames.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/renames.txt" new file mode 100644 index 00000000..31723e1f --- /dev/null +++ "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/renames.txt" @@ -0,0 +1,9 @@ +11c5f751-bfaf-480a-92fe-7f30023f2e9a-->und\11c5f751-bfaf-480a-92fe-7f30023f2e9a +4e8e1a4a-a947-419b-95c8-58a411e3ffa4-->und\4e8e1a4a-a947-419b-95c8-58a411e3ffa4 +4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0-->und\4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 +908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\info-->und\908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\info +908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\text-->ObjectModule.txt +copyinfo-->und\copyinfo +root-->und\root +version-->und\version +versions-->und\versions 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" new file mode 100644 index 00000000..d1ec5da4 --- /dev/null +++ "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" @@ -0,0 +1,17 @@ +{1, +{11c5f751-bfaf-480a-92fe-7f30023f2e9a},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,85629dd2-6be4-49c6-9a69-13411102aa57,3fdd55c8-e92e-4f99-8b28-3ba8957b50ab, +{0, +{0, +{0,0,908d0aaf-e4ec-4668-8d14-3e8075d222fd},"ЗапросыИзБД", +{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}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,4e8e1a4a-a947-419b-95c8-58a411e3ffa4}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,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" "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" new file mode 100644 index 00000000..e9f6cd91 --- /dev/null +++ "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,0 +1,10 @@ +{1, +{1, +{0, +{9, +{0, +{0,0,4e8e1a4a-a947-419b-95c8-58a411e3ffa4},"Форма", +{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" new file mode 100644 index 00000000..305af89b --- /dev/null +++ "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" @@ -0,0 +1,86 @@ +{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}, +{0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},0,0,1} +}," +// { Plugin interface +&НаКлиенте +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); +КонецФункции + +&НаСервере +Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); +КонецФункции +// } Plugin interface + +// { Helpers +&НаСервере +Функция ЭтотОбъектНаСервере() + Возврат РеквизитФормыВЗначение(""Объект""); +КонецФункции +// } Helpers +", +{4,1, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",85629dd2-6be4-49c6-9a69-13411102aa57} +}, +{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 +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,0}, +{0,0}, +{0,0}, +{0,0} +} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/40064018-7955-4f93-897c-58b8ccf911e2.0/info" "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/908d0aaf-e4ec-4668-8d14-3e8075d222fd.0/info" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/40064018-7955-4f93-897c-58b8ccf911e2.0/info" rename to "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/908d0aaf-e4ec-4668-8d14-3e8075d222fd.0/info" 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/copyinfo" "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/copyinfo" new file mode 100644 index 00000000..55bdf43b --- /dev/null +++ "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/copyinfo" @@ -0,0 +1,16 @@ +{4, +{2, +{4e8e1a4a-a947-419b-95c8-58a411e3ffa4,4e8e1a4a-a947-419b-95c8-58a411e3ffa4,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} +}, +{908d0aaf-e4ec-4668-8d14-3e8075d222fd,908d0aaf-e4ec-4668-8d14-3e8075d222fd,1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ЗапросыИзБД"} +} +}, +{1, +{85629dd2-6be4-49c6-9a69-13411102aa57,908d0aaf-e4ec-4668-8d14-3e8075d222fd,0} +}, +{0}, +{0,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/root" "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/root" new file mode 100644 index 00000000..fe2f30c4 --- /dev/null +++ "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/root" @@ -0,0 +1 @@ +{2,11c5f751-bfaf-480a-92fe-7f30023f2e9a,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/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" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/version" rename to "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" 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" new file mode 100644 index 00000000..2259e147 --- /dev/null +++ "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" @@ -0,0 +1 @@ +{1,9,"",030c6549-6e6c-4c39-adc0-d298db08c2b3,"versions",5c0ac952-0c12-4927-a7cb-16fd4467b9e4,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4",8512f674-fa35-4ff6-9c80-6fc042cc1d63,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0",e5e191b3-dc34-4431-86b1-01a94fdf59bd,"root",d09b50dc-c749-4888-ab68-fe6dba17f340,"908d0aaf-e4ec-4668-8d14-3e8075d222fd.0",222328ea-a170-4fad-954a-fa2068dab05c,"11c5f751-bfaf-480a-92fe-7f30023f2e9a",e0832b36-7ee1-48cf-bbb3-4035c06ff518,"version",46a9f7ea-54d1-40e7-850b-a6d55749576f,"copyinfo",327c9f4f-fca4-4e0a-ac33-0514148d129f} \ No newline at end of file diff --git "a/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" new file mode 100644 index 00000000..9d226060 --- /dev/null +++ "b/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" @@ -0,0 +1 @@ + // { Plugin interface &НаКлиенте Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); КонецФункции // } Plugin interface // { Helpers &НаСервере Функция ЭтотОбъектНаСервере() Возврат РеквизитФормыВЗначение("Объект"); КонецФункции // } Helpers \ No newline at end of file diff --git "a/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/ObjectModule.txt" "b/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/ObjectModule.txt" new file mode 100644 index 00000000..2d51cdf2 --- /dev/null +++ "b/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/ObjectModule.txt" @@ -0,0 +1,74 @@ + +////////////////////////////////////////////////////////////////////////// +// Работа с командными файлами + +//#Использовать tempfiles + +Перем мЗаписьТекста; +Перем мПуть; + +// { Plugin interface +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Результат = Новый Структура; + Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); + Результат.Вставить("Идентификатор", Метаданные().Имя); + Результат.Вставить("Представление", "КомандныйФайл"); + + Возврат Новый ФиксированнаяСтруктура(Результат); +КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт +КонецПроцедуры +// } Plugin interface + +Функция Открыть(Знач Путь = "") Экспорт + + Если ПустаяСтрока(Путь) Тогда + мПуть = ПолучитьИмяВременногоФайла(".bat"); + //мПуть = ВременныеФайлы.НовоеИмяФайла(".bat"); + Иначе + мПуть = Путь; + КонецЕсли; + + мЗаписьТекста = Новый ЗаписьТекста(мПуть, "cp866"); + + Возврат мПуть; + +КонецФункции + +Процедура Добавить(Знач Команда) Экспорт + ПроверитьЧтоФайлОткрыт(); + мЗаписьТекста.ЗаписатьСтроку(Команда); +КонецПроцедуры + +Функция ВыполнитьКоманду() Экспорт + + Закрыть(); + + ПутьПакетногоФайла = мПуть; + + СтрокаЗапуска = "cmd.exe /C """ + ПутьПакетногоФайла + """"; + + КодВозврата = ""; + ЗапуститьПриложение(СтрокаЗапуска,, Истина, КодВозврата); + + Возврат КодВозврата; + +КонецФункции + +Функция Закрыть() Экспорт + + Если мЗаписьТекста <> Неопределено Тогда + мЗаписьТекста.Закрыть(); + мЗаписьТекста = Неопределено; + КонецЕсли; + + Возврат мПуть; + +КонецФункции + +Процедура ПроверитьЧтоФайлОткрыт() + Если мЗаписьТекста = Неопределено Тогда + Открыть(); + КонецЕсли; +КонецПроцедуры diff --git "a/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/maps.txt" "b/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/maps.txt" new file mode 100644 index 00000000..4962a47e --- /dev/null +++ "b/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/maps.txt" @@ -0,0 +1 @@ +Form\Форма\Форма.txt-->4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 (29, 48) diff --git "a/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/renames.txt" "b/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/renames.txt" new file mode 100644 index 00000000..31723e1f --- /dev/null +++ "b/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/renames.txt" @@ -0,0 +1,9 @@ +11c5f751-bfaf-480a-92fe-7f30023f2e9a-->und\11c5f751-bfaf-480a-92fe-7f30023f2e9a +4e8e1a4a-a947-419b-95c8-58a411e3ffa4-->und\4e8e1a4a-a947-419b-95c8-58a411e3ffa4 +4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0-->und\4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 +908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\info-->und\908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\info +908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\text-->ObjectModule.txt +copyinfo-->und\copyinfo +root-->und\root +version-->und\version +versions-->und\versions diff --git "a/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" "b/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" new file mode 100644 index 00000000..26c27650 --- /dev/null +++ "b/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" @@ -0,0 +1,17 @@ +{1, +{11c5f751-bfaf-480a-92fe-7f30023f2e9a},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,85629dd2-6be4-49c6-9a69-13411102aa57,3fdd55c8-e92e-4f99-8b28-3ba8957b50ab, +{0, +{0, +{0,0,908d0aaf-e4ec-4668-8d14-3e8075d222fd},"КомандныйФайл", +{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}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,4e8e1a4a-a947-419b-95c8-58a411e3ffa4}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} +} +} +} \ No newline at end of file diff --git "a/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" "b/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" new file mode 100644 index 00000000..e9f6cd91 --- /dev/null +++ "b/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" @@ -0,0 +1,10 @@ +{1, +{1, +{0, +{9, +{0, +{0,0,4e8e1a4a-a947-419b-95c8-58a411e3ffa4},"Форма", +{1,"ru","Форма"},""},0,1}, +{0} +} +},0} \ No newline at end of file diff --git "a/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" "b/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" new file mode 100644 index 00000000..305af89b --- /dev/null +++ "b/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" @@ -0,0 +1,86 @@ +{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}, +{0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},0,0,1} +}," +// { Plugin interface +&НаКлиенте +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); +КонецФункции + +&НаСервере +Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); +КонецФункции +// } Plugin interface + +// { Helpers +&НаСервере +Функция ЭтотОбъектНаСервере() + Возврат РеквизитФормыВЗначение(""Объект""); +КонецФункции +// } Helpers +", +{4,1, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",85629dd2-6be4-49c6-9a69-13411102aa57} +}, +{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 +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,0}, +{0,0}, +{0,0}, +{0,0} +} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\237\320\276\320\272\320\260\320\267\320\260\321\202\321\214GUID/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" "b/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/und/908d0aaf-e4ec-4668-8d14-3e8075d222fd.0/info" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\237\320\276\320\272\320\260\320\267\320\260\321\202\321\214GUID/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" rename to "src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/und/908d0aaf-e4ec-4668-8d14-3e8075d222fd.0/info" diff --git "a/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/und/copyinfo" "b/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/und/copyinfo" new file mode 100644 index 00000000..0defa05f --- /dev/null +++ "b/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/und/copyinfo" @@ -0,0 +1,16 @@ +{4, +{2, +{4e8e1a4a-a947-419b-95c8-58a411e3ffa4,4e8e1a4a-a947-419b-95c8-58a411e3ffa4,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} +}, +{908d0aaf-e4ec-4668-8d14-3e8075d222fd,908d0aaf-e4ec-4668-8d14-3e8075d222fd,1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"КомандныйФайл"} +} +}, +{1, +{85629dd2-6be4-49c6-9a69-13411102aa57,908d0aaf-e4ec-4668-8d14-3e8075d222fd,0} +}, +{0}, +{0,0}, +{0} +} \ No newline at end of file diff --git "a/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/und/root" "b/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/und/root" new file mode 100644 index 00000000..fe2f30c4 --- /dev/null +++ "b/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/und/root" @@ -0,0 +1 @@ +{2,11c5f751-bfaf-480a-92fe-7f30023f2e9a,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\237\320\276\320\272\320\260\320\267\320\260\321\202\321\214GUID/und/version" "b/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/und/version" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\237\320\276\320\272\320\260\320\267\320\260\321\202\321\214GUID/und/version" rename to "src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/und/version" diff --git "a/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/und/versions" "b/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/und/versions" new file mode 100644 index 00000000..695af377 --- /dev/null +++ "b/src/Plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/und/versions" @@ -0,0 +1 @@ +{1,9,"",6830ee13-0aaa-4d9c-8a60-3dea23d0eb84,"versions",0c8de711-e237-4183-9870-7587d94bcdaa,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4",249a4f52-7abc-45c2-b1ec-a33e8f409d65,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0",903bc059-a78b-4b3e-8bd3-047e9eda74bb,"root",3d2692bf-7625-46db-adc2-70181a4ecac4,"908d0aaf-e4ec-4668-8d14-3e8075d222fd.0",62097895-327e-48f9-94cb-d86310b2d977,"11c5f751-bfaf-480a-92fe-7f30023f2e9a",100013d6-37fb-4c6d-9f5f-7861462e9280,"version",6cc82d26-cf06-4525-bf6d-3a1d368c8508,"copyinfo",b178eba6-de52-46a3-98ed-9aba7b4168a9} \ No newline at end of file diff --git "a/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\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.txt" "b/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\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.txt" new file mode 100644 index 00000000..a1934d86 --- /dev/null +++ "b/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\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.txt" @@ -0,0 +1 @@ + // { Plugin interface &НаКлиенте Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); КонецФункции // } Plugin interface &НаКлиенте Функция Разобрать(СтрокаПараметров) Экспорт Возврат РазобратьНаСервере(СтрокаПараметров); КонецФункции &НаСервере Функция РазобратьНаСервере(СтрокаПараметров) Возврат ЭтотОбъектНаСервере().Разобрать(СтрокаПараметров); КонецФункции // { Helpers &НаСервере Функция ЭтотОбъектНаСервере() Возврат РеквизитФормыВЗначение("Объект"); КонецФункции // } Helpers \ No newline at end of file diff --git "a/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/ObjectModule.txt" "b/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/ObjectModule.txt" new file mode 100644 index 00000000..d2b7e09f --- /dev/null +++ "b/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/ObjectModule.txt" @@ -0,0 +1,145 @@ +// { Plugin interface +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Результат = Новый Структура; + Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); + МетаданныеПлагина = Метаданные(); + Результат.Вставить("Идентификатор", МетаданныеПлагина.Имя); + Результат.Вставить("Представление", МетаданныеПлагина.Синоним); + + Возврат Новый ФиксированнаяСтруктура(Результат); +КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + НачальнаяНастройка(); +КонецПроцедуры +// } Plugin interface + +Процедура НачальнаяНастройка() Экспорт + ВозможныеКлючи = ВозможныеКлючиКоманднойСтроки(); +КонецПроцедуры + +Функция Разобрать(СтрокаПараметров) Экспорт + Результат = Новый Структура; + + МассивСтрокПараметров = РазложитьСтрокуВМассивПодстрок(СтрокаПараметров, ";"); + Для каждого СтрокаПараметра Из МассивСтрокПараметров Цикл + КлючИПараметры = РаспознатьКлючИЕгоПараметры(СтрокаПараметра); + Если КлючИПараметры <> Неопределено Тогда + Результат.Вставить(КлючИПараметры.Ключ, КлючИПараметры.Параметры); + КонецЕсли; + КонецЦикла; + + Возврат Новый ФиксированнаяСтруктура(Результат); +КонецФункции + +Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",", Знач ПропускатьПустыеСтроки = Неопределено) Экспорт + + Результат = Новый Массив; + + // для обеспечения обратной совместимости + Если ПропускатьПустыеСтроки = Неопределено Тогда + ПропускатьПустыеСтроки = ?(Разделитель = " ", Истина, Ложь); + Если ПустаяСтрока(Строка) Тогда + Если Разделитель = " " Тогда + Результат.Добавить(""); + КонецЕсли; + Возврат Результат; + КонецЕсли; + КонецЕсли; + // + + Позиция = Найти(Строка, Разделитель); + Пока Позиция > 0 Цикл + Подстрока = Лев(Строка, Позиция - 1); + Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Подстрока) Тогда + Результат.Добавить(Подстрока); + КонецЕсли; + Строка = Сред(Строка, Позиция + СтрДлина(Разделитель)); + Позиция = Найти(Строка, Разделитель); + КонецЦикла; + + Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Строка) Тогда + Результат.Добавить(Строка); + КонецЕсли; + + Возврат Результат; + +КонецФункции + +Функция РаспознатьКлючИЕгоПараметры(Знач СтрокаПараметра) + Результат = Неопределено; + СтрокаПараметра = НРег(СокрЛП(СтрокаПараметра)); + Разделитель = " "; + КлючКоманднойСтроки = ПолучитьКлюч(СтрокаПараметра, Разделитель); + Если ЗначениеЗаполнено(КлючКоманднойСтроки) И ЭтоДопустимыйКлюч(КлючКоманднойСтроки) Тогда + ПараметрыКлюча = ВыделитьПараметрыКлюча(СтрокаПараметра, Разделитель); + Результат = Новый Структура("Ключ, Параметры", КлючКоманднойСтроки, ПараметрыКлюча); + КонецЕсли; + + Возврат Результат; +КонецФункции + +Функция ПолучитьКлюч(СтрокаПараметра, Разделитель) + МассивПодстрок = РазложитьСтрокуВМассивПодстрок(СтрокаПараметра, Разделитель); + КлючКоманднойСтроки = МассивПодстрок[0]; + + Возврат КлючКоманднойСтроки; +КонецФункции + +Функция ВыделитьПараметрыКлюча(Знач СтрокаПараметра, Разделитель); + Результат = Новый Массив; + Кавычка = """"; + ВнутриКавычки = Ложь; + + ИскатьПодстроки = Истина; + Пока ИскатьПодстроки Цикл + ПозицияРазделителя = Найти(СтрокаПараметра, Разделитель); + ПозицияКавычки = Найти(СтрокаПараметра, Кавычка); + ВнутриКавычки = (ПозицияКавычки > 0) И (ПозицияРазделителя > ПозицияКавычки) Или (ПозицияРазделителя = 0); + Позиция = ?(ВнутриКавычки, ПозицияКавычки, ПозицияРазделителя); + ИскатьПодстроки = Позиция > 0; + Если ИскатьПодстроки Тогда + Если ВнутриКавычки Тогда + СтрокаПараметра = Сред(СтрокаПараметра, Позиция + СтрДлина(Кавычка)); + ПозицияКонца = Найти(СтрокаПараметра, Кавычка); + Подстрока = Лев(СтрокаПараметра, ПозицияКонца - 1); + СтрокаПараметра = Сред(СтрокаПараметра, ПозицияКонца + СтрДлина(Кавычка)); + Иначе + Подстрока = Лев(СтрокаПараметра, Позиция - 1); + СтрокаПараметра = Сред(СтрокаПараметра, Позиция + СтрДлина(Разделитель)); + КонецЕсли; + Результат.Добавить(Подстрока); + КонецЕсли; + КонецЦикла; + + Если Не ПустаяСтрока(СтрокаПараметра) Тогда + Результат.Добавить(СтрокаПараметра); + КонецЕсли; + + Результат.Удалить(0); + + Возврат Новый ФиксированныйМассив(Результат); +КонецФункции + +Функция ВозможныеКлючиКоманднойСтроки() + ВозможныеКлючиКоманднойСтроки = Новый Структура; + ВозможныеКлючиКоманднойСтроки.Вставить("xddRun", "xddRun"); + ВозможныеКлючиКоманднойСтроки.Вставить("xddShutdown", "xddShutdown"); + ВозможныеКлючиКоманднойСтроки.Вставить("xddReport", "xddReport"); + + Возврат Новый ФиксированнаяСтруктура(ВозможныеКлючиКоманднойСтроки); +КонецФункции + +Функция ЭтоДопустимыйКлюч(Знач Ключ) + Результат = Истина; + ВозможныеКлючиКоманднойСтроки = ВозможныеКлючиКоманднойСтроки(); + Попытка + ПредставлениеКлюча = ВозможныеКлючиКоманднойСтроки[Ключ]; + Исключение + Результат = Ложь; + КонецПопытки; + + Возврат Результат; +КонецФункции + +НачальнаяНастройка(); diff --git "a/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/maps.txt" "b/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/maps.txt" new file mode 100644 index 00000000..69ef73b7 --- /dev/null +++ "b/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/maps.txt" @@ -0,0 +1 @@ +Form\Форма\Форма.txt-->4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 (29, 58) diff --git "a/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/renames.txt" "b/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/renames.txt" new file mode 100644 index 00000000..31723e1f --- /dev/null +++ "b/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/renames.txt" @@ -0,0 +1,9 @@ +11c5f751-bfaf-480a-92fe-7f30023f2e9a-->und\11c5f751-bfaf-480a-92fe-7f30023f2e9a +4e8e1a4a-a947-419b-95c8-58a411e3ffa4-->und\4e8e1a4a-a947-419b-95c8-58a411e3ffa4 +4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0-->und\4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 +908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\info-->und\908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\info +908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\text-->ObjectModule.txt +copyinfo-->und\copyinfo +root-->und\root +version-->und\version +versions-->und\versions diff --git "a/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" "b/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" new file mode 100644 index 00000000..5e9703ea --- /dev/null +++ "b/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" @@ -0,0 +1,37 @@ +{1, +{11c5f751-bfaf-480a-92fe-7f30023f2e9a},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,85629dd2-6be4-49c6-9a69-13411102aa57,3fdd55c8-e92e-4f99-8b28-3ba8957b50ab, +{0, +{0, +{0,0,908d0aaf-e4ec-4668-8d14-3e8075d222fd},"ПарсерКоманднойСтроки", +{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}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,4e8e1a4a-a947-419b-95c8-58a411e3ffa4}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,1, +{ +{0, +{25, +{2, +{0, +{0,0,9d1caa5a-a5c8-4c19-a99f-2fa311598a94},"ВозможныеКлючи", +{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} +} +} +} +} \ No newline at end of file diff --git "a/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" "b/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" new file mode 100644 index 00000000..e9f6cd91 --- /dev/null +++ "b/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" @@ -0,0 +1,10 @@ +{1, +{1, +{0, +{9, +{0, +{0,0,4e8e1a4a-a947-419b-95c8-58a411e3ffa4},"Форма", +{1,"ru","Форма"},""},0,1}, +{0} +} +},0} \ No newline at end of file diff --git "a/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" "b/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" new file mode 100644 index 00000000..223f95a7 --- /dev/null +++ "b/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" @@ -0,0 +1,96 @@ +{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}, +{0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},0,0,1} +}," +// { Plugin interface +&НаКлиенте +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); +КонецФункции + +&НаСервере +Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); +КонецФункции +// } Plugin interface + +&НаКлиенте +Функция Разобрать(СтрокаПараметров) Экспорт + Возврат РазобратьНаСервере(СтрокаПараметров); +КонецФункции + +&НаСервере +Функция РазобратьНаСервере(СтрокаПараметров) + Возврат ЭтотОбъектНаСервере().Разобрать(СтрокаПараметров); +КонецФункции + +// { Helpers +&НаСервере +Функция ЭтотОбъектНаСервере() + Возврат РеквизитФормыВЗначение(""Объект""); +КонецФункции +// } Helpers +", +{4,1, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",85629dd2-6be4-49c6-9a69-13411102aa57} +}, +{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 +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,0}, +{0,0}, +{0,0}, +{0,0} +} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" "b/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/908d0aaf-e4ec-4668-8d14-3e8075d222fd.0/info" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" rename to "src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/908d0aaf-e4ec-4668-8d14-3e8075d222fd.0/info" diff --git "a/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/copyinfo" "b/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/copyinfo" new file mode 100644 index 00000000..80f3244c --- /dev/null +++ "b/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/copyinfo" @@ -0,0 +1,16 @@ +{4, +{2, +{4e8e1a4a-a947-419b-95c8-58a411e3ffa4,4e8e1a4a-a947-419b-95c8-58a411e3ffa4,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} +}, +{908d0aaf-e4ec-4668-8d14-3e8075d222fd,908d0aaf-e4ec-4668-8d14-3e8075d222fd,1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ПарсерКоманднойСтроки"} +} +}, +{1, +{85629dd2-6be4-49c6-9a69-13411102aa57,908d0aaf-e4ec-4668-8d14-3e8075d222fd,0} +}, +{0}, +{0,0}, +{0} +} \ No newline at end of file diff --git "a/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/root" "b/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/root" new file mode 100644 index 00000000..fe2f30c4 --- /dev/null +++ "b/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/root" @@ -0,0 +1 @@ +{2,11c5f751-bfaf-480a-92fe-7f30023f2e9a,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/version" "b/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/version" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/version" rename to "src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/version" diff --git "a/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/versions" "b/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/versions" new file mode 100644 index 00000000..511941e7 --- /dev/null +++ "b/src/Plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/versions" @@ -0,0 +1 @@ +{1,9,"",20e67398-39de-4e29-b9ab-fb463ffb495d,"versions",c128278d-6fc2-449d-a6e7-235479b88c3d,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4",1555666f-f2ea-45d5-8f44-be0e1563cd8a,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0",843ad538-422f-4bd0-baa6-988928c4b3a1,"root",cd0130e0-9dfe-444a-a328-c2d282ef0648,"908d0aaf-e4ec-4668-8d14-3e8075d222fd.0",e1296b05-0d9d-4048-9be2-b5a03678c459,"11c5f751-bfaf-480a-92fe-7f30023f2e9a",067c1852-0754-479f-a0f6-bbcb7bb1e1e3,"version",36316452-3ebf-43b5-9a60-b222394fa54c,"copyinfo",d89f71e0-3ea8-4040-8010-2e5d4e47e300} \ No newline at end of file diff --git "a/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" new file mode 100644 index 00000000..05b8ea61 --- /dev/null +++ "b/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" @@ -0,0 +1 @@ + // { Plugin interface &НаКлиенте Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); КонецФункции // } Plugin interface &НаКлиенте Функция СоздатьКонтейнер(ИмяКонтейнера, ИконкаУзла = Неопределено) Экспорт Возврат СоздатьКонтейнерНаСервере(ИмяКонтейнера, ИконкаУзла); КонецФункции &НаСервере Функция СоздатьКонтейнерНаСервере(ИмяКонтейнера, ИконкаУзла) Возврат ЭтотОбъектНаСервере().СоздатьКонтейнер(ИмяКонтейнера, ИконкаУзла); КонецФункции &НаКлиенте Функция СоздатьЭлемент(Путь, ИмяМетода, Представление = "", ИконкаУзла = Неопределено) Экспорт Возврат СоздатьЭлементНаСервере(Путь, ИмяМетода, Представление, ИконкаУзла); КонецФункции &НаСервере Функция СоздатьЭлементНаСервере(Путь, ИмяМетода, Представление, ИконкаУзла) Возврат ЭтотОбъектНаСервере().СоздатьЭлемент(Путь, ИмяМетода, Представление, ИконкаУзла); КонецФункции // { Helpers &НаСервере Функция ЭтотОбъектНаСервере() Возврат РеквизитФормыВЗначение("Объект"); КонецФункции // } Helpers \ No newline at end of file diff --git "a/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" "b/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" new file mode 100644 index 00000000..89a3fa45 --- /dev/null +++ "b/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" @@ -0,0 +1,71 @@ + +// { Plugin interface +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Результат = Новый Структура; + Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); + Результат.Вставить("Идентификатор", Метаданные().Имя); + Результат.Вставить("Представление", "Построитель дерева тестов"); + + Возврат Новый ФиксированнаяСтруктура(Результат); +КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + НачальнаяНастройка(); +КонецПроцедуры +// } Plugin interface + +Процедура НачальнаяНастройка() Экспорт + ЭтотОбъект.ИконкиУзловДереваТестов = ИконкиУзловДереваТестов(); + ЭтотОбъект.ТипыУзловДереваТестов = ТипыУзловДереваТестов(); +КонецПроцедуры + +Функция ИконкиУзловДереваТестов() + Результат = Новый Структура; + Результат.Вставить("Папка", 0); + Результат.Вставить("Обработка", 1); + Результат.Вставить("Функция", 2); + Результат.Вставить("Подсистема", 3); + Результат.Вставить("Форма", 4); + Результат.Вставить("ФункцияНаФорме", 5); + Результат.Вставить("Группа", 6); + + Возврат Новый ФиксированнаяСтруктура(Результат); +КонецФункции + +Функция ТипыУзловДереваТестов() + Результат = Новый Структура; + Результат.Вставить("Контейнер", "Контейнер"); + Результат.Вставить("Элемент", "Элемент"); + + Возврат Новый ФиксированнаяСтруктура(Результат); +КонецФункции + +Функция СоздатьКонтейнер(ИмяКонтейнера, ИконкаУзла = Неопределено) Экспорт + Контейнер = Новый Структура; + Контейнер.Вставить("Ключ", Новый УникальныйИдентификатор); + Контейнер.Вставить("Тип", ТипыУзловДереваТестов.Контейнер); + Контейнер.Вставить("Имя", ИмяКонтейнера); + Контейнер.Вставить("Строки", Новый Массив); + Контейнер.Вставить("ИконкаУзла", ?(ИконкаУзла = Неопределено, ИконкиУзловДереваТестов.Папка, ИконкаУзла)); + Контейнер.Вставить("СлучайныйПорядокВыполнения", Истина); + Контейнер.Вставить("Контекст", Неопределено); + + Возврат Контейнер; +КонецФункции + +Функция СоздатьЭлемент(Путь, ИмяМетода, Представление = "", ИконкаУзла = Неопределено) Экспорт + Элемент = Новый Структура; + Элемент.Вставить("Ключ", Новый УникальныйИдентификатор); + Элемент.Вставить("Тип", ТипыУзловДереваТестов.Элемент); + Элемент.Вставить("Путь", Путь); + Элемент.Вставить("ИмяМетода", ИмяМетода); + Элемент.Вставить("Представление", ?(ПустаяСтрока(Представление), ИмяМетода, Представление)); + Элемент.Вставить("ИконкаУзла", ?(ИконкаУзла = Неопределено, ИконкиУзловДереваТестов.Функция, ИконкаУзла)); + Элемент.Вставить("Параметры", Новый Массив); + Элемент.Вставить("ПередЗапускомТеста", "ПередЗапускомТеста"); + Элемент.Вставить("ПослеЗапускаТеста", "ПослеЗапускаТеста"); + + Возврат Элемент; +КонецФункции + +НачальнаяНастройка(); diff --git "a/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/maps.txt" "b/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/maps.txt" new file mode 100644 index 00000000..92a28969 --- /dev/null +++ "b/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/maps.txt" @@ -0,0 +1 @@ +Form\Форма\Форма.txt-->6b075fcb-982d-4834-be17-5c2ec6964f8f.0 (29, 67) diff --git "a/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" "b/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" new file mode 100644 index 00000000..c51c4330 --- /dev/null +++ "b/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" @@ -0,0 +1,9 @@ +0cccd541-8b75-44da-b850-b0a7254eb4e4.0\info-->und\0cccd541-8b75-44da-b850-b0a7254eb4e4.0\info +0cccd541-8b75-44da-b850-b0a7254eb4e4.0\text-->ObjectModule.txt +6b075fcb-982d-4834-be17-5c2ec6964f8f-->und\6b075fcb-982d-4834-be17-5c2ec6964f8f +6b075fcb-982d-4834-be17-5c2ec6964f8f.0-->und\6b075fcb-982d-4834-be17-5c2ec6964f8f.0 +8c7dc67a-399f-441c-8acd-6bcdf2539678-->und\8c7dc67a-399f-441c-8acd-6bcdf2539678 +copyinfo-->und\copyinfo +root-->und\root +version-->und\version +versions-->und\versions diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260\320\236\321\202\320\273\320\260\320\264\320\272\320\260\320\243\320\244/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" "b/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/und/0cccd541-8b75-44da-b850-b0a7254eb4e4.0/info" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260\320\236\321\202\320\273\320\260\320\264\320\272\320\260\320\243\320\244/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" rename to "src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/und/0cccd541-8b75-44da-b850-b0a7254eb4e4.0/info" diff --git "a/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/und/6b075fcb-982d-4834-be17-5c2ec6964f8f" "b/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/und/6b075fcb-982d-4834-be17-5c2ec6964f8f" new file mode 100644 index 00000000..fc4f43ff --- /dev/null +++ "b/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/und/6b075fcb-982d-4834-be17-5c2ec6964f8f" @@ -0,0 +1,10 @@ +{1, +{1, +{0, +{9, +{0, +{0,0,6b075fcb-982d-4834-be17-5c2ec6964f8f},"Форма", +{1,"ru","Форма"},""},0,1}, +{0} +} +},0} \ No newline at end of file diff --git "a/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/und/6b075fcb-982d-4834-be17-5c2ec6964f8f.0" "b/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/und/6b075fcb-982d-4834-be17-5c2ec6964f8f.0" new file mode 100644 index 00000000..e2366713 --- /dev/null +++ "b/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/und/6b075fcb-982d-4834-be17-5c2ec6964f8f.0" @@ -0,0 +1,105 @@ +{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}, +{0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},0,0,1} +}," +// { Plugin interface +&НаКлиенте +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); +КонецФункции + +&НаСервере +Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); +КонецФункции +// } Plugin interface + +&НаКлиенте +Функция СоздатьКонтейнер(ИмяКонтейнера, ИконкаУзла = Неопределено) Экспорт + Возврат СоздатьКонтейнерНаСервере(ИмяКонтейнера, ИконкаУзла); +КонецФункции + +&НаСервере +Функция СоздатьКонтейнерНаСервере(ИмяКонтейнера, ИконкаУзла) + Возврат ЭтотОбъектНаСервере().СоздатьКонтейнер(ИмяКонтейнера, ИконкаУзла); +КонецФункции + +&НаКлиенте +Функция СоздатьЭлемент(Путь, ИмяМетода, Представление = """", ИконкаУзла = Неопределено) Экспорт + Возврат СоздатьЭлементНаСервере(Путь, ИмяМетода, Представление, ИконкаУзла); +КонецФункции + +&НаСервере +Функция СоздатьЭлементНаСервере(Путь, ИмяМетода, Представление, ИконкаУзла) + Возврат ЭтотОбъектНаСервере().СоздатьЭлемент(Путь, ИмяМетода, Представление, ИконкаУзла); +КонецФункции + +// { Helpers +&НаСервере +Функция ЭтотОбъектНаСервере() + Возврат РеквизитФормыВЗначение(""Объект""); +КонецФункции +// } Helpers", +{4,1, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",fa2943fd-51c1-4aaf-9535-c948a5a52e44} +}, +{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 +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,0}, +{0,0}, +{0,0}, +{0,0} +} \ No newline at end of file diff --git "a/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/und/8c7dc67a-399f-441c-8acd-6bcdf2539678" "b/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/und/8c7dc67a-399f-441c-8acd-6bcdf2539678" new file mode 100644 index 00000000..fd0547c3 --- /dev/null +++ "b/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/und/8c7dc67a-399f-441c-8acd-6bcdf2539678" @@ -0,0 +1,56 @@ +{1, +{8c7dc67a-399f-441c-8acd-6bcdf2539678},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,fa2943fd-51c1-4aaf-9535-c948a5a52e44,36dbaa60-9a35-48c6-98db-c046e48fb9d4, +{0, +{0, +{0,0,0cccd541-8b75-44da-b850-b0a7254eb4e4},"ПостроительДереваТестов", +{1,"ru","Построитель дерева тестов"},""} +},6b075fcb-982d-4834-be17-5c2ec6964f8f,"",00000000-0000-0000-0000-000000000000},4, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, +{3daea016-69b7-4ed4-9453-127911372fe6,0}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,6b075fcb-982d-4834-be17-5c2ec6964f8f}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,2, +{ +{0, +{25, +{2, +{0, +{0,0,5b3099b4-5c01-4792-934c-443e02141560},"ИконкиУзловДереваТестов", +{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,94e64314-d63c-45bf-820e-72949516c956},"ТипыУзловДереваТестов", +{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} +} +} +} +} \ No newline at end of file diff --git "a/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/und/copyinfo" "b/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/und/copyinfo" new file mode 100644 index 00000000..4ff4da75 --- /dev/null +++ "b/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/und/copyinfo" @@ -0,0 +1,16 @@ +{4, +{2, +{0cccd541-8b75-44da-b850-b0a7254eb4e4,0cccd541-8b75-44da-b850-b0a7254eb4e4,1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ПостроительДереваТестов"} +}, +{6b075fcb-982d-4834-be17-5c2ec6964f8f,6b075fcb-982d-4834-be17-5c2ec6964f8f,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} +} +}, +{1, +{fa2943fd-51c1-4aaf-9535-c948a5a52e44,0cccd541-8b75-44da-b850-b0a7254eb4e4,0} +}, +{0}, +{0,0}, +{0} +} \ No newline at end of file diff --git "a/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/und/root" "b/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/und/root" new file mode 100644 index 00000000..d3fe89c8 --- /dev/null +++ "b/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/und/root" @@ -0,0 +1 @@ +{2,8c7dc67a-399f-441c-8acd-6bcdf2539678,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260\320\236\321\202\320\273\320\260\320\264\320\272\320\260\320\243\320\244/und/version" "b/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/und/version" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260\320\236\321\202\320\273\320\260\320\264\320\272\320\260\320\243\320\244/und/version" rename to "src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/und/version" diff --git "a/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" "b/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" new file mode 100644 index 00000000..26b0576e --- /dev/null +++ "b/src/Plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" @@ -0,0 +1 @@ +{1,9,"",3b125b56-6aae-431e-9d9a-87a62e8b48c4,"versions",501fe1bc-096f-4cba-9f77-779c66ced61e,"root",7efe0f08-77b4-4643-8d43-d5b298e53b18,"6b075fcb-982d-4834-be17-5c2ec6964f8f.0",deb2355e-ce7c-443d-adb4-908fef0bb7b4,"8c7dc67a-399f-441c-8acd-6bcdf2539678",d6f02e6d-e1ee-43d9-ac72-d983331b0a8c,"0cccd541-8b75-44da-b850-b0a7254eb4e4.0",69568088-7dc2-4ec9-b16f-46fed7412d44,"version",c137f9e2-d960-4745-bac2-bb12706c112b,"copyinfo",143599d0-39f2-4391-808f-48d257b7a85b,"6b075fcb-982d-4834-be17-5c2ec6964f8f",578da219-d94c-4646-adaa-902144304331} \ No newline at end of file diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/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.txt" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/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.txt" new file mode 100644 index 00000000..46109dfc --- /dev/null +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/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.txt" @@ -0,0 +1 @@ + // { Plugin interface &НаКлиенте Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) Возврат Объект().ОписаниеПлагина(ВозможныеТипыПлагинов); КонецФункции // } Plugin interface // { Методы генерации тестовых данных &НаКлиенте Функция СоздатьДанныеПоТабличномуДокументу(ТабличныйДокумент, РежимыЗагрузкиИлиИмяКолонкиЗамещения = Неопределено, ИмяКолонкиЗамещения = Неопределено) Экспорт Данные = СоздатьДанныеПоТабличномуДокументуСервер(ТабличныйДокумент, РежимыЗагрузкиИлиИмяКолонкиЗамещения, ИмяКолонкиЗамещения); Возврат Данные; КонецФункции &НаСервере Функция СоздатьДанныеПоТабличномуДокументуСервер(ТабличныйДокумент, РежимыЗагрузкиИлиИмяКолонкиЗамещения, ИмяКолонкиЗамещения) Данные = Объект().СоздатьДанныеПоТабличномуДокументу(ТабличныйДокумент, РежимыЗагрузкиИлиИмяКолонкиЗамещения, ИмяКолонкиЗамещения); Возврат Неопределено; //Данные; КонецФункции //} //////////////////////////////////////////////////////////////////////////////// // ОБРАБОТЧИКИ СОБЫТИЙ ЭЛЕМЕНТОВ ШАПКИ ФОРМЫ //////////////////////////////////////////////////////////////////////////////// // ОБРАБОТЧИКИ СОБЫТИЙ ТАБЛИЦЫ ФОРМЫ ТаблицаДанных &НаКлиенте Процедура ТаблицаДанныхСсылкаПриИзменении(Элемент) ТаблицаДанныхСсылкаПриИзмененииСервер(Элементы.ТаблицаДанных.ТекущаяСтрока); КонецПроцедуры //////////////////////////////////////////////////////////////////////////////// // ОБРАБОТЧИКИ КОМАНД ФОРМЫ &НаКлиенте Процедура СоздатьМакетДанных(Команда) ПанельИсточников = Элементы.ГруппаСтраницы; Если ПанельИсточников.ТекущаяСтраница = ПанельИсточников.ПодчиненныеЭлементы.ГруппаМетаданные Тогда КоманднаяПанель1СоздатьМакетДанныхПоМетаданным(); ИначеЕсли ПанельИсточников.ТекущаяСтраница = ПанельИсточников.ПодчиненныеЭлементы.ГруппаТаблицаДанных Тогда КоманднаяПанель1СоздатьМакетДанныхПоТаблицеДанных(); ИначеЕсли ПанельИсточников.ТекущаяСтраница = ПанельИсточников.ПодчиненныеЭлементы.ГруппаПользователиИБ Тогда КоманднаяПанель1СоздатьМакетДанныхДляПользователейИБ(); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура КоманднаяПанель1СоздатьМакетДанныхПоТаблицеДанных() Если ПроверитьЗаполнение() Тогда НовыйМакет = СоздатьМакетДанныхПоТаблицеДанныхСервер(); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура КоманднаяПанель1СоздатьМакетДанныхПоМетаданным() СохранитьОтображениеДерева(Объект.ДеревоМетаданных.ПолучитьЭлементы()); НовыйМакет = СоздатьМакетДанныхПоМетаданнымСервер(); ВосстановитьОтображениеДерева(Объект.ДеревоМетаданных.ПолучитьЭлементы()); КонецПроцедуры &НаКлиенте Процедура КоманднаяПанель1СоздатьМакетДанныхДляПользователейИБ() МассивИменПользователей = Новый Массив; Для Каждого ИдентификаторСтроки Из Элементы.ПользователиИнфБазы.ВыделенныеСтроки Цикл Строка = Объект.ПользователиИБ.НайтиПоИдентификатору(ИдентификаторСтроки); МассивИменПользователей.Добавить(Строка.Имя); КонецЦикла; НовыйМакет = СоздатьМакетДанныхПоПользователямИБСервер(МассивИменПользователей); КонецПроцедуры &НаКлиенте Процедура ПротестироватьЗагрузкуМакета(Команда) ПроверитьЗагрузкуМакетаСервер(Макет); КонецПроцедуры &НаКлиенте Процедура СохранитьМакетДанныхВФайл(Команда) ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); ДиалогВыбораФайла.ПолноеИмяФайла = ""; ДиалогВыбораФайла.Фильтр = "Табличный документ (*.mxl)|*.mxl|Все файлы (*.*)|*.*"; ДиалогВыбораФайла.Заголовок = "Выберите файл"; Если Не ДиалогВыбораФайла.Выбрать() Тогда Возврат; КонецЕсли; Макет.Записать(ДиалогВыбораФайла.ПолноеИмяФайла); КонецПроцедуры &НаКлиенте Процедура ОчиститьТаблицуДанных(Команда) Объект.ТаблицаДанных.Очистить(); КонецПроцедуры //////////////////////////////////////////////////////////////////////////////// // СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ &НаСервере Функция Объект() Возврат РеквизитФормыВЗначение("Объект"); КонецФункции &НаСервере Процедура ТаблицаДанныхСсылкаПриИзмененииСервер(ИдентификаторСтрокиДанных) ЭлементДанных = Объект.ТаблицаДанных.НайтиПоИдентификатору(ИдентификаторСтрокиДанных); Объект().ПриИзмененииСсылки(ЭлементДанных); КонецПроцедуры &НаСервере Функция СоздатьМакетДанныхПоТаблицеДанныхСервер() Возврат Объект().СоздатьМакетДанныхПоТаблицеДанных(Макет); КонецФункции &НаСервере Функция СоздатьМакетДанныхПоМетаданнымСервер() ОбъектНаСервере = Объект(); ЗаполнитьДеревоМетаданныхНаСервере(ОбъектНаСервере); НовыйМакет = ОбъектНаСервере.СоздатьМакетДанныхПоМетаданным(Макет); ЗначениеВРеквизитФормы(ОбъектНаСервере.ДеревоМетаданных, "Объект.ДеревоМетаданных"); Возврат НовыйМакет; КонецФункции Функция СоздатьМакетДанныхПоПользователямИБСервер(МассивИменПользователей) Возврат Объект().СоздатьМакетДанныхПоПользователямИБ(Макет, МассивИменПользователей); КонецФункции &НаСервере Процедура ПроверитьЗагрузкуМакетаСервер(ТабличныйДокумент) Объект().ПроверитьЗагрузкуМакета(ТабличныйДокумент); КонецПроцедуры &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ОбъектНаСервере = Объект(); ЭтаФорма.Заголовок = ОбъектНаСервере.ЗаголовокФормы(); ОбъектНаСервере.НачальнаяИнициализация(); ЗначениеВРеквизитФормы(ОбъектНаСервере.ДеревоМетаданных, "Объект.ДеревоМетаданных"); ЗначениеВРеквизитФормы(ОбъектНаСервере.ПользователиИБ, "Объект.ПользователиИБ"); ОбъектНаСервере.СписокВыбора_РежимПоиска(Элементы.ТаблицаДанныхРежимПоиска.СписокВыбора); ОбъектНаСервере.СписокВыбора_РежимСоздания(Элементы.ТаблицаДанныхРежимСоздания.СписокВыбора); Объект.ВыгружатьСсылку = Истина; КонецПроцедуры &НаКлиенте Процедура ПересчитатьВыгружаемыеПоСсылке(Команда) Состояние(Нстр("ru = 'Выполняется поиск объектов метаданных, которые могут быть выгружены по ссылкам...'")); СохранитьОтображениеДерева(Объект.ДеревоМетаданных.ПолучитьЭлементы()); ПересчитатьВыгружаемыеПоСсылкеНаСервере(); ВосстановитьОтображениеДерева(Объект.ДеревоМетаданных.ПолучитьЭлементы()); КонецПроцедуры &НаКлиенте Процедура СохранитьОтображениеДерева(СтрокиДерева) Для Каждого Строка Из СтрокиДерева Цикл ИдентификаторСтроки=Строка.ПолучитьИдентификатор(); Строка.Развернут = Элементы.ДеревоМетаданных.Развернут(ИдентификаторСтроки); СохранитьОтображениеДерева(Строка.ПолучитьЭлементы()); КонецЦикла; КонецПроцедуры &НаКлиенте Процедура ВосстановитьОтображениеДерева(СтрокиДерева) Для Каждого Строка Из СтрокиДерева Цикл ИдентификаторСтроки=Строка.ПолучитьИдентификатор(); Если Строка.Развернут Тогда Элементы.ДеревоМетаданных.Развернуть(ИдентификаторСтроки); КонецЕсли; ВосстановитьОтображениеДерева(Строка.ПолучитьЭлементы()); КонецЦикла; КонецПроцедуры &НаСервере Процедура ПересчитатьВыгружаемыеПоСсылкеНаСервере() ОбъектНаСервере = Объект(); ЗаполнитьДеревоМетаданныхНаСервере(ОбъектНаСервере); ОбъектНаСервере.СоставВыгрузки(Истина); ЗначениеВРеквизитФормы(ОбъектНаСервере.ДеревоМетаданных, "Объект.ДеревоМетаданных"); КонецПроцедуры &НаСервере Процедура ЗаполнитьДеревоМетаданныхНаСервере(ОбъектНаСервере) ДеревоМетаданных = РеквизитФормыВЗначение("Объект.ДеревоМетаданных"); ОбъектНаСервере.НачальнаяИнициализация(); ПроставитьПометкиВыгружаемыхДанных(ОбъектНаСервере.ДеревоМетаданных.Строки, ДеревоМетаданных.Строки); КонецПроцедуры &НаСервере Процедура ПроставитьПометкиВыгружаемыхДанных(СтрокиИсходногоДерева, СтрокиЗаменяемогоДерева) КолонкаВыгружать = СтрокиЗаменяемогоДерева.ВыгрузитьКолонку("Выгружать"); СтрокиИсходногоДерева.ЗагрузитьКолонку(КолонкаВыгружать, "Выгружать"); КолонкаВыгружатьПриНеобходимости = СтрокиЗаменяемогоДерева.ВыгрузитьКолонку("ВыгружатьПриНеобходимости"); СтрокиИсходногоДерева.ЗагрузитьКолонку(КолонкаВыгружатьПриНеобходимости, "ВыгружатьПриНеобходимости"); КолонкаРазвернут = СтрокиЗаменяемогоДерева.ВыгрузитьКолонку("Развернут"); СтрокиИсходногоДерева.ЗагрузитьКолонку(КолонкаРазвернут, "Развернут"); КолонкаНастройкиКомпоновщика = СтрокиЗаменяемогоДерева.ВыгрузитьКолонку("НастройкиКомпоновщика"); СтрокиИсходногоДерева.ЗагрузитьКолонку(КолонкаНастройкиКомпоновщика, "НастройкиКомпоновщика"); КолонкаИспользоватьОтбор = СтрокиЗаменяемогоДерева.ВыгрузитьКолонку("ИспользоватьОтбор"); СтрокиИсходногоДерева.ЗагрузитьКолонку(КолонкаИспользоватьОтбор, "ИспользоватьОтбор"); Для Каждого СтрокаИсходногоДерева Из СтрокиИсходногоДерева Цикл ИндексСтроки = СтрокиИсходногоДерева.Индекс(СтрокаИсходногоДерева); СтрокаИзменяемогоДерева = СтрокиЗаменяемогоДерева.Получить(ИндексСтроки); ПроставитьПометкиВыгружаемыхДанных(СтрокаИсходногоДерева.Строки, СтрокаИзменяемогоДерева.Строки); КонецЦикла; КонецПроцедуры //////////////////////////////////////////////////////////////////////////////// // ОБРАБОТЧИКИ СОБЫТИЙ ТАБЛИЦЫ ФОРМЫ ДеревоМетаданных &НаКлиенте Процедура ДеревоМетаданныхВыгружатьПриИзменении(Элемент) ТекущиеДанные = Элементы.ДеревоМетаданных.ТекущиеДанные; Если ТекущиеДанные.Выгружать = 2 Тогда ТекущиеДанные.Выгружать = 0; КонецЕсли; УстановитьПометкиПодчиненных(ТекущиеДанные, "Выгружать"); УстановитьПометкиРодителей(ТекущиеДанные, "Выгружать"); КонецПроцедуры &НаКлиенте Процедура ДеревоМетаданныхВыгружатьПриНеобходимостиПриИзменении(Элемент) ТекущиеДанные = Элементы.ДеревоМетаданных.ТекущиеДанные; Если ТекущиеДанные.ВыгружатьПриНеобходимости = 2 Тогда ТекущиеДанные.ВыгружатьПриНеобходимости = 0; КонецЕсли; УстановитьПометкиПодчиненных(ТекущиеДанные, "ВыгружатьПриНеобходимости"); УстановитьПометкиРодителей(ТекущиеДанные, "ВыгружатьПриНеобходимости"); КонецПроцедуры &НаКлиенте Процедура УстановитьПометкиПодчиненных(ТекСтрока, ИмяФлажка) Подчиненные = ТекСтрока.ПолучитьЭлементы(); Если Подчиненные.Количество() = 0 Тогда Возврат; КонецЕсли; Для Каждого Строка из Подчиненные Цикл Строка[ИмяФлажка] = ТекСтрока[ИмяФлажка]; УстановитьПометкиПодчиненных(Строка, ИмяФлажка); КонецЦикла; КонецПроцедуры &НаКлиенте Процедура УстановитьПометкиРодителей(ТекСтрока, ИмяФлажка) Родитель = ТекСтрока.ПолучитьРодителя(); Если Родитель = Неопределено Тогда Возврат; КонецЕсли; ТекСостояние = Родитель[ИмяФлажка]; НайденыВключенные = Ложь; НайденыВыключенные = Ложь; Для Каждого Строка из Родитель.ПолучитьЭлементы() Цикл Если Строка[ИмяФлажка] = 0 Тогда НайденыВыключенные = Истина; ИначеЕсли Строка[ИмяФлажка] = 1 ИЛИ Строка[ИмяФлажка] = 2 Тогда НайденыВключенные = Истина; КонецЕсли; Если НайденыВключенные И НайденыВыключенные Тогда Прервать; КонецЕсли; КонецЦикла; Если НайденыВключенные И НайденыВыключенные Тогда Включить = 2; ИначеЕсли НайденыВключенные И (Не НайденыВыключенные) Тогда Включить = 1; ИначеЕсли (Не НайденыВключенные) И НайденыВыключенные Тогда Включить = 0; ИначеЕсли (Не НайденыВключенные) И (Не НайденыВыключенные) Тогда Включить = 2; КонецЕсли; Если Включить = ТекСостояние Тогда Возврат; Иначе Родитель[ИмяФлажка] = Включить; УстановитьПометкиРодителей(Родитель, ИмяФлажка); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ДеревоМетаданныхПриАктивизацииСтроки(Элемент) Если Элемент.ТекущаяСтрока = ДеревоМетаданныхПредыдущаяСтрока Тогда Возврат; КонецЕсли; ДеревоМетаданныхПредыдущаяСтрока = Элемент.ТекущаяСтрока; НастроитьКомпоновщик(); КонецПроцедуры // Служит для настройки построителя при отборе данных // // Параметры: // &НаКлиенте Процедура НастроитьКомпоновщик() ТекущаяСтрока = Элементы.ДеревоМетаданных.ТекущиеДанные; Если ТекущаяСтрока = Неопределено Тогда Возврат; КонецЕсли; Если НЕ ОпределитьПоСтрокеДереваДоступенПостроитель(ТекущаяСтрока) Тогда ДоступностьКомпоновщика = ЛОЖЬ; УдалитьОтборыКомпоновщика(Объект.КомпоновщикНастроекКомпоновкиДанных); Иначе Попытка НастроитьКомпоновщикНаСервере(Элементы.ДеревоМетаданных.ТекущаяСтрока); ДоступностьКомпоновщика = Истина; Исключение ДоступностьКомпоновщика = ЛОЖЬ; УдалитьОтборыКомпоновщика(Объект.КомпоновщикНастроекКомпоновкиДанных); КонецПопытки; КонецЕсли; Элементы.КомпоновщикОтбор.Доступность = ДоступностьКомпоновщика; //Элементы.КоманднаяПанельКомпоновщикОтбор.Доступность = ДоступностьКомпоновщика; КонецПроцедуры &НаКлиенте Функция ОпределитьПоСтрокеДереваДоступенПостроитель(СтрокаДерева) Если СтрокаДерева.ПолучитьЭлементы().Количество() > 0 Тогда Возврат Ложь; Иначе Возврат Истина; КонецЕсли; КонецФункции &НаКлиенте Процедура УдалитьОтборыКомпоновщика(Компоновщик) Компоновщик.Настройки.Отбор.Элементы.Очистить(); КонецПроцедуры &НаСервере Процедура НастроитьКомпоновщикНаСервере(ТекущаяСтрока) СтрокаДерева = Объект.ДеревоМетаданных.НайтиПоИдентификатору(ТекущаяСтрока); СхемаКомпоновкиДанных = Объект().ПодготовитьКомпоновщикДляВыгрузки(СтрокаДерева); АдресСхемы = ПоместитьВоВременноеХранилище(СхемаКомпоновкиДанных, УникальныйИдентификатор); Объект.КомпоновщикНастроекКомпоновкиДанных.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемы)); Объект.КомпоновщикНастроекКомпоновкиДанных.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию); КонецПроцедуры // НастроитьКомпоновщикНаСервере() &НаКлиенте Процедура КомпоновщикОтборПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования) ОбновитьНастройкиПостроителяВТаблицеДляВыгрузки(); КонецПроцедуры &НаКлиенте Процедура КомпоновщикОтборПослеУдаления(Элемент) ОбновитьНастройкиПостроителяВТаблицеДляВыгрузки(); КонецПроцедуры &НаКлиенте Процедура ОбновитьНастройкиПостроителяВТаблицеДляВыгрузки() ТекущаяСтрока = Элементы.ДеревоМетаданных.ТекущиеДанные; Если Объект.КомпоновщикНастроекКомпоновкиДанных.Настройки.Отбор.Элементы.Количество() > 0 Тогда ТекущаяСтрока.НастройкиКомпоновщика = Объект.КомпоновщикНастроекКомпоновкиДанных.Настройки.Отбор;//Объект.КомпоновщикНастроекКомпоновкиДанных.ПолучитьНастройки(); ТекущаяСтрока.ИспользоватьОтбор = ИСТИНА; ТекущаяСтрока.Выгружать = Истина; Иначе ТекущаяСтрока.НастройкиКомпоновщика = Неопределено; ТекущаяСтрока.ИспользоватьОтбор = ЛОЖЬ; КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ПоказатьРезультатОтбора(Команда) // показать выбранные записи Если Элементы.КомпоновщикОтбор.Доступность <> Истина ИЛИ Элементы.ДеревоМетаданных.ТекущиеДанные = Неопределено Тогда Возврат; КонецЕсли; ТабличныйДокумент = ПолучитьРезультатОтбораНаСервере(); ТабличныйДокумент.Показать(НСтр("ru = 'Выбранные объекты'")); КонецПроцедуры &НаСервере Функция ПолучитьРезультатОтбораНаСервере() СтрокаДерева = Объект.ДеревоМетаданных.НайтиПоИдентификатору(Элементы.ДеревоМетаданных.ТекущаяСтрока); ТабличныйДокумент = Объект().СформироватьОтчетПоОтобраннымДанным(СтрокаДерева); Возврат ТабличныйДокумент; КонецФункции // ПолучитьРезультатОтбораНаСервере() \ No newline at end of file diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Form/\320\244\320\276\321\200\320\274\320\260/form" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Form/\320\244\320\276\321\200\320\274\320\260/form" new file mode 100644 index 00000000..64b3094e --- /dev/null +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Form/\320\244\320\276\321\200\320\274\320\260/form" @@ -0,0 +1,6548 @@ +{27, +{16, +{ +{1,0},31,4294967295}, +{09ccdc77-ea1a-4a6d-ab1c-3435eada2433, +{1, +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,0, +{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, +{1,0} +},21,1, +{0,11,1},2, +{0,7,1}, +{0,11,1},1, +{0,2,2},4, +{0,2,3}, +{0,7,3}, +{0,11,3}, +{0,13,3},0,0, +{3,1, +{3,0, +{0},"",-1,-1,1,0} +},0,1, +{1,1, +{3, +{1,1, +{"ru","Страница1"} +}, +{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,33,0,1,2,0,0,0,0}, +{2,738,1,1,3,0,0,8,0}, +{2,492,0,1,4,0,0,8,0},0,4294967295,5,64,0}, +{0} +}, +{4, +{e69bf21d-97b2-4f37-86db-675aea9ec2cb,2, +{2, +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-21} +}, +{3,0, +{0},4,1,0,00000000-0000-0000-0000-000000000000}, +{1,0} +},8,2,1,0,1,1, +{5,c45fa92b-aba3-4d9e-a9fe-274560abc287,286,1,8, +{6,276f1308-64e1-4512-a03f-93324270533c,1,e1692cc2-605b-4535-84dd-28440238746c, +{3,"КоманднаяПанель1ПротестироватьЗагрузкуМакета", +{1,"КоманднаяПанель1ПротестироватьЗагрузкуМакета", +{1,1, +{"ru","Протестировать загрузку макета"} +}, +{1,1, +{"ru","Протестировать загрузку макета"} +}, +{1,1, +{"ru","Протестировать загрузку макета"} +}, +{3,0, +{0},"",-1,-1,1,0}, +{0,0,0} +} +},1, +{3,1, +{0,20ebc47b-f4d9-439c-acd3-fdc624fbac2a},"",-1,-1,1,0} +}, +{6,a0808445-f34a-47d9-8b21-2edfa143931d,1,fbe38877-b914-4fd5-8540-07dde06ba2e1, +{6,4294967295,00000000-0000-0000-0000-000000000000,142, +{1,99,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0},0,1},0}, +{6,0d8e18a6-75bb-4c63-bd3a-6eafe0ae3273,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, +{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, +{6,1e13ab7c-7558-4863-b060-4812a0dab948,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, +{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, +{6,4890e1d4-b20e-4442-a9ec-d6bc22162335,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, +{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, +{6,437408dc-3cb1-4fb1-8624-fc3785565a6d,1,e1692cc2-605b-4535-84dd-28440238746c, +{3,"КоманднаяПанель1СохранитьМакетДанныхВФайл", +{1,"КоманднаяПанель1СохранитьМакетДанныхВФайл", +{1,1, +{"ru","Сохранить макет данных в файл"} +}, +{1,1, +{"ru","Сохранить макет данных в файл"} +}, +{1,1, +{"ru","Сохранить макет данных в файл"} +}, +{3,0, +{0},"",-1,-1,1,0}, +{0,0,0} +} +},1, +{3,1, +{0,818ab7d0-4654-4542-bd5e-fd9d1352b5a1},"",-1,-1,1,0} +}, +{6,8f5a9af6-600a-474e-aa9d-b2521f16f7a0,1,e1692cc2-605b-4535-84dd-28440238746c, +{3,"КоманднаяПанель1ПодменюСоздатьМакетДанных", +{1,"КоманднаяПанель1ПодменюСоздатьМакетДанных", +{1,1, +{"ru","Подменю создать макет данных"} +}, +{1,1, +{"ru","Подменю создать макет данных"} +}, +{1,1, +{"ru","Подменю создать макет данных"} +}, +{3,0, +{0},"",-1,-1,1,0}, +{0,0,0} +} +},1, +{3,1, +{0,affb1617-24bc-4170-9c84-0902cc3ef206},"",-1,-1,1,0} +}, +{6,eee8ec2d-adb1-4c3c-8e8a-93095c912c3b,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, +{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0},1, +{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,8,1e13ab7c-7558-4863-b060-4812a0dab948, +{8,"Разделитель4",0,1, +{1,1, +{"ru","Действие2"} +},0,c45fa92b-aba3-4d9e-a9fe-274560abc287,38,1e2,2,0,1,0,0,0,0},8f5a9af6-600a-474e-aa9d-b2521f16f7a0, +{8,"ПодменюСоздатьМакетДанных",0,1, +{1,1, +{"ru","Создать макет данных"} +},1,c45fa92b-aba3-4d9e-a9fe-274560abc287,81,1e2,0,3,1,0,0,0,0},4890e1d4-b20e-4442-a9ec-d6bc22162335, +{8,"Разделитель1",0,1, +{1,1, +{"ru","Действие1"} +},0,c45fa92b-aba3-4d9e-a9fe-274560abc287,11,1e2,2,0,1,0,0,0,0},276f1308-64e1-4512-a03f-93324270533c, +{8,"ПротестироватьЗагрузкуМакета",0,1, +{1,1, +{"#","Протестировать загрузку макета"} +},0,c45fa92b-aba3-4d9e-a9fe-274560abc287,12,1e2,0,3,1,0,0,0,0},eee8ec2d-adb1-4c3c-8e8a-93095c912c3b, +{8,"Разделитель2",0,1, +{1,1, +{"ru","Действие1"} +},0,c45fa92b-aba3-4d9e-a9fe-274560abc287,13,1e2,2,0,1,0,0,0,0},437408dc-3cb1-4fb1-8624-fc3785565a6d, +{8,"СохранитьМакетДанныхВФайл",0,1, +{1,1, +{"#","Сохранить макет данных в файл"} +},0,c45fa92b-aba3-4d9e-a9fe-274560abc287,14,1e2,0,3,1,0,0,0,0},0d8e18a6-75bb-4c63-bd3a-6eafe0ae3273, +{8,"Разделитель3",0,1, +{1,1, +{"ru","Действие2"} +},0,c45fa92b-aba3-4d9e-a9fe-274560abc287,16,1e2,2,0,1,0,0,0,0},a0808445-f34a-47d9-8b21-2edfa143931d, +{8,"Действие1",0,1, +{1,1, +{"#","Действие1"} +},0,c45fa92b-aba3-4d9e-a9fe-274560abc287,15,1e2,0,3,1,0,0,0,0}, +{0,0, +{0} +} +} +},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,9d0a2e40-b978-11d4-84b6-008048da06df,0} +}, +{8,0,0,746,25,1, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,2,0,25}, +{2,-1,6,0} +}, +{0, +{2,0,2,0}, +{2,-1,6,0} +}, +{0, +{2,0,3,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},1, +{0,2,1},0,0,0,0,0,0,0,1,1,0}, +{14,"КоманднаяПанель1",0,0,0,0}, +{0} +}, +{236a17b3-7f44-46d9-a907-75f9cdc61ab5,7, +{16,8,340,738,492,5,5,1,1, +{3,3, +{-22} +}, +{3,1, +{-18},0,0,0}, +{8,1,6, +{"ru","ru",1,1,"ru","Русский","Русский"}, +{128,72}, +{0},0, +{0,0}, +{0,0}, +{0,0}, +{0,0}, +{0,0}, +{0,0},0,2,0, +{0,0,00000000-0000-0000-0000-000000000000,0},0,0,0,0,0,0,0,0,0, +{0}, +{0}, +{0}, +{0},"", +{ +{0,6,6, +{"N",1000},7, +{"N",1000},8, +{"N",1000},9, +{"N",1000},10, +{"N",1000},11, +{"N",1000} +} +}, +{0,-1,-1,-1,-1,00000000-0000-0000-0000-000000000000},0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,2, +{3,3, +{-1} +}, +{3,3, +{-3} +},0,0,0,"",0, +{2,0,0,100,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,"",0,0,0,0,0,0}, +{0},0},0,1, +{2,0,0,100,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,"ru",0,1, +{3,0,0,0,0,00000000-0000-0000-0000-000000000000},0,0,0,0},1,1, +{0},0,0,0,1,1,1,0,1,1,0,0,0}, +{8,8,340,738,492,1, +{0, +{2,11,1,0}, +{2,-1,6,0} +}, +{0, +{2,0,1,-8}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,0,3,-8}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},0,0,0,0,0,0,0,1,4,0,0}, +{14,"Макет",4294967295,0,0,0}, +{0} +}, +{36e52348-5d60-4770-8e89-a16ed50a2006,11, +{0, +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},1, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,0, +{-18},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, +{1,0} +},2,2,0} +}, +{8,8,336,738,340,1, +{0, +{2,11,1,-4}, +{2,-1,6,0} +}, +{0, +{2,0,0,340}, +{2,0,1,-160} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,0,3,-8}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},1, +{0,13,1},2, +{0,7,0}, +{0,11,0},0,0,0,0,0,2,3,0,0}, +{14,"Разделитель1",4294967295,0,0,0}, +{0} +}, +{09ccdc77-ea1a-4a6d-ab1c-3435eada2433,13, +{1, +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,0, +{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, +{1,0} +},21,16, +{0,15,0}, +{0,15,1}, +{0,16,0}, +{0,16,1}, +{0,17,0}, +{0,17,1}, +{0,18,0}, +{0,18,1}, +{0,19,0}, +{0,19,1}, +{0,20,0}, +{0,20,1}, +{0,21,0}, +{0,21,1}, +{0,22,0}, +{0,22,1},4, +{0,6,1}, +{0,14,1}, +{0,23,1}, +{0,31,1},18, +{0,14,3}, +{0,15,2}, +{0,15,3}, +{0,16,2}, +{0,16,3}, +{0,17,2}, +{0,17,3}, +{0,18,2}, +{0,18,3}, +{0,19,2}, +{0,19,3}, +{0,20,2}, +{0,20,3}, +{0,21,2}, +{0,21,3}, +{0,22,2}, +{0,22,3}, +{0,25,3},7, +{0,5,3}, +{0,6,3}, +{0,14,3}, +{0,23,3}, +{0,24,3}, +{0,25,3}, +{0,31,3},0,0, +{3,1, +{3,0, +{0},"",-1,-1,1,0} +},1,1, +{1,3, +{3, +{1,1, +{"ru","Метаданные"} +}, +{3,0, +{3,0, +{0},"",-1,-1,1,0} +},-1,1,1,"СтраницаМетаданные",1}, +{3, +{1,1, +{"ru","Таблица данных"} +}, +{3,0, +{3,0, +{0},"",-1,-1,1,0} +},-1,1,1,"СтраницаТаблицаДанных",1}, +{3, +{1,1, +{"ru","Пользователи ИБ"} +}, +{3,0, +{3,0, +{0},"",-1,-1,1,0} +},-1,1,1,"СтраницаПользователиИБ",1} +},1,1,0,12, +{2,6,1,1,1,1,0,0,0}, +{2,6,0,1,2,1,0,0,0}, +{2,722,1,1,3,1,0,6,0}, +{2,277,0,1,4,1,0,6,0}, +{2,6,1,1,1,0,0,0,0}, +{2,6,0,1,2,0,0,0,0}, +{2,722,1,1,3,0,0,6,0}, +{2,277,0,1,4,0,0,6,0}, +{2,6,1,1,1,2,0,0,0}, +{2,6,0,1,2,2,0,0,0}, +{2,722,1,1,3,2,0,6,0}, +{2,277,0,1,4,2,0,6,0},0,4294967295,4294967295,4294967295,5,64,0}, +{0} +}, +{8,8,33,738,336,1, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,11,0,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,0,3,-8}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},0,0,0,0,0,0,0,3,2,0,0}, +{14,"ПанельИсточникиДанных",4294967295,0,0,0}, +{20, +{e69bf21d-97b2-4f37-86db-675aea9ec2cb,5, +{2, +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-21} +}, +{3,0, +{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, +{1,0} +},8,2,1,0,1,1, +{5,c57d1982-5648-4cf0-a874-e4b7f130b2f9,431,1,2, +{6,71821fb3-8d47-4db4-83c4-833d459e7042,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, +{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, +{6,4083e81f-f20e-4b73-974a-ef2eb6e7d4f4,1,e1692cc2-605b-4535-84dd-28440238746c, +{3,"КоманднаяПанель2ОчиститьТаблицуДанных", +{1,"КоманднаяПанель2ОчиститьТаблицуДанных", +{1,1, +{"ru","Очистить таблицу данных"} +}, +{1,1, +{"ru","Очистить таблицу данных"} +}, +{1,1, +{"ru","Очистить таблицу данных"} +}, +{3,0, +{0},"",-1,-1,1,0}, +{0,0,0} +} +},1, +{3,1, +{-2},"",-1,-1,1,0} +},1, +{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,2,71821fb3-8d47-4db4-83c4-833d459e7042, +{8,"Разделитель",0,1, +{1,1, +{"ru","Действие9"} +},0,c57d1982-5648-4cf0-a874-e4b7f130b2f9,88,1e2,2,0,1,0,0,0,0},4083e81f-f20e-4b73-974a-ef2eb6e7d4f4, +{8,"ОчиститьТаблицуДанных",0,1, +{1,1, +{"ru","Очистить"} +},1,c57d1982-5648-4cf0-a874-e4b7f130b2f9,89,1e2,0,3,1,0,0,0,0}, +{0,0, +{0} +} +} +},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,9d0a2e40-b978-11d4-84b6-008048da06df,0} +}, +{8,6,6,722,31,1, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,5,0,25}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,0,3,-6}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},1, +{0,5,1},0,0,0,0,0,1,0,1,0,0}, +{14,"КоманднаяПанель2",6,0,0,0}, +{0} +}, +{ea83fe3a-ac3c-4cce-8045-3dddf35b28b1,6, +{5, +{"Pattern", +{"#",29b6a235-8506-4b28-9b61-48d9cb0967ae} +}, +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,1, +{-18},0,0,0}, +{1,0} +}, +{15,117578765, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-14} +}, +{3,3, +{-15} +}, +{3,3, +{-13} +},2,2,0,0,0,0,0,1,1, +{6,2,0, +{-20},1}, +{6,2,0, +{-20},1},2,0,1, +{7, +{c2cf1953-2796-4fe2-b78c-ff84140b124e, +{1, +{8, +{16, +{1,1, +{"ru","N"} +}, +{1,0}, +{1,0},28,0,-2,-1,-1,12590594, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,0,0,4,0,"НомерСтроки", +{},4,0, +{1,0}, +{"Pattern"},0,1,00000000-0000-0000-0000-000000000000}, +{-2}, +{-1}, +{-1} +},0,0} +}, +{c2cf1953-2796-4fe2-b78c-ff84140b124e, +{1, +{8, +{16, +{1,1, +{"ru","Ссылка"} +}, +{1,0}, +{1,0},1e2,1,0,-1,-1,12590592, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,0,0,4,0,"Ссылка", +{},15,0, +{1,0}, +{"Pattern", +{"#",214fa4d8-6ba4-4748-a5e1-6332b5887780}, +{"#",38bfd075-3e63-4aaa-a93e-94521380d579}, +{"#",e61ef7b8-f3e1-4f4b-8ac7-676e90524997} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcN1VM9bhUxEKahiZSOAzyZdkeyx2N7fAsaDmDvekuK +KFTRSlBAk5aCDsEJQALxRIhyBe9JuAL2/r3wICgFDV7/zcznb8aznkcPH0ztx9XN +hW9OTy7Ek3B+ns6eiUl4LBpU1AfqGGwMBOSIIZikwGqN0TA7x3JYwZpj30lnQCer +gUIIELxO4Mmg0iw74/wGTlal3kWGXhc+6ikCh9aBdTZ5aZC8d8PpyYSfu5KNqpJu +qC5ytR7LttFNgQ5lmqy6LoB4F/53eT7hjhWoDpopElBcvZRv0qpm5kA1Kdf5toTG +TCvNwYmnYthWITaYXGOXc2TVBqp2tfi6y7Sd/TWslfVwgWpQfVIRDXjXGqCu7ELU +PXDrg7HGKMS0+Foa/GFa20rNhg1KF8G3wQGhKTvNBhL3nXUtJUVccTUReC/mW7ld +fHQOuSeTIElbHo9lB77jCDLE3kqWhGiXJNwz8oV4+q3l0ZeHri25JinrsW0RrCz3 +IKMNMHUdIBNJ1OzItnOKRP6QP+ZP+Srvx9dl96aM63w9Xo6v8vvx5XhZLN+K7t34 +Iu/z2/w1f89fCqKOfd6L2fu/YZluIc6ei2O+Xf58INwVvo1xl28q5a6wHHMecvN/ +8f6lerZa2PpSelu5DD8B},0} +}, +{0,708a2cac-1726-438b-94d8-aa7c9447b3a0}, +{-1}, +{-1} +},0,0} +}, +{c2cf1953-2796-4fe2-b78c-ff84140b124e, +{1, +{8, +{16, +{1,1, +{"ru","Метаданное"} +}, +{1,0}, +{1,0},1e2,2,1,-1,-1,12590592, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,0,0,4,0,"Метаданное", +{},15,0, +{1,0}, +{"Pattern", +{"S"} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ +OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U +bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm +rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ +XFhJtSKWz30vMgcItzCmDw==},0} +}, +{0,ed59e5f4-5d76-4fdc-82e3-929b6bac9114}, +{-1}, +{-1} +},0,0} +}, +{c2cf1953-2796-4fe2-b78c-ff84140b124e, +{1, +{8, +{16, +{1,1, +{"ru","Имя переменной"} +}, +{1,0}, +{1,0},1e2,3,2,-1,-1,12590592, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,0,0,4,0,"ИмяПеременной", +{},15,0, +{1,0}, +{"Pattern", +{"S"} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ +OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U +bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm +rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ +XFhJtSKWz30vMgcItzCmDw==},0} +}, +{0,4c88b9d2-3975-40da-ad74-9a82a21b356f}, +{-1}, +{-1} +},0,0} +}, +{c2cf1953-2796-4fe2-b78c-ff84140b124e, +{1, +{8, +{16, +{1,1, +{"ru","Выгружать код/номер"} +}, +{1,0}, +{1,0},1e2,4,-1,3,-1,12590592, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},0,0,0,4,0,"ВыгружатьКод", +{},15,0, +{1,0}, +{"Pattern", +{"S",10,1} +},0,1,00000000-0000-0000-0000-000000000000}, +{-1}, +{0,7f9c01b3-0d10-4675-90c1-3da13269f871}, +{-1} +},0,0} +}, +{c2cf1953-2796-4fe2-b78c-ff84140b124e, +{1, +{8, +{16, +{1,1, +{"ru","Режим поиска"} +}, +{1,0}, +{1,0},1e2,5,4,-1,-1,12590592, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,0,0,4,0,"РежимПоиска", +{},15,0, +{1,0}, +{"Pattern", +{"S"} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ +OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U +bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm +rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ +XFhJtSKWz30vMgcItzCmDw==},0} +}, +{0,88963759-0a6a-4839-bed2-219c5763c0c8}, +{-1}, +{-1} +},0,0} +}, +{c2cf1953-2796-4fe2-b78c-ff84140b124e, +{1, +{8, +{16, +{1,1, +{"ru","Режим создания"} +}, +{1,0}, +{1,0},1e2,6,5,-1,-1,12590592, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,0,0,4,0,"РежимСоздания", +{},15,0, +{1,0}, +{"Pattern", +{"S"} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ +OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U +bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm +rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ +XFhJtSKWz30vMgcItzCmDw==},0} +}, +{0,5825a722-21bd-4ffe-b328-3e3f2e4b3c4c}, +{-1}, +{-1} +},0,0} +} +},0,0,0,0} +}, +{51d1e122-c0f3-496f-901e-806df8206ba9, +{2,1, +{0,1} +} +}, +{0} +}, +{8,6,35,722,277,1, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,0,1,-6}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,0,3,-6}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},0,0,0,0,0,0,1,1,2,0,0}, +{14,"ТаблицаДанных",4294967295,0,0,0}, +{0} +}, +{ea83fe3a-ac3c-4cce-8045-3dddf35b28b1,14, +{5, +{"Pattern", +{"#",e603c0f2-92fb-4d47-8f38-a44a381cf235} +}, +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,1, +{-18},0,0,0}, +{1,0} +}, +{15,117644833, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-14} +}, +{3,3, +{-15} +}, +{3,3, +{-13} +},2,2,0,0,0,0,0,1,1, +{6,2,0, +{-20},1}, +{6,2,0, +{-20},1},0,2,0, +{2, +{737535a4-21e6-4971-8513-3e3173a9fedd, +{8, +{8, +{16, +{1,1, +{"ru","Данные для выгрузки"} +}, +{1,0}, +{1,0},139,2,-1,-1,-1,12590601, +{3,0, +{0},"",-1,-1,1,0}, +{3,3, +{0},"",334,13,1, +{ +{#base64:Qk02GQAAAAAAADYEAAAoAAAAUAEAABAAAAABAAgAAAAAAAAVAAAAAAAAAAAAAAAA +AAAAAAAAAAAAADMAAABmAAAAmQAAAMwAAAD/AAAAADMAADMzAABmMwAAmTMAAMwz +AAD/MwAAAGYAADNmAABmZgAAmWYAAMxmAAD/ZgAAAJkAADOZAABmmQAAmZkAAMyZ +AAD/mQAAAMwAADPMAABmzAAAmcwAAMzMAAD/zAAAAP8AADP/AABm/wAAmf8AAMz/ +AAD//wAAAAAzADMAMwBmADMAmQAzAMwAMwD/ADMAADMzADMzMwBmMzMAmTMzAMwz +MwD/MzMAAGYzADNmMwBmZjMAmWYzAMxmMwD/ZjMAAJkzADOZMwBmmTMAmZkzAMyZ +MwD/mTMAAMwzADPMMwBmzDMAmcwzAMzMMwD/zDMAAP8zADP/MwBm/zMAmf8zAMz/ +MwD//zMAAABmADMAZgBmAGYAmQBmAMwAZgD/AGYAADNmADMzZgBmM2YAmTNmAMwz +ZgD/M2YAAGZmADNmZgBmZmYAmWZmAMxmZgD/ZmYAAJlmADOZZgBmmWYAmZlmAMyZ +ZgD/mWYAAMxmADPMZgBmzGYAmcxmAMzMZgD/zGYAAP9mADP/ZgBm/2YAmf9mAMz/ +ZgD//2YAAACZADMAmQBmAJkAmQCZAMwAmQD/AJkAADOZADMzmQBmM5kAmTOZAMwz +mQD/M5kAAGaZADNmmQBmZpkAmWaZAMxmmQD/ZpkAAJmZADOZmQBmmZkAmZmZAMyZ +mQD/mZkAAMyZADPMmQBmzJkAmcyZAMzMmQD/zJkAAP+ZADP/mQBm/5kAmf+ZAMz/ +mQD//5kAAADMADMAzABmAMwAmQDMAMwAzAD/AMwAADPMADMzzABmM8wAmTPMAMwz +zAD/M8wAAGbMADNmzABmZswAmWbMAMxmzAD/ZswAAJnMADOZzABmmcwAmZnMAMyZ +zAD/mcwAAMzMADPMzABmzMwAmczMAMzMzAD/zMwAAP/MADP/zABm/8wAmf/MAMz/ +zAD//8wAAAD/ADMA/wBmAP8AmQD/AMwA/wD/AP8AADP/ADMz/wBmM/8AmTP/AMwz +/wD/M/8AAGb/ADNm/wBmZv8AmWb/AMxm/wD/Zv8AAJn/ADOZ/wBmmf8AmZn/AMyZ +/wD/mf8AAMz/ADPM/wBmzP8Amcz/AMzM/wD/zP8AAP//ADP//wBm//8Amf//AMz/ +/wD///8AAAAAAA0NDQAaGhoAKCgoADU1NQBDQ0MAUFBQAF1dXQBra2sAeHh4AIaG +hgCTk5MAoaGhAK6urgC7u7sAycnJANbW1gDk5OQA8fHxAP///wAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAObm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm +5ubm5ubm5ubm5ubm5ubm5ujo5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm +5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5sPm5ubm5ubm5ubm5ubo +5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm +5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm +5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm +5ubm5ubm5oKCgoKCgoKCgoKCgoKC5ubm4uLi4uLi4uLi4uLi5ubm5ubm5ubm5ubm +5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5nnmo6Oj +5ubm5ubm5ubm5ubm5ubmFhbo5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm +5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5hTm5ubm5ubmw9DD5ubm5ujo6Ojo6Oid +6Obm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm +5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubmhoaGPebm5ubm5ubm5ubm5ubm5ubm +5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubn5+fn5+fn +5+bm5ubm5oLX19fX19fX19fX19eC5ubm4tfX19fX19fX19fi5ubm5ubm5ubm5ubm +5ubm5ubm5ubm5ubm5ubm5ubm5ubm5uZ/VVVVVVVVVVVVVVVVf+bm5ubm5nmc5ubm +zObm5ubm5ubm5ubm5ubmFhbo5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm +5ubm5ubm5ubm5ubm5ubpiDo05ubm5ubmFGMU5ubm5ubD0NDQw+bmnZ2dnZ2dnZ3I +nejm5ubm5ubOzs7Oo4aGhubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm +5ubm5ubm5OTk5OTk5OTk5OTk5OTk5ubm5ubmhoaGPT3m5ubm5ubm5ubm5ubm5gPm +5ubm5ubm5ubm5OTk5OTk5OTk5OTk5ubm5OTk5OTk5OTk5OTk5Obm5ubn19fX19fX +5+bm5ubm5oLX19fX19fX19fX19eC5ubm4tfX19fX19fo19fi5ubk5OTk5OTk5OTk +5OTk5ubm5ubm5ubm5ubm5ubm5ubm5uZ/q6urq6urq6urq6urf+bm5ubm5nl5eebm +5szm5ubm5ubm5ubm5ubmFhbo5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm +5ubm5ubm5ubmsoc9E4jpiDo0Oubm5uYUY2NjFObm5sPQ0NDQ0MPmyMjIyMjIyMjI +yJ3m5ubm5ubOzs7Oo4aGhj3m5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm +5ubm5ubm19fX19fX19fX19fX19fk5ubm5ubmhoaGPT095ubm5ubm5ubm5uY0NDMz +A+bm5ubm5ubm59fX19fX19fX19fk5ubm5NfX19fX19fX19fX5Obk5OTn17OIs4jX +5+Tk5OTm5oLXidfn5+fn59fQydeC5ubm4tfX19fX1xbo19fi5ubk19fX19fX19fX +19fk5ubm5ubm5ubm5ubm5ubm5ubm5uZ/q+Pj46ur4+Pj46urf+bm5ubm5ubm5ubm +5szm5ubm5ubm5ubo6ObmFhbo5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm +5ubm5ubm5uY9soc9E4iIOjQ0Oubm5hQUFBQUFBTm5ubD0NDQw+bmz8/Pz8/Pz8/I +yObm5ubm5ubOzs7Oo4aGhj095ubm5ubm5ubm5ubmiYmJ5ubm5ubm5ubm5ubm5ubm +5ubm5ubm1zo6OjrXOjrXOjo6Otfk5ubm5ubmhoaGPT095ubm5ubm5ubmNDQ6Ojo6 +NDMD5ubm5ubm59fX6YLp19fX19fk5ubm5Ncz5zPnM+cz5zPX5Obk19fn19fX19fX +V9fX1+Tm5oLX19fX19fX19fX19eC5ubm4tfX19fX1xbo19fi5ubk19fX19fX19fX +19fk5ubm5ubm5tDQtObm5ubm5i3p5uZ/q6urq6urq6urq6urf+bm5uYWHTQDM+YW +HTQDM+bm5ubm5jQ06ObmFhbo5ubm5ubm5uYZGTc3DQ0NDebm5ubm5ubm5ubm5ubm +5ubm5ubm5uY9qz0TEzrpiDo0NObm5ubm5uPm5ubm5ubmw9DD5ubm5ubm5ubm5ubI +5ujm5ubm5ubOzs7Oo4aGhj09Pebm5ubm5ubm5ubmiYmJiWTm5ubm5uY6OjQ0MzMz +M+bm5ubm1zMzMzPXMzPXMzMzM9fk5ubm5ubmhoaGPT095ubm5ubm5olkOjo6Ojo6 +Ojo0MwPm5ubm59fpM9cz6dfX19fk5ubm5Nfp5+nn6efp5+nX5Obk19fn14iIs4jp +59fX1+Tm5oLXidfn5+fn59fQydeC5ubm4tfX19fo1xbo19fi5ubk19fX19c019fX +19fk5ubm5ubm5tC04+Pj4+Pj4+MtLeZ/q+Pj4+Pj4+Pj46urf+bm5uYWHTQDM+YW +HTQDM+bm5ubm5jQ06ObmFhbo5ubm5ubm5uYeGRk3Nw0NDebm5ubm5ubm5ubm5ubm +5ubm5ubm5uaGsoc9E4jpiDo0Oubm5ubm5uPm5n9/f39/5sPm5ubm5ubm6Ojo6Ojo +6BPo5ubm5ubOzs7Oo4aGhj09Pebm5ubm5ubm5ubm5uZkZGTm5ubm5uaJOjo0NDMz +M+bm5ubm19fX19fX19fX19fX19fk5ubm5ubmhoaGPT095ubm5ubm5ubmiWQDOjo6 +Ojo65ubm5ubm59cz5+fnM+eC59fk5ubm5Nez5LPks+Sz5LPX5Obk19fn19fX5+fn +59fX1+Tm5oLX19fX19fX19fX19eC5ubm4tfX1zTo1xbo19fi5ubk19fXOjo6NDTX +19fk5ubm5ubm5tDjtObm5ubm5i3p5uZ/q6urq6urq6urq6urf+bm5swWHTQDM+YW +HTQDM+bm5ubm5jQ06ObmFhbo5ubm5ubm5uYeHhkZNzcNDebm5ubm6Ojo6Ojo6Ojo +6Ojo6Obm5uY9soc9E4izs7OzOubm5ubm5uPm5n/V1dV/5uPm5ubm5uYTExMTExMT +Ez0T6Obm5ubOzs7Oo4aGhj09Pebm5ubm5uYtLS0tLebmZGRk5ubm5uaJiTo6NDQz +M+bm5ubm1zo6OjrXOjrXOjo6Otfk5ubm5ubmhoaGPT095ubm5ubm5ubmNDQzMwM6 +Oubm5ubm5ubm59czs7OzM7Oz19fk5ubm5Nfp5+nn6efp5+nX5Obk19fn17OI6dfn +19eo1+Tm5oLXidfn5+fn59fQydeC5ubm4tfX1zTo6Bbo6Oji5ubk14mJOjo6Ojo0 +NNfk5ubm5ubm5ubj5ubm5ubm5ubm5uZ/q6urq6urq+Pj46urf+bmzOYWHTQDM+YW +HTQDM+bm5ubm5jQ06OjoFhbo6Ojo5ubm5ubm5ubm5ubm5ubm5uY6NDQ0NDQ0NDQ0 +NDQ06Obm5uY9qz0TE7Ozs7Ozs+bm5ubm5uPj43/V1dV/4+Pm5ubm5uY9PT09PT09 +PT09E+bm5ubOzs7Oo4aGhj09Pebm5ubm5uYtLS0t5ubm5kBk5ubm5ubm5ubm5ubm +5ubm5ubm1zMzMzPXMzPXMzMzM9fk5ubm5ubmhoaGPT095ubm5ubm5jQ0Ojo6OjQz +A+bm5ubm5ubm59fpM9cz6YKC59fk5ubm5Nez5LPks+Sz5LPX5Obk19fn19fX6efX +19fX1+Tm5oLX19fX19fX19fX19eC5ubm4tfX1zQzFhYWFtfi5ubk19fXiYk6OjrX +19fk5ubm5ubm5ubj5ubm5ubm5ubm5uZ/q6urq6vj4+Pj46urf+bmo+YWHTQDM+YW +HTQDM+bm5ubm5jQ04hYWFhYWFhbo5ubm5ubm5ubm5ubm5ubm5uaJOjo6Ojo6Ojrn +5zo06Obm5uaGsoc9ExOzs7Oz5ubm5ubm5ubm5n9/f39/5ubm5ubm5uaHh4eHh4eH +hz095ubm5ubOzs7Oo4aGhj09Pebm5ubm5uY0NDQ05ubmQEBA5ubm5ubm5ubm5ubm +5ubm5ubm19fX19fX19fX19fX19fk5ubm5ubmhoaGPT095ubm5ubmZDo6Ojo6Ojo6 +NDMD5ubm5ubm59ez14LXs7Oz19fk5ubm5Nfp5+nn6efp5+nX5Obk19fn19fX59fX +qNeo1+Tm5oLXidfn5+fn59fQydeC5ubm4tfX1zTo19fX19fi5ubk19fX19eJ19fX +19fk5ubm5ubm5ubj5ubm5ubm5ubm5uZ/q6urq6urq6urq6urf+bmo+bm5ubm5ubm +5ubm5ubm5ubm5jQ04hYWFhYWFhbm5ubm5ubm5ubm5ubm5ubm5uaJOjo6Ojo6OufX +1+M06Obm5uY9soc9Ez3m5ubm5ubm5ubm5ubm5ubm4+bm5ubm5ubm5ubm5ubm5ubm +5j3m6Obm5ubOzs7Oo6Orq6s9Pebm5ubm5uY0NDQ0NOYWQEDm5ubm5ubm5ubm5ubm +5ubm5ubm1zo6OjrXOjrXOjo6Otfk5ubm5ubm5qurqz095ubm5ubm5olkOjo6Ojo6 +Oubm5ubm5ubm59eCs7Oz54KC59fk5ubm5NfX19fX19fX19fX5Obk19fn5+fn19fX +19fX1+Tm5oLX19fX19fX19fX19eC5ubm4tfX1zTo19fX19fi5ubk19fX19fX19fX +19fk5ubm5ubm5ubj5ubm5ubm5ubm5uZ/f39/f39/f39/f39/q+bm5qPmeeYWHTQD +M+Z5eXnm5ubm5jQ06Obm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5uaJOjo6Ojo6OufX +1+M06Obm5uY9srKysj3m5ubm5ubm5ubm5ubm5ubmNObm5ubm5ubm5ubm5ubo6Ojo +6OjoNOjm5ubOzs7Oo6Ojq6urPebm5ubm5uY05hYWFhYWFhbm5ubm5ubm5ubm5ubm +5ubm5ubm1zMzMzPXMzPXMzMzM9fk5ubm5ubm5uarq6s95ubm5ubm5ubmiWRkOjrm +5ubm5ubm5ubm59fX19fX19fX19fk5ubm5OTk5OTk5OTk5OTk5Obk19fX19fX16jX +qNeo1+Tm5oLXidfn5+fn59fQydeC5ubm4tfX6DTo6OjX19fi5ubk19fX19fX19fX +19fk5ubm5ubm5ubj5ubm5ubm5ubm5uZ/f39/f39V5ubm5ubm5ubm5uaceeYWHTQD +M+bmnHnm5ubo6DQ06Ojo6Obm5ubm5ubm5ubm5ubm5ubm5ubm5uaJOjo6Ojo6Ojrj +4zo06Obm5uaysrKysrLm5ubm5ubm5ubm5ubm5jQ0iTQ05ubm5ubm5ubm5jQ0NDQ0 +NDQ0OjTo5ubm1dXV1aOj5qurq+bm5ubm5ubm5ubmFhYW5ubm5ubm5ubm5ubm5ubm +5ubm5ubm19fX19fX19fX19fX19fk5ubm5ubm5ubmq6ur5ubm5ubm5ubm5uaJ5ubm +5ubm5ubm5ubm59fn5+fn5+fn59fk5ubm5ubm5ubm5szMzMzM5ubk19fX19fX19fX +19fX1+Tm5oLX19fX19fX19fX19eC5ubm4tc0NDQ0NNfX19fi5ubk5OTk5OTk5OTk +5OTk5ubm5ubm5ubj5ubm5ubm5ubm5uZ/f39/f1Xm5ubm5ubm5ubm5nl5eeYWHTQD +M8yj5nnm5jQ0NDQ0NDQ06Obm5ubm5ubm5ubm5ubm5ubm5ubm5uboiYmJiYmJiYmJ +iYk65ubm5ubmsrKysubm5ubm5ubm5ubm5ubmNImJiYmJNObm5ubm5ubm5jo6Ojo6 +Ojo6Ojo05ubm5tXV1dWj5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm +5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm +5ubm5ubm5ubm59czMzMzMzMzM9fk5ubm5ubm5ubm5ubm5ubm5ubk19fX19fX19fX +19fX1+Tm5oLX19fXiYmJidfX19eC5ubm4tfX19fX19fX19fi5ubm5ubm5ubm5ubm +5ubm5ubm5ubm5i3jLebm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5uYWHTQD +M+bm5ubm5jQ0NDQ0NDQ05ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm +5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubmNImJiYmJNObm5ubm5ubm5omJiYmJ +iYmJOjrm5ubm5ubV1dXV5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm +5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm +5ubm5ubm5ubm59fX19fX19fX19fk5ubm5ubm5ubm5ubm5ubm5uZQyHotLS0zMzQ0 +NBYWFhbm5oLX19fX19fX19fX19eC5ubm4uLi4uLi4uLi4uLi5ubm5ubm5ubm5ubm +5ubm5ubm5ubm5ukt6ebm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5uYWHTQD +M+bm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm +5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubmNDQ0NDQ0NObm5ubm5ubm5ubm5ubm +5ubmOubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm +5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm +5ubm5ubm5ubm5+fn5+fn5+fn5+fk5ubm5ubm5ubm5ubm5ubm5uZQyHotLS0zMzQ0 +NBYWFhbm5oKCgoKCgoKCgoKCgoKC5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm +5ubm5ubm5ubm5uYt5ubm5ubm5ubm5g==} +},0}, +{3,0, +{0},"",-1,-1,1,0},16,16,d2314b5d-8da4-4e0f-822b-45e7500eae09, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},0,0,0,4,0,"Метаданные", +{},20,0, +{1,0}, +{"Pattern", +{"S"} +},0,1,00000000-0000-0000-0000-000000000000}, +{-1}, +{-1}, +{-1} +},"Метаданные","Выгружать","КартинкаКласса",0} +}, +{737535a4-21e6-4971-8513-3e3173a9fedd, +{8, +{8, +{16, +{1,1, +{"ru","При необходимости"} +}, +{1,0}, +{1,1, +{"ru","Помеченные объекты будут выгружаться только если на них имеются ссылки в других выгружаемых объектах. Колонка заполняется автоматически, однако, имеется возможность отказаться от выгрузки ""по ссылке""."} +},127.9999999999999,1,-1,-1,-1,12590600, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},0,0,0,4,0,"ВыгружатьПриНеобходимости", +{},19,1, +{1,0}, +{"Pattern", +{"B"} +},0,1,35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU9RDoMwCPXbxJtAApRpex21vYTpyfaxI+0A/tiW +uCW6AeHlAS/A3pm9n6+NYeg3CyZozIFWoDz0+RcfwUEZzSW1rquAIv/m79wU07Ug +/K2QSQpWV+9YFgoojymhzhJwFk8oXtfVh5gWjk3IYGv0JOWldmsFyp87Dg==},0} +}, +{-1}, +{-1}, +{-1} +},"","ВыгружатьПриНеобходимости","",0} +} +},0,0,0,0} +}, +{9ab3fa70-d2e0-4e44-baac-730682272ed2, +{4,1,0, +{0} +} +}, +{3, +{35,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} +} +} +}, +{45,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} +} +} +}, +{47,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} +} +} +} +} +}, +{8,6,104,342,277,1, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,0,1,-6}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,0,2,342}, +{2,0,3,-386} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},0,0,0,1, +{0,23,2},0,0,0,0,16,0,0}, +{14,"ДеревоМетаданных",4294967295,0,0,0}, +{0} +}, +{0fc7e20d-f241-460c-bdf4-5ad88e5474a5,15, +{3, +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,0, +{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, +{1,0} +},7, +{1,1, +{"ru","Период выгрузки:"} +},4,1,0,0,0, +{0,0,0},0, +{1,0},1, +{3,0, +{3,0, +{0},"",-1,-1,1,0} +},4}, +{0} +}, +{8,6,6,106,25,1, +{0, +{2,0,0,6}, +{2,-1,6,0} +}, +{0, +{2,0,0,25}, +{2,-1,6,0} +}, +{0, +{2,0,2,6}, +{2,-1,6,0} +}, +{0, +{2,0,2,106}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},0,0,0,0,0,0,0,1,1,1,1}, +{14,"НадписьДатыВыгрузкиДокументовИРегистровСведений",4294967295,0,0,0}, +{0} +}, +{381ed624-9217-4e63-85db-c4c3cb87daae,16, +{9, +{"Pattern", +{"D"} +}, +{ +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,1, +{-18},0,0,0}, +{1,1, +{"ru","Начальная дата выгрузки документов и регистров сведений"} +} +},21,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,4,0, +{"U"}, +{"U"},"",0,1,0,0,0,0, +{3,0, +{0},"",-1,-1,1,0}, +{3,0, +{0},"",-1,-1,1,0},2,0,0, +{0,0,0}, +{1,0},0,0,0,0} +}, +{1, +{9a7643d2-19e9-45e2-8893-280bc9195a97, +{4, +{"U"}, +{"U"},0,"",0,0} +} +}, +{0},0,1,0, +{1,0},0}, +{8,111,6,238,25,1, +{0, +{2,0,0,6}, +{2,-1,6,0} +}, +{0, +{2,0,0,25}, +{2,-1,6,0} +}, +{0, +{2,0,2,111}, +{2,-1,6,0} +}, +{0, +{2,0,2,238}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},0,0,0,0,0,0,0,2,2,1,1}, +{14,"ДатаНачала",4294967295,0,0,0}, +{0} +}, +{381ed624-9217-4e63-85db-c4c3cb87daae,17, +{9, +{"Pattern", +{"D"} +}, +{ +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,1, +{-18},0,0,0}, +{1,1, +{"ru","Конечная дата выгрузки документов и регистров сведений"} +} +},21,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,4,0, +{"U"}, +{"U"},"",0,1,0,0,0,0, +{3,0, +{0},"",-1,-1,1,0}, +{3,0, +{0},"",-1,-1,1,0},2,0,0, +{0,0,0}, +{1,0},0,0,0,0} +}, +{1, +{9a7643d2-19e9-45e2-8893-280bc9195a97, +{4, +{"U"}, +{"U"},0,"",0,0} +} +}, +{0},0,1,0, +{1,0},0}, +{8,266,6,393,25,1, +{0, +{2,0,0,6}, +{2,-1,6,0} +}, +{0, +{2,0,0,25}, +{2,-1,6,0} +}, +{0, +{2,0,2,266}, +{2,-1,6,0} +}, +{0, +{2,0,2,393}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},0,0,0,0,0,0,0,3,3,1,1}, +{14,"ДатаОкончания",4294967295,0,0,0}, +{0} +}, +{6ff79819-710e-4145-97cd-1618da79e3e2,18, +{1, +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},1, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,0, +{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, +{1,1, +{"ru","Установить период выгрузки"} +} +},10, +{1,1, +{"ru","..."} +},1,1,0,0,0, +{3,0, +{0},"",-1,-1,1,0}, +{0,0,0},0,0}, +{1, +{0,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} +} +} +} +} +}, +{8,397,6,418,25,1, +{0, +{2,0,0,6}, +{2,-1,6,0} +}, +{0, +{2,0,0,25}, +{2,-1,6,0} +}, +{0, +{2,0,2,397}, +{2,-1,6,0} +}, +{0, +{2,0,2,418}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},0,0,0,0,0,0,0,4,4,1,1}, +{14,"КнопкаУстановкиПериода",4294967295,0,0,0}, +{0} +}, +{35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26,19, +{1, +{ +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,0, +{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, +{1,1, +{"ru","Использовать отбор по периоду для всех объектов, включая те, для которых заданы ограничения"} +} +},4, +{1,1, +{"ru","Отбор по периоду для всех объектов"} +},1,0,1},1,0,0}, +{0} +}, +{8,422,6,629,25,1, +{0, +{2,0,0,6}, +{2,-1,6,0} +}, +{0, +{2,0,0,25}, +{2,-1,6,0} +}, +{0, +{2,0,2,422}, +{2,-1,6,0} +}, +{0, +{2,0,2,629}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},0,0,0,0,0,0,0,5,5,1,1}, +{14,"ИспользоватьОтборПоДатеДляВсехОбъектов",4294967295,0,0,0}, +{0} +}, +{35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26,20, +{1, +{ +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,0, +{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, +{1,1, +{"ru","Выгружить вместе с документом его движения"} +} +},4, +{1,1, +{"ru","Выгружать с документом все его движения"} +},1,0,1},1,0,0}, +{0} +}, +{8,6,54,249,73,1, +{0, +{2,0,0,54}, +{2,-1,6,0} +}, +{0, +{2,0,0,73}, +{2,-1,6,0} +}, +{0, +{2,0,2,6}, +{2,-1,6,0} +}, +{0, +{2,0,2,249}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},0,0,0,0,0,0,0,6,10,1,1}, +{14,"ВыгружатьСДокументомЕгоДвижения",4294967295,0,0,0}, +{0} +}, +{0fc7e20d-f241-460c-bdf4-5ad88e5474a5,21, +{3, +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,0, +{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, +{1,0} +},7, +{1,1, +{"ru","Выгрузка периодических регистров:"} +},4,1,0,0,0, +{0,0,0},0, +{1,0},1, +{3,0, +{3,0, +{0},"",-1,-1,1,0} +},4}, +{0} +}, +{8,6,30,195,49,1, +{0, +{2,0,0,30}, +{2,-1,6,0} +}, +{0, +{2,0,0,49}, +{2,-1,6,0} +}, +{0, +{2,0,2,6}, +{2,-1,6,0} +}, +{0, +{2,0,2,195}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},0,0,0,0,0,0,0,7,6,1,1}, +{14,"НадписьВыгрузкаПериодическихРегистров",4294967295,0,0,0}, +{0} +}, +{64483e7f-3833-48e2-8c75-2c31aac49f6e,22, +{2, +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,1, +{-18},0,0,0}, +{1,0} +},21,0,0,1,0,1,0,0,0,0,1,0,0,255,0,0,4,0, +{"U"}, +{"U"},"",0,1,1,1, +{8, +{2, +{0,"Value", +{"Pattern"},"Значение",10}, +{1,"Presentation", +{"Pattern", +{"#",87024738-fc2a-4436-ada1-df79d395c424} +},"Представление",10} +}, +{2,2,0,0,1,1, +{1,4, +{2,0,2, +{"N",0}, +{"#",87024738-fc2a-4436-ada1-df79d395c424, +{1,"ru","Отбор за период"} +},0}, +{2,1,2, +{"N",1}, +{"#",87024738-fc2a-4436-ada1-df79d395c424, +{1,"ru","Срез последних на дату окончания"} +},0}, +{2,2,2, +{"N",2}, +{"#",87024738-fc2a-4436-ada1-df79d395c424, +{1,"ru","Срез первых на дату начала"} +},0}, +{2,3,2, +{"N",3}, +{"#",87024738-fc2a-4436-ada1-df79d395c424, +{1,"ru","Срез последних на дату начала + изменения за период"} +},0} +},-1,3} +},0,0, +{3,0, +{0},"",-1,-1,1,0}, +{3,0, +{0},"",-1,-1,1,0},0,0,0, +{0,0,0}, +{1,0},0,0,0,0}, +{0} +}, +{8,208,30,418,49,1, +{0, +{2,0,0,30}, +{2,-1,6,0} +}, +{0, +{2,0,0,49}, +{2,-1,6,0} +}, +{0, +{2,0,2,208}, +{2,-1,6,0} +}, +{0, +{2,0,2,418}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},0,0,0,2, +{0,29,2}, +{0,30,2},0,0,0,8,7,1,1}, +{14,"ТипВыгрузкиПериодическихРегистров",4294967295,0,0,0}, +{0} +}, +{ea83fe3a-ac3c-4cce-8045-3dddf35b28b1,23, +{5, +{"Pattern", +{"#",f6841c6b-6c71-4c82-ae9e-d08b49db326c} +}, +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,1, +{-18},0,0,0}, +{1,0} +}, +{15,33775149, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-14} +}, +{3,3, +{-15} +}, +{3,3, +{-13} +},2,2,0,0,0,0,1,1,1, +{6,2,0, +{-20},1}, +{6,2,0, +{-20},1},2,2,1, +{60, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,0}, +{1,0}, +{1,0},22,0,-1,0,-1,12656128, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},0,0,0,4,0,"Использование", +{},4,1, +{1,0}, +{"Pattern", +{"S",10,1} +},0,1,35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU9RDoMwCPXbxJtAApRpex21vYTpyfaxI+0A/tiW +uCW6AeHlAS/A3pm9n6+NYeg3CyZozIFWoDz0+RcfwUEZzSW1rquAIv/m79wU07Ug +/K2QSQpWV+9YFgoojymhzhJwFk8oXtfVh5gWjk3IYGv0JOWldmsFyp87Dg==},0} +}, +{-1}, +{0}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Левое значение"} +}, +{1,0}, +{1,0},1e2,1,1,-1,-1,8402433, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,0,0,4,0,"ЛевоеЗначениеДляПодробногоОтображенияЭлемента", +{},15,0, +{1,0}, +{"Pattern", +{"B"}, +{"#",913e8016-6e90-47a0-b2a0-4513f4edad61}, +{"S"}, +{"D"}, +{"N"} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVFLagMxDC1dBnIJd2uB5b+2petQKD2AJ3aWXYTs +wpysix4pV4gtj6dtQsZGb6SnzxPePT/xd/n+OZPcbs7iPZ1O5fgl2HkVM+OLkISm +RIUefCEFNiQFk67GOjQHW3LKHnvyx1L0tuBOzNsN//aLSmLzjLQN1GBvfS+NrKlz +NcyaBqD1o/x7v1eE24DG3wgrAYxtSj0cRdl7aOTgsH897Ryj7eLE57JrQyHWNDW0 +q66scYDt4jLrEbXW/pc1uo4FNJu9yZNKDlwOBPUtIlByFjK6A5JHKobfdl2bUvDW +ZA2VqgWuaIiRDOiopj0huUSh5dm73VTfjucvzVgUdrFd4nwF},0} +}, +{1}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Вид сравнения"} +}, +{1,0}, +{1,0},75,2,2,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ВидыСравненияДляПодробногоОтображенияЭлемента", +{},11,0, +{1,0}, +{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig +YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga +WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI +GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} +}, +{2}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Правое значение"} +}, +{1,0}, +{1,0},1e2,3,3,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ПравоеЗначениеДляПодробногоОтображенияЭлемента", +{},15,0, +{1,0}, +{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig +YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga +WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI +GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} +}, +{3}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Представление"} +}, +{1,0}, +{1,0},1e2,4,4,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ПредставлениеДляПодробногоОтображенияЭлемента", +{},15,0, +{1,0}, +{"Pattern", +{"S"} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ +OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U +bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm +rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ +XFhJtSKWz30vMgcItzCmDw==},0} +}, +{4}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Представление"} +}, +{1,0}, +{1,0},1e2,5,5,-1,-1,8402433, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,1,0,4,0,"ПредставлениеДляКраткогоОтображенияЭлемента", +{},15,0, +{1,0}, +{"Pattern", +{"S"} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ +OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U +bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm +rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ +XFhJtSKWz30vMgcItzCmDw==},0} +}, +{5}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Левое значение"} +}, +{1,0}, +{1,0},1e2,6,6,-1,-1,12598785, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,1,0,4,0,"ЛевоеЗначениеДляКраткогоОтображенияЭлемента", +{},15,0, +{1,0}, +{"Pattern", +{"B"}, +{"#",913e8016-6e90-47a0-b2a0-4513f4edad61}, +{"S"}, +{"D"}, +{"N"} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVFLagMxDC1dBnIJd2uB5b+2petQKD2AJ3aWXYTs +wpysix4pV4gtj6dtQsZGb6SnzxPePT/xd/n+OZPcbs7iPZ1O5fgl2HkVM+OLkISm +RIUefCEFNiQFk67GOjQHW3LKHnvyx1L0tuBOzNsN//aLSmLzjLQN1GBvfS+NrKlz +NcyaBqD1o/x7v1eE24DG3wgrAYxtSj0cRdl7aOTgsH897Ryj7eLE57JrQyHWNDW0 +q66scYDt4jLrEbXW/pc1uo4FNJu9yZNKDlwOBPUtIlByFjK6A5JHKobfdl2bUvDW +ZA2VqgWuaIiRDOiopj0huUSh5dm73VTfjucvzVgUdrFd4nwF},0} +}, +{6}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Вид сравнения"} +}, +{1,0}, +{1,0},75,7,7,-1,-1,12590592, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ВидыСравненияДляКраткогоОтображенияЭлемента", +{},11,0, +{1,0}, +{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig +YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga +WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI +GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} +}, +{7}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Правое значение"} +}, +{1,0}, +{1,0},1e2,8,8,-1,-1,12590592, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ПравоеЗначениеДляКраткогоОтображенияЭлемента", +{},15,0, +{1,0}, +{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig +YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga +WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI +GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} +}, +{8}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Тип группы"} +}, +{1,0}, +{1,0},275,9,9,-1,-1,8402433, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,1,0,4,0,"ТипДляПодробногоОтображенияГруппы", +{},40,0, +{1,0}, +{"Pattern", +{"#",b1668747-cd01-442e-84b7-15a47d05c599} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVJLbgMhDK26jJRL0C2WMJjfLbLJqitgmGUXVXYR +J+uiR+oVyidDOqkyWFi2H89vDO+vL/37+fq+en48XNkpXC7584P14I3xiMY4SxbS +IhCIZAZH0QLqQHYROmnvy/FQGn4YCo4tUpyaE1v1MTZc8QotdetV1RxI+Qz/Px4n +7GNC4j3TlQC61qWunkU+OCT25N/97tuiIY2dWZmesR2oNxFDV6sBNsNbp2eleXYv +amPd5HfxiGEVGT3EuNQLkGjAO5+BFCXS2oQ1mQluN0bWyqgiwUpBAfkkIGDQ4FLU +3qCuhGrMH7NGGUIEjFSp81qpldWwClQ2Zr8sHqfSsnseTSv0OU+7ocZ05h+VXw== +},0} +}, +{9}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Представление"} +}, +{1,0}, +{1,0},1e2,10,10,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ПредставлениеДляПодробногоОтображенияГруппы", +{},15,0, +{1,0}, +{"Pattern", +{"S"} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ +OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U +bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm +rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ +XFhJtSKWz30vMgcItzCmDw==},0} +}, +{10}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Тип группы"} +}, +{1,0}, +{1,0},275,11,11,-1,-1,8402433, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,1,0,4,0,"ТипДляКраткогоОтображенияГруппы", +{},40,0, +{1,0}, +{"Pattern", +{"#",b1668747-cd01-442e-84b7-15a47d05c599} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVJLbgMhDK26jJRL0C2WMJjfLbLJqitgmGUXVXYR +J+uiR+oVyidDOqkyWFi2H89vDO+vL/37+fq+en48XNkpXC7584P14I3xiMY4SxbS +IhCIZAZH0QLqQHYROmnvy/FQGn4YCo4tUpyaE1v1MTZc8QotdetV1RxI+Qz/Px4n +7GNC4j3TlQC61qWunkU+OCT25N/97tuiIY2dWZmesR2oNxFDV6sBNsNbp2eleXYv +amPd5HfxiGEVGT3EuNQLkGjAO5+BFCXS2oQ1mQluN0bWyqgiwUpBAfkkIGDQ4FLU +3qCuhGrMH7NGGUIEjFSp81qpldWwClQ2Zr8sHqfSsnseTSv0OU+7ocZ05h+VXw== +},0} +}, +{11}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Левое значение"} +}, +{1,0}, +{1,0},1e2,12,12,-1,-1,8402433, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,1,0,4,0,"ЛевоеЗначениеДляПодробногоОтображенияЭлементаЛокальногоОтбора", +{},15,0, +{1,0}, +{"Pattern", +{"B"}, +{"#",913e8016-6e90-47a0-b2a0-4513f4edad61}, +{"S"}, +{"D"}, +{"N"} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVFLagMxDC1dBnIJd2uB5b+2petQKD2AJ3aWXYTs +wpysix4pV4gtj6dtQsZGb6SnzxPePT/xd/n+OZPcbs7iPZ1O5fgl2HkVM+OLkISm +RIUefCEFNiQFk67GOjQHW3LKHnvyx1L0tuBOzNsN//aLSmLzjLQN1GBvfS+NrKlz +NcyaBqD1o/x7v1eE24DG3wgrAYxtSj0cRdl7aOTgsH897Ryj7eLE57JrQyHWNDW0 +q66scYDt4jLrEbXW/pc1uo4FNJu9yZNKDlwOBPUtIlByFjK6A5JHKobfdl2bUvDW +ZA2VqgWuaIiRDOiopj0huUSh5dm73VTfjucvzVgUdrFd4nwF},0} +}, +{12}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Вид сравнения"} +}, +{1,0}, +{1,0},75,13,13,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ВидыСравненияДляПодробногоОтображенияЭлементаЛокальногоОтбора", +{},11,0, +{1,0}, +{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig +YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga +WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI +GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} +}, +{13}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Правое значение"} +}, +{1,0}, +{1,0},1e2,14,14,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ПравоеЗначениеДляПодробногоОтображенияЭлементаЛокальногоОтбора", +{},15,0, +{1,0}, +{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig +YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga +WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI +GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} +}, +{14}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Применение"} +}, +{1,0}, +{1,0},75,15,15,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ПрименениеДляПодробногоОтображенияЭлементаЛокальногоОтбора", +{},11,0, +{1,0}, +{"Pattern", +{"#",27d7d459-265e-4fac-9685-d86b957f211f} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVJLbgMhDK26jJRL0C2WMBgYbpFNVl3BAMsuquwi +TtZFj9QrlE+GdFJlsLBsP57fGN5fX/r38/V9dfx4uLKTv1zS5wfrwRvj0kYbSTuQ +Rieg7FdwZtEQFxOctlki5nI8lIYfhoJjixSn5sRWfYwNV7xCS916VTUHUj7D/4/H +CfuYkHjPdCWAS+tSV88iHxwSe/Lvfvdt0ZDGzqxMz9gO1JuIoavVAJvhrdOz0jy7 +F7WxbvK7eESfRUIHIUQEkmjALa5ehaKVtDY+r2aC242RtTKoQJDJKyC3CvDoNSxr +0M6groRqzB+TRul9AAxUqVOu1MpqyAKVDcnF6HAqLbvn0bRCn/O0G2pMZ/5R+QU= +},0} +}, +{15}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Представление"} +}, +{1,0}, +{1,0},1e2,16,16,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ПредставлениеДляПодробногоОтображенияЭлементаЛокальногоОтбора", +{},15,0, +{1,0}, +{"Pattern", +{"S"} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ +OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U +bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm +rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ +XFhJtSKWz30vMgcItzCmDw==},0} +}, +{16}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Левое значение"} +}, +{1,0}, +{1,0},1e2,17,17,-1,-1,8402433, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,1,0,4,0,"ЛевоеЗначениеДляКраткогоОтображенияЭлементаЛокальногоОтбора", +{},15,0, +{1,0}, +{"Pattern", +{"B"}, +{"#",913e8016-6e90-47a0-b2a0-4513f4edad61}, +{"S"}, +{"D"}, +{"N"} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVFLagMxDC1dBnIJd2uB5b+2petQKD2AJ3aWXYTs +wpysix4pV4gtj6dtQsZGb6SnzxPePT/xd/n+OZPcbs7iPZ1O5fgl2HkVM+OLkISm +RIUefCEFNiQFk67GOjQHW3LKHnvyx1L0tuBOzNsN//aLSmLzjLQN1GBvfS+NrKlz +NcyaBqD1o/x7v1eE24DG3wgrAYxtSj0cRdl7aOTgsH897Ryj7eLE57JrQyHWNDW0 +q66scYDt4jLrEbXW/pc1uo4FNJu9yZNKDlwOBPUtIlByFjK6A5JHKobfdl2bUvDW +ZA2VqgWuaIiRDOiopj0huUSh5dm73VTfjucvzVgUdrFd4nwF},0} +}, +{17}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Вид сравнения"} +}, +{1,0}, +{1,0},75,18,18,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ВидыСравненияДляКраткогоОтображенияЭлементаЛокальногоОтбора", +{},11,0, +{1,0}, +{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig +YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga +WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI +GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} +}, +{18}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Правое значение"} +}, +{1,0}, +{1,0},1e2,19,19,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ПравоеЗначениеДляКраткогоОтображенияЭлементаЛокальногоОтбора", +{},15,0, +{1,0}, +{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig +YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga +WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI +GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} +}, +{19}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Применение"} +}, +{1,0}, +{1,0},75,20,20,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ПрименениеДляКраткогоОтображенияЭлементаЛокальногоОтбора", +{},11,0, +{1,0}, +{"Pattern", +{"#",27d7d459-265e-4fac-9685-d86b957f211f} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVJLbgMhDK26jJRL0C2WMBgYbpFNVl3BAMsuquwi +TtZFj9QrlE+GdFJlsLBsP57fGN5fX/r38/V9dfx4uLKTv1zS5wfrwRvj0kYbSTuQ +Rieg7FdwZtEQFxOctlki5nI8lIYfhoJjixSn5sRWfYwNV7xCS916VTUHUj7D/4/H +CfuYkHjPdCWAS+tSV88iHxwSe/Lvfvdt0ZDGzqxMz9gO1JuIoavVAJvhrdOz0jy7 +F7WxbvK7eESfRUIHIUQEkmjALa5ehaKVtDY+r2aC242RtTKoQJDJKyC3CvDoNSxr +0M6groRqzB+TRul9AAxUqVOu1MpqyAKVDcnF6HAqLbvn0bRCn/O0G2pMZ/5R+QU= +},0} +}, +{20}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Тип группы"} +}, +{1,0}, +{1,0},275,21,21,-1,-1,8402433, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,1,0,4,0,"ТипДляПодробногоОтображенияГруппыЛокальногоОтбора", +{},40,0, +{1,0}, +{"Pattern", +{"#",b1668747-cd01-442e-84b7-15a47d05c599} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVJLbgMhDK26jJRL0C2WMJjfLbLJqitgmGUXVXYR +J+uiR+oVyidDOqkyWFi2H89vDO+vL/37+fq+en48XNkpXC7584P14I3xiMY4SxbS +IhCIZAZH0QLqQHYROmnvy/FQGn4YCo4tUpyaE1v1MTZc8QotdetV1RxI+Qz/Px4n +7GNC4j3TlQC61qWunkU+OCT25N/97tuiIY2dWZmesR2oNxFDV6sBNsNbp2eleXYv +amPd5HfxiGEVGT3EuNQLkGjAO5+BFCXS2oQ1mQluN0bWyqgiwUpBAfkkIGDQ4FLU +3qCuhGrMH7NGGUIEjFSp81qpldWwClQ2Zr8sHqfSsnseTSv0OU+7ocZ05h+VXw== +},0} +}, +{21}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Применение"} +}, +{1,0}, +{1,0},75,22,22,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ПрименениеДляПодробногоОтображенияГруппыЛокальногоОтбора", +{},11,0, +{1,0}, +{"Pattern", +{"#",27d7d459-265e-4fac-9685-d86b957f211f} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVJLbgMhDK26jJRL0C2WMBgYbpFNVl3BAMsuquwi +TtZFj9QrlE+GdFJlsLBsP57fGN5fX/r38/V9dfx4uLKTv1zS5wfrwRvj0kYbSTuQ +Rieg7FdwZtEQFxOctlki5nI8lIYfhoJjixSn5sRWfYwNV7xCS916VTUHUj7D/4/H +CfuYkHjPdCWAS+tSV88iHxwSe/Lvfvdt0ZDGzqxMz9gO1JuIoavVAJvhrdOz0jy7 +F7WxbvK7eESfRUIHIUQEkmjALa5ehaKVtDY+r2aC242RtTKoQJDJKyC3CvDoNSxr +0M6groRqzB+TRul9AAxUqVOu1MpqyAKVDcnF6HAqLbvn0bRCn/O0G2pMZ/5R+QU= +},0} +}, +{22}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Представление"} +}, +{1,0}, +{1,0},1e2,23,23,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ПредставлениеДляПодробногоОтображенияГруппыЛокальногоОтбора", +{},15,0, +{1,0}, +{"Pattern", +{"S"} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ +OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U +bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm +rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ +XFhJtSKWz30vMgcItzCmDw==},0} +}, +{23}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Тип группы"} +}, +{1,0}, +{1,0},275,24,24,-1,-1,8402433, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,1,0,4,0,"ТипДляКраткогоОтображенияГруппыЛокальногоОтбора", +{},40,0, +{1,0}, +{"Pattern", +{"#",b1668747-cd01-442e-84b7-15a47d05c599} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVJLbgMhDK26jJRL0C2WMJjfLbLJqitgmGUXVXYR +J+uiR+oVyidDOqkyWFi2H89vDO+vL/37+fq+en48XNkpXC7584P14I3xiMY4SxbS +IhCIZAZH0QLqQHYROmnvy/FQGn4YCo4tUpyaE1v1MTZc8QotdetV1RxI+Qz/Px4n +7GNC4j3TlQC61qWunkU+OCT25N/97tuiIY2dWZmesR2oNxFDV6sBNsNbp2eleXYv +amPd5HfxiGEVGT3EuNQLkGjAO5+BFCXS2oQ1mQluN0bWyqgiwUpBAfkkIGDQ4FLU +3qCuhGrMH7NGGUIEjFSp81qpldWwClQ2Zr8sHqfSsnseTSv0OU+7ocZ05h+VXw== +},0} +}, +{24}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Применение"} +}, +{1,0}, +{1,0},75,25,25,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ПрименениеДляКраткогоОтображенияГруппыЛокальногоОтбора", +{},11,0, +{1,0}, +{"Pattern", +{"#",27d7d459-265e-4fac-9685-d86b957f211f} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVJLbgMhDK26jJRL0C2WMBgYbpFNVl3BAMsuquwi +TtZFj9QrlE+GdFJlsLBsP57fGN5fX/r38/V9dfx4uLKTv1zS5wfrwRvj0kYbSTuQ +Rieg7FdwZtEQFxOctlki5nI8lIYfhoJjixSn5sRWfYwNV7xCS916VTUHUj7D/4/H +CfuYkHjPdCWAS+tSV88iHxwSe/Lvfvdt0ZDGzqxMz9gO1JuIoavVAJvhrdOz0jy7 +F7WxbvK7eESfRUIHIUQEkmjALa5ehaKVtDY+r2aC242RtTKoQJDJKyC3CvDoNSxr +0M6groRqzB+TRul9AAxUqVOu1MpqyAKVDcnF6HAqLbvn0bRCn/O0G2pMZ/5R+QU= +},0} +}, +{25}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Левое значение"} +}, +{1,0}, +{1,0},1e2,26,26,-1,-1,8402433, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,1,0,4,0,"ЛевоеЗначениеДляПодробногоОтображенияЭлементаГлавногоОтбора", +{},15,0, +{1,0}, +{"Pattern", +{"B"}, +{"#",913e8016-6e90-47a0-b2a0-4513f4edad61}, +{"S"}, +{"D"}, +{"N"} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVFLagMxDC1dBnIJd2uB5b+2petQKD2AJ3aWXYTs +wpysix4pV4gtj6dtQsZGb6SnzxPePT/xd/n+OZPcbs7iPZ1O5fgl2HkVM+OLkISm +RIUefCEFNiQFk67GOjQHW3LKHnvyx1L0tuBOzNsN//aLSmLzjLQN1GBvfS+NrKlz +NcyaBqD1o/x7v1eE24DG3wgrAYxtSj0cRdl7aOTgsH897Ryj7eLE57JrQyHWNDW0 +q66scYDt4jLrEbXW/pc1uo4FNJu9yZNKDlwOBPUtIlByFjK6A5JHKobfdl2bUvDW +ZA2VqgWuaIiRDOiopj0huUSh5dm73VTfjucvzVgUdrFd4nwF},0} +}, +{26}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Вид сравнения"} +}, +{1,0}, +{1,0},75,27,27,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ВидыСравненияДляПодробногоОтображенияЭлементаГлавногоОтбора", +{},11,0, +{1,0}, +{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig +YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga +WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI +GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} +}, +{27}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Правое значение"} +}, +{1,0}, +{1,0},1e2,28,28,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ПравоеЗначениеДляПодробногоОтображенияЭлементаГлавногоОтбора", +{},15,0, +{1,0}, +{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig +YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga +WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI +GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} +}, +{28}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Режим отображения"} +}, +{1,0}, +{1,0},75,29,29,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"РежимОтображенияДляПодробногоОтображенияЭлементаГлавногоОтбора", +{},11,0, +{1,0}, +{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig +YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga +WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI +GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} +}, +{29}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Представление"} +}, +{1,0}, +{1,0},1e2,30,30,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ПредставлениеДляПодробногоОтображенияЭлементаГлавногоОтбора", +{},15,0, +{1,0}, +{"Pattern", +{"S"} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ +OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U +bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm +rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ +XFhJtSKWz30vMgcItzCmDw==},0} +}, +{30}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Тип группы"} +}, +{1,0}, +{1,0},275,31,31,-1,-1,8402433, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,1,0,4,0,"ТипДляПодробногоОтображенияГруппыГлавногоОтбора", +{},40,0, +{1,0}, +{"Pattern", +{"#",b1668747-cd01-442e-84b7-15a47d05c599} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVJLbgMhDK26jJRL0C2WMJjfLbLJqitgmGUXVXYR +J+uiR+oVyidDOqkyWFi2H89vDO+vL/37+fq+en48XNkpXC7584P14I3xiMY4SxbS +IhCIZAZH0QLqQHYROmnvy/FQGn4YCo4tUpyaE1v1MTZc8QotdetV1RxI+Qz/Px4n +7GNC4j3TlQC61qWunkU+OCT25N/97tuiIY2dWZmesR2oNxFDV6sBNsNbp2eleXYv +amPd5HfxiGEVGT3EuNQLkGjAO5+BFCXS2oQ1mQluN0bWyqgiwUpBAfkkIGDQ4FLU +3qCuhGrMH7NGGUIEjFSp81qpldWwClQ2Zr8sHqfSsnseTSv0OU+7ocZ05h+VXw== +},0} +}, +{31}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Режим отображения"} +}, +{1,0}, +{1,0},75,32,32,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"РежимОтображенияДляПодробногоОтображенияГруппыГлавногоОтбора", +{},11,0, +{1,0}, +{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig +YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga +WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI +GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} +}, +{32}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Представление"} +}, +{1,0}, +{1,0},1e2,33,33,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ПредставлениеДляПодробногоОтображенияГруппыГлавногоОтбора", +{},15,0, +{1,0}, +{"Pattern", +{"S"} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ +OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U +bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm +rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ +XFhJtSKWz30vMgcItzCmDw==},0} +}, +{33}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Левое значение"} +}, +{1,0}, +{1,0},1e2,34,34,-1,-1,8402433, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,1,0,4,0,"ЛевоеЗначениеДляПодробногоОтображенияЭлементаСДатой", +{},15,0, +{1,0}, +{"Pattern", +{"B"}, +{"#",913e8016-6e90-47a0-b2a0-4513f4edad61}, +{"S"}, +{"D"}, +{"N"} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVFLagMxDC1dBnIJd2uB5b+2petQKD2AJ3aWXYTs +wpysix4pV4gtj6dtQsZGb6SnzxPePT/xd/n+OZPcbs7iPZ1O5fgl2HkVM+OLkISm +RIUefCEFNiQFk67GOjQHW3LKHnvyx1L0tuBOzNsN//aLSmLzjLQN1GBvfS+NrKlz +NcyaBqD1o/x7v1eE24DG3wgrAYxtSj0cRdl7aOTgsH897Ryj7eLE57JrQyHWNDW0 +q66scYDt4jLrEbXW/pc1uo4FNJu9yZNKDlwOBPUtIlByFjK6A5JHKobfdl2bUvDW +ZA2VqgWuaIiRDOiopj0huUSh5dm73VTfjucvzVgUdrFd4nwF},0} +}, +{34}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Вид сравнения"} +}, +{1,0}, +{1,0},75,35,35,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ВидыСравненияДляПодробногоОтображенияЭлементаСДатой", +{},11,0, +{1,0}, +{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig +YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga +WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI +GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} +}, +{35}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Правое значение"} +}, +{1,0}, +{1,0},5e1,36,36,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ПравоеЗначениеДляПодробногоОтображенияЭлементаСДатой", +{},8,0, +{1,0}, +{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig +YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga +WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI +GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} +}, +{36}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Дата"} +}, +{1,0}, +{1,0},5e1,37,37,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ДатаПравоеЗначениеДляПодробногоОтображенияЭлементаСДатой", +{},8,0, +{1,0}, +{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig +YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga +WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI +GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} +}, +{37}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Представление"} +}, +{1,0}, +{1,0},1e2,38,38,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ПредставлениеДляПодробногоОтображенияЭлементаСДатой", +{},15,0, +{1,0}, +{"Pattern", +{"S"} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ +OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U +bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm +rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ +XFhJtSKWz30vMgcItzCmDw==},0} +}, +{38}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Левое значение"} +}, +{1,0}, +{1,0},1e2,39,39,-1,-1,8402433, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,1,0,4,0,"ЛевоеЗначениеДляКраткогоОтображенияЭлементаСДатой", +{},15,0, +{1,0}, +{"Pattern", +{"B"}, +{"#",913e8016-6e90-47a0-b2a0-4513f4edad61}, +{"S"}, +{"D"}, +{"N"} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVFLagMxDC1dBnIJd2uB5b+2petQKD2AJ3aWXYTs +wpysix4pV4gtj6dtQsZGb6SnzxPePT/xd/n+OZPcbs7iPZ1O5fgl2HkVM+OLkISm +RIUefCEFNiQFk67GOjQHW3LKHnvyx1L0tuBOzNsN//aLSmLzjLQN1GBvfS+NrKlz +NcyaBqD1o/x7v1eE24DG3wgrAYxtSj0cRdl7aOTgsH897Ryj7eLE57JrQyHWNDW0 +q66scYDt4jLrEbXW/pc1uo4FNJu9yZNKDlwOBPUtIlByFjK6A5JHKobfdl2bUvDW +ZA2VqgWuaIiRDOiopj0huUSh5dm73VTfjucvzVgUdrFd4nwF},0} +}, +{39}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Вид сравнения"} +}, +{1,0}, +{1,0},75,40,40,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ВидыСравненияДляКраткогоОтображенияЭлементаСДатой", +{},11,0, +{1,0}, +{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig +YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga +WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI +GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} +}, +{40}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Правое значение"} +}, +{1,0}, +{1,0},5e1,41,41,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ПравоеЗначениеДляКраткогоОтображенияЭлементаСДатой", +{},8,0, +{1,0}, +{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig +YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga +WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI +GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} +}, +{41}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Дата"} +}, +{1,0}, +{1,0},5e1,42,42,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ДатаПравоеЗначениеДляКраткогоОтображенияЭлементаСДатой", +{},8,0, +{1,0}, +{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig +YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga +WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI +GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} +}, +{42}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Левое значение"} +}, +{1,0}, +{1,0},1e2,43,43,-1,-1,8402433, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,1,0,4,0,"ЛевоеЗначениеДляПодробногоОтображенияЭлементаЛокальногоОтбораСДатой", +{},15,0, +{1,0}, +{"Pattern", +{"B"}, +{"#",913e8016-6e90-47a0-b2a0-4513f4edad61}, +{"S"}, +{"D"}, +{"N"} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVFLagMxDC1dBnIJd2uB5b+2petQKD2AJ3aWXYTs +wpysix4pV4gtj6dtQsZGb6SnzxPePT/xd/n+OZPcbs7iPZ1O5fgl2HkVM+OLkISm +RIUefCEFNiQFk67GOjQHW3LKHnvyx1L0tuBOzNsN//aLSmLzjLQN1GBvfS+NrKlz +NcyaBqD1o/x7v1eE24DG3wgrAYxtSj0cRdl7aOTgsH897Ryj7eLE57JrQyHWNDW0 +q66scYDt4jLrEbXW/pc1uo4FNJu9yZNKDlwOBPUtIlByFjK6A5JHKobfdl2bUvDW +ZA2VqgWuaIiRDOiopj0huUSh5dm73VTfjucvzVgUdrFd4nwF},0} +}, +{43}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Вид сравнения"} +}, +{1,0}, +{1,0},75,44,44,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ВидыСравненияДляПодробногоОтображенияЭлементаЛокальногоОтбораСДатой", +{},11,0, +{1,0}, +{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig +YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga +WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI +GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} +}, +{44}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Правое значение"} +}, +{1,0}, +{1,0},5e1,45,45,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ПравоеЗначениеДляПодробногоОтображенияЭлементаЛокальногоОтбораСДатой", +{},8,0, +{1,0}, +{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig +YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga +WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI +GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} +}, +{45}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Дата"} +}, +{1,0}, +{1,0},5e1,46,46,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ДатаПравоеЗначениеДляПодробногоОтображенияЭлементаЛокальногоОтбораСДатой", +{},8,0, +{1,0}, +{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig +YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga +WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI +GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} +}, +{46}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Применение"} +}, +{1,0}, +{1,0},75,47,47,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ПрименениеДляПодробногоОтображенияЭлементаЛокальногоОтбораСДатой", +{},11,0, +{1,0}, +{"Pattern", +{"#",27d7d459-265e-4fac-9685-d86b957f211f} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVJLbgMhDK26jJRL0C2WMBgYbpFNVl3BAMsuquwi +TtZFj9QrlE+GdFJlsLBsP57fGN5fX/r38/V9dfx4uLKTv1zS5wfrwRvj0kYbSTuQ +Rieg7FdwZtEQFxOctlki5nI8lIYfhoJjixSn5sRWfYwNV7xCS916VTUHUj7D/4/H +CfuYkHjPdCWAS+tSV88iHxwSe/Lvfvdt0ZDGzqxMz9gO1JuIoavVAJvhrdOz0jy7 +F7WxbvK7eESfRUIHIUQEkmjALa5ehaKVtDY+r2aC242RtTKoQJDJKyC3CvDoNSxr +0M6groRqzB+TRul9AAxUqVOu1MpqyAKVDcnF6HAqLbvn0bRCn/O0G2pMZ/5R+QU= +},0} +}, +{47}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Представление"} +}, +{1,0}, +{1,0},1e2,48,48,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ПредставлениеДляПодробногоОтображенияЭлементаЛокальногоОтбораСДатой", +{},15,0, +{1,0}, +{"Pattern", +{"S"} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ +OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U +bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm +rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ +XFhJtSKWz30vMgcItzCmDw==},0} +}, +{48}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Левое значение"} +}, +{1,0}, +{1,0},1e2,49,49,-1,-1,8402433, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,1,0,4,0,"ЛевоеЗначениеДляКраткогоОтображенияЭлементаЛокальногоОтбораСДатой", +{},15,0, +{1,0}, +{"Pattern", +{"B"}, +{"#",913e8016-6e90-47a0-b2a0-4513f4edad61}, +{"S"}, +{"D"}, +{"N"} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVFLagMxDC1dBnIJd2uB5b+2petQKD2AJ3aWXYTs +wpysix4pV4gtj6dtQsZGb6SnzxPePT/xd/n+OZPcbs7iPZ1O5fgl2HkVM+OLkISm +RIUefCEFNiQFk67GOjQHW3LKHnvyx1L0tuBOzNsN//aLSmLzjLQN1GBvfS+NrKlz +NcyaBqD1o/x7v1eE24DG3wgrAYxtSj0cRdl7aOTgsH897Ryj7eLE57JrQyHWNDW0 +q66scYDt4jLrEbXW/pc1uo4FNJu9yZNKDlwOBPUtIlByFjK6A5JHKobfdl2bUvDW +ZA2VqgWuaIiRDOiopj0huUSh5dm73VTfjucvzVgUdrFd4nwF},0} +}, +{49}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Вид сравнения"} +}, +{1,0}, +{1,0},75,50,50,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ВидыСравненияДляКраткогоОтображенияЭлементаЛокальногоОтбораСДатой", +{},11,0, +{1,0}, +{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig +YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga +WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI +GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} +}, +{50}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Правое значение"} +}, +{1,0}, +{1,0},5e1,51,51,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ПравоеЗначениеДляКраткогоОтображенияЭлементаЛокальногоОтбораСДатой", +{},8,0, +{1,0}, +{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig +YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga +WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI +GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} +}, +{51}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Дата"} +}, +{1,0}, +{1,0},5e1,52,52,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ДатаПравоеЗначениеДляКраткогоОтображенияЭлементаЛокальногоОтбораСДатой", +{},8,0, +{1,0}, +{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig +YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga +WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI +GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} +}, +{52}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Применение"} +}, +{1,0}, +{1,0},75,53,53,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ПрименениеДляКраткогоОтображенияЭлементаЛокальногоОтбораСДатой", +{},11,0, +{1,0}, +{"Pattern", +{"#",27d7d459-265e-4fac-9685-d86b957f211f} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVJLbgMhDK26jJRL0C2WMBgYbpFNVl3BAMsuquwi +TtZFj9QrlE+GdFJlsLBsP57fGN5fX/r38/V9dfx4uLKTv1zS5wfrwRvj0kYbSTuQ +Rieg7FdwZtEQFxOctlki5nI8lIYfhoJjixSn5sRWfYwNV7xCS916VTUHUj7D/4/H +CfuYkHjPdCWAS+tSV88iHxwSe/Lvfvdt0ZDGzqxMz9gO1JuIoavVAJvhrdOz0jy7 +F7WxbvK7eESfRUIHIUQEkmjALa5ehaKVtDY+r2aC242RtTKoQJDJKyC3CvDoNSxr +0M6groRqzB+TRul9AAxUqVOu1MpqyAKVDcnF6HAqLbvn0bRCn/O0G2pMZ/5R+QU= +},0} +}, +{53}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Левое значение"} +}, +{1,0}, +{1,0},1e2,54,54,-1,-1,8402433, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,1,0,4,0,"ЛевоеЗначениеДляПодробногоОтображенияЭлементаГлавногоОтбораСДатой", +{},15,0, +{1,0}, +{"Pattern", +{"B"}, +{"#",913e8016-6e90-47a0-b2a0-4513f4edad61}, +{"S"}, +{"D"}, +{"N"} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVFLagMxDC1dBnIJd2uB5b+2petQKD2AJ3aWXYTs +wpysix4pV4gtj6dtQsZGb6SnzxPePT/xd/n+OZPcbs7iPZ1O5fgl2HkVM+OLkISm +RIUefCEFNiQFk67GOjQHW3LKHnvyx1L0tuBOzNsN//aLSmLzjLQN1GBvfS+NrKlz +NcyaBqD1o/x7v1eE24DG3wgrAYxtSj0cRdl7aOTgsH897Ryj7eLE57JrQyHWNDW0 +q66scYDt4jLrEbXW/pc1uo4FNJu9yZNKDlwOBPUtIlByFjK6A5JHKobfdl2bUvDW +ZA2VqgWuaIiRDOiopj0huUSh5dm73VTfjucvzVgUdrFd4nwF},0} +}, +{54}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Вид сравнения"} +}, +{1,0}, +{1,0},75,55,55,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ВидыСравненияДляПодробногоОтображенияЭлементаГлавногоОтбораСДатой", +{},11,0, +{1,0}, +{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig +YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga +WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI +GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} +}, +{55}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Правое значение"} +}, +{1,0}, +{1,0},5e1,56,56,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ПравоеЗначениеДляПодробногоОтображенияЭлементаГлавногоОтбораСДатой", +{},8,0, +{1,0}, +{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig +YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga +WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI +GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} +}, +{56}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Дата"} +}, +{1,0}, +{1,0},5e1,57,57,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ДатаПравоеЗначениеДляПодробногоОтображенияЭлементаГлавногоОтбораСДатой", +{},8,0, +{1,0}, +{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig +YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga +WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI +GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} +}, +{57}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Режим отображения"} +}, +{1,0}, +{1,0},75,58,58,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"РежимОтображенияДляПодробногоОтображенияЭлементаГлавногоОтбораСДатой", +{},11,0, +{1,0}, +{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig +YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga +WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI +GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} +}, +{58}, +{-1}, +{-1} +},0} +}, +{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, +{4, +{8, +{16, +{1,1, +{"ru","Представление"} +}, +{1,0}, +{1,0},1e2,59,59,-1,-1,8394240, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,2,0,4,0,"ПредставлениеДляПодробногоОтображенияЭлементаГлавногоОтбораСДатой", +{},15,0, +{1,0}, +{"Pattern", +{"S"} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ +OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U +bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm +rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ +XFhJtSKWz30vMgcItzCmDw==},0} +}, +{59}, +{-1}, +{-1} +},0} +} +},0,0,0,0} +}, +{44c6793c-98d3-4635-bbfe-58bbded2bb4e, +{3,0,0} +}, +{2, +{49,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} +} +} +}, +{51,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} +} +} +} +} +}, +{8,347,104,722,277,1, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,0,1,-6}, +{2,-1,6,0} +}, +{0, +{2,14,3,5}, +{2,-1,6,0} +}, +{0, +{2,0,3,-6}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},0,0,0,0,0,0,0,9,17,0,0}, +{14,"КомпоновщикОтбор",4294967295,0,0,0}, +{0} +}, +{e69bf21d-97b2-4f37-86db-675aea9ec2cb,24, +{2, +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-21} +}, +{3,0, +{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, +{1,0} +},8,2,1,0,1,1, +{5,d0a52278-ca43-4762-b8e3-8d872ef8fe2d,182,1,2, +{6,0dc07ea8-280f-4427-8c6c-bc3e9db854b1,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, +{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, +{6,e93e581f-f08f-4356-99ef-57b71c14881d,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} +} +},6, +{1,1, +{"ru","Показать выбранные записи"} +}, +{1,1, +{"ru","Показать выбранные записи"} +} +},1, +{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,2,0dc07ea8-280f-4427-8c6c-bc3e9db854b1, +{8,"Разделитель1",0,1, +{1,1, +{"ru","Действие4"} +},0,d0a52278-ca43-4762-b8e3-8d872ef8fe2d,8,1e2,2,0,1,0,0,0,0},e93e581f-f08f-4356-99ef-57b71c14881d, +{8,"ПоказатьРезультатаОтбора",0,3, +{1,1, +{"ru","Показать выбранные"} +},1,d0a52278-ca43-4762-b8e3-8d872ef8fe2d,7,1e2,0,0,1,0,0,0,0}, +{0,0, +{0} +} +} +},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,9d0a2e40-b978-11d4-84b6-008048da06df,0} +}, +{8,347,78,722,102,1, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,24,0,24}, +{2,-1,6,0} +}, +{0, +{2,25,3,5}, +{2,-1,6,0} +}, +{0, +{2,0,3,-6}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},1, +{0,24,1},0,0,0,0,0,0,10,15,0,0}, +{14,"КоманднаяПанельКомпоновщикОтбор",23,0,0,0}, +{0} +}, +{e69bf21d-97b2-4f37-86db-675aea9ec2cb,25, +{2, +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-21} +}, +{3,0, +{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, +{1,0} +},8,2,0,0,1,1, +{5,8d6538eb-fa47-46f2-82d7-07ab238d41c2,3,1,3, +{6,07b0be5c-bb12-4aa5-9312-7474bcad9e6c,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} +} +},1, +{3,1, +{-8},"",-1,-1,1,0} +}, +{6,2f938440-044d-4698-8816-ae0b70179d1e,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, +{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, +{6,58ee9673-f308-4834-a0de-b392b343824a,1,e1692cc2-605b-4535-84dd-28440238746c, +{3,"КоманднаяПанель1ПересчетВыгружаемыхПоСсылке", +{1,"КоманднаяПанель1ПересчетВыгружаемыхПоСсылке", +{1,1, +{"ru","Командная панель1 пересчет выгружаемых по ссылке"} +}, +{1,1, +{"ru","Командная панель1 пересчет выгружаемых по ссылке"} +}, +{1,1, +{"ru","Командная панель1 пересчет выгружаемых по ссылке"} +}, +{3,0, +{0},"",-1,-1,1,0}, +{0,0,0} +} +},7, +{1,1, +{"ru","Определение объектов, выгружаемых по ссылке"} +}, +{1,1, +{"ru","Определение объектов, выгружаемых по ссылке"} +}, +{3,3, +{0},"",12,11,1, +{ +{#base64:Qk3uAAAAAAAAAHYAAAAoAAAADwAAAA8AAAABAAQAAAAAAHgAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAMDAwACAgIAAAAD/AAD/ +AAAA//8A/wAAAP8A/wD//wAA////AIiIiIiGZmZgj/D//4ZmZmCPAA//hmZmYIAA +AP+IiGZggA8AD4/4ZmCA//AAj/hmYI///wCP+IiAj///8I/4/4CIiIiIj/j/gGZo +////+P+AZmj////4D4BmaIiIiIgAgGZmZo///wCAZmZmj///8IBmZmaIiIiIgA== +} +},0} +},1, +{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,3,58ee9673-f308-4834-a0de-b392b343824a, +{8,"ПересчетВыгружаемыхПоСсылке",0,2, +{1,1, +{"ru","Объекты по ссылкам"} +},1,8d6538eb-fa47-46f2-82d7-07ab238d41c2,1,1e2,0,3,1,0,0,0,0},2f938440-044d-4698-8816-ae0b70179d1e, +{8,"Разделитель",0,1, +{1,1, +{"ru","Действие"} +},0,8d6538eb-fa47-46f2-82d7-07ab238d41c2,3,1e2,2,0,1,0,0,0,0},07b0be5c-bb12-4aa5-9312-7474bcad9e6c, +{8,"ЗаполнитьТаблицуДанных",0,1, +{1,1, +{"#","Заполнить таблицу данных"} +},0,8d6538eb-fa47-46f2-82d7-07ab238d41c2,2,1e2,0,3,0,0,0,0,0}, +{-1,0, +{0} +} +} +},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,9d0a2e40-b978-11d4-84b6-008048da06df,0} +}, +{8,6,78,342,102,1, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,25,0,24}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,0,2,342}, +{2,0,3,-386} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},1, +{0,25,1},0,0,1, +{0,24,2},0,0,0,11,14,0,0}, +{14,"КоманднаяПанельДеревоМетаданных",14,0,0,0}, +{0} +}, +{35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26,26, +{1, +{ +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,0, +{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, +{1,1, +{"ru","Выгружать код"} +} +},4, +{1,1, +{"ru","Выгружать код / номер в макет"} +},1,0,1},1,0,0}, +{0} +}, +{8,257,54,440,73,1, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,26,0,19}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,26,2,183}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},1, +{0,26,1},0,1, +{0,26,3},0,0,0,0,12,11,0,0}, +{14,"ВыгружатьКод",4294967295,0,0,0}, +{0} +}, +{35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26,27, +{1, +{ +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,0, +{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, +{1,1, +{"ru","Выгружать ссылку"} +} +},4, +{1,1, +{"ru","Выгружать ссылку"} +},1,0,1},1,0,0}, +{0} +}, +{8,444,54,558,73,1, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,27,0,19}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,27,2,114}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},1, +{0,27,1},0,1, +{0,27,3},0,0,0,0,13,12,0,0}, +{14,"ВыгружатьСсылку",4294967295,0,0,0}, +{0} +}, +{35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26,28, +{1, +{ +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,0, +{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, +{1,1, +{"ru","Связь по гуид"} +} +},4, +{1,1, +{"ru","Связь по гуид"} +},1,0,1},1,0,0}, +{0} +}, +{8,567,54,658,73,1, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,28,0,19}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,28,2,91}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},1, +{0,28,1},0,1, +{0,28,3},0,0,0,0,14,13,0,0}, +{14,"СвязьПоГуид",4294967295,0,0,0}, +{0} +}, +{35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26,29, +{1, +{ +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,0, +{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, +{1,1, +{"ru","Только создание"} +} +},4, +{1,1, +{"ru","Только создание"} +},1,0,1},1,0,0}, +{0} +}, +{8,422,30,531,49,1, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,29,0,19}, +{2,-1,6,0} +}, +{0, +{2,22,3,4}, +{2,-1,6,0} +}, +{0, +{2,29,2,109}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},1, +{0,29,1},0,1, +{0,29,3},0,0,0,0,15,8,0,0}, +{14,"ТолькоСоздание",4294967295,0,0,0}, +{0} +}, +{35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26,30, +{1, +{ +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,0, +{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, +{1,1, +{"ru","Обмен данными"} +} +},4, +{1,1, +{"ru","Обмен данными"} +},1,0,1},1,0,0}, +{0} +}, +{8,549,30,658,49,1, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,30,0,19}, +{2,-1,6,0} +}, +{0, +{2,22,3,131}, +{2,-1,6,0} +}, +{0, +{2,30,2,109}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},1, +{0,30,1},0,1, +{0,30,3},0,0,0,0,16,9,0,0}, +{14,"ОбменДанными",4294967295,0,0,0}, +{0} +}, +{ea83fe3a-ac3c-4cce-8045-3dddf35b28b1,31, +{5, +{"Pattern", +{"#",8c4a53bd-2ffc-4f04-a9c8-f69b557900f6} +}, +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,1, +{-18},0,0,0}, +{1,0} +}, +{15,117578765, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-14} +}, +{3,3, +{-15} +}, +{3,3, +{-13} +},2,2,0,0,0,0,1,1,1, +{6,2,0, +{-20},1}, +{6,2,0, +{-20},1},2,0,1, +{7, +{c2cf1953-2796-4fe2-b78c-ff84140b124e, +{1, +{8, +{16, +{1,1, +{"ru","N"} +}, +{1,0}, +{1,0},28,0,-2,-1,-1,12590592, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,0,0,4,0,"НомерСтроки", +{},4,0, +{1,0}, +{"Pattern"},0,1,00000000-0000-0000-0000-000000000000}, +{-2}, +{-1}, +{-1} +},0,0} +}, +{c2cf1953-2796-4fe2-b78c-ff84140b124e, +{1, +{8, +{16, +{1,1, +{"ru","Имя"} +}, +{1,0}, +{1,0},1e2,1,0,-1,-1,12590592, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,0,0,4,0,"Имя", +{},15,0, +{1,0}, +{"Pattern", +{"S",10,1} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ +OLAIO7ACtd0UtVXjyNZ7/rz3OR74fV/vAXVZDOrU9n33fCgGZ6XBakhlkQjLJ4aQ +14GKzd01rrXXtDwm7noqxrm9+S2WjWZNOPgz7MRAJJUxmAUtNxwwKTnHxAkI4k1d +VJqrUosdVrFijHoG6MMktdead5eu8tXsn91j29TB350B7NCEqnMmRvTGRXu9IWDV +YkNzYWPVilk+N11kDRBtUUw/},0} +}, +{0,125e5b0a-0bc6-45cb-a336-cb6a4d287136}, +{-1}, +{-1} +},0,0} +}, +{c2cf1953-2796-4fe2-b78c-ff84140b124e, +{1, +{8, +{16, +{1,1, +{"ru","Полное имя"} +}, +{1,0}, +{1,0},1e2,2,1,-1,-1,12590592, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,0,0,4,0,"ПолноеИмя", +{},15,0, +{1,0}, +{"Pattern", +{"S",10,1} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ +OLAIO7ACtd0UtVXjyNZ7/rz3OR74fV/vAXVZDOrU9n33fCgGZ6XBakhlkQjLJ4aQ +14GKzd01rrXXtDwm7noqxrm9+S2WjWZNOPgz7MRAJJUxmAUtNxwwKTnHxAkI4k1d +VJqrUosdVrFijHoG6MMktdead5eu8tXsn91j29TB350B7NCEqnMmRvTGRXu9IWDV +YkNzYWPVilk+N11kDRBtUUw/},0} +}, +{0,8f38c53d-a655-4374-ad31-85648b2548a3}, +{-1}, +{-1} +},0,0} +}, +{c2cf1953-2796-4fe2-b78c-ff84140b124e, +{1, +{8, +{16, +{1,1, +{"ru","Роли"} +}, +{1,0}, +{1,0},1e2,3,2,-1,-1,12590592, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,0,0,4,0,"Роли", +{},15,0, +{1,0}, +{"Pattern", +{"S"} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ +OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U +bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm +rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ +XFhJtSKWz30vMgcItzCmDw==},0} +}, +{0,48667483-dd77-4d30-9cd6-6e2a8fb4a14f}, +{-1}, +{-1} +},0,0} +}, +{c2cf1953-2796-4fe2-b78c-ff84140b124e, +{1, +{8, +{16, +{1,1, +{"ru","Аутентификация стандартная"} +}, +{1,0}, +{1,0},1e2,4,3,-1,-1,12590592, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,0,0,4,0,"АутентификацияСтандартная", +{},15,0, +{1,0}, +{"Pattern", +{"S",10,1} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ +OLAIO7ACtd0UtVXjyNZ7/rz3OR74fV/vAXVZDOrU9n33fCgGZ6XBakhlkQjLJ4aQ +14GKzd01rrXXtDwm7noqxrm9+S2WjWZNOPgz7MRAJJUxmAUtNxwwKTnHxAkI4k1d +VJqrUosdVrFijHoG6MMktdead5eu8tXsn91j29TB350B7NCEqnMmRvTGRXu9IWDV +YkNzYWPVilk+N11kDRBtUUw/},0} +}, +{0,81518c3c-ec9f-4b7a-aee3-1b61b961744a}, +{-1}, +{-1} +},0,0} +}, +{c2cf1953-2796-4fe2-b78c-ff84140b124e, +{1, +{8, +{16, +{1,1, +{"ru","Аутентификация ОС"} +}, +{1,0}, +{1,0},1e2,5,4,-1,-1,12590592, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,0,0,4,0,"АутентификацияОС", +{},15,0, +{1,0}, +{"Pattern", +{"S",10,1} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ +OLAIO7ACtd0UtVXjyNZ7/rz3OR74fV/vAXVZDOrU9n33fCgGZ6XBakhlkQjLJ4aQ +14GKzd01rrXXtDwm7noqxrm9+S2WjWZNOPgz7MRAJJUxmAUtNxwwKTnHxAkI4k1d +VJqrUosdVrFijHoG6MMktdead5eu8tXsn91j29TB350B7NCEqnMmRvTGRXu9IWDV +YkNzYWPVilk+N11kDRBtUUw/},0} +}, +{0,eb823c40-ef8a-40b4-909e-43c5f08beec8}, +{-1}, +{-1} +},0,0} +}, +{c2cf1953-2796-4fe2-b78c-ff84140b124e, +{1, +{8, +{16, +{1,1, +{"ru","Пользователь ОС"} +}, +{1,0}, +{1,0},1e2,6,5,-1,-1,12590592, +{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} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{6,3,0,1}, +{6,3,0,1},1,0,0,4,0,"ПользовательОС", +{},15,0, +{1,0}, +{"Pattern", +{"S",10,1} +},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, +{ +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ +OLAIO7ACtd0UtVXjyNZ7/rz3OR74fV/vAXVZDOrU9n33fCgGZ6XBakhlkQjLJ4aQ +14GKzd01rrXXtDwm7noqxrm9+S2WjWZNOPgz7MRAJJUxmAUtNxwwKTnHxAkI4k1d +VJqrUosdVrFijHoG6MMktdead5eu8tXsn91j29TB350B7NCEqnMmRvTGRXu9IWDV +YkNzYWPVilk+N11kDRBtUUw/},0} +}, +{0,4a598a3c-f0a3-4431-84bd-f3073a683a04}, +{-1}, +{-1} +},0,0} +} +},0,0,0,0} +}, +{51d1e122-c0f3-496f-901e-806df8206ba9, +{2,1, +{0,1} +} +}, +{0} +}, +{8,6,12,722,277,1, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,0,1,-6}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,0,3,-6}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},0,0,0,0,0,0,2,0,1,0,0}, +{14,"ПользователиИБ",4294967295,0,0,0}, +{0} +} +} +} +} +},746,500,1,0,1,4,4,338}, +{ +{0},12, +{2, +{ +{0},0,0,1,"ОбработкаОбъект", +{"Pattern", +{"#",9d3c86e4-fa06-4c20-bca1-6fe80c64060e} +} +}, +{ +{7},1,0,1,"ДеревоМетаданных_КопияФормы", +{"Pattern", +{"#",e603c0f2-92fb-4d47-8f38-a44a381cf235} +} +} +}, +{13, +{6, +{2, +{0}, +{0,f420a238-4e45-4a7b-84ca-9abcd874383f} +} +}, +{14, +{1, +{7} +} +}, +{16, +{2, +{0}, +{0,0ddab741-62a3-4d54-bb38-5d944fa6768a} +} +}, +{17, +{2, +{0}, +{0,bcd9f98c-16d2-4a22-b512-f58f24c2c2e2} +} +}, +{19, +{2, +{0}, +{0,ccf43cfe-b00c-431f-b3cb-e45e968dc5d7} +} +}, +{20, +{2, +{0}, +{0,6c7b1e37-1582-46c4-8922-004412d0d14e} +} +}, +{23, +{4, +{0}, +{0,688c1a9a-ed60-4a99-a19c-f10ad08240f3}, +{0}, +{1} +} +}, +{26, +{2, +{0}, +{0,63248c36-ab07-4643-9cd2-ba37d20c4155} +} +}, +{27, +{2, +{0}, +{0,28ec811a-3df5-448b-acff-e2eeab7cac5b} +} +}, +{28, +{2, +{0}, +{0,e290ebce-71a9-4e8a-ab5b-48fdab75a6fc} +} +}, +{29, +{2, +{0}, +{0,59c1f2b8-34f7-46c6-a5c2-e970905a82e8} +} +}, +{30, +{2, +{0}, +{0,e548c2b3-1668-40b7-ae4c-8cb11f51ff25} +} +}, +{31, +{2, +{0}, +{0,03587dc5-8be3-4235-9aac-383ec90f5906} +} +} +} +}, +{59d6c227-97d3-46f6-84a0-584c5a2807e1,1, +{2,0, +{0,0}, +{0},1} +}, +{1, +{70001,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,4,1,0,0,0, +{0}, +{0}, +{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/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Form/\320\244\320\276\321\200\320\274\320\260/module" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Form/\320\244\320\276\321\200\320\274\320\260/module" new file mode 100644 index 00000000..49421356 --- /dev/null +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Form/\320\244\320\276\321\200\320\274\320\260/module" @@ -0,0 +1,356 @@ + +// структура соотвествия имени класса индексу его картинки в коллекции +Перем ИндексыКартинокКлассов; +Перем СоответствиеПоказыватьПриНеобходимости; + +Перем ПолужирныйШрифт; + +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ + +Процедура ПриОткрытии() + ЭтаФорма.Заголовок = ЭтотОбъект.ЗаголовокФормы(); + + Объект().НачальнаяИнициализация(); + ДеревоМетаданных_КопияФормы = ДеревоМетаданных; + + ЗаполнитьСписокВыбора_РежимПоиска(); + ЗаполнитьСписокВыбора_РежимСоздания(); + + ВыгружатьСсылку = Истина; +КонецПроцедуры + +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ ЭЛЕМЕНТОВ ШАПКИ ФОРМЫ + +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ ТАБЛИЦЫ ФОРМЫ ТаблицаДанных + +Процедура ТаблицаДанныхСсылкаПриИзменении(Элемент) + ТаблицаДанныхСсылкаПриИзмененииСервер(ЭлементыФормы.ТаблицаДанных.ТекущаяСтрока); +КонецПроцедуры + +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ КОМАНД ФОРМЫ + +Процедура КоманднаяПанель1ПодменюСоздатьМакетДанных(Кнопка) + ПанельИсточников = ЭлементыФормы.ПанельИсточникиДанных; + Если ПанельИсточников.ТекущаяСтраница = ПанельИсточников.Страницы.СтраницаМетаданные Тогда + КоманднаяПанель1СоздатьМакетДанныхПоМетаданным(Кнопка); + ИначеЕсли ПанельИсточников.ТекущаяСтраница = ПанельИсточников.Страницы.СтраницаТаблицаДанных Тогда + КоманднаяПанель1СоздатьМакетДанныхПоТаблицеДанных(Кнопка); + ИначеЕсли ПанельИсточников.ТекущаяСтраница = ПанельИсточников.Страницы.СтраницаПользователиИБ Тогда + КоманднаяПанель1СоздатьМакетДанныхДляПользователейИБ(); + КонецЕсли; +КонецПроцедуры + +Процедура КоманднаяПанель1СоздатьМакетДанныхПоТаблицеДанных(Кнопка) + Если ПроверитьЗаполнение() Тогда + НовыйМакет = СоздатьМакетДанныхПоТаблицеДанныхСервер(); + КонецЕсли; +КонецПроцедуры + +Процедура КоманднаяПанель1СоздатьМакетДанныхПоМетаданным(Кнопка) + + НовыйМакет = СоздатьМакетДанныхПоМетаданнымСервер(); + +КонецПроцедуры + +Процедура КоманднаяПанель1СоздатьМакетДанныхДляПользователейИБ() + + МассивИменПользователей = Новый Массив; + Для Каждого Строка Из ЭлементыФормы.ПользователиИБ.ВыделенныеСтроки Цикл + МассивИменПользователей.Добавить(Строка.Имя); + КонецЦикла; + НовыйМакет = СоздатьМакетДанныхПоПользователямИБСервер(МассивИменПользователей); + +КонецПроцедуры + +Процедура КоманднаяПанель1ПротестироватьЗагрузкуМакета(Кнопка) + Макет = Новый ТабличныйДокумент; + Макет.Вывести(ЭлементыФормы.Макет); + + ПроверитьЗагрузкуМакетаСервер(Макет); +КонецПроцедуры + +Процедура КоманднаяПанель1СохранитьМакетДанныхВФайл(Кнопка) + ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); + ДиалогВыбораФайла.ПолноеИмяФайла = ""; + ДиалогВыбораФайла.Фильтр = "Табличный документ (*.mxl)|*.mxl|Все файлы (*.*)|*.*"; + ДиалогВыбораФайла.Заголовок = "Выберите файл"; + Если Не ДиалогВыбораФайла.Выбрать() Тогда + Возврат; + КонецЕсли; + + Макет = ЭлементыФормы.Макет; + Макет.Записать(ДиалогВыбораФайла.ПолноеИмяФайла); +КонецПроцедуры + +Процедура КоманднаяПанель2ОчиститьТаблицуДанных(Кнопка) + ТаблицаДанных.Очистить(); +КонецПроцедуры + +Процедура КоманднаяПанельМакетОчиститьТаблицуДанных(Кнопка) + ЭлементыФормы.Макет.Очистить(); +КонецПроцедуры + +//////////////////////////////////////////////////////////////////////////////// +// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ + +Функция Объект() + Возврат ЭтотОбъект; +КонецФункции + +Процедура ТаблицаДанныхСсылкаПриИзмененииСервер(ИдентификаторСтрокиДанных) + ЭлементДанных = ИдентификаторСтрокиДанных; + Объект().ПриИзмененииСсылки(ЭлементДанных); +КонецПроцедуры + +Функция СоздатьМакетДанныхПоТаблицеДанныхСервер() + Возврат Объект().СоздатьМакетДанныхПоТаблицеДанных(ЭлементыФормы.Макет); +КонецФункции + +Функция СоздатьМакетДанныхПоМетаданнымСервер() + Возврат Объект().СоздатьМакетДанныхПоМетаданным(ЭлементыФормы.Макет); +КонецФункции + +Функция СоздатьМакетДанныхПоПользователямИБСервер(МассивИменПользователей) + Возврат Объект().СоздатьМакетДанныхПоПользователямИБ(ЭлементыФормы.Макет, МассивИменПользователей); +КонецФункции + +Процедура ПроверитьЗагрузкуМакетаСервер(ТабличныйДокумент) + Объект().ПроверитьЗагрузкуМакета(ТабличныйДокумент); +КонецПроцедуры + + + + + +// Обработчик события ПриВыводеСтроки элемента формы ДеревоМетаданных. +// +Процедура ДеревоМетаданныхПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) + + ОформлениеСтроки.Ячейки.ВыгружатьПриНеобходимости.ОтображатьФлажок = ПоказыватьФлажокВыгружатьПриНеобходимости(ДанныеСтроки); + ИндексКартинки = Неопределено; + + Если ДанныеСтроки.ЭлементОписания <> Неопределено Тогда + ИндексКартинки = ИндексыКартинокКлассов[ДанныеСтроки.ЭлементОписания.Класс]; + Иначе + ИндексКартинки = ИндексыКартинокКлассов[ДанныеСтроки.Метаданные]; + КонецЕсли; + + Если ИндексКартинки <> Неопределено Тогда + + ОформлениеСтроки.Ячейки.Метаданные.ИндексКартинки = ИндексКартинки; + ОформлениеСтроки.Ячейки.Метаданные.ОтображатьКартинку = Истина; + + КонецЕсли; + + Если ДанныеСтроки.Использоватьотбор = Истина Тогда + + ОформлениеСтроки.Шрифт = ПолужирныйШрифт; + + КонецЕсли; + +КонецПроцедуры + +// Функция определяет, следует ли показывать флажок в колонке выгрузки по ссылке +// +// Параметры +// +Функция ПоказыватьФлажокВыгружатьПриНеобходимости(ЭлементДЗ) + + ЗапомненноеСостояние = СоответствиеПоказыватьПриНеобходимости[ЭлементДЗ]; + Если ЗапомненноеСостояние <> Неопределено Тогда + Возврат ЗапомненноеСостояние; + КонецЕсли; + Если ОбъектОбразуетСсылочныйТип(ЭлементДЗ.ОбъектМД) Тогда + СоответствиеПоказыватьПриНеобходимости[ЭлементДЗ] = Истина; + Возврат Истина; + КонецЕсли; + Для Каждого ПодчиненныйЭлементДЗ Из ЭлементДЗ.Строки Цикл + Если ПоказыватьФлажокВыгружатьПриНеобходимости(ПодчиненныйЭлементДЗ) Тогда + СоответствиеПоказыватьПриНеобходимости[ЭлементДЗ] = Истина; + Возврат Истина; + КонецЕсли; + КонецЦикла; + СоответствиеПоказыватьПриНеобходимости[ЭлементДЗ] = Ложь; + Возврат Ложь; + +КонецФункции + +// Обработчик события ПриИзмененииФлажка элемента формы ДеревоМетаданных. +// +Процедура ДеревоМетаданныхПриИзмененииФлажка(Элемент, Колонка) + Если Колонка = ЭлементыФормы.ДеревоМетаданных.Колонки.Метаданные Тогда + ОбработкаИзмененияСостоянияВыгружать(Элемент.ТекущиеДанные); + ИначеЕсли Колонка = ЭлементыФормы.ДеревоМетаданных.Колонки.ВыгружатьПриНеобходимости Тогда + ОбработкаИзмененияСостоянияВыгружатьПриНеобходимости(Элемент.ТекущиеДанные); + КонецЕсли; +КонецПроцедуры + +Процедура ДеревоМетаданныхПриАктивизацииСтроки(Элемент) + + НастроитьКомпоновщик(); + +КонецПроцедуры + +// Служит для настройки построителя при отборе данных +// +// Параметры: +// +Процедура НастроитьКомпоновщик() + + ТекущаяСтрока = ЭлементыФормы.ДеревоМетаданных.ТекущиеДанные; + + Если ТекущаяСтрока = Неопределено Тогда + Возврат; + КонецЕсли; + + Если НЕ ОпределитьПоСтрокеДереваДоступенПостроитель(ТекущаяСтрока) Тогда + + ДоступностьКомпоновщика = ЛОЖЬ; + УдалитьОтборыКомпоновщика(КомпоновщикНастроекКомпоновкиДанных); + + Иначе + + Попытка + + СхемаКомпоновкиДанных = ПодготовитьКомпоновщикДляВыгрузки(ТекущаяСтрока); + КомпоновщикНастроекКомпоновкиДанных.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); + КомпоновщикНастроекКомпоновкиДанных.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию); + + ДоступностьКомпоновщика = Истина; + + Исключение + ДоступностьКомпоновщика = ЛОЖЬ; + УдалитьОтборыКомпоновщика(КомпоновщикНастроекКомпоновкиДанных); + КонецПопытки; + + КонецЕсли; + + ЭлементыФормы.КомпоновщикОтбор.Доступность = ДоступностьКомпоновщика; + ЭлементыФормы.КоманднаяПанельКомпоновщикОтбор.Доступность = ДоступностьКомпоновщика; + +КонецПроцедуры + +Функция ОпределитьПоСтрокеДереваДоступенПостроитель(СтрокаДерева) + + Если СтрокаДерева.Строки.Количество() > 0 Тогда + Возврат Ложь; + Иначе + Возврат Истина; + КонецЕсли; + +КонецФункции + +Процедура УдалитьОтборыКомпоновщика(Компоновщик) + + Компоновщик.Настройки.Отбор.Элементы.Очистить(); + +КонецПроцедуры + +Процедура КомпоновщикОтборПослеУдаления(Элемент) + + ОбновитьНастройкиПостроителяВТаблицеДляВыгрузки(); + +КонецПроцедуры + +Процедура КомпоновщикОтборПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования) + + ОбновитьНастройкиПостроителяВТаблицеДляВыгрузки(); + +КонецПроцедуры + +Процедура ОбновитьНастройкиПостроителяВТаблицеДляВыгрузки() + + ТекущаяСтрока = ЭлементыФормы.ДеревоМетаданных.ТекущиеДанные; + Если КомпоновщикНастроекКомпоновкиДанных.Настройки.Отбор.Элементы.Количество() > 0 Тогда + + ТекущаяСтрока.НастройкиКомпоновщика = КомпоновщикНастроекКомпоновкиДанных.Настройки.Отбор; //КомпоновщикНастроекКомпоновкиДанных.ПолучитьНастройки(); + ТекущаяСтрока.ИспользоватьОтбор = ИСТИНА; + ТекущаяСтрока.Выгружать = Истина; + + Иначе + + ТекущаяСтрока.НастройкиКомпоновщика = Неопределено; + ТекущаяСтрока.ИспользоватьОтбор = ЛОЖЬ; + + КонецЕсли; + +КонецПроцедуры + +Процедура КоманднаяПанельКомпоновщикОтборПоказатьРезультатаОтбора(Кнопка) + + // показать выбранные записи + Если ЭлементыФормы.КомпоновщикОтбор.Доступность <> Истина + ИЛИ ЭлементыФормы.ДеревоМетаданных.ТекущиеДанные = Неопределено Тогда + Возврат; + КонецЕсли; + + Отчет = СформироватьОтчетПоОтобраннымДанным(ЭлементыФормы.ДеревоМетаданных.ТекущиеДанные); + Отчет.Показать(НСтр("ru = 'Выбранные объекты'")); + +КонецПроцедуры + +// Обработчик события кнопки ПересчетВыгружаемыхПоСсылке командной панели КоманднаяПанель1. +// +Процедура КоманднаяПанель1ПересчетВыгружаемыхПоСсылке(Кнопка) + + СоставВыгрузки(); + ПересчитатьВыгружаемыеПоСсылке(СоставПолнойВыгрузки); + +КонецПроцедуры + +Процедура КоманднаяПанельДеревоМетаданныхЗаполнитьТаблицуДанных(Кнопка) + + + +КонецПроцедуры + +Процедура ЗаполнитьСписокВыбора_РежимПоиска() + СписокВыбора_РежимПоиска(ЭлементыФормы.ТаблицаДанных.Колонки.РежимПоиска.ЭлементУправления.СписокВыбора); +КонецПроцедуры + +Процедура ЗаполнитьСписокВыбора_РежимСоздания() + СписокВыбора_РежимСоздания(ЭлементыФормы.ТаблицаДанных.Колонки.РежимСоздания.ЭлементУправления.СписокВыбора); +КонецПроцедуры + +Процедура КнопкаУстановкиПериодаНажатие(Элемент) + НастройкаПериода = Новый НастройкаПериода; + НастройкаПериода.РедактироватьКакИнтервал = Истина; + НастройкаПериода.РедактироватьКакПериод = Истина; + НастройкаПериода.ВариантНастройки = ВариантНастройкиПериода.Период; + НастройкаПериода.УстановитьПериод(ДатаНачала, ДатаОкончания); + Если НастройкаПериода.Редактировать() Тогда + ДатаНачала = НастройкаПериода.ПолучитьДатуНачала(); + ДатаОкончания = НастройкаПериода.ПолучитьДатуОкончания(); + КонецЕсли; +КонецПроцедуры + + +ПолужирныйШрифт = Новый Шрифт(,,ИСТИНА,,,); + +ИндексыКартинокКлассов = Новый Структура; +ИндексыКартинокКлассов.Вставить("Справочники", 0); +ИндексыКартинокКлассов.Вставить("ПланыОбмена", 1); +ИндексыКартинокКлассов.Вставить("ПланыСчетов", 2); +ИндексыКартинокКлассов.Вставить("РеквизитыАдресации", 3); +ИндексыКартинокКлассов.Вставить("Константы", 4); +ИндексыКартинокКлассов.Вставить("РегистрыНакопления", 5); +ИндексыКартинокКлассов.Вставить("БизнесПроцессы", 6); +ИндексыКартинокКлассов.Вставить("Последовательности", 7); +ИндексыКартинокКлассов.Вставить("РегистрыСведений", 8); +ИндексыКартинокКлассов.Вставить("Перерасчеты", 9); +ИндексыКартинокКлассов.Вставить("Реквизиты", 10); +ИндексыКартинокКлассов.Вставить("ТабличныеЧасти", 11); +ИндексыКартинокКлассов.Вставить("Ресурсы", 12); +ИндексыКартинокКлассов.Вставить("ПланыВидовРасчета", 13); +ИндексыКартинокКлассов.Вставить("Документы", 14); +ИндексыКартинокКлассов.Вставить("ПланыВидовХарактеристик", 15); +ИндексыКартинокКлассов.Вставить("Конфигурации", 16); +ИндексыКартинокКлассов.Вставить("Задачи", 17); +ИндексыКартинокКлассов.Вставить("РегистрыБухгалтерии", 18); +ИндексыКартинокКлассов.Вставить("РегистрыРасчета", 19); +ИндексыКартинокКлассов.Вставить("Измерения", 20); +СоответствиеПоказыватьПриНеобходимости = Новый Соответствие; diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/ObjectModule.txt" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/ObjectModule.txt" new file mode 100644 index 00000000..f385e6c4 --- /dev/null +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/ObjectModule.txt" @@ -0,0 +1,5343 @@ +Перем ТестовыеДанныхДляУдаления; + +Перем МассивИмен; + +Перем МетаданныеОписание Экспорт; +Перем СсылочныеТипы Экспорт; +Перем СоответствиеОбъектовМетаданныхИСсылочныхТипов; + +// массив строк дерева метаданных, имеющих признак Выгружать +Перем СоставПолнойВыгрузки Экспорт; + +Перем мВыгруженныеОбъекты; + +Перем мНаличиеВыгрузкиПодчиненныхОбъектов; +Перем мТипРезультатЗапроса; +Перем мСоответствиеКолонокДвижений; +Перем ОбработанныхКонстант Экспорт; +Перем ОбработанныхНаборовЗаписей Экспорт; +Перем СоставВспомогательнойВыгрузки; + +Функция Версия() Экспорт + Возврат "3.0.0.4"; +КонецФункции + +Функция ЗаголовокФормы() Экспорт + Возврат СокрЛП(Метаданные().Синоним) + ", версия " + Версия();; +КонецФункции + +// { Plugin interface +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Результат = Новый Структура; + Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); + Результат.Вставить("Идентификатор", Метаданные().Имя); + Результат.Вставить("Представление", "Сериализация и десериализация данных в MXL формате"); + + Возврат Новый ФиксированнаяСтруктура(Результат); +КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт +КонецПроцедуры +// } Plugin interface + +//{ Десериализация тестовых данных +Функция СоздатьДанныеПоМакетам(ТестОбъект, ИменаМакетов) Экспорт + МассивИменМакетов = РазложитьСтрокуВМассивПодстрок(ИменаМакетов); + МассивМакетов = Новый Массив; + Для каждого ИмяМакета Из МассивИменМакетов Цикл + МассивМакетов.Добавить(ТестОбъект.ПолучитьМакет(ИмяМакета)); + КонецЦикла; + Возврат СоздатьДанныеПоТабличномуДокументу(МассивМакетов); +КонецФункции + +Функция СоздатьДанныеПоТабличномуДокументу(ТабличныйДокументИлиМассивТабличныхДокументов, РежимыЗагрузкиИлиИмяКолонкиЗамещения = Неопределено, ИмяКолонкиЗамещения = Неопределено) Экспорт + Перем РежимыЗагрузки; + + Если ТипЗнч(РежимыЗагрузкиИлиИмяКолонкиЗамещения) = Тип("Строка") Тогда + ИмяКолонкиЗамещения = РежимыЗагрузкиИлиИмяКолонкиЗамещения; + Иначе + РежимыЗагрузки = РежимыЗагрузкиИлиИмяКолонкиЗамещения; + Если РежимыЗагрузки <> Неопределено Тогда + ТипПараметра = ТипЗнч(РежимыЗагрузки); + Если ТипПараметра <> Тип("Структура") Тогда + ВызватьИсключение ("Ожидали, что вторым параметром будет передана структура параметров для метода <СоздатьДанныеПоТабличномуДокументу>, а получили другой объект с типом <"+ТипПараметра+">"); + КонецЕсли; + КонецЕсли; + КонецЕсли; + + МассивТабличныхДокументов = Новый Массив(); + Если ТипЗнч(ТабличныйДокументИлиМассивТабличныхДокументов) = Тип("ТабличныйДокумент") Тогда + МассивТабличныхДокументов.Добавить(ТабличныйДокументИлиМассивТабличныхДокументов); + ИначеЕсли ТипЗнч(ТабличныйДокументИлиМассивТабличныхДокументов) = Тип("Массив") Тогда + МассивТабличныхДокументов = ТабличныйДокументИлиМассивТабличныхДокументов; + КонецЕсли; + Возврат СоздатьДанныеИзМакетов(МассивТабличныхДокументов, РежимыЗагрузки, ИмяКолонкиЗамещения); +КонецФункции + +// удаляет созданные элементы (Справочники, Документы, Пользователи ИБ), регистры сведений не чистит - есть тесты +Функция УдалитьСозданныеДанные(Данные) Экспорт + // обратный порядок нужен для получения правильного количества удаленных элементов, т.к Владелец.Удалить удаляет и подчиненные элементы из подчиненных справочников + массивВОбратномПорядке = Новый Массив; + Для каждого ключЗначение Из Данные Цикл + массивВОбратномПорядке.Вставить(0, КлючЗначение.Значение); + КонецЦикла; + + количествоУдаленных = 0; + Для каждого элем Из массивВОбратномПорядке Цикл + типЭлемента = ТипЗнч(элем); + Если Справочники.ТипВсеСсылки().СодержитТип(типЭлемента) Тогда + объект = элем.ПолучитьОбъект(); + Если объект <> Неопределено Тогда + Попытка + объект.Удалить(); + количествоУдаленных = количествоУдаленных + 1; + Исключение + Сообщить(ОписаниеОшибки()); + КонецПопытки; + КонецЕсли; + ИначеЕсли Документы.ТипВсеСсылки().СодержитТип(типЭлемента) Тогда + объект = элем.ПолучитьОбъект(); + Если объект <> Неопределено Тогда + Попытка + объект.Удалить(); + количествоУдаленных = количествоУдаленных + 1; + Исключение + Сообщить(ОписаниеОшибки()); + КонецПопытки; + КонецЕсли; + ИначеЕсли типЭлемента = Тип("ПользовательИнформационнойБазы") Тогда + Попытка + элем.Удалить(); + количествоУдаленных = количествоУдаленных + 1; + Исключение + Сообщить(ОписаниеОшибки()); + КонецПопытки; + КонецЕсли; + КонецЦикла; + Возврат количествоУдаленных; +КонецФункции + +Функция СоздатьДанныеИзМакетов(МассивТабличныхДокументов, РежимыЗагрузки, ИмяКолонкиЗамещения) + ПротоДанные = Новый Структура; + Для каждого ТабличныйДокумент Из МассивТабличныхДокументов Цикл + ПрочитатьДанныеИзМакета(ПротоДанные,ТабличныйДокумент,ИмяКолонкиЗамещения); + КонецЦикла; + ЗаменитьРежимыЗагрузки(ПротоДанные, РежимыЗагрузки); + Данные = СоздатьТестовыеДанныеПоПротоДанным(ПротоДанные); + Возврат Данные; +КонецФункции + +Функция ПрочитатьДанныеИзМакета(ПротоДанные,ТабличныйДокумент,ИмяКолонкиЗамещения) + + СтрокаМакета = 1; + НомерКолонкиМакета = 0; + КолонкиМакета = КолонкиМакетаДанных(); + Пока НомерКолонкиМакета<ТабличныйДокумент.ШиринаТаблицы Цикл + НомерКолонкиМакета = НомерКолонкиМакета + 1; + ИмяКолонки = ТабличныйДокумент.Область("R" + 1 + "C" + НомерКолонкиМакета).Текст; + Если Не ПустаяСтрока(ИмяКолонки) Тогда + КолонкиМакета.Вставить(ИмяКолонки,НомерКолонкиМакета); + КонецЕсли; + КонецЦикла; + + ПроверитьКолонки(КолонкиМакета,ИмяКолонкиЗамещения); + + ДействиеТекущейСтроки = Неопределено; + Пока СтрокаМакета<ТабличныйДокумент.ВысотаТаблицы Цикл + СтрокаМакета = СтрокаМакета + 1; + НомерСтроки = Формат(СтрокаМакета, "ЧГ="); + + //Если новый объект + ИмяПеременной = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.ИмяПеременной); + Если Не ПустаяСтрока(ИмяПеременной) Тогда + Если ПротоДанные.Свойство(ИмяПеременной) Тогда + ВызватьИсключение "Ошибка при создании данных из макета! Неуникальное имя переменной: ["+ИмяПеременной+"]"; + КонецЕсли; + + Тип = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.Тип); + Вид = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.Вид); + Режим = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.Режим); + Значение = ПрочитатьЗначениеДанныхСтроки(ТабличныйДокумент,НомерСтроки,КолонкиМакета,ИмяКолонкиЗамещения); + + ПротоОбъект = СоздатьСтруктуруОписанияОбъекта(); + ПротоОбъект.ИмяПеременной = ИмяПеременной; + ПротоОбъект.Тип = Тип; + ПротоОбъект.Вид = Вид; + ПротоОбъект.ИмяПредопределенного = Значение; + ПротоОбъект.ПоляОбъекта = СоздатьТаблицуОписанияПолей(); + Если Не ПустаяСтрока(Режим) Тогда + Если ПротоОбъект.Режимы.Свойство(Режим) Тогда + ПротоОбъект.Режимы[Режим] = Истина; + КонецЕсли; + КонецЕсли; + + ПротоДанные.Вставить(ИмяПеременной,ПротоОбъект); + ДействиеТекущейСтроки = "ЧитаемПоляОбъекта"; + Продолжить; + КонецЕсли; + + //Табличные части + ИмяТабЧасти = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.ТЧ); + Если Не ПустаяСтрока(ИмяТабЧасти) Тогда + Если ВРег(ИмяТабЧасти)="XDDMODS" или ВРег(ИмяТабЧасти)="XDDDATAGEN" Тогда + ДействиеТекущейСтроки = "ЧитаемРежимы"; + Продолжить; + КонецЕсли; + Если ВРег(ИмяТабЧасти)="ДОПОЛНИТЕЛЬНЫЕСВОЙСТВА" Тогда + ДействиеТекущейСтроки = "ЧитаемДопСвойства"; + Продолжить; + КонецЕсли; + Если ВРег(ИмяТабЧасти)="ОБМЕНДАННЫМИ" Тогда + ДействиеТекущейСтроки = "ЧитаемОбменДанными"; + Продолжить; + КонецЕсли; + + ТабЧасть = Неопределено; + Если Не ПротоОбъект.ТабличныеЧасти.Свойство(ИмяТабЧасти,ТабЧасть) Тогда + //Новая ТабЧасть + ОписаниеПолейТЧ = СоздатьТаблицуОписанияПолей(); + ТабЧасть = Новый Массив; + ТабЧасть.Добавить(ОписаниеПолейТЧ); + ПротоОбъект.ТабличныеЧасти.Вставить(ИмяТабЧасти,ТабЧасть); + ДействиеТекущейСтроки = "ЧитаемТабЧасть"; + Продолжить; + Иначе + //Новая строка ТабЧасти + ОписаниеПолейТЧ = СоздатьТаблицуОписанияПолей(); + ТабЧасть.Добавить(ОписаниеПолейТЧ); + ДействиеТекущейСтроки = "ЧитаемТабЧасть"; + Продолжить; + КонецЕсли; + КонецЕсли; + + //Поля объекта + Если ДействиеТекущейСтроки = "ЧитаемПоляОбъекта" Тогда + ИмяРеквизита = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент, НомерСтроки, КолонкиМакета.Реквизит); + Если Не ПустаяСтрока(ИмяРеквизита) Тогда + НовоеПолеОбъекта = ПротоОбъект.ПоляОбъекта.Добавить(); + НовоеПолеОбъекта.Имя = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.Реквизит); + НовоеПолеОбъекта.Значение = ПрочитатьЗначениеДанныхСтроки(ТабличныйДокумент,НомерСтроки,КолонкиМакета,ИмяКолонкиЗамещения); + НовоеПолеОбъекта.Режим = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.Режим); + НовоеПолеОбъекта.ДополнительныйТип = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.ДополнительныйТипЗначения); + + Ключ = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.Ключ); + Если ВРег(Ключ) = "КЛЮЧ" Тогда + ПротоОбъект.Ключи.Вставить(НовоеПолеОбъекта.Имя, НовоеПолеОбъекта.Значение); + КонецЕсли; + Продолжить; + КонецЕсли; + КонецЕсли; + + //Поля табличной части + Если ДействиеТекущейСтроки = "ЧитаемТабЧасть" Тогда + ИмяРеквизитаТЧ = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент, НомерСтроки, КолонкиМакета.Реквизит); + Если Не ПустаяСтрока(ИмяРеквизитаТЧ) Тогда + НовоеПолеТЧ = ОписаниеПолейТЧ.Добавить(); + НовоеПолеТЧ.Имя = ИмяРеквизитаТЧ; + НовоеПолеТЧ.Значение = ПрочитатьЗначениеДанныхСтроки(ТабличныйДокумент,НомерСтроки,КолонкиМакета,ИмяКолонкиЗамещения); + НовоеПолеТЧ.Режим = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.Режим); + НовоеПолеТЧ.ДополнительныйТип = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.ДополнительныйТипЗначения); + Продолжить; + КонецЕсли; + КонецЕсли; + + //Режимы объекта + Если ДействиеТекущейСтроки = "ЧитаемРежимы" Тогда + КодРежима = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.Реквизит); + Режим = ПрочитатьЗначениеДанныхСтроки(ТабличныйДокумент,НомерСтроки,КолонкиМакета,ИмяКолонкиЗамещения); + Если ВРег(КодРежима)="РЕЖИМ" Тогда + Если ПротоОбъект.Режимы.Свойство(Режим) Тогда + ПротоОбъект.Режимы[Режим] = Истина; + КонецЕсли; + КонецЕсли; + Продолжить; + КонецЕсли; + + //Дополнительные свойства + Если ДействиеТекущейСтроки = "ЧитаемДопСвойства" Тогда + ИмяДопСвойства = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент, НомерСтроки, КолонкиМакета.Реквизит); + Если Не ПустаяСтрока(ИмяДопСвойства) Тогда + НовоеПолеДопСвойств = ПротоОбъект.ДопСвойства.Добавить(); + НовоеПолеДопСвойств.Имя = ИмяДопСвойства; + НовоеПолеДопСвойств.Значение = ПрочитатьЗначениеДанныхСтроки(ТабличныйДокумент,НомерСтроки,КолонкиМакета,ИмяКолонкиЗамещения); + НовоеПолеДопСвойств.Режим = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.Режим); + НовоеПолеДопСвойств.ДополнительныйТип = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.ДополнительныйТипЗначения); + Продолжить; + КонецЕсли; + КонецЕсли; + + Если ДействиеТекущейСтроки = "ЧитаемОбменДанными" Тогда + ИмяОбменДанными = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент, НомерСтроки, КолонкиМакета.Реквизит); + Если Не ПустаяСтрока(ИмяОбменДанными) Тогда + НовоеПолеОбменаДанными = ПротоОбъект.ОбменДанными.Добавить(); + НовоеПолеОбменаДанными.Имя = ИмяОбменДанными; + НовоеПолеОбменаДанными.Значение = ПрочитатьЗначениеДанныхСтроки(ТабличныйДокумент,НомерСтроки,КолонкиМакета,ИмяКолонкиЗамещения); + НовоеПолеОбменаДанными.Режим = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.Режим); + НовоеПолеОбменаДанными.ДополнительныйТип = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.ДополнительныйТипЗначения); + Продолжить; + КонецЕсли; + КонецЕсли; + КонецЦикла; + +КонецФункции + +Функция ПроверитьКолонки(КолонкиМакета,ИмяКолонкиЗамещения) + Для каждого Колонка Из КолонкиМакета Цикл + Если Колонка.Значение = "0" Тогда + Если Колонка.Ключ = "ДополнительныйТипЗначения" или Колонка.Ключ = "Ключ" Тогда + //Это не обязательная колонка - может быть и не заполнена + Иначе + ВызватьИсключение "Неверно задан макет. Неверная колонка в первой строке. Не указана обязательная колонка с именем ["+Колонка.Ключ+"]"; + КонецЕсли; + КонецЕсли; + КонецЦикла; + Если ЗначениеЗаполнено(ИмяКолонкиЗамещения) Тогда + Если не КолонкиМакета.Свойство(ИмяКолонкиЗамещения) Тогда + ВызватьИсключение "Указанное Имя колонки замещения ["+ИмяКолонкиЗамещения+"] не существует в макете."; + КонецЕсли; + КонецЕсли; +КонецФункции + +Функция ПрочитатьЗначениеДанныхСтроки(ТабличныйДокумент,НомерСтроки,КолонкиМакета,ИмяКолонкиЗамещения) + Значение = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.Значение); + Если ЗначениеЗаполнено(ИмяКолонкиЗамещения) Тогда + ПриоритетноеЗначение = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета[ИмяКолонкиЗамещения]); + Если ЗначениеЗаполнено(ПриоритетноеЗначение) Тогда + Значение = ПриоритетноеЗначение; + КонецЕсли; + КонецЕсли; + Возврат Значение; +КонецФункции + +Функция ПрочитатьЗначениеЯчейкиМакета(Макет,НомерСтроки,НомерКолонки); + ТекстЯчейки = Неопределено; + Если НомерСтроки<> "0" И НомерКолонки <> "0" Тогда + ТекстЯчейки = Макет.Область("R" + НомерСтроки + "C" + НомерКолонки).Текст; + КонецЕсли; + Возврат ТекстЯчейки; +КонецФункции + +Функция СоздатьСтруктуруОписанияОбъекта() + СтруктураОписанияОбъекта = Новый Структура(); + СтруктураОписанияОбъекта.Вставить("Объект",Неопределено); + СтруктураОписанияОбъекта.Вставить("Тип",Неопределено); + СтруктураОписанияОбъекта.Вставить("Вид",Неопределено); + СтруктураОписанияОбъекта.Вставить("ИмяПредопределенного",Неопределено); + СтруктураОписанияОбъекта.Вставить("ИмяПеременной",Неопределено); + СтруктураОписанияОбъекта.Вставить("Режимы",СоздатьСтруктуруРежимовОбъекта()); + СтруктураОписанияОбъекта.Вставить("Ключи", новый Структура); + СтруктураОписанияОбъекта.Вставить("ПоляОбъекта",СоздатьТаблицуОписанияПолей()); + СтруктураОписанияОбъекта.Вставить("ТабличныеЧасти",Новый Структура); + СтруктураОписанияОбъекта.Вставить("ДопСвойства",СоздатьТаблицуОписанияПолей()); + СтруктураОписанияОбъекта.Вставить("ОбменДанными",СоздатьТаблицуОписанияПолей()); + Возврат СтруктураОписанияОбъекта; +КонецФункции + +Функция СоздатьСтруктуруРежимовОбъекта() + Режимы = Новый Структура; + Режимы.Вставить("Предопределенный",Ложь); + Режимы.Вставить("СоздатьПоГуид",Ложь); + Режимы.Вставить("ТолькоСоздание",Ложь); + Режимы.Вставить("Проведение",Ложь); + Режимы.Вставить("ОбменДанными",Ложь); + Режимы.Вставить("Объект",Ложь); + Режимы.Вставить("Группа",Ложь); + Режимы.Вставить("ЭтотУзел",Ложь); + Возврат Режимы; +КонецФункции + +Функция СоздатьТаблицуОписанияПолей() + тзОписаниеПолей = Новый ТаблицаЗначений; + тзОписаниеПолей.Колонки.Добавить("Имя"); + тзОписаниеПолей.Колонки.Добавить("Значение"); + тзОписаниеПолей.Колонки.Добавить("Режим"); + тзОписаниеПолей.Колонки.Добавить("ДополнительныйТип"); + Возврат тзОписаниеПолей; +КонецФункции + +Функция МенеджерыМетаданных() + Менеджеры = Новый Структура; + Менеджеры.Вставить("ПланОбмена",ПланыОбмена); + Менеджеры.Вставить("Справочник",Справочники); + Менеджеры.Вставить("Документ",Документы); + Менеджеры.Вставить("БизнесПроцесс",БизнесПроцессы); + Менеджеры.Вставить("Задача",Задачи); + Менеджеры.Вставить("РегистрСведений",РегистрыСведений); + Менеджеры.Вставить("РегистрНакопления",РегистрыНакопления); + Менеджеры.Вставить("РегистрыБухгалтерии",РегистрыБухгалтерии); + Менеджеры.Вставить("ПланВидовХарактеристик",ПланыВидовХарактеристик); + Менеджеры.Вставить("ПользовательИБ",ПользователиИнформационнойБазы); + Возврат Новый ФиксированнаяСтруктура(Менеджеры); +КонецФункции + +Процедура ЗаменитьРежимыЗагрузки(ПротоДанные, РежимыЗагрузки) + Если ЗначениеЗаполнено(РежимыЗагрузки) Тогда + Для каждого КлючЗначение Из ПротоДанные Цикл + ПротоОбъект = КлючЗначение.Значение; + ЗаполнитьЗначенияСвойств(ПротоОбъект.Режимы, РежимыЗагрузки); + КонецЦикла; + КонецЕсли; +КонецПроцедуры + +Функция СоздатьТестовыеДанныеПоПротоДанным(ПротоДанные) + Данные = Новый Структура; + МенеджерыМетаданных = МенеджерыМетаданных(); + Для каждого ПротоОбъект из ПротоДанные Цикл + ОбъектСсылка = ПолучитьОбъект(ПротоДанные,ПротоОбъект.Значение); + Данные.Вставить(ПротоОбъект.Значение.ИмяПеременной,ОбъектСсылка); + КонецЦикла; + Возврат Данные; +КонецФункции + +Функция ПолучитьОбъект(ПротоДанные,ПротоОбъект) + ОбъектСсылка = Неопределено; + Если ПротоОбъект.Объект<>Неопределено Тогда + Возврат ПротоОбъект.Объект; + ИначеЕсли ПротоОбъект.Тип = "Справочник" Тогда + ОбъектСсылка = СоздатьОбъект_Справочник(ПротоДанные,ПротоОбъект); + + ИначеЕсли ПротоОбъект.Тип = "Документ" Тогда + ОбъектСсылка = СоздатьОбъект_Документ_или_БизнесПроцесс_или_Задача(Документы, ПротоДанные,ПротоОбъект); + + ИначеЕсли ПротоОбъект.Тип = "РегистрСведений" Тогда + ОбъектСсылка = СоздатьОбъект_Регистр(РегистрыСведений, ПротоДанные,ПротоОбъект); + ИначеЕсли ПротоОбъект.Тип = "РегистрНакопления" Тогда + ОбъектСсылка = СоздатьОбъект_Регистр(РегистрыНакопления, ПротоДанные,ПротоОбъект); + ИначеЕсли ПротоОбъект.Тип = "РегистрБухгалтерии" Тогда + ОбъектСсылка = СоздатьОбъект_Регистр(РегистрыБухгалтерии, ПротоДанные,ПротоОбъект); + + ИначеЕсли ПротоОбъект.Тип = "ПользовательИБ" Тогда + ОбъектСсылка = СоздатьОбъект_ПользовательИБ(ПротоДанные,ПротоОбъект); + + ИначеЕсли ПротоОбъект.Тип = "БизнесПроцесс" Тогда + ОбъектСсылка = СоздатьОбъект_Документ_или_БизнесПроцесс_или_Задача(БизнесПроцессы, ПротоДанные,ПротоОбъект); + ИначеЕсли ПротоОбъект.Тип = "Задача" Тогда + ОбъектСсылка = СоздатьОбъект_Документ_или_БизнесПроцесс_или_Задача(Задачи, ПротоДанные,ПротоОбъект); + ИначеЕсли ПротоОбъект.Тип = "ПланОбмена" Тогда + ОбъектСсылка = СоздатьОбъект_УзелПланаОбмена(ПротоДанные,ПротоОбъект); + КонецЕсли; + ПротоОбъект.Объект = ОбъектСсылка; + Возврат ОбъектСсылка; +КонецФункции + +Функция СоздатьОбъект_УзелПланаОбмена(ПротоДанные, ПротоОбъект) + ПланОбменаМенеджер = ПланыОбмена[ПротоОбъект.Вид]; + + //Подготовим ПротоОбъект + Объект = ПолучитьОбъектЕслиВПротоДанныеПереданаСсылка(ПланОбменаМенеджер, ПротоОбъект); + Если Объект = Неопределено И ЗначениеЗаполнено(ПротоОбъект.Ключи) Тогда + Объект = НайтиОбъектПоКлючам(ПротоОбъект, ПланОбменаМенеджер, ПротоОбъект.Ключи); + КонецЕсли; + + Если ПротоОбъект.Режимы.ТолькоСоздание И Объект <> Неопределено Тогда + Возврат ПротоОбъект.Объект; + КонецЕсли; + + //Создание узла плана обмена + Если Объект = Неопределено Тогда + Если ПротоОбъект.Режимы.ЭтотУзел Тогда + Попытка + Объект = ПланОбменаМенеджер.ЭтотУзел().ПолучитьОбъект(); + Исключение + Ошибка = ОписаниеОшибки(); + ВызватьИсключение "ПланОбмена." + ПротоОбъект.Вид + " не удалось получить узел этой ИБ." + Символы.ПС + Ошибка; + КонецПопытки; + ИначеЕсли ПротоОбъект.Режимы.СоздатьПоГуид Тогда + ВызватьИсключение "Устарело и больше не поддерживается: https://github.com/xDrivenDevelopment/xUnitFor1C/issues/332"; + Иначе + Попытка + Объект = ПланОбменаМенеджер.СоздатьУзел(); + Исключение + Ошибка = ОписаниеОшибки(); + ВызватьИсключение "ПланОбмена." + ПротоОбъект.Вид + " не удалось создать новый узел." + Символы.ПС + Ошибка; + КонецПопытки; + КонецЕсли; + + Если Объект.ЭтоНовый() Тогда + Если Не ЗначениеЗаполнено(ПротоОбъект.Объект) Тогда + ПротоОбъект.Объект = ПланОбменаМенеджер.ПолучитьСсылку(Новый УникальныйИдентификатор); + КонецЕсли; + Объект.УстановитьСсылкуНового(ПротоОбъект.Объект); + Иначе + ПротоОбъект.Объект = Объект.Ссылка; + КонецЕсли; + КонецЕсли; + + //Заполняем реквизиты узла плана обмена + НаборМдРеквизитов = НаборРеквизитовМетаданных(ПротоОбъект.Тип, Объект.Метаданные()); + Для каждого стрПоле Из ПротоОбъект.ПоляОбъекта Цикл + Объект[стрПоле.Имя] = ПолучитьЗначениеПоля(ПротоДанные, стрПоле, НаборМдРеквизитов); + КонецЦикла; + + Для каждого ТабЧасть из ПротоОбъект.ТабличныеЧасти Цикл + Для каждого СтрокаТабЧасти Из ТабЧасть.Значение Цикл + СтрокаТабЧастиОбъекта = Объект[ТабЧасть.Ключ].Добавить(); + объектМетаданныеТабличнаяЧасть = Объект.Метаданные().ТабличныеЧасти[ТабЧасть.Ключ]; + НаборМдРеквизитовТЧ = объектМетаданныеТабличнаяЧасть.Реквизиты; + Для каждого стрПоле Из СтрокаТабЧасти Цикл + СтрокаТабЧастиОбъекта[стрПоле.Имя] = ПолучитьЗначениеПоля(ПротоДанные, стрПоле, НаборМдРеквизитовТЧ); + КонецЦикла; + КонецЦикла; + КонецЦикла; + + //Служебные поля и значения + Если Не ЗначениеЗаполнено(Объект.Код) тогда + Объект.УстановитьНовыйКод(); + КонецЕсли; + + ЗаполнитьДополнительныеСвойства(Объект, ПротоДанные, ПротоОбъект); + + ПредставлениеМетаданного = "узел плана обмена"; + Результат = ЗаписатьОбъектПриНеобходимости(Объект, ПротоОбъект, ПредставлениеМетаданного, Истина); + + Возврат Результат; +КонецФункции + +Функция СоздатьОбъект_Справочник(ПротоДанные,ПротоОбъект) + СпрМенеджер = Справочники[ПротоОбъект.Вид]; + + //Подготовим ПротоОбъект + стрПолеЭтоГруппа = ПротоОбъект.ПоляОбъекта.Найти("ЭтоГруппа","Имя"); + Если стрПолеЭтоГруппа<>Неопределено Тогда + ПротоОбъект.Режимы.Группа = Булево(стрПолеЭтоГруппа.Значение); + ПротоОбъект.ПоляОбъекта.Удалить(стрПолеЭтоГруппа); + КонецЕсли; + + Объект = ПолучитьОбъектЕслиВПротоДанныеПереданаСсылка(СпрМенеджер, ПротоОбъект); + Если Объект=Неопределено И ЗначениеЗаполнено(ПротоОбъект.Ключи) Тогда + Объект = НайтиОбъектПоКлючам(ПротоОбъект, СпрМенеджер, ПротоОбъект.Ключи); + КонецЕсли; + + Если ПротоОбъект.Режимы.ТолькоСоздание И Объект<>Неопределено Тогда + Возврат ПротоОбъект.Объект; + КонецЕсли; + + //Создание объекта справочника + Если Объект=Неопределено Тогда + Если ПротоОбъект.Режимы.Предопределенный Тогда + Попытка + Объект = СпрМенеджер[ПротоОбъект.ИмяПредопределенного].ПолучитьОбъект(); + Исключение + Ошибка = ОписаниеОшибки(); + ВызватьИсключение "Справочник."+ПротоОбъект.Вид+" не удалось найти предопределенный элемент/группу ["+ПротоОбъект.ИмяПредопределенного+"]."+Символы.ПС+Ошибка; + КонецПопытки; + ИначеЕсли ПротоОбъект.Режимы.СоздатьПоГуид Тогда + ВызватьИсключение "Устарело и больше не поддерживается: https://github.com/xDrivenDevelopment/xUnitFor1C/issues/332"; + ИначеЕсли ПротоОбъект.Режимы.Группа Тогда + Попытка + Объект = СпрМенеджер.СоздатьГруппу(); + Исключение + Ошибка = ОписаниеОшибки(); + ВызватьИсключение "Справочник."+ПротоОбъект.Вид+" не удалось создать новую группу."+Символы.ПС+Ошибка; + КонецПопытки; + Иначе + Попытка + Объект = СпрМенеджер.СоздатьЭлемент(); + Исключение + Ошибка = ОписаниеОшибки(); + ВызватьИсключение "Справочник."+ПротоОбъект.Вид+" не удалось создать новый элемент."+Символы.ПС+Ошибка; + КонецПопытки; + КонецЕсли; + + Если Объект.ЭтоНовый() Тогда + Если Не ЗначениеЗаполнено(ПротоОбъект.Объект) Тогда + ПротоОбъект.Объект = СпрМенеджер.ПолучитьСсылку(Новый УникальныйИдентификатор); + КонецЕсли; + Объект.УстановитьСсылкуНового(ПротоОбъект.Объект); + Иначе + ПротоОбъект.Объект = Объект.Ссылка; + КонецЕсли; + КонецЕсли; + + //Заполняем реквизиты справочника + НаборМдРеквизитов = НаборРеквизитовМетаданных(ПротоОбъект.Тип, Объект.Метаданные()); + Для каждого стрПоле Из ПротоОбъект.ПоляОбъекта Цикл + Объект[стрПоле.Имя] = ПолучитьЗначениеПоля(ПротоДанные,стрПоле,НаборМдРеквизитов); + КонецЦикла; + + Для каждого мдТабЧасть из Объект.Метаданные().ТабличныеЧасти Цикл + ЭтоРежимГруппа = ПротоОбъект.Режимы.Группа; + Если (ЭтоРежимГруппа И мдТабЧасть.Использование<>Метаданные.СвойстваОбъектов.ИспользованиеРеквизита.ДляЭлемента) + Или (Не ЭтоРежимГруппа И мдТабЧасть.Использование<>Метаданные.СвойстваОбъектов.ИспользованиеРеквизита.ДляГруппы) Тогда + + Объект[мдТабЧасть.Имя].Очистить(); + КонецЕсли; + + КонецЦикла; + Для каждого ТабЧасть из ПротоОбъект.ТабличныеЧасти Цикл + Для каждого СтрокаТабЧасти Из ТабЧасть.Значение Цикл + СтрокаТабЧастиОбъекта = Объект[ТабЧасть.Ключ].Добавить(); + объектМетаданныеТабличнаяЧасть = Объект.Метаданные().ТабличныеЧасти[ТабЧасть.Ключ]; + НаборМдРеквизитовТЧ = объектМетаданныеТабличнаяЧасть.Реквизиты; + Для каждого стрПоле Из СтрокаТабЧасти Цикл + СтрокаТабЧастиОбъекта[стрПоле.Имя] = ПолучитьЗначениеПоля(ПротоДанные,стрПоле,НаборМдРеквизитовТЧ); + КонецЦикла; + КонецЦикла; + КонецЦикла; + + //Служебные поля и значения + Если Не ЗначениеЗаполнено(Объект.Код) тогда + Объект.УстановитьНовыйКод(); + КонецЕсли; + + ЗаполнитьОбменДанными(Объект, ПротоДанные, ПротоОбъект); + ЗаполнитьДополнительныеСвойства(Объект, ПротоДанные, ПротоОбъект); + + ПредставлениеМетаданного = "справочника"; + Результат = ЗаписатьОбъектПриНеобходимости(Объект, ПротоОбъект, ПредставлениеМетаданного, Истина); + + Возврат Результат; +КонецФункции + +Функция НайтиОбъектПоКлючам(ПротоОбъект, МенеджерОбъекта, СтруктураРеквизитовКлючей) + Рез = Неопределено; + МдОбъект = МенеджерОбъекта.ПустаяСсылка().Метаданные(); + МдПолноеИмя = МдОбъект.ПолноеИмя(); + МдРеквизиты = МдОбъект.Реквизиты; + МдСтандартныеРеквизиты = МдОбъект.СтандартныеРеквизиты; + + ТекстЗапроса = "Выбрать Первые 1 Т.Ссылка Из "+МдПолноеИмя+" КАК Т Где Истина "; + Запрос = Новый Запрос; + Для каждого КлючЗначение Из СтруктураРеквизитовКлючей Цикл + ИмяРеквизита = КлючЗначение.Ключ; + ЗначениеРеквизита = КлючЗначение.Значение; + Если МдРеквизиты.Найти(ИмяРеквизита) = Неопределено и Не ЕстьСтандартныйРеквизит(МдСтандартныеРеквизиты, ИмяРеквизита) Тогда + ВызватьИсключение "В метаданных "+МдПолноеИмя+" не найден реквизит-ключ <"+ИмяРеквизита+">. Ошибка в макете данных"; + КонецЕсли; + ТекстЗапроса = ТекстЗапроса + " И "+ИмяРеквизита+" = &"+ИмяРеквизита; + Запрос.УстановитьПараметр(ИмяРеквизита, ЗначениеРеквизита); + КонецЦикла; + Запрос.Текст = ТекстЗапроса; + Выборка = Запрос.Выполнить().Выбрать(); + Если Выборка.Следующий() Тогда + ПротоОбъект.Объект = Выборка.Ссылка; + Рез = ПротоОбъект.Объект.ПолучитьОбъект(); + КонецЕсли; + + Возврат Рез; +КонецФункции + +Функция ЕстьСтандартныйРеквизит(МдСтандартныеРеквизиты, ИмяРеквизита) + Для каждого РеквизитМд Из МдСтандартныеРеквизиты Цикл + Если РеквизитМд.Имя = ИмяРеквизита Тогда + Возврат Истина; + КонецЕсли; + КонецЦикла; + Возврат Ложь; +КонецФункции + +Функция СоздатьОбъект_Документ_или_БизнесПроцесс_или_Задача(МенеджерВсехВидов, ПротоДанные, ПротоОбъект) + ЭтоДокумент = МенеджерВсехВидов = Документы; + ЭтоБизнесПроцесс = МенеджерВсехВидов = БизнесПроцессы; + ЭтоЗадача = МенеджерВсехВидов = Задачи; + + Если ЭтоДокумент Тогда + ПредставлениеМенеджера = "Документы"; + ИначеЕсли ЭтоБизнесПроцесс Тогда + ПредставлениеМенеджера = "БизнесПроцессы"; + ИначеЕсли ЭтоЗадача Тогда + ПредставлениеМенеджера = "Задачи"; + Иначе + ВызватьИсключение "Требуется документ, бизнес-процесс или задача. Неизвестный менеджер "+ПротоОбъект.Тип+"."+ПротоОбъект.Вид+" . Переменная "+ПротоОбъект.ИмяПеременной; + КонецЕсли; + + МенеджерОбъекта = МенеджерВсехВидов[ПротоОбъект.Вид]; + Объект = ПолучитьОбъектЕслиВПротоДанныеПереданаСсылка(МенеджерОбъекта, ПротоОбъект); + Если Объект=Неопределено И ЗначениеЗаполнено(ПротоОбъект.Ключи) Тогда + Объект = НайтиОбъектПоКлючам(ПротоОбъект, МенеджерОбъекта, ПротоОбъект.Ключи); + КонецЕсли; + + Если ПротоОбъект.Режимы.ТолькоСоздание И Объект<>Неопределено Тогда + Возврат ПротоОбъект.Объект; + КонецЕсли; + + //Создание объекта + Если Объект = Неопределено Тогда + Попытка + Если ЭтоДокумент Тогда + Объект = МенеджерОбъекта.СоздатьДокумент(); + ИначеЕсли ЭтоБизнесПроцесс Тогда + Объект = МенеджерОбъекта.СоздатьБизнесПроцесс(); + ИначеЕсли ЭтоЗадача Тогда + Объект = МенеджерОбъекта.СоздатьЗадачу(); + КонецЕсли; + Исключение + Ошибка = ОписаниеОшибки(); + ВызватьИсключение ПредставлениеМенеджера+"."+ПротоОбъект.Вид+" не удалось создать новый элемент."+Символы.ПС+Ошибка; + КонецПопытки; + + //Установка ссылки + Если Объект.ЭтоНовый() Тогда + Если Не ЗначениеЗаполнено(ПротоОбъект.Объект) Тогда + ПротоОбъект.Объект = МенеджерОбъекта.ПолучитьСсылку(Новый УникальныйИдентификатор); + КонецЕсли; + Объект.УстановитьСсылкуНового(ПротоОбъект.Объект); + КонецЕсли; + КонецЕсли; + + //Заполняем реквизиты + НаборМдРеквизитов = НаборРеквизитовМетаданных(ПротоОбъект.Тип, Объект.Метаданные()); + Для каждого стрПоле Из ПротоОбъект.ПоляОбъекта Цикл + Объект[стрПоле.Имя] = ПолучитьЗначениеПоля(ПротоДанные,стрПоле,НаборМдРеквизитов); + КонецЦикла; + + Для каждого мдТабЧасть из Объект.Метаданные().ТабличныеЧасти Цикл + Объект[мдТабЧасть.Имя].Очистить(); + КонецЦикла; + Для каждого ТабЧасть из ПротоОбъект.ТабличныеЧасти Цикл + Для каждого СтрокаТабЧасти Из ТабЧасть.Значение Цикл + СтрокаТабЧастиОбъекта = Объект[ТабЧасть.Ключ].Добавить(); + объектМетаданныеТабличнаяЧасть = Объект.Метаданные().ТабличныеЧасти[ТабЧасть.Ключ]; + НаборМдРеквизитовТЧ = объектМетаданныеТабличнаяЧасть.Реквизиты; + Для каждого стрПоле Из СтрокаТабЧасти Цикл + СтрокаТабЧастиОбъекта[стрПоле.Имя] = ПолучитьЗначениеПоля(ПротоДанные,стрПоле,НаборМдРеквизитовТЧ); + КонецЦикла; + КонецЦикла; + КонецЦикла; + + //Служебные поля и значения + Если Не ЗначениеЗаполнено(Объект.Дата) Тогда + Объект.Дата = ТекущаяДата(); + КонецЕсли; + Если Не ЗначениеЗаполнено(Объект.Номер) тогда + Объект.УстановитьНовыйНомер(); + КонецЕсли; + + ЗаполнитьОбменДанными(Объект, ПротоДанные, ПротоОбъект); + ЗаполнитьДополнительныеСвойства(Объект, ПротоДанные, ПротоОбъект); + + РежимЗаписи = Неопределено; + Если ЭтоДокумент И Не ПротоОбъект.Режимы.Объект Тогда + РежимЗаписи = РежимЗаписиДокумента.Запись; + Если ПротоОбъект.Режимы.Проведение Тогда + РежимЗаписи = РежимЗаписиДокумента.Проведение; + КонецЕсли; + КонецЕсли; + Результат = ЗаписатьОбъектПриНеобходимости(Объект, ПротоОбъект, ПредставлениеМенеджера, Истина, РежимЗаписи); + + Возврат Результат; +КонецФункции + +Функция СоздатьОбъект_Регистр(МенеджерРегистра, ПротоДанные, ПротоОбъект) + ЭтоРегистрСведения = МенеджерРегистра = РегистрыСведений; + ЭтоРегистрБухгалтерии = МенеджерРегистра = РегистрыБухгалтерии; + ЭтоРегистрНакопления = МенеджерРегистра = РегистрыНакопления; + + Если ЭтоРегистрСведения Тогда + ПредставлениеМдМенеджераРегистра = "РегистрыСведения"; + ИначеЕсли ЭтоРегистрБухгалтерии Тогда + ПредставлениеМдМенеджераРегистра = "РегистрыБухгалтерии"; + ИначеЕсли ЭтоРегистрНакопления Тогда + ПредставлениеМдМенеджераРегистра = "РегистрыНакопления"; + Иначе + ВызватьИсключение "Неизвестный менеджер регистра "+ПротоОбъект.Тип+"."+ПротоОбъект.Вид+" . Переменная "+ПротоОбъект.ИмяПеременной; + КонецЕсли; + Если ЗначениеЗаполнено(ПротоОбъект.Ключи) Тогда + ВызватьИсключение "Работа с ключами для "+ПредставлениеМдМенеджераРегистра+" пока не поддерживается"; + КонецЕсли; + + //Создание объекта + ПротоНаборЗаписей = Неопределено; + Если ПротоОбъект.ТабличныеЧасти.Свойство("Запись",ПротоНаборЗаписей) Тогда + Попытка + Объект = МенеджерРегистра[ПротоОбъект.Вид].СоздатьНаборЗаписей(); + Исключение + Ошибка = ОписаниеОшибки(); + ВызватьИсключение ПредставлениеМдМенеджераРегистра+"."+ПротоОбъект.Вид+" не удалось создать новый НаборЗаписей."+Символы.ПС+Ошибка; + КонецПопытки; + + МетаданныеНабора = Объект.Метаданные(); + НаборМдРеквизитов = НаборРеквизитовМетаданных(ПротоОбъект.Тип, МетаданныеНабора); + + РегистрСведенийПодчиненРегистратору = Истина; + Если ЭтоРегистрСведения Тогда + РегистрСведенийПодчиненРегистратору = МетаданныеНабора.РежимЗаписи = Метаданные.СвойстваОбъектов.РежимЗаписиРегистра.ПодчинениеРегистратору; + + ИначеЕсли ЭтоРегистрБухгалтерии Тогда + НаборВидовСубконто = Новый Структура; + + ПостфиксыСчетов = Новый Массив; + Если МетаданныеНабора.Корреспонденция Тогда + ПостфиксыСчетов.Добавить("Дт"); + ПостфиксыСчетов.Добавить("Кт"); + Иначе + ПостфиксыСчетов.Добавить(""); + КонецЕсли; + Для каждого ПостфиксСчета Из ПостфиксыСчетов Цикл + НаборМдРеквизитов.Вставить("Счет"+ПостфиксСчета, МетаданныеНабора.ПланСчетов); + Для НомерВидаСубконто = 1 По МетаданныеНабора.ПланСчетов.МаксКоличествоСубконто Цикл + ОписаниеСубконто = Новый Структура("ИмяРеквизитаСчет,ИмяРеквизитаСубконто,НомерВидаСубконто", "Счет"+ПостфиксСчета, "Субконто"+ПостфиксСчета, НомерВидаСубконто-1); + НаборВидовСубконто.Вставить("Субконто"+ПостфиксСчета+НомерВидаСубконто, ОписаниеСубконто); + КонецЦикла; + КонецЦикла; + КонецЕсли; + + Для каждого СтрокаЗаписи Из ПротоНаборЗаписей Цикл + ЗаписьНабора = Объект.Добавить(); + Для каждого стрПоле Из СтрокаЗаписи Цикл + ЗначениеПоля = ПолучитьЗначениеПоля(ПротоДанные,стрПоле,НаборМдРеквизитов); + + ОписаниеСубконто = Неопределено; + Если ЭтоРегистрБухгалтерии И НаборВидовСубконто.Свойство(стрПоле.Имя, ОписаниеСубконто) Тогда + ВидСубконто = ЗаписьНабора[ОписаниеСубконто.ИмяРеквизитаСчет].ВидыСубконто[ОписаниеСубконто.НомерВидаСубконто].ВидСубконто; + ЗаписьНабора[ОписаниеСубконто.ИмяРеквизитаСубконто].Вставить(ВидСубконто, ЗначениеПоля); + Иначе + ЗаписьНабора[стрПоле.Имя] = ЗначениеПоля; + КонецЕсли; + КонецЦикла; + + Если РегистрСведенийПодчиненРегистратору Тогда + Если Не ЗначениеЗаполнено(ЗаписьНабора.Регистратор) Тогда + ВызватьИсключение "Не задан регистратор для записей регистра "+ПредставлениеМдМенеджераРегистра+". Переменная "+ПротоОбъект.ИмяПеременной; + КонецЕсли; + Если НЕ ЗначениеЗаполнено(ЗаписьНабора.Период) Тогда + ЗаписьНабора.Период = ЗаписьНабора.Регистратор.Дата; + КонецЕсли; + КонецЕсли; + КонецЦикла; + + ЗаписьНабора = Объект[0]; + Если РегистрСведенийПодчиненРегистратору Тогда + Объект.Отбор.Регистратор.Установить(ЗаписьНабора.Регистратор); + Иначе + Для каждого МетаИзмерение Из МетаданныеНабора.Измерения Цикл + ИмяИзмерения = МетаИзмерение.Имя; + Если Объект.Отбор.Найти(ИмяИзмерения) <> Неопределено Тогда + Объект.Отбор[ИмяИзмерения].Установить(ЗаписьНабора[ИмяИзмерения]); + КонецЕсли; + КонецЦикла; + КонецЕсли; + + ЗаполнитьОбменДанными(Объект, ПротоДанные, ПротоОбъект); + ЗаполнитьДополнительныеСвойства(Объект, ПротоДанные, ПротоОбъект); + + ИначеЕсли ЭтоРегистрСведения Тогда + Попытка + Объект = РегистрыСведений[ПротоОбъект.Вид].СоздатьМенеджерЗаписи(); + Исключение + Ошибка = ОписаниеОшибки(); + ВызватьИсключение ПредставлениеМдМенеджераРегистра+"."+ПротоОбъект.Вид+" не удалось создать новый набор записей"+Символы.ПС+Ошибка; + КонецПопытки; + + НаборМдРеквизитов = НаборРеквизитовМетаданных(ПротоОбъект.Тип, РегистрыСведений[ПротоОбъект.Вид].СоздатьНаборЗаписей().Метаданные()); + Для каждого стрПоле Из ПротоОбъект.ПоляОбъекта Цикл + Объект[стрПоле.Имя] = ПолучитьЗначениеПоля(ПротоДанные,стрПоле,НаборМдРеквизитов); + КонецЦикла; + Иначе + ВызватьИсключение ПредставлениеМдМенеджераРегистра+"."+ПротоОбъект.Вид+" в макете нет записей для регистра "+ПредставлениеМдМенеджераРегистра; + КонецЕсли; + + ПредставлениеМетаданного = "набора записей "+ПредставлениеМдМенеджераРегистра; + ЗаписатьОбъектПриНеобходимости(Объект, ПротоОбъект, ПредставлениеМетаданного, Ложь); + + Возврат Объект; +КонецФункции + +Функция СоздатьОбъект_ПользовательИБ(ПротоДанные,ПротоОбъект) + Если ЗначениеЗаполнено(ПротоОбъект.Ключи) Тогда + ВызватьИсключение "Работа с ключами при создании пользователя ИБ пока не поддерживается"; + КонецЕсли; + Объект = ПользователиИнформационнойБазы.СоздатьПользователя(); + + параметрыПользователя = Новый Структура; + параметрыПользователя.Вставить("Имя", ""); + параметрыПользователя.Вставить("ПолноеИмя", ""); + параметрыПользователя.Вставить("АутентификацияСтандартная", Истина); + параметрыПользователя.Вставить("АутентификацияОС", Ложь); + параметрыПользователя.Вставить("ПользовательОС", ""); + параметрыПользователя.Вставить("ОсновнойИнтерфейс", ""); //Метаданные.Интерфейсы.Администратор); + параметрыПользователя.Вставить("Пароль", "пароль"); + параметрыПользователя.Вставить("ПоказыватьВСпискеВыбора", Истина); + параметрыПользователя.Вставить("РежимЗапуска", РежимЗапускаКлиентскогоПриложения.Авто); + параметрыПользователя.Вставить("Язык", Метаданные.Языки.Русский); + массивРолей = Новый Массив; + параметрыПользователя.Вставить("Роли", массивРолей); + + //Заполняем реквизиты справочника + Для каждого стрПоле Из ПротоОбъект.ПоляОбъекта Цикл + параметрыПользователя[стрПоле.Имя] = ПолучитьЗначениеПоля(ПротоДанные,стрПоле,Неопределено); + КонецЦикла; + ЗаполнитьЗначенияСвойств(Объект, параметрыПользователя,, "ОсновнойИнтерфейс,РежимЗапуска"); + + ПротоНаборРолей = Неопределено; + Если ПротоОбъект.ТабличныеЧасти.Свойство("Роли",ПротоНаборРолей) Тогда + Для каждого СтрокаРоли Из ПротоНаборРолей Цикл + Для каждого стрПоле Из СтрокаРоли Цикл + Роль = Метаданные.Роли.Найти(ПолучитьЗначениеПоля(ПротоДанные,стрПоле,Неопределено)); + параметрыПользователя.Роли.Добавить(Роль); + КонецЦикла; + КонецЦикла; + КонецЕсли; + + НашлиРежимЗапуска = Ложь; + Для каждого ЗначениеРежимаЗапуска Из РежимЗапускаКлиентскогоПриложения Цикл + Если НРег(""+ЗначениеРежимаЗапуска) = НРег(параметрыПользователя.РежимЗапуска) Тогда + НашлиРежимЗапуска = Истина; + Прервать; + КонецЕсли; + КонецЦикла; + Если НашлиРежимЗапуска Тогда + Объект.РежимЗапуска = ЗначениеРежимаЗапуска; + Иначе + ВызватьИсключение "Не нашли режим запуска <"+параметрыПользователя.РежимЗапуска+">. Возможно, нужно указать с пробелом, например, ""Управляемое приложение"""; + КонецЕсли; + + Если ЗначениеЗаполнено(параметрыПользователя.ОсновнойИнтерфейс) Тогда + Объект.ОсновнойИнтерфейс = Метаданные.Интерфейсы.Найти(параметрыПользователя.ОсновнойИнтерфейс); + КонецЕсли; + Для каждого роль Из параметрыПользователя.Роли Цикл + Объект.Роли.Добавить(роль); + КонецЦикла; + + ПредставлениеМетаданного = "пользователя ИБ "; + ЗаписатьОбъектПриНеобходимости(Объект, ПротоОбъект, ПредставлениеМетаданного, Ложь); + + Возврат Объект; +КонецФункции + +Функция ПолучитьОбъектЕслиВПротоДанныеПереданаСсылка(МенеджерОбъекта, ПротоОбъект) + Перем Объект; + стрПолеСсылка = ПротоОбъект.ПоляОбъекта.Найти("Ссылка","Имя"); + Если стрПолеСсылка<>Неопределено Тогда + ПротоОбъект.Объект = МенеджерОбъекта.ПолучитьСсылку(Новый УникальныйИдентификатор(стрПолеСсылка.Значение)); + ПротоОбъект.ПоляОбъекта.Удалить(стрПолеСсылка); + Объект = ПротоОбъект.Объект.ПолучитьОбъект(); + КонецЕсли; + Возврат Объект; +КонецФункции + +Процедура ЗаполнитьОбменДанными(Объект, ПротоДанные, ПротоОбъект) + Объект.ОбменДанными.Загрузка = ПротоОбъект.Режимы.ОбменДанными; + + //Дополнительные Свойства + Для каждого стрДопСвойство Из ПротоОбъект.ДопСвойства Цикл + Значение = ПолучитьЗначениеПоля(ПротоДанные,стрДопСвойство,Неопределено); + Объект.ДополнительныеСвойства.Вставить(стрДопСвойство.Имя,Значение); + КонецЦикла; + Для каждого стрДопСвойство Из ПротоОбъект.ОбменДанными Цикл + Значение = ПолучитьЗначениеПоля(ПротоДанные,стрДопСвойство,Неопределено); + Объект.ОбменДанными[стрДопСвойство.Имя] = Значение; + КонецЦикла; +КонецПроцедуры + +Функция ЗаписатьОбъектПриНеобходимости(Объект, ПротоОбъект, ПредставлениеМетаданного, ЭтоСсылочныйОбъект, РежимЗаписи = Неопределено) + Перем Результат; + Если Не ПротоОбъект.Режимы.Объект Тогда + Попытка + Если РежимЗаписи = Неопределено Тогда + Объект.Записать(); + Иначе + Объект.Записать(РежимЗаписи); + КонецЕсли; + Если ЭтоСсылочныйОбъект Тогда + Результат = Объект.Ссылка; + КонецЕсли; + Исключение + Ошибка = ОписаниеОшибки(); + Ошибка = "Ошибка записи "+ПредставлениеМетаданного+" "+ПротоОбъект.Вид+", переменная "+ПротоОбъект.ИмяПеременной + Символы.ПС + Ошибка; + ВызватьИсключение Ошибка; + КонецПопытки; + ИначеЕсли ЭтоСсылочныйОбъект Тогда + Результат = Объект; + КонецЕсли; + + Возврат Результат; +КонецФункции + +Процедура ЗаполнитьДополнительныеСвойства(Объект, ПротоДанные, ПротоОбъект) + Для каждого стрДопСвойство Из ПротоОбъект.ДопСвойства Цикл + Значение = ПолучитьЗначениеПоля(ПротоДанные,стрДопСвойство,Неопределено); + Объект.ДополнительныеСвойства.Вставить(стрДопСвойство.Имя,Значение); + КонецЦикла; +КонецПроцедуры + +Функция ПолучитьЗначениеПоля(ПротоДанные,стрПоле,НаборМдРеквизитов) + Значение = Неопределено; + Если ПустаяСтрока(стрПоле.Режим) Тогда + Если ЗначениеЗаполнено(стрПоле.ДополнительныйТип) Тогда + ТипЗначения = Новый ОписаниеТипов(стрПоле.ДополнительныйТип); + Значение = ТипЗначения.ПривестиЗначение(стрПоле.Значение); + Иначе + Значение = стрПоле.Значение; + КонецЕсли; + ИначеЕсли ВРег(стрПоле.Режим) = "ПЕРЕМ" Тогда + Значение = ПротоДанные[стрПоле.Значение].Объект; + Если Не ЗначениеЗаполнено(Значение) Тогда + Значение = ПолучитьОбъект(ПротоДанные, ПротоДанные[стрПоле.Значение]); + КонецЕсли; + + Если Не ЗначениеЗаполнено(Значение) Тогда + ВызватьИсключение "ЗначениеНеНайдено: Реквизит <"+стрПоле.Имя+">: Искали значение <"+стрПоле.Значение+">, но не нашли!"; + КонецЕсли; + ИначеЕсли ВРег(стрПоле.Режим) = "ТЕКУЩАЯДАТА" Тогда + Значение = ТекущаяДата(); + ИначеЕсли ВРег(стрПоле.Режим) = "ВЫРАЖЕНИЕ" Тогда + Значение = Вычислить(стрПоле.Значение); + Иначе + Значение = ВычислитьЗначениеПоТипуПоля(НаборМдРеквизитов,стрПоле); + КонецЕсли; + Возврат Значение; +КонецФункции + +Функция ВычислитьЗначениеПоТипуПоля(НаборМдРеквизитов,стрПоле) + Значение = Неопределено; + Режим = ВРег(стрПоле.Режим); + + Попытка + Если НаборМдРеквизитов = Неопределено Тогда + Если НЕ ЗначениеЗаполнено(стрПоле.ДополнительныйТип) Тогда + ВызватьИсключение "Не указан дополнительный тип значения"; + КонецЕсли; + МетаданныеРеквизита = Неопределено; + Иначе + МетаданныеРеквизита = НаборМдРеквизитов[стрПоле.Имя]; + КонецЕсли; + УжеВычислилиЗначение = Ложь; + ЕстьМетаданныеРеквизита = Ложь; + Если Режим = "ГУИД" И МетаданныеРеквизита <> Неопределено И МетаданныеРеквизита.Тип.СодержитТип(Тип("УникальныйИдентификатор")) Тогда + Значение = Новый УникальныйИдентификатор(стрПоле.Значение); + УжеВычислилиЗначение = Истина; + Иначе + + Если ЗначениеЗаполнено(стрПоле.ДополнительныйТип) Тогда + ТипЗначения = Новый ОписаниеТипов(стрПоле.ДополнительныйТип); + Иначе + Если Метаданные.ПланыСчетов.Найти(МетаданныеРеквизита) <> Неопределено Тогда + ТипЗначения = Новый ОписаниеТипов("ПланСчетовСсылка."+МетаданныеРеквизита.Имя); + Иначе + ТипЗначения = МетаданныеРеквизита.Тип; + КонецЕсли; + КонецЕсли; + ЗначениеПоУмолчанию = ТипЗначения.ПривестиЗначение(); + Попытка + МетаданныеТипаРеквизита = ЗначениеПоУмолчанию.Метаданные(); + ЕстьМетаданныеРеквизита = Истина; + Исключение + КонецПопытки; + + Если Не ЕстьМетаданныеРеквизита И Режим = "ПРЕДОПРЕДЕЛЕННЫЙ" Тогда + Если БизнесПроцессы.ТипВсеСсылкиТочекМаршрутаБизнесПроцессов().СодержитТип( ТипЗначения.Типы()[0] ) Тогда + Значение = ПолучитьЗначениеТочкиБизнесПроцесса(стрПоле.Значение); + УжеВычислилиЗначение = Истина; + Иначе + Значение = Неопределено; + СтрокаДляВыполнения = "Значение = "+ТипЗначения+"["""+стрПоле.Значение+"""];"; + Выполнить(СтрокаДляВыполнения); + УжеВычислилиЗначение = Истина; + КонецЕсли; + КонецЕсли; + КонецЕсли; + + Если Не УжеВычислилиЗначение и ЕстьМетаданныеРеквизита Тогда + ПолноеИмяТипаРеквизита = МетаданныеТипаРеквизита.ПолноеИмя(); + + Если Найти(ПолноеИмяТипаРеквизита, "Справочник") = 1 Тогда + менеджерОбъекта = Справочники[МетаданныеТипаРеквизита.Имя]; + ИначеЕсли Найти(ПолноеИмяТипаРеквизита, "Документ") = 1 Тогда + менеджерОбъекта = Документы[МетаданныеТипаРеквизита.Имя]; + ИначеЕсли Найти(ПолноеИмяТипаРеквизита, "Перечисление") = 1 Тогда + менеджерОбъекта = Перечисления[МетаданныеТипаРеквизита.Имя]; + ИначеЕсли Найти(ПолноеИмяТипаРеквизита, "ПланСчетов") = 1 Тогда + менеджерОбъекта = ПланыСчетов[МетаданныеТипаРеквизита.Имя]; + ИначеЕсли Найти(ПолноеИмяТипаРеквизита, "ПланВидовХарактеристик") = 1 Тогда + менеджерОбъекта = ПланыВидовХарактеристик[МетаданныеТипаРеквизита.Имя]; + КонецЕсли; + Если менеджерОбъекта = Неопределено Тогда + ВызватьИсключение "Не найден менеджерОбъекта"; + КонецЕсли; + + Если Режим = "ПРЕДОПРЕДЕЛЕННЫЙ" Тогда + //Значение = менеджерОбъекта[стрПоле.Значение]; + Если ЗначениеЗаполнено(стрПоле.Значение) Тогда + Значение = менеджерОбъекта[стрПоле.Значение]; + Иначе + Значение = менеджерОбъекта.ПустаяСсылка(); + КонецЕсли; + ИначеЕсли Режим = "КОД" Тогда + Значение = менеджерОбъекта.НайтиПоКоду(стрПоле.Значение); + ИначеЕсли Режим = "НОМЕР" Тогда + Значение = НайтиБлижайшийДокументПоНомеру(МетаданныеТипаРеквизита, стрПоле.Значение); + ИначеЕсли Режим = "НАИМЕНОВАНИЕ" Тогда + Значение = менеджерОбъекта.НайтиПоНаименованию(стрПоле.Значение, Истина); + ИначеЕсли Режим = "ГУИД" Тогда + Значение = менеджерОбъекта.ПолучитьСсылку(Новый УникальныйИдентификатор(стрПоле.Значение)); + Иначе + ВызватьИсключение "НеверныйРежимПоиска: Не поддерживаемый режим поиска. Реквизит <"+стрПоле.Имя+">: Искали значение <"+стрПоле.Значение+">"; + КонецЕсли; + + Если ЗначениеЗаполнено(стрПоле.Значение) И Не ЗначениеЗаполнено(Значение) Тогда //Если Не ЗначениеЗаполнено(Значение) Тогда + ВызватьИсключение "ЗначениеНеНайдено: Реквизит <"+стрПоле.Имя+">: Искали значение <"+стрПоле.Значение+">, но не нашли!"; + КонецЕсли; + КонецЕсли; + Исключение + ошибка = ОписаниеОшибки(); + Если Найти(ошибка, "НеверныйРежимПоиска") = 0 Тогда + ошибка = "ОшибкаПоиска: Реквизит <"+стрПоле.Имя+">: Искали значение <"+стрПоле.Значение+"> " + ошибка; + КонецЕсли; + ВызватьИсключение ошибка; + КонецПопытки; + + Возврат Значение; +КонецФункции + +Функция СоздатьПользователяИБ(параметры) Экспорт + НовыйПользователь = ПользователиИнформационнойБазы.СоздатьПользователя(); + + ЗаполнитьЗначенияСвойств(НовыйПользователь, параметры,, "ОсновнойИнтерфейс"); + Если ЗначениеЗаполнено(параметры.ОсновнойИнтерфейс) Тогда + НовыйПользователь.ОсновнойИнтерфейс = Метаданные.Интерфейсы.Найти(параметры.ОсновнойИнтерфейс); + КонецЕсли; + Для каждого роль Из параметры.Роли Цикл + НовыйПользователь.Роли.Добавить(роль); + КонецЦикла; + + НовыйПользователь.Записать(); + Возврат НовыйПользователь; +КонецФункции + +Функция КолонкиМакетаДанных() + КолонкиМакета = Новый Структура(); + СтрокаЗеро = "0"; + КолонкиМакета.Вставить("Тип", СтрокаЗеро); + КолонкиМакета.Вставить("Вид", СтрокаЗеро); + КолонкиМакета.Вставить("ИмяПеременной", СтрокаЗеро); + КолонкиМакета.Вставить("ТЧ", СтрокаЗеро); + КолонкиМакета.Вставить("Реквизит", СтрокаЗеро); + КолонкиМакета.Вставить("Значение", СтрокаЗеро); + КолонкиМакета.Вставить("Режим", СтрокаЗеро); + КолонкиМакета.Вставить("ДополнительныйТипЗначения", СтрокаЗеро); + КолонкиМакета.Вставить("Ключ", СтрокаЗеро); + Возврат КолонкиМакета; +КонецФункции + +Функция ПолучитьЗначениеТочкиБизнесПроцесса(Значение_Строкой) + Значение = Неопределено; + Для каждого БизнесПроцессМенеджер из БизнесПроцессы Цикл + ТочкиМаршрута = БизнесПроцессМенеджер.ТочкиМаршрута; + Для каждого ТочкаМаршрута Из ТочкиМаршрута Цикл + Если ВРег(ТочкаМаршрута.Имя) = ВРег(Значение_Строкой) Тогда + Значение = ТочкаМаршрута; + Возврат Значение; + КонецЕсли; + КонецЦикла; + КонецЦикла; + Возврат Значение; +КонецФункции + +Функция НайтиБлижайшийДокументПоНомеру(МетаданныеДокумента, Значение_Строкой) + + ТекстЗапроса = + "ВЫБРАТЬ ПЕРВЫЕ 1 + | Доки.Ссылка, + | Доки.Дата + |ИЗ + | Документ."+МетаданныеДокумента.Имя+" КАК Доки + |ГДЕ + | Доки.Номер = &Номер + | + |УПОРЯДОЧИТЬ ПО + | Доки.Дата УБЫВ"; + Запрос = Новый Запрос(ТекстЗапроса); + Если МетаданныеДокумента.ТипНомера = Метаданные.СвойстваОбъектов.ТипНомераДокумента.Число Тогда + Номер = Число(Значение_Строкой); + Иначе + Номер = Значение_Строкой; + КонецЕсли; + Запрос.УстановитьПараметр("Номер", Номер); + + Результат = Запрос.Выполнить(); + + Значение = Неопределено; + + ВыборкаДетальныеЗаписи = Результат.Выбрать(); + Если ВыборкаДетальныеЗаписи.Следующий() Тогда + Значение = ВыборкаДетальныеЗаписи.Ссылка; + Иначе + ВызватьИсключение "Не удалось найти документ по номеру <"+Значение_Строкой+">. Тип Документ."+МетаданныеДокумента.Имя; + КонецЕсли; + + Возврат Значение; +КонецФункции + +Функция НаборРеквизитовМетаданных(КорневойТип, МетаданныеОбъекта) + НаборМдРеквизитов = Новый Структура; + Если КорневойТип = "Справочник" + или КорневойТип = "Документ" + или КорневойТип = "ПланВидовХарактеристик" + или КорневойТип = "БизнесПроцесс" + или КорневойТип = "ПланОбмена" Тогда + + ДобавитьРеквизитыМетаданныхВНаборРеквизитов(МетаданныеОбъекта.СтандартныеРеквизиты, НаборМдРеквизитов); + ДобавитьРеквизитыМетаданныхВНаборРеквизитов(МетаданныеОбъекта.Реквизиты, НаборМдРеквизитов); + ИначеЕсли КорневойТип = "Задача" Тогда + ДобавитьРеквизитыМетаданныхВНаборРеквизитов(МетаданныеОбъекта.СтандартныеРеквизиты, НаборМдРеквизитов); + ДобавитьРеквизитыМетаданныхВНаборРеквизитов(МетаданныеОбъекта.Реквизиты, НаборМдРеквизитов); + ДобавитьРеквизитыМетаданныхВНаборРеквизитов(МетаданныеОбъекта.РеквизитыАдресации, НаборМдРеквизитов); + + ИначеЕсли КорневойТип = "РегистрСведений" + или КорневойТип = "РегистрНакопления" + или КорневойТип = "РегистрБухгалтерии" Тогда + + ДобавитьРеквизитыМетаданныхВНаборРеквизитов(МетаданныеОбъекта.СтандартныеРеквизиты, НаборМдРеквизитов); + ДобавитьРеквизитыМетаданныхВНаборРеквизитов(МетаданныеОбъекта.Измерения, НаборМдРеквизитов, КорневойТип); + ДобавитьРеквизитыМетаданныхВНаборРеквизитов(МетаданныеОбъекта.Ресурсы, НаборМдРеквизитов); + ДобавитьРеквизитыМетаданныхВНаборРеквизитов(МетаданныеОбъекта.Реквизиты, НаборМдРеквизитов); + + Иначе + ВызватьИсключение "Необрабатываемый корневой тип <"+КорневойТип+">"; + КонецЕсли; + Возврат НаборМдРеквизитов; +КонецФункции + +Процедура ДобавитьРеквизитыМетаданныхВНаборРеквизитов(МдРеквизиты, НаборМдРеквизитов, КорневойТип = "") + Для каждого МдРеквизит Из МдРеквизиты Цикл + Если КорневойТип = "РегистрБухгалтерии" И Не МдРеквизит.Балансовый Тогда + НаборМдРеквизитов.Вставить(МдРеквизит.Имя + "Дт", МдРеквизит); + НаборМдРеквизитов.Вставить(МдРеквизит.Имя + "Кт", МдРеквизит); + Иначе + НаборМдРеквизитов.Вставить(МдРеквизит.Имя, МдРеквизит); + КонецЕсли; + КонецЦикла; +КонецПроцедуры +// } Десериализация тестовых данных + +// { Методы проверки таблиц метаданных +Функция ПолучитьКоличествоДокументовПоОтбору(видДокумента, Дата1, дата2, структураОтбора = Неопределено) Экспорт + Если Не ЗначениеЗаполнено(видДокумента) Тогда + ВызватьИсключение "Вид документа должен быть заполнен"; + КонецЕсли; + Если Не ЗначениеЗаполнено(Дата1) Тогда + ВызватьИсключение "Дата1 должнна быть заполнена"; + КонецЕсли; + Если Не ЗначениеЗаполнено(Дата2) Тогда + ВызватьИсключение "Дата2 должнна быть заполнена"; + КонецЕсли; + + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ + | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Доки.Ссылка) КАК КоличествоДокументов + |ИЗ + | Документ."+видДокумента+" КАК Доки + |ГДЕ + | Доки.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2 + |"; + Запрос.УстановитьПараметр("Дата1", Дата1); + Запрос.УстановитьПараметр("Дата2", КонецДня(Дата2)); + + Если ЗначениеЗаполнено(структураОтбора) Тогда + Для каждого ключЗначение Из структураОтбора Цикл + имяРеквизита = ключЗначение.Ключ; + Запрос.Текст = Запрос.Текст + " И Доки."+имяРеквизита+" = &"+имяРеквизита+" "; + Запрос.УстановитьПараметр(имяРеквизита, ключЗначение.Значение); + КонецЦикла; + КонецЕсли; + + РезультатЗапроса = Запрос.Выполнить(); + Если РезультатЗапроса.Пустой() Тогда + Возврат 0; + КонецЕсли; + Выборка = РезультатЗапроса.Выбрать(); + Выборка.Следующий(); + Возврат выборка.КоличествоДокументов; +КонецФункции + +Функция ПолучитьКоличествоЭлементовСправочникаПоОтбору(видСправочника, структураОтбора = Неопределено) Экспорт + Если Не ЗначениеЗаполнено(видСправочника) Тогда + ВызватьИсключение "Вид справочника должен быть заполнен"; + КонецЕсли; + + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ + | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Спр.Ссылка) КАК КоличествоЭлементов + |ИЗ + | Справочник."+видСправочника+" КАК Спр + |ГДЕ + | Истина + |"; + + Если ЗначениеЗаполнено(структураОтбора) Тогда + Для каждого ключЗначение Из структураОтбора Цикл + имяРеквизита = ключЗначение.Ключ; + Запрос.Текст = Запрос.Текст + " И Спр."+имяРеквизита+" = &"+имяРеквизита+" "; + Запрос.УстановитьПараметр(имяРеквизита, ключЗначение.Значение); + КонецЦикла; + КонецЕсли; + + РезультатЗапроса = Запрос.Выполнить(); + Если РезультатЗапроса.Пустой() Тогда + Возврат 0; + КонецЕсли; + Выборка = РезультатЗапроса.Выбрать(); + Выборка.Следующий(); + Возврат выборка.КоличествоЭлементов; +КонецФункции + +Функция ПолучитьКоличествоСтрокВДокументахПоОтбору(видДокумента, имяТабличнойЧасти, Дата1, дата2, структураОтбораШапки = Неопределено, структураОтбораТабличнойЧасти = Неопределено) Экспорт + Если Не ЗначениеЗаполнено(видДокумента) Тогда + ВызватьИсключение "Вид документа должен быть заполнен"; + КонецЕсли; + Если Не ЗначениеЗаполнено(Дата1) Тогда + ВызватьИсключение "Дата1 должнна быть заполнена"; + КонецЕсли; + Если Не ЗначениеЗаполнено(Дата2) Тогда + ВызватьИсключение "Дата2 должнна быть заполнена"; + КонецЕсли; + + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ + | КОЛИЧЕСТВО(Доки.Ссылка) КАК КоличествоДокументов + |ИЗ + | Документ."+видДокумента+"."+имяТабличнойЧасти+" КАК Доки + |ГДЕ + | Доки.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2 + |"; + Запрос.УстановитьПараметр("Дата1", Дата1); + Запрос.УстановитьПараметр("Дата2", КонецДня(Дата2)); + + Если ЗначениеЗаполнено(структураОтбораШапки) Тогда + Для каждого ключЗначение Из структураОтбораШапки Цикл + имяРеквизита = ключЗначение.Ключ; + Запрос.Текст = Запрос.Текст + " И Доки.Ссылка."+имяРеквизита+" = &"+имяРеквизита+" "; + Запрос.УстановитьПараметр(имяРеквизита, ключЗначение.Значение); + КонецЦикла; + КонецЕсли; + Если ЗначениеЗаполнено(структураОтбораТабличнойЧасти) Тогда + Для каждого ключЗначение Из структураОтбораТабличнойЧасти Цикл + имяРеквизита = ключЗначение.Ключ; + Запрос.Текст = Запрос.Текст + " И Доки."+имяРеквизита+" = &"+имяРеквизита+" "; + Запрос.УстановитьПараметр(имяРеквизита, ключЗначение.Значение); + КонецЦикла; + КонецЕсли; + + РезультатЗапроса = Запрос.Выполнить(); + Если РезультатЗапроса.Пустой() Тогда + Возврат 0; + КонецЕсли; + Выборка = РезультатЗапроса.Выбрать(); + Выборка.Следующий(); + Возврат выборка.КоличествоДокументов; +КонецФункции + +Функция ПолучитьИтоговуюСуммуТабличнойЧастиДокументовПоОтбору(видДокумента, имяТабличнойЧасти, имяРеквизита, Дата1, дата2, структураОтбораШапки = Неопределено, структураОтбораТабличнойЧасти = Неопределено) Экспорт + Если Не ЗначениеЗаполнено(видДокумента) Тогда + ВызватьИсключение "Вид документа должен быть заполнен"; + КонецЕсли; + Если Не ЗначениеЗаполнено(Дата1) Тогда + ВызватьИсключение "Дата1 должнна быть заполнена"; + КонецЕсли; + Если Не ЗначениеЗаполнено(Дата2) Тогда + ВызватьИсключение "Дата2 должнна быть заполнена"; + КонецЕсли; + Если имяТабличнойЧасти = "" И ЗначениеЗаполнено(структураОтбораТабличнойЧасти) Тогда + ВызватьИсключение "Если не указана табличная часть, то структура отбора табличной части не должна быть указана"; + КонецЕсли; + + Запрос = Новый Запрос; + текстТабличнаяЧасть = ?(НЕ ЗначениеЗаполнено(имяТабличнойЧасти), "", "."+имяТабличнойЧасти); + Запрос.Текст = "ВЫБРАТЬ + | ЕСТЬNULL(СУММА(Доки."+имяРеквизита+"), 0) КАК Сумма + |ИЗ + | Документ."+видДокумента+текстТабличнаяЧасть+" КАК Доки + |ГДЕ + | Доки.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2 + |"; + Запрос.УстановитьПараметр("Дата1", Дата1); + Запрос.УстановитьПараметр("Дата2", КонецДня(Дата2)); + + Если ЗначениеЗаполнено(структураОтбораШапки) Тогда + Для каждого ключЗначение Из структураОтбораШапки Цикл + имяРеквизита = ключЗначение.Ключ; + Запрос.Текст = Запрос.Текст + " И Доки.Ссылка."+имяРеквизита+" = &"+имяРеквизита+" "; + Запрос.УстановитьПараметр(имяРеквизита, ключЗначение.Значение); + КонецЦикла; + КонецЕсли; + + Если ЗначениеЗаполнено(структураОтбораТабличнойЧасти) Тогда + Для каждого ключЗначение Из структураОтбораТабличнойЧасти Цикл + имяРеквизита = ключЗначение.Ключ; + Запрос.Текст = Запрос.Текст + " И Доки."+имяРеквизита+" = &"+имяРеквизита+" "; + Запрос.УстановитьПараметр(имяРеквизита, ключЗначение.Значение); + КонецЦикла; + КонецЕсли; + + РезультатЗапроса = Запрос.Выполнить(); + Если РезультатЗапроса.Пустой() Тогда + Возврат 0; + КонецЕсли; + Выборка = РезультатЗапроса.Выбрать(); + Выборка.Следующий(); + Возврат выборка.Сумма; +КонецФункции + +Функция ПолучитьИтоговуюСуммуДокументовПоОтбору(видДокумента, имяРеквизита, Дата1, дата2, структураОтбораШапки = Неопределено, структураОтбораТабличнойЧасти = Неопределено) Экспорт + Возврат ПолучитьИтоговуюСуммуТабличнойЧастиДокументовПоОтбору(видДокумента, "", имяРеквизита, Дата1, дата2, структураОтбораШапки, структураОтбораТабличнойЧасти); +КонецФункции + +Функция ПолучитьКоличествоЭлементовМетаданногоПоОтбору(типМетаданного, видМетаданного, структураОтбора = Неопределено) Экспорт + Если Не ЗначениеЗаполнено(типМетаданного) Тогда + ВызватьИсключение "Тип метаданного должен быть заполнен"; + КонецЕсли; + Если Не ЗначениеЗаполнено(видМетаданного) Тогда + ВызватьИсключение "Вид метаданного должен быть заполнен"; + КонецЕсли; + + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ + | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Таб.Ссылка) КАК КоличествоЭлементов + |ИЗ + | "+типМетаданного+"."+видМетаданного+" КАК Таб + |ГДЕ + | Истина + |"; + + Если ЗначениеЗаполнено(структураОтбора) Тогда + Для каждого ключЗначение Из структураОтбора Цикл + имяРеквизита = ключЗначение.Ключ; + Запрос.Текст = Запрос.Текст + " И Таб."+имяРеквизита+" = &"+имяРеквизита+" "; + Запрос.УстановитьПараметр(имяРеквизита, ключЗначение.Значение); + КонецЦикла; + КонецЕсли; + + РезультатЗапроса = Запрос.Выполнить(); + Если РезультатЗапроса.Пустой() Тогда + Возврат 0; + КонецЕсли; + Выборка = РезультатЗапроса.Выбрать(); + Выборка.Следующий(); + Возврат выборка.КоличествоЭлементов; +КонецФункции + +Функция ПолучитьКоличествоБизнесПроцессовПоОтбору(видМетаданного, структураОтбора = Неопределено) Экспорт + Возврат ПолучитьКоличествоЭлементовМетаданногоПоОтбору("БизнесПроцесс", видМетаданного, структураОтбора); +КонецФункции + +Функция ПолучитьКоличествоЗадачПоОтбору(видМетаданного, структураОтбора = Неопределено) Экспорт + Возврат ПолучитьКоличествоЭлементовМетаданногоПоОтбору("Задача", видМетаданного, структураОтбора); +КонецФункции + +Функция ПолучитьКоличествоЭлементовРегистраПоОтбору(типМетаданного, видМетаданного, структураОтбора = Неопределено) Экспорт + Если Не ЗначениеЗаполнено(типМетаданного) Тогда + ВызватьИсключение "Тип метаданного должен быть заполнен"; + КонецЕсли; + Если Не ЗначениеЗаполнено(видМетаданного) Тогда + ВызватьИсключение "Вид метаданного должен быть заполнен"; + КонецЕсли; + + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ + | КОЛИЧЕСТВО(*) КАК КоличествоЭлементов + |ИЗ + | "+типМетаданного+"."+видМетаданного+" КАК Таб + |ГДЕ + | Истина + |"; + + Если ЗначениеЗаполнено(структураОтбора) Тогда + Для каждого ключЗначение Из структураОтбора Цикл + имяРеквизита = ключЗначение.Ключ; + Запрос.Текст = Запрос.Текст + " И Таб."+имяРеквизита+" = &"+имяРеквизита+" "; + Запрос.УстановитьПараметр(имяРеквизита, ключЗначение.Значение); + КонецЦикла; + КонецЕсли; + + РезультатЗапроса = Запрос.Выполнить(); + Если РезультатЗапроса.Пустой() Тогда + Возврат 0; + КонецЕсли; + Выборка = РезультатЗапроса.Выбрать(); + Выборка.Следующий(); + Возврат выборка.КоличествоЭлементов; +КонецФункции + +Функция ПолучитьЭлементыМетаданногоПоОтбору(типМетаданного, видМетаданного, Количество=1, структураОтбора = Неопределено) Экспорт + Если Не ЗначениеЗаполнено(типМетаданного) Тогда + ВызватьИсключение "Тип метаданного должен быть заполнен"; + КонецЕсли; + Если Не ЗначениеЗаполнено(видМетаданного) Тогда + ВызватьИсключение "Вид метаданного должен быть заполнен"; + КонецЕсли; + + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ "+Количество+" + | * + |ИЗ + | "+типМетаданного+"."+видМетаданного+" КАК Таб + |ГДЕ + | Истина + |"; + + Если ЗначениеЗаполнено(структураОтбора) Тогда + Для каждого ключЗначение Из структураОтбора Цикл + имяРеквизита = ключЗначение.Ключ; + Запрос.Текст = Запрос.Текст + " И Таб."+имяРеквизита+" = &"+имяРеквизита+" "; + Запрос.УстановитьПараметр(имяРеквизита, ключЗначение.Значение); + КонецЦикла; + КонецЕсли; + + РезультатЗапроса = Запрос.Выполнить(); + ТЗ = РезультатЗапроса.Выгрузить(); + + Возврат ТЗ; +КонецФункции +// } Методы проверки таблиц метаданных + +// { Helpers +Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",", Знач ПропускатьПустыеСтроки = Неопределено, СокращатьНепечатаемыеСимволы = Ложь) Экспорт + + Результат = Новый Массив; + + // для обеспечения обратной совместимости + Если ПропускатьПустыеСтроки = Неопределено Тогда + ПропускатьПустыеСтроки = ?(Разделитель = " ", Истина, Ложь); + Если ПустаяСтрока(Строка) Тогда + Если Разделитель = " " Тогда + Результат.Добавить(""); + КонецЕсли; + Возврат Результат; + КонецЕсли; + КонецЕсли; + // + + Позиция = Найти(Строка, Разделитель); + Пока Позиция > 0 Цикл + Подстрока = Лев(Строка, Позиция - 1); + Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Подстрока) Тогда + Если СокращатьНепечатаемыеСимволы Тогда + Результат.Добавить(СокрЛП(Подстрока)); + Иначе + Результат.Добавить(Подстрока); + КонецЕсли; + КонецЕсли; + Строка = Сред(Строка, Позиция + СтрДлина(Разделитель)); + Позиция = Найти(Строка, Разделитель); + КонецЦикла; + + Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Строка) Тогда + Если СокращатьНепечатаемыеСимволы Тогда + Результат.Добавить(СокрЛП(Строка)); + Иначе + Результат.Добавить(Строка); + КонецЕсли; + КонецЕсли; + + Возврат Результат; + +КонецФункции +// } Helpers + +//{ ОСНОВНОЙ БЛОК +Функция СоздатьМакетДляГенерацииДанных(МассивДанных) Экспорт + ШапкаДанных = ШапкаДанныхВМакете(); + Макет = Новый ТабличныйДокумент; + номерКолонки = 0; + Для каждого ключЗначение Из ШапкаДанных Цикл + номерКолонки = номерКолонки + 1; + имяПоля = ключЗначение.Ключ; + Макет.Область(1, номерКолонки, 1, номерКолонки).Текст = имяПоля ; + КонецЦикла; + + Для каждого ОписательОбъекта Из МассивДанных Цикл + ПользовательИБ = Неопределено; + Если ЭтоОписательПользователяИБ(ОписательОбъекта, ПользовательИБ) Тогда + + ДобавитьПользователяИБ_ВМакет(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных); + + Иначе + + ДобавитьОбъектВМакет(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных); + + КонецЕсли; + КонецЦикла; + Возврат Макет; +КонецФункции + +//{ Пример вызова из внешнего кода: +// Путь_xUnitFor1C = "C:\Projects\GitHub\xUnitFor1C\"; +// ПутьГенератораМакета = Путь_xUnitFor1C + "ГенерацияМакетаДанных_На_БазеРеальныхДанных.epf"; +// Запрос = Новый Запрос; +// запрос.Текст = " +// |ВЫБРАТЬ +// | ""РегистрыСведений.РегистрСведений1.СоздатьНаборЗаписей().Метаданные()"" КАК __Метаданные, +// | ""ЗаписьРегистра"" КАК __Префикс, +// | РегистрСведений1.ПростойСправочник, +// | РегистрСведений1.ПростойСправочник2, +// | РегистрСведений1.РесурсЧисло, +// | РегистрСведений1.РесурсБулево +// |ИЗ +// | РегистрСведений.РегистрСведений1 КАК РегистрСведений1 +// |УПОРЯДОЧИТЬ ПО +// | ПростойСправочник2"; +// + //или Запрос.Текст = + // "ВЫБРАТЬ + // | """" КАК __Метаданные, + // | ""ПростойСправочник"" КАК __Префикс, + // | ПростойСправочник.Ссылка, + // | ПростойСправочник.Код, + // | ПростойСправочник.Наименование, + // | ПростойСправочник.РеквизитБулево, + // | ПростойСправочник.РеквизитПеречисление + // |ИЗ + // | Справочник.ПростойСправочник КАК ПростойСправочник + // |Где РеквизитБулево И ПростойСправочник.Наименование = ""Тестовое наименование"" "; +// +// РезультатЗапроса = Запрос.Выполнить(); +// +// ГенераторМакетаДанных = ВнешниеОбработки.Создать(ПутьГенератораМакета); +// Макет = ГенераторМакетаДанных.СоздатьМакетДанныхНаОснованииЗапроса(РезультатЗапроса); +// Макет.Показать(); +//} +Функция СоздатьМакетДанныхНаОснованииЗапроса(РезультатЗапроса) Экспорт + Таблица = РезультатЗапроса.Выгрузить(); + + МассивПропускаемыхКолонок = Новый Массив; + МассивПропускаемыхКолонок.Добавить("__Метаданные"); + МассивПропускаемыхКолонок.Добавить("__Префикс"); + СтрокаПропускаемыхКолонок = ""; + Для каждого Колонка Из МассивПропускаемыхКолонок Цикл + СтрокаПропускаемыхКолонок = СтрокаПропускаемыхКолонок + Колонка+", "; + КонецЦикла; + + КоличествоСлужебныхКолонок = МассивПропускаемыхКолонок.Количество(); + + СтруктураДанных = Новый Структура(); + для каждого КолонкаЗапроса из Таблица.Колонки цикл + Если МассивПропускаемыхКолонок.Найти(КолонкаЗапроса.Имя) <> Неопределено Тогда + КоличествоСлужебныхКолонок = КоличествоСлужебныхКолонок - 1; + Продолжить; + КонецЕсли; + + имяКолонки = КолонкаЗапроса.имя; + СтруктураДанных.Вставить(имяКолонки); + КонецЦикла; + + Если КоличествоСлужебныхКолонок <> 0 Тогда + ВызватьИсключение "Не все служебные колонки заданы! В запросе обязательно должны быть колонки "+СтрокаПропускаемыхКолонок; + КонецЕсли; + + МассивДанных = Новый Массив; + + номер = 1; + индекс = 1; + Для каждого Строка из Таблица Цикл + номер = номер + 1; + + ИмяПеременной = Строка.__Префикс + индекс; + РеквизитыЗаписи = Новый Структура(); + Для каждого ключЗначение Из СтруктураДанных Цикл + РеквизитыЗаписи.Вставить(ключЗначение.Ключ) + КонецЦикла; + ЗаполнитьЗначенияСвойств(РеквизитыЗаписи, Строка); + + описаниеЗаписиРегистраСведений1 = СоздатьОписательЭлемента(); + описаниеЗаписиРегистраСведений1.Вставить("ИмяПеременной", ИмяПеременной); + описаниеЗаписиРегистраСведений1.Вставить("Реквизиты", РеквизитыЗаписи); + + Если ПустаяСтрока(Строка.__Метаданные) Тогда + описаниеЗаписиРегистраСведений1.Вставить("Ссылка", Строка.Ссылка); + Иначе + Мета = Неопределено; + Выполнить("Мета = "+Строка.__Метаданные); + + описаниеЗаписиРегистраСведений1.Вставить("Метаданное", Мета); + КонецЕсли; + + МассивДанных.Добавить(описаниеЗаписиРегистраСведений1); + + индекс = индекс + 1; + КонецЦикла; + + Макет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); + + Возврат Макет; +КонецФункции + +Функция СоздатьОписательЭлементаПоСсылке(Ссылка, МассивИмен, ДанныеОбъекта = Неопределено) Экспорт + ОписательЭлемента = СоздатьОписательЭлемента(); + ОписательЭлемента.Ссылка = Ссылка; + ОписательЭлемента.ИмяПеременной = УникальноеИмяПеременнойПоСсылке(Ссылка, МассивИмен); + МетаСсылка = Ссылка.Метаданные(); + ОписательЭлемента.Метаданное = МетаСсылка; + ОписательЭлемента.РежимПоиска = "Перем"; + ОписательЭлемента.ВыгружатьКод = ВыгружатьКод; + МенеджерОбъекта = ПолучитьМенеджерОбъекта_ирЛкс(МетаСсылка); + Если Метаданные.Справочники.Содержит(МетаСсылка) И Ссылка.ЭтоГруппа Тогда + ОписательЭлемента.РежимСоздания = "Группа"; + ИначеЕсли Метаданные.ПланыОбмена.Содержит(МетаСсылка) И Ссылка = МенеджерОбъекта.ЭтотУзел() Тогда + ОписательЭлемента.РежимСоздания = "ЭтотУзел"; + Иначе + ОписательЭлемента.РежимСоздания = ""; + КонецЕсли; + Если ДанныеОбъекта <> Неопределено Тогда + Если ДанныеОбъекта.Свойство("Предопределенный") Тогда + ЭтоПредопределенноеЗначение = ДанныеОбъекта.Предопределенный; + Иначе + ЭтоПредопределенноеЗначение = Ложь; + КонецЕсли; + Если ЭтоПредопределенноеЗначение Тогда + Если ЭтоПлатформа8_3_3БезРежимаСовместимости() Тогда + ОписательЭлемента.РежимСоздания = "Предопределенный"; + ОписательЭлемента.Значение = ДанныеОбъекта.ИмяПредопределенныхДанных; + Иначе // т.к. в 8.2 нет свойства ИмяПредопределенныхДанных, приходится использовать ГУИД + ОписательЭлемента.РежимСоздания = "СоздатьПоГуид"; + ОписательЭлемента.ГуидСсылки = Ссылка.УникальныйИдентификатор(); + КонецЕсли; + КонецЕсли; + КонецЕсли; + Возврат ОписательЭлемента; +КонецФункции + +Функция ЭтоПлатформа8_3_3БезРежимаСовместимости() + + СистемнаяИнформация = Новый СистемнаяИнформация; + + ВерсияПриложения = СистемнаяИнформация.ВерсияПриложения; + Если СравнитьВерсии(ВерсияПриложения, "8.3.3") >= 0 Тогда + ВерсияРежимаСовместимости = СтрЗаменить(СтрЗаменить(Метаданные.РежимСовместимости, "Версия", ""), "_", "."); + Если ВРег(ВерсияРежимаСовместимости) = ВРег("НеИспользовать") Или СравнитьВерсии(ВерсияРежимаСовместимости, "8.3.3") >= 0 Тогда + Возврат Истина; + КонецЕсли; + КонецЕсли; + + Возврат Ложь; + +КонецФункции + +// Сравнить две строки версий. +// +// Параметры +// СтрокаВерсии1 - Строка - номер версии в формате РР.{П|ПП}.ЗЗ.СС +// СтрокаВерсии2 - Строка - второй сравниваемый номер версии +// +// Возвращаемое значение: +// Число - больше 0, если СтрокаВерсии1 > СтрокаВерсии2; 0, если версии равны. +// +Функция СравнитьВерсии(Знач СтрокаВерсии1, Знач СтрокаВерсии2) Экспорт + + Строка1 = ?(ПустаяСтрока(СтрокаВерсии1), "0.0.0.0", СтрокаВерсии1); + Строка2 = ?(ПустаяСтрока(СтрокаВерсии2), "0.0.0.0", СтрокаВерсии2); + Версия1 = РазложитьСтрокуВМассивПодстрок(Строка1, "."); + Если Версия1.Количество() > 4 Тогда + ВызватьИсключение СтрЗаменить(НСтр("ru = 'Неправильный формат параметра СтрокаВерсии1: %1'"), "%1", СтрокаВерсии1); + Иначе + Для Инекс = Версия1.Количество() По 4 Цикл + Версия1.Добавить("0"); + КонецЦикла; + КонецЕсли; + Версия2 = РазложитьСтрокуВМассивПодстрок(Строка2, "."); + Если Версия2.Количество() > 4 Тогда + ВызватьИсключение СтрЗаменить(НСтр("ru = 'Неправильный формат параметра СтрокаВерсии2: %1'"), "%1", СтрокаВерсии2); + Иначе + Для Инекс = Версия2.Количество() По 4 Цикл + Версия2.Добавить("0"); + КонецЦикла; + КонецЕсли; + + Результат = 0; + Для Разряд = 0 По 3 Цикл + Результат = Число(Версия1[Разряд]) - Число(Версия2[Разряд]); + Если Результат <> 0 Тогда + Возврат Результат; + КонецЕсли; + КонецЦикла; + Возврат Результат; + +КонецФункции + +Функция СоздатьОписательЭлементаПоНаборуЗаписей(НаборЗаписей, МассивИмен) Экспорт + Мд = НаборЗаписей.Метаданные(); + ОписательЭлемента = СоздатьОписательЭлемента(); + ОписательЭлемента.ИмяПеременной = ПолучитьУникальноеИмяПеременной(МассивИмен, Мд.Имя); + МассивИмен.Добавить(НРег(ОписательЭлемента.ИмяПеременной)); + + ОписательЭлемента.Реквизиты = НаборЗаписей; + ОписательЭлемента.Ссылка = Неопределено; + ОписательЭлемента.Метаданное = Мд; + Возврат ОписательЭлемента; +КонецФункции + +Функция СоздатьОписательЭлементаПользовательИБ(ПользовательИБ, МассивИмен, ДанныеОбъекта = Неопределено) Экспорт + ОписательЭлемента = СоздатьОписательЭлемента(); + ОписательЭлемента.ПользовательИБ = ПользовательИБ; + ОписательЭлемента.ИмяПеременной = ПолучитьИдентификаторИзПредставления_Лкс(ПользовательИБ.Имя, "_"); //УникальноеИмяПеременнойПоСсылке(ПользовательИБ, МассивИмен); + ОписательЭлемента.РежимПоиска = "Перем"; + Возврат ОписательЭлемента; +КонецФункции + +Функция ЭтоОписательПользователяИБ(ОписательОбъекта, РезПользовательИБ = Неопределено) + + ЭтоПользовательИБ = ОписательОбъекта.Свойство("ПользовательИБ", РезПользовательИБ) И РезПользовательИБ <> Неопределено; + Возврат ЭтоПользовательИБ; + +КонецФункции + +Функция СоздатьОписательЭлемента() Экспорт + ОписательЭлемента = Новый Структура; + ОписательЭлемента.Вставить("Ссылка"); + ОписательЭлемента.Вставить("ИмяПеременной", ""); + ОписательЭлемента.Вставить("Значение", Неопределено); + ОписательЭлемента.Вставить("Метаданное"); + ОписательЭлемента.Вставить("ВыгружатьКод", Ложь); + ОписательЭлемента.Вставить("РежимПоиска", ""); + ОписательЭлемента.Вставить("РежимСоздания", ""); + ОписательЭлемента.Вставить("ГуидСсылки", Неопределено); + ОписательЭлемента.Вставить("Реквизиты", Неопределено); + ОписательЭлемента.Вставить("ПользовательИБ", Неопределено); + Возврат ОписательЭлемента; +КонецФункции + +Функция УникальноеИмяПеременнойПоСсылке(Ссылка, МассивИмен) + ИмяПеременной = ПолучитьИдентификаторПредставленияПоСсылке(Ссылка); + ИмяПеременной = ПолучитьУникальноеИмяПеременной(МассивИмен, ИмяПеременной); + МассивИмен.Добавить(НРег(ИмяПеременной)); + Возврат ИмяПеременной; +КонецФункции + +Функция ПолучитьУникальноеИмяПеременной(МассивИмен, Знач Имя) + Если Не ЗначениеЗаполнено(МассивИмен) Тогда + Возврат Имя; + КонецЕсли; + + ПоменялиИмя = Ложь; + Индекс = 1; + ИсходноеИмя = Имя + "_"; // для генерации нормальных имен типа Перем_1, Перем_2, Перем_3 + Пока МассивИмен.Найти(НРег(Имя)) <> Неопределено Цикл + Имя = ИсходноеИмя + Индекс; + Индекс = Индекс + 1; + ПоменялиИмя = Истина; + КонецЦикла; + Возврат Имя; +КонецФункции + +Функция ПолучитьИдентификаторПредставленияПоСсылке(Ссылка) //Экспорт + Мд = Ссылка.Метаданные(); + + менеджерОбъекта = ПолучитьМенеджерОбъекта_ирЛкс(Мд); + КорневойТипКонфигурации = ПолучитьКорневойТипКонфигурации_ирЛкс(Мд); + + Представление = ""; + Если КорневойТипКонфигурации = "Справочник" Тогда + Представление = Ссылка.Наименование; + ИначеЕсли КорневойТипКонфигурации = "Документ" Тогда + Представление = ""+Ссылка; + //ИначеЕсли КорневойТипКонфигурации = "РегистрСведений" Тогда + ИначеЕсли КорневойТипКонфигурации = "БизнесПроцесс" Тогда + Представление = ""+Ссылка; + ИначеЕсли КорневойТипКонфигурации = "Задача" Тогда + Представление = ""+Ссылка; + ИначеЕсли КорневойТипКонфигурации = "ПланОбмена" Тогда + Представление = ""+Ссылка; + Иначе + ВызватьИсключение "ПолучитьИдентификаторПредставленияПоСсылке() : Неизвестный КорневойТипКонфигурации <"+КорневойТипКонфигурации+">"; + КонецЕсли; + рез = ПолучитьИдентификаторИзПредставления_Лкс(Представление, "_"); + Возврат рез; +КонецФункции + +Процедура ДобавитьПользователяИБ_ВМакет(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных) + ДобавитьШапкуПользователяИБ_ВМакет(Макет, ОписательОбъекта, ШапкаДанных); + + ДобавитьРеквизитыПользователяИБ_ВМакет(Макет, ОписательОбъекта, ШапкаДанных); + ДобавитьРолиПользователяИБ_ВМакет(Макет, ОписательОбъекта, ШапкаДанных); +КонецПроцедуры + +Процедура ДобавитьШапкуПользователяИБ_ВМакет(Макет, ОписательОбъекта, ШапкаДанных) + ДобавитьПростойРеквизитВМакет(Макет, ШапкаДанных, "", ОписательОбъекта.Значение); + + НомерСтрокиМакета = Макет.ВысотаТаблицы; + + НомерКолонкиМакета_Тип = ШапкаДанных.Тип; + ОбластьМакета = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_Тип, НомерСтрокиМакета, НомерКолонкиМакета_Тип); + ОбластьМакета.Текст = "ПользовательИБ"; + + НомерКолонкиМакета_ИмяПеременной = ШапкаДанных.ИмяПеременной; + ОбластьМакета = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_ИмяПеременной, НомерСтрокиМакета, НомерКолонкиМакета_ИмяПеременной); + ОбластьМакета.Текст = ОписательОбъекта.ИмяПеременной; +КонецПроцедуры + +Процедура ДобавитьРеквизитыПользователяИБ_ВМакет(Макет, ОписательОбъекта, ШапкаДанных) + + параметрыПользователя = Новый Структура; + параметрыПользователя.Вставить("Имя", ""); + параметрыПользователя.Вставить("ПолноеИмя", ""); + параметрыПользователя.Вставить("АутентификацияСтандартная", Истина); + параметрыПользователя.Вставить("АутентификацияОС", Ложь); + параметрыПользователя.Вставить("ПользовательОС", ""); + параметрыПользователя.Вставить("ОсновнойИнтерфейс", ""); //Метаданные.Интерфейсы.Администратор); + параметрыПользователя.Вставить("ПоказыватьВСпискеВыбора", Истина); + параметрыПользователя.Вставить("РежимЗапуска", РежимЗапускаКлиентскогоПриложения.Авто); + //параметрыПользователя.Вставить("Язык", Метаданные.Языки.Русский); + + ЗаполнитьЗначенияСвойств(параметрыПользователя, ОписательОбъекта.ПользовательИБ); + + параметрыПользователя.Вставить("Пароль", ""); + + НомерСтрокиМакета = Макет.ВысотаТаблицы+1; + Для Каждого КлючЗначение Из параметрыПользователя Цикл + ДобавитьПростойРеквизитВМакет(Макет, ШапкаДанных, КлючЗначение.Ключ, КлючЗначение.Значение); + + НомерСтрокиМакета = Макет.ВысотаТаблицы+1; + КонецЦикла; +КонецПроцедуры + +Процедура ДобавитьРолиПользователяИБ_ВМакет(Макет, ОписательОбъекта, ШапкаДанных) + НомерСтрокиМакета = Макет.ВысотаТаблицы+1; + НомерКолонкиМакета_ТЧ = ШапкаДанных.ТЧ; + ОбластьМакета = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_ТЧ, НомерСтрокиМакета, НомерКолонкиМакета_ТЧ); + ОбластьМакета.Текст = "Роли"; + + НомерСтрокиМакета = Макет.ВысотаТаблицы+1; + + Роли = ОписательОбъекта.ПользовательИБ.Роли; + Для Каждого Роль Из Роли Цикл + ДобавитьПростойРеквизитВМакет(Макет, ШапкаДанных, "Роль", Роль.Имя); + + НомерСтрокиМакета = Макет.ВысотаТаблицы+1; + КонецЦикла; +КонецПроцедуры + +Процедура ДобавитьОбъектВМакет(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных) + Ссылка = Неопределено; + Мд = Неопределено; + ЭтоСсылочныйОбъект = ЭтоОписательОбъектаСсылки(ОписательОбъекта, Ссылка); + Если ЭтоСсылочныйОбъект Тогда + ЭтоСсылочныйОбъект = Истина; + Мд = Ссылка.Метаданные(); + ИначеЕсли ОписательОбъекта.Свойство("Метаданное", Мд) Тогда + КонецЕсли; + + ДобавитьМетаданныеВМакетДляДобавляемогоОбъекта(Макет, ОписательОбъекта, ШапкаДанных, Макет.ВысотаТаблицы+1, Мд); + + менеджерОбъекта = ПолучитьМенеджерОбъекта_ирЛкс(Мд); + КорневойТипКонфигурации = ПолучитьКорневойТипКонфигурации_ирЛкс(Мд); + Если КорневойТипКонфигурации = "Справочник" Тогда + Если ЗначениеЗаполнено(Ссылка) и Ссылка.ЭтоГруппа Тогда + лПустойОбъект = менеджерОбъекта.СоздатьГруппу(); + Иначе + лПустойОбъект = менеджерОбъекта.СоздатьЭлемент(); + КонецЕсли; + ИначеЕсли КорневойТипКонфигурации = "Документ" Тогда + лПустойОбъект = менеджерОбъекта.СоздатьДокумент(); + ИначеЕсли КорневойТипКонфигурации = "БизнесПроцесс" Тогда + лПустойОбъект = менеджерОбъекта.СоздатьБизнесПроцесс(); + ИначеЕсли КорневойТипКонфигурации = "Задача" Тогда + лПустойОбъект = менеджерОбъекта.СоздатьЗадачу(); + ИначеЕсли КорневойТипКонфигурации = "РегистрСведений" Тогда + ИначеЕсли КорневойТипКонфигурации = "РегистрНакопления" Тогда + ИначеЕсли КорневойТипКонфигурации = "РегистрБухгалтерии" Тогда + ИначеЕсли КорневойТипКонфигурации = "ПланОбмена" Тогда + лПустойОбъект = менеджерОбъекта.СоздатьУзел(); + Иначе + ВызватьИсключение "Неизвестный КорневойТипКонфигурации <"+КорневойТипКонфигурации+">"; + КонецЕсли; + + ВыгружаемыеСтандартныеРеквизиты = ВыгружаемыеСтандартныеРеквизиты(ОписательОбъекта, КорневойТипКонфигурации); + + Если ЗначениеЗаполнено(Ссылка) Тогда + объект = Ссылка.ПолучитьОбъект(); + + Если Не ВыгружатьСсылку И ЗначениеЗаполнено(ОписательОбъекта.ГуидСсылки) Тогда + Для каждого РеквизитМд Из Мд.СтандартныеРеквизиты Цикл + Если РеквизитМд.Имя = "Ссылка" Тогда + НомерСтрокиМакета = Макет.ВысотаТаблицы+1; + ДобавилиРеквизит = ОбработатьРеквизитОбъекта(Макет, МассивДанных, Объект, РеквизитМд, ОписательОбъекта.ГуидСсылки, Мд, НомерСтрокиМакета, ШапкаДанных); + КонецЕсли; + КонецЦикла; + КонецЕсли; + + ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект, лПустойОбъект, Мд.СтандартныеРеквизиты, ВыгружаемыеСтандартныеРеквизиты); + ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект, лПустойОбъект, Мд.Реквизиты, Неопределено); + + ОбработатьТабличныеЧастиОбъекта(Макет, Мд.ТабличныеЧасти, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект); + ОбработатьРежимыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект); + + ИначеЕсли КорневойТипКонфигурации = "РегистрСведений" и ТипЗнч(ОписательОбъекта.Реквизиты) = Тип("Структура") Тогда + ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Мд, Неопределено, Мд.СтандартныеРеквизиты, ВыгружаемыеСтандартныеРеквизиты); + ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Мд, Неопределено, Мд.Измерения, Неопределено); + ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Мд, Неопределено, Мд.Ресурсы, Неопределено); + ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Мд, Неопределено, Мд.Реквизиты, Неопределено); + + ИначеЕсли КорневойТипКонфигурации = "РегистрСведений" + Или КорневойТипКонфигурации = "РегистрНакопления" + Или КорневойТипКонфигурации = "РегистрБухгалтерии" Тогда + + ЭтоРегистрБухгалтерии = КорневойТипКонфигурации = "РегистрБухгалтерии"; + + НаборЗаписейРегистра = ОписательОбъекта.Реквизиты; + Для Каждого ЗаписьРегистра Из НаборЗаписейРегистра Цикл + Макет.Область(Макет.ВысотаТаблицы+1, ШапкаДанных.ТЧ).Текст = "Запись"; + ОписательОбъекта.Реквизиты = ЗаписьРегистра; + + НаборСтандартныеРеквизиты = Мд.СтандартныеРеквизиты; + Если ЭтоРегистрБухгалтерии Тогда + ДанныеСчета = Новый Структура; + Если Мд.Корреспонденция Тогда + ДанныеСчета.Вставить("СчетДт", Новый Структура("НомераВидовСубконто, НаименованиеРеквизитаСубконто", Новый Массив, "СубконтоДт")); + ДанныеСчета.Вставить("СчетКт", Новый Структура("НомераВидовСубконто, НаименованиеРеквизитаСубконто", Новый Массив, "СубконтоКт")); + Иначе + ДанныеСчета.Вставить("Счет", Новый Структура("НомераВидовСубконто, НаименованиеРеквизитаСубконто", Новый Массив, "Субконто")); + КонецЕсли; + + НаборСтандартныеРеквизиты = Новый Массив; + для каждого МдРеквизит из Мд.СтандартныеРеквизиты Цикл + ИмяРеквизита = МдРеквизит.Имя; + Если Лев(ИмяРеквизита, СтрДлина("ВидСубконто")) = "ВидСубконто" Тогда + Продолжить; + КонецЕсли; + Если Лев(ИмяРеквизита, СтрДлина("Субконто")) = "Субконто" Тогда + Продолжить; + КонецЕсли; + НаборСтандартныеРеквизиты.Добавить(МдРеквизит); + КонецЦикла; + КонецЕсли; + + ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Мд, Неопределено, НаборСтандартныеРеквизиты, ВыгружаемыеСтандартныеРеквизиты); + ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Мд, Неопределено, Мд.Измерения, Неопределено, КорневойТипКонфигурации); + ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Мд, Неопределено, Мд.Ресурсы, Неопределено, КорневойТипКонфигурации); + ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Мд, Неопределено, Мд.Реквизиты, Неопределено); + + Если ЭтоРегистрБухгалтерии Тогда + ВыгружаемыеРеквизиты = Новый Массив; + МассивИмитаторРеквизитовМд = Новый Массив; + Для каждого КлючЗначение Из ДанныеСчета Цикл + ИмяРеквизита = КлючЗначение.Ключ; + ВыгружаемыеРеквизиты.Добавить(ИмяРеквизита); + Структура = Новый Структура("Имя,Субконто", ИмяРеквизита, КлючЗначение.Значение); + МассивИмитаторРеквизитовМд.Добавить(Структура); + КонецЦикла; + + ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Мд, Неопределено, МассивИмитаторРеквизитовМд, ВыгружаемыеРеквизиты, КорневойТипКонфигурации); + КонецЕсли; + КонецЦикла; + + Иначе + ВызватьИсключение "Неизвестный вариант работы - метод <ДобавитьОбъектВМакет>"; + КонецЕсли; +КонецПроцедуры + +Процедура ДобавитьМетаданныеВМакетДляДобавляемогоОбъекта(Макет, ОписательОбъекта, ШапкаДанных, НомерСтрокиМакета, Мд) + НомерКолонкиМакета_Тип = ШапкаДанных.Тип; + ОбластьМакета = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_Тип, НомерСтрокиМакета, НомерКолонкиМакета_Тип); + ОбластьМакета.Текст = ПолучитьКорневойТипКонфигурации_ирЛкс(Мд); + + НомерКолонкиМакета_Вид = ШапкаДанных.Вид; + ОбластьМакета = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_Вид, НомерСтрокиМакета, НомерКолонкиМакета_Вид); + ОбластьМакета.Текст = Мд.Имя; + + НомерКолонкиМакета_ИмяПеременной = ШапкаДанных.ИмяПеременной; + ОбластьМакета = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_ИмяПеременной, НомерСтрокиМакета, НомерКолонкиМакета_ИмяПеременной); + + ИмяПеременной = ИмяПеременнойИзОписателяОбъекта(Мд, ОписательОбъекта); + ОбластьМакета.Текст = ИмяПеременной; + + НомерКолонкиМакета_Режим = ШапкаДанных.Режим; + ОбластьМакета_Режим = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_Режим, НомерСтрокиМакета, НомерКолонкиМакета_Режим); + ОбластьМакета_Режим.Текст = ОписательОбъекта.РежимСоздания; + + НомерКолонкиМакета_Значение = ШапкаДанных.Значение; + ОбластьМакета_Значение = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_Значение, НомерСтрокиМакета, НомерКолонкиМакета_Значение); + ОбластьМакета_Значение.Текст = ОписательОбъекта.Значение; +КонецПроцедуры + +Функция ВыгружаемыеСтандартныеРеквизиты(ОписательОбъекта, КорневойТипКонфигурации) + ВыгружаемыеСтандартныеРеквизиты = Новый Массив; + Если КорневойТипКонфигурации = "Справочник" Тогда + ВыгружаемыеСтандартныеРеквизиты.Добавить("Наименование"); + ВыгружаемыеСтандартныеРеквизиты.Добавить("ПометкаУдаления"); + ВыгружатьКод = Ложь; + Если ОписательОбъекта.Свойство("ВыгружатьКод", ВыгружатьКод) и ВыгружатьКод Тогда + ВыгружаемыеСтандартныеРеквизиты.Добавить("Код"); + КонецЕсли; + Если ВыгружатьСсылку Тогда + ВыгружаемыеСтандартныеРеквизиты.Добавить("Ссылка"); + КонецЕсли; + + МетаданныеСправочника = ОписательОбъекта.Ссылка.Метаданные(); + Если МетаданныеСправочника.Владельцы.Количество() > 0 Тогда + ВыгружаемыеСтандартныеРеквизиты.Добавить("Владелец"); + КонецЕсли; + Если МетаданныеСправочника.Иерархический Тогда + ВыгружаемыеСтандартныеРеквизиты.Добавить("Родитель"); + КонецЕсли; + + ИначеЕсли КорневойТипКонфигурации = "Документ" Тогда + ВыгружаемыеСтандартныеРеквизиты.Добавить("Дата"); + ВыгружаемыеСтандартныеРеквизиты.Добавить("ПометкаУдаления"); + ВыгружаемыеСтандартныеРеквизиты.Добавить("Проведен"); + ВыгружатьКод = Ложь; + Если ОписательОбъекта.Свойство("ВыгружатьКод", ВыгружатьКод) и ВыгружатьКод Тогда + ВыгружаемыеСтандартныеРеквизиты.Добавить("Номер"); + КонецЕсли; + Если ВыгружатьСсылку Тогда + ВыгружаемыеСтандартныеРеквизиты.Добавить("Ссылка"); + КонецЕсли; + + ИначеЕсли КорневойТипКонфигурации = "БизнесПроцесс" Тогда + ВыгружаемыеСтандартныеРеквизиты.Добавить("Дата"); + ВыгружаемыеСтандартныеРеквизиты.Добавить("ПометкаУдаления"); + ВыгружаемыеСтандартныеРеквизиты.Добавить("Стартован"); + ВыгружаемыеСтандартныеРеквизиты.Добавить("Завершен"); + ВыгружаемыеСтандартныеРеквизиты.Добавить("ВедущаяЗадача"); + ВыгружатьКод = Ложь; + Если ОписательОбъекта.Свойство("ВыгружатьКод", ВыгружатьКод) и ВыгружатьКод Тогда + ВыгружаемыеСтандартныеРеквизиты.Добавить("Номер"); + КонецЕсли; + Если ВыгружатьСсылку Тогда + ВыгружаемыеСтандартныеРеквизиты.Добавить("Ссылка"); + КонецЕсли; + + ИначеЕсли КорневойТипКонфигурации = "Задача" Тогда + ВыгружаемыеСтандартныеРеквизиты.Добавить("Дата"); + ВыгружаемыеСтандартныеРеквизиты.Добавить("ПометкаУдаления"); + ВыгружаемыеСтандартныеРеквизиты.Добавить("БизнесПроцесс"); + ВыгружаемыеСтандартныеРеквизиты.Добавить("ТочкаМаршрута"); + ВыгружаемыеСтандартныеРеквизиты.Добавить("Наименование"); + ВыгружаемыеСтандартныеРеквизиты.Добавить("Выполнена"); + ВыгружатьКод = Ложь; + Если ОписательОбъекта.Свойство("ВыгружатьКод", ВыгружатьКод) и ВыгружатьКод Тогда + ВыгружаемыеСтандартныеРеквизиты.Добавить("Номер"); + КонецЕсли; + Если ВыгружатьСсылку Тогда + ВыгружаемыеСтандартныеРеквизиты.Добавить("Ссылка"); + КонецЕсли; + + ИначеЕсли КорневойТипКонфигурации = "РегистрСведений" Тогда + Если Не ОписательОбъекта.Метаданное.ПериодичностьРегистраСведений = Метаданные.СвойстваОбъектов.ПериодичностьРегистраСведений.Непериодический Тогда + ВыгружаемыеСтандартныеРеквизиты.Добавить("Период"); + КонецЕсли; + Если ОписательОбъекта.Метаданное.РежимЗаписи = Метаданные.СвойстваОбъектов.РежимЗаписиРегистра.ПодчинениеРегистратору Тогда + ВыгружаемыеСтандартныеРеквизиты.Добавить("Регистратор"); + ВыгружаемыеСтандартныеРеквизиты.Добавить("Активность"); + КонецЕсли; + + ИначеЕсли КорневойТипКонфигурации = "РегистрНакопления" или КорневойТипКонфигурации = "РегистрБухгалтерии" Тогда + Для Каждого ОписаниеСтандартногоРеквизита Из ОписательОбъекта.Метаданное.СтандартныеРеквизиты Цикл + Если ОписаниеСтандартногоРеквизита.Имя = "НомерСтроки" Тогда + Продолжить; + КонецЕсли; + ВыгружаемыеСтандартныеРеквизиты.Добавить(ОписаниеСтандартногоРеквизита.Имя); + КонецЦикла; + + ИначеЕсли КорневойТипКонфигурации = "ПланОбмена" Тогда + ВыгружаемыеСтандартныеРеквизиты.Добавить("Наименование"); + ВыгружаемыеСтандартныеРеквизиты.Добавить("ПометкаУдаления"); + ВыгружаемыеСтандартныеРеквизиты.Добавить("НомерОтправленного"); + ВыгружаемыеСтандартныеРеквизиты.Добавить("НомерПринятого"); + ВыгружатьКод = Ложь; + Если ОписательОбъекта.Свойство("ВыгружатьКод", ВыгружатьКод) и ВыгружатьКод Тогда + ВыгружаемыеСтандартныеРеквизиты.Добавить("Код"); + КонецЕсли; + Если ВыгружатьСсылку Тогда + ВыгружаемыеСтандартныеРеквизиты.Добавить("Ссылка"); + КонецЕсли; + + Иначе + ВызватьИсключение "Неизвестный КорневойТипКонфигурации <"+КорневойТипКонфигурации+"> КорневойТипКонфигурации()"; + КонецЕсли; + + Возврат ВыгружаемыеСтандартныеРеквизиты; +КонецФункции + +Процедура ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект, лПустойОбъект, МдРеквизиты, ВыгружаемыеРеквизиты, КорневойТипКонфигурации = "") + НомерСтрокиМакета = Макет.ВысотаТаблицы+1; + + ЭтоСсылочныйОбъект = ЭтоОписательОбъектаСсылки(ОписательОбъекта); + Если ЭтоСсылочныйОбъект Тогда + Мд = Объект.Метаданные(); + Иначе + Мд = Объект; + КонецЕсли; + + Для каждого РеквизитМд Из МдРеквизиты Цикл + имяРеквизита = РеквизитМд.Имя; + Если ВыгружаемыеРеквизиты <> Неопределено и ВыгружаемыеРеквизиты.Найти(имяРеквизита) = Неопределено Тогда + Продолжить; + КонецЕсли; + + БылДобавленСчетДляЗаписиРегистраБухгалтерии = Ложь; + + Если ЭтоСсылочныйОбъект Тогда + ЗначениеРеквизита = объект[имяРеквизита]; + + этоЗначениеБудетСозданоПоУмолчанию = лПустойОбъект[имяРеквизита] = ЗначениеРеквизита; + Если этоЗначениеБудетСозданоПоУмолчанию Тогда + Продолжить; + КонецЕсли; + Иначе + Если КорневойТипКонфигурации = "РегистрБухгалтерии" Тогда + Если Лев(ИмяРеквизита, СтрДлина("Счет")) = "Счет" Тогда + БылДобавленСчетДляЗаписиРегистраБухгалтерии = Истина; + ИмяРеквизитаСчет = имяРеквизита; + ИначеЕсли Не РеквизитМд.Балансовый Тогда + Суффиксы = Новый Массив; + Суффиксы.Добавить("Дт"); + Суффиксы.Добавить("Кт"); + Для Каждого Суффикс Из Суффиксы Цикл + ЗначениеРеквизита = ОписательОбъекта.Реквизиты[имяРеквизита + Суффикс]; + ИмитаторРеквизитаМд = Новый Структура("Имя, Тип", имяРеквизита + Суффикс, РеквизитМд.Тип); + ДобавилиРеквизит = ОбработатьРеквизитОбъекта(Макет, МассивДанных, Объект, ИмитаторРеквизитаМд, ЗначениеРеквизита, Мд, НомерСтрокиМакета, ШапкаДанных); + Если ДобавилиРеквизит Тогда + НомерСтрокиМакета = НомерСтрокиМакета + 1; + КонецЕсли; + КонецЦикла; + Продолжить; + КонецЕсли; + КонецЕсли; + ЗначениеРеквизита = ОписательОбъекта.Реквизиты[имяРеквизита]; + КонецЕсли; + + ДобавилиРеквизит = ОбработатьРеквизитОбъекта(Макет, МассивДанных, Объект, РеквизитМд, ЗначениеРеквизита, Мд, НомерСтрокиМакета, ШапкаДанных); + + Если ДобавилиРеквизит Тогда + НомерСтрокиМакета = НомерСтрокиМакета + 1; + КонецЕсли; + + Если БылДобавленСчетДляЗаписиРегистраБухгалтерии Тогда + Для Каждого ОписаниеВидаСубконто Из ОписательОбъекта.Реквизиты[ИмяРеквизитаСчет].ВидыСубконто Цикл + ВидСубконто = ОписаниеВидаСубконто.ВидСубконто; + НаименованиеРеквизитаСубконто = РеквизитМд.Субконто.НаименованиеРеквизитаСубконто; + ЗначениеРеквизита = ОписательОбъекта.Реквизиты[НаименованиеРеквизитаСубконто][ВидСубконто]; + Если ЗначениеРеквизита = Неопределено Тогда + Продолжить; + КонецЕсли; + + ИмитаторРеквизитаМд = Новый Структура("Имя, Тип", НаименованиеРеквизитаСубконто + ОписаниеВидаСубконто.НомерСтроки, ВидСубконто.ТипЗначения); + + ДобавилиРеквизит = ОбработатьРеквизитОбъекта(Макет, МассивДанных, Объект, ИмитаторРеквизитаМд, ЗначениеРеквизита, Мд, НомерСтрокиМакета, ШапкаДанных); + + Если ДобавилиРеквизит Тогда + НомерСтрокиМакета = НомерСтрокиМакета + 1; + КонецЕсли; + КонецЦикла; + КонецЕсли; + КонецЦикла; +КонецПроцедуры + +Процедура ОбработатьТабличныеЧастиОбъекта(Макет, МдТабличныеЧасти, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект) + Для каждого МдТч Из МдТабличныеЧасти Цикл + МдРеквизиты = МдТч.Реквизиты; + ИмяТЧ = МдТч.Имя; + + НомерКолонкиМакета_ТЧ = ШапкаДанных.ТЧ; + + Для каждого строкаТчОбъекта Из объект[ИмяТЧ] Цикл + НомерСтрокиМакета = Макет.ВысотаТаблицы+1; + ОбластьМакета = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_ТЧ, НомерСтрокиМакета, НомерКолонкиМакета_ТЧ); + ОбластьМакета.Текст = ИмяТЧ; + + ОбработатьРеквизитыТабличнойЧастиОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект, строкаТчОбъекта, МдРеквизиты); + КонецЦикла; + КонецЦикла; +КонецПроцедуры + +Процедура ОбработатьРежимыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект) + НомерСтрокиМакета = Макет.ВысотаТаблицы+1; + Режимы = новый Массив; + Если ТолькоСоздание Тогда + Режимы.Добавить("ТолькоСоздание"); + КонецЕсли; + Если ОбменДанными Тогда + Режимы.Добавить("ОбменДанными"); + КонецЕсли; + Мета = Объект.Метаданные(); + Если Метаданные.Справочники.Содержит(Мета) И Объект.ЭтоГруппа Тогда + Режимы.Добавить("Группа"); + КонецЕсли; + + Если Режимы.Количество()>0 Тогда + НомерКолонкиМакета_ТЧ = ШапкаДанных.ТЧ; + ОбластьМакета = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_ТЧ, НомерСтрокиМакета, НомерКолонкиМакета_ТЧ); + ОбластьМакета.Текст = "xddMods"; + + Для каждого Режим Из Режимы Цикл + ДобавитьПростойРеквизитВМакет(Макет, ШапкаДанных, "Режим", Режим); + КонецЦикла; + КонецЕсли; +КонецПроцедуры + +Процедура ОбработатьРеквизитыТабличнойЧастиОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект, строкаТчОбъекта, МдРеквизиты) + НомерСтрокиМакета = Макет.ВысотаТаблицы+1; + + Мд = Объект.Метаданные(); + + Для каждого РеквизитМд Из МдРеквизиты Цикл + имяРеквизита = РеквизитМд.Имя; + + ЗначениеРеквизита = строкаТчОбъекта[имяРеквизита]; + + ДобавилиРеквизит = ОбработатьРеквизитОбъекта(Макет, МассивДанных, Объект, РеквизитМд, ЗначениеРеквизита, Мд, НомерСтрокиМакета, ШапкаДанных); + + Если ДобавилиРеквизит Тогда + НомерСтрокиМакета = НомерСтрокиМакета + 1; + КонецЕсли; + КонецЦикла; +КонецПроцедуры + +Функция ОбработатьРеквизитОбъекта(Макет, МассивДанных, Объект, РеквизитМд, ЗначениеРеквизита, Мд, НомерСтрокиМакета, ШапкаДанных) + имяРеквизита = РеквизитМд.Имя; + ЕстьТипы = Ложь; + Попытка + Тип = РеквизитМд.Тип.Типы(); + ЕстьТипы = Истина; + Исключение + КонецПопытки; + + Если ЕстьТипы И Не ЗначениеЗаполнено(ЗначениеРеквизита) И РеквизитМд.Тип.Типы().Количество() = 1 Тогда + Возврат Ложь; + КонецЕсли; + ТипРеквизита = ТипЗнч(ЗначениеРеквизита); + Если ТипРеквизита = ТипЗнч(Неопределено) Тогда + Возврат Ложь; + КонецЕсли; + + ПредставлениеЗначенияРеквизита = ""; + РежимПоиска = ""; + ДополнительныйТипЗначения = ""; + Попытка + ПолучитьПредставлениеИРежимПоискаПоЗначениюРеквизита(Объект, ЗначениеРеквизита, ТипРеквизита, МассивДанных, ПредставлениеЗначенияРеквизита, РежимПоиска, ДополнительныйТипЗначения); + Исключение + описаниеОшибки = ОписаниеОшибки(); + ВызватьИсключение описаниеОшибки + " Не умею обрабатывать реквизит <"+имяРеквизита+"> у объекта <"+Мд.ПолноеИмя()+">"; + КонецПопытки; + + Если ЕстьТипы И РеквизитМд.Тип.Типы().Количество() = 1 Тогда + ДополнительныйТипЗначения = ""; + КонецЕсли; + + ДобавитьПростойРеквизитВМакет(Макет, ШапкаДанных, ИмяРеквизита, ПредставлениеЗначенияРеквизита); + + НомерКолонкиМакета_Режим = ШапкаДанных.Режим; + ОбластьМакета_Режим = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_Режим, НомерСтрокиМакета, НомерКолонкиМакета_Режим); + Если РежимПоиска <> "" Тогда + ОбластьМакета_Режим.Текст = РежимПоиска; + КонецЕсли; + + НомерКолонкиМакета_ДополнительныйТипЗначения = ШапкаДанных.ДополнительныйТипЗначения; + ОбластьМакета_ДополнительныйТипЗначения = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_ДополнительныйТипЗначения, НомерСтрокиМакета, НомерКолонкиМакета_ДополнительныйТипЗначения); + ОбластьМакета_ДополнительныйТипЗначения.Текст = ДополнительныйТипЗначения; + + Возврат Истина; +КонецФункции + +Процедура ДобавитьПростойРеквизитВМакет(Макет, ШапкаДанных, ИмяРеквизита, ПредставлениеЗначенияРеквизита) + НомерСтрокиМакета = Макет.ВысотаТаблицы+1; + + НомерКолонкиМакета_Реквизит = ШапкаДанных.Реквизит; + НомерКолонкиМакета_Значение = ШапкаДанных.Значение; + + ОбластьМакета_Реквизит = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_Реквизит, НомерСтрокиМакета, НомерКолонкиМакета_Реквизит); + ОбластьМакета_Реквизит.Текст = ИмяРеквизита; + + ОбластьМакета_Значение = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_Значение, НомерСтрокиМакета, НомерКолонкиМакета_Значение); + ОбластьМакета_Значение.Текст = ПредставлениеЗначенияРеквизита; + +КонецПроцедуры + +Процедура ПолучитьПредставлениеИРежимПоискаПоЗначениюРеквизита(Объект, ЗначениеРеквизита, ТипРеквизита, МассивДанных, резПредставлениеЗначенияРеквизита, резРежимПоиска, резДополнительныйТипЗначения) + резДополнительныйТипЗначения = ""; + Если ТипРеквизита = Тип("Число") Тогда + ПредставлениеЗначенияРеквизита = Формат(ЗначениеРеквизита, "ЧГ="); + резДополнительныйТипЗначения = "Число"; + ИначеЕсли ТипРеквизита = Тип("Строка") Тогда + ПредставлениеЗначенияРеквизита = ЗначениеРеквизита; + резДополнительныйТипЗначения = "Строка"; + ИначеЕсли ТипРеквизита = Тип("Дата") Тогда + ПредставлениеЗначенияРеквизита = Формат(ЗначениеРеквизита, "ДФ=yyyyMMddЧЧммсс"); // важно ЧЧ + резДополнительныйТипЗначения = "Дата"; + ИначеЕсли ТипРеквизита = Тип("Булево") Тогда + ПредставлениеЗначенияРеквизита = Формат(ЗначениеРеквизита, "БЛ=Ложь; БИ=Истина"); + резДополнительныйТипЗначения = "Булево"; + + ИначеЕсли ЛиСсылкаНаОбъектБД_ирЛкс(ЗначениеРеквизита) Тогда + ОписательЗначенияРеквизита = НайтиОписательОбъектаПоСсылке(МассивДанных, ЗначениеРеквизита); //МассивДанных.Найти(ЗначениеРеквизита); + Если ОписательЗначенияРеквизита <> Неопределено Тогда + ЕстьРеквизитСсылка = Истина; + Если ТипЗнч(Объект) = Тип("ОбъектМетаданных") Тогда + ЕстьРеквизитСсылка = Ложь; + Для каждого РеквизитМд Из Объект.СтандартныеРеквизиты Цикл + Если РеквизитМд.Имя = "Ссылка" Тогда + ЕстьРеквизитСсылка = Истина; + КонецЕсли; + КонецЦикла; + КонецЕсли; + Если ЕстьРеквизитСсылка И ЗначениеРеквизита = Объект.Ссылка Тогда + ПредставлениеЗначенияРеквизита = Строка(ЗначениеРеквизита.УникальныйИдентификатор()); + РежимПоиска = ""; + Иначе + ИмяПеременнойИзОписателяОбъекта = ИмяПеременнойИзОписателяОбъекта(ЗначениеРеквизита.Метаданные(), ОписательЗначенияРеквизита); + ИскатьПоГуид = Ложь; + Если СвязьПоГуид Тогда + Для каждого Элемент Из МассивДанных Цикл + Если Элемент.ИмяПеременной = ИмяПеременнойИзОписателяОбъекта Тогда + ИскатьПоГуид = Истина; + Прервать; + КонецЕсли; + КонецЦикла; + КонецЕсли; + Если ИскатьПоГуид Тогда + ПредставлениеЗначенияРеквизита = Строка(ЗначениеРеквизита.УникальныйИдентификатор()); + РежимПоиска = "Гуид"; + Иначе + ПредставлениеЗначенияРеквизита = ИмяПеременнойИзОписателяОбъекта; + РежимПоиска = "Перем"; + КонецЕсли; + КонецЕсли; + Иначе + ПредставлениеЗначенияРеквизита = ЗначениеРеквизита; + Если БизнесПроцессы.ТипВсеСсылкиТочекМаршрутаБизнесПроцессов().СодержитТип(ТипРеквизита) Тогда + ПредставлениеЗначенияРеквизита = ЗначениеРеквизита.Имя; + РежимПоиска = "Предопределенный"; + Иначе + Если СвязьПоГуид Тогда + ПредставлениеЗначенияРеквизита = Строка(ЗначениеРеквизита.УникальныйИдентификатор()); + РежимПоиска = "Гуид"; + Иначе + МетаданныеСсылки = ЗначениеРеквизита.Метаданные(); + Если Метаданные.Справочники.Содержит(МетаданныеСсылки) Тогда + ОсновноеПредставлениеСсылки = МетаданныеСсылки.ОсновноеПредставление; + Если ЗначениеРеквизита.Предопределенный Тогда + РежимПоиска = "Предопределенный"; + ПредставлениеЗначенияРеквизита = Справочники[МетаданныеСсылки.Имя].ПолучитьИмяПредопределенного(ЗначениеРеквизита); + ИначеЕсли ОсновноеПредставлениеСсылки = Метаданные.СвойстваОбъектов.ОсновноеПредставлениеСправочника.ВВидеНаименования Тогда + РежимПоиска = "Наименование"; + Иначе + РежимПоиска = "Код"; + КонецЕсли; + резДополнительныйТипЗначения = "СправочникСсылка."+МетаданныеСсылки.Имя; + ИначеЕсли Метаданные.Документы.Содержит(МетаданныеСсылки) Тогда + ПредставлениеЗначенияРеквизита = ЗначениеРеквизита.Номер; + РежимПоиска = "Номер"; + резДополнительныйТипЗначения = "ДокументСсылка."+МетаданныеСсылки.Имя; + ИначеЕсли Метаданные.ПланыСчетов.Содержит(МетаданныеСсылки) Тогда + ОсновноеПредставлениеСсылки = МетаданныеСсылки.ОсновноеПредставление; + Если ЗначениеРеквизита.Предопределенный Тогда + РежимПоиска = "Предопределенный"; + ПредставлениеЗначенияРеквизита = ПланыСчетов[МетаданныеСсылки.Имя].ПолучитьИмяПредопределенного(ЗначениеРеквизита); + ИначеЕсли ОсновноеПредставлениеСсылки = Метаданные.СвойстваОбъектов.ОсновноеПредставлениеСчета.ВВидеНаименования Тогда + РежимПоиска = "Наименование"; + Иначе + РежимПоиска = "Код"; + КонецЕсли; + резДополнительныйТипЗначения = "ПланСчетовСсылка."+МетаданныеСсылки.Имя; + Иначе + // пока так. надо добавить остальные типы + РежимПоиска = "Наименование"; + КонецЕсли; + Если ЗначениеРеквизита.Пустая() Тогда + РежимПоиска = ""; + КонецЕсли; + КонецЕсли; // СвязьПоГуид + + КонецЕсли; + + КонецЕсли; + + ИначеЕсли ЛиСсылкаНаПеречисление_ирЛкс(ЗначениеРеквизита) Тогда + ПредставлениеЗначенияРеквизита = ""; + ИмяПеречисления = ЗначениеРеквизита.Метаданные().Имя; + Если ЗначениеЗаполнено(ЗначениеРеквизита) Тогда + ИндексЗначения = Перечисления[ИмяПеречисления].Индекс(ЗначениеРеквизита); + ИмяЗначения = Метаданные.Перечисления[ИмяПеречисления].ЗначенияПеречисления[ИндексЗначения].Имя; + КонецЕсли; + ПредставлениеЗначенияРеквизита = ИмяЗначения; + РежимПоиска = "Предопределенный"; + резДополнительныйТипЗначения = "ПеречислениеСсылка."+ИмяПеречисления; + + ИначеЕсли ТипРеквизита = Тип("УникальныйИдентификатор") Тогда + ПредставлениеЗначенияРеквизита = ""+ЗначениеРеквизита; + РежимПоиска = "Гуид"; + ИначеЕсли ТипРеквизита = Тип("ХранилищеЗначения") Тогда + ПредставлениеЗначенияРеквизита = ""+ЗначениеРеквизита; + + Иначе + УжеВычислилиЗначение = Ложь; + ПредставлениеЗначенияРеквизита = Неопределено; + СтрокаДляВыполнения = "ПредставлениеЗначенияРеквизита = "+ТипРеквизита+"["""+ЗначениеРеквизита+"""];"; + Попытка + Выполнить(СтрокаДляВыполнения); + УжеВычислилиЗначение = Истина; + РежимПоиска = "Предопределенный"; + Исключение + КонецПопытки; + Если Не УжеВычислилиЗначение Тогда + ВызватьИсключение "Генератор макета из реальных данных: Не умею обрабатывать такой тип <"+ТипРеквизита+">"; + КонецЕсли; + КонецЕсли; + резПредставлениеЗначенияРеквизита = ПредставлениеЗначенияРеквизита; + резРежимПоиска = РежимПоиска; +КонецПроцедуры + +Функция НайтиОписательОбъектаПоСсылке(МассивДанных, Ссылка) + Для каждого ОписательОбъекта Из МассивДанных Цикл + СсылкаВрем = Неопределено; + Если ЭтоОписательОбъектаСсылки(ОписательОбъекта, СсылкаВрем) и СсылкаВрем = Ссылка Тогда + Возврат ОписательОбъекта; + КонецЕсли; + КонецЦикла; + Возврат Неопределено; +КонецФункции + +Функция ЭтоОписательОбъектаСсылки(ОписательОбъекта, РезСсылка = Неопределено) + + ЭтоСсылочныйОбъект = ОписательОбъекта.Свойство("Ссылка", РезСсылка) И РезСсылка <> Неопределено; + Возврат ЭтоСсылочныйОбъект; + +КонецФункции + +Функция ИмяПеременнойИзОписателяОбъекта(Мд, ОписательОбъекта) + ИмяПеременной = ""; + Если НЕ ОписательОбъекта.Свойство("ИмяПеременной", ИмяПеременной) или ПустаяСтрока(ИмяПеременной) Тогда + ИмяПеременной = Мд.Имя; + КонецЕсли; + Возврат ИмяПеременной; +КонецФункции + +Функция ШапкаДанныхВМакете() + рез = Новый Структура(); + рез.Вставить("Тип", 1); + рез.Вставить("Вид", 2); + рез.Вставить("ИмяПеременной", 3); + рез.Вставить("ТЧ", 4); + рез.Вставить("Реквизит", 5); + рез.Вставить("Значение", 6); + рез.Вставить("Режим", 7); + рез.Вставить("ДополнительныйТипЗначения", 8); + Возврат рез; +КонецФункции + +// { БЛОК МЕТОДОВ ИЗ ИР (Инструменты Разработчика, автор TormozIt ) +// +// Определяет корневой тип конфигурации по описанию типов, типу, метаданным, ссылке или объекту. +// Для описания типов берется первый тип массива типов. +// +// Параметры: +// пОбъект – Произвольный – для чего получаем метаданные; +// *пЛиТолькоДляКорневого - Булево, *Ложь - возвращать только для объекта корневого типа. +// +// Возвращаемое значение: +// - Строка – имя типа корневого объекта метаданных; +// Неопределено - не удалось получить имя типа. +// +Функция ПолучитьКорневойТипКонфигурации_ирЛкс(пОбъект, пЛиТолькоДляКорневого = Ложь) Экспорт + + Если ТипЗнч(пОбъект) = Тип("ОбъектМетаданных") Тогда + МетаданныеТипа = пОбъект; + Иначе + МетаданныеТипа = ПолучитьМетаданные_ирЛкс(пОбъект); + КонецЕсли; + Результат = Неопределено; + Если МетаданныеТипа <> Неопределено Тогда + ПолноеИмя = МетаданныеТипа.ПолноеИмя(); + Если пЛиТолькоДляКорневого Тогда + МассивФрагментов = ПолучитьМассивИзСтрокиСРазделителем_ирЛкс(ПолноеИмя); + Если МассивФрагментов.Количество() = 2 Тогда + Результат = МассивФрагментов[0]; + КонецЕсли; + Иначе + Результат = ПолучитьПервыйФрагмент_ирЛкс(ПолноеИмя); + КонецЕсли; + КонецЕсли; + Если Результат = "ТабличнаяЧасть" Тогда + // Баг платформы. У внешних метаданных полное имя не включает сам внешний метаобъект + Результат = Неопределено; + КонецЕсли; + Возврат Результат; + +КонецФункции // ЛксПолучитьКорневойТипКонфигурации() + +// Проверяет, является ли значение ссылкой на объект БД. На базе ЛксЛиСсылкаНаОбъектБД +// +// Параметры: +// пЗначение – ОбъектМетаданных, Произвольный – проверяемое значение. +// +// Возвращаемое значение: +// Истина – значение является ссылкой на объект БД; +// Ложь – значение не является ссылкой на объект БД. +// +Функция ЛиСсылкаНаОбъектБД_ирЛкс(пЗначение) Экспорт + + Возврат ЛиКорневойТипОбъектаБД_ирЛкс(ПолучитьКорневойТипКонфигурации_ирЛкс(пЗначение, Истина)); + +КонецФункции // ЛксЛиСсылкаНаОбъектБД + +// Проверяет, является ли значение ссылкой на значение перечисления. +// +// Параметры: +// пЗначение – Произвольный – проверяемое значение. +// +// Возвращаемое значение: +// Истина – значение является ссылкой на объект БД; +// Ложь – значение не является ссылкой на объект БД. +// +Функция ЛиСсылкаНаПеречисление_ирЛкс(пЗначение) Экспорт + + Возврат (ПолучитьКорневойТипКонфигурации_ирЛкс(пЗначение) = "Перечисление"); + +КонецФункции // ЛксЛиСсылкаНаПеречисление() + +// Проверяет, является ли строка именем корневого типа объекта БД. +// +// Параметры: +// пИмяКорневогоТипа - Строка, Неопределено - имя корневого типа. +// +// Возвращаемое значение: +// Истина – тип является корневым типом объекта БД; +// Ложь – иначе. +// +Функция ЛиКорневойТипОбъектаБД_ирЛкс(КорневойТип) Экспорт + + Если Ложь + ИЛИ КорневойТип = "БизнесПроцесс" + ИЛИ КорневойТип = "Задача" + ИЛИ КорневойТип = "Документ" + ИЛИ КорневойТип = "ПланВидовРасчета" + ИЛИ КорневойТип = "ПланВидовХарактеристик" + ИЛИ КорневойТип = "ПланОбмена" + ИЛИ КорневойТип = "ПланСчетов" + ИЛИ КорневойТип = "Справочник" + Тогда + Возврат Истина; + КонецЕсли; + Возврат Ложь; + +КонецФункции // ЛксЛиКорневойТипОбъектаБД() + +// Получает менеджер по описанию типов, типу, метаданным, ссылке или объекту. На базе метода ЛксПолучитьМенеджер +// Для описания типов берется первый тип массива типов. +// +// Параметры: +// пОбъект – Произвольный – для чего получаем менеджер. +// +// Возвращаемое значение: +// – МенеджерОбъекта - для ссылки или ссылочного типа; +// Неопределено - не удалось получить. +// +Функция ПолучитьМенеджерОбъекта_ирЛкс(пОбъект) Экспорт + + Если ТипЗнч(пОбъект) = Тип("ОбъектМетаданных") Тогда + МетаданныеОбъекта = пОбъект; + Иначе + МетаданныеОбъекта = ПолучитьМетаданные_ирЛкс(пОбъект); + КонецЕсли; + Если МетаданныеОбъекта = Неопределено Тогда + Возврат Неопределено; + КонецЕсли; + + МассивФрагментов = ПолучитьМассивИзСтрокиСРазделителем_ирЛкс(МетаданныеОбъекта.ПолноеИмя()); + КорневойТип = МассивФрагментов[0]; + Менеджер = Неопределено; + Если Истина + И МассивФрагментов.Количество() = 4 + И КорневойТип = "ВнешнийИсточникДанных" + Тогда + ИмяТипаМенеджера = МассивФрагментов[0] + "ТаблицаМенеджер." + МассивФрагментов[1] + "." + МассивФрагментов[3]; + Иначе + //КорневойТип = ЛксПолучитьКорневойТипКонфигурации(МетаданныеОбъекта, Истина); // Изменил 02.03.2012 + Если КорневойТип <> Неопределено Тогда + ИмяТипаМенеджера = КорневойТип + "Менеджер." + МетаданныеОбъекта.Имя; + Иначе + ИмяТипаМенеджера = "Неопределено"; + КонецЕсли; + КонецЕсли; + Попытка + Менеджер = Новый (ИмяТипаМенеджера); + Исключение + КонецПопытки; + Возврат Менеджер; + +КонецФункции // ЛксПолучитьМенеджер() + +// Получает метаданные по полному имени, описанию типов, типу, ссылке или объекту. На базе ЛксПолучитьМетаданные +// Для описания типов берется первый тип массива типов. +// +// Параметры: +// пОбъект – Произвольный – для чего получаем метаданные. +// +// Возвращаемое значение: +// – Метаданные - полученные; +// Неопределено - не удалось получить метаданные. +// +Функция ПолучитьМетаданные_ирЛкс(пОбъект) Экспорт + + Если ТипЗнч(пОбъект) = Тип("Строка") Тогда + Если ПустаяСтрока(пОбъект) Тогда + Результат = Неопределено; + Иначе + Фрагменты = ПолучитьМассивИзСтрокиСРазделителем_ирЛкс(пОбъект); + Если Фрагменты.Количество() = 3 Тогда + // ВидыСубконто, Изменения + ПолноеИмяМД = Фрагменты[0] + "." + Фрагменты[1]; + Иначе + ПолноеИмяМД = пОбъект; + КонецЕсли; + Результат = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМД); + КонецЕсли; + Возврат Результат; + КонецЕсли; + ТипОбъекта = ПолучитьТипОбъекта_ирЛкс(пОбъект); + Результат = Метаданные.НайтиПоТипу(ТипОбъекта); + Возврат Результат; + +КонецФункции // ЛксПолучитьМетаданные() + +// Получает тип из описания типов, типа или значения. На базе ЛксПолучитьТипОбъекта +// +// Параметры: +// пОбъект – Тип, ОписаниеТипов, Произвольный – проверяемое значение. +// +// Возвращаемое значение: +// Тип - найденный тип. +// +Функция ПолучитьТипОбъекта_ирЛкс(пОбъект) + + ТипОбъекта = Тип("Неопределено"); + ТипПараметра = ТипЗнч(пОбъект); + Если ТипПараметра = Тип("ОписаниеТипов") Тогда + Если пОбъект.Типы().Количество() > 0 Тогда + ТипОбъекта = пОбъект.Типы()[0]; + КонецЕсли; + ИначеЕсли ТипПараметра <> Тип("Тип") Тогда + ТипОбъекта = ТипПараметра; + Иначе + ТипОбъекта = пОбъект; + КонецЕсли; + + Возврат ТипОбъекта; + +КонецФункции // ЛксПолучитьТипОбъекта() + +// Функция разбивает строку разделителем. На базе ЛксПолучитьМассивИзСтрокиСРазделителем +// +// Параметры: +// пСтрока - Строка - которую разбиваем; +// *пРазделитель - Строка, "." - символ-разделитель; +// *ОбрезатьНепечатныеСимволы - Булево, *Ложь - делать СокрЛП. +// *ОставлятьПустуюСтроку - Булево, *Истина - если передана пустая строка, то добавлять ее в массив. +// +// Возвращаемое значение: +// Массив - фрагментов. +// +Функция ПолучитьМассивИзСтрокиСРазделителем_ирЛкс(Знач Стр, Разделитель = ".", ОбрезатьНепечатныеСимволы = Ложь, ОставлятьПустуюСтроку = Истина) Экспорт + + МассивСтрок = Новый Массив; + Если Истина + И Не ОставлятьПустуюСтроку + И ПустаяСтрока(Стр) + Тогда + Возврат МассивСтрок; + КонецЕсли; + + //лСтрока = СтрЗаменить(Стр, Разделитель, Символы.ПС); + //// Баг платформы. СтрЧислоСтрок не учитывает терминальный перевод строки. + //ЧислоСтрок = СтрЧислоСтрок(лСтрока + " "); + //Для Счетчик = 1 По ЧислоСтрок Цикл + // Фрагмент = СтрПолучитьСтроку(лСтрока, Счетчик); + // Если ОбрезатьНепечатныеСимволы Тогда + // Фрагмент = СокрЛП(Фрагмент); + // КонецЕсли; + // МассивСтрок.Добавить(Фрагмент); + //КонецЦикла; + + Если Разделитель = " " Тогда + Стр = СокрЛП(Стр); + Пока 1=1 Цикл + Поз = Найти(Стр,Разделитель); + Если Поз=0 Тогда + МассивСтрок.Добавить(Стр); + Возврат МассивСтрок; + КонецЕсли; + МассивСтрок.Добавить(Лев(Стр,Поз-1)); + Стр = СокрЛ(Сред(Стр,Поз)); + КонецЦикла; + Иначе + ДлинаРазделителя = СтрДлина(Разделитель); + Пока 1=1 Цикл + Поз = Найти(Стр,Разделитель); + Если Поз=0 Тогда + Фрагмент = Стр; + Если ОбрезатьНепечатныеСимволы Тогда + Фрагмент = СокрЛП(Фрагмент); + КонецЕсли; + МассивСтрок.Добавить(Фрагмент); + Возврат МассивСтрок; + КонецЕсли; + Фрагмент = Лев(Стр,Поз-1); + Если ОбрезатьНепечатныеСимволы Тогда + Фрагмент = СокрЛП(Фрагмент); + КонецЕсли; + МассивСтрок.Добавить(Фрагмент); + Стр = Сред(Стр,Поз+ДлинаРазделителя); + КонецЦикла; + КонецЕсли; + + Возврат МассивСтрок; + +КонецФункции // ЛксПолучитьМассивИзСтрокиСРазделителем() + +// Получает первый фрагмент, отделяемый разделителем от строки. На базе ЛксПолучитьПервыйФрагмент +// Написана для оптимизации по скорости. +// +// Параметры: +// пСтрока - Строка - которую разбиваем; +// *пРазделитель - Строка, "." - символ-разделитель; +// *пЛиИспользоватьГраницуЕслиМаркерНеНайден - Булево, *Истина. +// +// Возвращаемое значение: +// - Строка - первый фрагмент строки; +// Неопределено - в строке не обнаружен разделитель. +// +Функция ПолучитьПервыйФрагмент_ирЛкс(пСтрока, пРазделитель = ".", + пЛиИспользоватьГраницуЕслиМаркерНеНайден = Истина) Экспорт + + Позиция = Найти(пСтрока, пРазделитель); + Если Позиция > 0 Тогда + Возврат Лев(пСтрока, Позиция - 1); + Иначе + Если пЛиИспользоватьГраницуЕслиМаркерНеНайден Тогда + Возврат пСтрока; + Иначе + Возврат пСтрока; + КонецЕсли; + КонецЕсли; + +КонецФункции // ЛксПолучитьПервыйФрагмент() + +// Получает идентификатор из любой строки. +// "3-я Дебиторка По контрагентам с интервалами СНГ (для Руководства)" => "_3_яДебиторкаПоКонтрагентамСИнтерваламиСНГ_дляРуководства_". +// +// Параметры: +// Представление – Строка. +// +// Возвращаемое значение: +// Строка. +// +Функция ПолучитьИдентификаторИзПредставления_Лкс(Знач Представление, ЗаменаПустойСтроки = "_") Экспорт + + Если ПустаяСтрока(Представление) Тогда + Представление = ЗаменаПустойСтроки; + КонецЕсли; + Если СокрЛП(Представление) = Представление и Найти(Представление, ",") = 0 Тогда + Попытка + Пустышка = Новый Структура(Представление); + Возврат Представление; + Исключение КонецПопытки; + КонецЕсли; + НовоеПредставление = СокрЛП(Представление); + ПервыйСимвол = Сред(НовоеПредставление, 1, 1); + Если ЭтоЦифра(ПервыйСимвол) Тогда + НовоеПредставление = "_" + НовоеПредставление; + КонецЕсли; + ПредыдущийСимвол = " "; + ТекущаяСтрока = ""; + Для Счетчик = 1 По СтрДлина(НовоеПредставление) Цикл + ТекущийСимвол = Сред(НовоеПредставление, Счетчик, 1); + Если ЭтоПробельныйСимвол(ПредыдущийСимвол) Тогда + // Предыдущий символ - непечатаемый + ТекущийСимвол = ВРег(ТекущийСимвол); + КонецЕсли; + Если ЭтоВалидныйСимволИдентификатора(ТекущийСимвол) Тогда + ТекущаяСтрока = ТекущаяСтрока + ТекущийСимвол; + ИначеЕсли Не ЭтоПробельныйСимвол(ТекущийСимвол) Тогда + ТекущаяСтрока = ТекущаяСтрока + "_"; + КонецЕсли; + ПредыдущийСимвол = ТекущийСимвол; + + КонецЦикла; + Результат = ТекущаяСтрока; + Возврат ТекущаяСтрока; + +КонецФункции // ПолучитьИдентификаторИзПредставления() + +Функция ЭтоЦифра(Символ) + + Возврат (Найти("0123456789", Символ) > 0); + +КонецФункции + +Функция ЭтоПробельныйСимвол(Символ) + + ПробельныеСимволы = " " + Символы.Таб + Символы.НПП + Символы.ВК + Символы.ВТаб + Символы.ПС + Символы.ПФ; + Возврат (Найти(ПробельныеСимволы, Символ) > 0) + +КонецФункции + +Функция ЭтоВалидныйСимволИдентификатора(Символ) + + Алфавит = "_АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯABCDEFGHIJKLMNOPQRSTUVWXYZ"; + Возврат (Найти(Алфавит, ВРег(Символ)) > 0 Или ЭтоЦифра(Символ)); + +КонецФункции + +// } Конец блока методов из ИР (Инструменты Разработчика, автор TormozIt ) + +//} КОНЕЦ ОСНОВНОГО БЛОКА + +Процедура ПриИзмененииСсылки(ИдентификаторСтрокиДанных) Экспорт + Перем Ссылка; + ЭлементДанных = ИдентификаторСтрокиДанных; + НовыйМассивИмен = ТаблицаДанных.ВыгрузитьКолонку("ИмяПеременной"); + + Ссылка = ЭлементДанных.Ссылка; + Если ЗначениеЗаполнено(Ссылка) Тогда + ОписательЭлемента = СоздатьОписательЭлементаПоСсылке(Ссылка, НовыйМассивИмен); + ЗаполнитьЗначенияСвойств(ЭлементДанных, ОписательЭлемента); + // ЭлементДанных.ИмяПеременной = УникальноеИмяПеременнойПоСсылке(Ссылка, НовыйМассивИмен); + // + // Мета = Ссылка.Метаданные(); + // ЭлементДанных.Метаданное = Мета.ПолноеИмя(); + // ЭлементДанных.РежимПоиска = "Перем"; + // Если Метаданные.Справочники.Содержит(Мета) И Ссылка.ЭтоГруппа Тогда + // ЭлементДанных.РежимСоздания = "Группа"; + // Иначе + // ЭлементДанных.РежимСоздания = ""; + // КонецЕсли; + КонецЕсли; +КонецПроцедуры + +Функция СоздатьМакетДанныхПоТаблицеДанных(Макет) Экспорт + Макет.Очистить(); + + массивДанных = Новый Массив; + + Для каждого строка Из ТаблицаДанных Цикл + ОписательЭлемента = СоздатьОписательЭлемента(); + ЗаполнитьЗначенияСвойств(ОписательЭлемента, строка); + массивДанных.Добавить(ОписательЭлемента); + КонецЦикла; + НовыйМакет = СоздатьМакетДляГенерацииДанных(массивДанных); + Если ТипЗнч(НовыйМакет) = Тип("ТабличныйДокумент") Тогда + Макет.Вывести(НовыйМакет); + КонецЕсли; + + Возврат НовыйМакет; +КонецФункции + +Функция СоздатьМакетДанныхПоМетаданным(Макет) Экспорт + Макет.Очистить(); + + массивДанных = Новый Массив; + МассивИмен = ТаблицаДанных.ВыгрузитьКолонку("ИмяПеременной"); + + СоздатьПоМетаданным(массивДанных); + + НовыйМакет = СоздатьМакетДляГенерацииДанных(массивДанных); + Если ТипЗнч(НовыйМакет) = Тип("ТабличныйДокумент") Тогда + Макет.Вывести(НовыйМакет); + КонецЕсли; + + МассивИмен = Неопределено; + + Возврат НовыйМакет; +КонецФункции + +Функция СоздатьМакетДанныхПоПользователямИБ(Макет, МассивИменПользователей) Экспорт + Макет.Очистить(); + + МассивПользователей = Новый Массив; + МассивИмен = Новый Массив; + + Для Каждого ИмяПользователяИБ Из МассивИменПользователей Цикл + ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени(ИмяПользователяИБ); + Если Неопределено = ПользовательИБ Тогда + ВызватьИсключение "Не найден пользователь ИБ по имени <"+ИмяПользователяИБ+">"; + КонецЕсли; + МассивИмен.Добавить(ИмяПользователяИБ); + + ОписательПользователяИБ = СоздатьОписательЭлементаПользовательИБ(ПользовательИБ, МассивИмен); + МассивПользователей.Добавить(ОписательПользователяИБ); + КонецЦикла; + + НовыйМакет = СоздатьМакетДляГенерацииДанных(МассивПользователей); + Если ТипЗнч(НовыйМакет) = Тип("ТабличныйДокумент") Тогда + Макет.Вывести(НовыйМакет); + КонецЕсли; + + МассивИмен = Неопределено; + + Возврат НовыйМакет; +КонецФункции + +Процедура ПроверитьЗагрузкуМакета(ТабличныйДокумент) Экспорт + НачатьТранзакцию(); + + ТестовыеДанные = СоздатьДанныеПоТабличномуДокументу(ТабличныйДокумент); + Если ТестовыеДанные.Количество() = 0 Тогда + ВызватьИсключение "не заполнены тестовые данные. Возможно, макет данных пуст!" ; + КонецЕсли; + + Сообщить("Проверка загрузки объектов в ИБ из макета данных выполнена успешно."); + Сообщить("В ИБ загружены объекты: "+ТестовыеДанные.Количество()+" шт."); + Для каждого ЗагруженныйОбъект Из ТестовыеДанные Цикл + РеальныйОбъект = ЗагруженныйОбъект.Значение; + ДопТекст = ""; + Если ВыгружатьСсылку Тогда + Попытка + ДопТекст = ", ГУИД "+РеальныйОбъект.УникальныйИдентификатор()+""; + Исключение + КонецПопытки; + КонецЕсли; + Попытка + ДопТекст = ", записей "+РеальныйОбъект.Количество()+" шт."; // для регистров + Исключение + КонецПопытки; + Сообщить(" Загружен объект.Имя "+ЗагруженныйОбъект.Ключ+", Тип "+ТипЗнч(РеальныйОбъект)+ДопТекст); + КонецЦикла; + + Если ТранзакцияАктивна() Тогда + ОтменитьТранзакцию(); + КонецЕсли; +КонецПроцедуры + +Функция ПодключитьВнешнююОбработку(АдресХранилища, ИдентификаторОбработки, ПолныйПутьФайлаОбработки) Экспорт + #Если Клиент Тогда + Возврат ПолныйПутьФайлаОбработки; + #Иначе + Возврат ВнешниеОбработки.Подключить(АдресХранилища, ИдентификаторОбработки, Ложь); // подключаю не в безопасном режиме + #КонецЕсли +КонецФункции + +Функция СписокВыбора_РежимПоиска(СписокВыбора_РежимПоиска) Экспорт + СписокВыбора_РежимПоиска.Добавить("Перем"); + СписокВыбора_РежимПоиска.Добавить("Наименование"); + СписокВыбора_РежимПоиска.Добавить("Код"); + //СписокВыбора_РежимПоиска.Добавить("Группа"); + //СписокВыбора_РежимПоиска.Добавить("Объект"); + СписокВыбора_РежимПоиска.Добавить("Гуид"); + СписокВыбора_РежимПоиска.Добавить("Предопределенный"); + СписокВыбора_РежимПоиска.Добавить("ТекущаяДата"); + //СписокВыбора_РежимПоиска.Добавить("Проведение"); + СписокВыбора_РежимПоиска.Добавить("СоздатьПоГуид"); + Возврат СписокВыбора_РежимПоиска; +КонецФункции + +Функция СписокВыбора_РежимСоздания(СписокВыбора_РежимСоздания) Экспорт + //СписокВыбора_РежимПоиска.Добавить("Перем"); + //СписокВыбора_РежимПоиска.Добавить("Наименование"); + //СписокВыбора_РежимПоиска.Добавить("Код"); + СписокВыбора_РежимСоздания.Добавить("Группа"); + СписокВыбора_РежимСоздания.Добавить("Объект"); + //СписокВыбора_РежимПоиска.Добавить("Гуид"); + //СписокВыбора_РежимПоиска.Добавить("Предопределенный"); + //СписокВыбора_РежимПоиска.Добавить("ТекущаяДата"); + СписокВыбора_РежимСоздания.Добавить("Проведение"); + //СписокВыбора_РежимСоздания.Добавить("СоздатьПоГуид"); + Возврат СписокВыбора_РежимСоздания; +КонецФункции + +/////////////////////////////////////////////////////////////////////////////// +// Генерация по метаданным +/////////////////////////////////////////////////////////////////////////////// + +// Процедура производит начальную инициализацию - заполнение дерева описания +// классов объектов метаданных, дерево метаданных, список ссылочных типов +// +// Параметры +// +Процедура НачальнаяИнициализация() Экспорт + + ЗаполнитьПользователейИБ(); + + // Создаем объект, описывающий процессы построения дерева и выгрузку + ЗаполнитьОписаниеМетаданных(); + + МетаданныеОписание = МетаданныеОписание.Строки[0]; + + СсылочныеТипы = Новый Соответствие; + СоответствиеОбъектовМетаданныхИСсылочныхТипов = Новый Соответствие; + + ДеревоМетаданных.Колонки.Очистить(); + // создание необходимых колонок + ДеревоМетаданных.Колонки.Добавить("Выгружать", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(1, 0, ДопустимыйЗнак.Неотрицательный))); + ДеревоМетаданных.Колонки.Добавить("ВыгружатьПриНеобходимости", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(1, 0, ДопустимыйЗнак.Неотрицательный)), "При необходимости"); + ДеревоМетаданных.Колонки.Добавить("Метаданные"); + ДеревоМетаданных.Колонки.Добавить("ЭлементОписания"); + ДеревоМетаданных.Колонки.Добавить("ОбъектМД"); + ДеревоМетаданных.Колонки.Добавить("ПолноеИмяМетаданных"); + ДеревоМетаданных.Колонки.Добавить("НастройкиКомпоновщика"); + ДеревоМетаданных.Колонки.Добавить("ИспользоватьОтбор"); + ДеревоМетаданных.Колонки.Добавить("ИндексКартинки"); + ДеревоМетаданных.Колонки.Добавить("Развернут"); + ДеревоМетаданных.Колонки.Добавить("ПолноеИмяМетаданныхДляПоиска"); + + //ОкноИсполнения = ПолучитьФорму("ОкноИсполнения"); + #Если Клиент Тогда + Состояние("Выполняется анализ метаданных конфигурации..."); + #КонецЕсли + + //ИспользующиеИтоги = Новый Массив; + Корень = ДеревоМетаданных.Строки.Добавить(); + ПостроениеПоддереваОбъекта(Метаданные, Корень, МетаданныеОписание); + СверткаПоддереваОбъекта(Корень); + + Для Каждого Эл Из СсылочныеТипы Цикл + СоответствиеОбъектовМетаданныхИСсылочныхТипов.Вставить(Эл.Значение, Эл.Ключ); + КонецЦикла; + +КонецПроцедуры + +Процедура ЗаполнитьПользователейИБ() + НаборПользователиИБ = ПользователиИнформационнойБазы.ПолучитьПользователей(); + + Для Каждого ПользовательИБ Из НаборПользователиИБ Цикл + + НоваяСтрока = ПользователиИБ.Добавить(); + НоваяСтрока.ПолноеИмя = ПользовательИБ.ПолноеИмя; + НоваяСтрока.Имя = ПользовательИБ.Имя; + НоваяСтрока.АутентификацияСтандартная = ПользовательИБ.АутентификацияСтандартная; + НоваяСтрока.АутентификацияОС = ПользовательИБ.АутентификацияОС; + //НоваяСтрока.ИдентификаторПользователяИБ = ПользовательИБ.УникальныйИдентификатор; + НоваяСтрока.ПользовательОС = ПользовательИБ.ПользовательОС; + //НоваяСтрока.АутентификацияOpenID = ПользовательИБ.АутентификацияOpenID; + + СтрокаРолей = ""; + Для Каждого Роль Из ПользовательИБ.Роли Цикл + СтрокаРолей = СтрокаРолей + Роль.Имя+", "; + КонецЦикла; + Если Не ПустаяСтрока(СтрокаРолей) Тогда + СтрокаРолей = Лев(СтрокаРолей, СтрДлина(СтрокаРолей)-2); + КонецЕсли; + НоваяСтрока.Роли = СтрокаРолей; + КонецЦикла; + +КонецПроцедуры + +// Процедура производит заполнение дерева описания классов объектов метаданных +// +// Параметры +// +Процедура ЗаполнитьОписаниеМетаданных() + + СтэкДереваЗначенийСтроки = Новый Массив; + МетаданныеОписание = Новый ДеревоЗначений; + МетаданныеОписание.Колонки.Добавить("Выгружаемый", Новый ОписаниеТипов("Булево")); + МетаданныеОписание.Колонки.Добавить("ДляЗапроса", Новый ОписаниеТипов("Строка")); + МетаданныеОписание.Колонки.Добавить("Класс", Новый ОписаниеТипов("Строка",,Новый КвалификаторыСтроки(100, ДопустимаяДлина.Переменная))); + МетаданныеОписание.Колонки.Добавить("Менеджер"); + МетаданныеОписание.Колонки.Добавить("Свойства", Новый ОписаниеТипов("СписокЗначений")); + МетаданныеОписание.Колонки.Добавить("ИндексКартинки"); + СтэкДереваЗначенийСтроки.Вставить(0, МетаданныеОписание.Строки); + ////////////////////////////////// + // Конфигурации + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "Конфигурации"; + ОписаниеКласса.Выгружаемый = ложь; + ОписаниеКласса.ДляЗапроса = ""; + ОписаниеКласса.ИндексКартинки = 0; + СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); + ////////////////////////////////// + // Конфигурации.Константы + //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + //ОписаниеКласса.Класс = "Константы"; + //ОписаниеКласса.Выгружаемый = истина; + //ОписаниеКласса.Менеджер = Константы; + //ОписаниеКласса.ДляЗапроса = ""; + //ОписаниеКласса.ИндексКартинки = 1; + //ОписаниеКласса.Свойства.Добавить("Тип"); + ////////////////////////////////// + // Конфигурации.Справочники + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "Справочники"; + ОписаниеКласса.Выгружаемый = истина; + ОписаниеКласса.Менеджер = Справочники; + ОписаниеКласса.ДляЗапроса = "Справочник."; + ОписаниеКласса.Свойства.Добавить("Владельцы"); + ОписаниеКласса.Свойства.Добавить("ВводитсяНаОсновании"); + ОписаниеКласса.ИндексКартинки = 3; + СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); + ////////////////////////////////// + // Конфигурации.Справочники.Реквизиты + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "Реквизиты"; + ОписаниеКласса.Выгружаемый = ложь; + ОписаниеКласса.ДляЗапроса = ""; + ОписаниеКласса.Свойства.Добавить("Тип"); + ОписаниеКласса.Свойства.Добавить("Использование"); + ////////////////////////////////// + // Конфигурации.Справочники.ТабличныеЧасти + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "ТабличныеЧасти"; + ОписаниеКласса.Выгружаемый = ложь; + ОписаниеКласса.ДляЗапроса = ""; + ОписаниеКласса.Свойства.Добавить("Использование"); + СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); + ////////////////////////////////// + // Конфигурации.Справочники.ТабличныеЧасти.Реквизиты + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "Реквизиты"; + ОписаниеКласса.Выгружаемый = ложь; + ОписаниеКласса.ДляЗапроса = ""; + ОписаниеКласса.Свойства.Добавить("Тип"); + СтэкДереваЗначенийСтроки.Удалить(0); + СтэкДереваЗначенийСтроки.Удалить(0); + ////////////////////////////////// + // Конфигурации.Документы + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "Документы"; + ОписаниеКласса.Выгружаемый = истина; + ОписаниеКласса.Менеджер = Документы; + ОписаниеКласса.ДляЗапроса = "Документ."; + ОписаниеКласса.Свойства.Добавить("ВводитсяНаОсновании"); + ОписаниеКласса.Свойства.Добавить("Движения"); + ОписаниеКласса.ИндексКартинки = 7; + СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); + ////////////////////////////////// + // Конфигурации.Документы.Реквизиты + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "Реквизиты"; + ОписаниеКласса.Выгружаемый = ложь; + ОписаниеКласса.ДляЗапроса = ""; + ОписаниеКласса.Свойства.Добавить("Тип"); + ////////////////////////////////// + // Конфигурации.Документы.ТабличныеЧасти + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "ТабличныеЧасти"; + ОписаниеКласса.Выгружаемый = ложь; + ОписаниеКласса.ДляЗапроса = ""; + СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); + ////////////////////////////////// + // Конфигурации.Документы.ТабличныеЧасти.Реквизиты + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "Реквизиты"; + ОписаниеКласса.Выгружаемый = ложь; + ОписаниеКласса.ДляЗапроса = ""; + ОписаниеКласса.Свойства.Добавить("Тип"); + СтэкДереваЗначенийСтроки.Удалить(0); + СтэкДереваЗначенийСтроки.Удалить(0); + + ////////////////////////////////// + // Конфигурации.Последовательности + //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + //ОписаниеКласса.Класс = "Последовательности"; + //ОписаниеКласса.Выгружаемый = истина; + //ОписаниеКласса.Менеджер = Последовательности; + //ОписаниеКласса.ДляЗапроса = "Последовательность."; + //ОписаниеКласса.Свойства.Добавить("Документы"); + //ОписаниеКласса.Свойства.Добавить("Движения"); + //ОписаниеКласса.ИндексКартинки = 5; + //СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); + //////////////////////////////////// + //// Конфигурации.Последовательности.Измерения + //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + //ОписаниеКласса.Класс = "Измерения"; + //ОписаниеКласса.Выгружаемый = ложь; + //ОписаниеКласса.ДляЗапроса = ""; + //ОписаниеКласса.Свойства.Добавить("Тип"); + //ОписаниеКласса.Свойства.Добавить("СоответствиеДокументам"); + //ОписаниеКласса.Свойства.Добавить("СоответствиеДвижениям"); + //СтэкДереваЗначенийСтроки.Удалить(0); + //////////////////////////////////// + //// Конфигурации.ПланыВидовХарактеристик + //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + //ОписаниеКласса.Класс = "ПланыВидовХарактеристик"; + //ОписаниеКласса.Выгружаемый = истина; + //ОписаниеКласса.Менеджер = ПланыВидовХарактеристик; + //ОписаниеКласса.ДляЗапроса = "ПланВидовХарактеристик."; + //ОписаниеКласса.Свойства.Добавить("ДополнительныеЗначенияХарактеристик"); + //ОписаниеКласса.Свойства.Добавить("Тип"); + //ОписаниеКласса.Свойства.Добавить("ВводитсяНаОсновании"); + //ОписаниеКласса.ИндексКартинки = 9; + //СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); + //////////////////////////////////// + //// Конфигурации.ПланыВидовХарактеристик.Реквизиты + //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + //ОписаниеКласса.Класс = "Реквизиты"; + //ОписаниеКласса.Выгружаемый = ложь; + //ОписаниеКласса.ДляЗапроса = ""; + //ОписаниеКласса.Свойства.Добавить("Тип"); + //ОписаниеКласса.Свойства.Добавить("Использование"); + //////////////////////////////////// + //// Конфигурации.ПланыВидовХарактеристик.ТабличныеЧасти + //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + //ОписаниеКласса.Класс = "ТабличныеЧасти"; + //ОписаниеКласса.Выгружаемый = ложь; + //ОписаниеКласса.ДляЗапроса = ""; + //ОписаниеКласса.Свойства.Добавить("Использование"); + //СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); + //////////////////////////////////// + //// Конфигурации.ПланыВидовХарактеристик.ТабличныеЧасти.Реквизиты + //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + //ОписаниеКласса.Класс = "Реквизиты"; + //ОписаниеКласса.Выгружаемый = ложь; + //ОписаниеКласса.ДляЗапроса = ""; + //ОписаниеКласса.Свойства.Добавить("Тип"); + //СтэкДереваЗначенийСтроки.Удалить(0); + //СтэкДереваЗначенийСтроки.Удалить(0); + //////////////////////////////////// + //// Конфигурации.ПланыСчетов + //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + //ОписаниеКласса.Класс = "ПланыСчетов"; + //ОписаниеКласса.Выгружаемый = истина; + //ОписаниеКласса.Менеджер = ПланыСчетов; + //ОписаниеКласса.ДляЗапроса = "ПланСчетов."; + //ОписаниеКласса.Свойства.Добавить("ВводитсяНаОсновании"); + //ОписаниеКласса.Свойства.Добавить("ВидыСубконто"); + //ОписаниеКласса.ИндексКартинки = 11; + //СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); + //////////////////////////////////// + //// Конфигурации.ПланыСчетов.Реквизиты + //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + //ОписаниеКласса.Класс = "Реквизиты"; + //ОписаниеКласса.Выгружаемый = ложь; + //ОписаниеКласса.ДляЗапроса = ""; + //ОписаниеКласса.Свойства.Добавить("Тип"); + //////////////////////////////////// + //// Конфигурации.ПланыСчетов.ТабличныеЧасти + //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + //ОписаниеКласса.Класс = "ТабличныеЧасти"; + //ОписаниеКласса.Выгружаемый = ложь; + //ОписаниеКласса.ДляЗапроса = ""; + //СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); + //////////////////////////////////// + //// Конфигурации.ПланыСчетов.ТабличныеЧасти.Реквизиты + //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + //ОписаниеКласса.Класс = "Реквизиты"; + //ОписаниеКласса.Выгружаемый = ложь; + //ОписаниеКласса.ДляЗапроса = ""; + //ОписаниеКласса.Свойства.Добавить("Тип"); + //СтэкДереваЗначенийСтроки.Удалить(0); + //СтэкДереваЗначенийСтроки.Удалить(0); + //////////////////////////////////// + //// Конфигурации.ПланыВидовРасчета + //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + //ОписаниеКласса.Класс = "ПланыВидовРасчета"; + //ОписаниеКласса.Выгружаемый = истина; + //ОписаниеКласса.Менеджер = ПланыВидовРасчета; + //ОписаниеКласса.ДляЗапроса = "ПланВидовРасчета."; + //ОписаниеКласса.Свойства.Добавить("ВводитсяНаОсновании"); + //ОписаниеКласса.Свойства.Добавить("ЗависимостьОтВидовРасчета"); + //ОписаниеКласса.Свойства.Добавить("БазовыеВидыРасчета"); + //ОписаниеКласса.Свойства.Добавить("ИспользованиеПериодаДействия"); + //ОписаниеКласса.ИндексКартинки = 13; + //СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); + //////////////////////////////////// + //// Конфигурации.ПланыВидовРасчета.Реквизиты + //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + //ОписаниеКласса.Класс = "Реквизиты"; + //ОписаниеКласса.Выгружаемый = ложь; + //ОписаниеКласса.ДляЗапроса = ""; + //ОписаниеКласса.Свойства.Добавить("Тип"); + //////////////////////////////////// + //// Конфигурации.ПланыВидовРасчета.ТабличныеЧасти + //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + //ОписаниеКласса.Класс = "ТабличныеЧасти"; + //ОписаниеКласса.Выгружаемый = ложь; + //ОписаниеКласса.ДляЗапроса = ""; + //СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); + //////////////////////////////////// + //// Конфигурации.ПланыВидовРасчета.ТабличныеЧасти.Реквизиты + //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + //ОписаниеКласса.Класс = "Реквизиты"; + //ОписаниеКласса.Выгружаемый = ложь; + //ОписаниеКласса.ДляЗапроса = ""; + //ОписаниеКласса.Свойства.Добавить("Тип"); + //СтэкДереваЗначенийСтроки.Удалить(0); + //СтэкДереваЗначенийСтроки.Удалить(0); + ////////////////////////////////// + // Конфигурации.РегистрыСведений + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "РегистрыСведений"; + ОписаниеКласса.Выгружаемый = истина; + ОписаниеКласса.Менеджер = РегистрыСведений; + ОписаниеКласса.ДляЗапроса = "РегистрСведений."; + ОписаниеКласса.ИндексКартинки = 15; + СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); + ////////////////////////////////// + // Конфигурации.РегистрыСведений.Ресурсы + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "Ресурсы"; + ОписаниеКласса.Выгружаемый = ложь; + ОписаниеКласса.ДляЗапроса = ""; + ОписаниеКласса.Свойства.Добавить("Тип"); + ////////////////////////////////// + // Конфигурации.РегистрыСведений.Реквизиты + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "Реквизиты"; + ОписаниеКласса.Выгружаемый = ложь; + ОписаниеКласса.ДляЗапроса = ""; + ОписаниеКласса.Свойства.Добавить("Тип"); + ////////////////////////////////// + // Конфигурации.РегистрыСведений.Измерения + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "Измерения"; + ОписаниеКласса.Выгружаемый = ложь; + ОписаниеКласса.ДляЗапроса = ""; + ОписаниеКласса.Свойства.Добавить("Тип"); + СтэкДереваЗначенийСтроки.Удалить(0); + ////////////////////////////////// + // Конфигурации.РегистрыНакопления + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "РегистрыНакопления"; + ОписаниеКласса.Выгружаемый = истина; + ОписаниеКласса.Менеджер = РегистрыНакопления; + ОписаниеКласса.ДляЗапроса = "РегистрНакопления."; + ОписаниеКласса.ИндексКартинки = 17; + СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); + ////////////////////////////////// + // Конфигурации.РегистрыНакопления.Ресурсы + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "Ресурсы"; + ОписаниеКласса.Выгружаемый = ложь; + ОписаниеКласса.ДляЗапроса = ""; + ОписаниеКласса.Свойства.Добавить("Тип"); + ////////////////////////////////// + // Конфигурации.РегистрыНакопления.Реквизиты + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "Реквизиты"; + ОписаниеКласса.Выгружаемый = ложь; + ОписаниеКласса.ДляЗапроса = ""; + ОписаниеКласса.Свойства.Добавить("Тип"); + ////////////////////////////////// + // Конфигурации.РегистрыНакопления.Измерения + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "Измерения"; + ОписаниеКласса.Выгружаемый = ложь; + ОписаниеКласса.ДляЗапроса = ""; + ОписаниеКласса.Свойства.Добавить("Тип"); + СтэкДереваЗначенийСтроки.Удалить(0); + ////////////////////////////////// + // Конфигурации.РегистрыБухгалтерии + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "РегистрыБухгалтерии"; + ОписаниеКласса.Выгружаемый = истина; + ОписаниеКласса.Менеджер = РегистрыБухгалтерии; + ОписаниеКласса.ДляЗапроса = "РегистрБухгалтерии."; + ОписаниеКласса.Свойства.Добавить("ПланСчетов"); + ОписаниеКласса.Свойства.Добавить("Корреспонденция"); + ОписаниеКласса.ИндексКартинки = 19; + СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); + ////////////////////////////////// + // Конфигурации.РегистрыБухгалтерии.Измерения + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "Измерения"; + ОписаниеКласса.Выгружаемый = ложь; + ОписаниеКласса.ДляЗапроса = ""; + ОписаниеКласса.Свойства.Добавить("Тип"); + ////////////////////////////////// + // Конфигурации.РегистрыБухгалтерии.Ресурсы + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "Ресурсы"; + ОписаниеКласса.Выгружаемый = ложь; + ОписаниеКласса.ДляЗапроса = ""; + ОписаниеКласса.Свойства.Добавить("Тип"); + ////////////////////////////////// + // Конфигурации.РегистрыБухгалтерии.Реквизиты + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "Реквизиты"; + ОписаниеКласса.Выгружаемый = ложь; + ОписаниеКласса.ДляЗапроса = ""; + ОписаниеКласса.Свойства.Добавить("Тип"); + СтэкДереваЗначенийСтроки.Удалить(0); + //////////////////////////////////// + //// Конфигурации.РегистрыРасчета + //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + //ОписаниеКласса.Класс = "РегистрыРасчета"; + //ОписаниеКласса.Выгружаемый = истина; + //ОписаниеКласса.Менеджер = РегистрыРасчета; + //ОписаниеКласса.ДляЗапроса = "РегистрРасчета."; + //ОписаниеКласса.Свойства.Добавить("Периодичность"); + //ОписаниеКласса.Свойства.Добавить("ПериодДействия"); + //ОписаниеКласса.Свойства.Добавить("БазовыйПериод"); + //ОписаниеКласса.Свойства.Добавить("График"); + //ОписаниеКласса.Свойства.Добавить("ЗначениеГрафика"); + //ОписаниеКласса.Свойства.Добавить("ДатаГрафика"); + //ОписаниеКласса.Свойства.Добавить("ПланВидовРасчета"); + //ОписаниеКласса.ИндексКартинки = 21; + //СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); + //////////////////////////////////// + //// Конфигурации.РегистрыРасчета.Ресурсы + //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + //ОписаниеКласса.Класс = "Ресурсы"; + //ОписаниеКласса.Выгружаемый = ложь; + //ОписаниеКласса.ДляЗапроса = ""; + //ОписаниеКласса.Свойства.Добавить("Тип"); + //////////////////////////////////// + //// Конфигурации.РегистрыРасчета.Реквизиты + //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + //ОписаниеКласса.Класс = "Реквизиты"; + //ОписаниеКласса.Выгружаемый = ложь; + //ОписаниеКласса.ДляЗапроса = ""; + //ОписаниеКласса.Свойства.Добавить("Тип"); + //ОписаниеКласса.Свойства.Добавить("СвязьСГрафиком"); + //////////////////////////////////// + //// Конфигурации.РегистрыРасчета.Измерения + //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + //ОписаниеКласса.Класс = "Измерения"; + //ОписаниеКласса.Выгружаемый = ложь; + //ОписаниеКласса.ДляЗапроса = ""; + //ОписаниеКласса.Свойства.Добавить("Тип"); + //ОписаниеКласса.Свойства.Добавить("БазовоеИзмерение"); + //ОписаниеКласса.Свойства.Добавить("СвязьСГрафиком"); + ////////////////////////////////// + // Конфигурации.РегистрыРасчета.Перерасчеты + //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + //ОписаниеКласса.Класс = "Перерасчеты"; + //ОписаниеКласса.Выгружаемый = истина; + //ОписаниеКласса.Менеджер = "РегистрыРасчета.%i.Перерасчеты"; + //ОписаниеКласса.ДляЗапроса = "РегистрРасчета.%i."; + //СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); + ////////////////////////////////// + // Конфигурации.РегистрыРасчета.Перерасчеты.Измерения + //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + //ОписаниеКласса.Класс = "Измерения"; + //ОписаниеКласса.Выгружаемый = ложь; + //ОписаниеКласса.Свойства.Добавить("ДанныеВедущихРегистров"); + //ОписаниеКласса.Свойства.Добавить("ИзмерениеРегистра"); + //СтэкДереваЗначенийСтроки.Удалить(0); + //СтэкДереваЗначенийСтроки.Удалить(0); + ////////////////////////////////// + // Конфигурации.БизнесПроцессы + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "БизнесПроцессы"; + ОписаниеКласса.Выгружаемый = истина; + ОписаниеКласса.Менеджер = БизнесПроцессы; + ОписаниеКласса.ДляЗапроса = "БизнесПроцесс."; + ОписаниеКласса.Свойства.Добавить("ВводитсяНаОсновании"); + ОписаниеКласса.Свойства.Добавить("Задача"); + ОписаниеКласса.ИндексКартинки = 23; + СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); + ////////////////////////////////// + // Конфигурации.БизнесПроцессы.Реквизиты + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "Реквизиты"; + ОписаниеКласса.Выгружаемый = ложь; + ОписаниеКласса.ДляЗапроса = ""; + ОписаниеКласса.Свойства.Добавить("Тип"); + ////////////////////////////////// + // Конфигурации.БизнесПроцессы.ТабличныеЧасти + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "ТабличныеЧасти"; + ОписаниеКласса.Выгружаемый = ложь; + ОписаниеКласса.ДляЗапроса = ""; + СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); + ////////////////////////////////// + // Конфигурации.БизнесПроцессы.ТабличныеЧасти.Реквизиты + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "Реквизиты"; + ОписаниеКласса.Выгружаемый = ложь; + ОписаниеКласса.ДляЗапроса = ""; + ОписаниеКласса.Свойства.Добавить("Тип"); + СтэкДереваЗначенийСтроки.Удалить(0); + СтэкДереваЗначенийСтроки.Удалить(0); + ////////////////////////////////// + // Конфигурации.Задачи + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "Задачи"; + ОписаниеКласса.Выгружаемый = истина; + ОписаниеКласса.Менеджер = Задачи; + ОписаниеКласса.ДляЗапроса = "Задача."; + ОписаниеКласса.Свойства.Добавить("Адресация"); + ОписаниеКласса.Свойства.Добавить("ОсновнойРеквизитАдресации"); + ОписаниеКласса.Свойства.Добавить("ТекущийИсполнитель"); + ОписаниеКласса.Свойства.Добавить("ВводитсяНаОсновании"); + ОписаниеКласса.ИндексКартинки = 25; + СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); + ////////////////////////////////// + // Конфигурации.Задачи.РеквизитыАдресации + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "РеквизитыАдресации"; + ОписаниеКласса.Выгружаемый = ложь; + ОписаниеКласса.ДляЗапроса = ""; + ОписаниеКласса.Свойства.Добавить("Тип"); + ОписаниеКласса.Свойства.Добавить("ИзмерениеАдресации"); + ////////////////////////////////// + // Конфигурации.Задачи.Реквизиты + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "Реквизиты"; + ОписаниеКласса.Выгружаемый = ложь; + ОписаниеКласса.ДляЗапроса = ""; + ОписаниеКласса.Свойства.Добавить("Тип"); + ////////////////////////////////// + // Конфигурации.Задачи.ТабличныеЧасти + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "ТабличныеЧасти"; + ОписаниеКласса.Выгружаемый = ложь; + ОписаниеКласса.ДляЗапроса = ""; + СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); + ////////////////////////////////// + // Конфигурации.Задачи.ТабличныеЧасти.Реквизиты + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "Реквизиты"; + ОписаниеКласса.Выгружаемый = ложь; + ОписаниеКласса.ДляЗапроса = ""; + ОписаниеКласса.Свойства.Добавить("Тип"); + СтэкДереваЗначенийСтроки.Удалить(0); + СтэкДереваЗначенийСтроки.Удалить(0); + + ////////////////////////////////// + // Конфигурации.ПланыОбмена + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "ПланыОбмена"; + ОписаниеКласса.Выгружаемый = истина; + ОписаниеКласса.Менеджер = ПланыОбмена; + ОписаниеКласса.ДляЗапроса = "ПланОбмена."; + ОписаниеКласса.Свойства.Добавить("ВводитсяНаОсновании"); + ОписаниеКласса.ИндексКартинки = 27; + СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); + ////////////////////////////////// + // Конфигурации.ПланыОбмена.Реквизиты + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "Реквизиты"; + ОписаниеКласса.Выгружаемый = ложь; + ОписаниеКласса.ДляЗапроса = ""; + ОписаниеКласса.Свойства.Добавить("Тип"); + ////////////////////////////////// + // Конфигурации.ПланыОбмена.ТабличныеЧасти + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "ТабличныеЧасти"; + ОписаниеКласса.Выгружаемый = ложь; + ОписаниеКласса.ДляЗапроса = ""; + СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); + ////////////////////////////////// + // Конфигурации.ПланыОбмена.ТабличныеЧасти.Реквизиты + ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); + ОписаниеКласса.Класс = "Реквизиты"; + ОписаниеКласса.Выгружаемый = ложь; + ОписаниеКласса.ДляЗапроса = ""; + ОписаниеКласса.Свойства.Добавить("Тип"); + СтэкДереваЗначенийСтроки.Удалить(0); + СтэкДереваЗначенийСтроки.Удалить(0); + + СтэкДереваЗначенийСтроки.Удалить(0); + +КонецПроцедуры + +// Процедура заполняет строку дерева метаданных, попутно заполняя соответствие ссылочных типов объектам метаданных +// +// Параметры +// ОбъектМД - описание объекта метаданных +// ЭлементДЗ - заполняемая строка дерева метаданных +// ЭлементОписания - описание класса, к которому принадлежит объект метаданных (свойства, подчиненные классы) +// +Процедура ПостроениеПоддереваОбъекта(ОбъектМД, ЭлементДЗ, ЭлементОписания) + + ЭлементДЗ.Метаданные = ОбъектМД; + ЭлементДЗ.ОбъектМД = ОбъектМД; + ЭлементДЗ.ПолноеИмяМетаданных = ОбъектМД.Имя; + ЭлементДЗ.ЭлементОписания = ЭлементОписания; + ЭлементДЗ.Выгружать = Ложь; + ЭлементДЗ.ВыгружатьПриНеобходимости = Истина; + ЭлементДЗ.ИндексКартинки = ЭлементОписания.ИндексКартинки; + + Если ЭлементОписания.Менеджер <> Неопределено Тогда + + // заполнение соответствия ссылочных типов объектам метаданных + Если ОбъектОбразуетСсылочныйТип(ОбъектМД) Тогда + СсылочныеТипы[ТипЗнч(ЭлементОписания.Менеджер[ОбъектМД.Имя].ПустаяСсылка())] = ОбъектМД; + КонецЕсли; + + //Если Метаданные.РегистрыНакопления.Содержит(ОбъектМД) + // Или Метаданные.РегистрыБухгалтерии.Содержит(ОбъектМД) Тогда + // + // ИспользующиеИтоги.Добавить(ЭлементДЗ); + // + //КонецЕсли; + + КонецЕсли; + + // подчиненные ветви + Для Каждого ПодчиненныйКласс Из ЭлементОписания.Строки Цикл + + Если Не ПодчиненныйКласс.Выгружаемый Тогда + Продолжить; + КонецЕсли; + + ВеткаКласса = ЭлементДЗ.Строки.Добавить(); + ВеткаКласса.Метаданные = ПодчиненныйКласс.Класс; + ВеткаКласса.Выгружать = Ложь; + ВеткаКласса.ВыгружатьПриНеобходимости = Истина; + ВеткаКласса.ПолноеИмяМетаданных = ПодчиненныйКласс.Класс; + ВеткаКласса.ИндексКартинки = ПодчиненныйКласс.ИндексКартинки; + + ПодчиненныеОбъектыДанногоКласса = ОбъектМД[ПодчиненныйКласс.Класс]; + + Для Каждого ПодчиненныйОбъектМД Из ПодчиненныеОбъектыДанногоКласса Цикл + + //Если Метаданные.РегистрыСведений.Содержит(ПодчиненныйОбъектМД) Тогда + // Если ПодчиненныйОбъектМД.РежимЗаписи = Метаданные.СвойстваОбъектов.РежимЗаписиРегистра.ПодчинениеРегистратору Тогда + // Продолжить; + // КонецЕсли; + //КонецЕсли; + + ПодчиненныйЭлементДЗ = ВеткаКласса.Строки.Добавить(); + ПостроениеПоддереваОбъекта(ПодчиненныйОбъектМД, ПодчиненныйЭлементДЗ, ПодчиненныйКласс); + КонецЦикла; + + КонецЦикла; + +КонецПроцедуры + +// Процедура удаляет из дерева метаданных строки, соответствующие метаданным, заведомо не попадающим в выгрузку +// +// Параметры +// ЭлементДЗ - строка дерева метаданных, подчиненные которой рассматриваются +// с точки зрения удаления из списка потенциально выгружаемых +// +Процедура СверткаПоддереваОбъекта(ЭлементДЗ) + + УдаляемыеВеткиКлассов = Новый Массив; + Для Каждого ВеткаКласса Из ЭлементДЗ.Строки Цикл + + УдаляемыеПодчиненныеМД = Новый Массив; + + Для Каждого ПодчиненныйОбъектМД Из ВеткаКласса.Строки Цикл + СверткаПоддереваОбъекта(ПодчиненныйОбъектМД); + Если (ПодчиненныйОбъектМД.Строки.Количество()) = 0 + и (Не ПодчиненныйОбъектМД.ЭлементОписания.Выгружаемый) Тогда + + УдаляемыеПодчиненныеМД.Добавить(ВеткаКласса.Строки.Индекс(ПодчиненныйОбъектМД)); + + КонецЕсли; + + КонецЦикла; + + Для Сч = 1 По УдаляемыеПодчиненныеМД.Количество() Цикл + ВеткаКласса.Строки.Удалить(УдаляемыеПодчиненныеМД[УдаляемыеПодчиненныеМД.Количество() - Сч]); + КонецЦикла; + + Если ВеткаКласса.Строки.Количество() = 0 Тогда + УдаляемыеВеткиКлассов.Добавить(ЭлементДЗ.Строки.Индекс(ВеткаКласса)); + КонецЕсли; + + КонецЦикла; + + Для Сч = 1 По УдаляемыеВеткиКлассов.Количество() Цикл + ЭлементДЗ.Строки.Удалить(УдаляемыеВеткиКлассов[УдаляемыеВеткиКлассов.Количество() - Сч]); + КонецЦикла; + +КонецПроцедуры + +// Функция определяет имеет ли переданный объект метаданных ссылочный тип +// +// Возврат - Истина, если переданный объект метаданных имеет ссылочный тип, Ложь - противном случае +Функция ОбъектОбразуетСсылочныйТип(ОбъектМД) Экспорт + + Если ОбъектМД = Неопределено Тогда + Возврат Ложь; + КонецЕсли; + + Если Метаданные.Справочники.Содержит(ОбъектМД) + ИЛИ Метаданные.Документы.Содержит(ОбъектМД) + ИЛИ Метаданные.ПланыВидовХарактеристик.Содержит(ОбъектМД) + ИЛИ Метаданные.ПланыСчетов.Содержит(ОбъектМД) + ИЛИ Метаданные.ПланыВидовРасчета.Содержит(ОбъектМД) + ИЛИ Метаданные.ПланыОбмена.Содержит(ОбъектМД) + ИЛИ Метаданные.БизнесПроцессы.Содержит(ОбъектМД) + ИЛИ Метаданные.Задачи.Содержит(ОбъектМД) Тогда + Возврат Истина; + КонецЕсли; + + Возврат Ложь; +КонецФункции + +// Процедура обрабатывает состояние признака Выгрузка, проставляя признаки Выгрузка и ВыгружатьПриНеобходимости +// связанным ветвям дерева +// +// Параметры +// ЭлементДЗ - строка дерева метаданных +// +Процедура ОбработкаИзмененияСостоянияВыгружать(ЭлементДЗ) Экспорт + Если ЭлементДЗ.Выгружать = 2 Тогда + ЭлементДЗ.Выгружать = 0; + КонецЕсли; + // Изменяем состояние "вниз" + УстановитьВыгружатьПодчиненным(ЭлементДЗ); + // Изменяем состояние "вверх" + ОбновитьСостояниеВыгружать(ЭлементДЗ.Родитель); +КонецПроцедуры + +// Процедура обрабатывает состояние признака Выгрузка, проставляя признаки Выгрузка и ВыгружатьПриНеобходимости +// связанным ветвям дерева +// +// Параметры +// ЭлементДЗ - строка дерева метаданных +// +Процедура ОбработкаИзмененияСостоянияВыгружатьПриНеобходимости(ЭлементДЗ) Экспорт + + Если ЭлементДЗ.ВыгружатьПриНеобходимости = 2 Тогда + ЭлементДЗ.ВыгружатьПриНеобходимости = 0; + КонецЕсли; + + // Изменяем состояние "вниз" + УстановитьВыгружатьПриНеобходимостиПодчиненным(ЭлементДЗ); + // Изменяем состояние "вверх" + ОбновитьСостояниеВыгружатьПриНеобходимости(ЭлементДЗ.Родитель); + +КонецПроцедуры + +// Процедура проставляет признак Выгрузка строкам дерева метаданных, подчиненных данной, вычисляет и +// выставляет признак выгрузки "по ссылке" другим объектам, ссылки на которые может или должен +// содержать объект, соответствующий данной строке +// +// Параметры +// ЭлементДЗ - строка дерева метаданных +// +Процедура УстановитьВыгружатьПодчиненным(ЭлементДЗ) + Для Каждого ПодчиненнаяСтрока Из ЭлементДЗ.Строки Цикл + ПодчиненнаяСтрока.Выгружать = ЭлементДЗ.Выгружать; + УстановитьВыгружатьПодчиненным(ПодчиненнаяСтрока); + КонецЦикла; +КонецПроцедуры + +// Процедура проставляет признак Выгрузка строке дерева метаданных на основании этого признака подчиненных строк, +// затем вызывает себя же для родителя, обеспечивая отработку до корня дерева +// +// Параметры +// ЭлементДЗ - строка дерева метаданных +// +Процедура ОбновитьСостояниеВыгружать(ЭлементДЗ) + Если ЭлементДЗ = Неопределено Тогда + Возврат; + КонецЕсли; + Если (ЭлементДЗ.ЭлементОписания <> Неопределено) И ЭлементДЗ.ЭлементОписания.Выгружаемый Тогда + Возврат; // обновляем вверх или до корня, или до первого встретившегося выгружаемого + КонецЕсли; + Состояние = Неопределено; + Для Каждого ПодчиненныйЭлементДЗ Из ЭлементДЗ.Строки Цикл + Если Состояние = Неопределено Тогда + Состояние = ПодчиненныйЭлементДЗ.Выгружать; + Иначе + Если Не Состояние = ПодчиненныйЭлементДЗ.Выгружать Тогда + Состояние = 2; + Прервать; + КонецЕсли; + КонецЕсли; + КонецЦикла; + + Если Состояние <> Неопределено Тогда + ЭлементДЗ.Выгружать = Состояние; + ОбновитьСостояниеВыгружать(ЭлементДЗ.Родитель); + КонецЕсли; +КонецПроцедуры + +// Процедура проставляет признак Выгрузка строкам дерева метаданных, подчиненных данной, вычисляет и +// выставляет признак выгрузки "по ссылке" другим объектам, ссылки на которые может или должен +// содержать объект, соответствующий данной строке +// +// Параметры +// ЭлементДЗ - строка дерева метаданных +// +Процедура УстановитьВыгружатьПриНеобходимостиПодчиненным(ЭлементДЗ) + + Для Каждого ПодчиненнаяСтрока Из ЭлементДЗ.Строки Цикл + ПодчиненнаяСтрока.ВыгружатьПриНеобходимости = ЭлементДЗ.ВыгружатьПриНеобходимости; + УстановитьВыгружатьПриНеобходимостиПодчиненным(ПодчиненнаяСтрока); + КонецЦикла; + +КонецПроцедуры + +// Процедура проставляет признак Выгрузка строке дерева метаданных на основании этого признака подчиненных строк, +// затем вызывает себя же для родителя, обеспечивая отработку до корня дерева +// +// Параметры +// ЭлементДЗ - строка дерева метаданных +// +Процедура ОбновитьСостояниеВыгружатьПриНеобходимости(ЭлементДЗ) + + Если ЭлементДЗ = Неопределено Тогда + Возврат; + КонецЕсли; + + Если (ЭлементДЗ.ЭлементОписания <> Неопределено) И ЭлементДЗ.ЭлементОписания.Выгружаемый Тогда + Возврат; // обновляем вверх или до корня, или до первого встретившегося выгружаемого + КонецЕсли; + + Состояние = Неопределено; + Для Каждого ПодчиненныйЭлементДЗ Из ЭлементДЗ.Строки Цикл + + Если Состояние = Неопределено Тогда + Состояние = ПодчиненныйЭлементДЗ.ВыгружатьПриНеобходимости; + Иначе + Если Не Состояние = ПодчиненныйЭлементДЗ.ВыгружатьПриНеобходимости Тогда + Состояние = 2; + Прервать; + КонецЕсли; + КонецЕсли; + + КонецЦикла; + + Если Состояние <> Неопределено Тогда + ЭлементДЗ.ВыгружатьПриНеобходимости = Состояние; + ОбновитьСостояниеВыгружатьПриНеобходимости(ЭлементДЗ.Родитель); + КонецЕсли; + +КонецПроцедуры + +Функция ПодготовитьКомпоновщикДляВыгрузки(СтрокаДереваМетаданных, СтрокаПолейДляВыборки = "") Экспорт + + Если ТипЗнч(СтрокаДереваМетаданных.НастройкиКомпоновщика) = Тип("ОтборКомпоновкиДанных") Тогда + ЕстьДопОтборы = Ложь; + Для Каждого ЭлементОтбора Из СтрокаДереваМетаданных.НастройкиКомпоновщика.Элементы Цикл + Если ЭлементОтбора.Использование Тогда + ЕстьДопОтборы = Истина; + Прервать; + КонецЕсли; + КонецЦикла; + Иначе + ЕстьДопОтборы = (СтрокаДереваМетаданных.НастройкиКомпоновщика <> Неопределено); + КонецЕсли; + + ИтоговыйТекстЗапроса = ПолучитьТекстЗапросаПоСтроке(СтрокаДереваМетаданных, ЕстьДопОтборы, СтрокаПолейДляВыборки); + + СхемаКомпоновкиДанных = Новый СхемаКомпоновкиДанных; + ИсточникДанных = СхемаКомпоновкиДанных.ИсточникиДанных.Добавить(); + ИсточникДанных.Имя = "ТекущаяБаза"; + ИсточникДанных.СтрокаСоединения = ""; + ИсточникДанных.ТипИсточникаДанных = "Local"; + НаборДанных = СхемаКомпоновкиДанных.НаборыДанных.Добавить(Тип("НаборДанныхЗапросСхемыКомпоновкиДанных")); + НаборДанных.АвтоЗаполнениеДоступныхПолей = Истина; + НаборДанных.Запрос = ИтоговыйТекстЗапроса; + НаборДанных.Имя = "ОсновнойЗапрос"; + НаборДанных.ИсточникДанных = "ТекущаяБаза"; + + Если ЕстьДопОтборы Тогда + + НастройкиКомпоновщикаXDTO = СериализаторXDTO.ЗаписатьXDTO(СтрокаДереваМетаданных.НастройкиКомпоновщика); + СКДXDTO = СериализаторXDTO.ЗаписатьXDTO(СхемаКомпоновкиДанных); + СКДXDTO.defaultSettings = СКДXDTO.settingsVariant[0].settings; + СКДXDTO.defaultSettings.filter = НастройкиКомпоновщикаXDTO; + СхемаКомпоновкиДанных = СериализаторXDTO.ПрочитатьXDTO(СКДXDTO); + + КонецЕсли; + + ПараметрДатаНачала = Новый ПараметрКомпоновкиДанных("ДатаНачала"); + ПараметрДатаОкончания = Новый ПараметрКомпоновкиДанных("ДатаОкончания"); + + СхемаКомпоновкиДанных.НастройкиПоУмолчанию.ПараметрыДанных.Элементы.Очистить(); + Параметр = СхемаКомпоновкиДанных.НастройкиПоУмолчанию.ПараметрыДанных.Элементы.Добавить(); + Параметр.Параметр = ПараметрДатаНачала; + Параметр.Значение = ДатаНачала; + Параметр.Использование = Истина; + + Параметр = СхемаКомпоновкиДанных.НастройкиПоУмолчанию.ПараметрыДанных.Элементы.Добавить(); + Параметр.Параметр = ПараметрДатаОкончания; + Параметр.Значение = ДатаОкончания; + Параметр.Использование = Истина; + + Возврат СхемаКомпоновкиДанных; //ПостроительОтчета; + +КонецФункции + +Функция ПолучитьТекстЗапросаПоСтроке(СтрокаДереваМетаданных, ЕстьДопОтборы, СтрокаПолейДляВыборки = "") Экспорт + + Если ТипЗнч(СтрокаДереваМетаданных) = Тип("ДанныеФормыЭлементДерева") Тогда + // Вызов из управляемой формы + РодительскийЭлемент = СтрокаДереваМетаданных.ПолучитьРодителя(); + Иначе //СтрокаДереваЗначений + РодительскийЭлемент = СтрокаДереваМетаданных.Родитель; + КонецЕсли; + //ОбъектМетаданных = СтрокаДереваМетаданных.Метаданные; + ОбъектМетаданных = Метаданные[РодительскийЭлемент.ПолноеИмяМетаданных][СтрокаДереваМетаданных.ПолноеИмяМетаданных]; + ИмяМетаданных = ОбъектМетаданных.ПолноеИмя(); + + Если Метаданные.РегистрыСведений.Содержит(ОбъектМетаданных) Тогда + + ТекстЗапроса = ПолучитьТекстЗапросаДляРегистраСведений(ИмяМетаданных, ОбъектМетаданных, ЕстьДопОтборы, СтрокаПолейДляВыборки); + Возврат ТекстЗапроса; + + ИначеЕсли Метаданные.РегистрыНакопления.Содержит(ОбъектМетаданных) + ИЛИ Метаданные.РегистрыБухгалтерии.Содержит(ОбъектМетаданных) Тогда + + ТекстЗапроса = ПолучитьТекстЗапросаДляРегистра(ИмяМетаданных, ОбъектМетаданных, ЕстьДопОтборы, СтрокаПолейДляВыборки); + Возврат ТекстЗапроса; + + КонецЕсли; + + ЕстьОграничениеПоДатам = ЗначениеЗаполнено(ДатаНачала) Или ЗначениеЗаполнено(ДатаОкончания); + + Если НЕ ЗначениеЗаполнено(СтрокаПолейДляВыборки) Тогда + СтрокаПолейДляВыборки = "_.*"; + КонецЕсли; + + ТекстЗапроса = "ВЫБРАТЬ Разрешенные " + СтрокаПолейДляВыборки + " ИЗ " + ИмяМетаданных + " КАК _ "; + + // возможно нужно ограничение по датам установить + Если ЕстьОграничениеПоДатам Тогда + + Если ЕстьДопОтборы И + НЕ ИспользоватьОтборПоДатеДляВсехОбъектов Тогда + + Возврат ТекстЗапроса; + + КонецЕсли; + + ДопОграничениеПоДате = ""; + + // можно ли для данного объекта МД сторить ограничения по датам + Если Метаданные.Документы.Содержит(ОбъектМетаданных) Тогда + + ДопОграничениеПоДате = ПолучитьСтрокуОграниченияПоДатеДляЗапроса(ОбъектМетаданных, "Документ"); + + ИначеЕсли Метаданные.РегистрыБухгалтерии.Содержит(ОбъектМетаданных) + ИЛИ Метаданные.РегистрыНакопления.Содержит(ОбъектМетаданных) Тогда + + ДопОграничениеПоДате = ПолучитьСтрокуОграниченияПоДатеДляЗапроса(ОбъектМетаданных, "Регистр"); + + КонецЕсли; + + ТекстЗапроса = ТекстЗапроса + Символы.ПС + ДопОграничениеПоДате; + + КонецЕсли; + + Возврат ТекстЗапроса; + +КонецФункции + +Функция ПолучитьСтрокуОграниченияПоДатеДляЗапроса(Свойства, ИмяТипа) Экспорт + + ИтоговоеОграничениеПоДате = ""; + ИмяАлиасаТаблицы = "_"; + + Если НЕ (ИмяТипа = "Документ" ИЛИ ИмяТипа = "РегистрСведений" ИЛИ ИмяТипа = "Регистр") Тогда + Возврат ИтоговоеОграничениеПоДате; + КонецЕсли; + + ИмяПоляОграничения = ИмяАлиасаТаблицы + "." + ?(ИмяТипа = "Документ", "Дата", "Период"); + + Если ЗначениеЗаполнено(ДатаНачала) Тогда + + ИтоговоеОграничениеПоДате = " + | ГДЕ + | " + ИмяПоляОграничения + " >= &ДатаНачала"; + + КонецЕсли; + + Если ЗначениеЗаполнено(ДатаОкончания) Тогда + + Если ПустаяСтрока(ИтоговоеОграничениеПоДате) Тогда + + ИтоговоеОграничениеПоДате = " + | ГДЕ + | " + ИмяПоляОграничения + " <= &ДатаОкончания"; + + Иначе + + ИтоговоеОграничениеПоДате = ИтоговоеОграничениеПоДате + " + | И + | " + ИмяПоляОграничения + " <= &ДатаОкончания"; + + КонецЕсли; + + КонецЕсли; + + Возврат ИтоговоеОграничениеПоДате; + +КонецФункции + +Функция ПолучитьТекстЗапросаДляРегистраСведений(ИмяМетаданных, ОбъектМетаданных, ЕстьДопОтборы, СтрокаПолейДляВыборки = "") + + ЕстьОграничениеПоДатам = ЗначениеЗаполнено(ДатаНачала) Или ЗначениеЗаполнено(ДатаОкончания); + + ВыбираемВсеПоля = НЕ ЗначениеЗаполнено(СтрокаПолейДляВыборки) или + ОбъектМетаданных.РежимЗаписи = Метаданные.СвойстваОбъектов.РежимЗаписиРегистра.ПодчинениеРегистратору и СтрокаПолейДляВыборки = "Регистратор"; + + Если ВыбираемВсеПоля Тогда + МенеджерНабораЗаписей = Неопределено; + Выполнить("МенеджерНабораЗаписей = РегистрыСведений."+ОбъектМетаданных.Имя); + + СтрокаПолейДляВыборки = " Различные " + ПолучитьСтрокуПолейОтбораРегистра(МенеджерНабораЗаписей); + Иначе + СтрокаПолейДляВыборки = " Различные " + СтрокаПолейДляВыборки; + КонецЕсли; + + ТекстЗапроса = "ВЫБРАТЬ Разрешенные " + СтрокаПолейДляВыборки + " ИЗ " + ИмяМетаданных + " КАК _ "; + + Если ОбъектМетаданных.ПериодичностьРегистраСведений = Метаданные.СвойстваОбъектов.ПериодичностьРегистраСведений.Непериодический Тогда + Возврат ТекстЗапроса; + КонецЕсли; + + // 0 - отбор за период + // 1 - срез последних на дату окончания + // 2 - срез первых на дату начала + // 3 - срез последних на дату начала + отбор за период + + Если ТипВыгрузкиПериодическихРегистров = 0 Тогда + + Если ЕстьДопОтборы И + НЕ ИспользоватьОтборПоДатеДляВсехОбъектов Тогда + + Возврат ТекстЗапроса; + + КонецЕсли; + + ДопОграничениеПоДате = ПолучитьСтрокуОграниченияПоДатеДляЗапроса(ОбъектМетаданных, "РегистрСведений"); + + ТекстЗапроса = ТекстЗапроса + Символы.ПС + ДопОграничениеПоДате; + + ИначеЕсли ТипВыгрузкиПериодическихРегистров = 1 Тогда + + ТекстЗапроса = "ВЫБРАТЬ Разрешенные " + СтрокаПолейДляВыборки + " ИЗ " + ИмяМетаданных + ".СрезПоследних(&ДатаОкончания) КАК _ "; + + ИначеЕсли ТипВыгрузкиПериодическихРегистров = 2 Тогда + + ТекстЗапроса = "ВЫБРАТЬ Разрешенные " + СтрокаПолейДляВыборки + " ИЗ " + ИмяМетаданных + ".СрезПервых(&ДатаНачала) КАК _ "; + + ИначеЕсли ТипВыгрузкиПериодическихРегистров = 3 Тогда + + ТекстЗапроса = "ВЫБРАТЬ Разрешенные " + СтрокаПолейДляВыборки + " ИЗ " + ИмяМетаданных + ".СрезПоследних(&ДатаНачала) КАК _ + | + |Объединить все + | + |ВЫБРАТЬ " + СтрокаПолейДляВыборки + " ИЗ " + ИмяМетаданных + " КАК _ "; + + ДопОграничениеПоДате = ПолучитьСтрокуОграниченияПоДатеДляЗапроса(ОбъектМетаданных, "РегистрСведений"); + + ТекстЗапроса = ТекстЗапроса + Символы.ПС + ДопОграничениеПоДате; + + КонецЕсли; + + Возврат ТекстЗапроса; + +КонецФункции + +Функция ПолучитьТекстЗапросаДляРегистра(ИмяМетаданных, ОбъектМетаданных, ЕстьДопОтборы, СтрокаПолейДляВыборки = "") + + ЕстьОграничениеПоДатам = ЗначениеЗаполнено(ДатаНачала) Или ЗначениеЗаполнено(ДатаОкончания); + + ВыбираемВсеПоля = НЕ ЗначениеЗаполнено(СтрокаПолейДляВыборки) или СтрокаПолейДляВыборки = "Регистратор"; + + Если ВыбираемВсеПоля Тогда + МенеджерНабораЗаписей = Неопределено; + Если НЕ (Метаданные.РегистрыНакопления.Содержит(ОбъектМетаданных) + ИЛИ Метаданные.РегистрыБухгалтерии.Содержит(ОбъектМетаданных)) Тогда + ВызватьИсключение "должны были передать либо регистр накопления либо регистр бухгалтерии"; + КонецЕсли; + + ИмяМенеджераРегистра = ?(Метаданные.РегистрыНакопления.Содержит(ОбъектМетаданных), "РегистрыНакопления", "РегистрыБухгалтерии"); + + Выполнить("МенеджерНабораЗаписей = "+ИмяМенеджераРегистра+"."+ОбъектМетаданных.Имя); + + СтрокаПолейДляВыборки = " Различные " + ПолучитьСтрокуПолейОтбораРегистра(МенеджерНабораЗаписей); + Иначе + СтрокаПолейДляВыборки = " РАЗЛИЧНЫЕ " + СтрокаПолейДляВыборки; + КонецЕсли; + + ТекстЗапроса = "ВЫБРАТЬ Разрешенные " + СтрокаПолейДляВыборки + " ИЗ " + ИмяМетаданных + " КАК _ "; + + // возможно нужно ограничение по датам установить + Если ЕстьОграничениеПоДатам Тогда + + Если ЕстьДопОтборы И + НЕ ИспользоватьОтборПоДатеДляВсехОбъектов Тогда + + Возврат ТекстЗапроса; + + КонецЕсли; + + ДопОграничениеПоДате = ПолучитьСтрокуОграниченияПоДатеДляЗапроса(ОбъектМетаданных, "Регистр"); + + ТекстЗапроса = ТекстЗапроса + Символы.ПС + ДопОграничениеПоДате; + + КонецЕсли; + + Возврат ТекстЗапроса; + +КонецФункции + +// Процедура рекурсивно обрабатывает дерево метаданных, образуя списки полной и вспомогательной выгрузки +// +// Параметры +// +Процедура СоставВыгрузки(ПересчитатьВыгружаемыеПоСсылке = Ложь) Экспорт + + СоставПолнойВыгрузки = Новый ТаблицаЗначений; + СоставПолнойВыгрузки.Колонки.Добавить("ОбъектМД"); + СоставПолнойВыгрузки.Колонки.Добавить("СтрокаДерева"); + СоставПолнойВыгрузки.Индексы.Добавить("ОбъектМД"); + + СоставВспомогательнойВыгрузки = Новый ТаблицаЗначений; + СоставВспомогательнойВыгрузки.Колонки.Добавить("ОбъектМД"); + СоставВспомогательнойВыгрузки.Колонки.Добавить("СтрокаДерева"); + СоставВспомогательнойВыгрузки.Индексы.Добавить("ОбъектМД"); + + Для Каждого СтрокаДЗ Из ДеревоМетаданных.Строки Цикл + ДобавитьВыгружаемыеОбъекты(СоставПолнойВыгрузки, СоставВспомогательнойВыгрузки, СтрокаДЗ); + КонецЦикла; + + мНаличиеВыгрузкиПодчиненныхОбъектов = СоставВспомогательнойВыгрузки.Количество() > 0; + + Если ПересчитатьВыгружаемыеПоСсылке Тогда + + ПересчитатьВыгружаемыеПоСсылке(СоставПолнойВыгрузки); + + КонецЕсли; + +КонецПроцедуры + +// Процедура рекурсивно обрабатывает строку дерева метаданных, образуя списки полной и вспомогательной выгрузки +// +// Параметры +// СоставПолнойВыгрузки - список полной выгрузки +// СоставВспомогательнойВыгрузки - список вспомогательной выгрузки +// СтрокаДЗ - обрабатываемая строка дерева метаданных +// +Процедура ДобавитьВыгружаемыеОбъекты(СоставПолнойВыгрузки, СоставВспомогательнойВыгрузки, СтрокаДЗ) + + Если (СтрокаДЗ.ЭлементОписания <> Неопределено) + И СтрокаДЗ.ЭлементОписания.Выгружаемый Тогда + + СтрокаДобавления = Неопределено; + + Если СтрокаДЗ.Выгружать Тогда + + СтрокаДобавления = СоставПолнойВыгрузки.Добавить(); + + КонецЕсли; + Если СтрокаДобавления <> Неопределено Тогда + СтрокаДобавления.ОбъектМД = СтрокаДЗ.ОбъектМД; + СтрокаДобавления.СтрокаДерева = СтрокаДЗ; + + КонецЕсли; + + Если СтрокаДЗ.ВыгружатьПриНеобходимости Тогда // нужно для иерархических метаданных и подгрузки родителей + + СтрокаДобавления = СоставВспомогательнойВыгрузки.Добавить(); + + КонецЕсли; + + Если СтрокаДобавления <> Неопределено Тогда + СтрокаДобавления.ОбъектМД = СтрокаДЗ.ОбъектМД; + СтрокаДобавления.СтрокаДерева = СтрокаДЗ; + + КонецЕсли; + + КонецЕсли; + + Для Каждого ПодчиненнаяСтрокаДЗ Из СтрокаДЗ.Строки Цикл + ДобавитьВыгружаемыеОбъекты(СоставПолнойВыгрузки, СоставВспомогательнойВыгрузки, ПодчиненнаяСтрокаДЗ); + КонецЦикла; + +КонецПроцедуры + +// Процедура определяет, какие типы объектов следует выгружать для сохранения ссылочной целостности +// +// Параметры +// Выгрузка - массив строк - совокупность выгружаемых объектов +Процедура ПересчитатьВыгружаемыеПоСсылке(Выгрузка) Экспорт + + // сброс всех флажков ВыгружатьПриНеобходимости + СтрокаКонфигурации = ДеревоМетаданных.Строки[0]; + СтрокаКонфигурации.ВыгружатьПриНеобходимости = 0; + ОбработкаИзмененияСостоянияВыгружатьПриНеобходимости(СтрокаКонфигурации); + #Если Клиент Тогда + Состояние("Выполняется поиск объектов метаданных, которые могут быть выгружены по ссылкам..."); + #КонецЕсли + + КоллекцияУжеИспользованныхЭлементовДЗ = Новый Соответствие; + + // обработка переданного набора объектов + Для Каждого Выгружаемый Из Выгрузка Цикл + + УстановкаСостоянияВыгружатьПриНеобходимости(Выгружаемый.СтрокаДерева, КоллекцияУжеИспользованныхЭлементовДЗ); + + КонецЦикла; + +КонецПроцедуры + +// Процедура определяет, на какие объект может ссылаться запись, соответствующая объекту метаданных, отображаемому +// данной строкой дерева метаданных и проставляет им признак ВыгружатьПриНеобходимости +// +// Параметры +// ЭлементДЗ - строка дерева метаданных +// +Процедура УстановкаСостоянияВыгружатьПриНеобходимости(ЭлементДЗ, КоллекцияУжеИспользованныхЭлементовДЗ) + Если КоллекцияУжеИспользованныхЭлементовДЗ.Получить(ЭлементДЗ) <> Неопределено Тогда + Возврат; + КонецЕсли; + КоллекцияУжеИспользованныхЭлементовДЗ.Вставить(ЭлементДЗ, ЭлементДЗ); + + ОбновитьСостояниеВыгружатьПриНеобходимости(ЭлементДЗ.Родитель); + Если ЭлементДЗ.Выгружать <> 1 И ЭлементДЗ.ВыгружатьПриНеобходимости <> 1 Тогда + Возврат; + КонецЕсли; + Если ЭлементДЗ.ОбъектМД = Неопределено Тогда + Возврат; + КонецЕсли; + + ВсеТипы = ПолучитьВсеТипы(ЭлементДЗ); + Для Каждого СсылочныйТип Из ВсеТипы Цикл + + ТипИОбъект = СсылочныеТипы.Получить(СсылочныйТип); + Если ТипИОбъект = Неопределено Тогда + + ВызватьИсключение("Внутреняя ошибка. Неполное заполнение структуры ссылочных типов - " + СсылочныйТип); + + КонецЕсли; + + ОбъектМД = ТипИОбъект; + СтрокаДЗ = ЭлементДЗПоОбъектуМД(ОбъектМД); + Если СтрокаДЗ = Неопределено Тогда + + ВызватьИсключение("Внутреняя ошибка. Неполное заполнение дерева метаданных. Отсутствует объект, образующий тип - " + СсылочныйТип); + + КонецЕсли; + + Если СтрокаДЗ.Выгружать = 1 + И СтрокаДЗ.ВыгружатьПриНеобходимости = 1 Тогда + + Продолжить; + + КонецЕсли; + + СтрокаДЗ.ВыгружатьПриНеобходимости = 1; + УстановкаСостоянияВыгружатьПриНеобходимости(СтрокаДЗ, КоллекцияУжеИспользованныхЭлементовДЗ); + + КонецЦикла; + +КонецПроцедуры + +// Функция возвращает массив типов, которые могут иметь поля записи объекта метаданных, соответствующего строке дерева +// +// Параметры +// ЭлементДЗ - строка дерева метаданных +// Возврат - массив потенциально используемых соответствующей записью типов +// +Функция ПолучитьВсеТипы(ЭлементДЗ) + + ОбъектМД = ЭлементДЗ.ОбъектМД; + Если ТипЗнч(ОбъектМД) <> Тип("ОбъектМетаданных") + И ТипЗнч(ОбъектМД) <> Тип("ОбъектМетаданныхКонфигурация") Тогда + + ВызватьИсключение("Внутреняя ошибка обработки выгрузки"); + + КонецЕсли; + + Возврат ПолучитьТипыИспользуемыеОМД(ОбъектМД, ЭлементДЗ.ЭлементОписания); + +КонецФункции + +// Функция возвращает строку дерева метаданных, соответствующую переданному объекту метаданных +// Поиск осуществляется по всему дереву метаданных +// +// Параметры +// ОбъектМД - описание метаданного +// Возврат - строка дерева метаданных +// +Функция ЭлементДЗПоОбъектуМД(ОбъектМД) + Для Каждого СтрокаДЗ Из ДеревоМетаданных.Строки Цикл + ЭлементДЗ = ЭлементДЗПоОбъектуМДИСтроке(СтрокаДЗ, ОбъектМД); + Если ЭлементДЗ <> Неопределено Тогда + Возврат ЭлементДЗ; + КонецЕсли; + КонецЦикла; + Возврат Неопределено; +КонецФункции + +// Функция возвращает массив типов, которые могут иметь поля записи объекта метаданных +// +// Параметры +// ОбъектМД - описание метаданного +// ЭлементОписания - описание класса объекта метаданного +// Возврат - массив потенциально используемых соответствующей записью типов +// +Функция ПолучитьТипыИспользуемыеОМД(ОбъектМД, ЭлементОписания) + + ВсеТипы = Новый Массив; + + Для Каждого Свойство Из ЭлементОписания.Свойства Цикл + + ЗначениеСвойства = ОбъектМД[Свойство.Значение]; + Если ТипЗнч(ЗначениеСвойства) = Тип("КоллекцияЗначенийСвойстваОбъектаМетаданных") И ЗначениеСвойства.Количество() > 0 Тогда + + Для Каждого СтрокаКоллекции Из ЗначениеСвойства Цикл + + СсылочныйТипКлючИЗначение = СоответствиеОбъектовМетаданныхИСсылочныхТипов[СтрокаКоллекции]; + + Если СсылочныйТипКлючИЗначение <> Неопределено Тогда + + ДобавитьВМассивЕслиУникальный(ВсеТипы, СсылочныйТипКлючИЗначение); + + КонецЕсли; + + КонецЦикла; + + ИначеЕсли ТипЗнч(ЗначениеСвойства) = Тип("ОбъектМетаданных") Тогда + + Для Каждого СсылочныйТипКлючИЗначение Из СсылочныеТипы Цикл + + Если ЗначениеСвойства = СсылочныйТипКлючИЗначение.Значение Тогда + ДобавитьВМассивЕслиУникальный(ВсеТипы, СсылочныйТипКлючИЗначение.Ключ); + КонецЕсли; + + КонецЦикла; + + КонецЕсли; + + КонецЦикла; + + Если КлассМДТипизированный(ЭлементОписания) Тогда + + ОписаниеТипа = ОбъектМД.Тип; + Для Каждого ОдинТип Из ОписаниеТипа.Типы() Цикл + + Если СсылочныйТип(ОдинТип) Тогда + ДобавитьВМассивЕслиУникальный(ВсеТипы, ОдинТип); + КонецЕсли; + + КонецЦикла; + + Иначе + + Если Метаданные.РегистрыСведений.Содержит(ОбъектМД) Или + Метаданные.РегистрыНакопления.Содержит(ОбъектМД) Или + Метаданные.РегистрыБухгалтерии.Содержит(ОбъектМД) Или + Метаданные.РегистрыРасчета.Содержит(ОбъектМД) Тогда + + // какой-то из регистров, ищем в возможных регистраторах + Для Каждого ДокументМД Из Метаданные.Документы Цикл + + Если ДокументМД.Движения.Содержит(ОбъектМД) Тогда + + ДобавитьВМассивЕслиУникальный(ВсеТипы, ТипЗнч(Документы[ДокументМД.Имя].ПустаяСсылка())); + + КонецЕсли; + + КонецЦикла; + + // нужно для иерархических метаданных и подгрузки родителей + ИначеЕсли Метаданные.Справочники.Содержит(ОбъектМД) И ОбъектМД.Иерархический Тогда + ДобавитьВМассивЕслиУникальный(ВсеТипы, ТипЗнч(Справочники[ОбъектМД.Имя].ПустаяСсылка())); + ИначеЕсли Метаданные.ПланыВидовХарактеристик.Содержит(ОбъектМД) И ОбъектМД.Иерархический Тогда + ДобавитьВМассивЕслиУникальный(ВсеТипы, ТипЗнч(ПланыВидовХарактеристик[ОбъектМД.Имя].ПустаяСсылка())); + КонецЕсли; + + КонецЕсли; + + Для Каждого ПодчиненныйКласс Из ЭлементОписания.Строки Цикл + + Для Каждого ПодчиненныйОбъектМД Из ОбъектМД[ПодчиненныйКласс.Класс] Цикл + + ТипыПодчиненного = ПолучитьТипыИспользуемыеОМД(ПодчиненныйОбъектМД, ПодчиненныйКласс); + Для Каждого ОдинТип Из ТипыПодчиненного Цикл + ДобавитьВМассивЕслиУникальный(ВсеТипы, ОдинТип); + КонецЦикла; + + КонецЦикла; + + КонецЦикла; + + Возврат ВсеТипы; + +КонецФункции + +// Функция возвращает строку дерева метаданных, соответствующую переданному объекту метаданных +// Поиск осуществляется среди строк, подчиненных переданной +// +// Параметры +// СтрокаДЗ - строка дерева метаданных, от которй осуществляется поиск +// ОбъектМД - описание метаданного +// Возврат - строка дерева метаданных +// +Функция ЭлементДЗПоОбъектуМДИСтроке(СтрокаДЗ, ОбъектМД) + + Возврат СтрокаДЗ.Строки.Найти(ОбъектМД, "ОбъектМД", Истина); + +КонецФункции + +// Процедура добавляет в массив новый элемент, если он является уникальным +// +// Параметры +// Массив - исследуемый тип +// Элемент - добавляемый элемент +// +Процедура ДобавитьВМассивЕслиУникальный(Массив, Элемент) + + Если Массив.Найти(Элемент) = Неопределено Тогда + Массив.Добавить(Элемент); + КонецЕсли; + +КонецПроцедуры + +// Функция определяет, являются ли объекты данного класса метаданных типизированными +// +// Параметры +// Описание - Описание класса +// Возврат - Истина, если объекты данного класса метаданных типизированы, Ложь в противном случае +// +Функция КлассМДТипизированный(Описание) + + Для Каждого Свойство Из Описание.Свойства Цикл + Если Свойство.Значение = "Тип" Тогда + Возврат Истина; + КонецЕсли; + КонецЦикла; + Возврат Ложь; + +КонецФункции + +Функция КлассМДИерархический(ОбъектМД) + Рез = Ложь; + Если ОбъектМД = Неопределено Тогда + + ИначеЕсли Метаданные.Справочники.Содержит(ОбъектМД) И ОбъектМД.Иерархический Тогда + Рез = Истина; + ИначеЕсли Метаданные.ПланыВидовХарактеристик.Содержит(ОбъектМД) И ОбъектМД.Иерархический Тогда + Рез = Истина; + КонецЕсли; + + Возврат Рез; +КонецФункции + +// Функция определяет, являются ли тип ссылочным +// +// Параметры +// Тип - исследуемый тип +// Возврат - Истина, если тип ссылочный, Ложь в противном случае +// +Функция СсылочныйТип(Тип) + + МетаданныеТипа = СсылочныеТипы.Получить(Тип); + Возврат МетаданныеТипа <> Неопределено; + +КонецФункции + + +Процедура СоздатьПоМетаданным(массивДанных) + + ОбработанныхКонстант = 0; + ОбработанныхНаборовЗаписей = 0; + + ОбъектыВыгруженныеСОшибками = Новый Соответствие; + СоставВыгрузки(); + + мВыгруженныеОбъекты = Новый ТаблицаЗначений; + мВыгруженныеОбъекты.Колонки.Добавить("Ссылка"); + мВыгруженныеОбъекты.Индексы.Добавить("Ссылка"); + + + Если ОбъектыВыгруженныеСОшибками = Неопределено Тогда + ОбъектыВыгруженныеСОшибками = Новый Соответствие; + КонецЕсли; + + //ОкноИсполнения = ПолучитьФорму("ОкноИсполнения"); + //ОкноИсполненияОбщееКоличество = 1; + //ОкноИсполненияОбработано = 0; + //ОкноИсполнения.Открыть(); + + Попытка + + Для Каждого СтрокаТаблицыВыгрузки Из СоставПолнойВыгрузки Цикл + + СтрокаДереваМетаданных = СтрокаТаблицыВыгрузки.СтрокаДерева; + + Если СтрокаДереваМетаданных.ЭлементОписания.Менеджер = Неопределено Тогда + ВызватьИсключение("Выгрузка данных. Внутренняя ошибка"); + КонецЕсли; + + Если Метаданные.Константы.Содержит(СтрокаДереваМетаданных.ОбъектМД) Тогда + + //ЗаписьКонстанты(СтрокаДереваМетаданных.ОбъектМД, ОбъектыВыгруженныеСОшибками); + + ИначеЕсли Метаданные.РегистрыСведений.Содержит(СтрокаДереваМетаданных.ОбъектМД) Или + Метаданные.РегистрыНакопления.Содержит(СтрокаДереваМетаданных.ОбъектМД) Или + Метаданные.РегистрыРасчета.Содержит(СтрокаДереваМетаданных.ОбъектМД) Тогда + + ЗаписьРегистра(СтрокаДереваМетаданных, ОбъектыВыгруженныеСОшибками,, массивДанных); + + ИначеЕсли Метаданные.РегистрыБухгалтерии.Содержит(СтрокаДереваМетаданных.ОбъектМД) Тогда + + ЗаписьРегистра(СтрокаДереваМетаданных, ОбъектыВыгруженныеСОшибками, Истина, массивДанных); + + ИначеЕсли ТипЗнч(СтрокаДереваМетаданных.ЭлементОписания.Менеджер) = Тип("Строка") Тогда + // специальный случай для перерасчетов + //ЗаписьПерерасчета(СтрокаДереваМетаданных, ОбъектыВыгруженныеСОшибками); + + ИначеЕсли Метаданные.Последовательности.Содержит(СтрокаДереваМетаданных.ОбъектМД) Тогда + + //ЗаписьПоследовательности(СтрокаДереваМетаданных, ОбъектыВыгруженныеСОшибками); + + Иначе + ЗаписьДанныхОбъектногоТипа(СтрокаДереваМетаданных, ОбъектыВыгруженныеСОшибками, массивДанных); + + КонецЕсли; + + #Если Клиент Тогда + ОбработкаПрерыванияПользователя(); + #КонецЕсли + + КонецЦикла; + + //ДополнительныеОбъектыДляВыгрузки.Сортировать("ИмяОбъектаДляЗапроса"); + ТекущийМассивСсылок = Новый Массив(); + ТекущееИмяЗапроса = ""; + + + //Для Каждого СтрокаТаблицыВыгрузки Из ДополнительныеОбъектыДляВыгрузки Цикл + // + // Если НЕ ЗначениеЗаполнено(СтрокаТаблицыВыгрузки.Объект) + // ИЛИ НЕ ЗначениеЗаполнено(СтрокаТаблицыВыгрузки.ИмяОбъектаДляЗапроса) Тогда + // + // Продолжить; + // + // КонецЕсли; + // + // Если ТекущееИмяЗапроса <> СтрокаТаблицыВыгрузки.ИмяОбъектаДляЗапроса Тогда + // + // ВыгрузитьДанныеМассиваСсылок(ТекущийМассивСсылок, ТекущееИмяЗапроса, ОбъектыВыгруженныеСОшибками); + // + // ТекущийМассивСсылок = Новый массив(); + // ТекущееИмяЗапроса = СтрокаТаблицыВыгрузки.ИмяОбъектаДляЗапроса; + // + // КонецЕсли; + // + // ТекущийМассивСсылок.Добавить(СтрокаТаблицыВыгрузки.Объект); + // + //КонецЦикла; + + //ВыгрузитьДанныеМассиваСсылок(ТекущийМассивСсылок, ТекущееИмяЗапроса, ОбъектыВыгруженныеСОшибками); + + Исключение + //ОкноИсполнения.Закрыть(); + ВызватьИсключение; + КонецПопытки; + + //ОкноИсполнения.Закрыть(); + #Если Клиент Тогда + Состояние(); + #КонецЕсли + +КонецПроцедуры + +Процедура ЗаписьДанныхОбъектногоТипа(СтрокаДереваМетаданных, ОбъектыВыгруженныеСОшибками, массивДанных) + + ПодзаголовокОкнаИсполнения = СтрокаДереваМетаданных.ОбъектМД.ПолноеИмя(); + + ОкноИсполненияОбщееКоличество = 1; + //ОкноИсполненияОбработано = 0; + + РезультатЗапроса = ПолучитьРезультатЗапросаСОграничениями(СтрокаДереваМетаданных); + + ЗапросИЗапись(РезультатЗапроса, Истина, ОбъектыВыгруженныеСОшибками, массивДанных); + +КонецПроцедуры + +Функция ПолучитьРезультатЗапросаСОграничениями(СтрокаДереваМетаданных) + + СКД = ПодготовитьКомпоновщикДляВыгрузки(СтрокаДереваМетаданных); + + ТаблицаЗначений = Новый ТаблицаЗначений; + + Компоновщик = Новый КомпоновщикНастроекКомпоновкиДанных; + Компоновщик.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СКД)); + Компоновщик.ЗагрузитьНастройки(СКД.НастройкиПоУмолчанию); + + ПолеГруппировки = Компоновщик.Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных")); + + СистемныеПоля = Новый ПолеКомпоновкиДанных("СистемныеПоля"); + ПараметрыДанных = Новый ПолеКомпоновкиДанных("ПараметрыДанных"); + Для Каждого ДоступноеПоле Из Компоновщик.Настройки.ДоступныеПоляВыбора.Элементы Цикл + Если ДоступноеПоле.Поле = СистемныеПоля Или ДоступноеПоле.Поле = ПараметрыДанных Тогда + Продолжить; + КонецЕсли; + ПолеНабора = СКД.НаборыДанных[0].Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных")); + ПолеНабора.Поле = Строка(ДоступноеПоле.Поле); + ПолеНабора.ПутьКДанным = Строка(ДоступноеПоле.Поле); + Если ДоступноеПоле.Папка Тогда + ПолеГруппировкиПапки = Компоновщик.Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных")); + Для Каждого ВложенныйЭлемент Из ДоступноеПоле.Элементы Цикл + ПолеНабора = СКД.НаборыДанных[0].Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных")); + ПолеНабора.Поле = Строка(ВложенныйЭлемент.Поле); + ПолеНабора.ПутьКДанным = Строка(ВложенныйЭлемент.Поле); + ВыбранноеПоле = ПолеГруппировкиПапки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных")); + ВыбранноеПоле.Поле = ВложенныйЭлемент.Поле; + КонецЦикла; + Иначе + ВыбранноеПоле = ПолеГруппировки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных")); + ВыбранноеПоле.Поле = ДоступноеПоле.Поле; + КонецЕсли; + + КонецЦикла; + + //#Если Клиент Тогда + // + //НастройкиКомпоновщикаXDTO = СериализаторXDTO.ЗаписатьXDTO(Компоновщик.Настройки); + //СКДXDTO = СериализаторXDTO.ЗаписатьXDTO(СКД); + //СКДXDTO.defaultSettings = НастройкиКомпоновщикаXDTO; + //СКД = СериализаторXDTO.ПрочитатьXDTO(СКДXDTO); + // + //КонструкторСКД = Новый КонструкторСхемыКомпоновкиДанных(СКД); + //КонструкторСКД.Редактировать(ПолучитьФорму("Форма")); + //#КонецЕсли + + КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; + МакетКомпоновки = КомпоновщикМакета.Выполнить(СКД, Компоновщик.ПолучитьНастройки(),,, Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); + Запрос = Новый Запрос(МакетКомпоновки.НаборыДанных.ОсновнойЗапрос.Запрос); + ПараметрыЗапроса = Запрос.НайтиПараметры(); + Для Каждого Параметр Из ПараметрыЗапроса Цикл + ПараметрМакетаСКД = МакетКомпоновки.ЗначенияПараметров.Найти(Параметр.Имя); + Запрос.УстановитьПараметр(Параметр.Имя, ПараметрМакетаСКД.Значение); + КонецЦикла; + РезультатЗапроса = Запрос.Выполнить(); + //ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; + //ПроцессорКомпоновки.Инициализировать(МакетКомпоновки); + //ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; + //ПроцессорВывода.УстановитьОбъект(ТаблицаЗначений); + //ПроцессорВывода.Вывести(ПроцессорКомпоновки); + + //Возврат ТаблицаЗначений; + //ПостроительОтчета.Выполнить(); + //РезультатЗапроса = ПостроительОтчета.Результат; + // + Возврат РезультатЗапроса; + +КонецФункции + +// Процедура исполняет переданный запрос и записывает полученные через запрос объекты +// +// Параметры +// Запрос - запрос для исполнения, результат содержит выборку объектов для записи +// ЗаписьXML - объект, через которых происходит запись объектов ИБ +// ЗапросВерхнегоУровня - признак необходимости анимации процесса +// +Процедура ЗапросИЗапись(РезультатЗапроса, ЗапросВерхнегоУровня = Ложь, ОбъектыВыгруженныеСОшибками, массивДанных) + + // универсальная процедура выгрузки ссылочных объектов процедура + ОбработкаРезультатаЗапроса(РезультатЗапроса, Истина, ЗапросВерхнегоУровня, ОбъектыВыгруженныеСОшибками, массивДанных, МассивИмен); + +КонецПроцедуры + +// Процедура записывает содержащиеся в выборке результата запроса объекты и необходимые "по ссылке" объекты ИБ +// +// Параметры +// РезультатЗапроса - результат запроса +// ЗаписьXML - объект, через которых происходит запись объектов ИБ +// ЭтоЗапросПоОбъекту - если Истина, выборка должна содержать объекты, на которые может быть ссылка, +// если Ложь, выгружать, как объект не нужно, только обработать возможные ссылки на др. объекты ИБ +// +Процедура ОбработкаРезультатаЗапроса(РезультатЗапроса, ЭтоЗапросПоОбъекту = Ложь, + ЗапросВерхнегоУровня = Ложь, ОбъектыВыгруженныеСОшибками = Неопределено, массивДанных, МассивИмен) + + #Если Клиент Тогда + ОбработкаПрерыванияПользователя(); + #КонецЕсли + + ВыборкаИзРезультатовЗапроса = РезультатЗапроса.Выбрать(); + Если ЗапросВерхнегоУровня Тогда + + ОкноИсполненияОбщееКоличество = ВыборкаИзРезультатовЗапроса.Количество(); + //ОкноИсполнения.ОбновитьВерхнююГраницу(); + + КонецЕсли; + + ВсегоОбработаноОбъектов = 0; + ОбработаноОбъектов = 0; + + Пока ВыборкаИзРезультатовЗапроса.Следующий() Цикл + + ДанныеОбъекта = ВыборкаИзРезультатаЗапросаВСтруктуру(РезультатЗапроса, ВыборкаИзРезультатовЗапроса); + + Если ЭтоЗапросПоОбъекту Тогда + + // выгрузка ссылочных объектов + Ссылка = ДанныеОбъекта.Ссылка; + + Если СсылкаВыгружена(Ссылка) Тогда + + Если ЗапросВерхнегоУровня Тогда + + ОбработаноОбъектов = ОбработаноОбъектов + 1; + Если ОбработаноОбъектов % 100 = 0 Тогда + //ОкноИсполненияОбработано = ОкноИсполненияОбработано + ОбработаноОбъектов; + ОбработаноОбъектов = 0; + КонецЕсли; + + КонецЕсли; + Продолжить; + + КонецЕсли; + + ДобавитьСсылкуКВыгруженным(Ссылка); + + ВсегоОбработаноОбъектов = ВсегоОбработанныхЗаписей(); + + ПоказатьПользователюИнформациюОСостоянииВыгрузки(ВсегоОбработаноОбъектов, ОбъектыВыгруженныеСОшибками); + + КонецЕсли; + + Если мНаличиеВыгрузкиПодчиненныхОбъектов Тогда + + // перебираем колонки запроса в поисках ссылочных значений, которые, возможно, нужно выгрузить + Для Каждого КолонкаЗапроса Из РезультатЗапроса.Колонки Цикл + + ЗначениеКолонки = ДанныеОбъекта[КолонкаЗапроса.Имя]; + + Если ТипЗнч(ЗначениеКолонки) = мТипРезультатЗапроса Тогда + + ОбработкаРезультатаЗапроса(ЗначениеКолонки, , , ОбъектыВыгруженныеСОшибками, массивДанных, МассивИмен); + + Иначе + + ЗаписатьЗначениеПриНеобходимости(ЗначениеКолонки, ОбъектыВыгруженныеСОшибками, массивДанных); + + КонецЕсли; + + КонецЦикла; + + КонецЕсли; + + Если ЭтоЗапросПоОбъекту Тогда + + //Объект = Ссылка.ПолучитьОбъект(); + + Попытка + + //ВыполнитьВспомогательныеДействияДляЗаписиXML(ВсегоОбработаноОбъектов); + + //ЗаписатьXML(ЗаписьXML, Объект); + + //НоваяСтрокаТаблицыДанных = ТаблицаДанных.Добавить(); + //НоваяСтрокаТаблицыДанных.Ссылка = Ссылка; + //ПриИзмененииСсылки(НоваяСтрокаТаблицыДанных); + + ОписательЭлемента = СоздатьОписательЭлементаПоСсылке(Ссылка, МассивИмен, ДанныеОбъекта); + //ОписательЭлемента = СоздатьОписательЭлемента(); + //ОписательЭлемента.Ссылка = Ссылка; + //ОписательЭлемента.ИмяПеременной = УникальноеИмяПеременнойПоСсылке(Ссылка, МассивИмен); + //МетаСсылка = Ссылка.Метаданные(); + //ОписательЭлемента.Метаданное = МетаСсылка; + //ОписательЭлемента.РежимПоиска = "Перем"; + //Если Метаданные.Справочники.Содержит(МетаСсылка) И Ссылка.ЭтоГруппа Тогда + // ОписательЭлемента.РежимСоздания = "Группа"; + //Иначе + // ОписательЭлемента.РежимСоздания = ""; + //КонецЕсли; + МассивДанных.Добавить(ОписательЭлемента); + + Если ВыгружатьСДокументомЕгоДвижения + И Метаданные.Документы.Содержит(Ссылка.Метаданные()) Тогда + + Объект = Ссылка.ПолучитьОбъект(); + // выгрузка движений документа + Для Каждого Движение Из Объект.Движения Цикл + + Движение.Прочитать(); + + Если мНаличиеВыгрузкиПодчиненныхОбъектов + И Движение.Количество() > 0 Тогда + + ТипРегистра = Тип(Движение); + + МассивКолонок = мСоответствиеКолонокДвижений.Получить(ТипРегистра); + + Если МассивКолонок = Неопределено Тогда + + ТаблицаДвижений = Движение.Выгрузить(); + РегистрБухгалтерии = Метаданные.РегистрыБухгалтерии.Содержит(Движение.Метаданные()); + МассивКолонок = ПолучитьМассивКолонокДвижения(ТаблицаДвижений, РегистрБухгалтерии); + мСоответствиеКолонокДвижений.Вставить(ТипРегистра, МассивКолонок); + + КонецЕсли; + + ВыгрузитьПодчиненныеЗначенияНабора(Движение, МассивКолонок, ОбъектыВыгруженныеСОшибками, массивДанных); + + КонецЕсли; + + //ЗаписатьXML(ЗаписьXML, Движение); + + ОписательЭлемента = СоздатьОписательЭлементаПоНаборуЗаписей(Движение, МассивИмен); + МассивДанных.Добавить(ОписательЭлемента); + //Мд = Движение.Метаданные(); + ////Для каждого ЗаписьНабора Из Движение Цикл + // ОписательЭлемента = СоздатьОписательЭлемента(); + // ОписательЭлемента.Реквизиты = Движение; //ЗаписьНабора; + // ОписательЭлемента.Ссылка = Неопределено; + // ОписательЭлемента.Метаданное = Мд; + // МассивДанных.Добавить(ОписательЭлемента); + ////КонецЦикла; + + КонецЦикла; + + КонецЕсли; + + Исключение + + СтрокаОписанияОшибки = ОписаниеОшибки(); + //не смогли записать в XML + // возможно проблема с недопустимыми символами в XML + //Если ТолькоПроверкаНедопустимыхСимволов Тогда + // + // Если ОбъектыВыгруженныеСОшибками.Получить(Ссылка) = Неопределено Тогда + // ОбъектыВыгруженныеСОшибками.Вставить(Ссылка, СтрокаОписанияОшибки); + // КонецЕсли; + // + //Иначе + + ИтоговаяСтрокаСообщения = "Ошибка при выгрузке объекта: " + Строка(Ссылка) + " Тип: " + Строка(ТипЗнч(Ссылка)) + " + |" + СтрокаОписанияОшибки; + + Сообщить(ИтоговаяСтрокаСообщения); + + ВызватьИсключение ИтоговаяСтрокаСообщения; + + //КонецЕсли; + + КонецПопытки; + + КонецЕсли; + + Если ЗапросВерхнегоУровня Тогда + + ОбработаноОбъектов = ОбработаноОбъектов + 1; + Если ОбработаноОбъектов % 100 = 0 Тогда + //ОкноИсполненияОбработано = ОкноИсполненияОбработано + ОбработаноОбъектов; + ОбработаноОбъектов = 0; + КонецЕсли; + + КонецЕсли; + + КонецЦикла; + +// ОкноИсполненияОбработано = ОкноИсполненияОбработано + ОбработаноОбъектов; + +КонецПроцедуры + +Функция СсылкаВыгружена(Ссылка) + + Возврат мВыгруженныеОбъекты.Найти(Ссылка, "Ссылка") <> Неопределено; + +КонецФункции + +Процедура ДобавитьСсылкуКВыгруженным(Ссылка) + + СтрокаДобавления = мВыгруженныеОбъекты.Добавить(); + СтрокаДобавления.ссылка = Ссылка; + +КонецПроцедуры + +// Функция определяет общее количество произведенных записей констант + объектного типа + наборов записей +// +// Возврат - общее количество произведенных записей +Функция ВсегоОбработанныхЗаписей() + Возврат 0; + Возврат мВыгруженныеОбъекты.Количество() + ОбработанныхКонстант + ОбработанныхНаборовЗаписей; + +КонецФункции + +// Процедура анализирует необходимость записи объекта "по ссылке" и осуществляет запись +// +// Параметры +// АнализируемоеЗначение - анализируемое значение +// ЗаписьXML - объект, через которых происходит запись объектов ИБ +// +Процедура ЗаписатьЗначениеПриНеобходимости(АнализируемоеЗначение, ОбъектыВыгруженныеСОшибками, массивДанных) + + Если Не ЗначениеЗаполнено(АнализируемоеЗначение) Тогда + Возврат; + КонецЕсли; + + ОбъектМД = СсылочныеТипы.Получить(ТипЗнч(АнализируемоеЗначение)); + + Если ОбъектМД = Неопределено Тогда + Возврат; // это не ссылка + КонецЕсли; + + Если СсылкаВыгружена(АнализируемоеЗначение) Тогда + Возврат; // объект уже был выгружен + КонецЕсли; + + КлассМДИерархический = КлассМДИерархический(ОбъектМД); // нужно для иерархических метаданных и подгрузки родителей + Если Не КлассМДИерархический Тогда + // Проверка того, что данный тип входит в список выгружаемых дополнительно + СтрокаТаблицы = СоставПолнойВыгрузки.Найти(ОбъектМД, "ОбъектМД"); + Если СтрокаТаблицы <> Неопределено Тогда + Возврат; + КонецЕсли; + КонецЕсли; + + СтрокаТаблицы = СоставВспомогательнойВыгрузки.Найти(ОбъектМД, "ОбъектМД"); + Если СтрокаТаблицы <> Неопределено Тогда + + ДопЗапрос = Новый Запрос("ВЫБРАТЬ * ИЗ " + СтрокаТаблицы.СтрокаДерева.ЭлементОписания.ДляЗапроса + ОбъектМД.Имя + + " КАК ТаблицаОбъекта_" + " ГДЕ Ссылка = &Ссылка"); + ДопЗапрос.УстановитьПараметр("Ссылка", АнализируемоеЗначение); + РезультатЗапроса = ДопЗапрос.Выполнить(); + ЗапросИЗапись(РезультатЗапроса, , ОбъектыВыгруженныеСОшибками, массивДанных); + + КонецЕсли; + +КонецПроцедуры + +Функция ПолучитьМассивКолонокДвижения(ТаблицаДвижений, РегистрБухгалтерии = Ложь) + + МассивКолонок = Новый Массив(); + Для Каждого КолонкаТаблицы Из ТаблицаДвижений.Колонки Цикл + + Если КолонкаТаблицы.Имя = "МоментВремени" + ИЛИ Найти(КолонкаТаблицы.Имя, "ВидСубконтоДт") = 1 + ИЛИ Найти(КолонкаТаблицы.Имя, "ВидСубконтоКт") = 1 Тогда + + Продолжить; + + КонецЕсли; + + Если Найти(КолонкаТаблицы.Имя, "СубконтоДт") = 1 И РегистрБухгалтерии Тогда + + Если МассивКолонок.Найти("СубконтоДт") = Неопределено Тогда + МассивКолонок.Добавить("СубконтоДт"); + Конецесли; + + Продолжить; + + КонецЕсли; + + Если Найти(КолонкаТаблицы.Имя, "СубконтоКт") = 1 И РегистрБухгалтерии Тогда + + Если МассивКолонок.Найти("СубконтоКт") = Неопределено Тогда + МассивКолонок.Добавить("СубконтоКт"); + КонецЕсли; + + Продолжить; + + КонецЕсли; + + МассивКолонок.Добавить(КолонкаТаблицы.Имя); + + КонецЦикла; + + Возврат МассивКолонок; + +КонецФункции + +Процедура ВыгрузитьПодчиненныеЗначенияНабора(Движение, МассивКолонок, ОбъектыВыгруженныеСОшибками, массивДанных) + + Для Каждого ЗаписьИзНабора Из Движение Цикл + + Для Каждого Колонка Из МассивКолонок Цикл + + Если Колонка = "СубконтоДт" + ИЛИ Колонка = "СубконтоКт" Тогда + + Значение = ЗаписьИзНабора[Колонка]; + Для Каждого КлючИЗначение Из Значение Цикл + + Если ЗначениеЗаполнено(КлючИЗначение.Значение) Тогда + ЗаписатьЗначениеПриНеобходимости(КлючИЗначение.Значение, ОбъектыВыгруженныеСОшибками, массивДанных); + КонецЕсли; + + КонецЦикла; + + Иначе + + СохраненноеЗначение = ЗаписьИзНабора[Колонка]; + ЗаписатьЗначениеПриНеобходимости(СохраненноеЗначение, ОбъектыВыгруженныеСОшибками, массивДанных); + + КонецЕсли; + + КонецЦикла; + + КонецЦикла; + +КонецПроцедуры + +// Процедура записывает наборы записей регистра (накопления, бухгалтерии...) +// +// Параметры +// ЗаписьXML - объект, через которых происходит запись объектов ИБ +// СтрокаДереваМетаданных - строка дерева метаданных, соответствующая регистру +// +Процедура ЗаписьРегистра(СтрокаДереваМетаданных, ОбъектыВыгруженныеСОшибками, РегистрБухгалтерии = Ложь, массивДанных) + + ПодзаголовокОкнаИсполнения = СтрокаДереваМетаданных.ОбъектМД.ПолноеИмя(); + ОкноИсполненияОбщееКоличество = 1; + //ОкноИсполненияОбработано = 0; + + МенеджерНабораЗаписей = СтрокаДереваМетаданных.ЭлементОписания.Менеджер[СтрокаДереваМетаданных.ОбъектМД.Имя]; + + ИмяТаблицыДляЗапроса = СтрокаДереваМетаданных.ЭлементОписания.ДляЗапроса; + + ЗаписьЧерезНаборЗаписей(МенеджерНабораЗаписей, ИмяТаблицыДляЗапроса, + СтрокаДереваМетаданных.ОбъектМД.Имя, СтрокаДереваМетаданных, ОбъектыВыгруженныеСОшибками, РегистрБухгалтерии, массивДанных); + +КонецПроцедуры + +// Процедура записывает данные, доступ к которым осуществляется через набор записей +// +// Параметры +// ЗаписьXML - объект, через которых происходит запись объектов ИБ +// СтрокаДереваМетаданных - строка дерева метаданных, соответствующая регистру +// +Процедура ЗаписьЧерезНаборЗаписей(МенеджерНабораЗаписей, ДляЗапроса, ИмяОбъекта, + СтрокаДереваМетаданных = Неопределено, ОбъектыВыгруженныеСОшибками, РегистрБухгалтерии = Ложь, массивДанных) + + // получить состав колонок записи регистра и проверить наличие хотя бы одной записи + Если ДляЗапроса = "РегистрБухгалтерии." Тогда + ИмяТаблицыДляЗапроса = ДляЗапроса + ИмяОбъекта + ".ДвиженияССубконто"; + Иначе + ИмяТаблицыДляЗапроса = ДляЗапроса + ИмяОбъекта; + КонецЕсли; + + Запрос = Новый Запрос("ВЫБРАТЬ ПЕРВЫЕ 1 * ИЗ " + ИмяТаблицыДляЗапроса + " КАК ТаблицаОбъекта_" + ИмяОбъекта); + РезультатЗапросаПоСоставу = Запрос.Выполнить(); + Если РезультатЗапросаПоСоставу.Пустой() Тогда + Возврат; + КонецЕсли; + + ТаблицаДвижений = РезультатЗапросаПоСоставу.Выгрузить(); + МассивКолонок = ПолучитьМассивКолонокДвижения(ТаблицаДвижений, РегистрБухгалтерии); + + // выгрузка регистров осуществляется через его набор записей + НаборЗаписей = МенеджерНабораЗаписей.СоздатьНаборЗаписей(); + + СтрокаПолейОтбора = ПолучитьСтрокуПолейОтбораРегистра(МенеджерНабораЗаписей); + + СКД = ПодготовитьКомпоновщикДляВыгрузки(СтрокаДереваМетаданных, СтрокаПолейОтбора); + //ПостроительОтчета.Выполнить(); + РезультатЗапросаПоЗначениямОтбора = ПолучитьРезультатЗапросаСКД(СКД); + ВыборкаИзРезультата = РезультатЗапросаПоЗначениямОтбора.Выбрать(); + + ОкноИсполненияОбщееКоличество = ВыборкаИзРезультата.Количество(); + //ОкноИсполненияОбработано = 0; + //ОкноИсполнения.ОбновитьВерхнююГраницу(); + + КоличествоПолейОтбора = НаборЗаписей.Отбор.Количество(); + + // читаем наборы записей с различным составом отбора и записываем их + Пока ВыборкаИзРезультата.Следующий() Цикл + + // Пересоздание набора, чтоб чтоб разные экземпляры объекта в МассивДанных попали + НаборЗаписей = МенеджерНабораЗаписей.СоздатьНаборЗаписей(); + Отбор = НаборЗаписей.Отбор; + + // Отбор устанавливаем для регистров, у которых есть хотя бы один отбор (измерение) + Если КоличествоПолейОтбора <> 0 Тогда + + Для Каждого Колонка Из РезультатЗапросаПоЗначениямОтбора.Колонки Цикл + Отбор[Колонка.Имя].Значение = ВыборкаИзРезультата[Колонка.Имя]; + Отбор[Колонка.Имя].ВидСравнения = ВидСравнения.Равно; + Отбор[Колонка.Имя].Использование = Истина; + КонецЦикла; + + КонецЕсли; + + НаборЗаписей.Прочитать(); + + Если мНаличиеВыгрузкиПодчиненныхОбъектов Тогда + + // проверяем все записанные в наборе значения на необходимость записи "по ссылке" + ВыгрузитьПодчиненныеЗначенияНабора(НаборЗаписей, МассивКолонок, ОбъектыВыгруженныеСОшибками, массивДанных); + + КонецЕсли; + + ВсегоОбработаноОбъектов = ВсегоОбработанныхЗаписей(); + Попытка + + //ВыполнитьВспомогательныеДействияДляЗаписиXML(ВсегоОбработаноОбъектов, ЗаписьXML, ТолькоПроверкаНедопустимыхСимволов); + + //ЗаписатьXML(ЗаписьXML, НаборЗаписей); + + ОписательЭлемента = СоздатьОписательЭлементаПоНаборуЗаписей(НаборЗаписей, МассивИмен); + МассивДанных.Добавить(ОписательЭлемента); + //Мд = НаборЗаписей.Метаданные(); + ////Для каждого ЗаписьНабора Из НаборЗаписей Цикл + // ОписательЭлемента = СоздатьОписательЭлемента(); + // ОписательЭлемента.Реквизиты = НаборЗаписей; //ЗаписьНабора; + // ОписательЭлемента.Ссылка = Неопределено; + // ОписательЭлемента.Метаданное = Мд; + // МассивДанных.Добавить(ОписательЭлемента); + ////КонецЦикла; + + Исключение + + СтрокаОписанияОшибки = ОписаниеОшибки(); + //не смогли записать в XML + // возможно проблема с недопустимыми символами в XML + //Если ТолькоПроверкаНедопустимыхСимволов Тогда + // + // НовыйНабор = МенеджерНабораЗаписей.СоздатьНаборЗаписей(); + // + // Для Каждого СтрокаОтбора Из НаборЗаписей.Отбор Цикл + // + // СтрокаОтбораФормы = НовыйНабор.Отбор.Найти(СтрокаОтбора.Имя); + // + // Если СтрокаОтбораФормы = Неопределено Тогда + // Продолжить; + // КонецЕсли; + // + // СтрокаОтбораФормы.Использование = СтрокаОтбора.Использование; + // СтрокаОтбораФормы.ВидСравнения = СтрокаОтбора.ВидСравнения; + // СтрокаОтбораФормы.Значение = СтрокаОтбора.Значение; + // + // КонецЦикла; + // + // ОбъектыВыгруженныеСОшибками.Вставить(НовыйНабор, СтрокаОписанияОшибки); + // + //Иначе + + ИтоговаяСтрокаСообщения = "Ошибка при выгрузке набора записей регистра: " + ДляЗапроса + ИмяОбъекта + " + |" + СтрокаОписанияОшибки; + + Сообщить(ИтоговаяСтрокаСообщения); + + ВызватьИсключение ИтоговаяСтрокаСообщения; + + //КонецЕсли; + + КонецПопытки; + + ОбработанныхНаборовЗаписей = ОбработанныхНаборовЗаписей + 1; + //ОкноИсполненияОбработано = ОкноИсполненияОбработано + 1; + + ПоказатьПользователюИнформациюОСостоянииВыгрузки(ВсегоОбработаноОбъектов, ОбъектыВыгруженныеСОшибками); + + КонецЦикла; + +КонецПроцедуры + +Процедура ПоказатьПользователюИнформациюОСостоянииВыгрузки(ВсегоОбработаноОбъектов, ОбъектыВыгруженныеСОшибками) + + #Если Клиент Тогда + + Если ВсегоОбработаноОбъектов %100 = 0 Тогда + + Если ОбъектыВыгруженныеСОшибками <> Неопределено + И ОбъектыВыгруженныеСОшибками.Количество() > 0 Тогда + + Состояние("Выгруженных объектов - " + ВсегоОбработаноОбъектов + ", ошибок при выгрузке - " + ОбъектыВыгруженныеСОшибками.Количество()); + + Иначе + Состояние("Выгруженных объектов - " + ВсегоОбработаноОбъектов); + КонецЕсли; + + КонецЕсли; + + #КонецЕсли + +КонецПроцедуры + +Функция ПолучитьРезультатЗапросаСКД(СКД) + + Компоновщик = Новый КомпоновщикНастроекКомпоновкиДанных; + Компоновщик.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СКД)); + Компоновщик.ЗагрузитьНастройки(СКД.НастройкиПоУмолчанию); + + СистемныеПоля = Новый ПолеКомпоновкиДанных("СистемныеПоля"); + ПараметрыДанных = Новый ПолеКомпоновкиДанных("ПараметрыДанных"); + Для Каждого ДоступноеПоле Из Компоновщик.Настройки.ДоступныеПоляВыбора.Элементы Цикл + Если ДоступноеПоле.Поле = СистемныеПоля Или ДоступноеПоле.Поле = ПараметрыДанных Тогда + Продолжить; + КонецЕсли; + ПолеНабора = СКД.НаборыДанных[0].Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных")); + ПолеНабора.Поле = Строка(ДоступноеПоле.Поле); + ПолеНабора.ПутьКДанным = Строка(ДоступноеПоле.Поле); + Если ДоступноеПоле.Папка Тогда + ВыбранноеПолеГруппа = Компоновщик.Настройки.Выбор.Элементы.Добавить(Тип("ГруппаВыбранныхПолейКомпоновкиДанных")); + ВыбранноеПолеГруппа.Заголовок = ДоступноеПоле.Заголовок; + Для Каждого ВложенныйЭлемент Из ДоступноеПоле.Элементы Цикл + ПолеНабора = СКД.НаборыДанных[0].Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных")); + ПолеНабора.Поле = Строка(ВложенныйЭлемент.Поле); + ПолеНабора.ПутьКДанным = Строка(ВложенныйЭлемент.Поле); + ВыбранноеПоле = ВыбранноеПолеГруппа.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных")); + ВыбранноеПоле.Поле = ВложенныйЭлемент.Поле; + КонецЦикла; + Иначе + ВыбранноеПоле = Компоновщик.Настройки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных")); + ВыбранноеПоле.Поле = ДоступноеПоле.Поле; + КонецЕсли; + + КонецЦикла; + + ПолеГруппировки = Компоновщик.Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных")); + ПолеГруппировки.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных")); + + + //#Если Клиент Тогда + // + //НастройкиКомпоновщикаXDTO = СериализаторXDTO.ЗаписатьXDTO(Компоновщик.Настройки); + //СКДXDTO = СериализаторXDTO.ЗаписатьXDTO(СКД); + //СКДXDTO.defaultSettings = НастройкиКомпоновщикаXDTO; + //СКД = СериализаторXDTO.ПрочитатьXDTO(СКДXDTO); + // + //КонструкторСКД = Новый КонструкторСхемыКомпоновкиДанных(СКД); + //КонструкторСКД.Редактировать(ПолучитьФорму("Форма")); + //#КонецЕсли + + КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; + МакетКомпоновки = КомпоновщикМакета.Выполнить(СКД, Компоновщик.ПолучитьНастройки(),,, Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); + Запрос = Новый Запрос(МакетКомпоновки.НаборыДанных.ОсновнойЗапрос.Запрос); + ПараметрыЗапроса = Запрос.НайтиПараметры(); + Для Каждого Параметр Из ПараметрыЗапроса Цикл + ПараметрМакетаСКД = МакетКомпоновки.ЗначенияПараметров.Найти(Параметр.Имя); + Запрос.УстановитьПараметр(Параметр.Имя, ПараметрМакетаСКД.Значение); + КонецЦикла; + РезультатЗапроса = Запрос.Выполнить(); + + Возврат РезультатЗапроса; + +КонецФункции + +Функция ПолучитьСтрокуПолейОтбораРегистра(МенеджерНабораЗаписей) + + НаборЗаписей = МенеджерНабораЗаписей.СоздатьНаборЗаписей(); + + Отбор = НаборЗаписей.Отбор; + + СтрокаПолейОтбора = ""; + Для Каждого ЭлементОтбора Из Отбор Цикл + Если Не ПустаяСтрока(СтрокаПолейОтбора) Тогда + СтрокаПолейОтбора = СтрокаПолейОтбора + ","; + КонецЕсли; + СтрокаПолейОтбора = СтрокаПолейОтбора + ЭлементОтбора.Имя; + КонецЦикла; + Возврат СтрокаПолейОтбора; +КонецФункции + +Функция СформироватьОтчетПоОтобраннымДанным(СтрокаДереваМетаданных) Экспорт + + СКД = ПодготовитьКомпоновщикДляВыгрузки(СтрокаДереваМетаданных); + + Компоновщик = Новый КомпоновщикНастроекКомпоновкиДанных; + Компоновщик.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СКД)); + Компоновщик.ЗагрузитьНастройки(СКД.НастройкиПоУмолчанию); + + СистемныеПоля = Новый ПолеКомпоновкиДанных("СистемныеПоля"); + ПараметрыДанных = Новый ПолеКомпоновкиДанных("ПараметрыДанных"); + Для Каждого ДоступноеПоле Из Компоновщик.Настройки.ДоступныеПоляВыбора.Элементы Цикл + Если ДоступноеПоле.Поле = СистемныеПоля Или ДоступноеПоле.Поле = ПараметрыДанных Или ДоступноеПоле.Папка Тогда + Продолжить; + КонецЕсли; + ПолеНабора = СКД.НаборыДанных[0].Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных")); + ПолеНабора.Поле = Строка(ДоступноеПоле.Поле); + ПолеНабора.ПутьКДанным = Строка(ДоступноеПоле.Поле); + + ВыбранноеПоле = Компоновщик.Настройки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных")); + ВыбранноеПоле.Поле = ДоступноеПоле.Поле; + КонецЦикла; + + ПолеГруппировки = Компоновщик.Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных")); + ПолеГруппировки.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных")); + + КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; + МакетКомпоновки = КомпоновщикМакета.Выполнить(СКД, Компоновщик.ПолучитьНастройки()); + ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; + ПроцессорКомпоновки.Инициализировать(МакетКомпоновки); + ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; + ТабличныйДокумент = Новый ТабличныйДокумент; + ПроцессорВывода.УстановитьДокумент(ТабличныйДокумент); + ПроцессорВывода.Вывести(ПроцессорКомпоновки); + + ТабличныйДокумент.ОтображатьЗаголовки = Ложь; + ТабличныйДокумент.ОтображатьСетку = Ложь; + + Возврат ТабличныйДокумент; + +КонецФункции + +Функция ВыборкаИзРезультатаЗапросаВСтруктуру(РезультатЗапроса, СтрокаВыборки) + + РезультирующаяСтруктура = Новый Структура; + + Если РезультатЗапроса = Неопределено Или СтрокаВыборки = Неопределено Тогда + Возврат РезультирующаяСтруктура; + КонецЕсли; + + Для Каждого Колонка Из РезультатЗапроса.Колонки Цикл + РезультирующаяСтруктура.Вставить(Колонка.Имя, СтрокаВыборки[Колонка.Имя]); + КонецЦикла; + + Возврат РезультирующаяСтруктура; + +КонецФункции + +мНаличиеВыгрузкиПодчиненныхОбъектов = Ложь; +мТипРезультатЗапроса = Тип("РезультатЗапроса"); +мСоответствиеКолонокДвижений = Новый Соответствие; + diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/maps.txt" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/maps.txt" new file mode 100644 index 00000000..0cfbc9b0 --- /dev/null +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/maps.txt" @@ -0,0 +1,20 @@ +Form\УправляемаяФорма\Форма.txt-->103ebd31-7643-4b1a-ba8b-4c789efcb71f.0 (2 373, 2 857) +Макеты\СозданиеДвухЗаписейВРегистреСведений.mxl-->a5b4bbdd-19ca-489b-9dce-60e08daa143f.0 +Макеты\СозданиеДвухЗаписейРегистраБухгалтерии.mxl-->178f7433-f515-4d45-befa-5af52252dd0a.0 +Макеты\СозданиеДвухЗаписейРегистраНакопления.mxl-->6da54382-70f9-4d82-aa91-d001b86297ee.0 +Макеты\СозданиеДвухПростыхСправочников.mxl-->3bcacc26-7049-41bb-94bc-b45f76986467.0 +Макеты\СозданиеДокументаСДвумяСтрокамиВТабличнойЧасти.mxl-->5e00fac5-7796-4854-8e6b-c5933432d814.0 +Макеты\СозданиеДокументаСДвумяТабличнымиЧастями.mxl-->799b41e4-6664-42d1-ba19-2dd1a0822bf6.0 +Макеты\СозданиеЗаполнениеУзловПланаОбмена.mxl-->39a44593-4b6d-4b66-8cda-2f0e9ea7d454.0 +Макеты\СозданиеНесколькихПользователейИБ.mxl-->7ce6ce19-d0d0-4f0d-96c4-74d9b6238df7.0 +Макеты\СозданиеОбъектаСЗаполненнымРеквизитомТипаПеречисление.mxl-->aeaa86b2-a07f-40ef-afd6-1b116e7a37b6.0 +Макеты\СозданиеПодчиненногоСправочника.mxl-->624cf4b8-3591-4ce1-9579-6ac683689eb1.0 +Макеты\СозданиеПростогоСправочника_ПредставлениеНеИдентификатор.mxl-->f930823a-837f-43ad-9791-02742bdf3c7a.0 +Макеты\СозданиеПростогоСправочника.mxl-->efa2b5fc-de31-4695-a81b-8acc1a24d8f8.0 +Макеты\СозданиеСвязанныхСправочников.mxl-->7b3de063-6588-445c-a318-e989e219f24c.0 +Макеты\СозданиеСправочникаВГруппе.mxl-->96bd1b96-9768-4a45-a972-1a728188f448.0 +Макеты\СозданиеСправочникаСДвумяСтрокамиВТабличнойЧасти.mxl-->9bd9901f-46d8-4c40-88b9-f58ac48f0fd0.0 +Макеты\СозданиеСправочникаСПустойСсылкойРеквизитаСоставногоТипа.mxl-->f04e1194-a196-4a4b-b797-7ece45ac1872.0 +Макеты\СозданиеСправочникаСРеквизитомСсылка_РежимПоискаКод.mxl-->9c8d5c50-f21a-4e92-a2df-2a0b5306e991.0 +Макеты\ЭталонМакетаДвухЗаписейВРегистреСведений.mxl-->96508b55-1be0-4dbb-9a9d-a96d9a404282.0 +Макеты\ЭталонМакетаПростогоСправочника.mxl-->4b38e3ee-f722-47b8-9c4c-1c4aa073ba10.0 diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/renames.txt" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/renames.txt" new file mode 100644 index 00000000..2564466f --- /dev/null +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/renames.txt" @@ -0,0 +1,49 @@ +01b3462f-bb96-43d3-862b-e5cbcf9afd55-->und\01b3462f-bb96-43d3-862b-e5cbcf9afd55 +01b3462f-bb96-43d3-862b-e5cbcf9afd55.0-->Form\Форма +103ebd31-7643-4b1a-ba8b-4c789efcb71f-->und\103ebd31-7643-4b1a-ba8b-4c789efcb71f +103ebd31-7643-4b1a-ba8b-4c789efcb71f.0-->und\103ebd31-7643-4b1a-ba8b-4c789efcb71f.0 +178f7433-f515-4d45-befa-5af52252dd0a-->und\178f7433-f515-4d45-befa-5af52252dd0a +178f7433-f515-4d45-befa-5af52252dd0a.0-->und\178f7433-f515-4d45-befa-5af52252dd0a.0 +39a44593-4b6d-4b66-8cda-2f0e9ea7d454-->und\39a44593-4b6d-4b66-8cda-2f0e9ea7d454 +39a44593-4b6d-4b66-8cda-2f0e9ea7d454.0-->und\39a44593-4b6d-4b66-8cda-2f0e9ea7d454.0 +3bcacc26-7049-41bb-94bc-b45f76986467-->und\3bcacc26-7049-41bb-94bc-b45f76986467 +3bcacc26-7049-41bb-94bc-b45f76986467.0-->und\3bcacc26-7049-41bb-94bc-b45f76986467.0 +4b38e3ee-f722-47b8-9c4c-1c4aa073ba10-->und\4b38e3ee-f722-47b8-9c4c-1c4aa073ba10 +4b38e3ee-f722-47b8-9c4c-1c4aa073ba10.0-->und\4b38e3ee-f722-47b8-9c4c-1c4aa073ba10.0 +54f1dec0-8f13-4065-9f45-0e74788142d2.0\info-->und\54f1dec0-8f13-4065-9f45-0e74788142d2.0\info +54f1dec0-8f13-4065-9f45-0e74788142d2.0\text-->ObjectModule.txt +5e00fac5-7796-4854-8e6b-c5933432d814-->und\5e00fac5-7796-4854-8e6b-c5933432d814 +5e00fac5-7796-4854-8e6b-c5933432d814.0-->und\5e00fac5-7796-4854-8e6b-c5933432d814.0 +624cf4b8-3591-4ce1-9579-6ac683689eb1-->und\624cf4b8-3591-4ce1-9579-6ac683689eb1 +624cf4b8-3591-4ce1-9579-6ac683689eb1.0-->und\624cf4b8-3591-4ce1-9579-6ac683689eb1.0 +6da54382-70f9-4d82-aa91-d001b86297ee-->und\6da54382-70f9-4d82-aa91-d001b86297ee +6da54382-70f9-4d82-aa91-d001b86297ee.0-->und\6da54382-70f9-4d82-aa91-d001b86297ee.0 +799b41e4-6664-42d1-ba19-2dd1a0822bf6-->und\799b41e4-6664-42d1-ba19-2dd1a0822bf6 +799b41e4-6664-42d1-ba19-2dd1a0822bf6.0-->und\799b41e4-6664-42d1-ba19-2dd1a0822bf6.0 +7b3de063-6588-445c-a318-e989e219f24c-->und\7b3de063-6588-445c-a318-e989e219f24c +7b3de063-6588-445c-a318-e989e219f24c.0-->und\7b3de063-6588-445c-a318-e989e219f24c.0 +7ce6ce19-d0d0-4f0d-96c4-74d9b6238df7-->und\7ce6ce19-d0d0-4f0d-96c4-74d9b6238df7 +7ce6ce19-d0d0-4f0d-96c4-74d9b6238df7.0-->und\7ce6ce19-d0d0-4f0d-96c4-74d9b6238df7.0 +96508b55-1be0-4dbb-9a9d-a96d9a404282-->und\96508b55-1be0-4dbb-9a9d-a96d9a404282 +96508b55-1be0-4dbb-9a9d-a96d9a404282.0-->und\96508b55-1be0-4dbb-9a9d-a96d9a404282.0 +96bd1b96-9768-4a45-a972-1a728188f448-->und\96bd1b96-9768-4a45-a972-1a728188f448 +96bd1b96-9768-4a45-a972-1a728188f448.0-->und\96bd1b96-9768-4a45-a972-1a728188f448.0 +9bd9901f-46d8-4c40-88b9-f58ac48f0fd0-->und\9bd9901f-46d8-4c40-88b9-f58ac48f0fd0 +9bd9901f-46d8-4c40-88b9-f58ac48f0fd0.0-->und\9bd9901f-46d8-4c40-88b9-f58ac48f0fd0.0 +9c8d5c50-f21a-4e92-a2df-2a0b5306e991-->und\9c8d5c50-f21a-4e92-a2df-2a0b5306e991 +9c8d5c50-f21a-4e92-a2df-2a0b5306e991.0-->und\9c8d5c50-f21a-4e92-a2df-2a0b5306e991.0 +a5b4bbdd-19ca-489b-9dce-60e08daa143f-->und\a5b4bbdd-19ca-489b-9dce-60e08daa143f +a5b4bbdd-19ca-489b-9dce-60e08daa143f.0-->und\a5b4bbdd-19ca-489b-9dce-60e08daa143f.0 +aeaa86b2-a07f-40ef-afd6-1b116e7a37b6-->und\aeaa86b2-a07f-40ef-afd6-1b116e7a37b6 +aeaa86b2-a07f-40ef-afd6-1b116e7a37b6.0-->und\aeaa86b2-a07f-40ef-afd6-1b116e7a37b6.0 +copyinfo-->und\copyinfo +d0ac533a-c210-47e2-94e1-6d5329bcc033-->und\d0ac533a-c210-47e2-94e1-6d5329bcc033 +efa2b5fc-de31-4695-a81b-8acc1a24d8f8-->und\efa2b5fc-de31-4695-a81b-8acc1a24d8f8 +efa2b5fc-de31-4695-a81b-8acc1a24d8f8.0-->und\efa2b5fc-de31-4695-a81b-8acc1a24d8f8.0 +f04e1194-a196-4a4b-b797-7ece45ac1872-->und\f04e1194-a196-4a4b-b797-7ece45ac1872 +f04e1194-a196-4a4b-b797-7ece45ac1872.0-->und\f04e1194-a196-4a4b-b797-7ece45ac1872.0 +f930823a-837f-43ad-9791-02742bdf3c7a-->und\f930823a-837f-43ad-9791-02742bdf3c7a +f930823a-837f-43ad-9791-02742bdf3c7a.0-->und\f930823a-837f-43ad-9791-02742bdf3c7a.0 +root-->und\root +version-->und\version +versions-->und\versions diff --git a/src/xddDataFixtureGen/und/01b3462f-bb96-43d3-862b-e5cbcf9afd55 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/01b3462f-bb96-43d3-862b-e5cbcf9afd55" similarity index 100% rename from src/xddDataFixtureGen/und/01b3462f-bb96-43d3-862b-e5cbcf9afd55 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/01b3462f-bb96-43d3-862b-e5cbcf9afd55" diff --git a/src/xddDataFixtureGen/und/103ebd31-7643-4b1a-ba8b-4c789efcb71f "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/103ebd31-7643-4b1a-ba8b-4c789efcb71f" similarity index 100% rename from src/xddDataFixtureGen/und/103ebd31-7643-4b1a-ba8b-4c789efcb71f rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/103ebd31-7643-4b1a-ba8b-4c789efcb71f" diff --git a/src/xddDataFixtureGen/und/103ebd31-7643-4b1a-ba8b-4c789efcb71f.0 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/103ebd31-7643-4b1a-ba8b-4c789efcb71f.0" similarity index 79% rename from src/xddDataFixtureGen/und/103ebd31-7643-4b1a-ba8b-4c789efcb71f.0 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/103ebd31-7643-4b1a-ba8b-4c789efcb71f.0" index 1787fa8b..c40e089d 100644 --- a/src/xddDataFixtureGen/und/103ebd31-7643-4b1a-ba8b-4c789efcb71f.0 +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/103ebd31-7643-4b1a-ba8b-4c789efcb71f.0" @@ -105,7 +105,7 @@ {0,0,0},1, {1,1, {0} -},2,cd5394d0-7dda-4b56-8927-93ccbe967a01, +},3,cd5394d0-7dda-4b56-8927-93ccbe967a01, {17, {57,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, {0, @@ -1586,6 +1586,611 @@ hTRe/ovuO95tKLz8/wMIMJTrkeBH9AAAAABJRU5ErkJggg==} {"Pattern"}, {"Pattern"},"","", {0},0},2,2,1,0, +{"Pattern"},"","",2,2},1},cd5394d0-7dda-4b56-8927-93ccbe967a01, +{17, +{143,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},4,"ГруппаПользователиИБ", +{1,1, +{"ru","Пользователи ИБ"} +}, +{1,1, +{"ru","Группа пользователи ИБ"} +},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{10, +{3,0, +{0},"",-1,-1,1,0},0,0, +{0}, +{1,0},1, +{"Pattern"},""},1,143c00f7-a42d-4cd7-9189-88e4467dc768, +{42, +{144,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},"ПользователиИнфБазы",0,0,1, +{1,0}, +{1,0}, +{2, +{1}, +{0,03587dc5-8be3-4235-9aac-383ec90f5906} +},0,1,0,0,0,1,1,0,0,0,0,0,1,0,1,1,0,1,2,2,1,1,0,0,0,1,2,0,0,1,1, +{0}, +{3,0, +{0},"",-1,-1,1,0}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1,1,1,13, +{"U"}, +{0}, +{0},1, +{17, +{145,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},8,"ПользователиИнфБазыКонтекстноеМеню", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{1,1},0,1},1, +{17, +{146,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} +}, +{6,3,0,1}, +{0,0,0},1, +{0,0,1},0,1},7,77ffcc29-7f2d-4223-b22f-19666e7250ba, +{30, +{147,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},1,"ПользователиИнфБазыНомерСтроки",1,0, +{1,0}, +{1,0}, +{3, +{1}, +{0,03587dc5-8be3-4235-9aac-383ec90f5906}, +{-2} +}, +{0},1,0,2,0,2, +{1,0}, +{1,0},1,1,0,3,0,3,2,3,0, +{3,0, +{0},"",-1,-1,1,0}, +{3,0, +{0},"",-1,-1,1,0}, +{3,4, +{0} +}, +{6,3,0,1}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{9,0,0,2,2,2, +{1,0},0, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},2, +{0} +}, +{0},1, +{17, +{148,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},8,"ПользователиИнфБазыНомерСтрокиКонтекстноеМеню", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{1,1},0,1},1, +{"Pattern"}, +{"Pattern"},"","", +{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, +{30, +{149,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},2,"ПользователиИнфБазыИмя",1,0, +{1,0}, +{1,0}, +{3, +{1}, +{0,03587dc5-8be3-4235-9aac-383ec90f5906}, +{0,125e5b0a-0bc6-45cb-a336-cb6a4d287136} +}, +{0},1,0,2,0,2, +{1,0}, +{1,0},1,1,0,3,0,3,2,3,0, +{3,0, +{0},"",-1,-1,1,0}, +{3,0, +{0},"",-1,-1,1,0}, +{3,4, +{0} +}, +{6,3,0,1}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{26, +{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, +{"U"}, +{"U"},"",0, +{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}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},1, +{3,0,0},0}, +{0},1, +{17, +{150,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},8,"ПользователиИнфБазыИмяКонтекстноеМеню", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{1,1},0,1},1, +{"Pattern"}, +{"Pattern"},"","", +{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, +{30, +{151,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},2,"ПользователиИнфБазыПолноеИмя",1,0, +{1,0}, +{1,0}, +{3, +{1}, +{0,03587dc5-8be3-4235-9aac-383ec90f5906}, +{0,8f38c53d-a655-4374-ad31-85648b2548a3} +}, +{0},1,0,2,0,2, +{1,0}, +{1,0},1,1,0,3,0,3,2,3,0, +{3,0, +{0},"",-1,-1,1,0}, +{3,0, +{0},"",-1,-1,1,0}, +{3,4, +{0} +}, +{6,3,0,1}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{26, +{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, +{"U"}, +{"U"},"",0, +{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}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},1, +{3,0,0},0}, +{0},1, +{17, +{152,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},8,"ПользователиИнфБазыПолноеИмяКонтекстноеМеню", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{1,1},0,1},1, +{"Pattern"}, +{"Pattern"},"","", +{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, +{30, +{153,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},2,"ПользователиИнфБазыРоли",1,0, +{1,0}, +{1,0}, +{3, +{1}, +{0,03587dc5-8be3-4235-9aac-383ec90f5906}, +{0,48667483-dd77-4d30-9cd6-6e2a8fb4a14f} +}, +{0},1,0,2,0,2, +{1,0}, +{1,0},1,1,0,3,0,3,2,3,0, +{3,0, +{0},"",-1,-1,1,0}, +{3,0, +{0},"",-1,-1,1,0}, +{3,4, +{0} +}, +{6,3,0,1}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{26, +{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, +{"U"}, +{"U"},"",0, +{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}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},1, +{3,0,0},0}, +{0},1, +{17, +{154,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},8,"ПользователиИнфБазыРолиКонтекстноеМеню", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{1,1},0,1},1, +{"Pattern"}, +{"Pattern"},"","", +{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, +{30, +{155,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},2,"ПользователиИнфБазыАутентификацияСтандартная",1,0, +{1,0}, +{1,0}, +{3, +{1}, +{0,03587dc5-8be3-4235-9aac-383ec90f5906}, +{0,81518c3c-ec9f-4b7a-aee3-1b61b961744a} +}, +{0},1,0,2,0,2, +{1,0}, +{1,0},1,1,0,3,0,3,2,3,0, +{3,0, +{0},"",-1,-1,1,0}, +{3,0, +{0},"",-1,-1,1,0}, +{3,4, +{0} +}, +{6,3,0,1}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{26, +{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, +{"U"}, +{"U"},"",0, +{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}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},1, +{3,0,0},0}, +{0},1, +{17, +{156,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},8,"ПользователиИнфБазыАутентификацияСтандартнаяКонтекстноеМеню", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{1,1},0,1},1, +{"Pattern"}, +{"Pattern"},"","", +{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, +{30, +{157,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},2,"ПользователиИнфБазыАутентификацияОС",1,0, +{1,0}, +{1,0}, +{3, +{1}, +{0,03587dc5-8be3-4235-9aac-383ec90f5906}, +{0,eb823c40-ef8a-40b4-909e-43c5f08beec8} +}, +{0},1,0,2,0,2, +{1,0}, +{1,0},1,1,0,3,0,3,2,3,0, +{3,0, +{0},"",-1,-1,1,0}, +{3,0, +{0},"",-1,-1,1,0}, +{3,4, +{0} +}, +{6,3,0,1}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{26, +{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, +{"U"}, +{"U"},"",0, +{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}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},1, +{3,0,0},0}, +{0},1, +{17, +{158,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},8,"ПользователиИнфБазыАутентификацияОСКонтекстноеМеню", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{1,1},0,1},1, +{"Pattern"}, +{"Pattern"},"","", +{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, +{30, +{159,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},2,"ПользователиИнфБазыПользовательОС",1,0, +{1,0}, +{1,0}, +{3, +{1}, +{0,03587dc5-8be3-4235-9aac-383ec90f5906}, +{0,4a598a3c-f0a3-4431-84bd-f3073a683a04} +}, +{0},1,0,2,0,2, +{1,0}, +{1,0},1,1,0,3,0,3,2,3,0, +{3,0, +{0},"",-1,-1,1,0}, +{3,0, +{0},"",-1,-1,1,0}, +{3,4, +{0} +}, +{6,3,0,1}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{26, +{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, +{"U"}, +{"U"},"",0, +{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}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},1, +{3,0,0},0}, +{0},1, +{17, +{160,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},8,"ПользователиИнфБазыПользовательОСКонтекстноеМеню", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{1,1},0,1},1, +{"Pattern"}, +{"Pattern"},"","", +{0},0},2,2,1,0, {"Pattern"},"","",2,2},1},1},77ffcc29-7f2d-4223-b22f-19666e7250ba, {30, {17,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, @@ -1656,6 +2261,34 @@ hTRe/ovuO95tKLz8/wMIMJTrkeBH9AAAAABJRU5ErkJggg==} {6,3,0,1}, {0,0,0},0,0,1} }," + +// { Plugin interface +&НаКлиенте +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); +КонецФункции + +&НаСервере +Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) + Возврат Объект().ОписаниеПлагина(ВозможныеТипыПлагинов); +КонецФункции +// } Plugin interface + +// { Методы генерации тестовых данных + +&НаКлиенте +Функция СоздатьДанныеПоТабличномуДокументу(ТабличныйДокумент, РежимыЗагрузкиИлиИмяКолонкиЗамещения = Неопределено, ИмяКолонкиЗамещения = Неопределено) Экспорт + Данные = СоздатьДанныеПоТабличномуДокументуСервер(ТабличныйДокумент, РежимыЗагрузкиИлиИмяКолонкиЗамещения, ИмяКолонкиЗамещения); + Возврат Данные; +КонецФункции + +&НаСервере +Функция СоздатьДанныеПоТабличномуДокументуСервер(ТабличныйДокумент, РежимыЗагрузкиИлиИмяКолонкиЗамещения, ИмяКолонкиЗамещения) + Данные = Объект().СоздатьДанныеПоТабличномуДокументу(ТабличныйДокумент, РежимыЗагрузкиИлиИмяКолонкиЗамещения, ИмяКолонкиЗамещения); + Возврат Неопределено; //Данные; +КонецФункции +//} + //////////////////////////////////////////////////////////////////////////////// // ОБРАБОТЧИКИ СОБЫТИЙ ЭЛЕМЕНТОВ ШАПКИ ФОРМЫ @@ -1677,6 +2310,8 @@ hTRe/ovuO95tKLz8/wMIMJTrkeBH9AAAAABJRU5ErkJggg==} КоманднаяПанель1СоздатьМакетДанныхПоМетаданным(); ИначеЕсли ПанельИсточников.ТекущаяСтраница = ПанельИсточников.ПодчиненныеЭлементы.ГруппаТаблицаДанных Тогда КоманднаяПанель1СоздатьМакетДанныхПоТаблицеДанных(); + ИначеЕсли ПанельИсточников.ТекущаяСтраница = ПанельИсточников.ПодчиненныеЭлементы.ГруппаПользователиИБ Тогда + КоманднаяПанель1СоздатьМакетДанныхДляПользователейИБ(); КонецЕсли; КонецПроцедуры @@ -1697,28 +2332,22 @@ hTRe/ovuO95tKLz8/wMIMJTrkeBH9AAAAABJRU5ErkJggg==} КонецПроцедуры &НаКлиенте -Процедура ПротестироватьЗагрузкуМакета(Команда) - ЕстьВстроеннаяОбработка_юТест = Объект.ЕстьВстроеннаяОбработка_юТест; - ЭтоВстроеннаяОбработка = Объект.ЭтоВстроеннаяОбработка; - - Если ЭтоВстроеннаяОбработка И Не ЕстьВстроеннаяОбработка_юТест Тогда - СообщениеПользователю = Новый СообщениеПользователю; - СообщениеПользователю.Текст = НСтр(""ru = 'В конфигурации отсутствует обработка ""+ИмяЗапускателяТестов()+"". Функция тестирования загрузки макета недоступна.'""); - СообщениеПользователю.Сообщить(); - Возврат; - КонецЕсли; +Процедура КоманднаяПанель1СоздатьМакетДанныхДляПользователейИБ() - Если ЕстьВстроеннаяОбработка_юТест Тогда - ПроверитьЗагрузкуМакетаСервер(Неопределено, Макет, Истина); - Иначе - путьФайл_юТест = ПолучитьПутьОбработкиЗапускателяТестов(); - ИдОбработки_юТест = ИмяЗапускателяТестов(); - ИДПодключеннойОбработки = ПодключитьНаСервереВнешнююОбработкуОтКлиента(путьФайл_юТест, ИдОбработки_юТест); - ПроверитьЗагрузкуМакетаСервер(ИДПодключеннойОбработки, Макет, Ложь); - КонецЕсли; + МассивИменПользователей = Новый Массив; + Для Каждого ИдентификаторСтроки Из Элементы.ПользователиИнфБазы.ВыделенныеСтроки Цикл + Строка = Объект.ПользователиИБ.НайтиПоИдентификатору(ИдентификаторСтроки); + МассивИменПользователей.Добавить(Строка.Имя); + КонецЦикла; + НовыйМакет = СоздатьМакетДанныхПоПользователямИБСервер(МассивИменПользователей); КонецПроцедуры +&НаКлиенте +Процедура ПротестироватьЗагрузкуМакета(Команда) + ПроверитьЗагрузкуМакетаСервер(Макет); +КонецПроцедуры + &НаКлиенте Процедура СохранитьМакетДанныхВФайл(Команда) ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); @@ -1768,49 +2397,13 @@ hTRe/ovuO95tKLz8/wMIMJTrkeBH9AAAAABJRU5ErkJggg==} КонецФункции -&НаСервере -Функция ПодключитьВнешнююОбработкуСервер(АдресХранилища, ИдентификаторОбработки, ПолныйПутьФайлаОбработки) - Возврат Объект().ПодключитьВнешнююОбработку(АдресХранилища, ИдентификаторОбработки, ПолныйПутьФайлаОбработки); -КонецФункции - -&НаКлиенте -Функция ИмяЗапускателяТестов() - Возврат ИмяЗапускателяТестовСервер(); -КонецФункции - -&НаСервере -Функция ИмяЗапускателяТестовСервер() - ОсновнойОбъект = Объект(); - Возврат ОсновнойОбъект.ИмяЗапускателяТестов(); -КонецФункции - -&НаКлиенте -Функция ПолучитьПутьОбработкиЗапускателяТестов() - - имяФайла_Раннера = ИмяЗапускателяТестов() + "".epf""; - Файл = Новый Файл(ПутьОбработкиЗапускателяТестов + имяФайла_Раннера); - Если НЕ Файл.Существует() Тогда - Файл = Новый Файл(ПутьОбработкиЗапускателяТестов + ""..\"" + имяФайла_Раннера); - Если НЕ Файл.Существует() Тогда - ВызватьИсключение ""Не удалось найти файл ""+Файл.ПолноеИмя; - КонецЕсли; - КонецЕсли; - путьФайл_Раннер = Файл.ПолноеИмя; - Возврат путьФайл_Раннер; -КонецФункции - -&НаКлиенте -Функция ПодключитьНаСервереВнешнююОбработкуОтКлиента(ПолныйПутьФайлаОбработки, ИдентификаторОбработки) - АдресХранилища = """"; - //#Если ТонкийКлиент Тогда - ПоместитьФайл(АдресХранилища, ПолныйПутьФайлаОбработки,, Ложь); - //#КонецЕсли - Возврат ПодключитьВнешнююОбработкуСервер(АдресХранилища, ИдентификаторОбработки, ПолныйПутьФайлаОбработки); +Функция СоздатьМакетДанныхПоПользователямИБСервер(МассивИменПользователей) + Возврат Объект().СоздатьМакетДанныхПоПользователямИБ(Макет, МассивИменПользователей); КонецФункции &НаСервере -Процедура ПроверитьЗагрузкуМакетаСервер(ИдОбработки_юТест, ТабличныйДокумент, ЕстьВстроеннаяОбработка_юТест) - Объект().ПроверитьЗагрузкуМакета(ИдОбработки_юТест, ТабличныйДокумент, ЕстьВстроеннаяОбработка_юТест); +Процедура ПроверитьЗагрузкуМакетаСервер(ТабличныйДокумент) + Объект().ПроверитьЗагрузкуМакета(ТабличныйДокумент); КонецПроцедуры @@ -1821,19 +2414,15 @@ hTRe/ovuO95tKLz8/wMIMJTrkeBH9AAAAABJRU5ErkJggg==} ОбъектНаСервере = Объект(); ЭтаФорма.Заголовок = ОбъектНаСервере.ЗаголовокФормы(); - ИмяЗапускателяТестов = ИмяЗапускателяТестовСервер(); - ОбъектНаСервере.Инициализация(); + ОбъектНаСервере.НачальнаяИнициализация(); ЗначениеВРеквизитФормы(ОбъектНаСервере.ДеревоМетаданных, ""Объект.ДеревоМетаданных""); + ЗначениеВРеквизитФормы(ОбъектНаСервере.ПользователиИБ, ""Объект.ПользователиИБ""); ОбъектНаСервере.СписокВыбора_РежимПоиска(Элементы.ТаблицаДанныхРежимПоиска.СписокВыбора); ОбъектНаСервере.СписокВыбора_РежимСоздания(Элементы.ТаблицаДанныхРежимСоздания.СписокВыбора); - Если Не ОбъектНаСервере.ЭтоВстроеннаяОбработка Тогда - ПутьОбработкиЗапускателяТестов = ОбъектНаСервере.ПолучитьКаталогОбработки(); - КонецЕсли; - - Объект.ВыгружатьСсылку = Истина; + Объект.ВыгружатьСсылку = Истина; КонецПроцедуры &НаКлиенте @@ -1891,7 +2480,7 @@ hTRe/ovuO95tKLz8/wMIMJTrkeBH9AAAAABJRU5ErkJggg==} ДеревоМетаданных = РеквизитФормыВЗначение(""Объект.ДеревоМетаданных""); - ОбъектНаСервере.Инициализация(); + ОбъектНаСервере.НачальнаяИнициализация(); ПроставитьПометкиВыгружаемыхДанных(ОбъектНаСервере.ДеревоМетаданных.Строки, ДеревоМетаданных.Строки); @@ -2156,7 +2745,7 @@ hTRe/ovuO95tKLz8/wMIMJTrkeBH9AAAAABJRU5ErkJggg==} КонецФункции // ПолучитьРезультатОтбораНаСервере() ", -{4,5, +{4,3, {9, {1},0,"Объект", {1,0}, @@ -2198,27 +2787,6 @@ hTRe/ovuO95tKLz8/wMIMJTrkeBH9AAAAABJRU5ErkJggg==} {0,0} }, {9, -{4},0,"ИмяЗапускателяТестов", -{1,1, -{"ru","Имя запускателя тестов"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, {5},0,"ДеревоМетаданныхПредыдущаяСтрока", {1,1, {"ru","Дерево метаданных предыдущая строка"} @@ -2236,27 +2804,6 @@ hTRe/ovuO95tKLz8/wMIMJTrkeBH9AAAAABJRU5ErkJggg==} {0,0},0,0,0,0, {0,0}, {0,0} -}, -{9, -{3},0,"ПутьОбработкиЗапускателяТестов", -{1,1, -{"ru","Путь обработки запускателя тестов"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} },1, {0, {2, @@ -2408,13 +2955,13 @@ gtGM0J7RgtCx0L7RgDwvbGVmdD4NCgkJCQkJPGNvbXBhcmlzb25UeXBlPkVxdWFs PC9jb21wYXJpc29uVHlwZT4NCgkJCQkJPHJpZ2h0IHhzaTp0eXBlPSJ4czpib29s ZWFuIj50cnVlPC9yaWdodD4NCgkJCQk8L2l0ZW0+DQoJCQk8L2ZpbHRlcj4NCgkJ CTxhcHBlYXJhbmNlPg0KCQkJCTxkY3Njb3I6aXRlbSB4c2k6dHlwZT0iU2V0dGlu -Z3NQYXJhbWV0ZXJWYWx1ZSI+DQoJCQkJCTxkY3Njb3I6cGFyYW1ldGVyPtCo0YDQ -uNGE0YI8L2Rjc2NvcjpwYXJhbWV0ZXI+DQoJCQkJCTxkY3Njb3I6dmFsdWUgeHNp -OnR5cGU9InY4dWk6Rm9udCIgcmVmPSJzeXM6RGVmYXVsdEdVSUZvbnQiIGJvbGQ9 -InRydWUiIGl0YWxpYz0iZmFsc2UiIHVuZGVybGluZT0iZmFsc2UiIHN0cmlrZW91 -dD0iZmFsc2UiIGtpbmQ9IldpbmRvd3NGb250Ii8+DQoJCQkJPC9kY3Njb3I6aXRl -bT4NCgkJCTwvYXBwZWFyYW5jZT4NCgkJPC9pdGVtPg0KCTwvY29uZGl0aW9uYWxB -cHBlYXJhbmNlPg0KPC9TZXR0aW5ncz4=} +Z3NQYXJhbWV0ZXJWYWx1ZSI+DQoJCQkJCTxkY3Njb3I6cGFyYW1ldGVyPkZvbnQ8 +L2Rjc2NvcjpwYXJhbWV0ZXI+DQoJCQkJCTxkY3Njb3I6dmFsdWUgeHNpOnR5cGU9 +InY4dWk6Rm9udCIgcmVmPSJzeXM6RGVmYXVsdEdVSUZvbnQiIGJvbGQ9InRydWUi +IGl0YWxpYz0iZmFsc2UiIHVuZGVybGluZT0iZmFsc2UiIHN0cmlrZW91dD0iZmFs +c2UiIGtpbmQ9IldpbmRvd3NGb250Ii8+DQoJCQkJPC9kY3Njb3I6aXRlbT4NCgkJ +CTwvYXBwZWFyYW5jZT4NCgkJPC9pdGVtPg0KCTwvY29uZGl0aW9uYWxBcHBlYXJh +bmNlPg0KPC9TZXR0aW5ncz4=} }, {0,0}, {0,6, diff --git a/src/xddDataFixtureGen/und/178f7433-f515-4d45-befa-5af52252dd0a "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/178f7433-f515-4d45-befa-5af52252dd0a" similarity index 100% rename from src/xddDataFixtureGen/und/178f7433-f515-4d45-befa-5af52252dd0a rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/178f7433-f515-4d45-befa-5af52252dd0a" diff --git a/src/xddDataFixtureGen/und/178f7433-f515-4d45-befa-5af52252dd0a.0 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/178f7433-f515-4d45-befa-5af52252dd0a.0" similarity index 100% rename from src/xddDataFixtureGen/und/178f7433-f515-4d45-befa-5af52252dd0a.0 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/178f7433-f515-4d45-befa-5af52252dd0a.0" diff --git a/src/xddDataFixtureGen/und/39a44593-4b6d-4b66-8cda-2f0e9ea7d454 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/39a44593-4b6d-4b66-8cda-2f0e9ea7d454" similarity index 100% rename from src/xddDataFixtureGen/und/39a44593-4b6d-4b66-8cda-2f0e9ea7d454 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/39a44593-4b6d-4b66-8cda-2f0e9ea7d454" diff --git a/src/xddDataFixtureGen/und/39a44593-4b6d-4b66-8cda-2f0e9ea7d454.0 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/39a44593-4b6d-4b66-8cda-2f0e9ea7d454.0" similarity index 100% rename from src/xddDataFixtureGen/und/39a44593-4b6d-4b66-8cda-2f0e9ea7d454.0 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/39a44593-4b6d-4b66-8cda-2f0e9ea7d454.0" diff --git a/src/xddDataFixtureGen/und/3bcacc26-7049-41bb-94bc-b45f76986467 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/3bcacc26-7049-41bb-94bc-b45f76986467" similarity index 100% rename from src/xddDataFixtureGen/und/3bcacc26-7049-41bb-94bc-b45f76986467 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/3bcacc26-7049-41bb-94bc-b45f76986467" diff --git a/src/xddDataFixtureGen/und/3bcacc26-7049-41bb-94bc-b45f76986467.0 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/3bcacc26-7049-41bb-94bc-b45f76986467.0" similarity index 100% rename from src/xddDataFixtureGen/und/3bcacc26-7049-41bb-94bc-b45f76986467.0 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/3bcacc26-7049-41bb-94bc-b45f76986467.0" diff --git a/src/xddDataFixtureGen/und/4b38e3ee-f722-47b8-9c4c-1c4aa073ba10 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/4b38e3ee-f722-47b8-9c4c-1c4aa073ba10" similarity index 100% rename from src/xddDataFixtureGen/und/4b38e3ee-f722-47b8-9c4c-1c4aa073ba10 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/4b38e3ee-f722-47b8-9c4c-1c4aa073ba10" diff --git a/src/xddDataFixtureGen/und/4b38e3ee-f722-47b8-9c4c-1c4aa073ba10.0 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/4b38e3ee-f722-47b8-9c4c-1c4aa073ba10.0" similarity index 100% rename from src/xddDataFixtureGen/und/4b38e3ee-f722-47b8-9c4c-1c4aa073ba10.0 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/4b38e3ee-f722-47b8-9c4c-1c4aa073ba10.0" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/4b3c529a-00d8-4aee-95a4-f20938cdebdd.0/info" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/54f1dec0-8f13-4065-9f45-0e74788142d2.0/info" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/4b3c529a-00d8-4aee-95a4-f20938cdebdd.0/info" rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/54f1dec0-8f13-4065-9f45-0e74788142d2.0/info" diff --git a/src/xddDataFixtureGen/und/5e00fac5-7796-4854-8e6b-c5933432d814 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/5e00fac5-7796-4854-8e6b-c5933432d814" similarity index 100% rename from src/xddDataFixtureGen/und/5e00fac5-7796-4854-8e6b-c5933432d814 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/5e00fac5-7796-4854-8e6b-c5933432d814" diff --git a/src/xddDataFixtureGen/und/5e00fac5-7796-4854-8e6b-c5933432d814.0 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/5e00fac5-7796-4854-8e6b-c5933432d814.0" similarity index 100% rename from src/xddDataFixtureGen/und/5e00fac5-7796-4854-8e6b-c5933432d814.0 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/5e00fac5-7796-4854-8e6b-c5933432d814.0" diff --git a/src/xddDataFixtureGen/und/624cf4b8-3591-4ce1-9579-6ac683689eb1 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/624cf4b8-3591-4ce1-9579-6ac683689eb1" similarity index 100% rename from src/xddDataFixtureGen/und/624cf4b8-3591-4ce1-9579-6ac683689eb1 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/624cf4b8-3591-4ce1-9579-6ac683689eb1" diff --git a/src/xddDataFixtureGen/und/624cf4b8-3591-4ce1-9579-6ac683689eb1.0 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/624cf4b8-3591-4ce1-9579-6ac683689eb1.0" similarity index 100% rename from src/xddDataFixtureGen/und/624cf4b8-3591-4ce1-9579-6ac683689eb1.0 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/624cf4b8-3591-4ce1-9579-6ac683689eb1.0" diff --git a/src/xddDataFixtureGen/und/6da54382-70f9-4d82-aa91-d001b86297ee "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/6da54382-70f9-4d82-aa91-d001b86297ee" similarity index 100% rename from src/xddDataFixtureGen/und/6da54382-70f9-4d82-aa91-d001b86297ee rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/6da54382-70f9-4d82-aa91-d001b86297ee" diff --git a/src/xddDataFixtureGen/und/6da54382-70f9-4d82-aa91-d001b86297ee.0 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/6da54382-70f9-4d82-aa91-d001b86297ee.0" similarity index 100% rename from src/xddDataFixtureGen/und/6da54382-70f9-4d82-aa91-d001b86297ee.0 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/6da54382-70f9-4d82-aa91-d001b86297ee.0" diff --git a/src/xddDataFixtureGen/und/799b41e4-6664-42d1-ba19-2dd1a0822bf6 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/799b41e4-6664-42d1-ba19-2dd1a0822bf6" similarity index 100% rename from src/xddDataFixtureGen/und/799b41e4-6664-42d1-ba19-2dd1a0822bf6 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/799b41e4-6664-42d1-ba19-2dd1a0822bf6" diff --git a/src/xddDataFixtureGen/und/799b41e4-6664-42d1-ba19-2dd1a0822bf6.0 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/799b41e4-6664-42d1-ba19-2dd1a0822bf6.0" similarity index 100% rename from src/xddDataFixtureGen/und/799b41e4-6664-42d1-ba19-2dd1a0822bf6.0 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/799b41e4-6664-42d1-ba19-2dd1a0822bf6.0" diff --git a/src/xddDataFixtureGen/und/7b3de063-6588-445c-a318-e989e219f24c "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/7b3de063-6588-445c-a318-e989e219f24c" similarity index 100% rename from src/xddDataFixtureGen/und/7b3de063-6588-445c-a318-e989e219f24c rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/7b3de063-6588-445c-a318-e989e219f24c" diff --git a/src/xddDataFixtureGen/und/7b3de063-6588-445c-a318-e989e219f24c.0 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/7b3de063-6588-445c-a318-e989e219f24c.0" similarity index 100% rename from src/xddDataFixtureGen/und/7b3de063-6588-445c-a318-e989e219f24c.0 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/7b3de063-6588-445c-a318-e989e219f24c.0" diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/7ce6ce19-d0d0-4f0d-96c4-74d9b6238df7" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/7ce6ce19-d0d0-4f0d-96c4-74d9b6238df7" new file mode 100644 index 00000000..7d3013ec --- /dev/null +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/7ce6ce19-d0d0-4f0d-96c4-74d9b6238df7" @@ -0,0 +1,6 @@ +{1, +{2,0, +{0, +{0,0,7ce6ce19-d0d0-4f0d-96c4-74d9b6238df7},"СозданиеНесколькихПользователейИБ", +{1,"ru","Создание нескольких пользователей ИБ"},""} +},0} \ No newline at end of file diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/7ce6ce19-d0d0-4f0d-96c4-74d9b6238df7.0" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/7ce6ce19-d0d0-4f0d-96c4-74d9b6238df7.0" new file mode 100644 index 00000000..8c4b0b35 Binary files /dev/null and "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/7ce6ce19-d0d0-4f0d-96c4-74d9b6238df7.0" differ diff --git a/src/xddDataFixtureGen/und/96508b55-1be0-4dbb-9a9d-a96d9a404282 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/96508b55-1be0-4dbb-9a9d-a96d9a404282" similarity index 100% rename from src/xddDataFixtureGen/und/96508b55-1be0-4dbb-9a9d-a96d9a404282 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/96508b55-1be0-4dbb-9a9d-a96d9a404282" diff --git a/src/xddDataFixtureGen/und/96508b55-1be0-4dbb-9a9d-a96d9a404282.0 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/96508b55-1be0-4dbb-9a9d-a96d9a404282.0" similarity index 100% rename from src/xddDataFixtureGen/und/96508b55-1be0-4dbb-9a9d-a96d9a404282.0 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/96508b55-1be0-4dbb-9a9d-a96d9a404282.0" diff --git a/src/xddDataFixtureGen/und/96bd1b96-9768-4a45-a972-1a728188f448 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/96bd1b96-9768-4a45-a972-1a728188f448" similarity index 100% rename from src/xddDataFixtureGen/und/96bd1b96-9768-4a45-a972-1a728188f448 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/96bd1b96-9768-4a45-a972-1a728188f448" diff --git a/src/xddDataFixtureGen/und/96bd1b96-9768-4a45-a972-1a728188f448.0 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/96bd1b96-9768-4a45-a972-1a728188f448.0" similarity index 100% rename from src/xddDataFixtureGen/und/96bd1b96-9768-4a45-a972-1a728188f448.0 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/96bd1b96-9768-4a45-a972-1a728188f448.0" diff --git a/src/xddDataFixtureGen/und/9bd9901f-46d8-4c40-88b9-f58ac48f0fd0 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/9bd9901f-46d8-4c40-88b9-f58ac48f0fd0" similarity index 100% rename from src/xddDataFixtureGen/und/9bd9901f-46d8-4c40-88b9-f58ac48f0fd0 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/9bd9901f-46d8-4c40-88b9-f58ac48f0fd0" diff --git a/src/xddDataFixtureGen/und/9bd9901f-46d8-4c40-88b9-f58ac48f0fd0.0 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/9bd9901f-46d8-4c40-88b9-f58ac48f0fd0.0" similarity index 100% rename from src/xddDataFixtureGen/und/9bd9901f-46d8-4c40-88b9-f58ac48f0fd0.0 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/9bd9901f-46d8-4c40-88b9-f58ac48f0fd0.0" diff --git a/src/xddDataFixtureGen/und/9c8d5c50-f21a-4e92-a2df-2a0b5306e991 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/9c8d5c50-f21a-4e92-a2df-2a0b5306e991" similarity index 100% rename from src/xddDataFixtureGen/und/9c8d5c50-f21a-4e92-a2df-2a0b5306e991 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/9c8d5c50-f21a-4e92-a2df-2a0b5306e991" diff --git a/src/xddDataFixtureGen/und/9c8d5c50-f21a-4e92-a2df-2a0b5306e991.0 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/9c8d5c50-f21a-4e92-a2df-2a0b5306e991.0" similarity index 100% rename from src/xddDataFixtureGen/und/9c8d5c50-f21a-4e92-a2df-2a0b5306e991.0 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/9c8d5c50-f21a-4e92-a2df-2a0b5306e991.0" diff --git a/src/xddDataFixtureGen/und/a5b4bbdd-19ca-489b-9dce-60e08daa143f "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/a5b4bbdd-19ca-489b-9dce-60e08daa143f" similarity index 100% rename from src/xddDataFixtureGen/und/a5b4bbdd-19ca-489b-9dce-60e08daa143f rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/a5b4bbdd-19ca-489b-9dce-60e08daa143f" diff --git a/src/xddDataFixtureGen/und/a5b4bbdd-19ca-489b-9dce-60e08daa143f.0 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/a5b4bbdd-19ca-489b-9dce-60e08daa143f.0" similarity index 100% rename from src/xddDataFixtureGen/und/a5b4bbdd-19ca-489b-9dce-60e08daa143f.0 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/a5b4bbdd-19ca-489b-9dce-60e08daa143f.0" diff --git a/src/xddDataFixtureGen/und/aeaa86b2-a07f-40ef-afd6-1b116e7a37b6 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/aeaa86b2-a07f-40ef-afd6-1b116e7a37b6" similarity index 100% rename from src/xddDataFixtureGen/und/aeaa86b2-a07f-40ef-afd6-1b116e7a37b6 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/aeaa86b2-a07f-40ef-afd6-1b116e7a37b6" diff --git a/src/xddDataFixtureGen/und/aeaa86b2-a07f-40ef-afd6-1b116e7a37b6.0 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/aeaa86b2-a07f-40ef-afd6-1b116e7a37b6.0" similarity index 100% rename from src/xddDataFixtureGen/und/aeaa86b2-a07f-40ef-afd6-1b116e7a37b6.0 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/aeaa86b2-a07f-40ef-afd6-1b116e7a37b6.0" diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/copyinfo" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/copyinfo" new file mode 100644 index 00000000..bd3acfab --- /dev/null +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/copyinfo" @@ -0,0 +1,246 @@ +{4, +{30, +{01b3462f-bb96-43d3-862b-e5cbcf9afd55,01b3462f-bb96-43d3-862b-e5cbcf9afd55,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} +}, +{03587dc5-8be3-4235-9aac-383ec90f5906,03587dc5-8be3-4235-9aac-383ec90f5906,1, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,"ПользователиИБ"} +}, +{0ddab741-62a3-4d54-bb38-5d944fa6768a,0ddab741-62a3-4d54-bb38-5d944fa6768a,1, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"ДатаНачала"} +}, +{103ebd31-7643-4b1a-ba8b-4c789efcb71f,103ebd31-7643-4b1a-ba8b-4c789efcb71f,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"УправляемаяФорма"} +}, +{125e5b0a-0bc6-45cb-a336-cb6a4d287136,125e5b0a-0bc6-45cb-a336-cb6a4d287136,2, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,"ПользователиИБ"}, +{5d24a9d1-098e-11d6-b9b8-0050bae0a95d,"Имя"} +}, +{28ec811a-3df5-448b-acff-e2eeab7cac5b,28ec811a-3df5-448b-acff-e2eeab7cac5b,1, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"ВыгружатьСсылку"} +}, +{383f520d-7dbc-4863-90d2-77842cefe60a,383f520d-7dbc-4863-90d2-77842cefe60a,1, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"ДеревоМетаданных"} +}, +{48667483-dd77-4d30-9cd6-6e2a8fb4a14f,48667483-dd77-4d30-9cd6-6e2a8fb4a14f,2, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,"ПользователиИБ"}, +{5d24a9d1-098e-11d6-b9b8-0050bae0a95d,"Роли"} +}, +{4a598a3c-f0a3-4431-84bd-f3073a683a04,4a598a3c-f0a3-4431-84bd-f3073a683a04,2, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,"ПользователиИБ"}, +{5d24a9d1-098e-11d6-b9b8-0050bae0a95d,"ПользовательОС"} +}, +{4c88b9d2-3975-40da-ad74-9a82a21b356f,4c88b9d2-3975-40da-ad74-9a82a21b356f,2, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,"ТаблицаДанных"}, +{5d24a9d1-098e-11d6-b9b8-0050bae0a95d,"ИмяПеременной"} +}, +{54f1dec0-8f13-4065-9f45-0e74788142d2,54f1dec0-8f13-4065-9f45-0e74788142d2,1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"СериализаторMXL"} +}, +{5825a722-21bd-4ffe-b328-3e3f2e4b3c4c,5825a722-21bd-4ffe-b328-3e3f2e4b3c4c,2, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,"ТаблицаДанных"}, +{5d24a9d1-098e-11d6-b9b8-0050bae0a95d,"РежимСоздания"} +}, +{59c1f2b8-34f7-46c6-a5c2-e970905a82e8,59c1f2b8-34f7-46c6-a5c2-e970905a82e8,1, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"ТолькоСоздание"} +}, +{63248c36-ab07-4643-9cd2-ba37d20c4155,63248c36-ab07-4643-9cd2-ba37d20c4155,1, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"ВыгружатьКод"} +}, +{688c1a9a-ed60-4a99-a19c-f10ad08240f3,688c1a9a-ed60-4a99-a19c-f10ad08240f3,1, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"КомпоновщикНастроекКомпоновкиДанных"} +}, +{6c7b1e37-1582-46c4-8922-004412d0d14e,6c7b1e37-1582-46c4-8922-004412d0d14e,1, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"ВыгружатьСДокументомЕгоДвижения"} +}, +{6eaeb2c4-c358-4c9b-82bf-b779f300f3e5,6eaeb2c4-c358-4c9b-82bf-b779f300f3e5,1, +{9fcd25a0-4822-11d4-9414-008048da11f9,""} +}, +{708a2cac-1726-438b-94d8-aa7c9447b3a0,708a2cac-1726-438b-94d8-aa7c9447b3a0,2, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,"ТаблицаДанных"}, +{5d24a9d1-098e-11d6-b9b8-0050bae0a95d,"Ссылка"} +}, +{7f9c01b3-0d10-4675-90c1-3da13269f871,7f9c01b3-0d10-4675-90c1-3da13269f871,2, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,"ТаблицаДанных"}, +{5d24a9d1-098e-11d6-b9b8-0050bae0a95d,"ВыгружатьКод"} +}, +{811a0158-e000-4e8b-b55d-3c8ee2db8b5f,811a0158-e000-4e8b-b55d-3c8ee2db8b5f,1, +{51f2d5d8-ea4d-4064-8892-82951750031e,""} +}, +{81518c3c-ec9f-4b7a-aee3-1b61b961744a,81518c3c-ec9f-4b7a-aee3-1b61b961744a,2, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,"ПользователиИБ"}, +{5d24a9d1-098e-11d6-b9b8-0050bae0a95d,"АутентификацияСтандартная"} +}, +{88963759-0a6a-4839-bed2-219c5763c0c8,88963759-0a6a-4839-bed2-219c5763c0c8,2, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,"ТаблицаДанных"}, +{5d24a9d1-098e-11d6-b9b8-0050bae0a95d,"РежимПоиска"} +}, +{8f38c53d-a655-4374-ad31-85648b2548a3,8f38c53d-a655-4374-ad31-85648b2548a3,2, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,"ПользователиИБ"}, +{5d24a9d1-098e-11d6-b9b8-0050bae0a95d,"ПолноеИмя"} +}, +{bcd9f98c-16d2-4a22-b512-f58f24c2c2e2,bcd9f98c-16d2-4a22-b512-f58f24c2c2e2,1, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"ДатаОкончания"} +}, +{ccf43cfe-b00c-431f-b3cb-e45e968dc5d7,ccf43cfe-b00c-431f-b3cb-e45e968dc5d7,1, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"ИспользоватьОтборПоДатеДляВсехОбъектов"} +}, +{e290ebce-71a9-4e8a-ab5b-48fdab75a6fc,e290ebce-71a9-4e8a-ab5b-48fdab75a6fc,1, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"СвязьПоГуид"} +}, +{e548c2b3-1668-40b7-ae4c-8cb11f51ff25,e548c2b3-1668-40b7-ae4c-8cb11f51ff25,1, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"ОбменДанными"} +}, +{eb823c40-ef8a-40b4-909e-43c5f08beec8,eb823c40-ef8a-40b4-909e-43c5f08beec8,2, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,"ПользователиИБ"}, +{5d24a9d1-098e-11d6-b9b8-0050bae0a95d,"АутентификацияОС"} +}, +{ed59e5f4-5d76-4fdc-82e3-929b6bac9114,ed59e5f4-5d76-4fdc-82e3-929b6bac9114,2, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,"ТаблицаДанных"}, +{5d24a9d1-098e-11d6-b9b8-0050bae0a95d,"Метаданное"} +}, +{f420a238-4e45-4a7b-84ca-9abcd874383f,f420a238-4e45-4a7b-84ca-9abcd874383f,1, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,"ТаблицаДанных"} +} +}, +{6, +{214fa4d8-6ba4-4748-a5e1-6332b5887780,811a0158-e000-4e8b-b55d-3c8ee2db8b5f,0}, +{29b6a235-8506-4b28-9b61-48d9cb0967ae,f420a238-4e45-4a7b-84ca-9abcd874383f,0}, +{38bfd075-3e63-4aaa-a93e-94521380d579,6eaeb2c4-c358-4c9b-82bf-b779f300f3e5,4}, +{8c4a53bd-2ffc-4f04-a9c8-f69b557900f6,03587dc5-8be3-4235-9aac-383ec90f5906,0}, +{9d3c86e4-fa06-4c20-bca1-6fe80c64060e,54f1dec0-8f13-4065-9f45-0e74788142d2,0}, +{e61ef7b8-f3e1-4f4b-8ac7-676e90524997,6eaeb2c4-c358-4c9b-82bf-b779f300f3e5,0} +}, +{32, +{ +{-2},8c4a53bd-2ffc-4f04-a9c8-f69b557900f6, +{-2} +}, +{ +{0},cab0d12b-3c88-4993-8edc-8c3827cadc7d, +{0} +}, +{ +{0,03587dc5-8be3-4235-9aac-383ec90f5906},9d3c86e4-fa06-4c20-bca1-6fe80c64060e, +{-1} +}, +{ +{0,0ddab741-62a3-4d54-bb38-5d944fa6768a},9d3c86e4-fa06-4c20-bca1-6fe80c64060e, +{-1} +}, +{ +{0,125e5b0a-0bc6-45cb-a336-cb6a4d287136},8c4a53bd-2ffc-4f04-a9c8-f69b557900f6, +{-1} +}, +{ +{0,28ec811a-3df5-448b-acff-e2eeab7cac5b},9d3c86e4-fa06-4c20-bca1-6fe80c64060e, +{-1} +}, +{ +{0,383f520d-7dbc-4863-90d2-77842cefe60a},9d3c86e4-fa06-4c20-bca1-6fe80c64060e, +{-1} +}, +{ +{0,48667483-dd77-4d30-9cd6-6e2a8fb4a14f},8c4a53bd-2ffc-4f04-a9c8-f69b557900f6, +{-1} +}, +{ +{0,4a598a3c-f0a3-4431-84bd-f3073a683a04},8c4a53bd-2ffc-4f04-a9c8-f69b557900f6, +{-1} +}, +{ +{0,4c88b9d2-3975-40da-ad74-9a82a21b356f},29b6a235-8506-4b28-9b61-48d9cb0967ae, +{-1} +}, +{ +{0,5825a722-21bd-4ffe-b328-3e3f2e4b3c4c},29b6a235-8506-4b28-9b61-48d9cb0967ae, +{-1} +}, +{ +{0,59c1f2b8-34f7-46c6-a5c2-e970905a82e8},9d3c86e4-fa06-4c20-bca1-6fe80c64060e, +{-1} +}, +{ +{0,63248c36-ab07-4643-9cd2-ba37d20c4155},9d3c86e4-fa06-4c20-bca1-6fe80c64060e, +{-1} +}, +{ +{0,688c1a9a-ed60-4a99-a19c-f10ad08240f3},9d3c86e4-fa06-4c20-bca1-6fe80c64060e, +{-1} +}, +{ +{0,6c7b1e37-1582-46c4-8922-004412d0d14e},9d3c86e4-fa06-4c20-bca1-6fe80c64060e, +{-1} +}, +{ +{0,708a2cac-1726-438b-94d8-aa7c9447b3a0},29b6a235-8506-4b28-9b61-48d9cb0967ae, +{-1} +}, +{ +{0,7f9c01b3-0d10-4675-90c1-3da13269f871},29b6a235-8506-4b28-9b61-48d9cb0967ae, +{-1} +}, +{ +{0,81518c3c-ec9f-4b7a-aee3-1b61b961744a},8c4a53bd-2ffc-4f04-a9c8-f69b557900f6, +{-1} +}, +{ +{0,88963759-0a6a-4839-bed2-219c5763c0c8},29b6a235-8506-4b28-9b61-48d9cb0967ae, +{-1} +}, +{ +{0,8f38c53d-a655-4374-ad31-85648b2548a3},8c4a53bd-2ffc-4f04-a9c8-f69b557900f6, +{-1} +}, +{ +{0,bcd9f98c-16d2-4a22-b512-f58f24c2c2e2},9d3c86e4-fa06-4c20-bca1-6fe80c64060e, +{-1} +}, +{ +{0,ccf43cfe-b00c-431f-b3cb-e45e968dc5d7},9d3c86e4-fa06-4c20-bca1-6fe80c64060e, +{-1} +}, +{ +{0,e290ebce-71a9-4e8a-ab5b-48fdab75a6fc},9d3c86e4-fa06-4c20-bca1-6fe80c64060e, +{-1} +}, +{ +{0,e548c2b3-1668-40b7-ae4c-8cb11f51ff25},9d3c86e4-fa06-4c20-bca1-6fe80c64060e, +{-1} +}, +{ +{0,eb823c40-ef8a-40b4-909e-43c5f08beec8},8c4a53bd-2ffc-4f04-a9c8-f69b557900f6, +{-1} +}, +{ +{0,ed59e5f4-5d76-4fdc-82e3-929b6bac9114},29b6a235-8506-4b28-9b61-48d9cb0967ae, +{-1} +}, +{ +{0,f420a238-4e45-4a7b-84ca-9abcd874383f},9d3c86e4-fa06-4c20-bca1-6fe80c64060e, +{-1} +}, +{ +{1},3c72ff56-7e04-4385-bc03-92d4bd6c351c, +{1} +}, +{ +{1,5bdad865-f2c5-434b-8041-ba4aad3b6687},e603c0f2-92fb-4d47-8f38-a44a381cf235, +{1,5bdad865-f2c5-434b-8041-ba4aad3b6687} +}, +{ +{2,5bdad865-f2c5-434b-8041-ba4aad3b6687},e603c0f2-92fb-4d47-8f38-a44a381cf235, +{2,5bdad865-f2c5-434b-8041-ba4aad3b6687} +}, +{ +{3,5bdad865-f2c5-434b-8041-ba4aad3b6687},e603c0f2-92fb-4d47-8f38-a44a381cf235, +{3,5bdad865-f2c5-434b-8041-ba4aad3b6687} +}, +{ +{4,5bdad865-f2c5-434b-8041-ba4aad3b6687},e603c0f2-92fb-4d47-8f38-a44a381cf235, +{4,5bdad865-f2c5-434b-8041-ba4aad3b6687} +} +}, +{0,0}, +{0} +} \ No newline at end of file diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/d0ac533a-c210-47e2-94e1-6d5329bcc033" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/d0ac533a-c210-47e2-94e1-6d5329bcc033" new file mode 100644 index 00000000..ab33ed28 --- /dev/null +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/d0ac533a-c210-47e2-94e1-6d5329bcc033" @@ -0,0 +1,710 @@ +{1, +{d0ac533a-c210-47e2-94e1-6d5329bcc033},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,9d3c86e4-fa06-4c20-bca1-6fe80c64060e,65c26c15-b410-4357-9cee-7513c01c2564, +{0, +{0, +{0,0,54f1dec0-8f13-4065-9f45-0e74788142d2},"СериализаторMXL", +{1,"ru","Генерация макета на базе реальных данных для xUnitFor1C"},"Автор - Артур Аюханов aka artbear"} +},103ebd31-7643-4b1a-ba8b-4c789efcb71f,"",01b3462f-bb96-43d3-862b-e5cbcf9afd55},4, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,2, +{ +{0, +{11,29b6a235-8506-4b28-9b61-48d9cb0967ae,919246ed-32b9-445e-9c45-3e047f2daf19,7c5bdc43-0bd6-4bef-8492-201e042d0482,f7083211-0feb-4a89-a306-1a6e85f921a9, +{0, +{0, +{0,0,f420a238-4e45-4a7b-84ca-9abcd874383f},"ТаблицаДанных", +{1,"ru","Таблица данных"},""} +},1, +{1, +{1,1, +{-3},510405d3-2a0c-4fea-960a-7fee59b32f9b, +{8,23,1183c14f-f814-49c6-9233-a3c26b3f64cf, +{"#",9ad557b1-249e-48dc-824b-3e149ecf10a6, +{3,0,0} +},2723eb98-b4c1-498a-a6f3-70444757902f, +{"#",98ea8e5a-b586-442b-b944-6e3447734aa7,0},2bbba66b-fabf-4863-8ba3-54b3c64c896e, +{"B",0},2c8143d5-4248-4c43-8bfb-307c0be2e415, +{"B",0},33c74a4d-561f-4bc0-9eaa-8d21c893c0a9, +{"U"},3eaf5a8b-06d6-47b0-ac7d-a9698247f499, +{"U"},4690ff70-e3fa-4914-9127-6a9acc5fc949, +{"#",87024738-fc2a-4436-ada1-df79d395c424, +{0} +},4de03908-56f4-4396-a61e-17253afca9ac, +{"B",0},580c29e2-8af4-4258-882a-7cf8073e61c8, +{"#",87024738-fc2a-4436-ada1-df79d395c424, +{0} +},6c4f7074-e7d4-48eb-b31b-132873666262, +{"#",157fa490-4ce9-11d4-9415-008048da11f9, +{1,00000000-0000-0000-0000-000000000000} +},6e3a1131-37a3-4da5-8895-572d9d0c9db6, +{"#",ace3fd07-11b2-477e-ab7f-36f0ea37c8dd, +{ace3fd07-11b2-477e-ab7f-36f0ea37c8dd,2} +},7ba608f2-e654-42a3-8885-334fe88ca910, +{"U"},88149a78-9448-4767-867b-0e650d165d2e, +{"#",87024738-fc2a-4436-ada1-df79d395c424, +{0} +},90ae4b5d-e0fd-49ef-a008-d67c1e75038c, +{"B",0},b02800e9-a8d1-42ab-9a12-f673e92be968, +{"B",0},c65a541f-0b91-4f33-bc88-fbaaa57f9992, +{"U"},cf4abea3-37b2-11d4-940f-008048da11f9, +{"#",87024738-fc2a-4436-ada1-df79d395c424, +{0} +},cf4abea4-37b2-11d4-940f-008048da11f9, +{"S",""},d4232326-022b-421e-b6d3-88e418f74327, +{"#",3b8e6bdd-d648-49d5-af2f-d46d84f87dd5, +{3b8e6bdd-d648-49d5-af2f-d46d84f87dd5,1} +},e3da683b-c54a-457a-a243-b9b4f9bf76dd, +{"#",b76a58b9-2a56-4e46-bb31-8e04ad9f31ae, +{5004,0} +},e6b3f5f3-bdf3-4ad0-bc60-7323b3feb208, +{"U"},f49e4ced-4033-4e6c-8755-9fbaaccd6078, +{"S",""},fcf503b8-1c06-454a-970c-06413e64aee5, +{"#",f2eaae14-91a7-47b9-9d69-097877f41580, +{0,0} +} +} +} +}, +{0} +} +},1, +{5d24a9d1-098e-11d6-b9b8-0050bae0a95d,6, +{ +{0, +{25, +{2, +{0, +{0,0,708a2cac-1726-438b-94d8-aa7c9447b3a0},"Ссылка", +{1,"ru","Ссылка"},""}, +{"Pattern", +{"#",214fa4d8-6ba4-4748-a5e1-6332b5887780}, +{"#",38bfd075-3e63-4aaa-a93e-94521380d579}, +{"#",e61ef7b8-f3e1-4f4b-8ac7-676e90524997} +} +},0, +{0}, +{0},0,"",0, +{"U"}, +{"U"},0,00000000-0000-0000-0000-000000000000,2,1, +{5004,0}, +{3,0,0}, +{0,0},0, +{0}, +{"U"},0} +},0}, +{ +{0, +{25, +{2, +{0, +{0,0,ed59e5f4-5d76-4fdc-82e3-929b6bac9114},"Метаданное", +{1,"ru","Метаданное"},""}, +{"Pattern", +{"S"} +} +},0, +{0}, +{0},0,"",0, +{"U"}, +{"U"},0,00000000-0000-0000-0000-000000000000,2,1, +{5004,0}, +{3,0,0}, +{0,0},0, +{0}, +{"S",""},0} +},0}, +{ +{0, +{25, +{2, +{0, +{0,0,4c88b9d2-3975-40da-ad74-9a82a21b356f},"ИмяПеременной", +{1,"ru","Имя переменной"},""}, +{"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, +{25, +{2, +{0, +{0,0,7f9c01b3-0d10-4675-90c1-3da13269f871},"ВыгружатьКод", +{1,"ru","Выгружать код/номер"},""}, +{"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}, +{"U"},0} +},0}, +{ +{0, +{25, +{2, +{0, +{0,0,88963759-0a6a-4839-bed2-219c5763c0c8},"РежимПоиска", +{1,"ru","Режим поиска"},""}, +{"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, +{25, +{2, +{0, +{0,0,5825a722-21bd-4ffe-b328-3e3f2e4b3c4c},"РежимСоздания", +{1,"ru","Режим создания"},""}, +{"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, +{11,8c4a53bd-2ffc-4f04-a9c8-f69b557900f6,1e722b87-fd7d-4176-845f-a53848ae4624,3a2d98be-6474-4724-bc33-50c18c5a075f,56f770bb-0ed6-4c97-bfc1-2ca517545e9c, +{0, +{0, +{0,0,03587dc5-8be3-4235-9aac-383ec90f5906},"ПользователиИБ", +{1,"ru","Пользователи ИБ"},""} +},0, +{1, +{1,1, +{-3},510405d3-2a0c-4fea-960a-7fee59b32f9b, +{8,21,1183c14f-f814-49c6-9233-a3c26b3f64cf, +{"#",9ad557b1-249e-48dc-824b-3e149ecf10a6, +{3,0,0} +},2723eb98-b4c1-498a-a6f3-70444757902f, +{"#",98ea8e5a-b586-442b-b944-6e3447734aa7,0},2bbba66b-fabf-4863-8ba3-54b3c64c896e, +{"B",0},2c8143d5-4248-4c43-8bfb-307c0be2e415, +{"B",0},3eaf5a8b-06d6-47b0-ac7d-a9698247f499, +{"U"},4690ff70-e3fa-4914-9127-6a9acc5fc949, +{"#",87024738-fc2a-4436-ada1-df79d395c424, +{0} +},4de03908-56f4-4396-a61e-17253afca9ac, +{"B",0},580c29e2-8af4-4258-882a-7cf8073e61c8, +{"#",87024738-fc2a-4436-ada1-df79d395c424, +{0} +},6c4f7074-e7d4-48eb-b31b-132873666262, +{"#",157fa490-4ce9-11d4-9415-008048da11f9, +{1,00000000-0000-0000-0000-000000000000} +},6e3a1131-37a3-4da5-8895-572d9d0c9db6, +{"#",ace3fd07-11b2-477e-ab7f-36f0ea37c8dd, +{ace3fd07-11b2-477e-ab7f-36f0ea37c8dd,2} +},88149a78-9448-4767-867b-0e650d165d2e, +{"#",87024738-fc2a-4436-ada1-df79d395c424, +{0} +},90ae4b5d-e0fd-49ef-a008-d67c1e75038c, +{"B",0},b02800e9-a8d1-42ab-9a12-f673e92be968, +{"B",0},c65a541f-0b91-4f33-bc88-fbaaa57f9992, +{"U"},cf4abea3-37b2-11d4-940f-008048da11f9, +{"#",87024738-fc2a-4436-ada1-df79d395c424, +{0} +},cf4abea4-37b2-11d4-940f-008048da11f9, +{"S",""},d4232326-022b-421e-b6d3-88e418f74327, +{"#",3b8e6bdd-d648-49d5-af2f-d46d84f87dd5, +{3b8e6bdd-d648-49d5-af2f-d46d84f87dd5,1} +},e3da683b-c54a-457a-a243-b9b4f9bf76dd, +{"#",b76a58b9-2a56-4e46-bb31-8e04ad9f31ae, +{5004,0} +},e6b3f5f3-bdf3-4ad0-bc60-7323b3feb208, +{"U"},f49e4ced-4033-4e6c-8755-9fbaaccd6078, +{"S",""},fcf503b8-1c06-454a-970c-06413e64aee5, +{"#",f2eaae14-91a7-47b9-9d69-097877f41580, +{0,0} +} +} +} +}, +{0} +} +},1, +{5d24a9d1-098e-11d6-b9b8-0050bae0a95d,6, +{ +{0, +{25, +{2, +{0, +{0,0,125e5b0a-0bc6-45cb-a336-cb6a4d287136},"Имя", +{1,"ru","Имя"},""}, +{"Pattern", +{"S",10,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, +{25, +{2, +{0, +{0,0,8f38c53d-a655-4374-ad31-85648b2548a3},"ПолноеИмя", +{1,"ru","Полное имя"},""}, +{"Pattern", +{"S",10,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, +{25, +{2, +{0, +{0,0,48667483-dd77-4d30-9cd6-6e2a8fb4a14f},"Роли", +{1,"ru","Роли"},""}, +{"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, +{25, +{2, +{0, +{0,0,81518c3c-ec9f-4b7a-aee3-1b61b961744a},"АутентификацияСтандартная", +{1,"ru","Аутентификация стандартная"},""}, +{"Pattern", +{"S",10,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, +{25, +{2, +{0, +{0,0,eb823c40-ef8a-40b4-909e-43c5f08beec8},"АутентификацияОС", +{1,"ru","Аутентификация ОС"},""}, +{"Pattern", +{"S",10,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, +{25, +{2, +{0, +{0,0,4a598a3c-f0a3-4431-84bd-f3073a683a04},"ПользовательОС", +{1,"ru","Пользователь ОС"},""}, +{"Pattern", +{"S",10,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} +} +} +}, +{3daea016-69b7-4ed4-9453-127911372fe6,19,efa2b5fc-de31-4695-a81b-8acc1a24d8f8,f930823a-837f-43ad-9791-02742bdf3c7a,3bcacc26-7049-41bb-94bc-b45f76986467,7b3de063-6588-445c-a318-e989e219f24c,9c8d5c50-f21a-4e92-a2df-2a0b5306e991,aeaa86b2-a07f-40ef-afd6-1b116e7a37b6,9bd9901f-46d8-4c40-88b9-f58ac48f0fd0,5e00fac5-7796-4854-8e6b-c5933432d814,a5b4bbdd-19ca-489b-9dce-60e08daa143f,624cf4b8-3591-4ce1-9579-6ac683689eb1,96bd1b96-9768-4a45-a972-1a728188f448,96508b55-1be0-4dbb-9a9d-a96d9a404282,4b38e3ee-f722-47b8-9c4c-1c4aa073ba10,6da54382-70f9-4d82-aa91-d001b86297ee,f04e1194-a196-4a4b-b797-7ece45ac1872,178f7433-f515-4d45-befa-5af52252dd0a,799b41e4-6664-42d1-ba19-2dd1a0822bf6,39a44593-4b6d-4b66-8cda-2f0e9ea7d454,7ce6ce19-d0d0-4f0d-96c4-74d9b6238df7}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,2,103ebd31-7643-4b1a-ba8b-4c789efcb71f,01b3462f-bb96-43d3-862b-e5cbcf9afd55}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,15, +{ +{0, +{25, +{2, +{0, +{0,0,a72707c6-f12d-4280-a939-50c2de29dc29},"ЭтоВстроеннаяОбработка", +{1,"ru","Это встроенная обработка"},""}, +{"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, +{25, +{2, +{0, +{0,0,383f520d-7dbc-4863-90d2-77842cefe60a},"ДеревоМетаданных", +{1,"ru","Дерево метаданных"},""}, +{"Pattern", +{"#",e603c0f2-92fb-4d47-8f38-a44a381cf235} +} +},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,0ddab741-62a3-4d54-bb38-5d944fa6768a},"ДатаНачала", +{1,"ru","Дата начала"},""}, +{"Pattern", +{"D"} +} +},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,bcd9f98c-16d2-4a22-b512-f58f24c2c2e2},"ДатаОкончания", +{1,"ru","Дата окончания"},""}, +{"Pattern", +{"D"} +} +},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,ccf43cfe-b00c-431f-b3cb-e45e968dc5d7},"ИспользоватьОтборПоДатеДляВсехОбъектов", +{1,"ru","Использовать отбор по дате для всех объектов"},""}, +{"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, +{25, +{2, +{0, +{0,0,6c7b1e37-1582-46c4-8922-004412d0d14e},"ВыгружатьСДокументомЕгоДвижения", +{1,"ru","Выгружать с документом его движения"},""}, +{"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, +{25, +{2, +{0, +{0,0,739796f3-4c4e-4817-8fbf-82f85ad3b663},"ТипВыгрузкиПериодическихРегистров", +{1,"ru","Тип выгрузки периодических регистров"},""}, +{"Pattern", +{"N",10,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, +{25, +{2, +{0, +{0,0,688c1a9a-ed60-4a99-a19c-f10ad08240f3},"КомпоновщикНастроекКомпоновкиДанных", +{1,"ru","Компоновщик настроек компоновки данных"},""}, +{"Pattern", +{"#",cab0d12b-3c88-4993-8edc-8c3827cadc7d} +} +},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,63248c36-ab07-4643-9cd2-ba37d20c4155},"ВыгружатьКод", +{1,"ru","Выгружать код / номер в макет"},""}, +{"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, +{25, +{2, +{0, +{0,0,28ec811a-3df5-448b-acff-e2eeab7cac5b},"ВыгружатьСсылку", +{1,"ru","Выгружать ссылку"},""}, +{"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, +{25, +{2, +{0, +{0,0,e290ebce-71a9-4e8a-ab5b-48fdab75a6fc},"СвязьПоГуид", +{1,"ru","Связь по гуид"},""}, +{"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, +{25, +{2, +{0, +{0,0,59c1f2b8-34f7-46c6-a5c2-e970905a82e8},"ТолькоСоздание", +{1,"ru","Только создание"},""}, +{"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, +{25, +{2, +{0, +{0,0,e548c2b3-1668-40b7-ae4c-8cb11f51ff25},"ОбменДанными", +{1,"ru","Обмен данными"},""}, +{"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, +{25, +{2, +{0, +{0,0,978b8da9-128a-424b-9ab3-d7fb0bdff59e},"НаборРолей", +{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,83e652c7-7c47-4a9e-9b07-097fe2dd38cd},"НаборПользователей", +{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} +} +} +} +} \ No newline at end of file diff --git a/src/xddDataFixtureGen/und/efa2b5fc-de31-4695-a81b-8acc1a24d8f8 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/efa2b5fc-de31-4695-a81b-8acc1a24d8f8" similarity index 100% rename from src/xddDataFixtureGen/und/efa2b5fc-de31-4695-a81b-8acc1a24d8f8 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/efa2b5fc-de31-4695-a81b-8acc1a24d8f8" diff --git a/src/xddDataFixtureGen/und/efa2b5fc-de31-4695-a81b-8acc1a24d8f8.0 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/efa2b5fc-de31-4695-a81b-8acc1a24d8f8.0" similarity index 100% rename from src/xddDataFixtureGen/und/efa2b5fc-de31-4695-a81b-8acc1a24d8f8.0 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/efa2b5fc-de31-4695-a81b-8acc1a24d8f8.0" diff --git a/src/xddDataFixtureGen/und/f04e1194-a196-4a4b-b797-7ece45ac1872 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/f04e1194-a196-4a4b-b797-7ece45ac1872" similarity index 100% rename from src/xddDataFixtureGen/und/f04e1194-a196-4a4b-b797-7ece45ac1872 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/f04e1194-a196-4a4b-b797-7ece45ac1872" diff --git a/src/xddDataFixtureGen/und/f04e1194-a196-4a4b-b797-7ece45ac1872.0 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/f04e1194-a196-4a4b-b797-7ece45ac1872.0" similarity index 100% rename from src/xddDataFixtureGen/und/f04e1194-a196-4a4b-b797-7ece45ac1872.0 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/f04e1194-a196-4a4b-b797-7ece45ac1872.0" diff --git a/src/xddDataFixtureGen/und/f930823a-837f-43ad-9791-02742bdf3c7a "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/f930823a-837f-43ad-9791-02742bdf3c7a" similarity index 100% rename from src/xddDataFixtureGen/und/f930823a-837f-43ad-9791-02742bdf3c7a rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/f930823a-837f-43ad-9791-02742bdf3c7a" diff --git a/src/xddDataFixtureGen/und/f930823a-837f-43ad-9791-02742bdf3c7a.0 "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/f930823a-837f-43ad-9791-02742bdf3c7a.0" similarity index 100% rename from src/xddDataFixtureGen/und/f930823a-837f-43ad-9791-02742bdf3c7a.0 rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/f930823a-837f-43ad-9791-02742bdf3c7a.0" diff --git a/src/xddDataFixtureGen/und/root "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/root" similarity index 100% rename from src/xddDataFixtureGen/und/root rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/root" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/version" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/version" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/version" rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/version" diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/versions" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/versions" new file mode 100644 index 00000000..4870053b --- /dev/null +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/versions" @@ -0,0 +1 @@ +{1,49,"",ac09c074-a41d-4b61-8962-02f9d84cb1d7,"624cf4b8-3591-4ce1-9579-6ac683689eb1.0",3ff1f5c2-c115-4936-868c-edcd9a3dc088,"f930823a-837f-43ad-9791-02742bdf3c7a",d9c5b796-a3d4-4c20-996e-79f90fe02fda,"5e00fac5-7796-4854-8e6b-c5933432d814",18090454-a98c-4274-bf39-683c1d3f47ca,"01b3462f-bb96-43d3-862b-e5cbcf9afd55",b1459b34-9b6b-47f7-b21d-7f06168ff7ef,"39a44593-4b6d-4b66-8cda-2f0e9ea7d454",618976f9-4a8f-480b-9310-a303aab8e2b0,"a5b4bbdd-19ca-489b-9dce-60e08daa143f.0",9fe48387-8081-4e9d-89c6-d1bb1af0e6ac,"96bd1b96-9768-4a45-a972-1a728188f448.0",82ae4a2c-5976-4bdf-8c82-3a89767c0fbc,"f04e1194-a196-4a4b-b797-7ece45ac1872.0",5d6b679b-aa8a-4933-bb82-66adb92b6c55,"copyinfo",271e77c8-e7d2-4c94-bfe4-cbf35d6779cd,"4b38e3ee-f722-47b8-9c4c-1c4aa073ba10",3ce6f81e-5a94-480b-873a-3434fe23f291,"799b41e4-6664-42d1-ba19-2dd1a0822bf6.0",32f4cacb-ba50-4f4a-ae21-0f949298a080,"178f7433-f515-4d45-befa-5af52252dd0a",9cba41ee-3c2f-45b2-a56e-e2903eef5401,"aeaa86b2-a07f-40ef-afd6-1b116e7a37b6.0",8ef67a25-f272-4d6f-9e30-98596e6a7288,"178f7433-f515-4d45-befa-5af52252dd0a.0",d17364ad-ad66-49ce-b9d9-31ccc9b069e2,"d0ac533a-c210-47e2-94e1-6d5329bcc033",3ac2ce19-1b6b-4f81-b743-8f42047e45c5,"01b3462f-bb96-43d3-862b-e5cbcf9afd55.0",812aa4f6-2a66-467c-a8b1-9dc99e88e484,"103ebd31-7643-4b1a-ba8b-4c789efcb71f",45332a4a-c57d-421a-8fd1-5fefaa54623f,"5e00fac5-7796-4854-8e6b-c5933432d814.0",b1bbe111-c194-45ca-b4ab-be0b45c32c72,"96508b55-1be0-4dbb-9a9d-a96d9a404282.0",64ff139c-eaba-43c5-b3f3-94991832dbf2,"9bd9901f-46d8-4c40-88b9-f58ac48f0fd0",808986e0-484d-413a-81ef-82f2db1c9a7d,"9bd9901f-46d8-4c40-88b9-f58ac48f0fd0.0",63f4571f-16ed-408d-a8c7-b4bf0ad09a14,"efa2b5fc-de31-4695-a81b-8acc1a24d8f8.0",4f39e80c-1afa-4ac7-88be-693c5cb913eb,"6da54382-70f9-4d82-aa91-d001b86297ee.0",12a51877-e2e5-46d0-ab6f-1eb2131d5e69,"aeaa86b2-a07f-40ef-afd6-1b116e7a37b6",c744dd72-e854-4ac5-b4ad-077df4881b77,"624cf4b8-3591-4ce1-9579-6ac683689eb1",6945d0db-dfee-43ff-996d-7f911cd80b33,"4b38e3ee-f722-47b8-9c4c-1c4aa073ba10.0",fbeff146-1486-47ad-9abb-2b38f6caff61,"96bd1b96-9768-4a45-a972-1a728188f448",11c1eb14-5254-4703-962b-9c5df8661d5f,"a5b4bbdd-19ca-489b-9dce-60e08daa143f",19851ba1-b130-412b-bd55-d3e77f747c35,"3bcacc26-7049-41bb-94bc-b45f76986467",606d747e-c85b-47e4-b522-f4022ad1ffdc,"f930823a-837f-43ad-9791-02742bdf3c7a.0",b075e461-1d2d-436e-a3db-89601c345085,"root",56db60ef-7837-43eb-867e-5d886b08a2d8,"version",c5dedc7e-ec1f-4efb-b14a-d840fe0cd29d,"799b41e4-6664-42d1-ba19-2dd1a0822bf6",c7222314-fc29-4419-b556-cb9f9022bc66,"versions",37a2334a-7f31-43db-aaae-e342875b15a9,"103ebd31-7643-4b1a-ba8b-4c789efcb71f.0",0888d999-fd3d-43a5-90e5-bda21c314065,"54f1dec0-8f13-4065-9f45-0e74788142d2.0",03590e1d-4342-40b8-8d30-0ddfa99c678f,"6da54382-70f9-4d82-aa91-d001b86297ee",82e74a70-4045-4a06-aa7d-78c365fc3bec,"efa2b5fc-de31-4695-a81b-8acc1a24d8f8",57b3262f-c18d-45ed-acfe-d98d3746d0b4,"7b3de063-6588-445c-a318-e989e219f24c",43f8644e-c3c2-4788-8d66-f5d7e810c0bd,"7ce6ce19-d0d0-4f0d-96c4-74d9b6238df7.0",b1491538-75d0-44cd-9383-d4a6ea7a6fd5,"7b3de063-6588-445c-a318-e989e219f24c.0",567de72c-5c1b-4596-b4df-d9a574cf6565,"3bcacc26-7049-41bb-94bc-b45f76986467.0",8c8a41ac-1acb-4e56-9929-b4d86293074b,"9c8d5c50-f21a-4e92-a2df-2a0b5306e991",71428947-5232-4d94-85cc-1437e4de5a88,"96508b55-1be0-4dbb-9a9d-a96d9a404282",d1c43eab-4a02-47c7-af00-dfff664db03f,"9c8d5c50-f21a-4e92-a2df-2a0b5306e991.0",da0f53c2-1737-44b2-b89c-181c1775afc7,"7ce6ce19-d0d0-4f0d-96c4-74d9b6238df7",e1a61d34-d410-43d5-9aeb-f84f11c24621,"39a44593-4b6d-4b66-8cda-2f0e9ea7d454.0",f91c1ac5-7d68-4533-afcf-60b25c8551ca,"f04e1194-a196-4a4b-b797-7ece45ac1872",e8761804-f48b-45ca-b851-9d70450418cf} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271.mxl" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271.mxl" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271.mxl" rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271.mxl" diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271_mxl.txt" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271_mxl.txt" new file mode 100644 index 00000000..7f456598 --- /dev/null +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271_mxl.txt" @@ -0,0 +1,17 @@ +Тип Вид ИмяПеременной ТЧ Реквизит Значение Режим +Справочник ПростойСправочник ПростойСправочник + Наименование Тест +Справочник ПростойСправочник2 ПростойСправочник21 + Наименование Тест1 +Справочник ПростойСправочник2 ПростойСправочник22 + Наименование Тест2 +РегистрСведений РегистрСведений1 ЗаписьРегистра1 + ПростойСправочник ПростойСправочник Перем + ПростойСправочник2 ПростойСправочник21 Перем + РесурсЧисло 300 + РесурсБулево Ложь +РегистрСведений РегистрСведений1 ЗаписьРегистра2 + ПростойСправочник ПростойСправочник Перем + ПростойСправочник2 ПростойСправочник22 Перем + РесурсЧисло 400 + РесурсБулево Истина \ No newline at end of file diff --git "a/src/xddDataFixtureGen/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\320\221\321\203\321\205\320\263\320\260\320\273\321\202\320\265\321\200\320\270\320\270.mxl" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\320\221\321\203\321\205\320\263\320\260\320\273\321\202\320\265\321\200\320\270\320\270.mxl" similarity index 100% rename from "src/xddDataFixtureGen/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\320\221\321\203\321\205\320\263\320\260\320\273\321\202\320\265\321\200\320\270\320\270.mxl" rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\320\221\321\203\321\205\320\263\320\260\320\273\321\202\320\265\321\200\320\270\320\270.mxl" diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\320\221\321\203\321\205\320\263\320\260\320\273\321\202\320\265\321\200\320\270\320\270_mxl.txt" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\320\221\321\203\321\205\320\263\320\260\320\273\321\202\320\265\321\200\320\270\320\270_mxl.txt" new file mode 100644 index 00000000..14d555a1 --- /dev/null +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\320\221\321\203\321\205\320\263\320\260\320\273\321\202\320\265\321\200\320\270\320\270_mxl.txt" @@ -0,0 +1,39 @@ +Тип Вид ИмяПеременной ТЧ Реквизит Значение Режим ДополнительныйТипЗначения +Справочник ПростойСправочник ПростойСправочник + Наименование Тест +Справочник ПростойСправочник2 ПростойСправочник21 + Наименование Тест1 +Справочник ПростойСправочник2 ПростойСправочник22 + Наименование Тест2 +Документ Документ2 Документ + Дата ТекущаяДата + ПростойСправочник ПростойСправочник Перем + Состав + РеквизитЧисло 150 + ПростойСправочник2 ПростойСправочник21 Перем + РеквизитБулево Ложь + Состав + ПростойСправочник2 ПростойСправочник22 Перем + РеквизитЧисло 0 + РеквизитБулево Истина +РегистрБухгалтерии РегистрБухгалтерии1 ЗаписьРегистра2 + Запись + Регистратор Документ Перем + Период + СчетДт Счет01 Предопределенный ПланСчетовСсылка.ПланСчетов1 + СчетКт Счет02 Предопределенный ПланСчетовСсылка.ПланСчетов1 + ПростойСправочник ПростойСправочник Перем + ПростойСправочник2Дт ПростойСправочник21 Перем + РесурсЧисло 150 + РесурсЧисло1Дт + РеквизитБулево Ложь + Запись + Регистратор Документ Перем + Период ТекущаяДата + СчетДт Счет02 Наименование + СчетКт Счет01 Наименование + ПростойСправочник ПростойСправочник Перем + ПростойСправочник2Кт ПростойСправочник22 Перем + РесурсЧисло 0 + РесурсЧисло1Кт + РеквизитБулево Истина \ No newline at end of file diff --git "a/src/xddDataFixtureGen/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217.mxl" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217.mxl" similarity index 100% rename from "src/xddDataFixtureGen/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217.mxl" rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217.mxl" diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217_mxl.txt" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217_mxl.txt" new file mode 100644 index 00000000..b20ba632 --- /dev/null +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217_mxl.txt" @@ -0,0 +1,33 @@ +Тип Вид ИмяПеременной ТЧ Реквизит Значение Режим +Справочник ПростойСправочник ПростойСправочник + Наименование Тест +Справочник ПростойСправочник2 ПростойСправочник21 + Наименование Тест1 +Справочник ПростойСправочник2 ПростойСправочник22 + Наименование Тест2 +Документ Документ2 Документ + Дата ТекущаяДата + ПростойСправочник ПростойСправочник Перем + Состав + РеквизитЧисло 150 + ПростойСправочник2 ПростойСправочник21 Перем + РеквизитБулево Ложь + Состав + ПростойСправочник2 ПростойСправочник22 Перем + РеквизитЧисло 0 + РеквизитБулево Истина +РегистрНакопления РегистрНакопления2 ЗаписьРегистра2 + Запись + Регистратор Документ Перем + Период + ПростойСправочник ПростойСправочник Перем + ПростойСправочник2 ПростойСправочник21 Перем + РесурсЧисло 150 + РеквизитБулево Ложь + Запись + Регистратор Документ Перем + Период ТекущаяДата + ПростойСправочник ПростойСправочник Перем + ПростойСправочник2 ПростойСправочник22 Перем + РесурсЧисло 0 + РеквизитБулево Истина \ No newline at end of file diff --git "a/src/xddDataFixtureGen/\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\224\320\262\321\203\321\205\320\237\321\200\320\276\321\201\321\202\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262.mxl" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\237\321\200\320\276\321\201\321\202\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262.mxl" similarity index 100% rename from "src/xddDataFixtureGen/\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\224\320\262\321\203\321\205\320\237\321\200\320\276\321\201\321\202\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262.mxl" rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\237\321\200\320\276\321\201\321\202\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262.mxl" diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\237\321\200\320\276\321\201\321\202\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262_mxl.txt" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\237\321\200\320\276\321\201\321\202\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262_mxl.txt" new file mode 100644 index 00000000..036b53a6 --- /dev/null +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\237\321\200\320\276\321\201\321\202\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262_mxl.txt" @@ -0,0 +1,6 @@ +Тип Вид ИмяПеременной ТЧ Реквизит Значение Режим +Справочник ПростойСправочник ПростойСправочник + Наименование Тестовое наименование + РеквизитБулево Ложь +Справочник ПростойСправочник2 ПростойСправочник2 + Наименование Тестовое наименование \ No newline at end of file diff --git "a/src/xddDataFixtureGen/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270.mxl" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270.mxl" similarity index 100% rename from "src/xddDataFixtureGen/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270.mxl" rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270.mxl" diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270_mxl.txt" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270_mxl.txt" new file mode 100644 index 00000000..6cf53721 --- /dev/null +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270_mxl.txt" @@ -0,0 +1,21 @@ +Тип Вид ИмяПеременной ТЧ Реквизит Значение Режим +Справочник ПростойСправочник ПростойСправочник + Наименование Тест + Код 5 +Справочник ПростойСправочник2 ПростойСправочник21 + Наименование Тест1 + Код 5 +Справочник ПростойСправочник2 ПростойСправочник22 + Наименование Тест2 + Код 6 +Документ Документ1 Документ + Дата 20140401 + ПростойСправочник ПростойСправочник Перем + Состав + РеквизитЧисло 150 + ПростойСправочник2 Тест1 Наименование + РеквизитБулево Ложь + Состав + ПростойСправочник2 ПростойСправочник22 Перем + РеквизитЧисло 0 + РеквизитБулево Истина \ No newline at end of file diff --git "a/src/xddDataFixtureGen/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\242\320\260\320\261\320\273\320\270\321\207\320\275\321\213\320\274\320\270\320\247\320\260\321\201\321\202\321\217\320\274\320\270.mxl" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\242\320\260\320\261\320\273\320\270\321\207\320\275\321\213\320\274\320\270\320\247\320\260\321\201\321\202\321\217\320\274\320\270.mxl" similarity index 100% rename from "src/xddDataFixtureGen/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\242\320\260\320\261\320\273\320\270\321\207\320\275\321\213\320\274\320\270\320\247\320\260\321\201\321\202\321\217\320\274\320\270.mxl" rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\242\320\260\320\261\320\273\320\270\321\207\320\275\321\213\320\274\320\270\320\247\320\260\321\201\321\202\321\217\320\274\320\270.mxl" diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\242\320\260\320\261\320\273\320\270\321\207\320\275\321\213\320\274\320\270\320\247\320\260\321\201\321\202\321\217\320\274\320\270_mxl.txt" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\242\320\260\320\261\320\273\320\270\321\207\320\275\321\213\320\274\320\270\320\247\320\260\321\201\321\202\321\217\320\274\320\270_mxl.txt" new file mode 100644 index 00000000..67081aa5 --- /dev/null +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\242\320\260\320\261\320\273\320\270\321\207\320\275\321\213\320\274\320\270\320\247\320\260\321\201\321\202\321\217\320\274\320\270_mxl.txt" @@ -0,0 +1,21 @@ +Тип Вид ИмяПеременной ТЧ Реквизит Значение Режим +Справочник ПростойСправочник ПростойСправочник + Наименование Тест + Код 5 +Справочник ПростойСправочник2 ПростойСправочник21 + Наименование Тест1 + Код 5 +Справочник ПростойСправочник2 ПростойСправочник22 + Наименование Тест2 + Код 6 +Документ Документ2 Документ + Дата 20140401 + ПростойСправочник ПростойСправочник Перем + Состав + РеквизитЧисло 150 + ПростойСправочник2 Тест1 Наименование + РеквизитБулево Ложь + Состав2 + РеквизитУИД 39c2b68f-b7c8-11e4-b736-080027b785c3 Гуид + ХранилищеЗначения ХранилищеЗначения + ЛюбаяСсылка ПростойСправочник22 Перем \ No newline at end of file diff --git "a/src/xddDataFixtureGen/\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\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\243\320\267\320\273\320\276\320\262\320\237\320\273\320\260\320\275\320\260\320\236\320\261\320\274\320\265\320\275\320\260.mxl" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\243\320\267\320\273\320\276\320\262\320\237\320\273\320\260\320\275\320\260\320\236\320\261\320\274\320\265\320\275\320\260.mxl" similarity index 100% rename from "src/xddDataFixtureGen/\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\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\243\320\267\320\273\320\276\320\262\320\237\320\273\320\260\320\275\320\260\320\236\320\261\320\274\320\265\320\275\320\260.mxl" rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\243\320\267\320\273\320\276\320\262\320\237\320\273\320\260\320\275\320\260\320\236\320\261\320\274\320\265\320\275\320\260.mxl" diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\243\320\267\320\273\320\276\320\262\320\237\320\273\320\260\320\275\320\260\320\236\320\261\320\274\320\265\320\275\320\260_mxl.txt" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\243\320\267\320\273\320\276\320\262\320\237\320\273\320\260\320\275\320\260\320\236\320\261\320\274\320\265\320\275\320\260_mxl.txt" new file mode 100644 index 00000000..785ee11f --- /dev/null +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\243\320\267\320\273\320\276\320\262\320\237\320\273\320\260\320\275\320\260\320\236\320\261\320\274\320\265\320\275\320\260_mxl.txt" @@ -0,0 +1,8 @@ +Тип Вид ИмяПеременной ТЧ Реквизит Значение Режим ДополнительныйТипЗначения +ПланОбмена ПланОбмена1 ЭтаИнформационнаяБаза ЭтотУзел + Наименование Эта информационная база + Код 000000001 +ПланОбмена ПланОбмена1 Узел1 + Наименование Узел 1 + РеквизитБулево Истина + РеквизитПеречисление ЗначениеПеречисления2 Предопределенный \ No newline at end of file diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271\320\230\320\221.mxl" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271\320\230\320\221.mxl" new file mode 100644 index 00000000..8c4b0b35 Binary files /dev/null and "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271\320\230\320\221.mxl" differ diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271\320\230\320\221_mxl.txt" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271\320\230\320\221_mxl.txt" new file mode 100644 index 00000000..be16a443 --- /dev/null +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271\320\230\320\221_mxl.txt" @@ -0,0 +1,27 @@ +Тип Вид ИмяПеременной ТЧ Реквизит Значение Режим +ПользовательИБ Пользователь1 + Имя ПользовательПоУмолчанию + ПолноеИмя + АутентификацияСтандартная Да + АутентификацияОС Нет + ПользовательОС + ОсновнойИнтерфейс + ПоказыватьВСпискеВыбора Да + РежимЗапуска Обычное приложение + Пароль + Роли + Роль Роль1 + Роль ПраваНеобходимыеДляТестирования +ПользовательИБ Пользователь2 + Имя Пользователь2 + ПолноеИмя + АутентификацияСтандартная Да + АутентификацияОС Нет + ПользовательОС + ОсновнойИнтерфейс + ПоказыватьВСпискеВыбора Да + РежимЗапуска Обычное приложение + Пароль + Роли + Роль Роль1 + Роль ПраваНеобходимыеДляТестирования \ No newline at end of file diff --git "a/src/xddDataFixtureGen/\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\261\321\212\320\265\320\272\321\202\320\260\320\241\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\321\213\320\274\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\242\320\270\320\277\320\260\320\237\320\265\321\200\320\265\321\207\320\270\321\201\320\273\320\265\320\275\320\270\320\265.mxl" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\261\321\212\320\265\320\272\321\202\320\260\320\241\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\321\213\320\274\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\242\320\270\320\277\320\260\320\237\320\265\321\200\320\265\321\207\320\270\321\201\320\273\320\265\320\275\320\270\320\265.mxl" similarity index 100% rename from "src/xddDataFixtureGen/\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\261\321\212\320\265\320\272\321\202\320\260\320\241\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\321\213\320\274\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\242\320\270\320\277\320\260\320\237\320\265\321\200\320\265\321\207\320\270\321\201\320\273\320\265\320\275\320\270\320\265.mxl" rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\261\321\212\320\265\320\272\321\202\320\260\320\241\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\321\213\320\274\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\242\320\270\320\277\320\260\320\237\320\265\321\200\320\265\321\207\320\270\321\201\320\273\320\265\320\275\320\270\320\265.mxl" diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\261\321\212\320\265\320\272\321\202\320\260\320\241\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\321\213\320\274\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\242\320\270\320\277\320\260\320\237\320\265\321\200\320\265\321\207\320\270\321\201\320\273\320\265\320\275\320\270\320\265_mxl.txt" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\261\321\212\320\265\320\272\321\202\320\260\320\241\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\321\213\320\274\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\242\320\270\320\277\320\260\320\237\320\265\321\200\320\265\321\207\320\270\321\201\320\273\320\265\320\275\320\270\320\265_mxl.txt" new file mode 100644 index 00000000..5258c97b --- /dev/null +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\261\321\212\320\265\320\272\321\202\320\260\320\241\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\321\213\320\274\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\242\320\270\320\277\320\260\320\237\320\265\321\200\320\265\321\207\320\270\321\201\320\273\320\265\320\275\320\270\320\265_mxl.txt" @@ -0,0 +1,4 @@ +Тип Вид ИмяПеременной ТЧ Реквизит Значение Режим ДополнительныйТипЗначения +Справочник ПростойСправочник ПростойСправочник + Наименование тЗначениеПеречисления1 + РеквизитПеречисление ЗначениеПеречисления1 Предопределенный \ No newline at end of file diff --git "a/src/xddDataFixtureGen/\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\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" similarity index 100% rename from "src/xddDataFixtureGen/\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\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_mxl.txt" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_mxl.txt" new file mode 100644 index 00000000..c643f875 --- /dev/null +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_mxl.txt" @@ -0,0 +1,4 @@ +Тип Вид ИмяПеременной ТЧ Реквизит Значение Режим +Справочник ПодчиненныйСправочник ПодчиненныйЭлемент + Владелец Предопределенное значение Наименование + Наименование Подчиненный элемент \ No newline at end of file diff --git "a/src/xddDataFixtureGen/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" similarity index 100% rename from "src/xddDataFixtureGen/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_mxl.txt" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_mxl.txt" new file mode 100644 index 00000000..71ce9e38 --- /dev/null +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_mxl.txt" @@ -0,0 +1,4 @@ +Тип Вид ИмяПеременной ТЧ Реквизит Значение Режим +Справочник ПростойСправочник ПростойСправочник + Наименование Тестовое наименование + РеквизитБулево Истина \ No newline at end of file diff --git "a/src/xddDataFixtureGen/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\265\320\230\320\264\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\276\321\200.mxl" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\265\320\230\320\264\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\276\321\200.mxl" similarity index 100% rename from "src/xddDataFixtureGen/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\265\320\230\320\264\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\276\321\200.mxl" rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\265\320\230\320\264\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\276\321\200.mxl" diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\265\320\230\320\264\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\276\321\200_mxl.txt" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\265\320\230\320\264\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\276\321\200_mxl.txt" new file mode 100644 index 00000000..591e7698 --- /dev/null +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\265\320\230\320\264\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\276\321\200_mxl.txt" @@ -0,0 +1,4 @@ +Тип Вид ИмяПеременной ТЧ Реквизит Значение Режим +Справочник ПростойСправочник ПростойСправочник + Наименование Тестовое,. наименование + РеквизитБулево Истина \ No newline at end of file diff --git "a/src/xddDataFixtureGen/\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\241\320\262\321\217\320\267\320\260\320\275\320\275\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262.mxl" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\262\321\217\320\267\320\260\320\275\320\275\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262.mxl" similarity index 100% rename from "src/xddDataFixtureGen/\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\241\320\262\321\217\320\267\320\260\320\275\320\275\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262.mxl" rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\262\321\217\320\267\320\260\320\275\320\275\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262.mxl" diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\262\321\217\320\267\320\260\320\275\320\275\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262_mxl.txt" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\262\321\217\320\267\320\260\320\275\320\275\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262_mxl.txt" new file mode 100644 index 00000000..1c196b8c --- /dev/null +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\262\321\217\320\267\320\260\320\275\320\275\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262_mxl.txt" @@ -0,0 +1,7 @@ +Тип Вид ИмяПеременной ТЧ Реквизит Значение Режим +Справочник ПростойСправочник ПростойСправочник + Наименование Тестовое наименование + РеквизитБулево Ложь +Справочник ИерархическийСправочник ИерархическийСправочник + Наименование Тестовое наименование + ПростойСправочник ПростойСправочник Перем \ No newline at end of file diff --git "a/src/xddDataFixtureGen/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\222\320\223\321\200\321\203\320\277\320\277\320\265.mxl" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\222\320\223\321\200\321\203\320\277\320\277\320\265.mxl" similarity index 100% rename from "src/xddDataFixtureGen/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\222\320\223\321\200\321\203\320\277\320\277\320\265.mxl" rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\222\320\223\321\200\321\203\320\277\320\277\320\265.mxl" diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\222\320\223\321\200\321\203\320\277\320\277\320\265_mxl.txt" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\222\320\223\321\200\321\203\320\277\320\277\320\265_mxl.txt" new file mode 100644 index 00000000..37c41e98 --- /dev/null +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\222\320\223\321\200\321\203\320\277\320\277\320\265_mxl.txt" @@ -0,0 +1,4 @@ +Тип Вид ИмяПеременной ТЧ Реквизит Значение Режим +Справочник ИерархическийСправочник ЭлементВГруппе + Родитель Группа1 Наименование + Наименование Элемент в группе \ No newline at end of file diff --git "a/src/xddDataFixtureGen/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270.mxl" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270.mxl" similarity index 100% rename from "src/xddDataFixtureGen/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270.mxl" rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270.mxl" diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270_mxl.txt" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270_mxl.txt" new file mode 100644 index 00000000..f86236e1 --- /dev/null +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270_mxl.txt" @@ -0,0 +1,20 @@ +Тип Вид ИмяПеременной ТЧ Реквизит Значение Режим +Справочник ПростойСправочник ПростойСправочник + Наименование Тест + Код 5 +Справочник ПростойСправочник2 ПростойСправочник2_1 + Наименование Тест1 + Код 5 +Справочник ПростойСправочник2 ПростойСправочник2_2 + Наименование Тест2 + Код 6 +Справочник СправочникСТабЧастью СправочникСТабЧастью + Наименование Тестовое наименование + Состав + ПростойСправочник ПростойСправочник Перем + ПростойСправочник2 ПростойСправочник2_1 Перем + РеквизитБулево Истина + Состав + ПростойСправочник ПростойСправочник Перем + ПростойСправочник2 ПростойСправочник2_2 Перем + РеквизитБулево Ложь \ No newline at end of file diff --git "a/src/xddDataFixtureGen/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\321\203\321\201\321\202\320\276\320\271\320\241\321\201\321\213\320\273\320\272\320\276\320\271\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\320\276\320\263\320\276\320\242\320\270\320\277\320\260.mxl" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\321\203\321\201\321\202\320\276\320\271\320\241\321\201\321\213\320\273\320\272\320\276\320\271\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\320\276\320\263\320\276\320\242\320\270\320\277\320\260.mxl" similarity index 100% rename from "src/xddDataFixtureGen/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\321\203\321\201\321\202\320\276\320\271\320\241\321\201\321\213\320\273\320\272\320\276\320\271\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\320\276\320\263\320\276\320\242\320\270\320\277\320\260.mxl" rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\321\203\321\201\321\202\320\276\320\271\320\241\321\201\321\213\320\273\320\272\320\276\320\271\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\320\276\320\263\320\276\320\242\320\270\320\277\320\260.mxl" diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\321\203\321\201\321\202\320\276\320\271\320\241\321\201\321\213\320\273\320\272\320\276\320\271\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\320\276\320\263\320\276\320\242\320\270\320\277\320\260_mxl.txt" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\321\203\321\201\321\202\320\276\320\271\320\241\321\201\321\213\320\273\320\272\320\276\320\271\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\320\276\320\263\320\276\320\242\320\270\320\277\320\260_mxl.txt" new file mode 100644 index 00000000..4ed20ba1 --- /dev/null +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\321\203\321\201\321\202\320\276\320\271\320\241\321\201\321\213\320\273\320\272\320\276\320\271\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\320\276\320\263\320\276\320\242\320\270\320\277\320\260_mxl.txt" @@ -0,0 +1,5 @@ +Тип Вид ИмяПеременной ТЧ Реквизит Значение Режим ДополнительныйТипЗначения +Справочник СправочникСТабЧастью СправочникСТабЧастью + Наименование Тест пустые рекв + РеквизитСоставногоТипа СправочникСсылка.ПростойСправочник + РеквизитСоставногоТипа2 СправочникСсылка.ПростойСправочник2 \ No newline at end of file diff --git "a/src/xddDataFixtureGen/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\241\321\201\321\213\320\273\320\272\320\260_\320\240\320\265\320\266\320\270\320\274\320\237\320\276\320\270\321\201\320\272\320\260\320\232\320\276\320\264.mxl" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\241\321\201\321\213\320\273\320\272\320\260_\320\240\320\265\320\266\320\270\320\274\320\237\320\276\320\270\321\201\320\272\320\260\320\232\320\276\320\264.mxl" similarity index 100% rename from "src/xddDataFixtureGen/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\241\321\201\321\213\320\273\320\272\320\260_\320\240\320\265\320\266\320\270\320\274\320\237\320\276\320\270\321\201\320\272\320\260\320\232\320\276\320\264.mxl" rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\241\321\201\321\213\320\273\320\272\320\260_\320\240\320\265\320\266\320\270\320\274\320\237\320\276\320\270\321\201\320\272\320\260\320\232\320\276\320\264.mxl" diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\241\321\201\321\213\320\273\320\272\320\260_\320\240\320\265\320\266\320\270\320\274\320\237\320\276\320\270\321\201\320\272\320\260\320\232\320\276\320\264_mxl.txt" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\241\321\201\321\213\320\273\320\272\320\260_\320\240\320\265\320\266\320\270\320\274\320\237\320\276\320\270\321\201\320\272\320\260\320\232\320\276\320\264_mxl.txt" new file mode 100644 index 00000000..67316a28 --- /dev/null +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\241\321\201\321\213\320\273\320\272\320\260_\320\240\320\265\320\266\320\270\320\274\320\237\320\276\320\270\321\201\320\272\320\260\320\232\320\276\320\264_mxl.txt" @@ -0,0 +1,4 @@ +Тип Вид ИмяПеременной ТЧ Реквизит Значение Режим +Справочник ИерархическийСправочник ИерархическийСправочник + Наименование Тестовое наименование + ПростойСправочник Тестовое наименование Наименование \ No newline at end of file diff --git "a/src/xddDataFixtureGen/\320\234\320\260\320\272\320\265\321\202\321\213/\320\255\321\202\320\260\320\273\320\276\320\275\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271.mxl" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\255\321\202\320\260\320\273\320\276\320\275\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271.mxl" similarity index 100% rename from "src/xddDataFixtureGen/\320\234\320\260\320\272\320\265\321\202\321\213/\320\255\321\202\320\260\320\273\320\276\320\275\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271.mxl" rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\255\321\202\320\260\320\273\320\276\320\275\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271.mxl" diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\255\321\202\320\260\320\273\320\276\320\275\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271_mxl.txt" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\255\321\202\320\260\320\273\320\276\320\275\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271_mxl.txt" new file mode 100644 index 00000000..ac14956f --- /dev/null +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\255\321\202\320\260\320\273\320\276\320\275\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271_mxl.txt" @@ -0,0 +1,11 @@ +Тип Вид ИмяПеременной ТЧ Реквизит Значение Режим ДополнительныйТипЗначения +РегистрСведений РегистрСведений1 ЗаписьРегистра1 + ПростойСправочник Тест Наименование + ПростойСправочник2 Тест1 Наименование + РесурсЧисло 300 + РесурсБулево Ложь +РегистрСведений РегистрСведений1 ЗаписьРегистра2 + ПростойСправочник Тест Наименование + ПростойСправочник2 Тест2 Наименование + РесурсЧисло 400 + РесурсБулево Истина \ No newline at end of file diff --git "a/src/xddDataFixtureGen/\320\234\320\260\320\272\320\265\321\202\321\213/\320\255\321\202\320\260\320\273\320\276\320\275\320\234\320\260\320\272\320\265\321\202\320\260\320\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\255\321\202\320\260\320\273\320\276\320\275\320\234\320\260\320\272\320\265\321\202\320\260\320\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" similarity index 100% rename from "src/xddDataFixtureGen/\320\234\320\260\320\272\320\265\321\202\321\213/\320\255\321\202\320\260\320\273\320\276\320\275\320\234\320\260\320\272\320\265\321\202\320\260\320\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" rename to "src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\255\321\202\320\260\320\273\320\276\320\275\320\234\320\260\320\272\320\265\321\202\320\260\320\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" diff --git "a/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\255\321\202\320\260\320\273\320\276\320\275\320\234\320\260\320\272\320\265\321\202\320\260\320\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_mxl.txt" "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\255\321\202\320\260\320\273\320\276\320\275\320\234\320\260\320\272\320\265\321\202\320\260\320\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_mxl.txt" new file mode 100644 index 00000000..80ff6969 --- /dev/null +++ "b/src/Plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\255\321\202\320\260\320\273\320\276\320\275\320\234\320\260\320\272\320\265\321\202\320\260\320\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_mxl.txt" @@ -0,0 +1,4 @@ +Тип Вид ИмяПеременной ТЧ Реквизит Значение Режим ДополнительныйТипЗначения +Справочник ПростойСправочник ПростойСправочник1 + Наименование Тестовое наименование + РеквизитБулево Истина \ 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.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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" new file mode 100644 index 00000000..bd58efb3 --- /dev/null +++ "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.txt" @@ -0,0 +1,1272 @@ + +// { Plugin interface +&НаКлиенте +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); +КонецФункции + +&НаСервере +Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); +КонецФункции +// } Plugin interface + + +// { Функции работы со строками + +// Разбивает строку на несколько строк по разделителю. Разделитель может иметь любую длину. +// +// Параметры: +// Строка - Строка - текст с разделителями; +// Разделитель - Строка - разделитель строк текста, минимум 1 символ; +// ПропускатьПустыеСтроки - Булево - признак необходимости включения в результат пустых строк. +// Если параметр не задан, то функция работает в режиме совместимости со своей предыдущей версией: +// - для разделителя-пробела пустые строки не включаются в результат, для остальных разделителей пустые строки +// включаются в результат. +// Е если параметр Строка не содержит значащих символов или не содержит ни одного символа (пустая строка), то в +// случае разделителя-пробела результатом функции будет массив, содержащий одно значение "" (пустая строка), а +// при других разделителях результатом функции будет пустой массив. +// СокращатьНепечатаемыеСимволы - Булево - сокращать непечатаемые символы по краям каждой из найденных подстрок. +// +// Возвращаемое значение: +// Массив - массив строк. +// +// Примеры: +// РазложитьСтрокуВМассивПодстрок(",один,,два,", ",") - возвратит массив из 5 элементов, три из которых - пустые +// строки; +// РазложитьСтрокуВМассивПодстрок(",один,,два,", ",", Истина) - возвратит массив из двух элементов; +// РазложитьСтрокуВМассивПодстрок(" один два ", " ") - возвратит массив из двух элементов; +// РазложитьСтрокуВМассивПодстрок("") - возвратит пустой массив; +// РазложитьСтрокуВМассивПодстрок("",,Ложь) - возвратит массив с одним элементом "" (пустой строкой); +// РазложитьСтрокуВМассивПодстрок("", " ") - возвратит массив с одним элементом "" (пустой строкой); +// +&НаКлиенте +Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",", Знач ПропускатьПустыеСтроки = Неопределено, СокращатьНепечатаемыеСимволы = Ложь) Экспорт + + Результат = Новый Массив; + + // Для обеспечения обратной совместимости. + Если ПропускатьПустыеСтроки = Неопределено Тогда + ПропускатьПустыеСтроки = ?(Разделитель = " ", Истина, Ложь); + Если ПустаяСтрока(Строка) Тогда + Если Разделитель = " " Тогда + Результат.Добавить(""); + КонецЕсли; + Возврат Результат; + КонецЕсли; + КонецЕсли; + // + + Позиция = Найти(Строка, Разделитель); + Пока Позиция > 0 Цикл + Подстрока = Лев(Строка, Позиция - 1); + Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Подстрока) Тогда + Если СокращатьНепечатаемыеСимволы Тогда + Результат.Добавить(СокрЛП(Подстрока)); + Иначе + Результат.Добавить(Подстрока); + КонецЕсли; + КонецЕсли; + Строка = Сред(Строка, Позиция + СтрДлина(Разделитель)); + Позиция = Найти(Строка, Разделитель); + КонецЦикла; + + Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Строка) Тогда + Если СокращатьНепечатаемыеСимволы Тогда + Результат.Добавить(СокрЛП(Строка)); + Иначе + Результат.Добавить(Строка); + КонецЕсли; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +/// Объединяет строки из массива в строку с разделителями. +// +// Параметры: +// Массив - Массив - массив строк которые необходимо объединить в одну строку; +// Разделитель - Строка - любой набор символов, который будет использован в качестве разделителя. +// +// Возвращаемое значение: +// Строка - строка с разделителями. +// +&НаКлиенте +Функция СтрокаИзМассиваПодстрок(Массив, Разделитель = ",", СокращатьНепечатаемыеСимволы = Ложь) Экспорт + + Результат = ""; + + Для Индекс = 0 По Массив.ВГраница() Цикл + Подстрока = Массив[Индекс]; + + Если СокращатьНепечатаемыеСимволы Тогда + Подстрока = СокрЛП(Подстрока); + КонецЕсли; + + Если ТипЗнч(Подстрока) <> Тип("Строка") Тогда + Подстрока = Строка(Подстрока); + КонецЕсли; + + Если Индекс > 0 Тогда + Результат = Результат + Разделитель; + КонецЕсли; + + Результат = Результат + Подстрока; + КонецЦикла; + + Возврат Результат; + +КонецФункции + +// Определяет, является ли символ разделителем. +// +// Параметры: +// КодСимвола - Число - код проверяемого символа; +// РазделителиСлов - Строка - символы разделителей. +// +// Возвращаемое значение: +// Булево - истина, если символ является разделителем. +// +&НаКлиенте +Функция ЭтоРазделительСлов(КодСимвола, РазделителиСлов = Неопределено) Экспорт + + Если РазделителиСлов <> Неопределено Тогда + Возврат Найти(РазделителиСлов, Символ(КодСимвола)) > 0; + КонецЕсли; + + Диапазоны = Новый Массив; + Диапазоны.Добавить(Новый Структура("Мин,Макс", 48, 57)); // цифры + Диапазоны.Добавить(Новый Структура("Мин,Макс", 65, 90)); // латиница большие + Диапазоны.Добавить(Новый Структура("Мин,Макс", 97, 122)); // латиница маленькие + Диапазоны.Добавить(Новый Структура("Мин,Макс", 1040, 1103)); // кириллица + Диапазоны.Добавить(Новый Структура("Мин,Макс", 1025, 1025)); // символ "Ё" + Диапазоны.Добавить(Новый Структура("Мин,Макс", 1105, 1105)); // символ "ё" + Диапазоны.Добавить(Новый Структура("Мин,Макс", 95, 95)); // символ "_" + + Для Каждого Диапазон Из Диапазоны Цикл + Если КодСимвола >= Диапазон.Мин И КодСимвола <= Диапазон.Макс Тогда + Возврат Ложь; + КонецЕсли; + КонецЦикла; + + Возврат Истина; + +КонецФункции + +// Разбивает строку на несколько строк, используя заданный набор разделителей. +// Если параметр РазделителиСлов не задан, то разделителем слов считается любой из символов, +// не относящихся к символам латиницы, кириллицы, цифры, подчеркивания. +// +// Параметры: +// Строка - Строка - строка, которую необходимо разложить на слова. +// РазделителиСлов - Строка - строка, содержащая символы-разделители. +// +// Возвращаемое значение: +// массив значений, элементы которого - отдельные слова. +// +// Пример: +// РазложитьСтрокуВМассивСлов("один-@#два2_!три") возвратит массив значений: "один", "два2_", "три"; +// РазложитьСтрокуВМассивСлов("один-@#два2_!три", "#@!_") возвратит массив значений: "один-", "два2", "три". +// +&НаКлиенте +Функция РазложитьСтрокуВМассивСлов(Знач Строка, РазделителиСлов = Неопределено) Экспорт + + Слова = Новый Массив; + + РазмерТекста = СтрДлина(Строка); + НачалоСлова = 1; + Для Позиция = 1 По РазмерТекста Цикл + КодСимвола = КодСимвола(Строка, Позиция); + Если ЭтоРазделительСлов(КодСимвола, РазделителиСлов) Тогда + Если Позиция <> НачалоСлова Тогда + Слова.Добавить(Сред(Строка, НачалоСлова, Позиция - НачалоСлова)); + КонецЕсли; + НачалоСлова = Позиция + 1; + КонецЕсли; + КонецЦикла; + + Если Позиция <> НачалоСлова Тогда + Слова.Добавить(Сред(Строка, НачалоСлова, Позиция - НачалоСлова)); + КонецЕсли; + + Возврат Слова; + +КонецФункции + +// Подставляет параметры в строку. Максимально возможное число параметров - 9. +// Параметры в строке задаются как %<номер параметра>. Нумерация параметров начинается с единицы. +// +// Параметры: +// СтрокаПодстановки - Строка - шаблон строки с параметрами (вхождениями вида "%ИмяПараметра"); +// Параметр - Строка - подставляемый параметр. +// +// Возвращаемое значение: +// Строка - текстовая строка с подставленными параметрами. +// +// Пример: +// ПодставитьПараметрыВСтроку(НСтр("ru='%1 пошел в %2'"), "Вася", "Зоопарк") = "Вася пошел в Зоопарк". +// +&НаКлиенте +Функция ПодставитьПараметрыВСтроку(Знач СтрокаПодстановки, + Знач Параметр1, Знач Параметр2 = Неопределено, Знач Параметр3 = Неопределено, + Знач Параметр4 = Неопределено, Знач Параметр5 = Неопределено, Знач Параметр6 = Неопределено, + Знач Параметр7 = Неопределено, Знач Параметр8 = Неопределено, Знач Параметр9 = Неопределено) Экспорт + + ИспользоватьАльтернативныйАлгоритм = + Найти(Параметр1, "%") + Или Найти(Параметр2, "%") + Или Найти(Параметр3, "%") + Или Найти(Параметр4, "%") + Или Найти(Параметр5, "%") + Или Найти(Параметр6, "%") + Или Найти(Параметр7, "%") + Или Найти(Параметр8, "%") + Или Найти(Параметр9, "%"); + + Если ИспользоватьАльтернативныйАлгоритм Тогда + СтрокаПодстановки = ПодставитьПараметрыВСтрокуАльтернативныйАлгоритм(СтрокаПодстановки, Параметр1, + Параметр2, Параметр3, Параметр4, Параметр5, Параметр6, Параметр7, Параметр8, Параметр9); + Иначе + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%1", Параметр1); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%2", Параметр2); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%3", Параметр3); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%4", Параметр4); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%5", Параметр5); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%6", Параметр6); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%7", Параметр7); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%8", Параметр8); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%9", Параметр9); + КонецЕсли; + + Возврат СтрокаПодстановки; +КонецФункции + +// Подставляет параметры в строку. Число параметров в строке не ограничено. +// Параметры в строке задаются как %<номер параметра>. Нумерация параметров +// начинается с единицы. +// +// Параметры +// СтрокаПодстановки - Строка - шаблон строки с параметрами (вхождениями вида "%1"); +// МассивПараметров - Массив - массив строк, которые соответствуют параметрам в строке подстановки. +// +// Возвращаемое значение: +// Строка - строка с подставленными параметрами. +// +// Пример: +// МассивПараметров = Новый Массив; +// МассивПараметров = МассивПараметров.Добавить("Вася"); +// МассивПараметров = МассивПараметров.Добавить("Зоопарк"); +// +// Строка = ПодставитьПараметрыВСтроку(НСтр("ru='%1 пошел в %2'"), МассивПараметров); +// +&НаКлиенте +Функция ПодставитьПараметрыВСтрокуИзМассива(Знач СтрокаПодстановки, Знач МассивПараметров) Экспорт + + СтрокаРезультата = СтрокаПодстановки; + + Индекс = МассивПараметров.Количество(); + Пока Индекс > 0 Цикл + Значение = МассивПараметров[Индекс-1]; + Если Не ПустаяСтрока(Значение) Тогда + СтрокаРезультата = СтрЗаменить(СтрокаРезультата, "%" + Формат(Индекс, "ЧГ="), Значение); + КонецЕсли; + Индекс = Индекс - 1; + КонецЦикла; + + Возврат СтрокаРезультата; + +КонецФункции + +// Заменяет в шаблоне строки имена параметров на их значения. Параметры в строке выделяются с двух сторон квадратными +// скобками. +// +// Параметры: +// +// ШаблонСтроки - Строка - строка, в которую необходимо вставить значения. +// ВставляемыеЗначения - Структура - структура значений, где ключ - имя параметра без спецсимволов, +// значение - вставляемое значение. +// +// Возвращаемое значение: +// Строка - строка со вставленными значениями. +// +// Пример использования: +// ВставитьПараметрыВСтроку("Здравствуй, [Имя] [Фамилия].", Новый Структура("Фамилия,Имя", "Пупкин", "Вася")); +// Возвращает: "Здравствуй, Вася Пупкин". +&НаКлиенте +Функция ВставитьПараметрыВСтроку(Знач ШаблонСтроки, ВставляемыеЗначения) Экспорт + Результат = ШаблонСтроки; + Для Каждого Параметр Из ВставляемыеЗначения Цикл + Результат = СтрЗаменить(Результат, "[" + Параметр.Ключ + "]", Параметр.Значение); + КонецЦикла; + Возврат Результат; +КонецФункции + +// Получает значения параметров из строки. +// +// Параметры: +// СтрокаПараметров - Строка - строка, содержащая параметры, каждый из которых представляет собой +// фрагмент вида <Имя параметра>=<Значение>, где: +// Имя параметра - имя параметра; +// Значение - его значение. +// Фрагменты отделяются друг от друга символами ';'. +// Если значение содержит пробельные символы, то оно должно быть заключено в двойные +// кавычки ("). +// Например: +// "File=""c:\InfoBases\Trade""; Usr=""Director"";" +// +// Возвращаемое значение: +// Структура - структура параметров, где ключ - имя параметра, значение - значение параметра. +// +&НаКлиенте +Функция ПолучитьПараметрыИзСтроки(Знач СтрокаПараметров) Экспорт + + Результат = Новый Структура; + + СимволДвойныеКавычки = Символ(34); // (") + + МассивПодстрок = РазложитьСтрокуВМассивПодстрок(СтрокаПараметров, ";"); + + Для Каждого СтрокаПараметра Из МассивПодстрок Цикл + + ПозицияПервогоЗнакаРавенства = Найти(СтрокаПараметра, "="); + + // Получаем имя параметра + ИмяПараметра = СокрЛП(Лев(СтрокаПараметра, ПозицияПервогоЗнакаРавенства - 1)); + + // Получаем значение параметра + ЗначениеПараметра = СокрЛП(Сред(СтрокаПараметра, ПозицияПервогоЗнакаРавенства + 1)); + + Если Лев(ЗначениеПараметра, 1) = СимволДвойныеКавычки + И Прав(ЗначениеПараметра, 1) = СимволДвойныеКавычки Тогда + + ЗначениеПараметра = Сред(ЗначениеПараметра, 2, СтрДлина(ЗначениеПараметра) - 2); + + КонецЕсли; + + Если Не ПустаяСтрока(ИмяПараметра) Тогда + + Результат.Вставить(ИмяПараметра, ЗначениеПараметра); + + КонецЕсли; + + КонецЦикла; + + Возврат Результат; +КонецФункции + +// Проверяет, содержит ли строка только цифры. +// +// Параметры: +// СтрокаПроверки - Строка - Строка для проверки. +// УчитыватьЛидирующиеНули - Булево - Флаг учета лидирующих нулей, если Истина, то ведущие нули пропускаются. +// УчитыватьПробелы - Булево - Флаг учета пробелов, если Истина, то пробелы при проверке игнорируются. +// +// Возвращаемое значение: +// Булево - Истина - строка содержит только цифры или пустая, Ложь - строка содержит иные символы. +// +&НаКлиенте +Функция ТолькоЦифрыВСтроке(Знач СтрокаПроверки, Знач УчитыватьЛидирующиеНули = Истина, Знач УчитыватьПробелы = Истина) Экспорт + + Если ТипЗнч(СтрокаПроверки) <> Тип("Строка") Тогда + Возврат Ложь; + КонецЕсли; + + Если Не УчитыватьПробелы Тогда + СтрокаПроверки = СтрЗаменить(СтрокаПроверки, " ", ""); + КонецЕсли; + + Если ПустаяСтрока(СтрокаПроверки) Тогда + Возврат Истина; + КонецЕсли; + + Если Не УчитыватьЛидирующиеНули Тогда + Позиция = 1; + // Взятие символа за границей строки возвращает пустую строку. + Пока Сред(СтрокаПроверки, Позиция, 1) = "0" Цикл + Позиция = Позиция + 1; + КонецЦикла; + СтрокаПроверки = Сред(СтрокаПроверки, Позиция); + КонецЕсли; + + // Если содержит только цифры, то в результате замен должна быть получена пустая строка. + // Проверять при помощи ПустаяСтрока нельзя, так как в исходной строке могут быть пробельные символы. + Возврат СтрДлина( + СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( + СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( + СтрокаПроверки, "0", ""), "1", ""), "2", ""), "3", ""), "4", ""), "5", ""), "6", ""), "7", ""), "8", ""), "9", "") + ) = 0; + +КонецФункции + +// Проверяет, содержит ли строка только символы кириллического алфавита. +// +// Параметры: +// УчитыватьРазделителиСлов - Булево - учитывать ли разделители слов или они являются исключением. +// ДопустимыеСимволы - строка для проверки. +// +// Возвращаемое значение: +// Булево - Истина, если строка содержит только кириллические (или допустимые) символы или пустая; +// Ложь, если строка содержит иные символы. +// +&НаКлиенте +Функция ТолькоКириллицаВСтроке(Знач СтрокаПроверки, Знач УчитыватьРазделителиСлов = Истина, ДопустимыеСимволы = "") Экспорт + + Если ТипЗнч(СтрокаПроверки) <> Тип("Строка") Тогда + Возврат Ложь; + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(СтрокаПроверки) Тогда + Возврат Истина; + КонецЕсли; + + КодыДопустимыхСимволов = Новый Массив; + КодыДопустимыхСимволов.Добавить(1105); // "ё" + КодыДопустимыхСимволов.Добавить(1025); // "Ё" + + Для а = 1 По СтрДлина(ДопустимыеСимволы) Цикл + КодыДопустимыхСимволов.Добавить(КодСимвола(Сред(ДопустимыеСимволы, а, 1))); + КонецЦикла; + + Для а = 1 По СтрДлина(СтрокаПроверки) Цикл + КодСимвола = КодСимвола(Сред(СтрокаПроверки, а, 1)); + Если ((КодСимвола < 1040) Или (КодСимвола > 1103)) + И (КодыДопустимыхСимволов.Найти(КодСимвола) = Неопределено) + И Не (Не УчитыватьРазделителиСлов И ЭтоРазделительСлов(КодСимвола)) Тогда + Возврат Ложь; + КонецЕсли; + КонецЦикла; + + Возврат Истина; + +КонецФункции + +// Проверяет, содержит ли строка только символы латинского алфавита. +// +// Параметры: +// УчитыватьРазделителиСлов - Булево - учитывать ли разделители слов или они являются исключением. +// ДопустимыеСимволы - строка для проверки. +// +// Возвращаемое значение: +// Булево - Истина, если строка содержит только латинские (или допустимые) символы; +// - Ложь, если строка содержит иные символы. +// +&НаКлиенте +Функция ТолькоЛатиницаВСтроке(Знач СтрокаПроверки, Знач УчитыватьРазделителиСлов = Истина, ДопустимыеСимволы = "") Экспорт + + Если ТипЗнч(СтрокаПроверки) <> Тип("Строка") Тогда + Возврат Ложь; + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(СтрокаПроверки) Тогда + Возврат Истина; + КонецЕсли; + + КодыДопустимыхСимволов = Новый Массив; + + Для а = 1 По СтрДлина(ДопустимыеСимволы) Цикл + КодыДопустимыхСимволов.Добавить(КодСимвола(Сред(ДопустимыеСимволы, а, 1))); + КонецЦикла; + + Для а = 1 По СтрДлина(СтрокаПроверки) Цикл + КодСимвола = КодСимвола(Сред(СтрокаПроверки, а, 1)); + Если ((КодСимвола < 65) Или (КодСимвола > 90 И КодСимвола < 97) Или (КодСимвола > 122)) + И (КодыДопустимыхСимволов.Найти(КодСимвола) = Неопределено) + И Не (Не УчитыватьРазделителиСлов И ЭтоРазделительСлов(КодСимвола)) Тогда + Возврат Ложь; + КонецЕсли; + КонецЦикла; + + Возврат Истина; + +КонецФункции + +// Удаляет двойные кавычки с начала и конца строки, если они есть. +// +// Параметры: +// Строка - входная строка; +// +// Возвращаемое значение: +// Строка - строка без двойных кавычек. +// +&НаКлиенте +Функция СократитьДвойныеКавычки(Знач Строка) Экспорт + + Пока Лев(Строка, 1) = """" Цикл + Строка = Сред(Строка, 2); + КонецЦикла; + + Пока Прав(Строка, 1) = """" Цикл + Строка = Лев(Строка, СтрДлина(Строка) - 1); + КонецЦикла; + + Возврат Строка; + +КонецФункции + +// Удаляет из строки указанное количество символов справа. +// +// Параметры: +// Текст - Строка - строка, в которой необходимо удалить последние символы; +// ЧислоСимволов - Число - количество удаляемых символов. +// +&НаКлиенте +Процедура УдалитьПоследнийСимволВСтроке(Текст, ЧислоСимволов = 1) Экспорт + + Текст = Лев(Текст, СтрДлина(Текст) - ЧислоСимволов); + +КонецПроцедуры + +// Осуществляет поиск символа, начиная с конца строки. +// +// Параметры: +// Строка - Строка - строка, в которой осуществляется поиск; +// Символ - Строка - искомый символ. Допускается искать строку, содержащую более одного символа. +// +// Возвращаемое значение: +// Число - позиция символа в строке. +// Если строка не содержит указанного символа, то возвращается 0. +// +&НаКлиенте +Функция НайтиСимволСКонца(Знач Строка, Знач Символ) Экспорт + + Для Позиция = -СтрДлина(Строка) По -1 Цикл + Если Сред(Строка, -Позиция, СтрДлина(Символ)) = Символ Тогда + Возврат -Позиция; + КонецЕсли; + КонецЦикла; + + Возврат 0; + +КонецФункции + +// Проверяет, является ли строка уникальным идентификатором. +// В качестве уникального идентификатора предполагается строка вида +// "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", где X = [0..9,a..f]. +// +// Параметры: +// ИдентификаторСтрока - Строка - проверяемая строка. +// +// Возвращаемое значение: +// Булево - Истина, если переданная строка является уникальным идентификатором. +&НаКлиенте +Функция ЭтоУникальныйИдентификатор(Знач Строка) Экспорт + + Шаблон = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"; + + Если СтрДлина(Шаблон) <> СтрДлина(Строка) Тогда + Возврат Ложь; + КонецЕсли; + Для Позиция = 1 По СтрДлина(Строка) Цикл + Если КодСимвола(Шаблон, Позиция) = 88 // X + И ((КодСимвола(Строка, Позиция) < 48 Или КодСимвола(Строка, Позиция) > 57) // 0..9 + И (КодСимвола(Строка, Позиция) < 97 Или КодСимвола(Строка, Позиция) > 102) // a..f + И (КодСимвола(Строка, Позиция) < 65 Или КодСимвола(Строка, Позиция) > 70)) // A..F + Или КодСимвола(Шаблон, Позиция) = 45 И КодСимвола(Строка, Позиция) <> 45 Тогда // - + Возврат Ложь; + КонецЕсли; + КонецЦикла; + + Возврат Истина; + +КонецФункции + +// Формирует строку повторяющихся символов заданной длины. +// +// Параметры: +// Символ - Строка - символ, из которого будет формироваться строка. +// ДлинаСтроки - Число - требуемая длина результирующей строки. +// +// Возвращаемое значение: +// Строка - строка, состоящая из повторяющихся символов. +// +&НаКлиенте +Функция СформироватьСтрокуСимволов(Знач Символ, Знач ДлинаСтроки) Экспорт + + Результат = ""; + Для Счетчик = 1 По ДлинаСтроки Цикл + Результат = Результат + Символ; + КонецЦикла; + + Возврат Результат; + +КонецФункции + +// Дополняет строку символами слева или справа до заданной длины и возвращает ее. +// Незначащие символы слева и справа удаляются. По умолчанию функция дополняет строку символами "0" (ноль) слева. +// +// Параметры: +// Строка - Строка - исходная строка, которую необходимо дополнить символами; +// ДлинаСтроки - Число - требуемая результирующая длина строки; +// Символ - Строка - символ, которым необходимо дополнить строку; +// Режим - Строка - "Слева" или "Справа" - режим добавления символов к исходной строке. +// +// Возвращаемое значение: +// Строка - строка, дополненная символами. +// +// Пример 1: +// Строка = "1234"; ДлинаСтроки = 10; Символ = "0"; Режим = "Слева" +// Возврат: "0000001234" +// +// Пример 2: +// Строка = " 1234 "; ДлинаСтроки = 10; Символ = "#"; Режим = "Справа" +// Возврат: "1234######" +// +&НаКлиенте +Функция ДополнитьСтроку(Знач Строка, Знач ДлинаСтроки, Знач Символ = "0", Знач Режим = "Слева") Экспорт + + // Длина символа не должна превышать единицы. + Символ = Лев(Символ, 1); + + // Удаляем крайние пробелы слева и справа строки. + Строка = СокрЛП(Строка); + + КоличествоСимволовНадоДобавить = ДлинаСтроки - СтрДлина(Строка); + + Если КоличествоСимволовНадоДобавить > 0 Тогда + + СтрокаДляДобавления = СформироватьСтрокуСимволов(Символ, КоличествоСимволовНадоДобавить); + + Если ВРег(Режим) = "СЛЕВА" Тогда + + Строка = СтрокаДляДобавления + Строка; + + ИначеЕсли ВРег(Режим) = "СПРАВА" Тогда + + Строка = Строка + СтрокаДляДобавления; + + КонецЕсли; + + КонецЕсли; + + Возврат Строка; + +КонецФункции + +// Удаляет крайние повторяющиеся символы слева или справа в строке. +// +// Параметры: +// Строка - Строка - исходная строка, из которой необходимо удалить крайние повторяющиеся символы; +// Символ - Строка - искомый символ для удаления; +// Режим - Строка - "Слева" или "Справа" - режим удаления символов в исходной строке. +// +// Возвращаемое значение: +// Строка - обрезанная строка. +// +&НаКлиенте +Функция УдалитьПовторяющиесяСимволы(Знач Строка, Знач Символ, Знач Режим = "Слева") Экспорт + + Если ВРег(Режим) = "СЛЕВА" Тогда + + Пока Лев(Строка, 1)= Символ Цикл + + Строка = Сред(Строка, 2); + + КонецЦикла; + + ИначеЕсли ВРег(Режим) = "СПРАВА" Тогда + + Пока Прав(Строка, 1)= Символ Цикл + + Строка = Лев(Строка, СтрДлина(Строка) - 1); + + КонецЦикла; + + КонецЕсли; + + Возврат Строка; +КонецФункции + +// Выполняет замену символов в строке. +// +// Параметры: +// ЗаменяемыеСимволы - Строка - строка символов, каждый из которых требует замены; +// Строка - Строка - исходная строка, в которой требуется замена символов; +// СимволыЗамены - Строка - строка символов, на каждый из которых нужно заменить символы параметра +// ЗаменяемыеСимволы. +// +// Возвращаемое значение: +// Строка - строка после замены символов. +// +// Примечание: функция предназначена для простых случаев, например, для замены латиницы на похожие кириллические +// символы. +// +&НаКлиенте +Функция ЗаменитьОдниСимволыДругими(ЗаменяемыеСимволы, Строка, СимволыЗамены) Экспорт + + Результат = Строка; + + Для НомерСимвола = 1 По СтрДлина(ЗаменяемыеСимволы) Цикл + Результат = СтрЗаменить(Результат, Сред(ЗаменяемыеСимволы, НомерСимвола, 1), Сред(СимволыЗамены, НомерСимвола, 1)); + КонецЦикла; + + Возврат Результат; + +КонецФункции + +// Выполняет преобразование арабского числа в римское. +// +// Параметры: +// АрабскоеЧисло - число, целое, от 0 до 999; +// ИспользоватьКириллицу - булево, использовать в качестве арабских цифр кириллицу или латиницу. +// +// Возвращаемое значение: +// Строка - число в римской нотации. +// +// Пример: +// ПреобразоватьЧислоВРимскуюНотацию(17) = "ХVII". +// +&НаКлиенте +Функция ПреобразоватьЧислоВРимскуюНотацию(АрабскоеЧисло, ИспользоватьКириллицу = Истина) Экспорт + + РимскоеЧисло = ""; + АрабскоеЧисло = ДополнитьСтроку(АрабскоеЧисло, 3); + + Если ИспользоватьКириллицу Тогда + c1 = "1"; c5 = "У"; c10 = "Х"; c50 = "Л"; c100 ="С"; c500 = "Д"; c1000 = "М"; + + Иначе + c1 = "I"; c5 = "V"; c10 = "X"; c50 = "L"; c100 ="C"; c500 = "D"; c1000 = "M"; + + КонецЕсли; + + Единицы = Число(Сред(АрабскоеЧисло, 3, 1)); + Десятки = Число(Сред(АрабскоеЧисло, 2, 1)); + Сотни = Число(Сред(АрабскоеЧисло, 1, 1)); + + РимскоеЧисло = РимскоеЧисло + ПреобразоватьЦифруВРимскуюНотацию(Сотни, c100, c500, c1000); + РимскоеЧисло = РимскоеЧисло + ПреобразоватьЦифруВРимскуюНотацию(Десятки, c10, c50, c100); + РимскоеЧисло = РимскоеЧисло + ПреобразоватьЦифруВРимскуюНотацию(Единицы, c1, c5, c10); + + Возврат РимскоеЧисло; + +КонецФункции + +// Выполняет преобразование римского числа в арабское. +// +// Параметры: +// РимскоеЧисло - Строка - число, записанное римскими цифрами; +// ИспользоватьКириллицу - Булево - использовать в качестве арабских цифр кириллицу или латиницу. +// +// Возвращаемое значение: +// Число. +// +// Пример: +// ПреобразоватьЧислоВАрабскуюНотацию("ХVII") = 17. +// +&НаКлиенте +Функция ПреобразоватьЧислоВАрабскуюНотацию(РимскоеЧисло, ИспользоватьКириллицу = Истина) Экспорт + + АрабскоеЧисло=0; + + Если ИспользоватьКириллицу Тогда + c1 = "1"; c5 = "У"; c10 = "Х"; c50 = "Л"; c100 ="С"; c500 = "Д"; c1000 = "М"; + + Иначе + c1 = "I"; c5 = "V"; c10 = "X"; c50 = "L"; c100 ="C"; c500 = "D"; c1000 = "M"; + + КонецЕсли; + + РимскоеЧисло = СокрЛП(РимскоеЧисло); + ЧислоСимволов = СтрДлина(РимскоеЧисло); + + Для Сч=1 По ЧислоСимволов Цикл + Если Сред(РимскоеЧисло,Сч,1) = c1000 Тогда + АрабскоеЧисло = АрабскоеЧисло+1000; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c500 Тогда + АрабскоеЧисло = АрабскоеЧисло+500; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c100 Тогда + Если (Сч < ЧислоСимволов) И ((Сред(РимскоеЧисло,Сч+1,1) = c500) ИЛИ (Сред(РимскоеЧисло,Сч+1,1) = c1000)) Тогда + АрабскоеЧисло = АрабскоеЧисло-100; + Иначе + АрабскоеЧисло = АрабскоеЧисло+100; + КонецЕсли; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c50 Тогда + АрабскоеЧисло = АрабскоеЧисло+50; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c10 Тогда + Если (Сч < ЧислоСимволов) И ((Сред(РимскоеЧисло,Сч+1,1) = c50) ИЛИ (Сред(РимскоеЧисло,Сч+1,1) = c100)) Тогда + АрабскоеЧисло = АрабскоеЧисло-10; + Иначе + АрабскоеЧисло = АрабскоеЧисло+10; + КонецЕсли; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c5 Тогда + АрабскоеЧисло = АрабскоеЧисло+5; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c1 Тогда + Если (Сч < ЧислоСимволов) И ((Сред(РимскоеЧисло,Сч+1,1) = c5) ИЛИ (Сред(РимскоеЧисло,Сч+1,1) = c10)) Тогда + АрабскоеЧисло = АрабскоеЧисло-1; + Иначе + АрабскоеЧисло = АрабскоеЧисло+1; + КонецЕсли; + КонецЕсли; + КонецЦикла; + + Возврат АрабскоеЧисло; + +КонецФункции + +// Возвращает текстовое представление числа с единицей измерения в правильном склонении и числе. +// +// Параметры: +// Число - Число - любое целое число. +// ПараметрыПредметаИсчисления - Строка - варианты написания единицы измерения в родительном падеже для одной, +// для двух и для пяти единиц, разделитель - запятая. +// +// Возвращаемое значение: +// Строка - текстовое представление количества единиц, число записывается цифрами. +// +// Примеры: +// ЧислоЦифрамиПредметИсчисленияПрописью(23, "минуту,минуты,минут") = "23 минуты"; +// ЧислоЦифрамиПредметИсчисленияПрописью(15, "минуту,минуты,минут") = "15 минут". +&НаКлиенте +Функция ЧислоЦифрамиПредметИсчисленияПрописью(Знач Число, Знач ПараметрыПредметаИсчисления) Экспорт + + Результат = Формат(Число,"ЧН=0"); + + МассивПредставлений = Новый Массив; + + Позиция = Найти(ПараметрыПредметаИсчисления, ","); + Пока Позиция > 0 Цикл + Значение = СокрЛП(Лев(ПараметрыПредметаИсчисления, Позиция-1)); + ПараметрыПредметаИсчисления = Сред(ПараметрыПредметаИсчисления, Позиция + 1); + МассивПредставлений.Добавить(Значение); + Позиция = Найти(ПараметрыПредметаИсчисления, ","); + КонецЦикла; + + Если СтрДлина(ПараметрыПредметаИсчисления) > 0 Тогда + Значение = СокрЛП(ПараметрыПредметаИсчисления); + МассивПредставлений.Добавить(Значение); + КонецЕсли; + + Если Число >= 100 Тогда + Число = Число - Цел(Число / 100)*100; + КонецЕсли; + + Если Число > 20 Тогда + Число = Число - Цел(Число/10)*10; + КонецЕсли; + + Если Число = 1 Тогда + Результат = Результат + " " + МассивПредставлений[0]; + ИначеЕсли Число > 1 И Число < 5 Тогда + Результат = Результат + " " + МассивПредставлений[1]; + Иначе + Результат = Результат + " " + МассивПредставлений[2]; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +// Очищает текст в формате HTML от тегов и возвращает неформатированный текст. +// +// Параметры: +// ИсходныйТекст - Строка - текст в формате HTML. +// +// Возвращаемое значение: +// Строка - текст, очищенный от тегов, скриптов и заголовков. +// +&НаКлиенте +Функция ИзвлечьТекстИзHTML(Знач ИсходныйТекст) Экспорт + Результат = ""; + + Текст = НРег(ИсходныйТекст); + + // отрезаем все что не body + Позиция = Найти(Текст, " 0 Тогда + Текст = Сред(Текст, Позиция + 5); + ИсходныйТекст = Сред(ИсходныйТекст, Позиция + 5); + Позиция = Найти(Текст, ">"); + Если Позиция > 0 Тогда + Текст = Сред(Текст, Позиция + 1); + ИсходныйТекст = Сред(ИсходныйТекст, Позиция + 1); + КонецЕсли; + КонецЕсли; + + Позиция = Найти(Текст, ""); + Если Позиция > 0 Тогда + Текст = Лев(Текст, Позиция - 1); + ИсходныйТекст = Лев(ИсходныйТекст, Позиция - 1); + КонецЕсли; + + // вырезаем скрипты + Позиция = Найти(Текст, " 0 Цикл + ПозицияЗакрывающегоТега = Найти(Текст, ""); + Если ПозицияЗакрывающегоТега = 0 Тогда + // Не найден закрывающий тег - вырезаем оставшийся текст. + ПозицияЗакрывающегоТега = СтрДлина(Текст); + КонецЕсли; + Текст = Лев(Текст, Позиция - 1) + Сред(Текст, ПозицияЗакрывающегоТега + 9); + ИсходныйТекст = Лев(ИсходныйТекст, Позиция - 1) + Сред(ИсходныйТекст, ПозицияЗакрывающегоТега + 9); + Позиция = Найти(Текст, " 0 Цикл + ПозицияЗакрывающегоТега = Найти(Текст, ""); + Если ПозицияЗакрывающегоТега = 0 Тогда + // Не найден закрывающий тег - вырезаем оставшийся текст. + ПозицияЗакрывающегоТега = СтрДлина(Текст); + КонецЕсли; + Текст = Лев(Текст, Позиция - 1) + Сред(Текст, ПозицияЗакрывающегоТега + 8); + ИсходныйТекст = Лев(ИсходныйТекст, Позиция - 1) + Сред(ИсходныйТекст, ПозицияЗакрывающегоТега + 8); + Позиция = Найти(Текст, " 0 Цикл + Результат = Результат + Лев(ИсходныйТекст, Позиция-1); + Текст = Сред(Текст, Позиция + 1); + ИсходныйТекст = Сред(ИсходныйТекст, Позиция + 1); + Позиция = Найти(Текст, ">"); + Если Позиция > 0 Тогда + Текст = Сред(Текст, Позиция + 1); + ИсходныйТекст = Сред(ИсходныйТекст, Позиция + 1); + КонецЕсли; + Позиция = Найти(Текст, "<"); + КонецЦикла; + Результат = Результат + ИсходныйТекст; + МассивСтрок = РазложитьСтрокуВМассивПодстрок(Результат, Символы.ПС, Истина, Истина); + Возврат СокрЛП(СтрокаИзМассиваПодстрок(МассивСтрок, Символы.ПС)); +КонецФункции + +// Преобразует исходную строку в транслит. +&НаКлиенте +Функция СтрокаЛатиницей(Знач Строка) Экспорт + + Результат = ""; + + Соответствие = СоответствиеКириллицыИЛатиницы(); + + ПредыдущийСимвол = ""; + Для Позиция = 1 По СтрДлина(Строка) Цикл + Символ = Сред(Строка, Позиция, 1); + СимволЛатиницей = Соответствие[НРег(Символ)]; // Поиск соответствия без учета регистра. + Если СимволЛатиницей = Неопределено Тогда + // Другие символы остаются "как есть". + СимволЛатиницей = Символ; + Иначе + Если Символ = ВРег(Символ) Тогда + СимволЛатиницей = ТРег(СимволЛатиницей); // восстанавливаем регистр + КонецЕсли; + КонецЕсли; + Результат = Результат + СимволЛатиницей; + ПредыдущийСимвол = СимволЛатиницей; + КонецЦикла; + + Возврат Результат; +КонецФункции + +// Форматирует строку в соответствии с заданным шаблоном. +// Возможные значения тегов выделения: +// Строка - выделяет строку жирным шрифтом +// Строка +// +// Пример: +// Минимальная версия программы 1.1. Обновите программу. +// +// Возвращаемое значение: +// ФорматированнаяСтрока +&НаКлиенте +Функция ФорматированнаяСтрока(Знач Строка) Экспорт + + СтрокиСВыделением = Новый СписокЗначений; + Пока Найти(Строка, "") <> 0 Цикл + НачалоВыделения = Найти(Строка, ""); + СтрокаДоОткрывающегоТега = Лев(Строка, НачалоВыделения - 1); + СтрокиСВыделением.Добавить(СтрокаДоОткрывающегоТега); + СтрокаПослеОткрывающегоТега = Сред(Строка, НачалоВыделения + 3); + КонецВыделения = Найти(СтрокаПослеОткрывающегоТега, ""); + ВыделенныйФрагмент = Лев(СтрокаПослеОткрывающегоТега, КонецВыделения - 1); + СтрокиСВыделением.Добавить(ВыделенныйФрагмент,, Истина); + СтрокаПослеВыделения = Сред(СтрокаПослеОткрывающегоТега, КонецВыделения + 4); + Строка = СтрокаПослеВыделения; + КонецЦикла; + СтрокиСВыделением.Добавить(Строка); + + СтрокиСоСсылками = Новый СписокЗначений; + Для Каждого ЧастьСтроки Из СтрокиСВыделением Цикл + + Строка = ЧастьСтроки.Значение; + + Если ЧастьСтроки.Пометка Тогда + СтрокиСоСсылками.Добавить(Строка,, Истина); + Продолжить; + КонецЕсли; + + НачалоВыделения = Найти(Строка, ""); + + Ссылка = СокрЛП(Лев(СтрокаПослеОткрывающегоТега, ЗакрывающийТег - 2)); + Если Лев(Ссылка, 1) = """" Тогда + Ссылка = Сред(Ссылка, 2, СтрДлина(Ссылка) - 1); + КонецЕсли; + Если Прав(Ссылка, 1) = """" Тогда + Ссылка = Сред(Ссылка, 1, СтрДлина(Ссылка) - 1); + КонецЕсли; + + СтрокаПослеСсылки = Сред(СтрокаПослеОткрывающегоТега, ЗакрывающийТег + 1); + КонецВыделения = Найти(СтрокаПослеСсылки, ""); + ТекстСсылки = Лев(СтрокаПослеСсылки, КонецВыделения - 1); + СтрокиСоСсылками.Добавить(ТекстСсылки, Ссылка); + + СтрокаПослеВыделения = Сред(СтрокаПослеСсылки, КонецВыделения + 4); + Строка = СтрокаПослеВыделения; + + НачалоВыделения = Найти(Строка, " 0 Цикл + Результат = Результат + Лев(СтрокаПодстановки, Позиция - 1); + СимволПослеПроцента = Сред(СтрокаПодстановки, Позиция + 1, 1); + ПодставляемыйПараметр = ""; + Если СимволПослеПроцента = "1" Тогда + ПодставляемыйПараметр = Параметр1; + ИначеЕсли СимволПослеПроцента = "2" Тогда + ПодставляемыйПараметр = Параметр2; + ИначеЕсли СимволПослеПроцента = "3" Тогда + ПодставляемыйПараметр = Параметр3; + ИначеЕсли СимволПослеПроцента = "4" Тогда + ПодставляемыйПараметр = Параметр4; + ИначеЕсли СимволПослеПроцента = "5" Тогда + ПодставляемыйПараметр = Параметр5; + ИначеЕсли СимволПослеПроцента = "6" Тогда + ПодставляемыйПараметр = Параметр6; + ИначеЕсли СимволПослеПроцента = "7" Тогда + ПодставляемыйПараметр = Параметр7 + ИначеЕсли СимволПослеПроцента = "8" Тогда + ПодставляемыйПараметр = Параметр8; + ИначеЕсли СимволПослеПроцента = "9" Тогда + ПодставляемыйПараметр = Параметр9; + КонецЕсли; + Если ПодставляемыйПараметр = "" Тогда + Результат = Результат + "%"; + СтрокаПодстановки = Сред(СтрокаПодстановки, Позиция + 1); + Иначе + Результат = Результат + ПодставляемыйПараметр; + СтрокаПодстановки = Сред(СтрокаПодстановки, Позиция + 2); + КонецЕсли; + Позиция = Найти(СтрокаПодстановки, "%"); + КонецЦикла; + Результат = Результат + СтрокаПодстановки; + + Возврат Результат; +КонецФункции + +&НаКлиенте +Функция СоответствиеКириллицыИЛатиницы() + // Транслитерация, используемая в загранпаспортах 1997-2010. + Соответствие = Новый Соответствие; + Соответствие.Вставить("а","a"); + Соответствие.Вставить("б","b"); + Соответствие.Вставить("в","v"); + Соответствие.Вставить("г","g"); + Соответствие.Вставить("д","d"); + Соответствие.Вставить("е","e"); + Соответствие.Вставить("ё","e"); + Соответствие.Вставить("ж","zh"); + Соответствие.Вставить("з","z"); + Соответствие.Вставить("и","i"); + Соответствие.Вставить("й","y"); + Соответствие.Вставить("к","k"); + Соответствие.Вставить("л","l"); + Соответствие.Вставить("м","m"); + Соответствие.Вставить("н","n"); + Соответствие.Вставить("о","o"); + Соответствие.Вставить("п","p"); + Соответствие.Вставить("р","r"); + Соответствие.Вставить("с","s"); + Соответствие.Вставить("т","t"); + Соответствие.Вставить("у","u"); + Соответствие.Вставить("ф","f"); + Соответствие.Вставить("х","kh"); + Соответствие.Вставить("ц","ts"); + Соответствие.Вставить("ч","ch"); + Соответствие.Вставить("ш","sh"); + Соответствие.Вставить("щ","shch"); + Соответствие.Вставить("ъ",""""); + Соответствие.Вставить("ы","y"); + Соответствие.Вставить("ь",""); // пропускается + Соответствие.Вставить("э","e"); + Соответствие.Вставить("ю","yu"); + Соответствие.Вставить("я","ya"); + + Возврат Соответствие; +КонецФункции + +//////////////////////////////////////////////////////////////////////////////// +// УСТАРЕВШИЕ ПРОЦЕДУРЫ И ФУНКЦИИ + +// Устарела. Следует использовать СтрокаИзМассиваПодстрок. +// +// Объединяет строки из массива в строку с разделителями. +// +// Параметры: +// Массив - Массив - массив строк которые необходимо объединить в одну строку; +// Разделитель - Строка - любой набор символов, который будет использован в качестве разделителя. +// +// Возвращаемое значение: +// Строка - строка с разделителями. +// +&НаКлиенте +Функция ПолучитьСтрокуИзМассиваПодстрок(Массив, Разделитель = ",") Экспорт + + // Возвращаемое значение функции. + Результат = ""; + + Для Каждого Элемент Из Массив Цикл + + Подстрока = ?(ТипЗнч(Элемент) = Тип("Строка"), Элемент, Строка(Элемент)); + + РазделительПодстрок = ?(ПустаяСтрока(Результат), "", Разделитель); + + Результат = Результат + РазделительПодстрок + Подстрока; + + КонецЦикла; + + Возврат Результат; + +КонецФункции + +// } Функции работы со строками + + +// { Helpers +&НаСервере +Функция ЭтотОбъектНаСервере() + Возврат РеквизитФормыВЗначение("Объект"); +КонецФункции +// } Helpers 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.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/ObjectModule.txt" new file mode 100644 index 00000000..faa5a281 --- /dev/null +++ "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.txt" @@ -0,0 +1,1237 @@ + +// { Plugin interface +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Результат = Новый Структура; + Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); + Результат.Вставить("Идентификатор", Метаданные().Имя); + Результат.Вставить("Представление", "Строковые утилиты"); + + Возврат Новый ФиксированнаяСтруктура(Результат); +КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + +КонецПроцедуры +// } Plugin interface + + +// { Функции работы со строками + +// Разбивает строку на несколько строк по разделителю. Разделитель может иметь любую длину. +// +// Параметры: +// Строка - Строка - текст с разделителями; +// Разделитель - Строка - разделитель строк текста, минимум 1 символ; +// ПропускатьПустыеСтроки - Булево - признак необходимости включения в результат пустых строк. +// Если параметр не задан, то функция работает в режиме совместимости со своей предыдущей версией: +// - для разделителя-пробела пустые строки не включаются в результат, для остальных разделителей пустые строки +// включаются в результат. +// Е если параметр Строка не содержит значащих символов или не содержит ни одного символа (пустая строка), то в +// случае разделителя-пробела результатом функции будет массив, содержащий одно значение "" (пустая строка), а +// при других разделителях результатом функции будет пустой массив. +// СокращатьНепечатаемыеСимволы - Булево - сокращать непечатаемые символы по краям каждой из найденных подстрок. +// +// Возвращаемое значение: +// Массив - массив строк. +// +// Примеры: +// РазложитьСтрокуВМассивПодстрок(",один,,два,", ",") - возвратит массив из 5 элементов, три из которых - пустые +// строки; +// РазложитьСтрокуВМассивПодстрок(",один,,два,", ",", Истина) - возвратит массив из двух элементов; +// РазложитьСтрокуВМассивПодстрок(" один два ", " ") - возвратит массив из двух элементов; +// РазложитьСтрокуВМассивПодстрок("") - возвратит пустой массив; +// РазложитьСтрокуВМассивПодстрок("",,Ложь) - возвратит массив с одним элементом "" (пустой строкой); +// РазложитьСтрокуВМассивПодстрок("", " ") - возвратит массив с одним элементом "" (пустой строкой); +// +Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",", Знач ПропускатьПустыеСтроки = Неопределено, СокращатьНепечатаемыеСимволы = Ложь) Экспорт + + Результат = Новый Массив; + + // Для обеспечения обратной совместимости. + Если ПропускатьПустыеСтроки = Неопределено Тогда + ПропускатьПустыеСтроки = ?(Разделитель = " ", Истина, Ложь); + Если ПустаяСтрока(Строка) Тогда + Если Разделитель = " " Тогда + Результат.Добавить(""); + КонецЕсли; + Возврат Результат; + КонецЕсли; + КонецЕсли; + // + + Позиция = Найти(Строка, Разделитель); + Пока Позиция > 0 Цикл + Подстрока = Лев(Строка, Позиция - 1); + Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Подстрока) Тогда + Если СокращатьНепечатаемыеСимволы Тогда + Результат.Добавить(СокрЛП(Подстрока)); + Иначе + Результат.Добавить(Подстрока); + КонецЕсли; + КонецЕсли; + Строка = Сред(Строка, Позиция + СтрДлина(Разделитель)); + Позиция = Найти(Строка, Разделитель); + КонецЦикла; + + Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Строка) Тогда + Если СокращатьНепечатаемыеСимволы Тогда + Результат.Добавить(СокрЛП(Строка)); + Иначе + Результат.Добавить(Строка); + КонецЕсли; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +/// Объединяет строки из массива в строку с разделителями. +// +// Параметры: +// Массив - Массив - массив строк которые необходимо объединить в одну строку; +// Разделитель - Строка - любой набор символов, который будет использован в качестве разделителя. +// +// Возвращаемое значение: +// Строка - строка с разделителями. +// +Функция СтрокаИзМассиваПодстрок(Массив, Разделитель = ",", СокращатьНепечатаемыеСимволы = Ложь) Экспорт + + Результат = ""; + + Для Индекс = 0 По Массив.ВГраница() Цикл + Подстрока = Массив[Индекс]; + + Если СокращатьНепечатаемыеСимволы Тогда + Подстрока = СокрЛП(Подстрока); + КонецЕсли; + + Если ТипЗнч(Подстрока) <> Тип("Строка") Тогда + Подстрока = Строка(Подстрока); + КонецЕсли; + + Если Индекс > 0 Тогда + Результат = Результат + Разделитель; + КонецЕсли; + + Результат = Результат + Подстрока; + КонецЦикла; + + Возврат Результат; + +КонецФункции + +// Определяет, является ли символ разделителем. +// +// Параметры: +// КодСимвола - Число - код проверяемого символа; +// РазделителиСлов - Строка - символы разделителей. +// +// Возвращаемое значение: +// Булево - истина, если символ является разделителем. +// +Функция ЭтоРазделительСлов(КодСимвола, РазделителиСлов = Неопределено) Экспорт + + Если РазделителиСлов <> Неопределено Тогда + Возврат Найти(РазделителиСлов, Символ(КодСимвола)) > 0; + КонецЕсли; + + Диапазоны = Новый Массив; + Диапазоны.Добавить(Новый Структура("Мин,Макс", 48, 57)); // цифры + Диапазоны.Добавить(Новый Структура("Мин,Макс", 65, 90)); // латиница большие + Диапазоны.Добавить(Новый Структура("Мин,Макс", 97, 122)); // латиница маленькие + Диапазоны.Добавить(Новый Структура("Мин,Макс", 1040, 1103)); // кириллица + Диапазоны.Добавить(Новый Структура("Мин,Макс", 1025, 1025)); // символ "Ё" + Диапазоны.Добавить(Новый Структура("Мин,Макс", 1105, 1105)); // символ "ё" + Диапазоны.Добавить(Новый Структура("Мин,Макс", 95, 95)); // символ "_" + + Для Каждого Диапазон Из Диапазоны Цикл + Если КодСимвола >= Диапазон.Мин И КодСимвола <= Диапазон.Макс Тогда + Возврат Ложь; + КонецЕсли; + КонецЦикла; + + Возврат Истина; + +КонецФункции + +// Разбивает строку на несколько строк, используя заданный набор разделителей. +// Если параметр РазделителиСлов не задан, то разделителем слов считается любой из символов, +// не относящихся к символам латиницы, кириллицы, цифры, подчеркивания. +// +// Параметры: +// Строка - Строка - строка, которую необходимо разложить на слова. +// РазделителиСлов - Строка - строка, содержащая символы-разделители. +// +// Возвращаемое значение: +// массив значений, элементы которого - отдельные слова. +// +// Пример: +// РазложитьСтрокуВМассивСлов("один-@#два2_!три") возвратит массив значений: "один", "два2_", "три"; +// РазложитьСтрокуВМассивСлов("один-@#два2_!три", "#@!_") возвратит массив значений: "один-", "два2", "три". +// +Функция РазложитьСтрокуВМассивСлов(Знач Строка, РазделителиСлов = Неопределено) Экспорт + + Слова = Новый Массив; + + РазмерТекста = СтрДлина(Строка); + НачалоСлова = 1; + Для Позиция = 1 По РазмерТекста Цикл + КодСимвола = КодСимвола(Строка, Позиция); + Если ЭтоРазделительСлов(КодСимвола, РазделителиСлов) Тогда + Если Позиция <> НачалоСлова Тогда + Слова.Добавить(Сред(Строка, НачалоСлова, Позиция - НачалоСлова)); + КонецЕсли; + НачалоСлова = Позиция + 1; + КонецЕсли; + КонецЦикла; + + Если Позиция <> НачалоСлова Тогда + Слова.Добавить(Сред(Строка, НачалоСлова, Позиция - НачалоСлова)); + КонецЕсли; + + Возврат Слова; + +КонецФункции + +// Подставляет параметры в строку. Максимально возможное число параметров - 9. +// Параметры в строке задаются как %<номер параметра>. Нумерация параметров начинается с единицы. +// +// Параметры: +// СтрокаПодстановки - Строка - шаблон строки с параметрами (вхождениями вида "%ИмяПараметра"); +// Параметр - Строка - подставляемый параметр. +// +// Возвращаемое значение: +// Строка - текстовая строка с подставленными параметрами. +// +// Пример: +// ПодставитьПараметрыВСтроку(НСтр("ru='%1 пошел в %2'"), "Вася", "Зоопарк") = "Вася пошел в Зоопарк". +// +Функция ПодставитьПараметрыВСтроку(Знач СтрокаПодстановки, + Знач Параметр1, Знач Параметр2 = Неопределено, Знач Параметр3 = Неопределено, + Знач Параметр4 = Неопределено, Знач Параметр5 = Неопределено, Знач Параметр6 = Неопределено, + Знач Параметр7 = Неопределено, Знач Параметр8 = Неопределено, Знач Параметр9 = Неопределено) Экспорт + + ИспользоватьАльтернативныйАлгоритм = + Найти(Параметр1, "%") + Или Найти(Параметр2, "%") + Или Найти(Параметр3, "%") + Или Найти(Параметр4, "%") + Или Найти(Параметр5, "%") + Или Найти(Параметр6, "%") + Или Найти(Параметр7, "%") + Или Найти(Параметр8, "%") + Или Найти(Параметр9, "%"); + + Если ИспользоватьАльтернативныйАлгоритм Тогда + СтрокаПодстановки = ПодставитьПараметрыВСтрокуАльтернативныйАлгоритм(СтрокаПодстановки, Параметр1, + Параметр2, Параметр3, Параметр4, Параметр5, Параметр6, Параметр7, Параметр8, Параметр9); + Иначе + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%1", Параметр1); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%2", Параметр2); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%3", Параметр3); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%4", Параметр4); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%5", Параметр5); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%6", Параметр6); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%7", Параметр7); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%8", Параметр8); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%9", Параметр9); + КонецЕсли; + + Возврат СтрокаПодстановки; +КонецФункции + +// Подставляет параметры в строку. Число параметров в строке не ограничено. +// Параметры в строке задаются как %<номер параметра>. Нумерация параметров +// начинается с единицы. +// +// Параметры +// СтрокаПодстановки - Строка - шаблон строки с параметрами (вхождениями вида "%1"); +// МассивПараметров - Массив - массив строк, которые соответствуют параметрам в строке подстановки. +// +// Возвращаемое значение: +// Строка - строка с подставленными параметрами. +// +// Пример: +// МассивПараметров = Новый Массив; +// МассивПараметров = МассивПараметров.Добавить("Вася"); +// МассивПараметров = МассивПараметров.Добавить("Зоопарк"); +// +// Строка = ПодставитьПараметрыВСтроку(НСтр("ru='%1 пошел в %2'"), МассивПараметров); +// +Функция ПодставитьПараметрыВСтрокуИзМассива(Знач СтрокаПодстановки, Знач МассивПараметров) Экспорт + + СтрокаРезультата = СтрокаПодстановки; + + Индекс = МассивПараметров.Количество(); + Пока Индекс > 0 Цикл + Значение = МассивПараметров[Индекс-1]; + Если Не ПустаяСтрока(Значение) Тогда + СтрокаРезультата = СтрЗаменить(СтрокаРезультата, "%" + Формат(Индекс, "ЧГ="), Значение); + КонецЕсли; + Индекс = Индекс - 1; + КонецЦикла; + + Возврат СтрокаРезультата; + +КонецФункции + +// Заменяет в шаблоне строки имена параметров на их значения. Параметры в строке выделяются с двух сторон квадратными +// скобками. +// +// Параметры: +// +// ШаблонСтроки - Строка - строка, в которую необходимо вставить значения. +// ВставляемыеЗначения - Структура - структура значений, где ключ - имя параметра без спецсимволов, +// значение - вставляемое значение. +// +// Возвращаемое значение: +// Строка - строка со вставленными значениями. +// +// Пример использования: +// ВставитьПараметрыВСтроку("Здравствуй, [Имя] [Фамилия].", Новый Структура("Фамилия,Имя", "Пупкин", "Вася")); +// Возвращает: "Здравствуй, Вася Пупкин". +Функция ВставитьПараметрыВСтроку(Знач ШаблонСтроки, ВставляемыеЗначения) Экспорт + Результат = ШаблонСтроки; + Для Каждого Параметр Из ВставляемыеЗначения Цикл + Результат = СтрЗаменить(Результат, "[" + Параметр.Ключ + "]", Параметр.Значение); + КонецЦикла; + Возврат Результат; +КонецФункции + +// Получает значения параметров из строки. +// +// Параметры: +// СтрокаПараметров - Строка - строка, содержащая параметры, каждый из которых представляет собой +// фрагмент вида <Имя параметра>=<Значение>, где: +// Имя параметра - имя параметра; +// Значение - его значение. +// Фрагменты отделяются друг от друга символами ';'. +// Если значение содержит пробельные символы, то оно должно быть заключено в двойные +// кавычки ("). +// Например: +// "File=""c:\InfoBases\Trade""; Usr=""Director"";" +// +// Возвращаемое значение: +// Структура - структура параметров, где ключ - имя параметра, значение - значение параметра. +// +Функция ПолучитьПараметрыИзСтроки(Знач СтрокаПараметров) Экспорт + + Результат = Новый Структура; + + СимволДвойныеКавычки = Символ(34); // (") + + МассивПодстрок = РазложитьСтрокуВМассивПодстрок(СтрокаПараметров, ";"); + + Для Каждого СтрокаПараметра Из МассивПодстрок Цикл + + ПозицияПервогоЗнакаРавенства = Найти(СтрокаПараметра, "="); + + // Получаем имя параметра + ИмяПараметра = СокрЛП(Лев(СтрокаПараметра, ПозицияПервогоЗнакаРавенства - 1)); + + // Получаем значение параметра + ЗначениеПараметра = СокрЛП(Сред(СтрокаПараметра, ПозицияПервогоЗнакаРавенства + 1)); + + Если Лев(ЗначениеПараметра, 1) = СимволДвойныеКавычки + И Прав(ЗначениеПараметра, 1) = СимволДвойныеКавычки Тогда + + ЗначениеПараметра = Сред(ЗначениеПараметра, 2, СтрДлина(ЗначениеПараметра) - 2); + + КонецЕсли; + + Если Не ПустаяСтрока(ИмяПараметра) Тогда + + Результат.Вставить(ИмяПараметра, ЗначениеПараметра); + + КонецЕсли; + + КонецЦикла; + + Возврат Результат; +КонецФункции + +// Проверяет, содержит ли строка только цифры. +// +// Параметры: +// СтрокаПроверки - Строка - Строка для проверки. +// УчитыватьЛидирующиеНули - Булево - Флаг учета лидирующих нулей, если Истина, то ведущие нули пропускаются. +// УчитыватьПробелы - Булево - Флаг учета пробелов, если Истина, то пробелы при проверке игнорируются. +// +// Возвращаемое значение: +// Булево - Истина - строка содержит только цифры или пустая, Ложь - строка содержит иные символы. +// +Функция ТолькоЦифрыВСтроке(Знач СтрокаПроверки, Знач УчитыватьЛидирующиеНули = Истина, Знач УчитыватьПробелы = Истина) Экспорт + + Если ТипЗнч(СтрокаПроверки) <> Тип("Строка") Тогда + Возврат Ложь; + КонецЕсли; + + Если Не УчитыватьПробелы Тогда + СтрокаПроверки = СтрЗаменить(СтрокаПроверки, " ", ""); + КонецЕсли; + + Если ПустаяСтрока(СтрокаПроверки) Тогда + Возврат Истина; + КонецЕсли; + + Если Не УчитыватьЛидирующиеНули Тогда + Позиция = 1; + // Взятие символа за границей строки возвращает пустую строку. + Пока Сред(СтрокаПроверки, Позиция, 1) = "0" Цикл + Позиция = Позиция + 1; + КонецЦикла; + СтрокаПроверки = Сред(СтрокаПроверки, Позиция); + КонецЕсли; + + // Если содержит только цифры, то в результате замен должна быть получена пустая строка. + // Проверять при помощи ПустаяСтрока нельзя, так как в исходной строке могут быть пробельные символы. + Возврат СтрДлина( + СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( + СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( + СтрокаПроверки, "0", ""), "1", ""), "2", ""), "3", ""), "4", ""), "5", ""), "6", ""), "7", ""), "8", ""), "9", "") + ) = 0; + +КонецФункции + +// Проверяет, содержит ли строка только символы кириллического алфавита. +// +// Параметры: +// УчитыватьРазделителиСлов - Булево - учитывать ли разделители слов или они являются исключением. +// ДопустимыеСимволы - строка для проверки. +// +// Возвращаемое значение: +// Булево - Истина, если строка содержит только кириллические (или допустимые) символы или пустая; +// Ложь, если строка содержит иные символы. +// +Функция ТолькоКириллицаВСтроке(Знач СтрокаПроверки, Знач УчитыватьРазделителиСлов = Истина, ДопустимыеСимволы = "") Экспорт + + Если ТипЗнч(СтрокаПроверки) <> Тип("Строка") Тогда + Возврат Ложь; + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(СтрокаПроверки) Тогда + Возврат Истина; + КонецЕсли; + + КодыДопустимыхСимволов = Новый Массив; + КодыДопустимыхСимволов.Добавить(1105); // "ё" + КодыДопустимыхСимволов.Добавить(1025); // "Ё" + + Для а = 1 По СтрДлина(ДопустимыеСимволы) Цикл + КодыДопустимыхСимволов.Добавить(КодСимвола(Сред(ДопустимыеСимволы, а, 1))); + КонецЦикла; + + Для а = 1 По СтрДлина(СтрокаПроверки) Цикл + КодСимвола = КодСимвола(Сред(СтрокаПроверки, а, 1)); + Если ((КодСимвола < 1040) Или (КодСимвола > 1103)) + И (КодыДопустимыхСимволов.Найти(КодСимвола) = Неопределено) + И Не (Не УчитыватьРазделителиСлов И ЭтоРазделительСлов(КодСимвола)) Тогда + Возврат Ложь; + КонецЕсли; + КонецЦикла; + + Возврат Истина; + +КонецФункции + +// Проверяет, содержит ли строка только символы латинского алфавита. +// +// Параметры: +// УчитыватьРазделителиСлов - Булево - учитывать ли разделители слов или они являются исключением. +// ДопустимыеСимволы - строка для проверки. +// +// Возвращаемое значение: +// Булево - Истина, если строка содержит только латинские (или допустимые) символы; +// - Ложь, если строка содержит иные символы. +// +Функция ТолькоЛатиницаВСтроке(Знач СтрокаПроверки, Знач УчитыватьРазделителиСлов = Истина, ДопустимыеСимволы = "") Экспорт + + Если ТипЗнч(СтрокаПроверки) <> Тип("Строка") Тогда + Возврат Ложь; + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(СтрокаПроверки) Тогда + Возврат Истина; + КонецЕсли; + + КодыДопустимыхСимволов = Новый Массив; + + Для а = 1 По СтрДлина(ДопустимыеСимволы) Цикл + КодыДопустимыхСимволов.Добавить(КодСимвола(Сред(ДопустимыеСимволы, а, 1))); + КонецЦикла; + + Для а = 1 По СтрДлина(СтрокаПроверки) Цикл + КодСимвола = КодСимвола(Сред(СтрокаПроверки, а, 1)); + Если ((КодСимвола < 65) Или (КодСимвола > 90 И КодСимвола < 97) Или (КодСимвола > 122)) + И (КодыДопустимыхСимволов.Найти(КодСимвола) = Неопределено) + И Не (Не УчитыватьРазделителиСлов И ЭтоРазделительСлов(КодСимвола)) Тогда + Возврат Ложь; + КонецЕсли; + КонецЦикла; + + Возврат Истина; + +КонецФункции + +// Удаляет двойные кавычки с начала и конца строки, если они есть. +// +// Параметры: +// Строка - входная строка; +// +// Возвращаемое значение: +// Строка - строка без двойных кавычек. +// +Функция СократитьДвойныеКавычки(Знач Строка) Экспорт + + Пока Лев(Строка, 1) = """" Цикл + Строка = Сред(Строка, 2); + КонецЦикла; + + Пока Прав(Строка, 1) = """" Цикл + Строка = Лев(Строка, СтрДлина(Строка) - 1); + КонецЦикла; + + Возврат Строка; + +КонецФункции + +// Удаляет из строки указанное количество символов справа. +// +// Параметры: +// Текст - Строка - строка, в которой необходимо удалить последние символы; +// ЧислоСимволов - Число - количество удаляемых символов. +// +Процедура УдалитьПоследнийСимволВСтроке(Текст, ЧислоСимволов = 1) Экспорт + + Текст = Лев(Текст, СтрДлина(Текст) - ЧислоСимволов); + +КонецПроцедуры + +// Осуществляет поиск символа, начиная с конца строки. +// +// Параметры: +// Строка - Строка - строка, в которой осуществляется поиск; +// Символ - Строка - искомый символ. Допускается искать строку, содержащую более одного символа. +// +// Возвращаемое значение: +// Число - позиция символа в строке. +// Если строка не содержит указанного символа, то возвращается 0. +// +Функция НайтиСимволСКонца(Знач Строка, Знач Символ) Экспорт + + Для Позиция = -СтрДлина(Строка) По -1 Цикл + Если Сред(Строка, -Позиция, СтрДлина(Символ)) = Символ Тогда + Возврат -Позиция; + КонецЕсли; + КонецЦикла; + + Возврат 0; + +КонецФункции + +// Проверяет, является ли строка уникальным идентификатором. +// В качестве уникального идентификатора предполагается строка вида +// "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", где X = [0..9,a..f]. +// +// Параметры: +// ИдентификаторСтрока - Строка - проверяемая строка. +// +// Возвращаемое значение: +// Булево - Истина, если переданная строка является уникальным идентификатором. +Функция ЭтоУникальныйИдентификатор(Знач Строка) Экспорт + + Шаблон = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"; + + Если СтрДлина(Шаблон) <> СтрДлина(Строка) Тогда + Возврат Ложь; + КонецЕсли; + Для Позиция = 1 По СтрДлина(Строка) Цикл + Если КодСимвола(Шаблон, Позиция) = 88 // X + И ((КодСимвола(Строка, Позиция) < 48 Или КодСимвола(Строка, Позиция) > 57) // 0..9 + И (КодСимвола(Строка, Позиция) < 97 Или КодСимвола(Строка, Позиция) > 102) // a..f + И (КодСимвола(Строка, Позиция) < 65 Или КодСимвола(Строка, Позиция) > 70)) // A..F + Или КодСимвола(Шаблон, Позиция) = 45 И КодСимвола(Строка, Позиция) <> 45 Тогда // - + Возврат Ложь; + КонецЕсли; + КонецЦикла; + + Возврат Истина; + +КонецФункции + +// Формирует строку повторяющихся символов заданной длины. +// +// Параметры: +// Символ - Строка - символ, из которого будет формироваться строка. +// ДлинаСтроки - Число - требуемая длина результирующей строки. +// +// Возвращаемое значение: +// Строка - строка, состоящая из повторяющихся символов. +// +Функция СформироватьСтрокуСимволов(Знач Символ, Знач ДлинаСтроки) Экспорт + + Результат = ""; + Для Счетчик = 1 По ДлинаСтроки Цикл + Результат = Результат + Символ; + КонецЦикла; + + Возврат Результат; + +КонецФункции + +// Дополняет строку символами слева или справа до заданной длины и возвращает ее. +// Незначащие символы слева и справа удаляются. По умолчанию функция дополняет строку символами "0" (ноль) слева. +// +// Параметры: +// Строка - Строка - исходная строка, которую необходимо дополнить символами; +// ДлинаСтроки - Число - требуемая результирующая длина строки; +// Символ - Строка - символ, которым необходимо дополнить строку; +// Режим - Строка - "Слева" или "Справа" - режим добавления символов к исходной строке. +// +// Возвращаемое значение: +// Строка - строка, дополненная символами. +// +// Пример 1: +// Строка = "1234"; ДлинаСтроки = 10; Символ = "0"; Режим = "Слева" +// Возврат: "0000001234" +// +// Пример 2: +// Строка = " 1234 "; ДлинаСтроки = 10; Символ = "#"; Режим = "Справа" +// Возврат: "1234######" +// +Функция ДополнитьСтроку(Знач Строка, Знач ДлинаСтроки, Знач Символ = "0", Знач Режим = "Слева") Экспорт + + // Длина символа не должна превышать единицы. + Символ = Лев(Символ, 1); + + // Удаляем крайние пробелы слева и справа строки. + Строка = СокрЛП(Строка); + + КоличествоСимволовНадоДобавить = ДлинаСтроки - СтрДлина(Строка); + + Если КоличествоСимволовНадоДобавить > 0 Тогда + + СтрокаДляДобавления = СформироватьСтрокуСимволов(Символ, КоличествоСимволовНадоДобавить); + + Если ВРег(Режим) = "СЛЕВА" Тогда + + Строка = СтрокаДляДобавления + Строка; + + ИначеЕсли ВРег(Режим) = "СПРАВА" Тогда + + Строка = Строка + СтрокаДляДобавления; + + КонецЕсли; + + КонецЕсли; + + Возврат Строка; + +КонецФункции + +// Удаляет крайние повторяющиеся символы слева или справа в строке. +// +// Параметры: +// Строка - Строка - исходная строка, из которой необходимо удалить крайние повторяющиеся символы; +// Символ - Строка - искомый символ для удаления; +// Режим - Строка - "Слева" или "Справа" - режим удаления символов в исходной строке. +// +// Возвращаемое значение: +// Строка - обрезанная строка. +// +Функция УдалитьПовторяющиесяСимволы(Знач Строка, Знач Символ, Знач Режим = "Слева") Экспорт + + Если ВРег(Режим) = "СЛЕВА" Тогда + + Пока Лев(Строка, 1)= Символ Цикл + + Строка = Сред(Строка, 2); + + КонецЦикла; + + ИначеЕсли ВРег(Режим) = "СПРАВА" Тогда + + Пока Прав(Строка, 1)= Символ Цикл + + Строка = Лев(Строка, СтрДлина(Строка) - 1); + + КонецЦикла; + + КонецЕсли; + + Возврат Строка; +КонецФункции + +// Выполняет замену символов в строке. +// +// Параметры: +// ЗаменяемыеСимволы - Строка - строка символов, каждый из которых требует замены; +// Строка - Строка - исходная строка, в которой требуется замена символов; +// СимволыЗамены - Строка - строка символов, на каждый из которых нужно заменить символы параметра +// ЗаменяемыеСимволы. +// +// Возвращаемое значение: +// Строка - строка после замены символов. +// +// Примечание: функция предназначена для простых случаев, например, для замены латиницы на похожие кириллические +// символы. +// +Функция ЗаменитьОдниСимволыДругими(ЗаменяемыеСимволы, Строка, СимволыЗамены) Экспорт + + Результат = Строка; + + Для НомерСимвола = 1 По СтрДлина(ЗаменяемыеСимволы) Цикл + Результат = СтрЗаменить(Результат, Сред(ЗаменяемыеСимволы, НомерСимвола, 1), Сред(СимволыЗамены, НомерСимвола, 1)); + КонецЦикла; + + Возврат Результат; + +КонецФункции + +// Выполняет преобразование арабского числа в римское. +// +// Параметры: +// АрабскоеЧисло - число, целое, от 0 до 999; +// ИспользоватьКириллицу - булево, использовать в качестве арабских цифр кириллицу или латиницу. +// +// Возвращаемое значение: +// Строка - число в римской нотации. +// +// Пример: +// ПреобразоватьЧислоВРимскуюНотацию(17) = "ХVII". +// +Функция ПреобразоватьЧислоВРимскуюНотацию(АрабскоеЧисло, ИспользоватьКириллицу = Истина) Экспорт + + РимскоеЧисло = ""; + АрабскоеЧисло = ДополнитьСтроку(АрабскоеЧисло, 3); + + Если ИспользоватьКириллицу Тогда + c1 = "1"; c5 = "У"; c10 = "Х"; c50 = "Л"; c100 ="С"; c500 = "Д"; c1000 = "М"; + + Иначе + c1 = "I"; c5 = "V"; c10 = "X"; c50 = "L"; c100 ="C"; c500 = "D"; c1000 = "M"; + + КонецЕсли; + + Единицы = Число(Сред(АрабскоеЧисло, 3, 1)); + Десятки = Число(Сред(АрабскоеЧисло, 2, 1)); + Сотни = Число(Сред(АрабскоеЧисло, 1, 1)); + + РимскоеЧисло = РимскоеЧисло + ПреобразоватьЦифруВРимскуюНотацию(Сотни, c100, c500, c1000); + РимскоеЧисло = РимскоеЧисло + ПреобразоватьЦифруВРимскуюНотацию(Десятки, c10, c50, c100); + РимскоеЧисло = РимскоеЧисло + ПреобразоватьЦифруВРимскуюНотацию(Единицы, c1, c5, c10); + + Возврат РимскоеЧисло; + +КонецФункции + +// Выполняет преобразование римского числа в арабское. +// +// Параметры: +// РимскоеЧисло - Строка - число, записанное римскими цифрами; +// ИспользоватьКириллицу - Булево - использовать в качестве арабских цифр кириллицу или латиницу. +// +// Возвращаемое значение: +// Число. +// +// Пример: +// ПреобразоватьЧислоВАрабскуюНотацию("ХVII") = 17. +// +Функция ПреобразоватьЧислоВАрабскуюНотацию(РимскоеЧисло, ИспользоватьКириллицу = Истина) Экспорт + + АрабскоеЧисло=0; + + Если ИспользоватьКириллицу Тогда + c1 = "1"; c5 = "У"; c10 = "Х"; c50 = "Л"; c100 ="С"; c500 = "Д"; c1000 = "М"; + + Иначе + c1 = "I"; c5 = "V"; c10 = "X"; c50 = "L"; c100 ="C"; c500 = "D"; c1000 = "M"; + + КонецЕсли; + + РимскоеЧисло = СокрЛП(РимскоеЧисло); + ЧислоСимволов = СтрДлина(РимскоеЧисло); + + Для Сч=1 По ЧислоСимволов Цикл + Если Сред(РимскоеЧисло,Сч,1) = c1000 Тогда + АрабскоеЧисло = АрабскоеЧисло+1000; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c500 Тогда + АрабскоеЧисло = АрабскоеЧисло+500; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c100 Тогда + Если (Сч < ЧислоСимволов) И ((Сред(РимскоеЧисло,Сч+1,1) = c500) ИЛИ (Сред(РимскоеЧисло,Сч+1,1) = c1000)) Тогда + АрабскоеЧисло = АрабскоеЧисло-100; + Иначе + АрабскоеЧисло = АрабскоеЧисло+100; + КонецЕсли; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c50 Тогда + АрабскоеЧисло = АрабскоеЧисло+50; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c10 Тогда + Если (Сч < ЧислоСимволов) И ((Сред(РимскоеЧисло,Сч+1,1) = c50) ИЛИ (Сред(РимскоеЧисло,Сч+1,1) = c100)) Тогда + АрабскоеЧисло = АрабскоеЧисло-10; + Иначе + АрабскоеЧисло = АрабскоеЧисло+10; + КонецЕсли; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c5 Тогда + АрабскоеЧисло = АрабскоеЧисло+5; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c1 Тогда + Если (Сч < ЧислоСимволов) И ((Сред(РимскоеЧисло,Сч+1,1) = c5) ИЛИ (Сред(РимскоеЧисло,Сч+1,1) = c10)) Тогда + АрабскоеЧисло = АрабскоеЧисло-1; + Иначе + АрабскоеЧисло = АрабскоеЧисло+1; + КонецЕсли; + КонецЕсли; + КонецЦикла; + + Возврат АрабскоеЧисло; + +КонецФункции + +// Возвращает текстовое представление числа с единицей измерения в правильном склонении и числе. +// +// Параметры: +// Число - Число - любое целое число. +// ПараметрыПредметаИсчисления - Строка - варианты написания единицы измерения в родительном падеже для одной, +// для двух и для пяти единиц, разделитель - запятая. +// +// Возвращаемое значение: +// Строка - текстовое представление количества единиц, число записывается цифрами. +// +// Примеры: +// ЧислоЦифрамиПредметИсчисленияПрописью(23, "минуту,минуты,минут") = "23 минуты"; +// ЧислоЦифрамиПредметИсчисленияПрописью(15, "минуту,минуты,минут") = "15 минут". +Функция ЧислоЦифрамиПредметИсчисленияПрописью(Знач Число, Знач ПараметрыПредметаИсчисления) Экспорт + + Результат = Формат(Число,"ЧН=0"); + + МассивПредставлений = Новый Массив; + + Позиция = Найти(ПараметрыПредметаИсчисления, ","); + Пока Позиция > 0 Цикл + Значение = СокрЛП(Лев(ПараметрыПредметаИсчисления, Позиция-1)); + ПараметрыПредметаИсчисления = Сред(ПараметрыПредметаИсчисления, Позиция + 1); + МассивПредставлений.Добавить(Значение); + Позиция = Найти(ПараметрыПредметаИсчисления, ","); + КонецЦикла; + + Если СтрДлина(ПараметрыПредметаИсчисления) > 0 Тогда + Значение = СокрЛП(ПараметрыПредметаИсчисления); + МассивПредставлений.Добавить(Значение); + КонецЕсли; + + Если Число >= 100 Тогда + Число = Число - Цел(Число / 100)*100; + КонецЕсли; + + Если Число > 20 Тогда + Число = Число - Цел(Число/10)*10; + КонецЕсли; + + Если Число = 1 Тогда + Результат = Результат + " " + МассивПредставлений[0]; + ИначеЕсли Число > 1 И Число < 5 Тогда + Результат = Результат + " " + МассивПредставлений[1]; + Иначе + Результат = Результат + " " + МассивПредставлений[2]; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +// Очищает текст в формате HTML от тегов и возвращает неформатированный текст. +// +// Параметры: +// ИсходныйТекст - Строка - текст в формате HTML. +// +// Возвращаемое значение: +// Строка - текст, очищенный от тегов, скриптов и заголовков. +// +Функция ИзвлечьТекстИзHTML(Знач ИсходныйТекст) Экспорт + Результат = ""; + + Текст = НРег(ИсходныйТекст); + + // отрезаем все что не body + Позиция = Найти(Текст, " 0 Тогда + Текст = Сред(Текст, Позиция + 5); + ИсходныйТекст = Сред(ИсходныйТекст, Позиция + 5); + Позиция = Найти(Текст, ">"); + Если Позиция > 0 Тогда + Текст = Сред(Текст, Позиция + 1); + ИсходныйТекст = Сред(ИсходныйТекст, Позиция + 1); + КонецЕсли; + КонецЕсли; + + Позиция = Найти(Текст, ""); + Если Позиция > 0 Тогда + Текст = Лев(Текст, Позиция - 1); + ИсходныйТекст = Лев(ИсходныйТекст, Позиция - 1); + КонецЕсли; + + // вырезаем скрипты + Позиция = Найти(Текст, " 0 Цикл + ПозицияЗакрывающегоТега = Найти(Текст, ""); + Если ПозицияЗакрывающегоТега = 0 Тогда + // Не найден закрывающий тег - вырезаем оставшийся текст. + ПозицияЗакрывающегоТега = СтрДлина(Текст); + КонецЕсли; + Текст = Лев(Текст, Позиция - 1) + Сред(Текст, ПозицияЗакрывающегоТега + 9); + ИсходныйТекст = Лев(ИсходныйТекст, Позиция - 1) + Сред(ИсходныйТекст, ПозицияЗакрывающегоТега + 9); + Позиция = Найти(Текст, " 0 Цикл + ПозицияЗакрывающегоТега = Найти(Текст, ""); + Если ПозицияЗакрывающегоТега = 0 Тогда + // Не найден закрывающий тег - вырезаем оставшийся текст. + ПозицияЗакрывающегоТега = СтрДлина(Текст); + КонецЕсли; + Текст = Лев(Текст, Позиция - 1) + Сред(Текст, ПозицияЗакрывающегоТега + 8); + ИсходныйТекст = Лев(ИсходныйТекст, Позиция - 1) + Сред(ИсходныйТекст, ПозицияЗакрывающегоТега + 8); + Позиция = Найти(Текст, " 0 Цикл + Результат = Результат + Лев(ИсходныйТекст, Позиция-1); + Текст = Сред(Текст, Позиция + 1); + ИсходныйТекст = Сред(ИсходныйТекст, Позиция + 1); + Позиция = Найти(Текст, ">"); + Если Позиция > 0 Тогда + Текст = Сред(Текст, Позиция + 1); + ИсходныйТекст = Сред(ИсходныйТекст, Позиция + 1); + КонецЕсли; + Позиция = Найти(Текст, "<"); + КонецЦикла; + Результат = Результат + ИсходныйТекст; + МассивСтрок = РазложитьСтрокуВМассивПодстрок(Результат, Символы.ПС, Истина, Истина); + Возврат СокрЛП(СтрокаИзМассиваПодстрок(МассивСтрок, Символы.ПС)); +КонецФункции + +// Преобразует исходную строку в транслит. +Функция СтрокаЛатиницей(Знач Строка) Экспорт + + Результат = ""; + + Соответствие = СоответствиеКириллицыИЛатиницы(); + + ПредыдущийСимвол = ""; + Для Позиция = 1 По СтрДлина(Строка) Цикл + Символ = Сред(Строка, Позиция, 1); + СимволЛатиницей = Соответствие[НРег(Символ)]; // Поиск соответствия без учета регистра. + Если СимволЛатиницей = Неопределено Тогда + // Другие символы остаются "как есть". + СимволЛатиницей = Символ; + Иначе + Если Символ = ВРег(Символ) Тогда + СимволЛатиницей = ТРег(СимволЛатиницей); // восстанавливаем регистр + КонецЕсли; + КонецЕсли; + Результат = Результат + СимволЛатиницей; + ПредыдущийСимвол = СимволЛатиницей; + КонецЦикла; + + Возврат Результат; +КонецФункции + +// Форматирует строку в соответствии с заданным шаблоном. +// Возможные значения тегов выделения: +// Строка - выделяет строку жирным шрифтом +// Строка +// +// Пример: +// Минимальная версия программы 1.1. Обновите программу. +// +// Возвращаемое значение: +// ФорматированнаяСтрока +Функция ФорматированнаяСтрока(Знач Строка) Экспорт + + СтрокиСВыделением = Новый СписокЗначений; + Пока Найти(Строка, "") <> 0 Цикл + НачалоВыделения = Найти(Строка, ""); + СтрокаДоОткрывающегоТега = Лев(Строка, НачалоВыделения - 1); + СтрокиСВыделением.Добавить(СтрокаДоОткрывающегоТега); + СтрокаПослеОткрывающегоТега = Сред(Строка, НачалоВыделения + 3); + КонецВыделения = Найти(СтрокаПослеОткрывающегоТега, ""); + ВыделенныйФрагмент = Лев(СтрокаПослеОткрывающегоТега, КонецВыделения - 1); + СтрокиСВыделением.Добавить(ВыделенныйФрагмент,, Истина); + СтрокаПослеВыделения = Сред(СтрокаПослеОткрывающегоТега, КонецВыделения + 4); + Строка = СтрокаПослеВыделения; + КонецЦикла; + СтрокиСВыделением.Добавить(Строка); + + СтрокиСоСсылками = Новый СписокЗначений; + Для Каждого ЧастьСтроки Из СтрокиСВыделением Цикл + + Строка = ЧастьСтроки.Значение; + + Если ЧастьСтроки.Пометка Тогда + СтрокиСоСсылками.Добавить(Строка,, Истина); + Продолжить; + КонецЕсли; + + НачалоВыделения = Найти(Строка, ""); + + Ссылка = СокрЛП(Лев(СтрокаПослеОткрывающегоТега, ЗакрывающийТег - 2)); + Если Лев(Ссылка, 1) = """" Тогда + Ссылка = Сред(Ссылка, 2, СтрДлина(Ссылка) - 1); + КонецЕсли; + Если Прав(Ссылка, 1) = """" Тогда + Ссылка = Сред(Ссылка, 1, СтрДлина(Ссылка) - 1); + КонецЕсли; + + СтрокаПослеСсылки = Сред(СтрокаПослеОткрывающегоТега, ЗакрывающийТег + 1); + КонецВыделения = Найти(СтрокаПослеСсылки, ""); + ТекстСсылки = Лев(СтрокаПослеСсылки, КонецВыделения - 1); + СтрокиСоСсылками.Добавить(ТекстСсылки, Ссылка); + + СтрокаПослеВыделения = Сред(СтрокаПослеСсылки, КонецВыделения + 4); + Строка = СтрокаПослеВыделения; + + НачалоВыделения = Найти(Строка, " 0 Цикл + Результат = Результат + Лев(СтрокаПодстановки, Позиция - 1); + СимволПослеПроцента = Сред(СтрокаПодстановки, Позиция + 1, 1); + ПодставляемыйПараметр = ""; + Если СимволПослеПроцента = "1" Тогда + ПодставляемыйПараметр = Параметр1; + ИначеЕсли СимволПослеПроцента = "2" Тогда + ПодставляемыйПараметр = Параметр2; + ИначеЕсли СимволПослеПроцента = "3" Тогда + ПодставляемыйПараметр = Параметр3; + ИначеЕсли СимволПослеПроцента = "4" Тогда + ПодставляемыйПараметр = Параметр4; + ИначеЕсли СимволПослеПроцента = "5" Тогда + ПодставляемыйПараметр = Параметр5; + ИначеЕсли СимволПослеПроцента = "6" Тогда + ПодставляемыйПараметр = Параметр6; + ИначеЕсли СимволПослеПроцента = "7" Тогда + ПодставляемыйПараметр = Параметр7 + ИначеЕсли СимволПослеПроцента = "8" Тогда + ПодставляемыйПараметр = Параметр8; + ИначеЕсли СимволПослеПроцента = "9" Тогда + ПодставляемыйПараметр = Параметр9; + КонецЕсли; + Если ПодставляемыйПараметр = "" Тогда + Результат = Результат + "%"; + СтрокаПодстановки = Сред(СтрокаПодстановки, Позиция + 1); + Иначе + Результат = Результат + ПодставляемыйПараметр; + СтрокаПодстановки = Сред(СтрокаПодстановки, Позиция + 2); + КонецЕсли; + Позиция = Найти(СтрокаПодстановки, "%"); + КонецЦикла; + Результат = Результат + СтрокаПодстановки; + + Возврат Результат; +КонецФункции + +Функция СоответствиеКириллицыИЛатиницы() + // Транслитерация, используемая в загранпаспортах 1997-2010. + Соответствие = Новый Соответствие; + Соответствие.Вставить("а","a"); + Соответствие.Вставить("б","b"); + Соответствие.Вставить("в","v"); + Соответствие.Вставить("г","g"); + Соответствие.Вставить("д","d"); + Соответствие.Вставить("е","e"); + Соответствие.Вставить("ё","e"); + Соответствие.Вставить("ж","zh"); + Соответствие.Вставить("з","z"); + Соответствие.Вставить("и","i"); + Соответствие.Вставить("й","y"); + Соответствие.Вставить("к","k"); + Соответствие.Вставить("л","l"); + Соответствие.Вставить("м","m"); + Соответствие.Вставить("н","n"); + Соответствие.Вставить("о","o"); + Соответствие.Вставить("п","p"); + Соответствие.Вставить("р","r"); + Соответствие.Вставить("с","s"); + Соответствие.Вставить("т","t"); + Соответствие.Вставить("у","u"); + Соответствие.Вставить("ф","f"); + Соответствие.Вставить("х","kh"); + Соответствие.Вставить("ц","ts"); + Соответствие.Вставить("ч","ch"); + Соответствие.Вставить("ш","sh"); + Соответствие.Вставить("щ","shch"); + Соответствие.Вставить("ъ",""""); + Соответствие.Вставить("ы","y"); + Соответствие.Вставить("ь",""); // пропускается + Соответствие.Вставить("э","e"); + Соответствие.Вставить("ю","yu"); + Соответствие.Вставить("я","ya"); + + Возврат Соответствие; +КонецФункции + +//////////////////////////////////////////////////////////////////////////////// +// УСТАРЕВШИЕ ПРОЦЕДУРЫ И ФУНКЦИИ + +// Устарела. Следует использовать СтрокаИзМассиваПодстрок. +// +// Объединяет строки из массива в строку с разделителями. +// +// Параметры: +// Массив - Массив - массив строк которые необходимо объединить в одну строку; +// Разделитель - Строка - любой набор символов, который будет использован в качестве разделителя. +// +// Возвращаемое значение: +// Строка - строка с разделителями. +// +Функция ПолучитьСтрокуИзМассиваПодстрок(Массив, Разделитель = ",") Экспорт + + // Возвращаемое значение функции. + Результат = ""; + + Для Каждого Элемент Из Массив Цикл + + Подстрока = ?(ТипЗнч(Элемент) = Тип("Строка"), Элемент, Строка(Элемент)); + + РазделительПодстрок = ?(ПустаяСтрока(Результат), "", Разделитель); + + Результат = Результат + РазделительПодстрок + Подстрока; + + КонецЦикла; + + Возврат Результат; + +КонецФункции + +// } Функции работы со строками 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/renames.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/renames.txt" new file mode 100644 index 00000000..b9253ef1 --- /dev/null +++ "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/renames.txt" @@ -0,0 +1,11 @@ +11c5f751-bfaf-480a-92fe-7f30023f2e9a-->und\11c5f751-bfaf-480a-92fe-7f30023f2e9a +4e8e1a4a-a947-419b-95c8-58a411e3ffa4-->und\4e8e1a4a-a947-419b-95c8-58a411e3ffa4 +4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0-->Form\Форма\Форма.txt +4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0-->und\4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 +4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0-->und\4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 +908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\info-->und\908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\info +908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\text-->ObjectModule.txt +copyinfo-->und\copyinfo +root-->und\root +version-->und\version +versions-->und\versions 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/11c5f751-bfaf-480a-92fe-7f30023f2e9a" "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/11c5f751-bfaf-480a-92fe-7f30023f2e9a" new file mode 100644 index 00000000..03187a6c --- /dev/null +++ "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/11c5f751-bfaf-480a-92fe-7f30023f2e9a" @@ -0,0 +1,17 @@ +{1, +{11c5f751-bfaf-480a-92fe-7f30023f2e9a},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,85629dd2-6be4-49c6-9a69-13411102aa57,3fdd55c8-e92e-4f99-8b28-3ba8957b50ab, +{0, +{1, +{0,0,908d0aaf-e4ec-4668-8d14-3e8075d222fd},"СтроковыеУтилиты", +{1,"ru","Строковые утилиты"},"",0,0} +},4e8e1a4a-a947-419b-95c8-58a411e3ffa4,"",00000000-0000-0000-0000-000000000000},4, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, +{3daea016-69b7-4ed4-9453-127911372fe6,0}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,4e8e1a4a-a947-419b-95c8-58a411e3ffa4}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} +} +} +} \ 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/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" "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" new file mode 100644 index 00000000..554d4f73 --- /dev/null +++ "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,0 +1,15 @@ +{1, +{1, +{0, +{12, +{1, +{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} +} +}, +{0} +} +},0} \ 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/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" new file mode 100644 index 00000000..ab3661d1 --- /dev/null +++ "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" @@ -0,0 +1,1359 @@ +{3, +{42,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1, +{1,0},0,0,1,1,1,0,1,0, +{0,0,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,"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,0,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}," +// { Plugin interface +&НаКлиенте +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); +КонецФункции + +&НаСервере +Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); +КонецФункции +// } Plugin interface + + +// { Функции работы со строками + +// Разбивает строку на несколько строк по разделителю. Разделитель может иметь любую длину. +// +// Параметры: +// Строка - Строка - текст с разделителями; +// Разделитель - Строка - разделитель строк текста, минимум 1 символ; +// ПропускатьПустыеСтроки - Булево - признак необходимости включения в результат пустых строк. +// Если параметр не задан, то функция работает в режиме совместимости со своей предыдущей версией: +// - для разделителя-пробела пустые строки не включаются в результат, для остальных разделителей пустые строки +// включаются в результат. +// Е если параметр Строка не содержит значащих символов или не содержит ни одного символа (пустая строка), то в +// случае разделителя-пробела результатом функции будет массив, содержащий одно значение """" (пустая строка), а +// при других разделителях результатом функции будет пустой массив. +// СокращатьНепечатаемыеСимволы - Булево - сокращать непечатаемые символы по краям каждой из найденных подстрок. +// +// Возвращаемое значение: +// Массив - массив строк. +// +// Примеры: +// РазложитьСтрокуВМассивПодстрок("",один,,два,"", "","") - возвратит массив из 5 элементов, три из которых - пустые +// строки; +// РазложитьСтрокуВМассивПодстрок("",один,,два,"", "","", Истина) - возвратит массив из двух элементов; +// РазложитьСтрокуВМассивПодстрок("" один два "", "" "") - возвратит массив из двух элементов; +// РазложитьСтрокуВМассивПодстрок("""") - возвратит пустой массив; +// РазложитьСтрокуВМассивПодстрок("""",,Ложь) - возвратит массив с одним элементом """" (пустой строкой); +// РазложитьСтрокуВМассивПодстрок("""", "" "") - возвратит массив с одним элементом """" (пустой строкой); +// +&НаКлиенте +Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = "","", Знач ПропускатьПустыеСтроки = Неопределено, СокращатьНепечатаемыеСимволы = Ложь) Экспорт + + Результат = Новый Массив; + + // Для обеспечения обратной совместимости. + Если ПропускатьПустыеСтроки = Неопределено Тогда + ПропускатьПустыеСтроки = ?(Разделитель = "" "", Истина, Ложь); + Если ПустаяСтрока(Строка) Тогда + Если Разделитель = "" "" Тогда + Результат.Добавить(""""); + КонецЕсли; + Возврат Результат; + КонецЕсли; + КонецЕсли; + // + + Позиция = Найти(Строка, Разделитель); + Пока Позиция > 0 Цикл + Подстрока = Лев(Строка, Позиция - 1); + Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Подстрока) Тогда + Если СокращатьНепечатаемыеСимволы Тогда + Результат.Добавить(СокрЛП(Подстрока)); + Иначе + Результат.Добавить(Подстрока); + КонецЕсли; + КонецЕсли; + Строка = Сред(Строка, Позиция + СтрДлина(Разделитель)); + Позиция = Найти(Строка, Разделитель); + КонецЦикла; + + Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Строка) Тогда + Если СокращатьНепечатаемыеСимволы Тогда + Результат.Добавить(СокрЛП(Строка)); + Иначе + Результат.Добавить(Строка); + КонецЕсли; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +/// Объединяет строки из массива в строку с разделителями. +// +// Параметры: +// Массив - Массив - массив строк которые необходимо объединить в одну строку; +// Разделитель - Строка - любой набор символов, который будет использован в качестве разделителя. +// +// Возвращаемое значение: +// Строка - строка с разделителями. +// +&НаКлиенте +Функция СтрокаИзМассиваПодстрок(Массив, Разделитель = "","", СокращатьНепечатаемыеСимволы = Ложь) Экспорт + + Результат = """"; + + Для Индекс = 0 По Массив.ВГраница() Цикл + Подстрока = Массив[Индекс]; + + Если СокращатьНепечатаемыеСимволы Тогда + Подстрока = СокрЛП(Подстрока); + КонецЕсли; + + Если ТипЗнч(Подстрока) <> Тип(""Строка"") Тогда + Подстрока = Строка(Подстрока); + КонецЕсли; + + Если Индекс > 0 Тогда + Результат = Результат + Разделитель; + КонецЕсли; + + Результат = Результат + Подстрока; + КонецЦикла; + + Возврат Результат; + +КонецФункции + +// Определяет, является ли символ разделителем. +// +// Параметры: +// КодСимвола - Число - код проверяемого символа; +// РазделителиСлов - Строка - символы разделителей. +// +// Возвращаемое значение: +// Булево - истина, если символ является разделителем. +// +&НаКлиенте +Функция ЭтоРазделительСлов(КодСимвола, РазделителиСлов = Неопределено) Экспорт + + Если РазделителиСлов <> Неопределено Тогда + Возврат Найти(РазделителиСлов, Символ(КодСимвола)) > 0; + КонецЕсли; + + Диапазоны = Новый Массив; + Диапазоны.Добавить(Новый Структура(""Мин,Макс"", 48, 57)); // цифры + Диапазоны.Добавить(Новый Структура(""Мин,Макс"", 65, 90)); // латиница большие + Диапазоны.Добавить(Новый Структура(""Мин,Макс"", 97, 122)); // латиница маленькие + Диапазоны.Добавить(Новый Структура(""Мин,Макс"", 1040, 1103)); // кириллица + Диапазоны.Добавить(Новый Структура(""Мин,Макс"", 1025, 1025)); // символ ""Ё"" + Диапазоны.Добавить(Новый Структура(""Мин,Макс"", 1105, 1105)); // символ ""ё"" + Диапазоны.Добавить(Новый Структура(""Мин,Макс"", 95, 95)); // символ ""_"" + + Для Каждого Диапазон Из Диапазоны Цикл + Если КодСимвола >= Диапазон.Мин И КодСимвола <= Диапазон.Макс Тогда + Возврат Ложь; + КонецЕсли; + КонецЦикла; + + Возврат Истина; + +КонецФункции + +// Разбивает строку на несколько строк, используя заданный набор разделителей. +// Если параметр РазделителиСлов не задан, то разделителем слов считается любой из символов, +// не относящихся к символам латиницы, кириллицы, цифры, подчеркивания. +// +// Параметры: +// Строка - Строка - строка, которую необходимо разложить на слова. +// РазделителиСлов - Строка - строка, содержащая символы-разделители. +// +// Возвращаемое значение: +// массив значений, элементы которого - отдельные слова. +// +// Пример: +// РазложитьСтрокуВМассивСлов(""один-@#два2_!три"") возвратит массив значений: ""один"", ""два2_"", ""три""; +// РазложитьСтрокуВМассивСлов(""один-@#два2_!три"", ""#@!_"") возвратит массив значений: ""один-"", ""два2"", ""три"". +// +&НаКлиенте +Функция РазложитьСтрокуВМассивСлов(Знач Строка, РазделителиСлов = Неопределено) Экспорт + + Слова = Новый Массив; + + РазмерТекста = СтрДлина(Строка); + НачалоСлова = 1; + Для Позиция = 1 По РазмерТекста Цикл + КодСимвола = КодСимвола(Строка, Позиция); + Если ЭтоРазделительСлов(КодСимвола, РазделителиСлов) Тогда + Если Позиция <> НачалоСлова Тогда + Слова.Добавить(Сред(Строка, НачалоСлова, Позиция - НачалоСлова)); + КонецЕсли; + НачалоСлова = Позиция + 1; + КонецЕсли; + КонецЦикла; + + Если Позиция <> НачалоСлова Тогда + Слова.Добавить(Сред(Строка, НачалоСлова, Позиция - НачалоСлова)); + КонецЕсли; + + Возврат Слова; + +КонецФункции + +// Подставляет параметры в строку. Максимально возможное число параметров - 9. +// Параметры в строке задаются как %<номер параметра>. Нумерация параметров начинается с единицы. +// +// Параметры: +// СтрокаПодстановки - Строка - шаблон строки с параметрами (вхождениями вида ""%ИмяПараметра""); +// Параметр - Строка - подставляемый параметр. +// +// Возвращаемое значение: +// Строка - текстовая строка с подставленными параметрами. +// +// Пример: +// ПодставитьПараметрыВСтроку(НСтр(""ru='%1 пошел в %2'""), ""Вася"", ""Зоопарк"") = ""Вася пошел в Зоопарк"". +// +&НаКлиенте +Функция ПодставитьПараметрыВСтроку(Знач СтрокаПодстановки, + Знач Параметр1, Знач Параметр2 = Неопределено, Знач Параметр3 = Неопределено, + Знач Параметр4 = Неопределено, Знач Параметр5 = Неопределено, Знач Параметр6 = Неопределено, + Знач Параметр7 = Неопределено, Знач Параметр8 = Неопределено, Знач Параметр9 = Неопределено) Экспорт + + ИспользоватьАльтернативныйАлгоритм = + Найти(Параметр1, ""%"") + Или Найти(Параметр2, ""%"") + Или Найти(Параметр3, ""%"") + Или Найти(Параметр4, ""%"") + Или Найти(Параметр5, ""%"") + Или Найти(Параметр6, ""%"") + Или Найти(Параметр7, ""%"") + Или Найти(Параметр8, ""%"") + Или Найти(Параметр9, ""%""); + + Если ИспользоватьАльтернативныйАлгоритм Тогда + СтрокаПодстановки = ПодставитьПараметрыВСтрокуАльтернативныйАлгоритм(СтрокаПодстановки, Параметр1, + Параметр2, Параметр3, Параметр4, Параметр5, Параметр6, Параметр7, Параметр8, Параметр9); + Иначе + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, ""%1"", Параметр1); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, ""%2"", Параметр2); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, ""%3"", Параметр3); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, ""%4"", Параметр4); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, ""%5"", Параметр5); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, ""%6"", Параметр6); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, ""%7"", Параметр7); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, ""%8"", Параметр8); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, ""%9"", Параметр9); + КонецЕсли; + + Возврат СтрокаПодстановки; +КонецФункции + +// Подставляет параметры в строку. Число параметров в строке не ограничено. +// Параметры в строке задаются как %<номер параметра>. Нумерация параметров +// начинается с единицы. +// +// Параметры +// СтрокаПодстановки - Строка - шаблон строки с параметрами (вхождениями вида ""%1""); +// МассивПараметров - Массив - массив строк, которые соответствуют параметрам в строке подстановки. +// +// Возвращаемое значение: +// Строка - строка с подставленными параметрами. +// +// Пример: +// МассивПараметров = Новый Массив; +// МассивПараметров = МассивПараметров.Добавить(""Вася""); +// МассивПараметров = МассивПараметров.Добавить(""Зоопарк""); +// +// Строка = ПодставитьПараметрыВСтроку(НСтр(""ru='%1 пошел в %2'""), МассивПараметров); +// +&НаКлиенте +Функция ПодставитьПараметрыВСтрокуИзМассива(Знач СтрокаПодстановки, Знач МассивПараметров) Экспорт + + СтрокаРезультата = СтрокаПодстановки; + + Индекс = МассивПараметров.Количество(); + Пока Индекс > 0 Цикл + Значение = МассивПараметров[Индекс-1]; + Если Не ПустаяСтрока(Значение) Тогда + СтрокаРезультата = СтрЗаменить(СтрокаРезультата, ""%"" + Формат(Индекс, ""ЧГ=""), Значение); + КонецЕсли; + Индекс = Индекс - 1; + КонецЦикла; + + Возврат СтрокаРезультата; + +КонецФункции + +// Заменяет в шаблоне строки имена параметров на их значения. Параметры в строке выделяются с двух сторон квадратными +// скобками. +// +// Параметры: +// +// ШаблонСтроки - Строка - строка, в которую необходимо вставить значения. +// ВставляемыеЗначения - Структура - структура значений, где ключ - имя параметра без спецсимволов, +// значение - вставляемое значение. +// +// Возвращаемое значение: +// Строка - строка со вставленными значениями. +// +// Пример использования: +// ВставитьПараметрыВСтроку(""Здравствуй, [Имя] [Фамилия]."", Новый Структура(""Фамилия,Имя"", ""Пупкин"", ""Вася"")); +// Возвращает: ""Здравствуй, Вася Пупкин"". +&НаКлиенте +Функция ВставитьПараметрыВСтроку(Знач ШаблонСтроки, ВставляемыеЗначения) Экспорт + Результат = ШаблонСтроки; + Для Каждого Параметр Из ВставляемыеЗначения Цикл + Результат = СтрЗаменить(Результат, ""["" + Параметр.Ключ + ""]"", Параметр.Значение); + КонецЦикла; + Возврат Результат; +КонецФункции + +// Получает значения параметров из строки. +// +// Параметры: +// СтрокаПараметров - Строка - строка, содержащая параметры, каждый из которых представляет собой +// фрагмент вида <Имя параметра>=<Значение>, где: +// Имя параметра - имя параметра; +// Значение - его значение. +// Фрагменты отделяются друг от друга символами ';'. +// Если значение содержит пробельные символы, то оно должно быть заключено в двойные +// кавычки (""). +// Например: +// ""File=""""c:\InfoBases\Trade""""; Usr=""""Director"""";"" +// +// Возвращаемое значение: +// Структура - структура параметров, где ключ - имя параметра, значение - значение параметра. +// +&НаКлиенте +Функция ПолучитьПараметрыИзСтроки(Знач СтрокаПараметров) Экспорт + + Результат = Новый Структура; + + СимволДвойныеКавычки = Символ(34); // ("") + + МассивПодстрок = РазложитьСтрокуВМассивПодстрок(СтрокаПараметров, "";""); + + Для Каждого СтрокаПараметра Из МассивПодстрок Цикл + + ПозицияПервогоЗнакаРавенства = Найти(СтрокаПараметра, ""=""); + + // Получаем имя параметра + ИмяПараметра = СокрЛП(Лев(СтрокаПараметра, ПозицияПервогоЗнакаРавенства - 1)); + + // Получаем значение параметра + ЗначениеПараметра = СокрЛП(Сред(СтрокаПараметра, ПозицияПервогоЗнакаРавенства + 1)); + + Если Лев(ЗначениеПараметра, 1) = СимволДвойныеКавычки + И Прав(ЗначениеПараметра, 1) = СимволДвойныеКавычки Тогда + + ЗначениеПараметра = Сред(ЗначениеПараметра, 2, СтрДлина(ЗначениеПараметра) - 2); + + КонецЕсли; + + Если Не ПустаяСтрока(ИмяПараметра) Тогда + + Результат.Вставить(ИмяПараметра, ЗначениеПараметра); + + КонецЕсли; + + КонецЦикла; + + Возврат Результат; +КонецФункции + +// Проверяет, содержит ли строка только цифры. +// +// Параметры: +// СтрокаПроверки - Строка - Строка для проверки. +// УчитыватьЛидирующиеНули - Булево - Флаг учета лидирующих нулей, если Истина, то ведущие нули пропускаются. +// УчитыватьПробелы - Булево - Флаг учета пробелов, если Истина, то пробелы при проверке игнорируются. +// +// Возвращаемое значение: +// Булево - Истина - строка содержит только цифры или пустая, Ложь - строка содержит иные символы. +// +&НаКлиенте +Функция ТолькоЦифрыВСтроке(Знач СтрокаПроверки, Знач УчитыватьЛидирующиеНули = Истина, Знач УчитыватьПробелы = Истина) Экспорт + + Если ТипЗнч(СтрокаПроверки) <> Тип(""Строка"") Тогда + Возврат Ложь; + КонецЕсли; + + Если Не УчитыватьПробелы Тогда + СтрокаПроверки = СтрЗаменить(СтрокаПроверки, "" "", """"); + КонецЕсли; + + Если ПустаяСтрока(СтрокаПроверки) Тогда + Возврат Истина; + КонецЕсли; + + Если Не УчитыватьЛидирующиеНули Тогда + Позиция = 1; + // Взятие символа за границей строки возвращает пустую строку. + Пока Сред(СтрокаПроверки, Позиция, 1) = ""0"" Цикл + Позиция = Позиция + 1; + КонецЦикла; + СтрокаПроверки = Сред(СтрокаПроверки, Позиция); + КонецЕсли; + + // Если содержит только цифры, то в результате замен должна быть получена пустая строка. + // Проверять при помощи ПустаяСтрока нельзя, так как в исходной строке могут быть пробельные символы. + Возврат СтрДлина( + СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( + СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( + СтрокаПроверки, ""0"", """"), ""1"", """"), ""2"", """"), ""3"", """"), ""4"", """"), ""5"", """"), ""6"", """"), ""7"", """"), ""8"", """"), ""9"", """") + ) = 0; + +КонецФункции + +// Проверяет, содержит ли строка только символы кириллического алфавита. +// +// Параметры: +// УчитыватьРазделителиСлов - Булево - учитывать ли разделители слов или они являются исключением. +// ДопустимыеСимволы - строка для проверки. +// +// Возвращаемое значение: +// Булево - Истина, если строка содержит только кириллические (или допустимые) символы или пустая; +// Ложь, если строка содержит иные символы. +// +&НаКлиенте +Функция ТолькоКириллицаВСтроке(Знач СтрокаПроверки, Знач УчитыватьРазделителиСлов = Истина, ДопустимыеСимволы = """") Экспорт + + Если ТипЗнч(СтрокаПроверки) <> Тип(""Строка"") Тогда + Возврат Ложь; + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(СтрокаПроверки) Тогда + Возврат Истина; + КонецЕсли; + + КодыДопустимыхСимволов = Новый Массив; + КодыДопустимыхСимволов.Добавить(1105); // ""ё"" + КодыДопустимыхСимволов.Добавить(1025); // ""Ё"" + + Для а = 1 По СтрДлина(ДопустимыеСимволы) Цикл + КодыДопустимыхСимволов.Добавить(КодСимвола(Сред(ДопустимыеСимволы, а, 1))); + КонецЦикла; + + Для а = 1 По СтрДлина(СтрокаПроверки) Цикл + КодСимвола = КодСимвола(Сред(СтрокаПроверки, а, 1)); + Если ((КодСимвола < 1040) Или (КодСимвола > 1103)) + И (КодыДопустимыхСимволов.Найти(КодСимвола) = Неопределено) + И Не (Не УчитыватьРазделителиСлов И ЭтоРазделительСлов(КодСимвола)) Тогда + Возврат Ложь; + КонецЕсли; + КонецЦикла; + + Возврат Истина; + +КонецФункции + +// Проверяет, содержит ли строка только символы латинского алфавита. +// +// Параметры: +// УчитыватьРазделителиСлов - Булево - учитывать ли разделители слов или они являются исключением. +// ДопустимыеСимволы - строка для проверки. +// +// Возвращаемое значение: +// Булево - Истина, если строка содержит только латинские (или допустимые) символы; +// - Ложь, если строка содержит иные символы. +// +&НаКлиенте +Функция ТолькоЛатиницаВСтроке(Знач СтрокаПроверки, Знач УчитыватьРазделителиСлов = Истина, ДопустимыеСимволы = """") Экспорт + + Если ТипЗнч(СтрокаПроверки) <> Тип(""Строка"") Тогда + Возврат Ложь; + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(СтрокаПроверки) Тогда + Возврат Истина; + КонецЕсли; + + КодыДопустимыхСимволов = Новый Массив; + + Для а = 1 По СтрДлина(ДопустимыеСимволы) Цикл + КодыДопустимыхСимволов.Добавить(КодСимвола(Сред(ДопустимыеСимволы, а, 1))); + КонецЦикла; + + Для а = 1 По СтрДлина(СтрокаПроверки) Цикл + КодСимвола = КодСимвола(Сред(СтрокаПроверки, а, 1)); + Если ((КодСимвола < 65) Или (КодСимвола > 90 И КодСимвола < 97) Или (КодСимвола > 122)) + И (КодыДопустимыхСимволов.Найти(КодСимвола) = Неопределено) + И Не (Не УчитыватьРазделителиСлов И ЭтоРазделительСлов(КодСимвола)) Тогда + Возврат Ложь; + КонецЕсли; + КонецЦикла; + + Возврат Истина; + +КонецФункции + +// Удаляет двойные кавычки с начала и конца строки, если они есть. +// +// Параметры: +// Строка - входная строка; +// +// Возвращаемое значение: +// Строка - строка без двойных кавычек. +// +&НаКлиенте +Функция СократитьДвойныеКавычки(Знач Строка) Экспорт + + Пока Лев(Строка, 1) = """""""" Цикл + Строка = Сред(Строка, 2); + КонецЦикла; + + Пока Прав(Строка, 1) = """""""" Цикл + Строка = Лев(Строка, СтрДлина(Строка) - 1); + КонецЦикла; + + Возврат Строка; + +КонецФункции + +// Удаляет из строки указанное количество символов справа. +// +// Параметры: +// Текст - Строка - строка, в которой необходимо удалить последние символы; +// ЧислоСимволов - Число - количество удаляемых символов. +// +&НаКлиенте +Процедура УдалитьПоследнийСимволВСтроке(Текст, ЧислоСимволов = 1) Экспорт + + Текст = Лев(Текст, СтрДлина(Текст) - ЧислоСимволов); + +КонецПроцедуры + +// Осуществляет поиск символа, начиная с конца строки. +// +// Параметры: +// Строка - Строка - строка, в которой осуществляется поиск; +// Символ - Строка - искомый символ. Допускается искать строку, содержащую более одного символа. +// +// Возвращаемое значение: +// Число - позиция символа в строке. +// Если строка не содержит указанного символа, то возвращается 0. +// +&НаКлиенте +Функция НайтиСимволСКонца(Знач Строка, Знач Символ) Экспорт + + Для Позиция = -СтрДлина(Строка) По -1 Цикл + Если Сред(Строка, -Позиция, СтрДлина(Символ)) = Символ Тогда + Возврат -Позиция; + КонецЕсли; + КонецЦикла; + + Возврат 0; + +КонецФункции + +// Проверяет, является ли строка уникальным идентификатором. +// В качестве уникального идентификатора предполагается строка вида +// ""XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"", где X = [0..9,a..f]. +// +// Параметры: +// ИдентификаторСтрока - Строка - проверяемая строка. +// +// Возвращаемое значение: +// Булево - Истина, если переданная строка является уникальным идентификатором. +&НаКлиенте +Функция ЭтоУникальныйИдентификатор(Знач Строка) Экспорт + + Шаблон = ""XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX""; + + Если СтрДлина(Шаблон) <> СтрДлина(Строка) Тогда + Возврат Ложь; + КонецЕсли; + Для Позиция = 1 По СтрДлина(Строка) Цикл + Если КодСимвола(Шаблон, Позиция) = 88 // X + И ((КодСимвола(Строка, Позиция) < 48 Или КодСимвола(Строка, Позиция) > 57) // 0..9 + И (КодСимвола(Строка, Позиция) < 97 Или КодСимвола(Строка, Позиция) > 102) // a..f + И (КодСимвола(Строка, Позиция) < 65 Или КодСимвола(Строка, Позиция) > 70)) // A..F + Или КодСимвола(Шаблон, Позиция) = 45 И КодСимвола(Строка, Позиция) <> 45 Тогда // - + Возврат Ложь; + КонецЕсли; + КонецЦикла; + + Возврат Истина; + +КонецФункции + +// Формирует строку повторяющихся символов заданной длины. +// +// Параметры: +// Символ - Строка - символ, из которого будет формироваться строка. +// ДлинаСтроки - Число - требуемая длина результирующей строки. +// +// Возвращаемое значение: +// Строка - строка, состоящая из повторяющихся символов. +// +&НаКлиенте +Функция СформироватьСтрокуСимволов(Знач Символ, Знач ДлинаСтроки) Экспорт + + Результат = """"; + Для Счетчик = 1 По ДлинаСтроки Цикл + Результат = Результат + Символ; + КонецЦикла; + + Возврат Результат; + +КонецФункции + +// Дополняет строку символами слева или справа до заданной длины и возвращает ее. +// Незначащие символы слева и справа удаляются. По умолчанию функция дополняет строку символами ""0"" (ноль) слева. +// +// Параметры: +// Строка - Строка - исходная строка, которую необходимо дополнить символами; +// ДлинаСтроки - Число - требуемая результирующая длина строки; +// Символ - Строка - символ, которым необходимо дополнить строку; +// Режим - Строка - ""Слева"" или ""Справа"" - режим добавления символов к исходной строке. +// +// Возвращаемое значение: +// Строка - строка, дополненная символами. +// +// Пример 1: +// Строка = ""1234""; ДлинаСтроки = 10; Символ = ""0""; Режим = ""Слева"" +// Возврат: ""0000001234"" +// +// Пример 2: +// Строка = "" 1234 ""; ДлинаСтроки = 10; Символ = ""#""; Режим = ""Справа"" +// Возврат: ""1234######"" +// +&НаКлиенте +Функция ДополнитьСтроку(Знач Строка, Знач ДлинаСтроки, Знач Символ = ""0"", Знач Режим = ""Слева"") Экспорт + + // Длина символа не должна превышать единицы. + Символ = Лев(Символ, 1); + + // Удаляем крайние пробелы слева и справа строки. + Строка = СокрЛП(Строка); + + КоличествоСимволовНадоДобавить = ДлинаСтроки - СтрДлина(Строка); + + Если КоличествоСимволовНадоДобавить > 0 Тогда + + СтрокаДляДобавления = СформироватьСтрокуСимволов(Символ, КоличествоСимволовНадоДобавить); + + Если ВРег(Режим) = ""СЛЕВА"" Тогда + + Строка = СтрокаДляДобавления + Строка; + + ИначеЕсли ВРег(Режим) = ""СПРАВА"" Тогда + + Строка = Строка + СтрокаДляДобавления; + + КонецЕсли; + + КонецЕсли; + + Возврат Строка; + +КонецФункции + +// Удаляет крайние повторяющиеся символы слева или справа в строке. +// +// Параметры: +// Строка - Строка - исходная строка, из которой необходимо удалить крайние повторяющиеся символы; +// Символ - Строка - искомый символ для удаления; +// Режим - Строка - ""Слева"" или ""Справа"" - режим удаления символов в исходной строке. +// +// Возвращаемое значение: +// Строка - обрезанная строка. +// +&НаКлиенте +Функция УдалитьПовторяющиесяСимволы(Знач Строка, Знач Символ, Знач Режим = ""Слева"") Экспорт + + Если ВРег(Режим) = ""СЛЕВА"" Тогда + + Пока Лев(Строка, 1)= Символ Цикл + + Строка = Сред(Строка, 2); + + КонецЦикла; + + ИначеЕсли ВРег(Режим) = ""СПРАВА"" Тогда + + Пока Прав(Строка, 1)= Символ Цикл + + Строка = Лев(Строка, СтрДлина(Строка) - 1); + + КонецЦикла; + + КонецЕсли; + + Возврат Строка; +КонецФункции + +// Выполняет замену символов в строке. +// +// Параметры: +// ЗаменяемыеСимволы - Строка - строка символов, каждый из которых требует замены; +// Строка - Строка - исходная строка, в которой требуется замена символов; +// СимволыЗамены - Строка - строка символов, на каждый из которых нужно заменить символы параметра +// ЗаменяемыеСимволы. +// +// Возвращаемое значение: +// Строка - строка после замены символов. +// +// Примечание: функция предназначена для простых случаев, например, для замены латиницы на похожие кириллические +// символы. +// +&НаКлиенте +Функция ЗаменитьОдниСимволыДругими(ЗаменяемыеСимволы, Строка, СимволыЗамены) Экспорт + + Результат = Строка; + + Для НомерСимвола = 1 По СтрДлина(ЗаменяемыеСимволы) Цикл + Результат = СтрЗаменить(Результат, Сред(ЗаменяемыеСимволы, НомерСимвола, 1), Сред(СимволыЗамены, НомерСимвола, 1)); + КонецЦикла; + + Возврат Результат; + +КонецФункции + +// Выполняет преобразование арабского числа в римское. +// +// Параметры: +// АрабскоеЧисло - число, целое, от 0 до 999; +// ИспользоватьКириллицу - булево, использовать в качестве арабских цифр кириллицу или латиницу. +// +// Возвращаемое значение: +// Строка - число в римской нотации. +// +// Пример: +// ПреобразоватьЧислоВРимскуюНотацию(17) = ""ХVII"". +// +&НаКлиенте +Функция ПреобразоватьЧислоВРимскуюНотацию(АрабскоеЧисло, ИспользоватьКириллицу = Истина) Экспорт + + РимскоеЧисло = """"; + АрабскоеЧисло = ДополнитьСтроку(АрабскоеЧисло, 3); + + Если ИспользоватьКириллицу Тогда + c1 = ""1""; c5 = ""У""; c10 = ""Х""; c50 = ""Л""; c100 =""С""; c500 = ""Д""; c1000 = ""М""; + + Иначе + c1 = ""I""; c5 = ""V""; c10 = ""X""; c50 = ""L""; c100 =""C""; c500 = ""D""; c1000 = ""M""; + + КонецЕсли; + + Единицы = Число(Сред(АрабскоеЧисло, 3, 1)); + Десятки = Число(Сред(АрабскоеЧисло, 2, 1)); + Сотни = Число(Сред(АрабскоеЧисло, 1, 1)); + + РимскоеЧисло = РимскоеЧисло + ПреобразоватьЦифруВРимскуюНотацию(Сотни, c100, c500, c1000); + РимскоеЧисло = РимскоеЧисло + ПреобразоватьЦифруВРимскуюНотацию(Десятки, c10, c50, c100); + РимскоеЧисло = РимскоеЧисло + ПреобразоватьЦифруВРимскуюНотацию(Единицы, c1, c5, c10); + + Возврат РимскоеЧисло; + +КонецФункции + +// Выполняет преобразование римского числа в арабское. +// +// Параметры: +// РимскоеЧисло - Строка - число, записанное римскими цифрами; +// ИспользоватьКириллицу - Булево - использовать в качестве арабских цифр кириллицу или латиницу. +// +// Возвращаемое значение: +// Число. +// +// Пример: +// ПреобразоватьЧислоВАрабскуюНотацию(""ХVII"") = 17. +// +&НаКлиенте +Функция ПреобразоватьЧислоВАрабскуюНотацию(РимскоеЧисло, ИспользоватьКириллицу = Истина) Экспорт + + АрабскоеЧисло=0; + + Если ИспользоватьКириллицу Тогда + c1 = ""1""; c5 = ""У""; c10 = ""Х""; c50 = ""Л""; c100 =""С""; c500 = ""Д""; c1000 = ""М""; + + Иначе + c1 = ""I""; c5 = ""V""; c10 = ""X""; c50 = ""L""; c100 =""C""; c500 = ""D""; c1000 = ""M""; + + КонецЕсли; + + РимскоеЧисло = СокрЛП(РимскоеЧисло); + ЧислоСимволов = СтрДлина(РимскоеЧисло); + + Для Сч=1 По ЧислоСимволов Цикл + Если Сред(РимскоеЧисло,Сч,1) = c1000 Тогда + АрабскоеЧисло = АрабскоеЧисло+1000; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c500 Тогда + АрабскоеЧисло = АрабскоеЧисло+500; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c100 Тогда + Если (Сч < ЧислоСимволов) И ((Сред(РимскоеЧисло,Сч+1,1) = c500) ИЛИ (Сред(РимскоеЧисло,Сч+1,1) = c1000)) Тогда + АрабскоеЧисло = АрабскоеЧисло-100; + Иначе + АрабскоеЧисло = АрабскоеЧисло+100; + КонецЕсли; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c50 Тогда + АрабскоеЧисло = АрабскоеЧисло+50; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c10 Тогда + Если (Сч < ЧислоСимволов) И ((Сред(РимскоеЧисло,Сч+1,1) = c50) ИЛИ (Сред(РимскоеЧисло,Сч+1,1) = c100)) Тогда + АрабскоеЧисло = АрабскоеЧисло-10; + Иначе + АрабскоеЧисло = АрабскоеЧисло+10; + КонецЕсли; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c5 Тогда + АрабскоеЧисло = АрабскоеЧисло+5; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c1 Тогда + Если (Сч < ЧислоСимволов) И ((Сред(РимскоеЧисло,Сч+1,1) = c5) ИЛИ (Сред(РимскоеЧисло,Сч+1,1) = c10)) Тогда + АрабскоеЧисло = АрабскоеЧисло-1; + Иначе + АрабскоеЧисло = АрабскоеЧисло+1; + КонецЕсли; + КонецЕсли; + КонецЦикла; + + Возврат АрабскоеЧисло; + +КонецФункции + +// Возвращает текстовое представление числа с единицей измерения в правильном склонении и числе. +// +// Параметры: +// Число - Число - любое целое число. +// ПараметрыПредметаИсчисления - Строка - варианты написания единицы измерения в родительном падеже для одной, +// для двух и для пяти единиц, разделитель - запятая. +// +// Возвращаемое значение: +// Строка - текстовое представление количества единиц, число записывается цифрами. +// +// Примеры: +// ЧислоЦифрамиПредметИсчисленияПрописью(23, ""минуту,минуты,минут"") = ""23 минуты""; +// ЧислоЦифрамиПредметИсчисленияПрописью(15, ""минуту,минуты,минут"") = ""15 минут"". +&НаКлиенте +Функция ЧислоЦифрамиПредметИсчисленияПрописью(Знач Число, Знач ПараметрыПредметаИсчисления) Экспорт + + Результат = Формат(Число,""ЧН=0""); + + МассивПредставлений = Новый Массив; + + Позиция = Найти(ПараметрыПредметаИсчисления, "",""); + Пока Позиция > 0 Цикл + Значение = СокрЛП(Лев(ПараметрыПредметаИсчисления, Позиция-1)); + ПараметрыПредметаИсчисления = Сред(ПараметрыПредметаИсчисления, Позиция + 1); + МассивПредставлений.Добавить(Значение); + Позиция = Найти(ПараметрыПредметаИсчисления, "",""); + КонецЦикла; + + Если СтрДлина(ПараметрыПредметаИсчисления) > 0 Тогда + Значение = СокрЛП(ПараметрыПредметаИсчисления); + МассивПредставлений.Добавить(Значение); + КонецЕсли; + + Если Число >= 100 Тогда + Число = Число - Цел(Число / 100)*100; + КонецЕсли; + + Если Число > 20 Тогда + Число = Число - Цел(Число/10)*10; + КонецЕсли; + + Если Число = 1 Тогда + Результат = Результат + "" "" + МассивПредставлений[0]; + ИначеЕсли Число > 1 И Число < 5 Тогда + Результат = Результат + "" "" + МассивПредставлений[1]; + Иначе + Результат = Результат + "" "" + МассивПредставлений[2]; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +// Очищает текст в формате HTML от тегов и возвращает неформатированный текст. +// +// Параметры: +// ИсходныйТекст - Строка - текст в формате HTML. +// +// Возвращаемое значение: +// Строка - текст, очищенный от тегов, скриптов и заголовков. +// +&НаКлиенте +Функция ИзвлечьТекстИзHTML(Знач ИсходныйТекст) Экспорт + Результат = """"; + + Текст = НРег(ИсходныйТекст); + + // отрезаем все что не body + Позиция = Найти(Текст, "" 0 Тогда + Текст = Сред(Текст, Позиция + 5); + ИсходныйТекст = Сред(ИсходныйТекст, Позиция + 5); + Позиция = Найти(Текст, "">""); + Если Позиция > 0 Тогда + Текст = Сред(Текст, Позиция + 1); + ИсходныйТекст = Сред(ИсходныйТекст, Позиция + 1); + КонецЕсли; + КонецЕсли; + + Позиция = Найти(Текст, """"); + Если Позиция > 0 Тогда + Текст = Лев(Текст, Позиция - 1); + ИсходныйТекст = Лев(ИсходныйТекст, Позиция - 1); + КонецЕсли; + + // вырезаем скрипты + Позиция = Найти(Текст, "" 0 Цикл + ПозицияЗакрывающегоТега = Найти(Текст, """"); + Если ПозицияЗакрывающегоТега = 0 Тогда + // Не найден закрывающий тег - вырезаем оставшийся текст. + ПозицияЗакрывающегоТега = СтрДлина(Текст); + КонецЕсли; + Текст = Лев(Текст, Позиция - 1) + Сред(Текст, ПозицияЗакрывающегоТега + 9); + ИсходныйТекст = Лев(ИсходныйТекст, Позиция - 1) + Сред(ИсходныйТекст, ПозицияЗакрывающегоТега + 9); + Позиция = Найти(Текст, "" 0 Цикл + ПозицияЗакрывающегоТега = Найти(Текст, """"); + Если ПозицияЗакрывающегоТега = 0 Тогда + // Не найден закрывающий тег - вырезаем оставшийся текст. + ПозицияЗакрывающегоТега = СтрДлина(Текст); + КонецЕсли; + Текст = Лев(Текст, Позиция - 1) + Сред(Текст, ПозицияЗакрывающегоТега + 8); + ИсходныйТекст = Лев(ИсходныйТекст, Позиция - 1) + Сред(ИсходныйТекст, ПозицияЗакрывающегоТега + 8); + Позиция = Найти(Текст, "" 0 Цикл + Результат = Результат + Лев(ИсходныйТекст, Позиция-1); + Текст = Сред(Текст, Позиция + 1); + ИсходныйТекст = Сред(ИсходныйТекст, Позиция + 1); + Позиция = Найти(Текст, "">""); + Если Позиция > 0 Тогда + Текст = Сред(Текст, Позиция + 1); + ИсходныйТекст = Сред(ИсходныйТекст, Позиция + 1); + КонецЕсли; + Позиция = Найти(Текст, ""<""); + КонецЦикла; + Результат = Результат + ИсходныйТекст; + МассивСтрок = РазложитьСтрокуВМассивПодстрок(Результат, Символы.ПС, Истина, Истина); + Возврат СокрЛП(СтрокаИзМассиваПодстрок(МассивСтрок, Символы.ПС)); +КонецФункции + +// Преобразует исходную строку в транслит. +&НаКлиенте +Функция СтрокаЛатиницей(Знач Строка) Экспорт + + Результат = """"; + + Соответствие = СоответствиеКириллицыИЛатиницы(); + + ПредыдущийСимвол = """"; + Для Позиция = 1 По СтрДлина(Строка) Цикл + Символ = Сред(Строка, Позиция, 1); + СимволЛатиницей = Соответствие[НРег(Символ)]; // Поиск соответствия без учета регистра. + Если СимволЛатиницей = Неопределено Тогда + // Другие символы остаются ""как есть"". + СимволЛатиницей = Символ; + Иначе + Если Символ = ВРег(Символ) Тогда + СимволЛатиницей = ТРег(СимволЛатиницей); // восстанавливаем регистр + КонецЕсли; + КонецЕсли; + Результат = Результат + СимволЛатиницей; + ПредыдущийСимвол = СимволЛатиницей; + КонецЦикла; + + Возврат Результат; +КонецФункции + +// Форматирует строку в соответствии с заданным шаблоном. +// Возможные значения тегов выделения: +// Строка - выделяет строку жирным шрифтом +// Строка +// +// Пример: +// Минимальная версия программы 1.1. Обновите программу. +// +// Возвращаемое значение: +// ФорматированнаяСтрока +&НаКлиенте +Функция ФорматированнаяСтрока(Знач Строка) Экспорт + + СтрокиСВыделением = Новый СписокЗначений; + Пока Найти(Строка, """") <> 0 Цикл + НачалоВыделения = Найти(Строка, """"); + СтрокаДоОткрывающегоТега = Лев(Строка, НачалоВыделения - 1); + СтрокиСВыделением.Добавить(СтрокаДоОткрывающегоТега); + СтрокаПослеОткрывающегоТега = Сред(Строка, НачалоВыделения + 3); + КонецВыделения = Найти(СтрокаПослеОткрывающегоТега, """"); + ВыделенныйФрагмент = Лев(СтрокаПослеОткрывающегоТега, КонецВыделения - 1); + СтрокиСВыделением.Добавить(ВыделенныйФрагмент,, Истина); + СтрокаПослеВыделения = Сред(СтрокаПослеОткрывающегоТега, КонецВыделения + 4); + Строка = СтрокаПослеВыделения; + КонецЦикла; + СтрокиСВыделением.Добавить(Строка); + + СтрокиСоСсылками = Новый СписокЗначений; + Для Каждого ЧастьСтроки Из СтрокиСВыделением Цикл + + Строка = ЧастьСтроки.Значение; + + Если ЧастьСтроки.Пометка Тогда + СтрокиСоСсылками.Добавить(Строка,, Истина); + Продолжить; + КонецЕсли; + + НачалоВыделения = Найти(Строка, "" 0 Цикл + СтрокаДоОткрывающегоТега = Лев(Строка, НачалоВыделения - 1); + СтрокиСоСсылками.Добавить(СтрокаДоОткрывающегоТега, ); + + СтрокаПослеОткрывающегоТега = Сред(Строка, НачалоВыделения + 9); + ЗакрывающийТег = Найти(СтрокаПослеОткрывающегоТега, "">""); + + Ссылка = СокрЛП(Лев(СтрокаПослеОткрывающегоТега, ЗакрывающийТег - 2)); + Если Лев(Ссылка, 1) = """""""" Тогда + Ссылка = Сред(Ссылка, 2, СтрДлина(Ссылка) - 1); + КонецЕсли; + Если Прав(Ссылка, 1) = """""""" Тогда + Ссылка = Сред(Ссылка, 1, СтрДлина(Ссылка) - 1); + КонецЕсли; + + СтрокаПослеСсылки = Сред(СтрокаПослеОткрывающегоТега, ЗакрывающийТег + 1); + КонецВыделения = Найти(СтрокаПослеСсылки, """"); + ТекстСсылки = Лев(СтрокаПослеСсылки, КонецВыделения - 1); + СтрокиСоСсылками.Добавить(ТекстСсылки, Ссылка); + + СтрокаПослеВыделения = Сред(СтрокаПослеСсылки, КонецВыделения + 4); + Строка = СтрокаПослеВыделения; + + НачалоВыделения = Найти(Строка, "" 0 Тогда + Возврат Неопределено; + КонецЕсли; + ЗнакОтрицательный = Истина; + ИначеЕсли КодСимвола = 41 Тогда // Закрывающая скобка. + Если Не ЗнакОтрицательный Или Результат = 0 Тогда // Не было открывающей скобки или нет числа. + Возврат Неопределено; + КонецЕсли; + // Пропуск (действие не требуется). + ИначеЕсли КодСимвола = 44 Или КодСимвола = 46 Тогда // Запятая или точка. + Если ЗнаковПослеЗапятой <> -1 Тогда + Возврат Неопределено; // Разделитель уже был, следовательно это не число. + КонецЕсли; + ЗнаковПослеЗапятой = 0; // Запуск отсчета знаков после запятой. + ИначеЕсли КодСимвола > 47 И КодСимвола < 58 Тогда // Число. + Если ЗнаковПослеЗапятой <> -1 Тогда + ЗнаковПослеЗапятой = ЗнаковПослеЗапятой + 1; + КонецЕсли; + Число = КодСимвола - 48; + Результат = Результат * 10 + Число; + Иначе + Возврат Неопределено; + КонецЕсли; + КонецЦикла; + + Если ЗнаковПослеЗапятой > 0 Тогда + Результат = Результат / Pow(10, ЗнаковПослеЗапятой); + КонецЕсли; + Если ЗнакОтрицательный Тогда + Результат = -Результат; + КонецЕсли; + + Возврат Результат; +КонецФункции + +// Выполняет преобразование цифры в римскую нотацию. +// +// Параметры +// Цифра - Число - цифра от 0 до 9. +// РимскаяЕдиница, РимскаяПятерка, РимскаяДесятка - Строка - символы, соответствующие римским цифрам. +// +// Возвращаемое значение +// Строка - цифра в римской нотации. +// +// Пример: +// ПреобразоватьЦифруВРимскуюНотацию(7,""I"",""V"",""X"") = ""VII"". +// +&НаКлиенте +Функция ПреобразоватьЦифруВРимскуюНотацию(Цифра, РимскаяЕдиница, РимскаяПятерка, РимскаяДесятка) + + РимскаяЦифра=""""; + Если Цифра = 1 Тогда + РимскаяЦифра = РимскаяЕдиница + ИначеЕсли Цифра = 2 Тогда + РимскаяЦифра = РимскаяЕдиница + РимскаяЕдиница; + ИначеЕсли Цифра = 3 Тогда + РимскаяЦифра = РимскаяЕдиница + РимскаяЕдиница + РимскаяЕдиница; + ИначеЕсли Цифра = 4 Тогда + РимскаяЦифра = РимскаяЕдиница + РимскаяПятерка; + ИначеЕсли Цифра = 5 Тогда + РимскаяЦифра = РимскаяПятерка; + ИначеЕсли Цифра = 6 Тогда + РимскаяЦифра = РимскаяПятерка + РимскаяЕдиница; + ИначеЕсли Цифра = 7 Тогда + РимскаяЦифра = РимскаяПятерка + РимскаяЕдиница + РимскаяЕдиница; + ИначеЕсли Цифра = 8 Тогда + РимскаяЦифра = РимскаяПятерка + РимскаяЕдиница + РимскаяЕдиница + РимскаяЕдиница; + ИначеЕсли Цифра = 9 Тогда + РимскаяЦифра = РимскаяЕдиница + РимскаяДесятка; + КонецЕсли; + Возврат РимскаяЦифра; + +КонецФункции + +// Вставляет параметры в строку, учитывая, что в параметрах могут использоваться подстановочные слова %1, %2 и т.д. +&НаКлиенте +Функция ПодставитьПараметрыВСтрокуАльтернативныйАлгоритм(Знач СтрокаПодстановки, + Знач Параметр1, Знач Параметр2 = Неопределено, Знач Параметр3 = Неопределено, + Знач Параметр4 = Неопределено, Знач Параметр5 = Неопределено, Знач Параметр6 = Неопределено, + Знач Параметр7 = Неопределено, Знач Параметр8 = Неопределено, Знач Параметр9 = Неопределено) + + Результат = """"; + Позиция = Найти(СтрокаПодстановки, ""%""); + Пока Позиция > 0 Цикл + Результат = Результат + Лев(СтрокаПодстановки, Позиция - 1); + СимволПослеПроцента = Сред(СтрокаПодстановки, Позиция + 1, 1); + ПодставляемыйПараметр = """"; + Если СимволПослеПроцента = ""1"" Тогда + ПодставляемыйПараметр = Параметр1; + ИначеЕсли СимволПослеПроцента = ""2"" Тогда + ПодставляемыйПараметр = Параметр2; + ИначеЕсли СимволПослеПроцента = ""3"" Тогда + ПодставляемыйПараметр = Параметр3; + ИначеЕсли СимволПослеПроцента = ""4"" Тогда + ПодставляемыйПараметр = Параметр4; + ИначеЕсли СимволПослеПроцента = ""5"" Тогда + ПодставляемыйПараметр = Параметр5; + ИначеЕсли СимволПослеПроцента = ""6"" Тогда + ПодставляемыйПараметр = Параметр6; + ИначеЕсли СимволПослеПроцента = ""7"" Тогда + ПодставляемыйПараметр = Параметр7 + ИначеЕсли СимволПослеПроцента = ""8"" Тогда + ПодставляемыйПараметр = Параметр8; + ИначеЕсли СимволПослеПроцента = ""9"" Тогда + ПодставляемыйПараметр = Параметр9; + КонецЕсли; + Если ПодставляемыйПараметр = """" Тогда + Результат = Результат + ""%""; + СтрокаПодстановки = Сред(СтрокаПодстановки, Позиция + 1); + Иначе + Результат = Результат + ПодставляемыйПараметр; + СтрокаПодстановки = Сред(СтрокаПодстановки, Позиция + 2); + КонецЕсли; + Позиция = Найти(СтрокаПодстановки, ""%""); + КонецЦикла; + Результат = Результат + СтрокаПодстановки; + + Возврат Результат; +КонецФункции + +&НаКлиенте +Функция СоответствиеКириллицыИЛатиницы() + // Транслитерация, используемая в загранпаспортах 1997-2010. + Соответствие = Новый Соответствие; + Соответствие.Вставить(""а"",""a""); + Соответствие.Вставить(""б"",""b""); + Соответствие.Вставить(""в"",""v""); + Соответствие.Вставить(""г"",""g""); + Соответствие.Вставить(""д"",""d""); + Соответствие.Вставить(""е"",""e""); + Соответствие.Вставить(""ё"",""e""); + Соответствие.Вставить(""ж"",""zh""); + Соответствие.Вставить(""з"",""z""); + Соответствие.Вставить(""и"",""i""); + Соответствие.Вставить(""й"",""y""); + Соответствие.Вставить(""к"",""k""); + Соответствие.Вставить(""л"",""l""); + Соответствие.Вставить(""м"",""m""); + Соответствие.Вставить(""н"",""n""); + Соответствие.Вставить(""о"",""o""); + Соответствие.Вставить(""п"",""p""); + Соответствие.Вставить(""р"",""r""); + Соответствие.Вставить(""с"",""s""); + Соответствие.Вставить(""т"",""t""); + Соответствие.Вставить(""у"",""u""); + Соответствие.Вставить(""ф"",""f""); + Соответствие.Вставить(""х"",""kh""); + Соответствие.Вставить(""ц"",""ts""); + Соответствие.Вставить(""ч"",""ch""); + Соответствие.Вставить(""ш"",""sh""); + Соответствие.Вставить(""щ"",""shch""); + Соответствие.Вставить(""ъ"",""""""""); + Соответствие.Вставить(""ы"",""y""); + Соответствие.Вставить(""ь"",""""); // пропускается + Соответствие.Вставить(""э"",""e""); + Соответствие.Вставить(""ю"",""yu""); + Соответствие.Вставить(""я"",""ya""); + + Возврат Соответствие; +КонецФункции + +//////////////////////////////////////////////////////////////////////////////// +// УСТАРЕВШИЕ ПРОЦЕДУРЫ И ФУНКЦИИ + +// Устарела. Следует использовать СтрокаИзМассиваПодстрок. +// +// Объединяет строки из массива в строку с разделителями. +// +// Параметры: +// Массив - Массив - массив строк которые необходимо объединить в одну строку; +// Разделитель - Строка - любой набор символов, который будет использован в качестве разделителя. +// +// Возвращаемое значение: +// Строка - строка с разделителями. +// +&НаКлиенте +Функция ПолучитьСтрокуИзМассиваПодстрок(Массив, Разделитель = "","") Экспорт + + // Возвращаемое значение функции. + Результат = """"; + + Для Каждого Элемент Из Массив Цикл + + Подстрока = ?(ТипЗнч(Элемент) = Тип(""Строка""), Элемент, Строка(Элемент)); + + РазделительПодстрок = ?(ПустаяСтрока(Результат), """", Разделитель); + + Результат = Результат + РазделительПодстрок + Подстрока; + + КонецЦикла; + + Возврат Результат; + +КонецФункции + +// } Функции работы со строками + + +// { Helpers +&НаСервере +Функция ЭтотОбъектНаСервере() + Возврат РеквизитФормыВЗначение(""Объект""); +КонецФункции +// } Helpers +", +{4,1, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",85629dd2-6be4-49c6-9a69-13411102aa57} +}, +{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 +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,0}, +{0,0}, +{0,0}, +{0,0},0,0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/4b3c529a-00d8-4aee-95a4-f20938cdebdd.0/info" "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/908d0aaf-e4ec-4668-8d14-3e8075d222fd.0/info" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/4b3c529a-00d8-4aee-95a4-f20938cdebdd.0/info" rename to "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/908d0aaf-e4ec-4668-8d14-3e8075d222fd.0/info" 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/copyinfo" "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/copyinfo" new file mode 100644 index 00000000..b97eed90 --- /dev/null +++ "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/copyinfo" @@ -0,0 +1,16 @@ +{4, +{2, +{4e8e1a4a-a947-419b-95c8-58a411e3ffa4,4e8e1a4a-a947-419b-95c8-58a411e3ffa4,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} +}, +{908d0aaf-e4ec-4668-8d14-3e8075d222fd,908d0aaf-e4ec-4668-8d14-3e8075d222fd,1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"СтроковыеУтилиты"} +} +}, +{1, +{85629dd2-6be4-49c6-9a69-13411102aa57,908d0aaf-e4ec-4668-8d14-3e8075d222fd,0} +}, +{0}, +{0,0}, +{0} +} \ 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/und/root" "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/root" new file mode 100644 index 00000000..fe2f30c4 --- /dev/null +++ "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/root" @@ -0,0 +1 @@ +{2,11c5f751-bfaf-480a-92fe-7f30023f2e9a,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/version" "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/version" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/version" rename to "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/version" 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" new file mode 100644 index 00000000..2fd96752 --- /dev/null +++ "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" @@ -0,0 +1 @@ +{1,9,"",2bb85aa2-b9d6-442a-b041-af4070bcce8e,"11c5f751-bfaf-480a-92fe-7f30023f2e9a",0b6fa390-54a7-4fa6-b65a-5022ed87963a,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4",f8cffbbe-4b42-4791-97d4-69cd541cd25a,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0",9f9ce21f-a341-4e8a-8a45-8ff147e5e135,"908d0aaf-e4ec-4668-8d14-3e8075d222fd.0",db32dfb4-fff0-4b09-b130-9492c37d89e0,"copyinfo",8c513a87-62ad-4170-9f0c-30136484c90c,"root",58246038-cadc-4423-9568-798e1b1f1dab,"version",4248fa2d-bfe5-4676-8cf4-5600f33bf57a,"versions",43498145-0ad9-48f5-8c95-2f6f459ce857} \ No newline at end of file diff --git "a/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" new file mode 100644 index 00000000..a64f6841 --- /dev/null +++ "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" @@ -0,0 +1 @@ + // { Plugin interface &НаКлиенте Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); КонецФункции // } Plugin interface &НаКлиенте Функция Что(Знач ПроверяемоеЗначениеПараметр, Знач Сообщение = "") Экспорт ВыполнитьМетодОбъектаНаСервере("Что", 2, ПроверяемоеЗначениеПараметр, Сообщение); Возврат ЭтаФорма; КонецФункции &НаКлиенте Функция Не_() Экспорт ВыполнитьМетодОбъектаНаСервере("Не_", 0); Возврат ЭтаФорма; КонецФункции &НаКлиенте Функция ЭтоНе() Экспорт Возврат Не_(); КонецФункции &НаКлиенте Функция Метод(Знач ИмяМетода, Знач ПараметрыМетода = Неопределено) Экспорт ВыполнитьМетодОбъектаНаСервере("Метод", 2, ИмяМетода, ПараметрыМетода); Возврат ЭтаФорма; КонецФункции &НаКлиенте Функция ЭтоИстина() Экспорт ВыполнитьМетодОбъектаНаСервере("ЭтоИстина", 0); Возврат ЭтаФорма; КонецФункции &НаКлиенте Функция ЕстьИстина() Экспорт Возврат ЭтоИстина(); КонецФункции &НаКлиенте Функция ЭтоЛожь() Экспорт ВыполнитьМетодОбъектаНаСервере("ЭтоЛожь", 0); Возврат ЭтаФорма; КонецФункции &НаКлиенте Функция ЕстьЛожь() Экспорт Возврат ЭтоЛожь(); КонецФункции &НаКлиенте Функция Равно(Знач ОжидаемоеЗначение) Экспорт ВыполнитьМетодОбъектаНаСервере("Равно", 1, ОжидаемоеЗначение); Возврат ЭтаФорма; КонецФункции &НаКлиенте Функция Больше(Знач МеньшееЗначение) Экспорт ВыполнитьМетодОбъектаНаСервере("Больше", 1, МеньшееЗначение); Возврат ЭтаФорма; КонецФункции &НаКлиенте Функция БольшеИлиРавно(Знач МеньшееИлиРавноеЗначение) Экспорт ВыполнитьМетодОбъектаНаСервере("БольшеИлиРавно", 1, МеньшееИлиРавноеЗначение); Возврат ЭтаФорма; КонецФункции &НаКлиенте Функция Минимум(Знач МинимальноеЗначение) Экспорт Возврат БольшеИлиРавно(МинимальноеЗначение); КонецФункции &НаКлиенте Функция МеньшеИлиРавно(Знач БольшееИлиРавноеЗначение) Экспорт ВыполнитьМетодОбъектаНаСервере("МеньшеИлиРавно", 1, БольшееИлиРавноеЗначение); Возврат ЭтаФорма; КонецФункции &НаКлиенте Функция Максимум(Знач МаксимальноеЗначение) Экспорт Возврат МеньшеИлиРавно(МаксимальноеЗначение); КонецФункции &НаКлиенте Функция Меньше(Знач БольшееЗначение) Экспорт ВыполнитьМетодОбъектаНаСервере("Меньше", 1, БольшееЗначение); Возврат ЭтаФорма; КонецФункции &НаКлиенте Функция Заполнено() Экспорт ВыполнитьМетодОбъектаНаСервере("Заполнено", 0); Возврат ЭтаФорма; КонецФункции &НаКлиенте Функция Существует() Экспорт ВыполнитьМетодОбъектаНаСервере("Существует", 0); Возврат ЭтаФорма; КонецФункции &НаКлиенте Функция ЭтоНеопределено() Экспорт ВыполнитьМетодОбъектаНаСервере("ЭтоНеопределено", 0); Возврат ЭтаФорма; КонецФункции &НаКлиенте Функция ЕстьНеопределено() Экспорт Возврат ЭтоНеопределено(); КонецФункции &НаКлиенте Функция ЭтоNull() Экспорт ВыполнитьМетодОбъектаНаСервере("ЭтоNull", 0); Возврат ЭтаФорма; КонецФункции &НаКлиенте Функция ЕстьNull() Экспорт Возврат ЭтоNull(); КонецФункции &НаКлиенте Функция ИмеетТип(Знач ТипИлиИмяТипа) Экспорт ВыполнитьМетодОбъектаНаСервере("ИмеетТип", 1, ТипИлиИмяТипа); Возврат ЭтаФорма; КонецФункции &НаКлиенте Функция Между(Знач НачальноеЗначение, Знач КонечноеЗначение) Экспорт ВыполнитьМетодОбъектаНаСервере("Между", 2, НачальноеЗначение, КонечноеЗначение); Возврат ЭтаФорма; КонецФункции &НаКлиенте Функция Содержит(Знач ИскомоеЗначение) Экспорт ВыполнитьМетодОбъектаНаСервере("Содержит", 1, ИскомоеЗначение); Возврат ЭтаФорма; КонецФункции &НаКлиенте Функция ИмеетДлину(Знач ОжидаемаяДлина) Экспорт ВыполнитьМетодОбъектаНаСервере("ИмеетДлину", 1, ОжидаемаяДлина); Возврат ЭтаФорма; КонецФункции &НаКлиенте Функция ВыбрасываетИсключение(Знач ФрагментИсключения = "") Экспорт ВыполнитьМетодОбъектаНаСервере("ВыбрасываетИсключение", 1, ФрагментИсключения); Возврат ЭтаФорма; КонецФункции // { Helpers &НаСервере Процедура ВыполнитьМетодОбъектаНаСервере(Знач ИмяМетода, Знач КоличествоПараметров, Знач Параметр1 = Неопределено, Знач Параметр2 = Неопределено) ОбъектНаСервере = ЭтотОбъектНаСервере(); СтрокаПараметры = ""; Если КоличествоПараметров = 1 Тогда СтрокаПараметры = "Параметр1"; ИначеЕсли КоличествоПараметров = 2 Тогда СтрокаПараметры = "Параметр1, Параметр2"; КонецЕсли; Попытка Выполнить("ОбъектНаСервере." + ИмяМетода + "(" + СтрокаПараметры + ")"); Исключение ОписаниеОшибки = ОписаниеОшибки(); ВызватьИсключение "Вызов метода <" + ИмяМетода +">: " + ОписаниеОшибки; КонецПопытки; ЗначениеВРеквизитФормы(ОбъектНаСервере, "Объект"); КонецПроцедуры &НаСервере Функция ЭтотОбъектНаСервере() Возврат РеквизитФормыВЗначение("Объект"); КонецФункции // } Helpers \ No newline at end of file diff --git "a/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/ObjectModule.txt" "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/ObjectModule.txt" new file mode 100644 index 00000000..4e8d5393 --- /dev/null +++ "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/ObjectModule.txt" @@ -0,0 +1,306 @@ +Перем СтатусыРезультатаТестирования; +Перем ФлагОтрицанияДляСообщения; + +// { Plugin interface +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Результат = Новый Структура; + Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); + Результат.Вставить("Идентификатор", Метаданные().Имя); + Результат.Вставить("Представление", "УтвержденияBDD"); + + Возврат Новый ФиксированнаяСтруктура(Результат); +КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт +КонецПроцедуры +// } Plugin interface + +Функция Что(Знач ПроверяемоеЗначение, Знач Сообщение = "") Экспорт + ЭтотОбъект.ПроверяемоеЗначение = ПроверяемоеЗначение; + ЭтотОбъект.ДопСообщениеОшибки = Сообщение; + ЭтотОбъект.ФлагОтрицания = Ложь; + + Возврат ЭтотОбъект; +КонецФункции + +Функция Не_() Экспорт + ЭтотОбъект.ФлагОтрицания = Истина; + + Возврат ЭтотОбъект; +КонецФункции + +Функция ЭтоНе() Экспорт + Возврат Не_(); +КонецФункции + +Функция Метод(Знач ИмяМетода, Знач ПараметрыМетода = Неопределено) Экспорт + ЭтотОбъект.ИмяМетода = ИмяМетода; + ЭтотОбъект.ПараметрыМетода = ПараметрыМетода; + + Возврат ЭтотОбъект; +КонецФункции + +Функция ЭтоИстина() Экспорт + Если Не ЛогическоеВыражениеВерно(ПроверяемоеЗначение = Истина) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(Формат(ПроверяемоеЗначение, "БЛ=Ложь; БИ=Истина"), "является ИСТИНОЙ."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; + + Возврат ЭтотОбъект; +КонецФункции + +Функция ЕстьИстина() Экспорт + Возврат ЭтоИстина(); +КонецФункции + +Функция ЭтоЛожь() Экспорт + Если Не ЛогическоеВыражениеВерно(ПроверяемоеЗначение = Ложь) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(Формат(ПроверяемоеЗначение, "БЛ=Ложь; БИ=Истина"), "является ЛОЖЬЮ."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; + + Возврат ЭтотОбъект; +КонецФункции + +Функция ЕстьЛожь() Экспорт + Возврат ЭтоЛожь(); +КонецФункции + +Функция Равно(Знач ОжидаемоеЗначение) Экспорт + Если Не ЛогическоеВыражениеВерно(ПроверяемоеЗначение = ОжидаемоеЗначение) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(ПроверяемоеЗначение, "РАВНО (" + ОжидаемоеЗначение + ")."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; + + Возврат ЭтотОбъект; +КонецФункции + +Функция Больше(Знач МеньшееЗначение) Экспорт + Если Не ЛогическоеВыражениеВерно(ПроверяемоеЗначение > МеньшееЗначение) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(ПроверяемоеЗначение, "БОЛЬШЕ (" + МеньшееЗначение + ")."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; + + Возврат ЭтотОбъект; +КонецФункции + +Функция БольшеИлиРавно(Знач МеньшееИлиРавноеЗначение) Экспорт + Если Не ЛогическоеВыражениеВерно(ПроверяемоеЗначение >= МеньшееИлиРавноеЗначение) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(ПроверяемоеЗначение, "БОЛЬШЕ ИЛИ РАВНО (" + МеньшееИлиРавноеЗначение + ")."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; + + Возврат ЭтотОбъект; +КонецФункции + +Функция Минимум(Знач МинимальноеЗначение) Экспорт + Возврат БольшеИлиРавно(МинимальноеЗначение); +КонецФункции + +Функция МеньшеИлиРавно(Знач БольшееИлиРавноеЗначение) Экспорт + Если Не ЛогическоеВыражениеВерно(ПроверяемоеЗначение <= БольшееИлиРавноеЗначение) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(ПроверяемоеЗначение, "МЕНЬШЕ ИЛИ РАВНО (" + БольшееИлиРавноеЗначение + ")."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; + + Возврат ЭтотОбъект; +КонецФункции + +Функция Максимум(Знач МаксимальноеЗначение) Экспорт + Возврат МеньшеИлиРавно(МаксимальноеЗначение); +КонецФункции + +Функция Меньше(Знач БольшееЗначение) Экспорт + Если Не ЛогическоеВыражениеВерно(ПроверяемоеЗначение < БольшееЗначение) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(ПроверяемоеЗначение, "МЕНЬШЕ (" + БольшееЗначение + ")."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; + + Возврат ЭтотОбъект; +КонецФункции + +Функция Заполнено() Экспорт + Если Не ЛогическоеВыражениеВерно(ЗначениеЗаполнено(ПроверяемоеЗначение)) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(ПроверяемоеЗначение, "является ЗАПОЛНЕННЫМ."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; + + Возврат ЭтотОбъект; +КонецФункции + +Функция Существует() Экспорт + Если Не ЛогическоеВыражениеВерно(ПроверяемоеЗначение <> Неопределено И ПроверяемоеЗначение <> Null) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(ПроверяемоеЗначение, "СУЩЕСТВУЕТ."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; + + Возврат ЭтотОбъект; +КонецФункции + +Функция ЭтоНеопределено() Экспорт + Если Не ЛогическоеВыражениеВерно(ПроверяемоеЗначение = Неопределено) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(ПроверяемоеЗначение, "является НЕОПРЕДЕЛЕНО."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; + + Возврат ЭтотОбъект; +КонецФункции + +Функция ЕстьНеопределено() Экспорт + Возврат ЭтоНеопределено(); +КонецФункции + +Функция ЭтоNull() Экспорт + Если Не ЛогическоеВыражениеВерно(ПроверяемоеЗначение = Null) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(ПроверяемоеЗначение, "является NULL."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; + + Возврат ЭтотОбъект; +КонецФункции + +Функция ЕстьNull() Экспорт + Возврат ЭтоNull(); +КонецФункции + +Функция ИмеетТип(Знач ТипИлиИмяТипа) Экспорт + ОжидаемыйТип = ?(ТипЗнч(ТипИлиИмяТипа) = Тип("Строка"), Тип(ТипИлиИмяТипа), ТипИлиИмяТипа); + ТипПроверяемогоЗначения = ТипЗнч(ПроверяемоеЗначение); + Если Не ЛогическоеВыражениеВерно(ТипПроверяемогоЗначения = ОжидаемыйТип) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке("тип - " + ТипПроверяемогоЗначения, "имеет тип (" + ОжидаемыйТип + ")."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; + + Возврат ЭтотОбъект; +КонецФункции + +Функция Между(Знач НачальноеЗначение, Знач КонечноеЗначение) Экспорт + Если Не ЛогическоеВыражениеВерно(ПроверяемоеЗначение >= НачальноеЗначение И ПроверяемоеЗначение <= КонечноеЗначение) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(ПроверяемоеЗначение, "МЕЖДУ (" + НачальноеЗначение + ") и (" + КонечноеЗначение + ")."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; + + Возврат ЭтотОбъект; +КонецФункции + +Функция Содержит(Знач ИскомоеЗначение) Экспорт + Перем ИскомоеЗначениеНайдено; + + ТипПроверяемоегоЗначения = ТипЗнч(ПроверяемоеЗначение); + Если ТипПроверяемоегоЗначения = Тип("Строка") Тогда + ИскомоеЗначениеНайдено = Найти(ПроверяемоеЗначение, ИскомоеЗначение) > 0; + ИначеЕсли ТипПроверяемоегоЗначения = Тип("Массив") Или ТипПроверяемоегоЗначения = Тип("ФиксированныйМассив") Тогда + ИскомоеЗначениеНайдено = ПроверяемоеЗначение.Найти(ИскомоеЗначение) <> Неопределено; + ИначеЕсли ТипПроверяемоегоЗначения = Тип("Структура") Или ТипПроверяемоегоЗначения = Тип("ФиксированнаяСтруктура") + Или ТипПроверяемоегоЗначения = Тип("Соответствие") Или ТипПроверяемоегоЗначения = Тип("ФиксированноеСоответствие") Тогда + Для каждого КлючЗначение Из ПроверяемоеЗначение Цикл + ИскомоеЗначениеНайдено = КлючЗначение.Значение = ИскомоеЗначение; + Если ИскомоеЗначениеНайдено Тогда + Прервать; + КонецЕсли; + КонецЦикла; + ИначеЕсли ТипПроверяемоегоЗначения = Тип("СписокЗначений") Тогда + ИскомоеЗначениеНайдено = ПроверяемоеЗначение.НайтиПоЗначению(ИскомоеЗначение) <> Неопределено; + КонецЕсли; + + Если ИскомоеЗначениеНайдено = Неопределено Тогда + СообщениеОшибки = "Утверждение ""Содержит"" не умеет работать с типом <" + ТипПроверяемоегоЗначения + ">." + ФорматДСО(ДопСообщениеОшибки); + ВызватьИсключение СообщениеОшибки; + КонецЕсли; + + Если Не ЛогическоеВыражениеВерно(ИскомоеЗначениеНайдено) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(ПроверяемоеЗначение, "СОДЕРЖИТ (" + ИскомоеЗначение + ")."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; + + Возврат ЭтотОбъект; +КонецФункции + +Функция ИмеетДлину(Знач ОжидаемаяДлина) Экспорт + Перем ФактическаяДлина; + + ТипПроверяемоегоЗначения = ТипЗнч(ПроверяемоеЗначение); + Если ТипПроверяемоегоЗначения = Тип("Строка") Тогда + ФактическаяДлина = СтрДлина(ПроверяемоеЗначение); + ИначеЕсли ТипПроверяемоегоЗначения = Тип("Массив") Или ТипПроверяемоегоЗначения = Тип("ФиксированныйМассив") + Или ТипПроверяемоегоЗначения = Тип("Структура") Или ТипПроверяемоегоЗначения = Тип("ФиксированнаяСтруктура") + Или ТипПроверяемоегоЗначения = Тип("Соответствие") Или ТипПроверяемоегоЗначения = Тип("ФиксированноеСоответствие") + Или ТипПроверяемоегоЗначения = Тип("СписокЗначений") Тогда + ФактическаяДлина = ПроверяемоеЗначение.Количество(); + КонецЕсли; + + Если ФактическаяДлина = Неопределено Тогда + СообщениеОшибки = "Утверждение ""ИмеетДлину"" не умеет работать с типом <" + ТипПроверяемоегоЗначения + ">." + ФорматДСО(ДопСообщениеОшибки); + ВызватьИсключение СообщениеОшибки; + КонецЕсли; + + Если Не ЛогическоеВыражениеВерно(ФактическаяДлина = ОжидаемаяДлина) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке("<" +ПроверяемоеЗначение + "> с длиной " + ФактическаяДлина, "ИМЕЕТ ДЛИНУ (" + ОжидаемаяДлина + ")."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; + + Возврат ЭтотОбъект; +КонецФункции + +Функция ВыбрасываетИсключение(Знач ФрагментИсключения = "") Экспорт + Контекст = ПроверяемоеЗначение; + СтрокаПараметры = ""; + Если ТипЗнч(ПараметрыМетода) = Тип("Массив") Тогда + Для Сч = 0 По ПараметрыМетода.Количество() - 1 Цикл + СтрокаПараметры = СтрокаПараметры + ",ПараметрыМетода[" + Сч + "]"; + КонецЦикла; + СтрокаПараметры = Сред(СтрокаПараметры, 2); + КонецЕсли; + СтрокаДляВыполнения = "Контекст." + ИмяМетода + "(" + СтрокаПараметры + ")"; + + ИсключениеВозникло = Ложь; + Попытка + Выполнить(СтрокаДляВыполнения); + Исключение + ИсключениеВозникло = Истина; + ТекстИсключения = ОписаниеОшибки(); + КонецПопытки; + + Если Не ЛогическоеВыражениеВерно(ИсключениеВозникло И Найти(ТекстИсключения, ФрагментИсключения) > 0) Тогда + СообщениеОшибки = "Ожидали, что " + СтрокаДляВыполнения + + ?(ФлагОтрицания, " НЕ ", " ") + + "ВЫБРОСИТ ИСКЛЮЧЕНИЕ" + + ?(ЗначениеЗаполнено(ФрагментИсключения), " СОДЕРЖАЩЕЕ ТЕКСТ <" + ФрагментИсключения + ">, а был текст <" + ТекстИсключения + ">.", ""); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; + + Возврат ЭтотОбъект; +КонецФункции + +// { Helpers +Функция ФорматДСО(Знач ДопСообщениеОшибки) + Если ДопСообщениеОшибки = "" Тогда + Возврат ""; + КонецЕсли; + + Возврат Символы.ПС + ДопСообщениеОшибки; +КонецФункции + +Процедура ВызватьОшибкуПроверки(Знач СообщениеОшибки) + Префикс = "["+ СтатусыРезультатаТестирования.ОшибкаПроверки + "]"; + ВызватьИсключение Префикс + " " + СообщениеОшибки; +КонецПроцедуры + +Функция ЛогическоеВыражениеВерно(Знач ЛогическоеВыражение) + Результат = ФлагОтрицания <> ЛогическоеВыражение; + ФлагОтрицанияДляСообщения = ФлагОтрицания; + ФлагОтрицания = Ложь; + + Возврат Результат; +КонецФункции + +Функция СформироватьСообщениеОбОшибке(Знач ПроверяемоеЗначение, Знач Ожидание) + Возврат "Ожидали, что проверяемое значение (" + ПроверяемоеЗначение + ")" + ?(ФлагОтрицанияДляСообщения, " НЕ ", " ") + Ожидание + ФорматДСО(ДопСообщениеОшибки); +КонецФункции +// } Helpers + +СтатусыРезультатаТестирования = Новый Структура; +СтатусыРезультатаТестирования.Вставить("ОшибкаПроверки", "Failed"); +СтатусыРезультатаТестирования.Вставить("НеизвестнаяОшибка", "Broken"); +СтатусыРезультатаТестирования.Вставить("ТестПропущен", "Pending"); +СтатусыРезультатаТестирования = Новый ФиксированнаяСтруктура(СтатусыРезультатаТестирования); diff --git "a/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/maps.txt" "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/maps.txt" new file mode 100644 index 00000000..90373dda --- /dev/null +++ "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/maps.txt" @@ -0,0 +1 @@ +Form\Форма\Форма.txt-->4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 (29, 237) diff --git "a/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/renames.txt" "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/renames.txt" new file mode 100644 index 00000000..31723e1f --- /dev/null +++ "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/renames.txt" @@ -0,0 +1,9 @@ +11c5f751-bfaf-480a-92fe-7f30023f2e9a-->und\11c5f751-bfaf-480a-92fe-7f30023f2e9a +4e8e1a4a-a947-419b-95c8-58a411e3ffa4-->und\4e8e1a4a-a947-419b-95c8-58a411e3ffa4 +4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0-->und\4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 +908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\info-->und\908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\info +908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\text-->ObjectModule.txt +copyinfo-->und\copyinfo +root-->und\root +version-->und\version +versions-->und\versions diff --git "a/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" new file mode 100644 index 00000000..a2d373c7 --- /dev/null +++ "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" @@ -0,0 +1,119 @@ +{1, +{11c5f751-bfaf-480a-92fe-7f30023f2e9a},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,85629dd2-6be4-49c6-9a69-13411102aa57,3fdd55c8-e92e-4f99-8b28-3ba8957b50ab, +{0, +{0, +{0,0,908d0aaf-e4ec-4668-8d14-3e8075d222fd},"УтвержденияBDD", +{1,"ru","Утверждения BDD"},""} +},4e8e1a4a-a947-419b-95c8-58a411e3ffa4,"",00000000-0000-0000-0000-000000000000},4, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, +{3daea016-69b7-4ed4-9453-127911372fe6,0}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,4e8e1a4a-a947-419b-95c8-58a411e3ffa4}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,5, +{ +{0, +{25, +{2, +{0, +{0,0,07e5d7d8-7ae8-4773-83b2-e5af4c8c5895},"ДопСообщениеОшибки", +{1,"ru","Доп сообщение ошибки"},""}, +{"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, +{25, +{2, +{0, +{0,0,28603847-6d5b-4e7b-9acb-8cfe3787dc02},"ИмяМетода", +{1,"ru","Имя метода"},""}, +{"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, +{25, +{2, +{0, +{0,0,c1b88fc0-4904-40fb-ad59-c4f10385f212},"ПараметрыМетода", +{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,9ff3fc84-a67e-44c1-83e8-ba5bd472312b},"ПроверяемоеЗначение", +{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,6f466249-bf6f-4555-92bd-b04d98991255},"ФлагОтрицания", +{1,"ru","Флаг отрицания"},""}, +{"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} +} +} +} +} \ No newline at end of file diff --git "a/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" new file mode 100644 index 00000000..e9f6cd91 --- /dev/null +++ "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" @@ -0,0 +1,10 @@ +{1, +{1, +{0, +{9, +{0, +{0,0,4e8e1a4a-a947-419b-95c8-58a411e3ffa4},"Форма", +{1,"ru","Форма"},""},0,1}, +{0} +} +},0} \ No newline at end of file diff --git "a/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" new file mode 100644 index 00000000..1c17e9a1 --- /dev/null +++ "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" @@ -0,0 +1,275 @@ +{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}, +{0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},0,0,1} +}," +// { Plugin interface +&НаКлиенте +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); +КонецФункции + +&НаСервере +Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); +КонецФункции +// } Plugin interface + +&НаКлиенте +Функция Что(Знач ПроверяемоеЗначениеПараметр, Знач Сообщение = """") Экспорт + ВыполнитьМетодОбъектаНаСервере(""Что"", 2, ПроверяемоеЗначениеПараметр, Сообщение); + + Возврат ЭтаФорма; +КонецФункции + +&НаКлиенте +Функция Не_() Экспорт + ВыполнитьМетодОбъектаНаСервере(""Не_"", 0); + + Возврат ЭтаФорма; +КонецФункции + +&НаКлиенте +Функция ЭтоНе() Экспорт + Возврат Не_(); +КонецФункции + +&НаКлиенте +Функция Метод(Знач ИмяМетода, Знач ПараметрыМетода = Неопределено) Экспорт + ВыполнитьМетодОбъектаНаСервере(""Метод"", 2, ИмяМетода, ПараметрыМетода); + + Возврат ЭтаФорма; +КонецФункции + +&НаКлиенте +Функция ЭтоИстина() Экспорт + ВыполнитьМетодОбъектаНаСервере(""ЭтоИстина"", 0); + + Возврат ЭтаФорма; +КонецФункции + +&НаКлиенте +Функция ЕстьИстина() Экспорт + Возврат ЭтоИстина(); +КонецФункции + +&НаКлиенте +Функция ЭтоЛожь() Экспорт + ВыполнитьМетодОбъектаНаСервере(""ЭтоЛожь"", 0); + + Возврат ЭтаФорма; +КонецФункции + +&НаКлиенте +Функция ЕстьЛожь() Экспорт + Возврат ЭтоЛожь(); +КонецФункции + +&НаКлиенте +Функция Равно(Знач ОжидаемоеЗначение) Экспорт + ВыполнитьМетодОбъектаНаСервере(""Равно"", 1, ОжидаемоеЗначение); + + Возврат ЭтаФорма; +КонецФункции + +&НаКлиенте +Функция Больше(Знач МеньшееЗначение) Экспорт + ВыполнитьМетодОбъектаНаСервере(""Больше"", 1, МеньшееЗначение); + + Возврат ЭтаФорма; +КонецФункции + +&НаКлиенте +Функция БольшеИлиРавно(Знач МеньшееИлиРавноеЗначение) Экспорт + ВыполнитьМетодОбъектаНаСервере(""БольшеИлиРавно"", 1, МеньшееИлиРавноеЗначение); + + Возврат ЭтаФорма; +КонецФункции + +&НаКлиенте +Функция Минимум(Знач МинимальноеЗначение) Экспорт + Возврат БольшеИлиРавно(МинимальноеЗначение); +КонецФункции + +&НаКлиенте +Функция МеньшеИлиРавно(Знач БольшееИлиРавноеЗначение) Экспорт + ВыполнитьМетодОбъектаНаСервере(""МеньшеИлиРавно"", 1, БольшееИлиРавноеЗначение); + + Возврат ЭтаФорма; +КонецФункции + +&НаКлиенте +Функция Максимум(Знач МаксимальноеЗначение) Экспорт + Возврат МеньшеИлиРавно(МаксимальноеЗначение); +КонецФункции + +&НаКлиенте +Функция Меньше(Знач БольшееЗначение) Экспорт + ВыполнитьМетодОбъектаНаСервере(""Меньше"", 1, БольшееЗначение); + + Возврат ЭтаФорма; +КонецФункции + +&НаКлиенте +Функция Заполнено() Экспорт + ВыполнитьМетодОбъектаНаСервере(""Заполнено"", 0); + + Возврат ЭтаФорма; +КонецФункции + +&НаКлиенте +Функция Существует() Экспорт + ВыполнитьМетодОбъектаНаСервере(""Существует"", 0); + + Возврат ЭтаФорма; +КонецФункции + +&НаКлиенте +Функция ЭтоНеопределено() Экспорт + ВыполнитьМетодОбъектаНаСервере(""ЭтоНеопределено"", 0); + + Возврат ЭтаФорма; +КонецФункции + +&НаКлиенте +Функция ЕстьНеопределено() Экспорт + Возврат ЭтоНеопределено(); +КонецФункции + +&НаКлиенте +Функция ЭтоNull() Экспорт + ВыполнитьМетодОбъектаНаСервере(""ЭтоNull"", 0); + + Возврат ЭтаФорма; +КонецФункции + +&НаКлиенте +Функция ЕстьNull() Экспорт + Возврат ЭтоNull(); +КонецФункции + +&НаКлиенте +Функция ИмеетТип(Знач ТипИлиИмяТипа) Экспорт + ВыполнитьМетодОбъектаНаСервере(""ИмеетТип"", 1, ТипИлиИмяТипа); + + Возврат ЭтаФорма; +КонецФункции + +&НаКлиенте +Функция Между(Знач НачальноеЗначение, Знач КонечноеЗначение) Экспорт + ВыполнитьМетодОбъектаНаСервере(""Между"", 2, НачальноеЗначение, КонечноеЗначение); + + Возврат ЭтаФорма; +КонецФункции + +&НаКлиенте +Функция Содержит(Знач ИскомоеЗначение) Экспорт + ВыполнитьМетодОбъектаНаСервере(""Содержит"", 1, ИскомоеЗначение); + + Возврат ЭтаФорма; +КонецФункции + +&НаКлиенте +Функция ИмеетДлину(Знач ОжидаемаяДлина) Экспорт + ВыполнитьМетодОбъектаНаСервере(""ИмеетДлину"", 1, ОжидаемаяДлина); + + Возврат ЭтаФорма; +КонецФункции + +&НаКлиенте +Функция ВыбрасываетИсключение(Знач ФрагментИсключения = """") Экспорт + ВыполнитьМетодОбъектаНаСервере(""ВыбрасываетИсключение"", 1, ФрагментИсключения); + + Возврат ЭтаФорма; +КонецФункции + +// { Helpers +&НаСервере +Процедура ВыполнитьМетодОбъектаНаСервере(Знач ИмяМетода, Знач КоличествоПараметров, Знач Параметр1 = Неопределено, Знач Параметр2 = Неопределено) + ОбъектНаСервере = ЭтотОбъектНаСервере(); + + СтрокаПараметры = """"; + Если КоличествоПараметров = 1 Тогда + СтрокаПараметры = ""Параметр1""; + ИначеЕсли КоличествоПараметров = 2 Тогда + СтрокаПараметры = ""Параметр1, Параметр2""; + КонецЕсли; + + Попытка + Выполнить(""ОбъектНаСервере."" + ИмяМетода + ""("" + СтрокаПараметры + "")""); + Исключение + ОписаниеОшибки = ОписаниеОшибки(); + ВызватьИсключение ""Вызов метода <"" + ИмяМетода +"">: "" + ОписаниеОшибки; + КонецПопытки; + + ЗначениеВРеквизитФормы(ОбъектНаСервере, ""Объект""); +КонецПроцедуры + +&НаСервере +Функция ЭтотОбъектНаСервере() + Возврат РеквизитФормыВЗначение(""Объект""); +КонецФункции +// } Helpers +", +{4,1, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",85629dd2-6be4-49c6-9a69-13411102aa57} +}, +{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 +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,0}, +{0,0}, +{0,0}, +{0,0} +} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/9eb30d94-85ce-4406-a5a1-c2fe00b9550a.0/info" "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/908d0aaf-e4ec-4668-8d14-3e8075d222fd.0/info" similarity index 100% rename from "src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/9eb30d94-85ce-4406-a5a1-c2fe00b9550a.0/info" rename to "src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/908d0aaf-e4ec-4668-8d14-3e8075d222fd.0/info" diff --git "a/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/copyinfo" "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/copyinfo" new file mode 100644 index 00000000..ac8fe6aa --- /dev/null +++ "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/copyinfo" @@ -0,0 +1,16 @@ +{4, +{2, +{4e8e1a4a-a947-419b-95c8-58a411e3ffa4,4e8e1a4a-a947-419b-95c8-58a411e3ffa4,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} +}, +{908d0aaf-e4ec-4668-8d14-3e8075d222fd,908d0aaf-e4ec-4668-8d14-3e8075d222fd,1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"УтвержденияBDD"} +} +}, +{1, +{85629dd2-6be4-49c6-9a69-13411102aa57,908d0aaf-e4ec-4668-8d14-3e8075d222fd,0} +}, +{0}, +{0,0}, +{0} +} \ No newline at end of file diff --git "a/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/root" "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/root" new file mode 100644 index 00000000..fe2f30c4 --- /dev/null +++ "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/root" @@ -0,0 +1 @@ +{2,11c5f751-bfaf-480a-92fe-7f30023f2e9a,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/version" "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/version" similarity index 100% rename from "src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/version" rename to "src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/version" diff --git "a/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/versions" "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/versions" new file mode 100644 index 00000000..619d807b --- /dev/null +++ "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/versions" @@ -0,0 +1 @@ +{1,9,"",ed542c0a-33fe-45f8-8256-cd7cd33589a6,"versions",bd97ff49-bee9-405e-b19d-db31939775bb,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4",54f1680e-a95f-4174-a6f1-d007d90b31a6,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0",981da0fc-858a-407d-9de5-523c9903770d,"root",ae6db17a-ed32-4b59-9333-4f533537d64f,"908d0aaf-e4ec-4668-8d14-3e8075d222fd.0",25b8a6c9-f5a4-4e16-89df-13515077ece3,"11c5f751-bfaf-480a-92fe-7f30023f2e9a",ac7150ca-bdc6-4a3d-be3a-c49645d1f35c,"version",425178a6-fd69-41b2-8576-f2b59d5a799c,"copyinfo",ca7d1d10-7a2d-4666-b004-d953e2d1d2c4} \ No newline at end of file diff --git "a/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" new file mode 100644 index 00000000..45b386e4 --- /dev/null +++ "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" @@ -0,0 +1 @@ + // { Plugin interface &НаКлиенте Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); КонецФункции // } Plugin interface // { Helpers &НаСервере Функция ЭтотОбъектНаСервере() Возврат РеквизитФормыВЗначение("Объект"); КонецФункции // } Helpers &НаКлиенте Процедура ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки = Ложь, УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки = Ложь, Знач ДопСообщениеОшибки = "") Экспорт ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениямСервер(ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки, УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки, ДопСообщениеОшибки); КонецПроцедуры &НаСервере Процедура ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениямСервер(ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки = Ложь, УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки = Ложь, Знач ДопСообщениеОшибки = "") Экспорт ЭтотОбъектНаСервере().ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки, УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки, ДопСообщениеОшибки); КонецПроцедуры \ No newline at end of file diff --git "a/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/ObjectModule.txt" "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/ObjectModule.txt" new file mode 100644 index 00000000..a7fba43b --- /dev/null +++ "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/ObjectModule.txt" @@ -0,0 +1,219 @@ + +// { Plugin interface +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Результат = Новый Структура; + Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); + Результат.Вставить("Идентификатор", Метаданные().Имя); + Результат.Вставить("Представление", "УтвержденияПроверкаТаблиц"); + + Возврат Новый ФиксированнаяСтруктура(Результат); +КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт +КонецПроцедуры +// } Plugin interface + +Процедура ПроверитьРавенствоТаблиц(Таб1, Таб2, ДопСообщениеОшибки = "") Экспорт + + Если ТипЗнч(Таб1) <> Тип("ТаблицаЗначений") Тогда + ВызватьИсключение "ПроверитьРавенствоТаблиц: Первый параметр-таблица таблицей не является"; + КонецЕсли; + Если ТипЗнч(Таб1) <> Тип("ТаблицаЗначений") Тогда + ВызватьИсключение "ПроверитьРавенствоТаблиц: Второй параметр-таблица таблицей не является"; + КонецЕсли; + + Различия = Новый ТаблицаЗначений; + РезультатСравнения = СравнитьТаблицы(Таб1, Таб2, Различия); + + Если РезультатыСравненияТаблиц.ТаблицыСовпадают <> РезультатСравнения Тогда + + ИменаРезультатов = Новый Соответствие; + Для Каждого КлючЗначение Из РезультатыСравненияТаблиц Цикл + ИменаРезультатов.Вставить(КлючЗначение.Значение, КлючЗначение.Ключ); + КонецЦикла; + СтрокаОшибок = "Различия в таблицах:" + Символы.ПС; + СтрокаОшибок = СтрокаОшибок + "Ожидали статус <" + ИменаРезультатов[РезультатыСравненияТаблиц.ТаблицыСовпадают] + ">, а получили <" + ИменаРезультатов[РезультатСравнения] + ">" + Символы.ПС; + Для Каждого Строка Из Различия Цикл + СтрокаОшибок = СтрокаОшибок + "Значение [" + Строка.Колонка + ":" + Строка.Строка + "]. Ожидали <" + Строка.Ожидание + ">, а получили <" + Строка.Результат + ">" + Символы.ПС; + КонецЦикла; + + ВызватьОшибкуПроверки("Таблицы должны совпадать, а они различны" + Символы.ПС + СтрокаОшибок + Символы.ПС + ДопСообщениеОшибки); + + КонецЕсли; + +КонецПроцедуры + +Процедура ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки = Ложь, УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки = Ложь, Знач ДопСообщениеОшибки = "") Экспорт + + Если ТипЗнч(ТабДок1) <> Тип("ТабличныйДокумент") Тогда + ВызватьИсключение "ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям: Первый параметр-таблица не является табличным документов"; + КонецЕсли; + Если ТипЗнч(ТабДок2) <> Тип("ТабличныйДокумент") Тогда + ВызватьИсключение "ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям: Второй параметр-таблица не является табличным документов"; + КонецЕсли; + + УчитыватьТолькоВидимыеКолонки = Ложь; + Если ТипЗнч(УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки) = Тип("Булево") Тогда + УчитыватьТолькоВидимыеКолонки = УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки; + ИначеЕсли ТипЗнч(УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки) = Тип("Строка") Тогда + ДопСообщениеОшибки = УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки; + КонецЕсли; + УчитыватьТолькоВидимыеСтроки = Ложь; + Если ТипЗнч(УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки) = Тип("Булево") Тогда + УчитыватьТолькоВидимыеСтроки = УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки; + ИначеЕсли ТипЗнч(УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки) = Тип("Строка") Тогда + ДопСообщениеОшибки = УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки; + КонецЕсли; + + Таб1 = ПолучитьТаблицуЗначенийИзТабличногоДокумента(ТабДок1, УчитыватьТолькоВидимыеКолонки, УчитыватьТолькоВидимыеСтроки); + Таб2 = ПолучитьТаблицуЗначенийИзТабличногоДокумента(ТабДок2, УчитыватьТолькоВидимыеКолонки, УчитыватьТолькоВидимыеСтроки); + + ПроверитьРавенствоТаблиц(Таб1, Таб2, ДопСообщениеОшибки); + +КонецПроцедуры + +// портирован из Functest +Функция ПолучитьТаблицуЗначенийИзТабличногоДокумента(ТабличныйДокумент, УчитыватьТолькоВидимыеКолонки = Ложь, УчитыватьТолькоВидимыеСтроки = Ложь) Экспорт + + ТипТабличногоДокумента = ТипЗнч(ТабличныйДокумент); + Если ТипТабличногоДокумента <> Тип("ТабличныйДокумент") И ТипТабличногоДокумента <> Тип("ПолеТабличногоДокумента") Тогда + ВызватьИсключение "ПолучитьТаблицуЗначенийИзТабличногоДокумента: Требуется тип ТабличныйДокумент или ПолеТабличногоДокумента"; + КонецЕсли; + + НомерПоследнейКолонки = ТабличныйДокумент.ШиринаТаблицы; + НомерПоследнейСтроки = ТабличныйДокумент.ВысотаТаблицы; + + НоваяТаблицаЗначений = Новый ТаблицаЗначений; + Колонки = НоваяТаблицаЗначений.Колонки; + ТипСтрока = Новый ОписаниеТипов("Строка"); + + // TODO При определении видимости не учитывается наличие нескольких форматов строк, сейчас видимоcть колонки определяется по формату первой строки + УчитываемыеКолонки = Новый Массив; + Для НомерКолонки = 1 По НомерПоследнейКолонки Цикл + ОбластьКолонки = ТабличныйДокумент.Область(0, НомерКолонки, 1, НомерКолонки); + + УчитыватьКолонку = Не УчитыватьТолькоВидимыеКолонки Или ОбластьКолонки.Видимость; + Если УчитыватьКолонку Тогда + УчитываемыеКолонки.Добавить(НомерКолонки); + ШиринаКолонки = ОбластьКолонки.ШиринаКолонки; + Если ШиринаКолонки <= 1 Тогда + ШиринаКолонки = 1; + КонецЕсли; + ИмяКолонки = "К" + Формат(Колонки.Количество() + 1, "ЧН=; ЧГ=0"); + Колонки.Добавить(ИмяКолонки, ТипСтрока, ИмяКолонки, ШиринаКолонки); + КонецЕсли; + КонецЦикла; + + ГраницаКолонок = УчитываемыеКолонки.ВГраница(); + Для НомерСтроки = 1 По НомерПоследнейСтроки Цикл + + Если УчитыватьТолькоВидимыеСтроки И Не ТабличныйДокумент.Область(НомерСтроки,, НомерСтроки).Видимость Тогда + Продолжить; + КонецЕсли; + + НоваяСтрока = НоваяТаблицаЗначений.Добавить(); + + Для Индекс = 0 По ГраницаКолонок Цикл + НомерКолонки = УчитываемыеКолонки[Индекс]; + Область = ТабличныйДокумент.Область(НомерСтроки, НомерКолонки, НомерСтроки, НомерКолонки); + НоваяСтрока[Индекс] = Область.Текст; + КонецЦикла; + КонецЦикла; + + Возврат НоваяТаблицаЗначений; + +КонецФункции + +// портирован из Functest +Функция СравнитьТаблицы(ТаблицаОжиданий, ТаблицаРезультатов, ТаблицаРазличий) + + Если ТаблицаОжиданий.Количество() <> ТаблицаРезультатов.Количество() Тогда + Возврат РезультатыСравненияТаблиц.РазноеКоличествоСтрок; + КонецЕсли; + + Если ТаблицаОжиданий.Количество() = 0 Тогда + Возврат РезультатыСравненияТаблиц.ТаблицыСовпадают; //Пустые таблицы всегда одинаковы + КонецЕсли; + + //Проверим структуру колонок + + //TODO При этом сравнении в структуре ТаблицаРезультатов может оказаться больше колонок, чем в ТаблицаОжиданий, + // так что для абсолютного точного сравнения нужно добавить проверку совпадения количества колонок. + ОжидаемыеКолонки = ТаблицаОжиданий.Колонки; + КолонкиРезультата = ТаблицаРезультатов.Колонки; + Для Каждого Колонка Из ОжидаемыеКолонки Цикл + Если КолонкиРезультата.Найти(Колонка.Имя) = Неопределено Тогда + Возврат РезультатыСравненияТаблиц.РазличаютсяКолонки; + КонецЕсли; + КонецЦикла; + + Возврат СравнитьЗначенияТаблиц(ТаблицаОжиданий, ТаблицаРезультатов, ТаблицаРазличий); + +КонецФункции + +// портирован из Functest +Функция СравнитьЗначенияТаблиц(ТаблицаОжиданий, ТаблицаРезультатов, Различия) + + Различия = Новый ТаблицаЗначений; + Различия.Колонки.Очистить(); + Различия.Колонки.Добавить("Строка",Новый ОписаниеТипов("Число")); + Различия.Колонки.Добавить("Колонка",Новый ОписаниеТипов("Строка")); + Различия.Колонки.Добавить("Ожидание"); + Различия.Колонки.Добавить("Результат"); + + РезультатСравнения = РезультатыСравненияТаблиц.ТаблицыСовпадают; + + Колонки = ТаблицаОжиданий.Колонки; + ГраницаСтрок = ТаблицаОжиданий.Количество() - 1; + Для Индекс = 0 По ГраницаСтрок Цикл + + ОжидаемаяСтрока = ТаблицаОжиданий[Индекс]; + СтрокаРезультата = ТаблицаРезультатов[Индекс]; + + Для Каждого Колонка Из Колонки Цикл + ИмяКолонки = Колонка.Имя; + + ОжидаемоеЗначение = ОжидаемаяСтрока[ИмяКолонки]; + ЗначениеРезультата = СтрокаРезультата[ИмяКолонки]; + Если ОжидаемоеЗначение = ЗначениеРезультата + Или (Не ЗначениеЗаполнено(ОжидаемоеЗначение) И Не ЗначениеЗаполнено(ЗначениеРезультата)) Тогда //Пустые значения разных типов 1С-м не считаются равными :( + Продолжить; + КонецЕсли; + + Различие = Различия.Добавить(); + Различие.Строка = Индекс + 1; + Различие.Колонка = ИмяКолонки; + Различие.Ожидание = ОжидаемоеЗначение; + Различие.Результат = ЗначениеРезультата; + РезультатСравнения = РезультатыСравненияТаблиц.НеСовпадаютЗначенияВЯчейкеТаблицы; + + КонецЦикла; + + КонецЦикла; + + Возврат РезультатСравнения; + +КонецФункции + +Процедура ВызватьОшибкуПроверки(СообщениеОшибки = "") + + Префикс = "["+ СтатусыРезультатаТестирования().ОшибкаПроверки + "]"; + ВызватьИсключение Префикс + " " + СообщениеОшибки; + +КонецПроцедуры + +Функция СтатусыРезультатаТестирования() + СтатусыРезультатаТестирования = Новый Структура; + СтатусыРезультатаТестирования.Вставить("ОшибкаПроверки", "Failed"); + СтатусыРезультатаТестирования.Вставить("НеизвестнаяОшибка", "Broken"); + СтатусыРезультатаТестирования.Вставить("ТестПропущен", "Pending"); + + Возврат Новый ФиксированнаяСтруктура(СтатусыРезультатаТестирования); +КонецФункции + +РезультатыСравненияТаблиц = Новый Структура; +РезультатыСравненияТаблиц.Вставить("ТаблицыСовпадают", 0); +РезультатыСравненияТаблиц.Вставить("НеСовпадаютЗначенияВЯчейкеТаблицы", 1); +РезультатыСравненияТаблиц.Вставить("РазноеКоличествоСтрок", 2); +РезультатыСравненияТаблиц.Вставить("РазличаютсяКолонки", 3); +РезультатыСравненияТаблиц = Новый ФиксированнаяСтруктура(РезультатыСравненияТаблиц); diff --git "a/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/maps.txt" "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/maps.txt" new file mode 100644 index 00000000..b05fa086 --- /dev/null +++ "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/maps.txt" @@ -0,0 +1 @@ +Form\Форма\Форма.txt-->d75f146d-5027-4604-80fd-3b704ddd86a8.0 (29, 59) diff --git "a/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/renames.txt" "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/renames.txt" new file mode 100644 index 00000000..3c0c8e26 --- /dev/null +++ "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/renames.txt" @@ -0,0 +1,9 @@ +51efd65a-ed36-4be7-a563-89b34ebfa851-->und\51efd65a-ed36-4be7-a563-89b34ebfa851 +copyinfo-->und\copyinfo +d75f146d-5027-4604-80fd-3b704ddd86a8-->und\d75f146d-5027-4604-80fd-3b704ddd86a8 +d75f146d-5027-4604-80fd-3b704ddd86a8.0-->und\d75f146d-5027-4604-80fd-3b704ddd86a8.0 +dfe532e1-d0ef-4008-afd4-214781ee4960.0\info-->und\dfe532e1-d0ef-4008-afd4-214781ee4960.0\info +dfe532e1-d0ef-4008-afd4-214781ee4960.0\text-->ObjectModule.txt +root-->und\root +version-->und\version +versions-->und\versions diff --git "a/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/und/51efd65a-ed36-4be7-a563-89b34ebfa851" "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/und/51efd65a-ed36-4be7-a563-89b34ebfa851" new file mode 100644 index 00000000..123a86e6 --- /dev/null +++ "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/und/51efd65a-ed36-4be7-a563-89b34ebfa851" @@ -0,0 +1,37 @@ +{1, +{51efd65a-ed36-4be7-a563-89b34ebfa851},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,5cce5f28-d8c9-48d6-9f87-928be46d5662,0f2fb654-1692-41fa-b66f-583222be369f, +{0, +{0, +{0,0,dfe532e1-d0ef-4008-afd4-214781ee4960},"УтвержденияПроверкаТаблиц", +{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}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,d75f146d-5027-4604-80fd-3b704ddd86a8}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,1, +{ +{0, +{25, +{2, +{0, +{0,0,ad181316-2133-48c3-b5f6-1013af2d4e5d},"РезультатыСравненияТаблиц", +{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} +} +} +} +} \ No newline at end of file diff --git "a/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/und/copyinfo" "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/und/copyinfo" new file mode 100644 index 00000000..a8b52ae2 --- /dev/null +++ "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/und/copyinfo" @@ -0,0 +1,16 @@ +{4, +{2, +{d75f146d-5027-4604-80fd-3b704ddd86a8,d75f146d-5027-4604-80fd-3b704ddd86a8,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} +}, +{dfe532e1-d0ef-4008-afd4-214781ee4960,dfe532e1-d0ef-4008-afd4-214781ee4960,1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"УтвержденияПроверкаТаблиц"} +} +}, +{1, +{5cce5f28-d8c9-48d6-9f87-928be46d5662,dfe532e1-d0ef-4008-afd4-214781ee4960,0} +}, +{0}, +{0,0}, +{0} +} \ No newline at end of file diff --git "a/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/und/d75f146d-5027-4604-80fd-3b704ddd86a8" "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/und/d75f146d-5027-4604-80fd-3b704ddd86a8" new file mode 100644 index 00000000..ad3be4ea --- /dev/null +++ "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/und/d75f146d-5027-4604-80fd-3b704ddd86a8" @@ -0,0 +1,10 @@ +{1, +{1, +{0, +{9, +{0, +{0,0,d75f146d-5027-4604-80fd-3b704ddd86a8},"Форма", +{1,"ru","Форма"},""},0,1}, +{0} +} +},0} \ No newline at end of file diff --git "a/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/und/d75f146d-5027-4604-80fd-3b704ddd86a8.0" "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/und/d75f146d-5027-4604-80fd-3b704ddd86a8.0" new file mode 100644 index 00000000..042a0eb4 --- /dev/null +++ "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/und/d75f146d-5027-4604-80fd-3b704ddd86a8.0" @@ -0,0 +1,97 @@ +{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}, +{0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},0,0,1} +}," +// { Plugin interface +&НаКлиенте +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); +КонецФункции + +&НаСервере +Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); +КонецФункции +// } Plugin interface + +// { Helpers +&НаСервере +Функция ЭтотОбъектНаСервере() + Возврат РеквизитФормыВЗначение(""Объект""); +КонецФункции +// } Helpers + + +&НаКлиенте +Процедура ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки = Ложь, УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки = Ложь, Знач ДопСообщениеОшибки = """") Экспорт + ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениямСервер(ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки, УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки, ДопСообщениеОшибки); +КонецПроцедуры + +&НаСервере +Процедура ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениямСервер(ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки = Ложь, УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки = Ложь, Знач ДопСообщениеОшибки = """") Экспорт + ЭтотОбъектНаСервере().ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки, УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки, ДопСообщениеОшибки); +КонецПроцедуры +", +{4,1, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",5cce5f28-d8c9-48d6-9f87-928be46d5662} +}, +{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 +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,0}, +{0,0}, +{0,0}, +{0,0} +} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/df099fc3-03ed-44c9-a8dd-e95a1e8978ff.0/info" "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/und/dfe532e1-d0ef-4008-afd4-214781ee4960.0/info" similarity index 100% rename from "src/Tests/CommonApp/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/df099fc3-03ed-44c9-a8dd-e95a1e8978ff.0/info" rename to "src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/und/dfe532e1-d0ef-4008-afd4-214781ee4960.0/info" diff --git "a/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/und/root" "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/und/root" new file mode 100644 index 00000000..ae0e1471 --- /dev/null +++ "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/und/root" @@ -0,0 +1 @@ +{2,51efd65a-ed36-4be7-a563-89b34ebfa851,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/version" "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/und/version" similarity index 100% rename from "src/Tests/CommonApp/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/version" rename to "src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/und/version" diff --git "a/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/und/versions" "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/und/versions" new file mode 100644 index 00000000..ec86d0e4 --- /dev/null +++ "b/src/Plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/und/versions" @@ -0,0 +1 @@ +{1,9,"",ba5adc90-1877-4a76-8eeb-4c41c1a6560b,"versions",ac83934a-c9ba-487a-9fa8-37ab59e06f3f,"root",cd1c9c4c-c8f9-4c5a-92f1-2f5d02fe941b,"51efd65a-ed36-4be7-a563-89b34ebfa851",6639a96e-9102-4aac-b8bc-7c5131758a14,"dfe532e1-d0ef-4008-afd4-214781ee4960.0",938aa12f-7b52-49a4-91f1-337acc4109a7,"version",cef2dc73-a60a-462e-9527-276664cb9abb,"d75f146d-5027-4604-80fd-3b704ddd86a8",b5a02514-8b1b-4a7c-9a39-c80e0e826a94,"copyinfo",224a37ca-240f-489a-a2b1-7c7fcbec7265,"d75f146d-5027-4604-80fd-3b704ddd86a8.0",51b406f4-0fd6-4757-93e6-9b4a28a7bf7e} \ No newline at end of file diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" new file mode 100644 index 00000000..cd3ec4b6 --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" @@ -0,0 +1 @@ + // { Plugin interface &НаКлиенте Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); КонецФункции // } Plugin interface // { Report generator interface &НаКлиенте Функция СоздатьОтчет(КонтекстЯдра, РезультатТестирования) Экспорт Объект.ТипыУзловДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов").Объект.ТипыУзловДереваТестов; Объект.СостоянияТестов = КонтекстЯдра.Объект.СостоянияТестов; ВызватьИсключение "Метод не реализован"; КонецФункции &НаКлиенте Процедура Показать(Отчет) Экспорт ВызватьИсключение "Метод не реализован"; КонецПроцедуры &НаКлиенте Процедура Экспортировать(Отчет, ПолныйПутьФайла) Экспорт ВызватьИсключение "Метод не реализован"; КонецПроцедуры // } Report generator interface // { Helpers &НаСервере Функция ЭтотОбъектНаСервере() Возврат РеквизитФормыВЗначение("Объект"); КонецФункции // } Helpers \ No newline at end of file diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/ObjectModule.txt" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/ObjectModule.txt" new file mode 100644 index 00000000..33630868 --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/ObjectModule.txt" @@ -0,0 +1,33 @@ + +// { Plugin interface +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Результат = Новый Структура; + Результат.Вставить("Тип", ВозможныеТипыПлагинов.ГенераторОтчета); + Результат.Вставить("Идентификатор", Метаданные().Имя); + Результат.Вставить("Представление", ""); + ВызватьИсключение "Необходимо указать представление"; + + Возврат Новый ФиксированнаяСтруктура(Результат); +КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт +КонецПроцедуры +// } Plugin interface + +// { Report generator interface +Функция СоздатьОтчет(КонтекстЯдра, РезультатыТестирования) Экспорт + ЭтотОбъект.ТипыУзловДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов").ТипыУзловДереваТестов; + ЭтотОбъект.СостоянияТестов = КонтекстЯдра.СостоянияТестов; + ВызватьИсключение "Метод не реализован"; +КонецФункции + +#Если ТолстыйКлиентОбычноеПриложение Тогда +Процедура Показать(Отчет) Экспорт + ВызватьИсключение "Метод не реализован"; +КонецПроцедуры +#КонецЕсли + +Процедура Экспортировать(Отчет, ПолныйПутьФайла) Экспорт + ВызватьИсключение "Метод не реализован"; +КонецПроцедуры +// } Report generator interface diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/maps.txt" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/maps.txt" new file mode 100644 index 00000000..26342bfa --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/maps.txt" @@ -0,0 +1 @@ +Form\Форма\Форма.txt-->4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 (29, 67) diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/renames.txt" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/renames.txt" new file mode 100644 index 00000000..31723e1f --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/renames.txt" @@ -0,0 +1,9 @@ +11c5f751-bfaf-480a-92fe-7f30023f2e9a-->und\11c5f751-bfaf-480a-92fe-7f30023f2e9a +4e8e1a4a-a947-419b-95c8-58a411e3ffa4-->und\4e8e1a4a-a947-419b-95c8-58a411e3ffa4 +4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0-->und\4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 +908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\info-->und\908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\info +908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\text-->ObjectModule.txt +copyinfo-->und\copyinfo +root-->und\root +version-->und\version +versions-->und\versions diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" new file mode 100644 index 00000000..e2865304 --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" @@ -0,0 +1,56 @@ +{1, +{11c5f751-bfaf-480a-92fe-7f30023f2e9a},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,85629dd2-6be4-49c6-9a69-13411102aa57,3fdd55c8-e92e-4f99-8b28-3ba8957b50ab, +{0, +{0, +{0,0,908d0aaf-e4ec-4668-8d14-3e8075d222fd},"ШаблонГенератораОтчета", +{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}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,4e8e1a4a-a947-419b-95c8-58a411e3ffa4}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,2, +{ +{0, +{25, +{2, +{0, +{0,0,b7f71bb8-94f2-46e2-96b7-ba71175a3f41},"СостоянияТестов", +{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,eec25991-4d8f-4557-9bb0-26bc905e962d},"ТипыУзловДереваТестов", +{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} +} +} +} +} \ No newline at end of file diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" new file mode 100644 index 00000000..e9f6cd91 --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" @@ -0,0 +1,10 @@ +{1, +{1, +{0, +{9, +{0, +{0,0,4e8e1a4a-a947-419b-95c8-58a411e3ffa4},"Форма", +{1,"ru","Форма"},""},0,1}, +{0} +} +},0} \ No newline at end of file diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" new file mode 100644 index 00000000..1b3fa063 --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" @@ -0,0 +1,105 @@ +{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}, +{0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},0,0,1} +}," +// { Plugin interface +&НаКлиенте +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); +КонецФункции + +&НаСервере +Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); +КонецФункции +// } Plugin interface + +// { Report generator interface +&НаКлиенте +Функция СоздатьОтчет(КонтекстЯдра, РезультатТестирования) Экспорт + Объект.ТипыУзловДереваТестов = КонтекстЯдра.Плагин(""ПостроительДереваТестов"").Объект.ТипыУзловДереваТестов; + Объект.СостоянияТестов = КонтекстЯдра.Объект.СостоянияТестов; + ВызватьИсключение ""Метод не реализован""; +КонецФункции + +&НаКлиенте +Процедура Показать(Отчет) Экспорт + ВызватьИсключение ""Метод не реализован""; +КонецПроцедуры + +&НаКлиенте +Процедура Экспортировать(Отчет, ПолныйПутьФайла) Экспорт + ВызватьИсключение ""Метод не реализован""; +КонецПроцедуры +// } Report generator interface + +// { Helpers +&НаСервере +Функция ЭтотОбъектНаСервере() + Возврат РеквизитФормыВЗначение(""Объект""); +КонецФункции +// } Helpers +", +{4,1, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",85629dd2-6be4-49c6-9a69-13411102aa57} +}, +{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 +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,0}, +{0,0}, +{0,0}, +{0,0} +} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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/df099fc3-03ed-44c9-a8dd-e95a1e8978ff.0/info" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/und/908d0aaf-e4ec-4668-8d14-3e8075d222fd.0/info" similarity index 100% rename from "src/Tests/CommonApp/\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/df099fc3-03ed-44c9-a8dd-e95a1e8978ff.0/info" rename to "src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/und/908d0aaf-e4ec-4668-8d14-3e8075d222fd.0/info" diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/und/copyinfo" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/und/copyinfo" new file mode 100644 index 00000000..6d171c7b --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/und/copyinfo" @@ -0,0 +1,16 @@ +{4, +{2, +{4e8e1a4a-a947-419b-95c8-58a411e3ffa4,4e8e1a4a-a947-419b-95c8-58a411e3ffa4,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} +}, +{908d0aaf-e4ec-4668-8d14-3e8075d222fd,908d0aaf-e4ec-4668-8d14-3e8075d222fd,1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ШаблонГенератораОтчета"} +} +}, +{1, +{85629dd2-6be4-49c6-9a69-13411102aa57,908d0aaf-e4ec-4668-8d14-3e8075d222fd,0} +}, +{0}, +{0,0}, +{0} +} \ No newline at end of file diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/und/root" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/und/root" new file mode 100644 index 00000000..fe2f30c4 --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/und/root" @@ -0,0 +1 @@ +{2,11c5f751-bfaf-480a-92fe-7f30023f2e9a,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/und/version" similarity index 100% rename from "src/Tests/CommonApp/\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" rename to "src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/und/version" diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/und/versions" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/und/versions" new file mode 100644 index 00000000..1293085b --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/und/versions" @@ -0,0 +1 @@ +{1,9,"",1eea285e-aa3e-43c2-9fec-46904b9a8205,"versions",94a66376-f79d-42d2-9488-ec57e9b4f724,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4",2151e3a6-0a99-4b4a-b0c0-0ab59a2c4f36,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0",48240199-0e47-4e68-92e2-fc64d7595001,"root",750d6f29-d561-4c06-9802-0afa9bb5eae0,"908d0aaf-e4ec-4668-8d14-3e8075d222fd.0",608f7bae-6330-4868-b2ce-7f9ec0764d6f,"11c5f751-bfaf-480a-92fe-7f30023f2e9a",eb5fa566-f6cf-4d32-9136-f8df0e8eee22,"version",3a116440-35fc-48e0-8fa7-1fdf65566207,"copyinfo",d8046f70-50b6-4c46-a08e-e4f61d291d27} \ No newline at end of file diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" new file mode 100644 index 00000000..dddb317a --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" @@ -0,0 +1 @@ + // { Plugin interface &НаКлиенте Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); КонецФункции // } Plugin interface // { Loader interface &НаКлиенте Функция ВыбратьПутьИнтерактивно(ТекущийПуть = "") Экспорт Перем ВыбранныйПуть; ВызватьИсключение "Метод не реализован"; Возврат ВыбранныйПуть; КонецФункции &НаКлиенте Функция Загрузить(КонтекстЯдра, Путь) Экспорт Перем ДеревоТестов; ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); ИконкиУзловДереваТестов = ПостроительДереваТестов.Объект.ИконкиУзловДереваТестов; ВызватьИсключение "Метод не реализован"; Возврат ДеревоТестов; КонецФункции &НаКлиенте Функция ПолучитьКонтекстПоПути(КонтекстЯдра, Путь) Экспорт Перем Контекст; ВызватьИсключение "Метод не реализован"; Возврат Контекст; КонецФункции // } Loader interface // { Helpers &НаСервере Функция ЭтотОбъектНаСервере() Возврат РеквизитФормыВЗначение("Объект"); КонецФункции // } Helpers \ No newline at end of file diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/ObjectModule.txt" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/ObjectModule.txt" new file mode 100644 index 00000000..e961479c --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/ObjectModule.txt" @@ -0,0 +1,46 @@ + +// { Plugin interface +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Результат = Новый Структура; + Результат.Вставить("Тип", ВозможныеТипыПлагинов.Загрузчик); + Результат.Вставить("Идентификатор", Метаданные().Имя); + Результат.Вставить("Представление", ""); + ВызватьИсключение "Необходимо указать представление"; + + Возврат Новый ФиксированнаяСтруктура(Результат); +КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт +КонецПроцедуры +// } Plugin interface + +// { Loader interface +#Если ТолстыйКлиентОбычноеПриложение Тогда +Функция ВыбратьПутьИнтерактивно(ТекущийПуть = "") Экспорт + Перем ВыбранныйПуть; + + ВызватьИсключение "Метод не реализован"; + + Возврат ВыбранныйПуть; +КонецФункции +#КонецЕсли + +Функция Загрузить(КонтекстЯдра, Путь) Экспорт + Перем ДеревоТестов; + + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + ИконкиУзловДереваТестов = ПостроительДереваТестов.ИконкиУзловДереваТестов; + + ВызватьИсключение "Метод не реализован"; + + Возврат ДеревоТестов; +КонецФункции + +Функция ПолучитьКонтекстПоПути(КонтекстЯдра, Путь) Экспорт + Перем Контекст; + + ВызватьИсключение "Метод не реализован"; + + Возврат Контекст; +КонецФункции +// } Loader interface diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/maps.txt" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/maps.txt" new file mode 100644 index 00000000..214f49a6 --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/maps.txt" @@ -0,0 +1 @@ +Form\Форма\Форма.txt-->d75f146d-5027-4604-80fd-3b704ddd86a8.0 (29, 80) diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/renames.txt" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/renames.txt" new file mode 100644 index 00000000..3c0c8e26 --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/renames.txt" @@ -0,0 +1,9 @@ +51efd65a-ed36-4be7-a563-89b34ebfa851-->und\51efd65a-ed36-4be7-a563-89b34ebfa851 +copyinfo-->und\copyinfo +d75f146d-5027-4604-80fd-3b704ddd86a8-->und\d75f146d-5027-4604-80fd-3b704ddd86a8 +d75f146d-5027-4604-80fd-3b704ddd86a8.0-->und\d75f146d-5027-4604-80fd-3b704ddd86a8.0 +dfe532e1-d0ef-4008-afd4-214781ee4960.0\info-->und\dfe532e1-d0ef-4008-afd4-214781ee4960.0\info +dfe532e1-d0ef-4008-afd4-214781ee4960.0\text-->ObjectModule.txt +root-->und\root +version-->und\version +versions-->und\versions diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/und/51efd65a-ed36-4be7-a563-89b34ebfa851" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/und/51efd65a-ed36-4be7-a563-89b34ebfa851" new file mode 100644 index 00000000..c02149ae --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/und/51efd65a-ed36-4be7-a563-89b34ebfa851" @@ -0,0 +1,17 @@ +{1, +{51efd65a-ed36-4be7-a563-89b34ebfa851},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,5cce5f28-d8c9-48d6-9f87-928be46d5662,0f2fb654-1692-41fa-b66f-583222be369f, +{0, +{0, +{0,0,dfe532e1-d0ef-4008-afd4-214781ee4960},"ШаблонЗагрузчика", +{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}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,d75f146d-5027-4604-80fd-3b704ddd86a8}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} +} +} +} \ No newline at end of file diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/und/copyinfo" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/und/copyinfo" new file mode 100644 index 00000000..7c7461d4 --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/und/copyinfo" @@ -0,0 +1,16 @@ +{4, +{2, +{d75f146d-5027-4604-80fd-3b704ddd86a8,d75f146d-5027-4604-80fd-3b704ddd86a8,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} +}, +{dfe532e1-d0ef-4008-afd4-214781ee4960,dfe532e1-d0ef-4008-afd4-214781ee4960,1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ШаблонЗагрузчика"} +} +}, +{1, +{5cce5f28-d8c9-48d6-9f87-928be46d5662,dfe532e1-d0ef-4008-afd4-214781ee4960,0} +}, +{0}, +{0,0}, +{0} +} \ No newline at end of file diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/und/d75f146d-5027-4604-80fd-3b704ddd86a8" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/und/d75f146d-5027-4604-80fd-3b704ddd86a8" new file mode 100644 index 00000000..ad3be4ea --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/und/d75f146d-5027-4604-80fd-3b704ddd86a8" @@ -0,0 +1,10 @@ +{1, +{1, +{0, +{9, +{0, +{0,0,d75f146d-5027-4604-80fd-3b704ddd86a8},"Форма", +{1,"ru","Форма"},""},0,1}, +{0} +} +},0} \ No newline at end of file diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/und/d75f146d-5027-4604-80fd-3b704ddd86a8.0" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/und/d75f146d-5027-4604-80fd-3b704ddd86a8.0" new file mode 100644 index 00000000..b6a6a45b --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/und/d75f146d-5027-4604-80fd-3b704ddd86a8.0" @@ -0,0 +1,118 @@ +{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}, +{0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},0,0,1} +}," +// { Plugin interface +&НаКлиенте +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); +КонецФункции + +&НаСервере +Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); +КонецФункции +// } Plugin interface + +// { Loader interface +&НаКлиенте +Функция ВыбратьПутьИнтерактивно(ТекущийПуть = """") Экспорт + Перем ВыбранныйПуть; + + ВызватьИсключение ""Метод не реализован""; + + Возврат ВыбранныйПуть; +КонецФункции + +&НаКлиенте +Функция Загрузить(КонтекстЯдра, Путь) Экспорт + Перем ДеревоТестов; + + ПостроительДереваТестов = КонтекстЯдра.Плагин(""ПостроительДереваТестов""); + ИконкиУзловДереваТестов = ПостроительДереваТестов.Объект.ИконкиУзловДереваТестов; + + ВызватьИсключение ""Метод не реализован""; + + Возврат ДеревоТестов; +КонецФункции + +&НаКлиенте +Функция ПолучитьКонтекстПоПути(КонтекстЯдра, Путь) Экспорт + Перем Контекст; + + ВызватьИсключение ""Метод не реализован""; + + Возврат Контекст; +КонецФункции +// } Loader interface + +// { Helpers +&НаСервере +Функция ЭтотОбъектНаСервере() + Возврат РеквизитФормыВЗначение(""Объект""); +КонецФункции +// } Helpers +", +{4,1, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",5cce5f28-d8c9-48d6-9f87-928be46d5662} +}, +{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 +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,0}, +{0,0}, +{0,0}, +{0,0} +} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/und/df099fc3-03ed-44c9-a8dd-e95a1e8978ff.0/info" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/und/dfe532e1-d0ef-4008-afd4-214781ee4960.0/info" similarity index 100% rename from "src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/und/df099fc3-03ed-44c9-a8dd-e95a1e8978ff.0/info" rename to "src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/und/dfe532e1-d0ef-4008-afd4-214781ee4960.0/info" diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/und/root" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/und/root" new file mode 100644 index 00000000..ae0e1471 --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/und/root" @@ -0,0 +1 @@ +{2,51efd65a-ed36-4be7-a563-89b34ebfa851,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/und/version" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/und/version" similarity index 100% rename from "src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/und/version" rename to "src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/und/version" diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/und/versions" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/und/versions" new file mode 100644 index 00000000..8be89498 --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/und/versions" @@ -0,0 +1 @@ +{1,9,"",5023d1d0-e5c0-4d62-b655-b327967deba0,"versions",cd4ec67b-b459-44c3-b892-a85fbf615e80,"root",1edbaa7e-50da-4525-aac9-3c0da7f78c7e,"51efd65a-ed36-4be7-a563-89b34ebfa851",7662c293-be99-4670-b5a7-a6e1df718890,"dfe532e1-d0ef-4008-afd4-214781ee4960.0",9a6a2061-5a49-4da9-b703-06e4818103e0,"version",ee2ee6ea-86b4-465e-b456-b67ad03f2231,"d75f146d-5027-4604-80fd-3b704ddd86a8",78ac768d-0eaa-4d15-8730-3f20fb3b16c9,"copyinfo",e05aa700-908b-4913-aa18-bfdc3c674094,"d75f146d-5027-4604-80fd-3b704ddd86a8.0",c0f5689f-1873-4ad9-b932-e205581398f3} \ No newline at end of file diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\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.txt" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\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.txt" new file mode 100644 index 00000000..9d226060 --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\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.txt" @@ -0,0 +1 @@ + // { Plugin interface &НаКлиенте Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); КонецФункции // } Plugin interface // { Helpers &НаСервере Функция ЭтотОбъектНаСервере() Возврат РеквизитФормыВЗначение("Объект"); КонецФункции // } Helpers \ No newline at end of file diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/ObjectModule.txt" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/ObjectModule.txt" new file mode 100644 index 00000000..2b5fdddb --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/ObjectModule.txt" @@ -0,0 +1,15 @@ + +// { Plugin interface +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Результат = Новый Структура; + Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); + Результат.Вставить("Идентификатор", Метаданные().Имя); + Результат.Вставить("Представление", ""); + ВызватьИсключение "Необходимо указать представление"; + + Возврат Новый ФиксированнаяСтруктура(Результат); +КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт +КонецПроцедуры +// } Plugin interface diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/maps.txt" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/maps.txt" new file mode 100644 index 00000000..4962a47e --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/maps.txt" @@ -0,0 +1 @@ +Form\Форма\Форма.txt-->4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 (29, 48) diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/renames.txt" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/renames.txt" new file mode 100644 index 00000000..31723e1f --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/renames.txt" @@ -0,0 +1,9 @@ +11c5f751-bfaf-480a-92fe-7f30023f2e9a-->und\11c5f751-bfaf-480a-92fe-7f30023f2e9a +4e8e1a4a-a947-419b-95c8-58a411e3ffa4-->und\4e8e1a4a-a947-419b-95c8-58a411e3ffa4 +4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0-->und\4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 +908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\info-->und\908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\info +908d0aaf-e4ec-4668-8d14-3e8075d222fd.0\text-->ObjectModule.txt +copyinfo-->und\copyinfo +root-->und\root +version-->und\version +versions-->und\versions diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" new file mode 100644 index 00000000..d4f588f2 --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" @@ -0,0 +1,17 @@ +{1, +{11c5f751-bfaf-480a-92fe-7f30023f2e9a},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,85629dd2-6be4-49c6-9a69-13411102aa57,3fdd55c8-e92e-4f99-8b28-3ba8957b50ab, +{0, +{0, +{0,0,908d0aaf-e4ec-4668-8d14-3e8075d222fd},"ШаблонУтилиты", +{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}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,4e8e1a4a-a947-419b-95c8-58a411e3ffa4}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} +} +} +} \ No newline at end of file diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" new file mode 100644 index 00000000..e9f6cd91 --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" @@ -0,0 +1,10 @@ +{1, +{1, +{0, +{9, +{0, +{0,0,4e8e1a4a-a947-419b-95c8-58a411e3ffa4},"Форма", +{1,"ru","Форма"},""},0,1}, +{0} +} +},0} \ No newline at end of file diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" new file mode 100644 index 00000000..305af89b --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" @@ -0,0 +1,86 @@ +{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}, +{0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},0,0,1} +}," +// { Plugin interface +&НаКлиенте +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); +КонецФункции + +&НаСервере +Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); +КонецФункции +// } Plugin interface + +// { Helpers +&НаСервере +Функция ЭтотОбъектНаСервере() + Возврат РеквизитФормыВЗначение(""Объект""); +КонецФункции +// } Helpers +", +{4,1, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",85629dd2-6be4-49c6-9a69-13411102aa57} +}, +{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 +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,0}, +{0,0}, +{0,0}, +{0,0} +} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/und/df099fc3-03ed-44c9-a8dd-e95a1e8978ff.0/info" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/908d0aaf-e4ec-4668-8d14-3e8075d222fd.0/info" similarity index 100% rename from "src/Tests/CommonApp/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/und/df099fc3-03ed-44c9-a8dd-e95a1e8978ff.0/info" rename to "src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/908d0aaf-e4ec-4668-8d14-3e8075d222fd.0/info" diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/copyinfo" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/copyinfo" new file mode 100644 index 00000000..f2ecf7bc --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/copyinfo" @@ -0,0 +1,16 @@ +{4, +{2, +{4e8e1a4a-a947-419b-95c8-58a411e3ffa4,4e8e1a4a-a947-419b-95c8-58a411e3ffa4,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} +}, +{908d0aaf-e4ec-4668-8d14-3e8075d222fd,908d0aaf-e4ec-4668-8d14-3e8075d222fd,1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ШаблонУтилиты"} +} +}, +{1, +{85629dd2-6be4-49c6-9a69-13411102aa57,908d0aaf-e4ec-4668-8d14-3e8075d222fd,0} +}, +{0}, +{0,0}, +{0} +} \ No newline at end of file diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/root" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/root" new file mode 100644 index 00000000..fe2f30c4 --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/root" @@ -0,0 +1 @@ +{2,11c5f751-bfaf-480a-92fe-7f30023f2e9a,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/und/version" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/version" similarity index 100% rename from "src/Tests/CommonApp/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/und/version" rename to "src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/version" diff --git "a/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/versions" "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/versions" new file mode 100644 index 00000000..86917b62 --- /dev/null +++ "b/src/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/versions" @@ -0,0 +1 @@ +{1,9,"",bf29a94a-2e31-46a6-a32d-424113fb28bf,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4",e5279534-266d-4748-9cdf-45954c35a797,"versions",36004e3d-9c85-4072-9b35-5280046e2572,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0",2a3f2e8c-70f3-493c-8084-81e5ee1e4787,"root",fe0d2943-40c1-4d04-9bd9-5afcb2f14f88,"908d0aaf-e4ec-4668-8d14-3e8075d222fd.0",415dc19d-7461-4a12-9591-7d6fe8bfa7d8,"11c5f751-bfaf-480a-92fe-7f30023f2e9a",da94d21d-837d-4ffb-a6b0-1807d5853639,"version",76970efc-ea8f-43c3-86e1-768da2d1fefc,"copyinfo",7b787cdc-788a-4354-badc-7b4b5929c98e} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Form/\320\244\320\276\321\200\320\274\320\260/form" "b/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Form/\320\244\320\276\321\200\320\274\320\260/form" deleted file mode 100644 index 77a7072f..00000000 --- "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Form/\320\244\320\276\321\200\320\274\320\260/form" +++ /dev/null @@ -1,815 +0,0 @@ -{27, -{16, -{ -{1,1, -{"ru","Обработка Тесты генерация макета данных на базе реальных данных"} -},7,4294967295}, -{09ccdc77-ea1a-4a6d-ab1c-3435eada2433, -{1, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},21,1, -{0,6,1},2, -{0,6,1}, -{0,7,1},1, -{0,2,2},4, -{0,2,3}, -{0,5,3}, -{0,6,3}, -{0,7,3},0,0, -{3,1, -{3,0, -{0},"",-1,-1,1,0} -},0,1, -{1,1, -{3, -{1,1, -{"ru","Страница1"} -}, -{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,33,0,1,2,0,0,0,0}, -{2,738,1,1,3,0,0,8,0}, -{2,391,0,1,4,0,0,8,0},0,4294967295,5,64,0}, -{0} -}, -{4, -{e69bf21d-97b2-4f37-86db-675aea9ec2cb,2, -{2, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-21} -}, -{3,0, -{0},4,1,0,00000000-0000-0000-0000-000000000000}, -{1,0} -},8,2,1,0,1,1, -{5,c45fa92b-aba3-4d9e-a9fe-274560abc287,19,1,7, -{6,2e5b59f9-8dde-4958-b78f-3ea4b520fbfd,1,e1692cc2-605b-4535-84dd-28440238746c, -{3,"КоманднаяПанель1СоздатьМакетДанных", -{1,"КоманднаяПанель1СоздатьМакетДанных", -{1,1, -{"ru","Создать макет данных"} -}, -{1,1, -{"ru","Создать макет данных"} -}, -{1,1, -{"ru","Создать макет данных"} -}, -{3,0, -{0},"",-1,-1,1,0}, -{0,0,0} -} -},0}, -{6,0085da03-6bb9-43bf-9411-b92b88582d5c,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,4080f75e-c0eb-4ff0-8530-c910c332d0e4,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,4f41216d-d778-49b3-b962-a7170ab6891c,1,e1692cc2-605b-4535-84dd-28440238746c, -{3,"КоманднаяПанель1СохранитьМакетДанныхВФайл", -{1,"КоманднаяПанель1СохранитьМакетДанныхВФайл", -{1,1, -{"ru","Сохранить макет данных в файл"} -}, -{1,1, -{"ru","Сохранить макет данных в файл"} -}, -{1,1, -{"ru","Сохранить макет данных в файл"} -}, -{3,0, -{0},"",-1,-1,1,0}, -{0,0,0} -} -},0}, -{6,0d9bc6e7-7e51-433c-9193-a550f3b284db,1,e1692cc2-605b-4535-84dd-28440238746c, -{3,"КоманднаяПанель1ПротестироватьЗагрузкуМакета", -{1,"КоманднаяПанель1ПротестироватьЗагрузкуМакета", -{1,1, -{"ru","Протестировать загрузку макета"} -}, -{1,1, -{"ru","Протестировать загрузку макета"} -}, -{1,1, -{"ru","Протестировать загрузку макета"} -}, -{3,0, -{0},"",-1,-1,1,0}, -{0,0,0} -} -},0}, -{6,dc378184-0238-4e42-adcc-b461e089624d,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,15b69089-7b80-429d-a16a-8f611948bfb9,1,fbe38877-b914-4fd5-8540-07dde06ba2e1, -{6,4294967295,00000000-0000-0000-0000-000000000000,142, -{1,99,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0},0,1},0},1, -{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,7,2e5b59f9-8dde-4958-b78f-3ea4b520fbfd, -{8,"СоздатьМакетДанных",0,1, -{1,1, -{"#","Создать макет данных"} -},0,c45fa92b-aba3-4d9e-a9fe-274560abc287,10,1e2,0,0,1,0,0,0,0},4080f75e-c0eb-4ff0-8530-c910c332d0e4, -{8,"Разделитель1",0,1, -{1,1, -{"ru","Действие1"} -},0,c45fa92b-aba3-4d9e-a9fe-274560abc287,11,1e2,2,0,1,0,0,0,0},0d9bc6e7-7e51-433c-9193-a550f3b284db, -{8,"ПротестироватьЗагрузкуМакета",0,1, -{1,1, -{"#","Протестировать загрузку макета"} -},0,c45fa92b-aba3-4d9e-a9fe-274560abc287,12,1e2,0,0,1,0,0,0,0},0085da03-6bb9-43bf-9411-b92b88582d5c, -{8,"Разделитель2",0,1, -{1,1, -{"ru","Действие1"} -},0,c45fa92b-aba3-4d9e-a9fe-274560abc287,13,1e2,2,0,1,0,0,0,0},4f41216d-d778-49b3-b962-a7170ab6891c, -{8,"СохранитьМакетДанныхВФайл",0,1, -{1,1, -{"#","Сохранить макет данных в файл"} -},0,c45fa92b-aba3-4d9e-a9fe-274560abc287,14,1e2,0,0,1,0,0,0,0},dc378184-0238-4e42-adcc-b461e089624d, -{8,"Разделитель3",0,1, -{1,1, -{"ru","Действие2"} -},0,c45fa92b-aba3-4d9e-a9fe-274560abc287,16,1e2,2,0,1,0,0,0,0},15b69089-7b80-429d-a16a-8f611948bfb9, -{8,"Действие1",0,1, -{1,1, -{"#","Действие1"} -},0,c45fa92b-aba3-4d9e-a9fe-274560abc287,15,1e2,0,3,1,0,0,0,0}, -{0,0, -{0} -} -} -},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,9d0a2e40-b978-11d4-84b6-008048da06df,0} -}, -{8,0,0,746,25,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,2,0,25}, -{2,-1,6,0} -}, -{0, -{2,0,2,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,2,1},0,0,0,0,0,0,0,1,1,0}, -{14,"КоманднаяПанель1",0,0,0,0}, -{0} -}, -{e69bf21d-97b2-4f37-86db-675aea9ec2cb,5, -{2, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},8,2,1,0,1,1, -{5,c57d1982-5648-4cf0-a874-e4b7f130b2f9,22,1,0,1, -{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,0, -{0,0, -{0} -} -} -},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,9d0a2e40-b978-11d4-84b6-008048da06df,0} -}, -{8,8,33,738,58,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,5,0,25}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,-8}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,5,1},0,0,0,0,0,0,1,2,0,0}, -{14,"КоманднаяПанель2",6,0,0,0}, -{0} -}, -{ea83fe3a-ac3c-4cce-8045-3dddf35b28b1,6, -{5, -{"Pattern", -{"#",acf6192e-81ca-46ef-93a6-5a6968b78663} -}, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,1, -{-18},0,0,0}, -{1,0} -}, -{15,117644301, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-14} -}, -{3,3, -{-15} -}, -{3,3, -{-13} -},2,2,0,0,0,0,0,1,1, -{6,2,0, -{-20},1}, -{6,2,0, -{-20},1},2,0,1, -{6, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","Ссылка"} -}, -{1,0}, -{1,0},1e2,0,-1,-1,-1,12590592, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"Ссылка", -{},15,0, -{1,0}, -{"Pattern", -{"#",38bfd075-3e63-4aaa-a93e-94521380d579}, -{"#",474c3bf6-08b5-4ddc-a2ad-989cedf11583}, -{"#",e61ef7b8-f3e1-4f4b-8ac7-676e90524997} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcN1VM9bhUxEKahiZSOAzyZdkfyv8e3oOEAttcuKaKk -ip4ERWjSUtAhOAFIIJ4IUa7gPQlXwD9vd5MHQUGiwT9jz4+/GXs8Tx4/au3H1c25 -HY6Pzskzd3oaT16Qxjwlg0CfRmoUiKgFSOccOCsiWKk4E0hHZex2NpZGBuGTBope -gRzHAI67ESzaEMfEmEKxGEfNYjIeIYnIQCbpAV0woI2OliourTXb46Nm3wejA6uc -GGRd6Kw95PUghmK6LaRpRV2A8/vsf+X7CXMo4GyVtEiAYfVSepOyoWNw1oQzvc31 -Lnto5DnZLishd4yaE9rjqjpgdbC9p/tUy9m7Qc2oa/hVwVJkniuwJtRslZ3zIgEG -65RWinEe9772DX5D5rZA0xiNNwFwdAFk5BS8wgjRJGMkdxFH7GGxv8JFhYpT48EG -Z0ByVXYCFURMozZBRiYbrir35A9CvpWxPrqgEM7KT0ahpRki05aHwEHT4lEqoQDL -xwaOUlIu0Egd+iOR/CF/zJ/yVd5Nr8vuTZnX+Xq6nC7y++nVdFk034rs3fQy7/Lb -/DV/z1+KRZ27vCPd+79BabcgJ2fkEG+TP6+Am4K3IG7yTYXcFJRDzPVt/i/cP9TP -Ug1r8nvxLQWz/Qk=},0} -}, -{-1}, -{-1}, -{-1} -},"Ссылка","","",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","Метаданное"} -}, -{1,0}, -{1,0},1e2,1,-1,-1,-1,12590592, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"Метаданное", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ -OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U -bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm -rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ -XFhJtSKWz30vMgcItzCmDw==},0} -}, -{-1}, -{-1}, -{-1} -},"Метаданное","","",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","Имя переменной"} -}, -{1,0}, -{1,0},1e2,2,-1,-1,-1,12590592, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"ИмяПеременной", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ -OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U -bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm -rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ -XFhJtSKWz30vMgcItzCmDw==},0} -}, -{-1}, -{-1}, -{-1} -},"ИмяПеременной","","",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","Выгружать код"} -}, -{1,0}, -{1,0},1e2,4,-1,-1,-1,12590592, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"ВыгружатьКод1", -{},15,0, -{1,0}, -{"Pattern", -{"B"} -},0,1,35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU9RDoMwCPXbxJtAApRpex21vYTpyfaxI+0A/tiW -uCW6AeHlAS/A3pm9n6+NYeg3CyZozIFWoDz0+RcfwUEZzSW1rquAIv/m79wU07Ug -/K2QSQpWV+9YFgoojymhzhJwFk8oXtfVh5gWjk3IYGv0JOWldmsFyp87Dg==},0} -}, -{-1}, -{-1}, -{-1} -},"ВыгружатьКод","","",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","Выгружать код"} -}, -{1,0}, -{1,0},1e2,3,-1,-1,-1,12590592, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"ВыгружатьНомер", -{},15,0, -{1,0}, -{"Pattern", -{"B"} -},0,1,35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU9RDoMwCPXbxJtAApRpex21vYTpyfaxI+0A/tiW -uCW6AeHlAS/A3pm9n6+NYeg3CyZozIFWoDz0+RcfwUEZzSW1rquAIv/m79wU07Ug -/K2QSQpWV+9YFgoojymhzhJwFk8oXtfVh5gWjk3IYGv0JOWldmsFyp87Dg==},0} -}, -{-1}, -{-1}, -{-1} -},"ВыгружатьНомер","","",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","Режим поиска"} -}, -{1,0}, -{1,0},1e2,5,-1,-1,-1,12590592, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"РежимПоиска", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ -OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U -bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm -rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ -XFhJtSKWz30vMgcItzCmDw==},0} -}, -{-1}, -{-1}, -{-1} -},"РежимПоиска","","",0} -} -},0,0,0,0} -}, -{342cf854-134c-42bb-8af9-a2103d5d9723, -{5,0,0,1} -}, -{0} -}, -{8,8,63,738,245,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,0,245}, -{2,0,1,-154} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,-8}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},0,1, -{0,7,0},0,0,0,0,0,2,3,0,0}, -{14,"ТаблицаДанных",4294967295,0,0,0}, -{0} -}, -{236a17b3-7f44-46d9-a907-75f9cdc61ab5,7, -{16,8,250,738,386,5,5,1,1, -{3,3, -{-22} -}, -{3,1, -{-18},0,0,0}, -{8,1,6, -{"ru","ru",1,1,"ru","Русский","Русский"}, -{128,72}, -{0},0, -{0,0}, -{0,0}, -{0,0}, -{0,0}, -{0,0}, -{0,0},0,2,0, -{0,0,00000000-0000-0000-0000-000000000000,0},0,0,0,0,0,0,0,0,0, -{0}, -{0}, -{0}, -{0},"", -{ -{0,6,6, -{"N",1000},7, -{"N",1000},8, -{"N",1000},9, -{"N",1000},10, -{"N",1000},11, -{"N",1000} -} -}, -{0,-1,-1,-1,-1,00000000-0000-0000-0000-000000000000},0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,2, -{3,3, -{-1} -}, -{3,3, -{-3} -},0,0,0,"",0, -{2,0,0,100,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,"",0,0,0,0,0,0}, -{0},0},0,1, -{2,0,0,100,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,"ru",0,1, -{3,0,0,0,0,00000000-0000-0000-0000-000000000000},0,0,0,0},1,1, -{0},0,0,0,1,1,1,0,1,1,0,0,0}, -{8,8,250,738,386,1, -{0, -{2,6,1,5}, -{2,-1,6,0} -}, -{0, -{2,0,1,-13}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,-8}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},0,0,0,0,0,0,0,3,4,0,0}, -{14,"Макет",4294967295,0,0,0}, -{0} -} -} -},746,399,1,0,1,4,4,21}, -{ -{0},4, -{2, -{ -{0},0,0,1,"ОбработкаОбъект", -{"Pattern", -{"#",62387e90-6294-426d-a644-b8da58c6ba21} -} -}, -{ -{3},1,0,1,"ТаблицаДанных", -{"Pattern", -{"#",acf6192e-81ca-46ef-93a6-5a6968b78663} -} -} -}, -{1, -{6, -{1, -{3} -} -} -} -}, -{59d6c227-97d3-46f6-84a0-584c5a2807e1,1, -{2,0, -{0,0}, -{0},1} -}, -{0},1,4,1,0,0,0, -{0}, -{0}, -{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/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Form/\320\244\320\276\321\200\320\274\320\260/module" "b/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Form/\320\244\320\276\321\200\320\274\320\260/module" deleted file mode 100644 index d05f4078..00000000 --- "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Form/\320\244\320\276\321\200\320\274\320\260/module" +++ /dev/null @@ -1,105 +0,0 @@ -Функция Объект() - Возврат ЭтотОбъект; -КонецФункции - -Процедура КоманднаяПанель1СоздатьМакетДанных(Кнопка) - НовыйМакет = СоздатьМакетДанныхСервер(); -КонецПроцедуры - -Функция СоздатьМакетДанныхСервер() - Макет = ЭлементыФормы.Макет; - Макет.Очистить(); - ОсновнойОбъект = Объект(); - массивДанных = Новый Массив; - Для каждого строка Из ТаблицаДанных Цикл - ОписательЭлемента = ОсновнойОбъект.СоздатьОписательЭлемента(); - ЗаполнитьЗначенияСвойств(ОписательЭлемента, строка); - массивДанных.Добавить(ОписательЭлемента); - КонецЦикла; - НовыйМакет = ОсновнойОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - Если ТипЗнч(НовыйМакет) = Тип("ТабличныйДокумент") Тогда - Макет.Вывести(НовыйМакет); - КонецЕсли; - Возврат НовыйМакет; -КонецФункции - -Процедура КоманднаяПанель1СохранитьМакетДанныхВФайл(Кнопка) - ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); - ДиалогВыбораФайла.ПолноеИмяФайла = ""; - ДиалогВыбораФайла.Фильтр = "Табличный документ (*.mxl)|*.mxl|Все файлы (*.*)|*.*"; - ДиалогВыбораФайла.Заголовок = "Выберите файл"; - Если Не ДиалогВыбораФайла.Выбрать() Тогда - Возврат; - КонецЕсли; - - Макет = ЭлементыФормы.Макет; - Макет.Записать(ДиалогВыбораФайла.ПолноеИмяФайла); -КонецПроцедуры - -Процедура КоманднаяПанель1ПротестироватьЗагрузкуМакета(Кнопка) - путьФайл_юТест = ПолучитьПутьОбработкиЗапускателяТестов_Сервер(); - - //ИдОбработки_юТест = Новый УникальныйИдентификатор(); - //ПодключитьНаСервереВнешнююОбработкуОтКлиента(путьФайл_юТест, ИдОбработки_юТест); - ИдОбработки_юТест = путьФайл_юТест; - - Макет = ЭлементыФормы.Макет; - ПроверитьЗагрузкуМакетаСервер(ИдОбработки_юТест, Макет); -КонецПроцедуры - -Процедура ПроверитьЗагрузкуМакетаСервер(ИдОбработки_юТест, ТабличныйДокумент) - НачатьТранзакцию(); - - юТест = ВнешниеОбработки.Создать(ИдОбработки_юТест); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(ТабличныйДокумент); - юТест.ПроверитьНеРавенство(0, ТестовыеДанные.Количество(), "не заполнены тестовые данные. Возможно, макет данных пуст!" ); - - Если ТранзакцияАктивна() Тогда - ОтменитьТранзакцию(); - КонецЕсли; - Сообщить("Проверка загрузки объектов в ИБ из макета данных выполнена успешно."); -КонецПроцедуры - -Функция ПолучитьПутьОбработкиЗапускателяТестов_Сервер() - каталогТекущегоФайла = ПолучитьКаталогОбработкиСервер(); - - имяФайла_Раннера = "UnitTestRunner.epf"; - Файл = Новый Файл(каталогТекущегоФайла + имяФайла_Раннера); - Если НЕ Файл.Существует() Тогда - Файл = Новый Файл(каталогТекущегоФайла + "..\" + имяФайла_Раннера); - Если НЕ Файл.Существует() Тогда - ВызватьИсключение "Не удалось найти файл "+имяФайла_Раннера; - КонецЕсли; - КонецЕсли; - путьФайл_Раннер = Файл.ПолноеИмя; - Возврат путьФайл_Раннер; -КонецФункции - -Функция ПолучитьКаталогОбработкиСервер() - ОсновнойОбъект = Объект(); - МассивСтрок = ОсновнойОбъект.ПолучитьМассивИзСтрокиСРазделителем_ирЛкс(ОсновнойОбъект.ИспользуемоеИмяФайла, "\"); - МассивСтрок.Удалить(МассивСтрок.ВГраница()); - Каталог = ""; - Для каждого Строка Из МассивСтрок Цикл - Каталог = Каталог + Строка + "\"; - КонецЦикла; - Возврат Каталог; -КонецФункции - -Процедура ТаблицаДанныхСсылкаПриИзменении(Элемент) - //ТаблицаДанныхСсылкаПриИзмененииСервер(Элементы.ТаблицаДанных.ТекущиеДанные.ПолучитьИдентификатор()); - ТаблицаДанныхСсылкаПриИзмененииСервер(ЭлементыФормы.ТаблицаДанных.ТекущаяСтрока); -КонецПроцедуры - -Процедура ТаблицаДанныхСсылкаПриИзмененииСервер(ИдентификаторСтрокиДанных) - //ЭлементДанных = ТаблицаДанных.НайтиПоИдентификатору(ИдентификаторСтрокиДанных); - ЭлементДанных = ИдентификаторСтрокиДанных; - Если ЗначениеЗаполнено(ЭлементДанных.Ссылка) Тогда - ОсновнойОбъект = Объект(); - Ид = ОсновнойОбъект.ПолучитьИдентификаторПредставленияПоСсылке(ЭлементДанных.Ссылка); - ЭлементДанных.ИмяПеременной = Ид; - ЭлементДанных.Метаданное = ЭлементДанных.Ссылка.Метаданные().ПолноеИмя(); - ЭлементДанных.РежимПоиска = "Перем"; - КонецЕсли; -КонецПроцедуры diff --git "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/ObjectModule.txt" "b/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/ObjectModule.txt" deleted file mode 100644 index a5defd26..00000000 --- "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/ObjectModule.txt" +++ /dev/null @@ -1,1093 +0,0 @@ -Перем ТестовыеДанныхДляУдаления; - -//{ основная процедура для юнит-тестирования xUnitFor1C -Перем юТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - //юТест.ДобавитьПростыеТестыИзОбъекта(ВсеТесты, ЭтотОбъект); - - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияПростогоСправочника"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияОбъектаСЗаполненнымРеквизитомТипаПеречисление"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияДвухПростыхСправочников"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияДвухСвязанныхСправочников"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияСправочникаСРеквизитомСсылка_РежимПоискаКод"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияСправочникаСДвумяСтрокамиВТабличнойЧасти"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияДокументаСДвумяСтрокамиВТабличнойЧасти"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияДвухЗаписейВРегистреСведений"); - - Возврат ВсеТесты; - -КонецФункции -//} - -//{ ОСНОВНОЙ БЛОК -Функция СоздатьМакетДляГенерацииДанных(МассивДанных) Экспорт - ШапкаДанных = ШапкаДанныхВМакете(); - Макет = Новый ТабличныйДокумент; - номерКолонки = 0; - Для каждого ключЗначение Из ШапкаДанных Цикл - номерКолонки = номерКолонки + 1; - имяПоля = ключЗначение.Ключ; - Макет.Область(1, номерКолонки, 1, номерКолонки).Текст = имяПоля ; - КонецЦикла; - - Для каждого ОписательОбъекта Из МассивДанных Цикл - ДобавитьОбъектВМакет(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных); - КонецЦикла; - Возврат Макет; -КонецФункции - -Функция СоздатьОписательЭлемента() Экспорт - ОписательЭлемента = Новый Структура; - ОписательЭлемента.Вставить("Ссылка"); - ОписательЭлемента.Вставить("ИмяПеременной", ""); - ОписательЭлемента.Вставить("Метаданное"); - ОписательЭлемента.Вставить("ВыгружатьКод", Ложь); - ОписательЭлемента.Вставить("ВыгружатьНомер", Ложь); - ОписательЭлемента.Вставить("РежимПоиска", ""); - ОписательЭлемента.Вставить("Реквизиты", ""); - Возврат ОписательЭлемента; -КонецФункции - -Функция ПолучитьИдентификаторПредставленияПоСсылке(Ссылка) Экспорт - Мд = Ссылка.Метаданные(); - - менеджерОбъекта = ПолучитьМенеджерОбъекта_ирЛкс(Мд); - КорневойТипКонфигурации = ПолучитьКорневойТипКонфигурации_ирЛкс(Мд); - - Представление = ""; - Если КорневойТипКонфигурации = "Справочник" Тогда - Представление = Ссылка.Наименование; - ИначеЕсли КорневойТипКонфигурации = "Документ" Тогда - Представление = ""+Ссылка; - //ИначеЕсли КорневойТипКонфигурации = "РегистрСведений" Тогда - Иначе - ВызватьИсключение "ПолучитьИдентификаторПредставленияПоСсылке() : Неизвестный КорневойТипКонфигурации <"+КорневойТипКонфигурации+">"; - КонецЕсли; - рез = ПолучитьИдентификаторИзПредставления_Лкс(Представление, Неопределено, "_"); - Возврат рез; -КонецФункции - -Процедура ДобавитьОбъектВМакет(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных) - //ЭтоСсылочныйОбъект = Ложь; - Ссылка = Неопределено; - Мд = Неопределено; - ЭтоСсылочныйОбъект = ЭтоОписательОбъектаСсылки(ОписательОбъекта, Ссылка); - Если ЭтоСсылочныйОбъект Тогда - ЭтоСсылочныйОбъект = Истина; - Мд = Ссылка.Метаданные(); - ИначеЕсли ОписательОбъекта.Свойство("Метаданное", Мд) Тогда - КонецЕсли; - - ДобавитьМетаданныеВМакетДляДобавляемогоОбъекта(Макет, ОписательОбъекта, ШапкаДанных, Макет.ВысотаТаблицы+1, Мд); - - менеджерОбъекта = ПолучитьМенеджерОбъекта_ирЛкс(Мд); - КорневойТипКонфигурации = ПолучитьКорневойТипКонфигурации_ирЛкс(Мд); - Если КорневойТипКонфигурации = "Справочник" Тогда - лПустойОбъект = менеджерОбъекта.СоздатьЭлемент(); - ИначеЕсли КорневойТипКонфигурации = "Документ" Тогда - лПустойОбъект = менеджерОбъекта.СоздатьДокумент(); - ИначеЕсли КорневойТипКонфигурации = "РегистрСведений" Тогда - Иначе - ВызватьИсключение "Неизвестный КорневойТипКонфигурации <"+КорневойТипКонфигурации+">"; - КонецЕсли; - - ВыгружаемыеСтандартныеРеквизиты = ВыгружаемыеСтандартныеРеквизиты(ОписательОбъекта, КорневойТипКонфигурации); - - Если ЗначениеЗаполнено(Ссылка) Тогда - объект = Ссылка.ПолучитьОбъект(); - - ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект, лПустойОбъект, Мд.СтандартныеРеквизиты, ВыгружаемыеСтандартныеРеквизиты); - ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект, лПустойОбъект, Мд.Реквизиты, Неопределено); - - ОбработатьТабличныеЧастиОбъекта(Макет, Мд.ТабличныеЧасти, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект); - ИначеЕсли КорневойТипКонфигурации = "РегистрСведений" Тогда - ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Мд, Неопределено, Мд.СтандартныеРеквизиты, ВыгружаемыеСтандартныеРеквизиты); - ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Мд, Неопределено, Мд.Измерения, Неопределено); - ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Мд, Неопределено, Мд.Ресурсы, Неопределено); - ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Мд, Неопределено, Мд.Реквизиты, Неопределено); - Иначе - ВызватьИсключение "Неизвестный вариант работы - метод <ДобавитьОбъектВМакет>"; - КонецЕсли; -КонецПроцедуры - -Процедура ДобавитьМетаданныеВМакетДляДобавляемогоОбъекта(Макет, ОписательОбъекта, ШапкаДанных, НомерСтрокиМакета, Мд) - НомерКолонкиМакета_Тип = ШапкаДанных.Тип; - ОбластьМакета = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_Тип, НомерСтрокиМакета, НомерКолонкиМакета_Тип); - ОбластьМакета.Текст = ПолучитьКорневойТипКонфигурации_ирЛкс(Мд); - - НомерКолонкиМакета_Вид = ШапкаДанных.Вид; - ОбластьМакета = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_Вид, НомерСтрокиМакета, НомерКолонкиМакета_Вид); - ОбластьМакета.Текст = Мд.Имя; - - НомерКолонкиМакета_ИмяПеременной = ШапкаДанных.ИмяПеременной; - ОбластьМакета = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_ИмяПеременной, НомерСтрокиМакета, НомерКолонкиМакета_ИмяПеременной); - - ИмяПеременной = ИмяПеременнойИзОписателяОбъекта(Мд, ОписательОбъекта); - ОбластьМакета.Текст = ИмяПеременной; -КонецПроцедуры - -Функция ВыгружаемыеСтандартныеРеквизиты(ОписательОбъекта, КорневойТипКонфигурации) - ВыгружаемыеСтандартныеРеквизиты = Новый Массив; - Если КорневойТипКонфигурации = "Справочник" Тогда - ВыгружаемыеСтандартныеРеквизиты.Добавить("Наименование"); - ВыгружаемыеСтандартныеРеквизиты.Добавить("ПометкаУдаления"); - ВыгружатьКод = Ложь; - Если ОписательОбъекта.Свойство("ВыгружатьКод", ВыгружатьКод) и ВыгружатьКод Тогда - ВыгружаемыеСтандартныеРеквизиты.Добавить("Код"); - КонецЕсли; - ИначеЕсли КорневойТипКонфигурации = "Документ" Тогда - ВыгружаемыеСтандартныеРеквизиты.Добавить("Дата"); - ВыгружаемыеСтандартныеРеквизиты.Добавить("ПометкаУдаления"); - //ВыгружаемыеСтандартныеРеквизиты.Добавить("Проведен"); - ВыгружатьКод = Ложь; - Если ОписательОбъекта.Свойство("ВыгружатьНомер", ВыгружатьКод) и ВыгружатьКод Тогда - ВыгружаемыеСтандартныеРеквизиты.Добавить("Номер"); - КонецЕсли; - ИначеЕсли КорневойТипКонфигурации = "РегистрСведений" Тогда - //Для каждого МдРеквизит Из ОписательОбъекта.Метаданное.СтандартныеРеквизиты Цикл - // Сообщить("МдРеквизит.Имя = <"+?(МдРеквизит.Имя = Неопределено, "Неопределено", МдРеквизит.Имя)+">"); - //КонецЦикла; - Иначе - ВызватьИсключение "Неизвестный КорневойТипКонфигурации <"+КорневойТипКонфигурации+"> КорневойТипКонфигурации()"; - КонецЕсли; - - Возврат ВыгружаемыеСтандартныеРеквизиты; -КонецФункции - -Процедура ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект, лПустойОбъект, МдРеквизиты, ВыгружаемыеРеквизиты) - НомерСтрокиМакета = Макет.ВысотаТаблицы+1; - - ЭтоСсылочныйОбъект = ЭтоОписательОбъектаСсылки(ОписательОбъекта); //ЭтоСсылочныйОбъект = ОписательОбъекта.Свойство("Ссылка"); - Если ЭтоСсылочныйОбъект Тогда - Мд = Объект.Метаданные(); - Иначе - Мд = Объект; - КонецЕсли; - - Для каждого РеквизитМд Из МдРеквизиты Цикл - имяРеквизита = РеквизитМд.Имя; - Если ВыгружаемыеРеквизиты <> Неопределено и ВыгружаемыеРеквизиты.Найти(имяРеквизита) = Неопределено Тогда - Продолжить; - КонецЕсли; - - Если ЭтоСсылочныйОбъект Тогда - ЗначениеРеквизита = объект[имяРеквизита]; - - этоЗначениеБудетСозданоПоУмолчанию = лПустойОбъект[имяРеквизита] = ЗначениеРеквизита; - Если этоЗначениеБудетСозданоПоУмолчанию Тогда - Продолжить; - КонецЕсли; - Иначе - ЗначениеРеквизита = ОписательОбъекта.Реквизиты[имяРеквизита]; - КонецЕсли; - - ДобавилиРеквизит = ОбработатьРеквизитОбъекта(Макет, МассивДанных, имяРеквизита, ЗначениеРеквизита, Мд, НомерСтрокиМакета, ШапкаДанных); - - Если ДобавилиРеквизит Тогда - НомерСтрокиМакета = НомерСтрокиМакета + 1; - КонецЕсли; - КонецЦикла; -КонецПроцедуры - -Процедура ОбработатьТабличныеЧастиОбъекта(Макет, МдТабличныеЧасти, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект) - Для каждого МдТч Из МдТабличныеЧасти Цикл - МдРеквизиты = МдТч.Реквизиты; - ИмяТЧ = МдТч.Имя; - - НомерКолонкиМакета_ТЧ = ШапкаДанных.ТЧ; - - Для каждого строкаТчОбъекта Из объект[ИмяТЧ] Цикл - НомерСтрокиМакета = Макет.ВысотаТаблицы+1; - ОбластьМакета = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_ТЧ, НомерСтрокиМакета, НомерКолонкиМакета_ТЧ); - ОбластьМакета.Текст = ИмяТЧ; - - ОбработатьРеквизитыТабличнойЧастиОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект, строкаТчОбъекта, МдРеквизиты); - КонецЦикла; - КонецЦикла; -КонецПроцедуры - -Процедура ОбработатьРеквизитыТабличнойЧастиОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект, строкаТчОбъекта, МдРеквизиты) - НомерСтрокиМакета = Макет.ВысотаТаблицы+1; - - Мд = Объект.Метаданные(); - - Для каждого РеквизитМд Из МдРеквизиты Цикл - имяРеквизита = РеквизитМд.Имя; - - ЗначениеРеквизита = строкаТчОбъекта[имяРеквизита]; - - ДобавилиРеквизит = ОбработатьРеквизитОбъекта(Макет, МассивДанных, имяРеквизита, ЗначениеРеквизита, Мд, НомерСтрокиМакета, ШапкаДанных); - - Если ДобавилиРеквизит Тогда - НомерСтрокиМакета = НомерСтрокиМакета + 1; - КонецЕсли; - КонецЦикла; -КонецПроцедуры - -Функция ОбработатьРеквизитОбъекта(Макет, МассивДанных, имяРеквизита, ЗначениеРеквизита, Мд, НомерСтрокиМакета, ШапкаДанных) - ТипРеквизита = ТипЗнч(ЗначениеРеквизита); - Если Не ЗначениеЗаполнено(ЗначениеРеквизита) Тогда - Возврат Ложь; - КонецЕсли; - - ПредставлениеЗначенияРеквизита = ""; - РежимПоиска = ""; - Попытка - ПолучитьПредставлениеИРежимПоискаПоЗначениюРеквизита(ЗначениеРеквизита, ТипРеквизита, МассивДанных, ПредставлениеЗначенияРеквизита, РежимПоиска); - Исключение - описаниеОшибки = ОписаниеОшибки(); - ВызватьИсключение описаниеОшибки + " Не умею обрабатывать реквизит <"+имяРеквизита+"> у объекта <"+Мд.ПолноеИмя()+">"; - КонецПопытки; - - НомерКолонкиМакета_Реквизит = ШапкаДанных.Реквизит; - НомерКолонкиМакета_Значение = ШапкаДанных.Значение; - НомерКолонкиМакета_Режим = ШапкаДанных.Режим; - - ОбластьМакета_Реквизит = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_Реквизит, НомерСтрокиМакета, НомерКолонкиМакета_Реквизит); - ОбластьМакета_Реквизит.Текст = имяРеквизита; - - ОбластьМакета_Значение = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_Значение, НомерСтрокиМакета, НомерКолонкиМакета_Значение); - ОбластьМакета_Режим = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_Режим, НомерСтрокиМакета, НомерКолонкиМакета_Режим); - - ОбластьМакета_Значение.Текст = ПредставлениеЗначенияРеквизита; - Если РежимПоиска <> "" Тогда - ОбластьМакета_Режим.Текст = РежимПоиска; - КонецЕсли; - - Возврат Истина; -КонецФункции - -Процедура ПолучитьПредставлениеИРежимПоискаПоЗначениюРеквизита(ЗначениеРеквизита, ТипРеквизита, МассивДанных, резПредставлениеЗначенияРеквизита, резРежимПоиска) - Если ТипРеквизита = Тип("Число") Тогда - ПредставлениеЗначенияРеквизита = Формат(ЗначениеРеквизита, "ЧГ="); - ИначеЕсли ТипРеквизита = Тип("Строка") Тогда - ПредставлениеЗначенияРеквизита = ЗначениеРеквизита; - ИначеЕсли ТипРеквизита = Тип("Дата") Тогда - ПредставлениеЗначенияРеквизита = Формат(ЗначениеРеквизита, "ДФ=yyyyMMdd"); - ИначеЕсли ТипРеквизита = Тип("Булево") Тогда - ПредставлениеЗначенияРеквизита = Формат(ЗначениеРеквизита, "БЛ=Ложь; БИ=Истина"); - - ИначеЕсли ЛиСсылкаНаОбъектБД_ирЛкс(ЗначениеРеквизита) Тогда - ОписательЗначенияРеквизита = НайтиОписательОбъектаПоСсылке(МассивДанных, ЗначениеРеквизита); //МассивДанных.Найти(ЗначениеРеквизита); - Если ОписательЗначенияРеквизита <> Неопределено Тогда - ПредставлениеЗначенияРеквизита = ИмяПеременнойИзОписателяОбъекта(ЗначениеРеквизита.Метаданные(), ОписательЗначенияРеквизита); - РежимПоиска = "Перем"; - Иначе - ПредставлениеЗначенияРеквизита = ЗначениеРеквизита; - РежимПоиска = "Наименование"; - КонецЕсли; - - ИначеЕсли ЛиСсылкаНаПеречисление_ирЛкс(ЗначениеРеквизита) Тогда - ПредставлениеЗначенияРеквизита = ЗначениеРеквизита; - РежимПоиска = "Предопределенный"; - - Иначе - ВызватьИсключение "Генератор макета из реальных данных: Не умею обрабатывать такой тип <"+ТипРеквизита+">"; - КонецЕсли; - резПредставлениеЗначенияРеквизита = ПредставлениеЗначенияРеквизита; - резРежимПоиска = РежимПоиска; -КонецПроцедуры - -Функция НайтиОписательОбъектаПоСсылке(МассивДанных, Ссылка) - Для каждого ОписательОбъекта Из МассивДанных Цикл - СсылкаВрем = Неопределено; - Если ЭтоОписательОбъектаСсылки(ОписательОбъекта, СсылкаВрем) и СсылкаВрем = Ссылка Тогда - Возврат ОписательОбъекта; - КонецЕсли; - КонецЦикла; - Возврат Неопределено; -КонецФункции - -Функция ЭтоОписательОбъектаСсылки(ОписательОбъекта, РезСсылка = Неопределено) - ЭтоСсылочныйОбъект = ОписательОбъекта.Свойство("Ссылка", РезСсылка) И РезСсылка <> Неопределено; - Возврат ЭтоСсылочныйОбъект; -КонецФункции - -Функция ИмяПеременнойИзОписателяОбъекта(Мд, ОписательОбъекта) - ИмяПеременной = ""; - Если НЕ ОписательОбъекта.Свойство("ИмяПеременной", ИмяПеременной) или ПустаяСтрока(ИмяПеременной) Тогда - ИмяПеременной = Мд.Имя; - КонецЕсли; - Возврат ИмяПеременной; -КонецФункции - -Функция ШапкаДанныхВМакете() - рез = Новый Структура(); - рез.Вставить("Тип", 1); - рез.Вставить("Вид", 2); - рез.Вставить("ИмяПеременной", 3); - рез.Вставить("ТЧ", 4); - рез.Вставить("Реквизит", 5); - рез.Вставить("Значение", 6); - рез.Вставить("Режим", 7); - Возврат рез; -КонецФункции - -// { БЛОК МЕТОДОВ ИЗ ИР (Инструменты Разработчика, автор TormozIt ) -// -// Определяет корневой тип конфигурации по описанию типов, типу, метаданным, ссылке или объекту. -// Для описания типов берется первый тип массива типов. -// -// Параметры: -// пОбъект – Произвольный – для чего получаем метаданные; -// *пЛиТолькоДляКорневого - Булево, *Ложь - возвращать только для объекта корневого типа. -// -// Возвращаемое значение: -// - Строка – имя типа корневого объекта метаданных; -// Неопределено - не удалось получить имя типа. -// -Функция ПолучитьКорневойТипКонфигурации_ирЛкс(пОбъект, пЛиТолькоДляКорневого = Ложь) Экспорт - - Если ТипЗнч(пОбъект) = Тип("ОбъектМетаданных") Тогда - МетаданныеТипа = пОбъект; - Иначе - МетаданныеТипа = ПолучитьМетаданные_ирЛкс(пОбъект); - КонецЕсли; - Результат = Неопределено; - Если МетаданныеТипа <> Неопределено Тогда - ПолноеИмя = МетаданныеТипа.ПолноеИмя(); - Если пЛиТолькоДляКорневого Тогда - МассивФрагментов = ПолучитьМассивИзСтрокиСРазделителем_ирЛкс(ПолноеИмя); - Если МассивФрагментов.Количество() = 2 Тогда - Результат = МассивФрагментов[0]; - КонецЕсли; - Иначе - Результат = ПолучитьПервыйФрагмент_ирЛкс(ПолноеИмя); - КонецЕсли; - КонецЕсли; - Если Результат = "ТабличнаяЧасть" Тогда - // Баг платформы. У внешних метаданных полное имя не включает сам внешний метаобъект - Результат = Неопределено; - КонецЕсли; - Возврат Результат; - -КонецФункции // ЛксПолучитьКорневойТипКонфигурации() - -// Проверяет, является ли значение ссылкой на объект БД. На базе ЛксЛиСсылкаНаОбъектБД -// -// Параметры: -// пЗначение – ОбъектМетаданных, Произвольный – проверяемое значение. -// -// Возвращаемое значение: -// Истина – значение является ссылкой на объект БД; -// Ложь – значение не является ссылкой на объект БД. -// -Функция ЛиСсылкаНаОбъектБД_ирЛкс(пЗначение) Экспорт - - Возврат ЛиКорневойТипОбъектаБД_ирЛкс(ПолучитьКорневойТипКонфигурации_ирЛкс(пЗначение, Истина)); - -КонецФункции // ЛксЛиСсылкаНаОбъектБД - -// Проверяет, является ли значение ссылкой на значение перечисления. -// -// Параметры: -// пЗначение – Произвольный – проверяемое значение. -// -// Возвращаемое значение: -// Истина – значение является ссылкой на объект БД; -// Ложь – значение не является ссылкой на объект БД. -// -Функция ЛиСсылкаНаПеречисление_ирЛкс(пЗначение) Экспорт - - Возврат (ПолучитьКорневойТипКонфигурации_ирЛкс(пЗначение) = "Перечисление"); - -КонецФункции // ЛксЛиСсылкаНаПеречисление() - -// Проверяет, является ли строка именем корневого типа объекта БД. -// -// Параметры: -// пИмяКорневогоТипа - Строка, Неопределено - имя корневого типа. -// -// Возвращаемое значение: -// Истина – тип является корневым типом объекта БД; -// Ложь – иначе. -// -Функция ЛиКорневойТипОбъектаБД_ирЛкс(КорневойТип) Экспорт - - Если Ложь - ИЛИ КорневойТип = "БизнесПроцесс" - ИЛИ КорневойТип = "Задача" - ИЛИ КорневойТип = "Документ" - ИЛИ КорневойТип = "ПланВидовРасчета" - ИЛИ КорневойТип = "ПланВидовХарактеристик" - ИЛИ КорневойТип = "ПланОбмена" - ИЛИ КорневойТип = "ПланСчетов" - ИЛИ КорневойТип = "Справочник" - Тогда - Возврат Истина; - КонецЕсли; - Возврат Ложь; - -КонецФункции // ЛксЛиКорневойТипОбъектаБД() - -// Получает менеджер по описанию типов, типу, метаданным, ссылке или объекту. На базе метода ЛксПолучитьМенеджер -// Для описания типов берется первый тип массива типов. -// -// Параметры: -// пОбъект – Произвольный – для чего получаем менеджер. -// -// Возвращаемое значение: -// – МенеджерОбъекта - для ссылки или ссылочного типа; -// Неопределено - не удалось получить. -// -Функция ПолучитьМенеджерОбъекта_ирЛкс(пОбъект) Экспорт - - Если ТипЗнч(пОбъект) = Тип("ОбъектМетаданных") Тогда - МетаданныеОбъекта = пОбъект; - Иначе - МетаданныеОбъекта = ПолучитьМетаданные_ирЛкс(пОбъект); - КонецЕсли; - Если МетаданныеОбъекта = Неопределено Тогда - Возврат Неопределено; - КонецЕсли; - - МассивФрагментов = ПолучитьМассивИзСтрокиСРазделителем_ирЛкс(МетаданныеОбъекта.ПолноеИмя()); - КорневойТип = МассивФрагментов[0]; - Менеджер = Неопределено; - Если Истина - И МассивФрагментов.Количество() = 4 - И КорневойТип = "ВнешнийИсточникДанных" - Тогда - ИмяТипаМенеджера = МассивФрагментов[0] + "ТаблицаМенеджер." + МассивФрагментов[1] + "." + МассивФрагментов[3]; - Иначе - //КорневойТип = ЛксПолучитьКорневойТипКонфигурации(МетаданныеОбъекта, Истина); // Изменил 02.03.2012 - Если КорневойТип <> Неопределено Тогда - ИмяТипаМенеджера = КорневойТип + "Менеджер." + МетаданныеОбъекта.Имя; - Иначе - ИмяТипаМенеджера = "Неопределено"; - КонецЕсли; - КонецЕсли; - Попытка - Менеджер = Новый (ИмяТипаМенеджера); - Исключение - КонецПопытки; - Возврат Менеджер; - -КонецФункции // ЛксПолучитьМенеджер() - -// Получает метаданные по полному имени, описанию типов, типу, ссылке или объекту. На базе ЛксПолучитьМетаданные -// Для описания типов берется первый тип массива типов. -// -// Параметры: -// пОбъект – Произвольный – для чего получаем метаданные. -// -// Возвращаемое значение: -// – Метаданные - полученные; -// Неопределено - не удалось получить метаданные. -// -Функция ПолучитьМетаданные_ирЛкс(пОбъект) Экспорт - - Если ТипЗнч(пОбъект) = Тип("Строка") Тогда - Если ПустаяСтрока(пОбъект) Тогда - Результат = Неопределено; - Иначе - Фрагменты = ПолучитьМассивИзСтрокиСРазделителем_ирЛкс(пОбъект); - Если Фрагменты.Количество() = 3 Тогда - // ВидыСубконто, Изменения - ПолноеИмяМД = Фрагменты[0] + "." + Фрагменты[1]; - Иначе - ПолноеИмяМД = пОбъект; - КонецЕсли; - Результат = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМД); - КонецЕсли; - Возврат Результат; - КонецЕсли; - ТипОбъекта = ПолучитьТипОбъекта_ирЛкс(пОбъект); - Результат = Метаданные.НайтиПоТипу(ТипОбъекта); - Возврат Результат; - -КонецФункции // ЛксПолучитьМетаданные() - -// Получает тип из описания типов, типа или значения. На базе ЛксПолучитьТипОбъекта -// -// Параметры: -// пОбъект – Тип, ОписаниеТипов, Произвольный – проверяемое значение. -// -// Возвращаемое значение: -// Тип - найденный тип. -// -Функция ПолучитьТипОбъекта_ирЛкс(пОбъект) - - ТипОбъекта = Тип("Неопределено"); - ТипПараметра = ТипЗнч(пОбъект); - Если ТипПараметра = Тип("ОписаниеТипов") Тогда - Если пОбъект.Типы().Количество() > 0 Тогда - ТипОбъекта = пОбъект.Типы()[0]; - КонецЕсли; - ИначеЕсли ТипПараметра <> Тип("Тип") Тогда - ТипОбъекта = ТипПараметра; - Иначе - ТипОбъекта = пОбъект; - КонецЕсли; - - Возврат ТипОбъекта; - -КонецФункции // ЛксПолучитьТипОбъекта() - -// Функция разбивает строку разделителем. На базе ЛксПолучитьМассивИзСтрокиСРазделителем -// -// Параметры: -// пСтрока - Строка - которую разбиваем; -// *пРазделитель - Строка, "." - символ-разделитель; -// *ОбрезатьНепечатныеСимволы - Булево, *Ложь - делать СокрЛП. -// *ОставлятьПустуюСтроку - Булево, *Истина - если передана пустая строка, то добавлять ее в массив. -// -// Возвращаемое значение: -// Массив - фрагментов. -// -Функция ПолучитьМассивИзСтрокиСРазделителем_ирЛкс(Знач Стр, Разделитель = ".", ОбрезатьНепечатныеСимволы = Ложь, ОставлятьПустуюСтроку = Истина) Экспорт - - МассивСтрок = Новый Массив; - Если Истина - И Не ОставлятьПустуюСтроку - И ПустаяСтрока(Стр) - Тогда - Возврат МассивСтрок; - КонецЕсли; - - //лСтрока = СтрЗаменить(Стр, Разделитель, Символы.ПС); - //// Баг платформы. СтрЧислоСтрок не учитывает терминальный перевод строки. - //ЧислоСтрок = СтрЧислоСтрок(лСтрока + " "); - //Для Счетчик = 1 По ЧислоСтрок Цикл - // Фрагмент = СтрПолучитьСтроку(лСтрока, Счетчик); - // Если ОбрезатьНепечатныеСимволы Тогда - // Фрагмент = СокрЛП(Фрагмент); - // КонецЕсли; - // МассивСтрок.Добавить(Фрагмент); - //КонецЦикла; - - Если Разделитель = " " Тогда - Стр = СокрЛП(Стр); - Пока 1=1 Цикл - Поз = Найти(Стр,Разделитель); - Если Поз=0 Тогда - МассивСтрок.Добавить(Стр); - Возврат МассивСтрок; - КонецЕсли; - МассивСтрок.Добавить(Лев(Стр,Поз-1)); - Стр = СокрЛ(Сред(Стр,Поз)); - КонецЦикла; - Иначе - ДлинаРазделителя = СтрДлина(Разделитель); - Пока 1=1 Цикл - Поз = Найти(Стр,Разделитель); - Если Поз=0 Тогда - Фрагмент = Стр; - Если ОбрезатьНепечатныеСимволы Тогда - Фрагмент = СокрЛП(Фрагмент); - КонецЕсли; - МассивСтрок.Добавить(Фрагмент); - Возврат МассивСтрок; - КонецЕсли; - Фрагмент = Лев(Стр,Поз-1); - Если ОбрезатьНепечатныеСимволы Тогда - Фрагмент = СокрЛП(Фрагмент); - КонецЕсли; - МассивСтрок.Добавить(Фрагмент); - Стр = Сред(Стр,Поз+ДлинаРазделителя); - КонецЦикла; - КонецЕсли; - - Возврат МассивСтрок; - -КонецФункции // ЛксПолучитьМассивИзСтрокиСРазделителем() - -// Получает первый фрагмент, отделяемый разделителем от строки. На базе ЛксПолучитьПервыйФрагмент -// Написана для оптимизации по скорости. -// -// Параметры: -// пСтрока - Строка - которую разбиваем; -// *пРазделитель - Строка, "." - символ-разделитель; -// *пЛиИспользоватьГраницуЕслиМаркерНеНайден - Булево, *Истина. -// -// Возвращаемое значение: -// - Строка - первый фрагмент строки; -// Неопределено - в строке не обнаружен разделитель. -// -Функция ПолучитьПервыйФрагмент_ирЛкс(пСтрока, пРазделитель = ".", - пЛиИспользоватьГраницуЕслиМаркерНеНайден = Истина) Экспорт - - Позиция = Найти(пСтрока, пРазделитель); - Если Позиция > 0 Тогда - Возврат Лев(пСтрока, Позиция - 1); - Иначе - Если пЛиИспользоватьГраницуЕслиМаркерНеНайден Тогда - Возврат пСтрока; - Иначе - Возврат пСтрока; - КонецЕсли; - КонецЕсли; - -КонецФункции // ЛксПолучитьПервыйФрагмент() - -// Получает идентификатор из любой строки. -// "3-я Дебиторка По контрагентам с интервалами СНГ (для Руководства)" => "_3_яДебиторкаПоКонтрагентамСИнтерваламиСНГ_дляРуководства_". -// -// Параметры: -// Представление – Строка. -// -// Возвращаемое значение: -// Строка. -// -Функция ПолучитьИдентификаторИзПредставления_Лкс(Знач Представление, VBRegExp, ЗаменаПустойСтроки = "_") Экспорт - Если VBRegExp = Неопределено Тогда - VBRegExp = ПолучитьНовыйВычислительРегулярныхВыражений(); - КонецЕсли; - - шБуква = "_ЁА-ЯA-Z"; - - Если ПустаяСтрока(Представление) Тогда - Представление = ЗаменаПустойСтроки; - КонецЕсли; - Если СокрЛП(Представление) = Представление Тогда - Попытка - Пустышка = Новый Структура(Представление); - Возврат Представление; - Исключение КонецПопытки; - КонецЕсли; - VBRegExp.Pattern = "\d"; - НовоеПредставление = Представление; - ПервыйСимвол = Сред(Представление, 1, 1); - Если VBRegExp.Test(ПервыйСимвол) Тогда - // Первый символ - цифра - НовоеПредставление = "_" + НовоеПредставление; - КонецЕсли; - ПредыдущийСимвол = " "; - ТекущаяСтрока = ""; - Для Счетчик = 1 По СтрДлина(НовоеПредставление) Цикл - ТекущийСимвол = Сред(НовоеПредставление, Счетчик, 1); - VBRegExp.Pattern = "\s"; - Если VBRegExp.Test(ПредыдущийСимвол) Тогда - // Предыдущий символ - непечатаемый - ТекущийСимвол = ВРег(ТекущийСимвол); - КонецЕсли; - VBRegExp.Pattern = "[" + шБуква + "\d]"; - Если VBRegExp.Test(ТекущийСимвол) Тогда - // Предыдущий символ - непечатаемый - ТекущаяСтрока = ТекущаяСтрока + ТекущийСимвол; - Иначе - VBRegExp.Pattern = "[\S]"; - Если VBRegExp.Test(ТекущийСимвол) Тогда - ТекущаяСтрока = ТекущаяСтрока + "_"; - КонецЕсли; - КонецЕсли; - ПредыдущийСимвол = ТекущийСимвол; - КонецЦикла; - Результат = ТекущаяСтрока; - Возврат ТекущаяСтрока; - -КонецФункции // ПолучитьИдентификаторИзПредставления() - -Функция ПолучитьНовыйВычислительРегулярныхВыражений() Экспорт - - Результат = Новый COMОбъект("VBScript.RegExp"); - Результат.IgnoreCase = Истина; - Возврат Результат; - -КонецФункции -// } Конец блока методов из ИР (Инструменты Разработчика, автор TormozIt ) - -//} КОНЕЦ ОСНОВНОГО БЛОКА - -//{ БЛОК ЮНИТ-ТЕСТОВ - сами тесты - -Процедура ПередЗапускомТеста() Экспорт - // в режиме транзакции какие-то проблемы с уникальностью кода :( - // а вот без режима транзакций иногда не все созданные тестовые элементы Справочника.ПростойСправочник удаляются :( - НачатьТранзакцию(); - - ТестовыеДанныхДляУдаления = Новый Массив; -КонецПроцедуры - -Процедура ПослеЗапускаТеста() Экспорт - Если ТранзакцияАктивна() Тогда - ОтменитьТранзакцию(); - КонецЕсли; - - Для каждого ТестовыеДанные Из ТестовыеДанныхДляУдаления Цикл - юТест.УдалитьСозданныеДанные(ТестовыеДанные); - КонецЦикла; -КонецПроцедуры - -Процедура ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные) - ТестовыеДанныхДляУдаления.Добавить(ТестовыеДанные); -КонецПроцедуры - - -Процедура ТестДолжен_ПолучитьМакетДляСозданияПростогоСправочника() Экспорт - Макет = ПолучитьМакет("СозданиеПростогоСправочника"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - Отбор = Новый Структура("Наименование,РеквизитБулево", "Тестовое наименование", Истина); - - КоличествоДо = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник", Отбор); - юТест.ПроверитьРавенство(1, количествоДо, "количествоДо"); - - ИмяПеременной = "ПростойСправочник1"; // ИмяПеременной - необязательный элемент - //описаниеЭлемента = Новый Структура("Ссылка,ИмяПеременной", ТестовыеДанные.ПростойСправочник, ИмяПеременной); - описаниеЭлемента = СоздатьОписательЭлемента(); - описаниеЭлемента.Вставить("Ссылка", ТестовыеДанные.ПростойСправочник); - описаниеЭлемента.Вставить("ИмяПеременной", ИмяПеременной); - - МассивДанных = Новый Массив; - МассивДанных.Добавить(описаниеЭлемента); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - юТест.УдалитьСозданныеДанные(тестовыеДанные); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник", Отбор), "количество после удаления"); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - - юТест.ПроверитьИстину(ТестовыеДанные.Свойство(ИмяПеременной), "Ожидали, что есть переменная '"+ИмяПеременной+"'"); - юТест.ПроверитьТип(ТестовыеДанные[ИмяПеременной], "СправочникСсылка.ПростойСправочник"); - - КоличествоПосле = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник", Отбор); - юТест.ПроверитьРавенство(1, КоличествоПосле, "КоличествоПосле"); -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьМакетДляСозданияОбъектаСЗаполненнымРеквизитомТипаПеречисление() Экспорт - Макет = ПолучитьМакет("СозданиеОбъектаСЗаполненнымРеквизитомТипаПеречисление"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЗначениеПеречисления = Перечисления.Перечисление1.ЗначениеПеречисления1; - Отбор = Новый Структура("Наименование,РеквизитПеречисление", "тЗначениеПеречисления1", ЗначениеПеречисления); - - КоличествоДо = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник", Отбор); - юТест.ПроверитьРавенство(1, количествоДо, "количествоДо"); - - ИмяПеременной = "ПростойСправочник1"; // ИмяПеременной - необязательный элемент - //описаниеЭлемента = Новый Структура("Ссылка,ИмяПеременной", ТестовыеДанные.ПростойСправочник, ИмяПеременной); - описаниеЭлемента = СоздатьОписательЭлемента(); - описаниеЭлемента.Вставить("Ссылка", ТестовыеДанные.ПростойСправочник); - описаниеЭлемента.Вставить("ИмяПеременной", ИмяПеременной); - - МассивДанных = Новый Массив; - МассивДанных.Добавить(описаниеЭлемента); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - юТест.УдалитьСозданныеДанные(тестовыеДанные); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник", Отбор), "количество после удаления"); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - - юТест.ПроверитьРавенство(ТестовыеДанные[ИмяПеременной].РеквизитПеречисление, ЗначениеПеречисления, "СправочникСсылка.ПростойСправочник.РеквизитПеречисление"); - - КоличествоПосле = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник", Отбор); - юТест.ПроверитьРавенство(1, КоличествоПосле, "КоличествоПосле"); -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьМакетДляСозданияДвухПростыхСправочников() Экспорт - Макет = ПолучитьМакет("СозданиеДвухПростыхСправочников"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - Отбор = Новый Структура("Наименование", "Тестовое наименование", Истина); - - //описаниеЭлемента = Новый Структура("Ссылка,ИмяПеременной", ТестовыеДанные.ПростойСправочник, "ПростойСправочник1_1"); - описаниеЭлемента = СоздатьОписательЭлемента(); - описаниеЭлемента.Вставить("Ссылка", ТестовыеДанные.ПростойСправочник); - описаниеЭлемента.Вставить("ИмяПеременной", "ПростойСправочник1_1"); - описаниеЭлемента.Вставить("ВыгружатьКод", Ложь); - - ИмяПеременной2 = "ПростойСправочник2_1"; - //описаниеЭлемента2 = Новый Структура("Ссылка,ИмяПеременной", ТестовыеДанные.ПростойСправочник2, ИмяПеременной2); - описаниеЭлемента2 = СоздатьОписательЭлемента(); - описаниеЭлемента2.Вставить("Ссылка", ТестовыеДанные.ПростойСправочник2); - описаниеЭлемента2.Вставить("ИмяПеременной", ИмяПеременной2); - описаниеЭлемента2.Вставить("ВыгружатьКод", Ложь); - - МассивДанных = Новый Массив; - МассивДанных.Добавить(описаниеЭлемента); - МассивДанных.Добавить(описаниеЭлемента2); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - юТест.УдалитьСозданныеДанные(тестовыеДанные); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник", Отбор), "количество после удаления"); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник2", Отбор), "количество2 после удаления"); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - юТест.ПроверитьРавенство(МассивДанных.Количество(), ТестовыеДанные.Количество(), "МассивДанных.Количество(), ТестовыеДанные.Количество() НовыйМакет"); - юТест.ПроверитьИстину(ТестовыеДанные.Свойство(ИмяПеременной2), "Ожидали, что есть переменная '"+ИмяПеременной2+"'"); - юТест.ПроверитьТип(ТестовыеДанные[ИмяПеременной2], "СправочникСсылка.ПростойСправочник2"); - - Количество2После = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник2", Отбор); - юТест.ПроверитьРавенство(Количество2После, 1, "Количество2После"); -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьМакетДляСозданияДвухСвязанныхСправочников() Экспорт - Макет = ПолучитьМакет("СозданиеСвязанныхСправочников"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - Отбор = Новый Структура("Наименование", "Тестовое наименование", Истина); - - ИмяПеременной = "ПростойСправочник1_1"; - //описаниеЭлемента = Новый Структура("Ссылка,ИмяПеременной", ТестовыеДанные.ПростойСправочник, ИмяПеременной); - описаниеЭлемента = СоздатьОписательЭлемента(); - описаниеЭлемента.Вставить("Ссылка", ТестовыеДанные.ПростойСправочник); - описаниеЭлемента.Вставить("ИмяПеременной", ИмяПеременной); - описаниеЭлемента.Вставить("ВыгружатьКод", Ложь); - описаниеЭлемента.Вставить("РежимПоиска", "Наименование"); - - ИмяПеременной2 = "ИерархическийСправочник_1"; - //описаниеЭлемента2 = Новый Структура("Ссылка,ИмяПеременной", ТестовыеДанные.ИерархическийСправочник, ИмяПеременной2); - описаниеЭлемента2 = СоздатьОписательЭлемента(); - описаниеЭлемента2.Вставить("Ссылка", ТестовыеДанные.ИерархическийСправочник); - описаниеЭлемента2.Вставить("ИмяПеременной", ИмяПеременной2); - описаниеЭлемента2.Вставить("ВыгружатьКод", Ложь); - - МассивДанных = Новый Массив; - МассивДанных.Добавить(описаниеЭлемента); - МассивДанных.Добавить(описаниеЭлемента2); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - юТест.УдалитьСозданныеДанные(тестовыеДанные); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник", Отбор), "количество после удаления"); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ИерархическийСправочник", Отбор), "количество2 после удаления"); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - юТест.ПроверитьРавенство(МассивДанных.Количество(), ТестовыеДанные.Количество(), "МассивДанных.Количество(), ТестовыеДанные.Количество() НовыйМакет"); - юТест.ПроверитьРавенство(ТестовыеДанные[ИмяПеременной], ТестовыеДанные[ИмяПеременной2].ПростойСправочник); - - Количество2После = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ИерархическийСправочник", Отбор); - юТест.ПроверитьРавенство(Количество2После, 1, "Количество2После"); -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьМакетДляСозданияСправочникаСРеквизитомСсылка_РежимПоискаКод() Экспорт - Макет1 = ПолучитьМакет("СозданиеПростогоСправочника"); - ТестовыеДанные1 = юТест.СоздатьДанныеПоТабличномуДокументу(Макет1); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные1); - - Макет = ПолучитьМакет("СозданиеСправочникаСРеквизитомСсылка_РежимПоискаКод"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - Отбор = Новый Структура("Наименование", "Тестовое наименование", Истина); - - ИмяПеременной2 = "ИерархическийСправочник_1"; - //описаниеЭлемента2 = Новый Структура("Ссылка,ИмяПеременной", ТестовыеДанные.ИерархическийСправочник, ИмяПеременной2); - описаниеЭлемента2 = СоздатьОписательЭлемента(); - описаниеЭлемента2.Вставить("Ссылка", ТестовыеДанные.ИерархическийСправочник); - описаниеЭлемента2.Вставить("ИмяПеременной", ИмяПеременной2); - описаниеЭлемента2.Вставить("ВыгружатьКод", Ложь); - - МассивДанных = Новый Массив; - МассивДанных.Добавить(описаниеЭлемента2); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - юТест.УдалитьСозданныеДанные(тестовыеДанные); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ИерархическийСправочник", Отбор), "количество2 после удаления"); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - юТест.ПроверитьРавенство(МассивДанных.Количество(), ТестовыеДанные.Количество(), "МассивДанных.Количество(), ТестовыеДанные.Количество() НовыйМакет"); - юТест.ПроверитьРавенство(ТестовыеДанные[ИмяПеременной2].ПростойСправочник.Наименование, "Тестовое наименование"); - - Количество2После = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ИерархическийСправочник", Отбор); - юТест.ПроверитьРавенство(Количество2После, 1, "Количество2После"); -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьМакетДляСозданияСправочникаСДвумяСтрокамиВТабличнойЧасти() Экспорт - Макет = ПолучитьМакет("СозданиеСправочникаСДвумяСтрокамиВТабличнойЧасти"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - НаименованиеПростогоЭлемента = "Тест"; - Отбор = Новый Структура("Наименование", "Тестовое наименование", Истина); - - ИмяПеременной2 = "СправочникСТабЧастью"; - //описаниеЭлемента2 = Новый Структура("Ссылка,ИмяПеременной", ТестовыеДанные.СправочникСТабЧастью, ИмяПеременной2); - описаниеЭлемента2 = СоздатьОписательЭлемента(); - описаниеЭлемента2.Вставить("Ссылка", ТестовыеДанные.СправочникСТабЧастью); - описаниеЭлемента2.Вставить("ИмяПеременной", ИмяПеременной2); - описаниеЭлемента2.Вставить("ВыгружатьКод", Ложь); - - МассивДанных = Новый Массив; - МассивДанных.Добавить(описаниеЭлемента2); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - тестовыеДанные.СправочникСТабЧастью.ПолучитьОбъект().Удалить(); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("СправочникСТабЧастью", Отбор), "количество2 после удаления"); - - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - юТест.ПроверитьРавенство(МассивДанных.Количество(), ТестовыеДанные.Количество(), "МассивДанных.Количество(), ТестовыеДанные.Количество() НовыйМакет"); - юТест.ПроверитьРавенство(2, ТестовыеДанные[ИмяПеременной2].Состав.Количество(), "ТестовыеДанные[ИмяПеременной].Состав.Количество()"); - тч = ТестовыеДанные[ИмяПеременной2].Состав; - строка0 = тч[0]; - юТест.ПроверитьРавенство(НаименованиеПростогоЭлемента, строка0.ПростойСправочник.Наименование, "строка0.ПростойСправочник.Наименование"); - юТест.ПроверитьРавенство(НаименованиеПростогоЭлемента+"1", строка0.ПростойСправочник2.Наименование, "строка0.ПростойСправочник2.Наименование"); - юТест.ПроверитьРавенство(Истина, строка0.РеквизитБулево, "строка0.РеквизитБулево"); - строка1 = тч[1]; - юТест.ПроверитьРавенство(НаименованиеПростогоЭлемента, строка1.ПростойСправочник.Наименование, "строка1.ПростойСправочник.Наименование"); - юТест.ПроверитьРавенство(НаименованиеПростогоЭлемента+"2", строка1.ПростойСправочник2.Наименование, "строка1.ПростойСправочник2.Наименование"); - юТест.ПроверитьРавенство(Ложь, строка1.РеквизитБулево, "строка1.РеквизитБулево"); - - Количество2После = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("СправочникСТабЧастью", Отбор); - юТест.ПроверитьРавенство(Количество2После, 1, "Количество2После"); -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьМакетДляСозданияДокументаСДвумяСтрокамиВТабличнойЧасти() Экспорт - Макет = ПолучитьМакет("СозданиеДокументаСДвумяСтрокамиВТабличнойЧасти"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - НаименованиеПростогоЭлемента = "Тест"; - Отбор = Новый Структура; //("ПростойСправочник", ТестовыеДанные.ПростойСправочник); - - ИмяПеременной = "Документ2_2"; - //описаниеЭлемента = Новый Структура("Ссылка,ИмяПеременной", ТестовыеДанные.Документ, ИмяПеременной); - описаниеЭлемента = СоздатьОписательЭлемента(); - описаниеЭлемента.Вставить("Ссылка", ТестовыеДанные.Документ); - описаниеЭлемента.Вставить("ИмяПеременной", ИмяПеременной); - //описаниеЭлемента.Вставить("ВыгружатьКод", Ложь); - - //описаниеЭлемента_ПростойСправочник = Новый Структура("Ссылка,ИмяПеременной", ТестовыеДанные.ПростойСправочник, "ПростойСправочник"); - описаниеЭлемента_ПростойСправочник = СоздатьОписательЭлемента(); - описаниеЭлемента_ПростойСправочник.Вставить("Ссылка", ТестовыеДанные.ПростойСправочник); - описаниеЭлемента_ПростойСправочник.Вставить("ИмяПеременной", "ПростойСправочник"); - описаниеЭлемента_ПростойСправочник.Вставить("ВыгружатьКод", Ложь); - - //описаниеЭлемента_ПростойСправочник2 = Новый Структура("Ссылка,ИмяПеременной", ТестовыеДанные.ПростойСправочник22, "ПростойСправочник22"); - описаниеЭлемента_ПростойСправочник2 = СоздатьОписательЭлемента(); - описаниеЭлемента_ПростойСправочник2.Вставить("Ссылка", ТестовыеДанные.ПростойСправочник22); - описаниеЭлемента_ПростойСправочник2.Вставить("ИмяПеременной", "ПростойСправочник22"); - описаниеЭлемента_ПростойСправочник2.Вставить("ВыгружатьКод", Ложь); - - МассивДанных = Новый Массив; - МассивДанных.Добавить(описаниеЭлемента_ПростойСправочник); - МассивДанных.Добавить(описаниеЭлемента_ПростойСправочник2); - МассивДанных.Добавить(описаниеЭлемента); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - НачалоПериода = '20140401'; //НачалоДня(ТекущаяДата()); - ОкончаниеПериода = КонецДня(НачалоПериода); //ТекущаяДата()); - тестовыеДанные.Документ.ПолучитьОбъект().Удалить(); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоДокументовПоОтбору("Документ1", НачалоПериода, ОкончаниеПериода, Отбор), "количество2 после удаления"); - - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - - юТест.ПроверитьРавенство(МассивДанных.Количество(), ТестовыеДанные.Количество(), "МассивДанных.Количество(), ТестовыеДанные.Количество() НовыйМакет"); - юТест.ПроверитьРавенство(НаименованиеПростогоЭлемента, ТестовыеДанные[ИмяПеременной].ПростойСправочник.Наименование, "ТестовыеДанные[ИмяПеременной].ПростойСправочник.Наименование"); - юТест.ПроверитьРавенство(2, ТестовыеДанные[ИмяПеременной].Состав.Количество(), "ТестовыеДанные[ИмяПеременной].Состав.Количество()"); - тч = ТестовыеДанные[ИмяПеременной].Состав; - строка0 = тч[0]; - юТест.ПроверитьРавенство(НаименованиеПростогоЭлемента+"1", строка0.ПростойСправочник2.Наименование, "строка0.ПростойСправочник2.Наименование"); - юТест.ПроверитьРавенство(Ложь, строка0.РеквизитБулево, "строка0.РеквизитБулево"); - юТест.ПроверитьРавенство(150, строка0.РеквизитЧисло, "строка0.РеквизитБулево"); - строка1 = тч[1]; - юТест.ПроверитьРавенство(НаименованиеПростогоЭлемента+"2", строка1.ПростойСправочник2.Наименование, "строка1.ПростойСправочник2.Наименование"); - юТест.ПроверитьРавенство(Истина, строка1.РеквизитБулево, "строка1.РеквизитБулево"); - юТест.ПроверитьРавенство(0, строка1.РеквизитЧисло, "строка1.РеквизитБулево"); - - Количество2После = юТест.ПолучитьКоличествоДокументовПоОтбору("Документ1", НачалоПериода, ОкончаниеПериода, Отбор); - юТест.ПроверитьРавенство(1, Количество2После, "Количество2После"); -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьМакетДляСозданияДвухЗаписейВРегистреСведений() Экспорт - Макет = ПолучитьМакет("СозданиеДвухЗаписейВРегистреСведений"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - НаименованиеПростогоЭлемента = "Тест"; - Отбор = Новый Структура; //("ПростойСправочник", ТестовыеДанные.ПростойСправочник); - - Метаданное = "РегистрСведений"; - ВидМетаданного = "РегистрСведений1"; - МетаданныеРС = РегистрыСведений.РегистрСведений1.СоздатьНаборЗаписей().Метаданные(); - - ИмяПеременнойЗаписиРС_1 = "ЗаписьРегистра1_1"; - РеквизитыЗаписи1 = Новый Структура("ПростойСправочник,ПростойСправочник2,РесурсЧисло,РесурсБулево"); - ЗаполнитьЗначенияСвойств(РеквизитыЗаписи1, ТестовыеДанные.ЗаписьРегистра1); - //описаниеЗаписиРегистраСведений1 = Новый Структура("Метаданное,ИмяПеременной,Реквизиты", МетаданныеРС, ИмяПеременнойЗаписиРС_1, РеквизитыЗаписи1); - описаниеЗаписиРегистраСведений1 = СоздатьОписательЭлемента(); - описаниеЗаписиРегистраСведений1.Вставить("Метаданное", МетаданныеРС); - описаниеЗаписиРегистраСведений1.Вставить("ИмяПеременной", ИмяПеременнойЗаписиРС_1); - описаниеЗаписиРегистраСведений1.Вставить("Реквизиты", РеквизитыЗаписи1); - - ИмяПеременнойЗаписиРС_2 = "ЗаписьРегистра1_2"; - РеквизитыЗаписи2 = Новый Структура("ПростойСправочник,ПростойСправочник2,РесурсЧисло,РесурсБулево"); - ЗаполнитьЗначенияСвойств(РеквизитыЗаписи2, ТестовыеДанные.ЗаписьРегистра2); - //описаниеЗаписиРегистраСведений2 = Новый Структура("Метаданное,ИмяПеременной,Реквизиты", МетаданныеРС, ИмяПеременнойЗаписиРС_2, РеквизитыЗаписи2); - описаниеЗаписиРегистраСведений2 = СоздатьОписательЭлемента(); - описаниеЗаписиРегистраСведений2.Вставить("Метаданное", МетаданныеРС); - описаниеЗаписиРегистраСведений2.Вставить("ИмяПеременной", ИмяПеременнойЗаписиРС_2); - описаниеЗаписиРегистраСведений2.Вставить("Реквизиты", РеквизитыЗаписи2); - - //описаниеЭлемента_ПростойСправочник = Новый Структура("Ссылка,ИмяПеременной", ТестовыеДанные.ПростойСправочник, "ПростойСправочник"); - описаниеЭлемента_ПростойСправочник = СоздатьОписательЭлемента(); - описаниеЭлемента_ПростойСправочник.Вставить("Ссылка", ТестовыеДанные.ПростойСправочник); - описаниеЭлемента_ПростойСправочник.Вставить("ИмяПеременной", "ПростойСправочник"); - описаниеЭлемента_ПростойСправочник.Вставить("ВыгружатьКод", Ложь); - - //описаниеЭлемента_ПростойСправочник22 = Новый Структура("Ссылка,ИмяПеременной", ТестовыеДанные.ПростойСправочник22, "ПростойСправочник22"); - описаниеЭлемента_ПростойСправочник22 = СоздатьОписательЭлемента(); - описаниеЭлемента_ПростойСправочник22.Вставить("Ссылка", ТестовыеДанные.ПростойСправочник22); - описаниеЭлемента_ПростойСправочник22.Вставить("ИмяПеременной", "ПростойСправочник22"); - описаниеЭлемента_ПростойСправочник22.Вставить("ВыгружатьКод", Ложь); - - МассивДанных = Новый Массив; - МассивДанных.Добавить(описаниеЭлемента_ПростойСправочник); - МассивДанных.Добавить(описаниеЭлемента_ПростойСправочник22); - МассивДанных.Добавить(описаниеЗаписиРегистраСведений1); - МассивДанных.Добавить(описаниеЗаписиРегистраСведений2); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - //НовыйМакет.Показать(); - - наборЗаписей = РегистрыСведений.РегистрСведений1.СоздатьНаборЗаписей(); - наборЗаписей.Записать(); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовРегистраПоОтбору(Метаданное, ВидМетаданного, Отбор), "количество2 после удаления"); - - ПростойСправочник21_ИмяПеременной = "ПростойСправочник21"; - ПростойСправочник21 = ТестовыеДанные[ПростойСправочник21_ИмяПеременной]; - Отбор_ПростойСправочник21 = Новый Структура("Ссылка", ПростойСправочник21); - Отбор_ПростойСправочник21_Наименование = Новый Структура("Наименование", ПростойСправочник21.Наименование); - юТест.ПроверитьРавенство(НаименованиеПростогоЭлемента + "1", ПростойСправочник21.Наименование); - - //ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - тестовыеДанные.Удалить(ПростойСправочник21_ИмяПеременной); - юТест.УдалитьСозданныеДанные(тестовыеДанные); - - юТест.ПроверитьРавенство(1, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник2", Отбор_ПростойСправочник21), "количество Отбор_ПростойСправочник21 после удаления"); - юТест.ПроверитьРавенство(1, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник2", Отбор_ПростойСправочник21_Наименование), "количество Отбор_ПростойСправочник21_Наименование после удаления"); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - - юТест.ПроверитьРавенство(2, юТест.ПолучитьКоличествоЭлементовРегистраПоОтбору(Метаданное, ВидМетаданного, Отбор), "количество после добавления"); - - юТест.ПроверитьРавенство(МассивДанных.Количество(), ТестовыеДанные.Количество(), "МассивДанных.Количество(), ТестовыеДанные.Количество() НовыйМакет"); - юТест.ПроверитьИстину(ТестовыеДанные.Свойство(ИмяПеременнойЗаписиРС_1), "Ожидали, что есть переменная '"+ИмяПеременнойЗаписиРС_1+"'"); - менеджерЗаписи1 = ТестовыеДанные[ИмяПеременнойЗаписиРС_1]; - юТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, менеджерЗаписи1.ПростойСправочник); - юТест.ПроверитьРавенство(ПростойСправочник21, менеджерЗаписи1.ПростойСправочник2); - юТест.ПроверитьРавенство(300, менеджерЗаписи1.РесурсЧисло); - юТест.ПроверитьЛожь(менеджерЗаписи1.РесурсБулево); - - юТест.ПроверитьИстину(ТестовыеДанные.Свойство(ИмяПеременнойЗаписиРС_2), "Ожидали, что есть переменная '"+ИмяПеременнойЗаписиРС_2+"'"); - менеджерЗаписи2 = ТестовыеДанные[ИмяПеременнойЗаписиРС_2]; - юТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, менеджерЗаписи2.ПростойСправочник); - юТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник22, менеджерЗаписи2.ПростойСправочник2); - юТест.ПроверитьРавенство(400, менеджерЗаписи2.РесурсЧисло); - юТест.ПроверитьИстину(менеджерЗаписи2.РесурсБулево); - -КонецПроцедуры - -//} КОНЕЦ БЛОКА ЮНИТ-ТЕСТОВ \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/renames.txt" "b/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/renames.txt" deleted file mode 100644 index c380fd65..00000000 --- "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/renames.txt" +++ /dev/null @@ -1,27 +0,0 @@ -167b4fb5-06a0-4e21-80a7-2b5f681d8046-->und\167b4fb5-06a0-4e21-80a7-2b5f681d8046 -167b4fb5-06a0-4e21-80a7-2b5f681d8046.0-->und\167b4fb5-06a0-4e21-80a7-2b5f681d8046.0 -275badc4-e53d-4fbd-887f-622fad71959c-->und\275badc4-e53d-4fbd-887f-622fad71959c -275badc4-e53d-4fbd-887f-622fad71959c.0-->und\275badc4-e53d-4fbd-887f-622fad71959c.0 -3807983a-d0f1-4e96-912a-ffda06732ded-->und\3807983a-d0f1-4e96-912a-ffda06732ded -3807983a-d0f1-4e96-912a-ffda06732ded.0-->und\3807983a-d0f1-4e96-912a-ffda06732ded.0 -9eb30d94-85ce-4406-a5a1-c2fe00b9550a.0\info-->C:\Users\aayuhanov\AppData\Local\Temp\ГенерацияМакетаДанных_На_БазеРеальныхДанных.epf.und\9eb30d94-85ce-4406-a5a1-c2fe00b9550a.0\info -9eb30d94-85ce-4406-a5a1-c2fe00b9550a.0\text-->ObjectModule.txt -a547a707-255f-4af8-b1ab-a356ed29fe26-->und\a547a707-255f-4af8-b1ab-a356ed29fe26 -b109821f-c1a9-4117-835b-c4d421b89748-->und\b109821f-c1a9-4117-835b-c4d421b89748 -b109821f-c1a9-4117-835b-c4d421b89748.0-->und\b109821f-c1a9-4117-835b-c4d421b89748.0 -c331c745-1219-4f75-986d-44d966f79fe7-->und\c331c745-1219-4f75-986d-44d966f79fe7 -c331c745-1219-4f75-986d-44d966f79fe7.0-->und\c331c745-1219-4f75-986d-44d966f79fe7.0 -c697a33c-4d4f-4800-8669-ee0016acbb4f-->und\c697a33c-4d4f-4800-8669-ee0016acbb4f -c697a33c-4d4f-4800-8669-ee0016acbb4f.0-->und\c697a33c-4d4f-4800-8669-ee0016acbb4f.0 -copyinfo-->und\copyinfo -dfcc3960-ff04-462a-92db-ec59de4d3362-->und\dfcc3960-ff04-462a-92db-ec59de4d3362 -dfcc3960-ff04-462a-92db-ec59de4d3362.0-->und\dfcc3960-ff04-462a-92db-ec59de4d3362.0 -ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5-->und\ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5 -ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5.0-->und\ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5.0 -f4961c46-2e15-47a6-9809-a2e1f4cd36f9-->und\f4961c46-2e15-47a6-9809-a2e1f4cd36f9 -f4961c46-2e15-47a6-9809-a2e1f4cd36f9.0-->und\f4961c46-2e15-47a6-9809-a2e1f4cd36f9.0 -ffb12caf-d293-4c44-b1a7-2f34999d1f7e-->und\ffb12caf-d293-4c44-b1a7-2f34999d1f7e -ffb12caf-d293-4c44-b1a7-2f34999d1f7e.0-->Form\Форма -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/167b4fb5-06a0-4e21-80a7-2b5f681d8046" "b/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/167b4fb5-06a0-4e21-80a7-2b5f681d8046" deleted file mode 100644 index 24929a36..00000000 --- "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/167b4fb5-06a0-4e21-80a7-2b5f681d8046" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,167b4fb5-06a0-4e21-80a7-2b5f681d8046},"СозданиеДвухПростыхСправочников", -{1,"ru","Создание двух простых справочников"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/167b4fb5-06a0-4e21-80a7-2b5f681d8046.0" "b/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/167b4fb5-06a0-4e21-80a7-2b5f681d8046.0" deleted file mode 100644 index 07cf3c80..00000000 Binary files "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/167b4fb5-06a0-4e21-80a7-2b5f681d8046.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/275badc4-e53d-4fbd-887f-622fad71959c" "b/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/275badc4-e53d-4fbd-887f-622fad71959c" deleted file mode 100644 index 7283e30a..00000000 --- "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/275badc4-e53d-4fbd-887f-622fad71959c" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,275badc4-e53d-4fbd-887f-622fad71959c},"СозданиеОбъектаСЗаполненнымРеквизитомТипаПеречисление", -{1,"ru","Создание объекта с заполненным реквизитом типа перечисление"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/275badc4-e53d-4fbd-887f-622fad71959c.0" "b/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/275badc4-e53d-4fbd-887f-622fad71959c.0" deleted file mode 100644 index 383bf935..00000000 Binary files "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/275badc4-e53d-4fbd-887f-622fad71959c.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/3807983a-d0f1-4e96-912a-ffda06732ded" "b/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/3807983a-d0f1-4e96-912a-ffda06732ded" deleted file mode 100644 index 1ae187d3..00000000 --- "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/3807983a-d0f1-4e96-912a-ffda06732ded" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,3807983a-d0f1-4e96-912a-ffda06732ded},"СозданиеСправочникаСРеквизитомСсылка_РежимПоискаКод", -{1,"ru","Создание справочника с реквизитом ссылка режим поиска код"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/3807983a-d0f1-4e96-912a-ffda06732ded.0" "b/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/3807983a-d0f1-4e96-912a-ffda06732ded.0" deleted file mode 100644 index 38d92573..00000000 Binary files "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/3807983a-d0f1-4e96-912a-ffda06732ded.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/a547a707-255f-4af8-b1ab-a356ed29fe26" "b/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/a547a707-255f-4af8-b1ab-a356ed29fe26" deleted file mode 100644 index 79e7b0e0..00000000 --- "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/a547a707-255f-4af8-b1ab-a356ed29fe26" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{a547a707-255f-4af8-b1ab-a356ed29fe26},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,62387e90-6294-426d-a644-b8da58c6ba21,bb0feec2-d0a0-4a53-9ea6-caa359ebf6e0, -{0, -{0, -{0,0,9eb30d94-85ce-4406-a5a1-c2fe00b9550a},"тесты_ГенерацияМакетаДанных_На_БазеРеальныхДанных", -{1,"ru","Тесты генерация макета данных на базе реальных данных"},"Автор - Артур Аюханов aka artbear"} -},ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5,"",ffb12caf-d293-4c44-b1a7-2f34999d1f7e},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,8,dfcc3960-ff04-462a-92db-ec59de4d3362,167b4fb5-06a0-4e21-80a7-2b5f681d8046,c331c745-1219-4f75-986d-44d966f79fe7,3807983a-d0f1-4e96-912a-ffda06732ded,275badc4-e53d-4fbd-887f-622fad71959c,f4961c46-2e15-47a6-9809-a2e1f4cd36f9,b109821f-c1a9-4117-835b-c4d421b89748,c697a33c-4d4f-4800-8669-ee0016acbb4f}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,2,ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5,ffb12caf-d293-4c44-b1a7-2f34999d1f7e}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/b109821f-c1a9-4117-835b-c4d421b89748" "b/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/b109821f-c1a9-4117-835b-c4d421b89748" deleted file mode 100644 index 73c37584..00000000 --- "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/b109821f-c1a9-4117-835b-c4d421b89748" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,b109821f-c1a9-4117-835b-c4d421b89748},"СозданиеДокументаСДвумяСтрокамиВТабличнойЧасти", -{1,"ru","Создание документа с двумя строками в табличной части"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/b109821f-c1a9-4117-835b-c4d421b89748.0" "b/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/b109821f-c1a9-4117-835b-c4d421b89748.0" deleted file mode 100644 index 52548078..00000000 Binary files "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/b109821f-c1a9-4117-835b-c4d421b89748.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/c331c745-1219-4f75-986d-44d966f79fe7" "b/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/c331c745-1219-4f75-986d-44d966f79fe7" deleted file mode 100644 index f271b032..00000000 --- "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/c331c745-1219-4f75-986d-44d966f79fe7" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,c331c745-1219-4f75-986d-44d966f79fe7},"СозданиеСвязанныхСправочников", -{1,"ru","Создание связанных справочников"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/c331c745-1219-4f75-986d-44d966f79fe7.0" "b/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/c331c745-1219-4f75-986d-44d966f79fe7.0" deleted file mode 100644 index fdf2c306..00000000 Binary files "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/c331c745-1219-4f75-986d-44d966f79fe7.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/c697a33c-4d4f-4800-8669-ee0016acbb4f" "b/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/c697a33c-4d4f-4800-8669-ee0016acbb4f" deleted file mode 100644 index 7b3d019d..00000000 --- "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/c697a33c-4d4f-4800-8669-ee0016acbb4f" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,c697a33c-4d4f-4800-8669-ee0016acbb4f},"СозданиеДвухЗаписейВРегистреСведений", -{1,"ru","Создание двух записей в регистре сведений"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/c697a33c-4d4f-4800-8669-ee0016acbb4f.0" "b/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/c697a33c-4d4f-4800-8669-ee0016acbb4f.0" deleted file mode 100644 index d7f77d65..00000000 Binary files "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/c697a33c-4d4f-4800-8669-ee0016acbb4f.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/copyinfo" "b/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/copyinfo" deleted file mode 100644 index eff52000..00000000 --- "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/copyinfo" +++ /dev/null @@ -1,54 +0,0 @@ -{4, -{5, -{5fafd470-b0a2-485b-b255-a3b8faa26fb7,5fafd470-b0a2-485b-b255-a3b8faa26fb7,1, -{9cd510cd-abfc-11d4-9434-004095e12fc7,"_1CUnit"} -}, -{6eaeb2c4-c358-4c9b-82bf-b779f300f3e5,6eaeb2c4-c358-4c9b-82bf-b779f300f3e5,1, -{9fcd25a0-4822-11d4-9414-008048da11f9,""} -}, -{9eb30d94-85ce-4406-a5a1-c2fe00b9550a,9eb30d94-85ce-4406-a5a1-c2fe00b9550a,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"тесты_ГенерацияМакетаДанных_На_БазеРеальныхДанных"} -}, -{ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5,ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"УправляемаяФорма"} -}, -{ffb12caf-d293-4c44-b1a7-2f34999d1f7e,ffb12caf-d293-4c44-b1a7-2f34999d1f7e,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -} -}, -{5, -{280f5f0e-9c8a-49cc-bf6d-4d296cc17a63,5fafd470-b0a2-485b-b255-a3b8faa26fb7,0}, -{38bfd075-3e63-4aaa-a93e-94521380d579,6eaeb2c4-c358-4c9b-82bf-b779f300f3e5,4}, -{474c3bf6-08b5-4ddc-a2ad-989cedf11583,6eaeb2c4-c358-4c9b-82bf-b779f300f3e5,1}, -{62387e90-6294-426d-a644-b8da58c6ba21,9eb30d94-85ce-4406-a5a1-c2fe00b9550a,0}, -{e61ef7b8-f3e1-4f4b-8ac7-676e90524997,6eaeb2c4-c358-4c9b-82bf-b779f300f3e5,0} -}, -{6, -{ -{1},acf6192e-81ca-46ef-93a6-5a6968b78663, -{1} -}, -{ -{2},acf6192e-81ca-46ef-93a6-5a6968b78663, -{2} -}, -{ -{3},acf6192e-81ca-46ef-93a6-5a6968b78663, -{3} -}, -{ -{4},acf6192e-81ca-46ef-93a6-5a6968b78663, -{4} -}, -{ -{5},acf6192e-81ca-46ef-93a6-5a6968b78663, -{5} -}, -{ -{6},acf6192e-81ca-46ef-93a6-5a6968b78663, -{6} -} -}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/dfcc3960-ff04-462a-92db-ec59de4d3362" "b/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/dfcc3960-ff04-462a-92db-ec59de4d3362" deleted file mode 100644 index 63e9c2c0..00000000 --- "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/dfcc3960-ff04-462a-92db-ec59de4d3362" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,dfcc3960-ff04-462a-92db-ec59de4d3362},"СозданиеПростогоСправочника", -{1,"ru","Создание простого справочника"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/dfcc3960-ff04-462a-92db-ec59de4d3362.0" "b/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/dfcc3960-ff04-462a-92db-ec59de4d3362.0" deleted file mode 100644 index eb1b4668..00000000 Binary files "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/dfcc3960-ff04-462a-92db-ec59de4d3362.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5" "b/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5" deleted file mode 100644 index 87b52f03..00000000 --- "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5},"УправляемаяФорма", -{1,"ru","Управляемая форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5.0" "b/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5.0" deleted file mode 100644 index 10aa6545..00000000 --- "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5.0" +++ /dev/null @@ -1,1005 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{0,0,0},3,a9f3b1ac-f51b-431e-b102-55a69acdecad, -{19, -{16,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"ФормаСоздатьМакетДанных", -{1,0},1, -{1,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},3,0,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0, -{3,0, -{0},"",-1,-1,1,0},1, -{"Pattern"},"",2},a9f3b1ac-f51b-431e-b102-55a69acdecad, -{19, -{39,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"ФормаПроверитьЗагрузкуМакета", -{1,0},1, -{3,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},3,0,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0, -{3,0, -{0},"",-1,-1,1,0},1, -{"Pattern"},"",2},a9f3b1ac-f51b-431e-b102-55a69acdecad, -{19, -{19,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"ФормаСохранитьМакетДанныхВФайл", -{1,0},1, -{2,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},3,0,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0, -{3,0, -{0},"",-1,-1,1,0},1, -{"Pattern"},"",2},1},2,143c00f7-a42d-4cd7-9189-88e4467dc768, -{42, -{22,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},"ТаблицаДанных",0,0,1, -{1,0}, -{1,0}, -{1, -{3} -},0,1,0,0,0,1,1,0,0,0,0,0,1,0,1,1,0,1,2,2,1,1,0,0,0,1,2,0,0,1,1, -{0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1,1,1,13, -{"U"}, -{0}, -{0},1, -{17, -{23,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ТаблицаДанныхКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{17, -{24,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} -}, -{6,3,0,1}, -{0,0,0},1, -{0,0,1},0,1},6,77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{25,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},2,"ТаблицаДанныхСсылка",1,0, -{1,0}, -{1,0}, -{2, -{3}, -{1} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,1,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{26, -{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, -{"U"}, -{"U"},"",0, -{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}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, -{3,0,0},0}, -{1,fe115cc8-9e33-4684-a166-bd5136fe7a9f,"ТаблицаДанныхСсылкаПриИзменении"},1, -{17, -{26,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ТаблицаДанныхСсылкаКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{27,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},2,"ТаблицаДанныхМетаданное",1,0, -{1,0}, -{1,0}, -{2, -{3}, -{2} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,2,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{26, -{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, -{"U"}, -{"U"},"",0, -{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}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, -{3,0,0},0}, -{0},1, -{17, -{28,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ТаблицаДанныхМетаданноеКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{29,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},2,"ТаблицаДанныхИмяПеременной",1,0, -{1,0}, -{1,0}, -{2, -{3}, -{3} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,2,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{26, -{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, -{"U"}, -{"U"},"",0, -{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}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, -{3,0,0},0}, -{0},1, -{17, -{30,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ТаблицаДанныхИмяПеременнойКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{31,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},3,"ТаблицаДанныхВыгружатьКод",1,0, -{1,0}, -{1,0}, -{2, -{3}, -{4} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,2,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{7,0, -{3,4, -{0} -}, -{3,4, -{0} -} -}, -{0},1, -{17, -{32,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ТаблицаДанныхВыгружатьКодКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{33,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},3,"ТаблицаДанныхВыгружатьНомер",1,0, -{1,0}, -{1,0}, -{2, -{3}, -{5} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,2,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{7,0, -{3,4, -{0} -}, -{3,4, -{0} -} -}, -{0},1, -{17, -{34,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ТаблицаДанныхВыгружатьНомерКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{35,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},2,"ТаблицаДанныхРежимПоиска",1,0, -{1,0}, -{1,0}, -{2, -{3}, -{6} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,2,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{26, -{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, -{"U"}, -{"U"},"",0, -{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}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, -{3,0,0},0}, -{0},1, -{17, -{36,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ТаблицаДанныхРежимПоискаКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},2,2,1,0, -{"Pattern"},"","",2,2},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{17,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},6,"Макет",1,0, -{1,1, -{"ru","Макет данных"} -}, -{1,0}, -{1, -{2} -}, -{0},1,0,2,0,1, -{1,0}, -{1,0},1,1,0,3,0,3,1,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{7,50,10,1,1,1,1,1,1,0,0,0,1,1,1, -{3,4, -{0} -},1,1, -{0} -}, -{0},1, -{17, -{18,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"МакетКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},"","",1, -{17, -{0},0,0,0,7,"Navigator", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -}," -&НаКлиенте -Процедура СоздатьМакетДанных(Команда) - НовыйМакет = СоздатьМакетДанныхСервер(); - //НовыйМакет.Показать(); -КонецПроцедуры - -&НаСервере -Функция СоздатьМакетДанныхСервер() - Макет.Очистить(); - ОсновнойОбъект = Объект(); - массивДанных = Новый Массив; - Для каждого строка Из ТаблицаДанных Цикл - ОписательЭлемента = ОсновнойОбъект.СоздатьОписательЭлемента(); - ЗаполнитьЗначенияСвойств(ОписательЭлемента, строка); - массивДанных.Добавить(ОписательЭлемента); - КонецЦикла; - НовыйМакет = ОсновнойОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - Если ТипЗнч(НовыйМакет) = Тип(""ТабличныйДокумент"") Тогда - Макет.Вывести(НовыйМакет); - КонецЕсли; - Возврат НовыйМакет; -КонецФункции - -&НаСервере -Функция Объект() - Возврат РеквизитФормыВЗначение(""Объект""); -КонецФункции - -&НаСервере -Процедура УстановитьОбъект(Объект) - ЗначениеВРеквизитФормы(Объект, ""Объект""); -КонецПроцедуры - -&НаКлиенте -Процедура СохранитьМакетДанныхВФайл(Команда) - ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); - ДиалогВыбораФайла.ПолноеИмяФайла = """"; - ДиалогВыбораФайла.Фильтр = ""Табличный документ (*.mxl)|*.mxl|Все файлы (*.*)|*.*""; - ДиалогВыбораФайла.Заголовок = ""Выберите файл""; - Если Не ДиалогВыбораФайла.Выбрать() Тогда - Возврат; - КонецЕсли; - - Макет.Записать(ДиалогВыбораФайла.ПолноеИмяФайла); -КонецПроцедуры - -&НаКлиенте -Процедура ТаблицаДанныхСсылкаПриИзменении(Элемент) - ТаблицаДанныхСсылкаПриИзмененииСервер(Элементы.ТаблицаДанных.ТекущиеДанные.ПолучитьИдентификатор()); -КонецПроцедуры - -&НаСервере -Процедура ТаблицаДанныхСсылкаПриИзмененииСервер(ИдентификаторСтрокиДанных) - ЭлементДанных = ТаблицаДанных.НайтиПоИдентификатору(ИдентификаторСтрокиДанных); - Если ЗначениеЗаполнено(ЭлементДанных.Ссылка) Тогда - ОсновнойОбъект = Объект(); - Ид = ОсновнойОбъект.ПолучитьИдентификаторПредставленияПоСсылке(ЭлементДанных.Ссылка); - ЭлементДанных.ИмяПеременной = Ид; - ЭлементДанных.Метаданное = ЭлементДанных.Ссылка.Метаданные().ПолноеИмя(); - ЭлементДанных.РежимПоиска = ""Перем""; - КонецЕсли; -КонецПроцедуры - - -&НаКлиенте -Процедура ПротестироватьЗагрузкуМакета(Команда) - путьФайл_юТест = ПолучитьПутьОбработкиЗапускателяТестов_Сервер(); - - ИдОбработки_юТест = Новый УникальныйИдентификатор(); - ПодключитьНаСервереВнешнююОбработкуОтКлиента(путьФайл_юТест, ИдОбработки_юТест); - - ПроверитьЗагрузкуМакетаСервер(ИдОбработки_юТест, Макет); -КонецПроцедуры - -&НаСервереБезКонтекста -Процедура ПроверитьЗагрузкуМакетаСервер(ИдОбработки_юТест, ТабличныйДокумент) - НачатьТранзакцию(); - - юТест = ВнешниеОбработки.Создать(ИдОбработки_юТест); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(ТабличныйДокумент); - юТест.ПроверитьНеРавенство(0, ТестовыеДанные.Количество(), ""не заполнены тестовые данные. Возможно, макет данных пуст!"" ); - - Если ТранзакцияАктивна() Тогда - ОтменитьТранзакцию(); - КонецЕсли; - Сообщить(""Проверка загрузки объектов в ИБ из макета данных выполнена успешно.""); -КонецПроцедуры - -&НаСервере -Функция ПолучитьПутьОбработкиЗапускателяТестов_Сервер() - каталогТекущегоФайла = ПолучитьКаталогОбработкиСервер(); - - имяФайла_Раннера = ""UnitTestRunner.epf""; - Файл = Новый Файл(каталогТекущегоФайла + имяФайла_Раннера); - Если НЕ Файл.Существует() Тогда - Файл = Новый Файл(каталогТекущегоФайла + ""..\"" + имяФайла_Раннера); - Если НЕ Файл.Существует() Тогда - ВызватьИсключение ""Не удалось найти файл ""+имяФайла_Раннера; - КонецЕсли; - КонецЕсли; - путьФайл_Раннер = Файл.ПолноеИмя; - Возврат путьФайл_Раннер; -КонецФункции - -&НаСервере -Функция ПолучитьКаталогОбработкиСервер() - ОсновнойОбъект = Объект(); - МассивСтрок = ОсновнойОбъект.ПолучитьМассивИзСтрокиСРазделителем_ирЛкс(ОсновнойОбъект.ИспользуемоеИмяФайла, ""\""); - МассивСтрок.Удалить(МассивСтрок.ВГраница()); - Каталог = """"; - Для каждого Строка Из МассивСтрок Цикл - Каталог = Каталог + Строка + ""\""; - КонецЦикла; - Возврат Каталог; -КонецФункции - -&НаКлиенте -Функция ПодключитьНаСервереВнешнююОбработкуОтКлиента(ПолныйПутьФайлаОбработки, ИдентификаторОбработки) - АдресХранилища = """"; - ПоместитьФайл(АдресХранилища, ПолныйПутьФайлаОбработки,, Ложь); - Возврат ПодключитьВнешнююОбработкуСервер(АдресХранилища, ИдентификаторОбработки); -КонецФункции - -&НаСервереБезКонтекста -Функция ПодключитьВнешнююОбработкуСервер(АдресХранилища, ИдентификаторОбработки) - Возврат ВнешниеОбработки.Подключить(АдресХранилища, ИдентификаторОбработки, Ложь); // подключаю не в безопасном режиме -КонецФункции - -&НаКлиенте -Функция ПолучитьФормуВнешнейОбработки(ИдентификаторОбработки, имяОсновнойУправляемойФормы) - Попытка - Возврат ПолучитьФорму(""ВнешняяОбработка."" + ИдентификаторОбработки + "".Форма."" + имяОсновнойУправляемойФормы); - //Возврат ПолучитьФорму(""ВнешняяОбработка."" + ИдентификаторОбработки + "".Форма.Форма""); - Исключение - Возврат Неопределено; - КонецПопытки; -КонецФункции -", -{4,3, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",62387e90-6294-426d-a644-b8da58c6ba21} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},1,0,0,0, -{0,0}, -{0,0} -}, -{9, -{2},0,"Макет", -{1,1, -{"ru","Макет"} -}, -{"Pattern", -{"#",e603103e-a318-4edc-a014-b1c6cf94d49f} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{3},0,"ТаблицаДанных", -{1,1, -{"ru","Таблица данных"} -}, -{"Pattern", -{"#",acf6192e-81ca-46ef-93a6-5a6968b78663} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,6, -{5,1,0,"Ссылка", -{1,1, -{"ru","Ссылка"} -}, -{"Pattern", -{"#",280f5f0e-9c8a-49cc-bf6d-4d296cc17a63} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,2,0,"Метаданное", -{1,1, -{"ru","Метаданное"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,3,0,"ИмяПеременной", -{1,1, -{"ru","Имя переменной"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,4,0,"ВыгружатьКод", -{1,1, -{"ru","Выгружать код"} -}, -{"Pattern", -{"B"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,5,0,"ВыгружатьНомер", -{1,1, -{"ru","Выгружать номер"} -}, -{"Pattern", -{"B"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,6,0,"РежимПоиска", -{1,1, -{"ru","Режим поиска"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{0,0}, -{0,0} -},0,0, -{#base64:77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxTZXR0 -aW5ncyB4bWxucz0iaHR0cDovL3Y4LjFjLnJ1LzguMS9kYXRhLWNvbXBvc2l0aW9u -LXN5c3RlbS9zZXR0aW5ncyIgeG1sbnM6ZGNzY29yPSJodHRwOi8vdjguMWMucnUv -OC4xL2RhdGEtY29tcG9zaXRpb24tc3lzdGVtL2NvcmUiIHhtbG5zOnN0eWxlPSJo -dHRwOi8vdjguMWMucnUvOC4xL2RhdGEvdWkvc3R5bGUiIHhtbG5zOnN5cz0iaHR0 -cDovL3Y4LjFjLnJ1LzguMS9kYXRhL3VpL2ZvbnRzL3N5c3RlbSIgeG1sbnM6djg9 -Imh0dHA6Ly92OC4xYy5ydS84LjEvZGF0YS9jb3JlIiB4bWxuczp2OHVpPSJodHRw -Oi8vdjguMWMucnUvOC4xL2RhdGEvdWkiIHhtbG5zOndlYj0iaHR0cDovL3Y4LjFj -LnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93ZWIiIHhtbG5zOndpbj0iaHR0cDovL3Y4 -LjFjLnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93aW5kb3dzIiB4bWxuczp4cz0iaHR0 -cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDov -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,3, -{6, -{1,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"СоздатьМакетДанных", -{1,1, -{"ru","Создать макет данных"} -}, -{1,1, -{"ru","Создать макет данных"} -}, -{0, -{0, -{"B",1},0} -}, -{0,0,0}, -{3,0, -{0},"",-1,-1,1,0},"СоздатьМакетДанных",3,1,0, -{0,0} -}, -{6, -{2,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"СохранитьМакетДанныхВФайл", -{1,1, -{"ru","Сохранить макет данных в файл"} -}, -{1,1, -{"ru","Сохранить макет данных в файл"} -}, -{0, -{0, -{"B",1},0} -}, -{0,0,0}, -{3,0, -{0},"",-1,-1,1,0},"СохранитьМакетДанныхВФайл",3,0,0, -{0,0} -}, -{6, -{3,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"ПротестироватьЗагрузкуМакета", -{1,1, -{"ru","Протестировать загрузку макета"} -}, -{1,1, -{"ru","Протестировать загрузку макета"} -}, -{0, -{0, -{"B",1},0} -}, -{0,0,0}, -{3,0, -{0},"",-1,-1,1,0},"ПротестироватьЗагрузкуМакета",3,0,0, -{0,0} -} -}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/f4961c46-2e15-47a6-9809-a2e1f4cd36f9" "b/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/f4961c46-2e15-47a6-9809-a2e1f4cd36f9" deleted file mode 100644 index 5239d88d..00000000 --- "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/f4961c46-2e15-47a6-9809-a2e1f4cd36f9" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,f4961c46-2e15-47a6-9809-a2e1f4cd36f9},"СозданиеСправочникаСДвумяСтрокамиВТабличнойЧасти", -{1,"ru","Создание справочника с двумя строками в табличной части"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/f4961c46-2e15-47a6-9809-a2e1f4cd36f9.0" "b/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/f4961c46-2e15-47a6-9809-a2e1f4cd36f9.0" deleted file mode 100644 index 0824f6b1..00000000 Binary files "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/f4961c46-2e15-47a6-9809-a2e1f4cd36f9.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/ffb12caf-d293-4c44-b1a7-2f34999d1f7e" "b/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/ffb12caf-d293-4c44-b1a7-2f34999d1f7e" deleted file mode 100644 index 79c11bc4..00000000 --- "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/ffb12caf-d293-4c44-b1a7-2f34999d1f7e" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,ffb12caf-d293-4c44-b1a7-2f34999d1f7e},"Форма", -{1,"ru","Форма"},""},0,0}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/root" "b/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/root" deleted file mode 100644 index 1c96e8aa..00000000 --- "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,a547a707-255f-4af8-b1ab-a356ed29fe26,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/versions" "b/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/versions" deleted file mode 100644 index d8fc3425..00000000 --- "a/src/Tests/CommonApp/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,27,"9eb30d94-85ce-4406-a5a1-c2fe00b9550a.0",64be6a23-5b7f-4a33-9b32-fe48c8e36f26,"",ba10450f-f6e9-411c-a194-79ad8ca888b6,"275badc4-e53d-4fbd-887f-622fad71959c",8914c02c-aac9-418f-a674-987b75f0ca29,"ffb12caf-d293-4c44-b1a7-2f34999d1f7e.0",8a4d8113-ef3b-4aa2-90e5-0e5990511278,"c331c745-1219-4f75-986d-44d966f79fe7",d197ea67-6f35-48f6-b242-82e476821fc7,"f4961c46-2e15-47a6-9809-a2e1f4cd36f9.0",94ed40f1-f8b3-41bd-85ee-c6634f97f8af,"copyinfo",372bc021-b5ef-4e41-b400-fc2833e717ac,"275badc4-e53d-4fbd-887f-622fad71959c.0",8a0d52f1-b831-43d9-af50-21299ab83add,"b109821f-c1a9-4117-835b-c4d421b89748.0",8e936f8d-2a96-4645-a293-f23d04ba279a,"167b4fb5-06a0-4e21-80a7-2b5f681d8046",029f569e-36e2-417b-879d-52411b091723,"c697a33c-4d4f-4800-8669-ee0016acbb4f.0",58de1c86-f9e8-41c2-9951-4d7c2f05d132,"c331c745-1219-4f75-986d-44d966f79fe7.0",1cd3d153-731e-4d34-bbbb-bbc52a10ea9c,"c697a33c-4d4f-4800-8669-ee0016acbb4f",c438d482-433a-4ca6-99e3-d833dccd453a,"a547a707-255f-4af8-b1ab-a356ed29fe26",2efafd48-8987-4ea0-ae9c-5847fbae00ff,"ffb12caf-d293-4c44-b1a7-2f34999d1f7e",ff002a7e-f8df-4610-931b-39218cb8c4db,"version",1d44373d-8b3e-47d1-97d5-4df20d9d8b12,"root",f0e28429-0a85-4777-aa95-16d354e942cc,"3807983a-d0f1-4e96-912a-ffda06732ded.0",88685627-a091-4407-82c2-80282621a740,"versions",43ca7a03-faef-43d1-8ed8-401e40c73caa,"167b4fb5-06a0-4e21-80a7-2b5f681d8046.0",562dde77-59bb-4674-9069-08c8b46251d4,"3807983a-d0f1-4e96-912a-ffda06732ded",8bf40eb0-6b76-4f37-adde-0afa9e50254d,"b109821f-c1a9-4117-835b-c4d421b89748",786e2b2e-e16d-4cb6-a5ef-4fb5bffa2361,"ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5",4aaa530a-3032-477f-9db7-13c865c17212,"dfcc3960-ff04-462a-92db-ec59de4d3362",6652146e-7564-4c5a-b01c-2034813809fb,"f4961c46-2e15-47a6-9809-a2e1f4cd36f9",b4c0b725-5bf8-4a6d-bfa4-ab71d6c7646d,"ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5.0",af6cb7af-3819-449b-b263-f9a096841ac7,"dfcc3960-ff04-462a-92db-ec59de4d3362.0",4d8a7a55-25ac-494e-a24e-d67b4529086c} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/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.txt" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/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.txt" deleted file mode 100644 index fbdb939a..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/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.txt" +++ /dev/null @@ -1,337 +0,0 @@ -&НаКлиенте -Перем Коллекция_ДанныхАвтоОбъектовПриложения1С; - -&НаКлиенте -Перем УпавшиеТесты; - -&НаКлиенте -Перем ТекущийПользователь; - -&НаКлиенте -Перем юТест; // для тестирования - -//{ основная процедура для юнит-тестирования 1CUnit -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ПутьКаталогаЗапускателяТестов = СтрЗаменить(ЮТест.ИспользуемоеИмяФайла, ИмяЗапускателяТестов() + ".epf", ""); - ДополнитьСписокТестовСервер(ВсеТесты, ПутьКаталогаЗапускателяТестов); - - Возврат ВсеТесты; -КонецФункции - -&НаСервере -Процедура ДополнитьСписокТестовСервер(ВсеТесты, ПутьКаталогаЗапускателяТестов) - Объект().ДополнитьСписокТестов(ВсеТесты, ПутьКаталогаЗапускателяТестов, "УФ "); -КонецПроцедуры - -//} - -//{ БЛОК ЮНИТ-ТЕСТОВ - сами тесты - -&НаКлиенте -Процедура ПередЗапускомТеста() Экспорт - УпавшиеТесты = Неопределено; - КоличествоЗагруженныхТестов = 0; - Коллекция_ДанныхАвтоОбъектовПриложения1С = Новый Массив; - - ОбновитьПовторноИспользуемыеЗначения(); -КонецПроцедуры - -&НаКлиенте -Процедура ПослеЗапускаТеста() Экспорт - //ЮТест.УдалитьСозданныеДанные(ТестовыеДанные); - УпавшиеТесты = Неопределено; - Для каждого ДанныеАвтоОбъектаПриложения1С Из Коллекция_ДанныхАвтоОбъектовПриложения1С Цикл - - ЗавершитьСеансПользователя(ДанныеАвтоОбъектаПриложения1С.АвтоОбъектПриложения1С, ДанныеАвтоОбъектаПриложения1С.ЗапускательТестов); - - КонецЦикла; - - Коллекция_ДанныхАвтоОбъектовПриложения1С.Очистить(); - Коллекция_ДанныхАвтоОбъектовПриложения1С = Неопределено; - ТекущийПользователь = Неопределено; - ТестовыеДанные = Неопределено; - КоличествоЗагруженныхТестов = 0; -КонецПроцедуры - -&НаКлиенте -Процедура ЗавершитьСеансПользователя(АвтоОбъектПриложения1С, ЗапускательТестов) - Если ЗапускательТестов <> Неопределено Тогда - ЗапускательТестов.SetHandlerObject(Неопределено); - - ЗапускательТестов = Неопределено; - КонецЕсли; - Если АвтоОбъектПриложения1С <> Неопределено Тогда - АвтоОбъектПриложения1С.ЗавершитьРаботуСистемы(Ложь); - АвтоОбъектПриложения1С = Неопределено; - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ЗапуститьТестыВОтдельномСеансеПользователяЧерезV82_Application(Настройка) Экспорт - МассивИменПользователей = Новый Массив; - МассивИменПользователей.Добавить(ИмяПользователяПоУмолчанию()); - ЗапуститьТестыВОтдельномСеансеПользователя(Настройка, МассивИменПользователей); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ЗапуститьТестыОткрытияФормКонфигурации_ВОтдельномСеансеПользователя(Настройка) Экспорт - МассивИменПользователей = МассивИменПользователейПоУмолчанию(); - ЗапуститьТестыВОтдельномСеансеПользователя(Настройка, МассивИменПользователей); -КонецПроцедуры - -&НаКлиенте -Процедура ЗапуститьТестыВОтдельномСеансеПользователя(Настройка, МассивИменПользователей) Экспорт - СоздатьПользователей(Настройка.ИмяМакета, МассивИменПользователей); - - ЗапускатьТолстыйКлиент = Настройка.ЗапускатьТолстыйКлиент; - ПутьТестов = Настройка.ПутьТестов; - - МассивПользователей = Новый Массив(); - Для каждого ИмяПользователя Из МассивИменПользователей Цикл - МассивПользователей.Добавить(Новый Структура("Имя", ИмяПользователя)); - КонецЦикла; - - ДанныеТестовПоПользователям = Новый Соответствие; - Для каждого ТекущийПользователь Из МассивПользователей Цикл - - ДанныеТестирования = ВыполнитьТестыДляПользователяВОтдельномСеансе(ТекущийПользователь, ПутьТестов, ЗапускатьТолстыйКлиент); - МассивУпавшихТестов = ДанныеТестирования.МассивУпавшихТестов; - - Если ДанныеТестирования.КоличествоЗагруженныхТестов <> 0 И МассивУпавшихТестов.Количество() = 0 Тогда - Продолжить; - КонецЕсли; - ДанныеТестовПоПользователям.Вставить(ТекущийПользователь, ДанныеТестирования); - КонецЦикла; - - ПроверитьПрохождениеТестов(ДанныеТестовПоПользователям); -КонецПроцедуры - -&НаКлиенте -Функция ВыполнитьТестыДляПользователяВОтдельномСеансе(ТекущийПользователь, ПутьТестов, ТолстыйКлиент = Истина) - //Если Не ТолстыйКлиент Тогда - // ВызватьИсключение "В режиме Automation тонкого клиента нельзя использовать ВнешниеОбработки. Код AutomationObj.ExternalDataProcessors.Create(ПутьФайла) выдает исключение."; - //КонецЕсли; - - УпавшиеТесты = Новый Массив(); - КоличествоЗагруженныхТестов = 0; - - СтрокаСоединения = СтрокаСоединенияИнформационнойБазы(); - - СтрокаСоединения = СтрокаСоединения + "Usr=""" + ТекущийПользователь.Имя + """;Pwd=;"; - - СисИнфо = Новый СистемнаяИнформация; - ВерсияПриложения = СисИнфо.ВерсияПриложения; - ИдАвтоОбъектаПриложения1С = ""; - Если Лев(ВерсияПриложения, 3) = "8.2" Тогда - ИдАвтоОбъектаПриложения1С = "V82"; - ИначеЕсли Лев(ВерсияПриложения, 3) = "8.3" Тогда - ИдАвтоОбъектаПриложения1С = "V83"; - ИначеЕсли Лев(ВерсияПриложения, 3) = "8.4" Тогда - ИдАвтоОбъектаПриложения1С = "V84"; - Иначе - ВызватьИсключение "Версию приложению <"+ВерсияПриложения+"> обрабатывать не умеем"; - КонецЕсли; - - Если Не ТолстыйКлиент Тогда - ИдАвтоОбъектаПриложения1С = ИдАвтоОбъектаПриложения1С + "C"; - КонецЕсли; - - ИдАвтоОбъектаПриложения1С = ИдАвтоОбъектаПриложения1С + ".Application"; - - АвтоОбъектПриложения1С = new COMObject(ИдАвтоОбъектаПриложения1С); - - Успешно = АвтоОбъектПриложения1С.connect(СтрокаСоединения); - ЮТест.Проверить(Успешно, "АвтоОбъектПриложения1С.connect(СтрокаСоединения)"); - АвтоОбъектПриложения1С.Visible = true; - - ДанныеАвтоОбъектовПриложения1С = Новый Структура("АвтоОбъектПриложения1С,ЗапускательТестов", АвтоОбъектПриложения1С, Неопределено); - Коллекция_ДанныхАвтоОбъектовПриложения1С.Добавить(ДанныеАвтоОбъектовПриложения1С); - - ИспользуемоеИмяФайлаЗапускателяТестов = ЮТест.ИспользуемоеИмяФайла; - - Если ТолстыйКлиент Тогда - ЗапускательТестов = АвтоОбъектПриложения1С.ВнешниеОбработки.Создать(ИспользуемоеИмяФайлаЗапускателяТестов, Ложь); - - ЗапускательТестов.ЗапретИспользованияИнформатора = Истина; - ЗапускательТестов.SetHandlerObject(ЭтаФорма); - ЗапускательТестов.OpenBrowserForm(); - - ЗапускательТестов.LoadAllTests(ПутьТестов); - Иначе - НашлиОбщийМодуль = Истина; - Попытка - xddМодуль = АвтоОбъектПриложения1С.xddКлиент; - Исключение - НашлиОбщийМодуль = Ложь; - КонецПопытки; - ЮТест.Проверить(НашлиОбщийМодуль, "Для запусков тестов пользователей в тонком клиенте требуется общий модуль xddКлиент"); - - ИдОбработки_юТест = ИмяЗапускателяТестов(); - ЗапускательТестов = xddМодуль.ПодключитьНаСервереВнешнююОбработкуОтКлиента(ИспользуемоеИмяФайлаЗапускателяТестов, ИдОбработки_юТест); - - ЗапускательТестов = АвтоОбъектПриложения1С.ПолучитьФорму("ВнешняяОбработка."+ИдОбработки_юТест+".Форма.УправляемаяФорма"); - - ЗапускательТестов.Пути.Очистить(); - ЗапускательТестов.Пути.Добавить(ПутьТестов); - - ЗапускательТестов.ЗапретИспользованияИнформатора = Истина; - ЗапускательТестов.SetHandlerObject(ЭтаФорма); - ЗапускательТестов.OpenBrowserForm(); //ЗапускательТестов.Открыть(); - - //ЗапускательТестов.LoadAllTests(ПутьТестов); - - КонецЕсли; - ДанныеАвтоОбъектовПриложения1С.Вставить("ЗапускательТестов", ЗапускательТестов); - - Если КоличествоЗагруженныхТестов <> 0 Тогда - ЗапускательТестов.RunAllTests(); - КонецЕсли; - - Рез = Новый Структура("МассивУпавшихТестов,КоличествоЗагруженныхТестов", УпавшиеТесты, КоличествоЗагруженныхТестов); - УпавшиеТесты = Неопределено; // чтоб освободить глобальную переменную - КоличествоЗагруженныхТестов = 0; - Возврат Рез; -КонецФункции - -&НаКлиенте -Процедура СоздатьПользователей(ИмяМакета, МассивИменПользователей) - Макет = ПодготовитьсяКСозданиюПользователейСервер(ИмяМакета, МассивИменПользователей); - юТест.СоздатьДанныеПоТабличномуДокументу(Макет); -КонецПроцедуры - -Функция ПодготовитьсяКСозданиюПользователейСервер(ИмяМакета, МассивИменПользователей) - НаборРолей = Объект().СоздатьНаборРолей(); - СтрокаОшибок = ""; - Если Не ПроверитьНаличиеРолейСервер(НаборРолей, СтрокаОшибок) Тогда - ВызватьИсключение "Тест не будет работать в текущей конфигурации"+Символы.ПС+СтрокаОшибок; - КонецЕсли; - - Для каждого ИмяПользователя Из МассивИменПользователей Цикл - УдалитьПользователяИБ_ЕслиОнСуществуетСервер(ИмяПользователя); - КонецЦикла; - - Объект.НаборРолей = НаборРолей; - Объект.НаборПользователей = Объект().СоздатьНаборПользователей(); - Макет = Объект().ЗаполнитьТестовыйМакет(ИмяМакета); - Возврат Макет; -КонецФункции - -&НаСервереБезКонтекста -Функция ПроверитьНаличиеРолейСервер(НаборРолей, СтрокаОшибок) - СтрокаОшибок = ""; - Для каждого КлючЗначение Из НаборРолей Цикл - ИмяРоли = КлючЗначение.Значение; - Если Метаданные.Роли.Найти(ИмяРоли) = Неопределено Тогда - СтрокаОшибок = СтрокаОшибок + "В метаданных нет роли <"+ИмяРоли+">"; - КонецЕсли; - КонецЦикла; - Возврат Не ЗначениеЗаполнено(СтрокаОшибок); -КонецФункции - -// { обработчики событий xUnitFor1C - -&НаКлиенте -Процедура ВывестиСообщение(Сообщение) Экспорт - Префикс = ""; - Если ТекущийПользователь <> Неопределено Тогда - Префикс = "Сообщение от сеанса <"+ТекущийПользователь.Имя + "> : "; - КонецЕсли; - Сообщить(Префикс + Сообщение); -КонецПроцедуры - -&НаКлиенте -Процедура TestLoaded(Параметр) Экспорт - //Сообщить("TestLoaded " +Параметр.Имя); - Если ТекущийПользователь <> Неопределено Тогда - Параметр.Имя = "<"+ТекущийПользователь.Имя + "> : " + Параметр.Имя; // +", путь <"+Параметр.ПолныйПуть+">"; - КонецЕсли; - КоличествоЗагруженныхТестов = КоличествоЗагруженныхТестов + 1; - //Сообщить("TestLoaded " +Параметр.Имя); -КонецПроцедуры - -&НаКлиенте -Процедура TestFailed(Параметр) Экспорт - //Сообщить("TestFailed " +Параметр.Имя); - УпавшиеТесты.Добавить(Параметр); -КонецПроцедуры - -// } - -&НаКлиенте -Процедура ПроверитьПрохождениеТестов(ДанныеТестовПоПользователям) - ОбщаяСтрокаОписанияУпавшихТестов = ""+Символы.ПС; - ОбщееКоличествоУпавшихТестов = 0; - ОбщееКоличествоПользователейУКоторыхНеЗагрузилисьТесты = 0; - Для каждого КлючЗначение Из ДанныеТестовПоПользователям Цикл - ТекущийПользователь = КлючЗначение.Ключ; - //Сообщить(ТекущийПользователь); - - ДанныеТестирования = КлючЗначение.Значение; - МассивУпавшихТестов = ДанныеТестирования.МассивУпавшихТестов; - ЮТест.ПроверитьТип(МассивУпавшихТестов, "Массив", "Пользователь <"+ТекущийПользователь.Имя + ": МассивУпавшихТестов"); - - СтрокаОписанияУпавшихТестов = ""+Символы.ПС; - - КоличествоЗагруженныхТестов = ДанныеТестирования.КоличествоЗагруженныхТестов; - Если КоличествоЗагруженныхТестов = 0 Тогда - ОбщееКоличествоПользователейУКоторыхНеЗагрузилисьТесты = ОбщееКоличествоПользователейУКоторыхНеЗагрузилисьТесты + 1; - ОбщаяСтрокаОписанияУпавшихТестов = ОбщаяСтрокаОписанияУпавшихТестов + "У пользователя <"+ТекущийПользователь.Имя + "> не загрузились тесты!"+ - СтрокаОписанияУпавшихТестов; - Продолжить; - КонецЕсли; - - ОбщееКоличествоУпавшихТестов = ОбщееКоличествоУпавшихТестов + МассивУпавшихТестов.Количество(); - Для каждого СтрокаДереваТестов Из МассивУпавшихТестов Цикл - СтрокаОписанияУпавшихТестов = СтрокаОписанияУпавшихТестов + " "+ - //"<"+ТекущийПользователь.Имя + "> : " + СтрокаДереваТестов.Имя +", путь <"+ - ": <" + СтрокаДереваТестов.Имя +">, путь <"+ - СтрокаДереваТестов.ПолныйПуть+">" +Символы.ПС; - КонецЦикла; - ОбщаяСтрокаОписанияУпавшихТестов = ОбщаяСтрокаОписанияУпавшихТестов + "У пользователя <"+ТекущийПользователь.Имя + "> упали тесты < "+МассивУпавшихТестов.Количество()+" шт.>:"+ - СтрокаОписанияУпавшихТестов; - КонецЦикла; - //Если ОбщееКоличествоПользователейУКоторыхНеЗагрузилисьТесты > 0 Тогда - // ВызватьИсключение Символы.ПС+"При тестировании разных сеансов пользователей вообще не удалось загрузить тесты. Всего <"+ОбщееКоличествоПользователейУКоторыхНеЗагрузилисьТесты+" пользователей>:"+Символы.ПС+ - // ОбщаяСтрокаОписанияУпавшихТестов; - //КонецЕсли; - Если ОбщееКоличествоУпавшихТестов > 0 Тогда - ВызватьИсключение Символы.ПС+"При тестировании разных сеансов пользователей упали тесты <"+ОбщееКоличествоУпавшихТестов+" шт.>:"+Символы.ПС+ - ОбщаяСтрокаОписанияУпавшихТестов; - КонецЕсли; -КонецПроцедуры - -&НаСервере -Процедура УдалитьПользователяИБ_ЕслиОнСуществуетСервер(лИмяПользователя) - Объект().УдалитьПользователяИБ_ЕслиОнСуществует(лИмяПользователя); -КонецПроцедуры - -&НаСервере -Функция Объект() - Возврат РеквизитФормыВЗначение("Объект"); -КонецФункции - -&НаКлиенте -Функция ИмяПользователяПоУмолчанию() - Возврат "ТестИмя"; // должно совпадать с макетом; -КонецФункции - -&НаКлиенте -Функция МассивИменПользователейПоУмолчанию() - Рез = Новый Массив(); - Рез.Добавить(ИмяПользователяПоУмолчанию()); - Рез.Добавить("ТестИмя2");// должно совпадать с макетом; - Возврат Рез; -КонецФункции - -&НаКлиенте -Функция ИмяЗапускателяТестов() - Возврат "xddTestRunner"; -КонецФункции - -//} КОНЕЦ БЛОКА ЮНИТ-ТЕСТОВ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/ObjectModule.txt" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/ObjectModule.txt" deleted file mode 100644 index f064386d..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/ObjectModule.txt" +++ /dev/null @@ -1,404 +0,0 @@ -Перем Коллекция_ДанныхАвтоОбъектовПриложения1С; -Перем ТекущийПользователь; -Перем УпавшиеТесты; -Перем КоличествоЗагруженныхТестов; - -Перем ТестовыеДанные; - -Перем ЮТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - СоздатьНаборРолей(); - СоздатьНаборПользователей(); - - ВсеТесты = Новый Массив; - ДополнитьСписокТестов(ВсеТесты, КаталогЗапускателяТестов()); - - Возврат ВсеТесты; -КонецФункции - -Функция СоздатьНаборРолей() Экспорт - НаборРолей = Новый Структура("Роль1,ПраваНеобходимыеДляТестирования", "Роль1", "ПраваНеобходимыеДляТестирования"); - НаборРолей = Новый ФиксированнаяСтруктура(НаборРолей); - Возврат НаборРолей; -КонецФункции - -Функция СоздатьНаборПользователей() Экспорт - НаборПользователей = Новый Структура("ПользовательПоУмолчанию,Пользователь2", "ТестИмя", "ТестИмя2"); - НаборПользователей = Новый ФиксированнаяСтруктура(НаборПользователей); - Возврат НаборПользователей; -КонецФункции - -Функция ДополнитьСписокТестов(ВсеТесты, КаталогЗапускателяТестов, ПрефиксПредставления = "") Экспорт - - ПутьТестов = КаталогЗапускателяТестов+"Tests\selftests\Тест_ПараметрыТестов.epf"; //TestsShouldFail\ТестПримерСломаногоТеста.epf - - СисИнфо = Новый СистемнаяИнформация; - ВерсияПриложения = СисИнфо.ВерсияПриложения; - Суффикс = ""; - Если Найти(Строка(СисИнфо.ТипПлатформы), "Linux")>0 Тогда - - Суффикс = "Linux"; - КонецЕсли; - - Настройка = Новый Структура("ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов", "СозданиеОдногоПользователяИБ", Истина, ПутьТестов); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ТестДолжен_ЗапуститьТестыВОтдельномСеансеПользователяЧерезV82_Application"+Суффикс, - ПрефиксПредставления + "Протестить в отдельном сеансе пользователя (Обычное приложение)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - Настройка = Новый Структура("ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов", "СозданиеОдногоПользователяИБ_УФ", Истина, ПутьТестов); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ТестДолжен_ЗапуститьТестыВОтдельномСеансеПользователяЧерезV82_Application"+Суффикс, - ПрефиксПредставления + "Протестить в отдельном сеансе пользователя (Упр.приложение толстый клиент)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - Настройка = Новый Структура("ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов", "СозданиеОдногоПользователяИБ_УФ", Ложь, ПутьТестов); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ТестДолжен_ЗапуститьТестыВОтдельномСеансеПользователяЧерезV82_Application"+Суффикс, - ПрефиксПредставления + "Протестить в отдельном сеансе пользователя (Упр.приложение тонкий клиент)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - ПутьТестов = КаталогЗапускателяТестов+"Tests\CommonApp\тесты_ОткрытиеФормКонфигурации.epf"; - - Настройка = Новый Структура("ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов", "СозданиеНесколькихПользователейИБ", Истина, ПутьТестов); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ТестДолжен_ЗапуститьТестыОткрытияФормКонфигурации_ВОтдельномСеансеПользователя"+Суффикс, - ПрефиксПредставления + "Открытие всех форм конфигурации в 2-х отдельных сеансах разных пользователей (Обычное приложение)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - Настройка = Новый Структура("ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов", "СозданиеНесколькихПользователейИБ_УФ", Истина, ПутьТестов); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ТестДолжен_ЗапуститьТестыОткрытияФормКонфигурации_ВОтдельномСеансеПользователя"+Суффикс, - ПрефиксПредставления + "Открытие всех форм конфигурации в 2-х отдельных сеансах разных пользователей (Упр.приложение толстый клиент)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - Настройка = Новый Структура("ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов", "СозданиеНесколькихПользователейИБ_УФ", Ложь, ПутьТестов); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ТестДолжен_ЗапуститьТестыОткрытияФормКонфигурации_ВОтдельномСеансеПользователя"+Суффикс, - ПрефиксПредставления + "Открытие всех форм конфигурации в 2-х отдельных сеансах разных пользователей (Упр.приложение тонкий клиент)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - Возврат ВсеТесты; -КонецФункции - -Процедура ПередЗапускомТеста() Экспорт - УпавшиеТесты = Неопределено; - КоличествоЗагруженныхТестов = 0; - Коллекция_ДанныхАвтоОбъектовПриложения1С = Новый Массив; -КонецПроцедуры - -Процедура ПослеЗапускаТеста() Экспорт - Если ТестовыеДанные <> Неопределено Тогда - ЮТест.УдалитьСозданныеДанные(ТестовыеДанные); - КонецЕсли; - - УпавшиеТесты = Неопределено; - Для каждого ДанныеАвтоОбъектаПриложения1С Из Коллекция_ДанныхАвтоОбъектовПриложения1С Цикл - - ЗавершитьСеансПользователя(ДанныеАвтоОбъектаПриложения1С.АвтоОбъектПриложения1С, ДанныеАвтоОбъектаПриложения1С.ЗапускательТестов); - - КонецЦикла; - - Коллекция_ДанныхАвтоОбъектовПриложения1С.Очистить(); - Коллекция_ДанныхАвтоОбъектовПриложения1С = Неопределено; - ТекущийПользователь = Неопределено; - ТестовыеДанные = Неопределено; - КоличествоЗагруженныхТестов = 0; -КонецПроцедуры - -Процедура ЗавершитьСеансПользователя(АвтоОбъектПриложения1С, ЗапускательТестов) - Если ЗапускательТестов <> Неопределено Тогда - ЗапускательТестов.SetHandlerObject(Неопределено); - - ЗапускательТестов = Неопределено; - КонецЕсли; - Если АвтоОбъектПриложения1С <> Неопределено Тогда - АвтоОбъектПриложения1С.ЗавершитьРаботуСистемы(Ложь); - АвтоОбъектПриложения1С = Неопределено; - КонецЕсли; -КонецПроцедуры - - -Процедура ТестДолжен_ЗапуститьТестыВОтдельномСеансеПользователяЧерезV82_Application(Настройка) Экспорт - ИмяМакета = Настройка.ИмяМакета; - ЗапускатьТолстыйКлиент = Настройка.ЗапускатьТолстыйКлиент; - ПутьТестов = Настройка.ПутьТестов; - - СтрокаОшибок = ""; - Для каждого КлючЗначение Из НаборРолей Цикл - ИмяРоли = КлючЗначение.Значение; - Если Метаданные.Роли.Найти(ИмяРоли) = Неопределено Тогда - СтрокаОшибок = СтрокаОшибок + "В метаданных нет роли <"+ИмяРоли+">"; - КонецЕсли; - КонецЦикла; - Если ЗначениеЗаполнено(СтрокаОшибок) Тогда - ВызватьИсключение "Тест не будет работать в текущей конфигурации"+Символы.ПС+СтрокаОшибок; - КонецЕсли; - - лИмяПользователя = НаборПользователей.ПользовательПоУмолчанию; - УдалитьПользователяИБ_ЕслиОнСуществует(лИмяПользователя); - - ТестовыеДанные = СоздатьТестовыеДанные(ИмяМакета); - - юТест.ПроверитьТип(ТестовыеДанные.Пользователь1, "ПользовательИнформационнойБазы"); - - ТекущийПользователь = ТестовыеДанные.Пользователь1; - - ДанныеТестирования = ВыполнитьТестыДляПользователяВОтдельномСеансе(ТекущийПользователь, ПутьТестов, ЗапускатьТолстыйКлиент); - МассивУпавшихТестов = ДанныеТестирования.МассивУпавшихТестов; - - ДанныеТестовПоПользователям = Новый Соответствие; - ДанныеТестовПоПользователям.Вставить(ТекущийПользователь, ДанныеТестирования); - - ПроверитьПрохождениеТестов(ДанныеТестовПоПользователям); -КонецПроцедуры - -Процедура ТестДолжен_ЗапуститьТестыОткрытияФормКонфигурации_ВОтдельномСеансеПользователя(Настройка) Экспорт - ИмяМакета = Настройка.ИмяМакета; - ЗапускатьТолстыйКлиент = Настройка.ЗапускатьТолстыйКлиент; - ПутьТестов = Настройка.ПутьТестов; - - Для каждого КлючЗначение Из НаборПользователей Цикл - ИмяПользователя = КлючЗначение.Значение; - УдалитьПользователяИБ_ЕслиОнСуществует(ИмяПользователя); - КонецЦикла; - - ТестовыеДанные = СоздатьТестовыеДанные(ИмяМакета); - - ДанныеТестовПоПользователям = Новый Соответствие; - Для каждого КлючЗначение Из ТестовыеДанные Цикл - ТекущийПользователь = КлючЗначение.Значение; - Если ТипЗнч(ТекущийПользователь) <> Тип("ПользовательИнформационнойБазы") Тогда - Продолжить; - КонецЕсли; - - ДанныеТестирования = ВыполнитьТестыДляПользователяВОтдельномСеансе(ТекущийПользователь, ПутьТестов, ЗапускатьТолстыйКлиент); - МассивУпавшихТестов = ДанныеТестирования.МассивУпавшихТестов; - - Если ДанныеТестирования.КоличествоЗагруженныхТестов <> 0 И МассивУпавшихТестов.Количество() = 0 Тогда - Продолжить; - КонецЕсли; - ДанныеТестовПоПользователям.Вставить(ТекущийПользователь, ДанныеТестирования); - КонецЦикла; - - ПроверитьПрохождениеТестов(ДанныеТестовПоПользователям); -КонецПроцедуры - -Функция ВыполнитьТестыДляПользователяВОтдельномСеансе(ТекущийПользователь, ПутьТестов, ТолстыйКлиент = Истина) - - ФайлПутьТестов = Новый Файл(ПутьТестов); - ЮТест.Проверить(ФайлПутьТестов.Существует(), "Не существует файл/каталог <"+ПутьТестов+">"); - - УпавшиеТесты = Новый Массив(); - КоличествоЗагруженныхТестов = 0; - - СтрокаСоединения = СтрокаСоединенияИнформационнойБазы(); - - СтрокаСоединения = СтрокаСоединения + "Usr=""" + ТекущийПользователь.Имя + """;"; - - СисИнфо = Новый СистемнаяИнформация; - ВерсияПриложения = СисИнфо.ВерсияПриложения; - ИдАвтоОбъектаПриложения1С = ""; - Если Лев(ВерсияПриложения, 3) = "8.2" Тогда - ИдАвтоОбъектаПриложения1С = "V82"; - ИначеЕсли Лев(ВерсияПриложения, 3) = "8.3" Тогда - ИдАвтоОбъектаПриложения1С = "V83"; - ИначеЕсли Лев(ВерсияПриложения, 3) = "8.4" Тогда - ИдАвтоОбъектаПриложения1С = "V84"; - Иначе - ВызватьИсключение "Версию приложению <"+ВерсияПриложения+"> обрабатывать не умеем"; - КонецЕсли; - - Если Не ТолстыйКлиент Тогда - ИдАвтоОбъектаПриложения1С = ИдАвтоОбъектаПриложения1С + "C"; - КонецЕсли; - - ИдАвтоОбъектаПриложения1С = ИдАвтоОбъектаПриложения1С + ".Application"; - - АвтоОбъектПриложения1С = new COMObject(ИдАвтоОбъектаПриложения1С); - - Успешно = АвтоОбъектПриложения1С.connect(СтрокаСоединения); - ЮТест.Проверить(Успешно, "АвтоОбъектПриложения1С.connect(СтрокаСоединения)"); - АвтоОбъектПриложения1С.Visible = true; - - ДанныеАвтоОбъектовПриложения1С = Новый Структура("АвтоОбъектПриложения1С,ЗапускательТестов", АвтоОбъектПриложения1С, Неопределено); - Коллекция_ДанныхАвтоОбъектовПриложения1С.Добавить(ДанныеАвтоОбъектовПриложения1С); - - ПолныйПутьЗапускателяТестов = ПолноеИмяВнешнейОбработкиДляЗапускаТестовЧерезКоманднуюСтрокуПредприятия(); - - Если ТолстыйКлиент Тогда - Если ЮТест.ЭтоВнешняяОбработка() Тогда - ЗапускательТестов = АвтоОбъектПриложения1С.ВнешниеОбработки.Создать(ПолныйПутьЗапускателяТестов, Ложь); - Иначе - ЗапускательТестов = АвтоОбъектПриложения1С.Обработки[ИмяЗапускателяТестов()].Создать(); - КонецЕсли; - - ЗапускательТестов.ЗапретИспользованияИнформатора = Истина; - ЗапускательТестов.SetHandlerObject(ЭтотОбъект); - ЗапускательТестов.OpenBrowserForm(); - - ЗапускательТестов.LoadAllTests(ПутьТестов); - - Иначе - - НашлиОбщийМодуль = Истина; - Попытка - xddМодуль = АвтоОбъектПриложения1С.xddКлиент; - Исключение - НашлиОбщийМодуль = Ложь; - КонецПопытки; - ЮТест.Проверить(НашлиОбщийМодуль, "Для запусков тестов пользователей в тонком клиенте требуется общий модуль xddКлиент"); - - ИдОбработки_юТест = ИмяЗапускателяТестов(); - - Если ЮТест.ЭтоВнешняяОбработка() Тогда - ЗапускательТестов = xddМодуль.ПодключитьНаСервереВнешнююОбработкуОтКлиента(ПолныйПутьЗапускателяТестов, ИдОбработки_юТест); - ЗапускательТестов = АвтоОбъектПриложения1С.ПолучитьФорму("ВнешняяОбработка."+ИдОбработки_юТест+".Форма.УправляемаяФорма"); - Иначе - ЗапускательТестов = АвтоОбъектПриложения1С.ПолучитьФорму("Обработка."+ИдОбработки_юТест+".Форма.УправляемаяФорма"); - КонецЕсли; - - ЗапускательТестов.Пути.Очистить(); - ЗапускательТестов.Пути.Добавить(ПутьТестов); - - ЗапускательТестов.ЗапретИспользованияИнформатора = Истина; - ЗапускательТестов.SetHandlerObject(ЭтотОбъект); - ЗапускательТестов.OpenBrowserForm(); //ЗапускательТестов.Открыть(); - - //ЗапускательТестов.LoadAllTests(ПутьТестов); - - КонецЕсли; - ДанныеАвтоОбъектовПриложения1С.Вставить("ЗапускательТестов", ЗапускательТестов); - - Если КоличествоЗагруженныхТестов <> 0 Тогда - ЗапускательТестов.RunAllTests(); - КонецЕсли; - - Рез = Новый Структура("МассивУпавшихТестов,КоличествоЗагруженныхТестов", УпавшиеТесты, КоличествоЗагруженныхТестов); - УпавшиеТесты = Неопределено; // чтоб освободить глобальную переменную - КоличествоЗагруженныхТестов = 0; - Возврат Рез; -КонецФункции - -Процедура ПроверитьПрохождениеТестов(ДанныеТестовПоПользователям) - ОбщаяСтрокаОписанияУпавшихТестов = ""+Символы.ПС; - ОбщееКоличествоУпавшихТестов = 0; - ОбщееКоличествоПользователейУКоторыхНеЗагрузилисьТесты = 0; - Для каждого КлючЗначение Из ДанныеТестовПоПользователям Цикл - ТекущийПользователь = КлючЗначение.Ключ; - - ДанныеТестирования = КлючЗначение.Значение; - МассивУпавшихТестов = ДанныеТестирования.МассивУпавшихТестов; - ЮТест.ПроверитьТип(МассивУпавшихТестов, "Массив", "Пользователь <"+ТекущийПользователь.Имя + ": МассивУпавшихТестов"); - - СтрокаОписанияУпавшихТестов = ""+Символы.ПС; - - КоличествоЗагруженныхТестов = ДанныеТестирования.КоличествоЗагруженныхТестов; - Если КоличествоЗагруженныхТестов = 0 Тогда - ОбщееКоличествоПользователейУКоторыхНеЗагрузилисьТесты = ОбщееКоличествоПользователейУКоторыхНеЗагрузилисьТесты + 1; - ОбщаяСтрокаОписанияУпавшихТестов = ОбщаяСтрокаОписанияУпавшихТестов + "У пользователя <"+ТекущийПользователь.Имя + "> не загрузились тесты!"+ - СтрокаОписанияУпавшихТестов; - Продолжить; - КонецЕсли; - - ОбщееКоличествоУпавшихТестов = ОбщееКоличествоУпавшихТестов + МассивУпавшихТестов.Количество(); - Для каждого СтрокаДереваТестов Из МассивУпавшихТестов Цикл - СтрокаОписанияУпавшихТестов = СтрокаОписанияУпавшихТестов + " "+ - ": <" + СтрокаДереваТестов.Имя +">, путь <"+ - СтрокаДереваТестов.ПолныйПуть+">" +Символы.ПС; - КонецЦикла; - ОбщаяСтрокаОписанияУпавшихТестов = ОбщаяСтрокаОписанияУпавшихТестов + "У пользователя <"+ТекущийПользователь.Имя + "> упали тесты < "+МассивУпавшихТестов.Количество()+" шт.>:"+ - СтрокаОписанияУпавшихТестов; - КонецЦикла; - //Если ОбщееКоличествоПользователейУКоторыхНеЗагрузилисьТесты > 0 Тогда - // ВызватьИсключение Символы.ПС+"При тестировании разных сеансов пользователей вообще не удалось загрузить тесты. Всего <"+ОбщееКоличествоПользователейУКоторыхНеЗагрузилисьТесты+" пользователей>:"+Символы.ПС+ - // ОбщаяСтрокаОписанияУпавшихТестов; - //КонецЕсли; - Если ОбщееКоличествоУпавшихТестов > 0 Тогда - ВызватьИсключение Символы.ПС+"При тестировании разных сеансов пользователей упали тесты <"+ОбщееКоличествоУпавшихТестов+" шт.>:"+Символы.ПС+ - ОбщаяСтрокаОписанияУпавшихТестов; - КонецЕсли; -КонецПроцедуры - -Процедура УдалитьПользователяИБ_ЕслиОнСуществует(лИмяПользователя) Экспорт - - лПользователь = ПользователиИнформационнойБазы.НайтиПоИмени(лИмяПользователя); - Если лПользователь <> Неопределено Тогда - лПользователь.Удалить(); - КонецЕсли; - -КонецПроцедуры - -Функция СоздатьТестовыеДанные(ИмяМакета) Экспорт - Макет = ЗаполнитьТестовыйМакет(ИмяМакета); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - Возврат ТестовыеДанные; -КонецФункции - -Функция ЗаполнитьТестовыйМакет(ИмяМакета) Экспорт - ПараметрыМакета = Новый Массив; - ПараметрыМакета.Добавить(НаборПользователей); - ПараметрыМакета.Добавить(НаборРолей); - - Макет = ПолучитьМакетДанныхДоступа(ИмяМакета, ПараметрыМакета); - Возврат Макет; -КонецФункции - -// { обработчики событий xUnitFor1C - -Процедура ВывестиСообщение(Сообщение) Экспорт - Префикс = ""; - Если ТекущийПользователь <> Неопределено Тогда - Префикс = "Сообщение от сеанса <"+ТекущийПользователь.Имя + "> : "; - КонецЕсли; - Сообщить(Префикс + Сообщение); -КонецПроцедуры - -Процедура TestLoaded(Параметр) Экспорт - Если ТекущийПользователь <> Неопределено Тогда - Параметр.Имя = "<"+ТекущийПользователь.Имя + "> : " + Параметр.Имя; // +", путь <"+Параметр.ПолныйПуть+">"; - КонецЕсли; - КоличествоЗагруженныхТестов = КоличествоЗагруженныхТестов + 1; - //Сообщить("TestLoaded " +Параметр.Имя); -КонецПроцедуры - -Процедура TestFailed(Параметр) Экспорт - //Сообщить("TestFailed " +Параметр.Имя); - УпавшиеТесты.Добавить(Параметр); -КонецПроцедуры - -// } - -Функция КаталогЗапускателяТестов() - Если ЮТест.ЭтоВнешняяОбработка() Тогда - КаталогЗапускателяТестов = Новый Файл(ЮТест.ИспользуемоеИмяФайла); - Иначе - Файл = Новый Файл(ЭтотОбъект.ИспользуемоеИмяФайла); - КаталогЗапускателяТестов = Новый Файл(Файл.Путь+"\.."); - КонецЕсли; - Возврат КаталогЗапускателяТестов.Путь; -КонецФункции - -Функция ПолноеИмяВнешнейОбработкиДляЗапускаТестовЧерезКоманднуюСтрокуПредприятия() - Если ЮТест.ЭтоВнешняяОбработка() Тогда - ПутьФайла = ЮТест.ИспользуемоеИмяФайла; - Иначе - ПутьФайла = КаталогЗапускателяТестов() + "xddScriptRunner.epf"; - КонецЕсли; - Возврат ПутьФайла; -КонецФункции - -Функция ИмяЗапускателяТестов() - Возврат "xddTestRunner"; -КонецФункции - -Функция ПолучитьМакетДанныхДоступа(ИмяМакета, КоллекцияПараметров) Экспорт - - Макет = ПолучитьМакет(ИмяМакета); - Для каждого Структура Из КоллекцияПараметров Цикл - ЗаполнитьЗначенияСвойств(Макет.Параметры, Структура); - КонецЦикла; - - НовыйТабДок = Новый ТабличныйДокумент; - НовыйТабДок.Вывести(Макет); - - Возврат НовыйТабДок; -КонецФункции diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/renames.txt" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/renames.txt" deleted file mode 100644 index 8deab1e0..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/renames.txt" +++ /dev/null @@ -1,23 +0,0 @@ -06e23c48-436b-4984-8e4d-35bff49b795d-->und\06e23c48-436b-4984-8e4d-35bff49b795d -06e23c48-436b-4984-8e4d-35bff49b795d.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\Тест_ЗапускТестовВСеансеДругихПользователей\Макеты\СозданиеОдногоПользователяИБ_УФ.mxl -06e23c48-436b-4984-8e4d-35bff49b795d.0-->und\06e23c48-436b-4984-8e4d-35bff49b795d.0 -4dbcb106-f4ad-4724-8643-20d6c299deff-->und\4dbcb106-f4ad-4724-8643-20d6c299deff -4dbcb106-f4ad-4724-8643-20d6c299deff.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\Тест_ЗапускТестовВСеансеДругихПользователей\Макеты\СозданиеНесколькихПользователейИБ.mxl -4dbcb106-f4ad-4724-8643-20d6c299deff.0-->und\4dbcb106-f4ad-4724-8643-20d6c299deff.0 -89c4808c-ec9f-4439-988d-1e776846e7d8-->und\89c4808c-ec9f-4439-988d-1e776846e7d8 -89c4808c-ec9f-4439-988d-1e776846e7d8.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\Тест_ЗапускТестовВСеансеДругихПользователей\Макеты\СозданиеОдногоПользователяИБ.mxl -89c4808c-ec9f-4439-988d-1e776846e7d8.0-->und\89c4808c-ec9f-4439-988d-1e776846e7d8.0 -960e9b3a-df7b-40be-8662-0a930791774d-->und\960e9b3a-df7b-40be-8662-0a930791774d -960e9b3a-df7b-40be-8662-0a930791774d.0-->und\960e9b3a-df7b-40be-8662-0a930791774d.0 -960e9b3a-df7b-40be-8662-0a930791774d.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\Тест_ЗапускТестовВСеансеДругихПользователей\Макеты\СозданиеНесколькихПользователейИБ_УФ.mxl -bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0\info-->und\bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0\info -bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0\text-->ObjectModule.txt -c0334e99-c3c6-4bc5-a429-136a15e54924-->und\c0334e99-c3c6-4bc5-a429-136a15e54924 -copyinfo-->und\copyinfo -edaecd8e-d158-4884-b1fd-736a939408fe-->und\edaecd8e-d158-4884-b1fd-736a939408fe -edaecd8e-d158-4884-b1fd-736a939408fe.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\Тест_ЗапускТестовВСеансеДругихПользователей\Form\УправляемаяФорма\Форма.txt -edaecd8e-d158-4884-b1fd-736a939408fe.0-->und\edaecd8e-d158-4884-b1fd-736a939408fe.0 -edaecd8e-d158-4884-b1fd-736a939408fe.0-->und\edaecd8e-d158-4884-b1fd-736a939408fe.0 -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/06e23c48-436b-4984-8e4d-35bff49b795d" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/06e23c48-436b-4984-8e4d-35bff49b795d" deleted file mode 100644 index c41a3248..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/06e23c48-436b-4984-8e4d-35bff49b795d" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,06e23c48-436b-4984-8e4d-35bff49b795d},"СозданиеОдногоПользователяИБ_УФ", -{1,"ru","Создание одного пользователя ИБ УФ"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/06e23c48-436b-4984-8e4d-35bff49b795d.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/06e23c48-436b-4984-8e4d-35bff49b795d.0" deleted file mode 100644 index 0967af08..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/06e23c48-436b-4984-8e4d-35bff49b795d.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/4dbcb106-f4ad-4724-8643-20d6c299deff" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/4dbcb106-f4ad-4724-8643-20d6c299deff" deleted file mode 100644 index 83035165..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/4dbcb106-f4ad-4724-8643-20d6c299deff" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,4dbcb106-f4ad-4724-8643-20d6c299deff},"СозданиеНесколькихПользователейИБ", -{1,"ru","Создание нескольких пользователей ИБ"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/4dbcb106-f4ad-4724-8643-20d6c299deff.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/4dbcb106-f4ad-4724-8643-20d6c299deff.0" deleted file mode 100644 index 606959ff..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/4dbcb106-f4ad-4724-8643-20d6c299deff.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/89c4808c-ec9f-4439-988d-1e776846e7d8" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/89c4808c-ec9f-4439-988d-1e776846e7d8" deleted file mode 100644 index d46572de..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/89c4808c-ec9f-4439-988d-1e776846e7d8" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,89c4808c-ec9f-4439-988d-1e776846e7d8},"СозданиеОдногоПользователяИБ", -{1,"ru","Создание одного пользователя ИБ"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/89c4808c-ec9f-4439-988d-1e776846e7d8.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/89c4808c-ec9f-4439-988d-1e776846e7d8.0" deleted file mode 100644 index c3aba218..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/89c4808c-ec9f-4439-988d-1e776846e7d8.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/960e9b3a-df7b-40be-8662-0a930791774d" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/960e9b3a-df7b-40be-8662-0a930791774d" deleted file mode 100644 index 97b993f2..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/960e9b3a-df7b-40be-8662-0a930791774d" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,960e9b3a-df7b-40be-8662-0a930791774d},"СозданиеНесколькихПользователейИБ_УФ", -{1,"ru","Создание нескольких пользователей и б УФ"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/960e9b3a-df7b-40be-8662-0a930791774d.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/960e9b3a-df7b-40be-8662-0a930791774d.0" deleted file mode 100644 index babeb2cd..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/960e9b3a-df7b-40be-8662-0a930791774d.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/c0334e99-c3c6-4bc5-a429-136a15e54924" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/c0334e99-c3c6-4bc5-a429-136a15e54924" deleted file mode 100644 index 3c70012e..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/c0334e99-c3c6-4bc5-a429-136a15e54924" +++ /dev/null @@ -1,56 +0,0 @@ -{1, -{c0334e99-c3c6-4bc5-a429-136a15e54924},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,f5c382c7-4ddf-4d48-9acd-6889965b8283,b0423280-0ae5-49d0-9744-a7f29f0e5b6b, -{0, -{0, -{0,0,bc48c7f8-c422-40cd-bccc-fcd2d13545c9},"Тест_ЗапускТестовВСеансеДругихПользователей", -{1,"ru","Тест ""Запуск тестов в сеансе других пользователей"""},""} -},edaecd8e-d158-4884-b1fd-736a939408fe,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,4,89c4808c-ec9f-4439-988d-1e776846e7d8,06e23c48-436b-4984-8e4d-35bff49b795d,4dbcb106-f4ad-4724-8643-20d6c299deff,960e9b3a-df7b-40be-8662-0a930791774d}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,edaecd8e-d158-4884-b1fd-736a939408fe}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,2, -{ -{0, -{25, -{2, -{0, -{0,0,89524be4-ad5e-4f45-96af-158b015959cc},"НаборРолей", -{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,89dcbecf-2157-4dfb-b2c1-b48033ba7bb4},"НаборПользователей", -{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} -} -} -} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/copyinfo" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/copyinfo" deleted file mode 100644 index 3b148237..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{bc48c7f8-c422-40cd-bccc-fcd2d13545c9,bc48c7f8-c422-40cd-bccc-fcd2d13545c9,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"Тест_ЗапускТестовВСеансеДругихПользователей"} -}, -{edaecd8e-d158-4884-b1fd-736a939408fe,edaecd8e-d158-4884-b1fd-736a939408fe,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"УправляемаяФорма"} -} -}, -{1, -{f5c382c7-4ddf-4d48-9acd-6889965b8283,bc48c7f8-c422-40cd-bccc-fcd2d13545c9,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/edaecd8e-d158-4884-b1fd-736a939408fe" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/edaecd8e-d158-4884-b1fd-736a939408fe" deleted file mode 100644 index abf486ba..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/edaecd8e-d158-4884-b1fd-736a939408fe" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,edaecd8e-d158-4884-b1fd-736a939408fe},"УправляемаяФорма", -{1,"ru","Управляемая форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/edaecd8e-d158-4884-b1fd-736a939408fe.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/edaecd8e-d158-4884-b1fd-736a939408fe.0" deleted file mode 100644 index 871a8294..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/edaecd8e-d158-4884-b1fd-736a939408fe.0" +++ /dev/null @@ -1,446 +0,0 @@ -{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, -{1,9f2e5ddb-3492-4f5d-8f0d-416b8d1d5c5b,"ПриСозданииНаСервере"}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"&НаКлиенте -Перем Коллекция_ДанныхАвтоОбъектовПриложения1С; - -&НаКлиенте -Перем УпавшиеТесты; - -&НаКлиенте -Перем ТекущийПользователь; - -&НаКлиенте -Перем юТест; // для тестирования - -//{ основная процедура для юнит-тестирования 1CUnit -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ПутьКаталогаЗапускателяТестов = СтрЗаменить(ЮТест.ИспользуемоеИмяФайла, ИмяЗапускателяТестов() + "".epf"", """"); - ДополнитьСписокТестовСервер(ВсеТесты, ПутьКаталогаЗапускателяТестов); - - Возврат ВсеТесты; -КонецФункции - -&НаСервере -Процедура ДополнитьСписокТестовСервер(ВсеТесты, ПутьКаталогаЗапускателяТестов) - Объект().ДополнитьСписокТестов(ВсеТесты, ПутьКаталогаЗапускателяТестов, ""УФ ""); -КонецПроцедуры - -//} - -//{ БЛОК ЮНИТ-ТЕСТОВ - сами тесты - -&НаКлиенте -Процедура ПередЗапускомТеста() Экспорт - УпавшиеТесты = Неопределено; - КоличествоЗагруженныхТестов = 0; - Коллекция_ДанныхАвтоОбъектовПриложения1С = Новый Массив; - - ОбновитьПовторноИспользуемыеЗначения(); -КонецПроцедуры - -&НаКлиенте -Процедура ПослеЗапускаТеста() Экспорт - //ЮТест.УдалитьСозданныеДанные(ТестовыеДанные); - УпавшиеТесты = Неопределено; - Для каждого ДанныеАвтоОбъектаПриложения1С Из Коллекция_ДанныхАвтоОбъектовПриложения1С Цикл - - ЗавершитьСеансПользователя(ДанныеАвтоОбъектаПриложения1С.АвтоОбъектПриложения1С, ДанныеАвтоОбъектаПриложения1С.ЗапускательТестов); - - КонецЦикла; - - Коллекция_ДанныхАвтоОбъектовПриложения1С.Очистить(); - Коллекция_ДанныхАвтоОбъектовПриложения1С = Неопределено; - ТекущийПользователь = Неопределено; - ТестовыеДанные = Неопределено; - КоличествоЗагруженныхТестов = 0; -КонецПроцедуры - -&НаКлиенте -Процедура ЗавершитьСеансПользователя(АвтоОбъектПриложения1С, ЗапускательТестов) - Если ЗапускательТестов <> Неопределено Тогда - ЗапускательТестов.SetHandlerObject(Неопределено); - - ЗапускательТестов = Неопределено; - КонецЕсли; - Если АвтоОбъектПриложения1С <> Неопределено Тогда - АвтоОбъектПриложения1С.ЗавершитьРаботуСистемы(Ложь); - АвтоОбъектПриложения1С = Неопределено; - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ЗапуститьТестыВОтдельномСеансеПользователяЧерезV82_Application(Настройка) Экспорт - МассивИменПользователей = Новый Массив; - МассивИменПользователей.Добавить(ИмяПользователяПоУмолчанию()); - ЗапуститьТестыВОтдельномСеансеПользователя(Настройка, МассивИменПользователей); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ЗапуститьТестыОткрытияФормКонфигурации_ВОтдельномСеансеПользователя(Настройка) Экспорт - МассивИменПользователей = МассивИменПользователейПоУмолчанию(); - ЗапуститьТестыВОтдельномСеансеПользователя(Настройка, МассивИменПользователей); -КонецПроцедуры - -&НаКлиенте -Процедура ЗапуститьТестыВОтдельномСеансеПользователя(Настройка, МассивИменПользователей) Экспорт - СоздатьПользователей(Настройка.ИмяМакета, МассивИменПользователей); - - ЗапускатьТолстыйКлиент = Настройка.ЗапускатьТолстыйКлиент; - ПутьТестов = Настройка.ПутьТестов; - - МассивПользователей = Новый Массив(); - Для каждого ИмяПользователя Из МассивИменПользователей Цикл - МассивПользователей.Добавить(Новый Структура(""Имя"", ИмяПользователя)); - КонецЦикла; - - ДанныеТестовПоПользователям = Новый Соответствие; - Для каждого ТекущийПользователь Из МассивПользователей Цикл - - ДанныеТестирования = ВыполнитьТестыДляПользователяВОтдельномСеансе(ТекущийПользователь, ПутьТестов, ЗапускатьТолстыйКлиент); - МассивУпавшихТестов = ДанныеТестирования.МассивУпавшихТестов; - - Если ДанныеТестирования.КоличествоЗагруженныхТестов <> 0 И МассивУпавшихТестов.Количество() = 0 Тогда - Продолжить; - КонецЕсли; - ДанныеТестовПоПользователям.Вставить(ТекущийПользователь, ДанныеТестирования); - КонецЦикла; - - ПроверитьПрохождениеТестов(ДанныеТестовПоПользователям); -КонецПроцедуры - -&НаКлиенте -Функция ВыполнитьТестыДляПользователяВОтдельномСеансе(ТекущийПользователь, ПутьТестов, ТолстыйКлиент = Истина) - //Если Не ТолстыйКлиент Тогда - // ВызватьИсключение ""В режиме Automation тонкого клиента нельзя использовать ВнешниеОбработки. Код AutomationObj.ExternalDataProcessors.Create(ПутьФайла) выдает исключение.""; - //КонецЕсли; - - УпавшиеТесты = Новый Массив(); - КоличествоЗагруженныхТестов = 0; - - СтрокаСоединения = СтрокаСоединенияИнформационнойБазы(); - - СтрокаСоединения = СтрокаСоединения + ""Usr="""""" + ТекущийПользователь.Имя + """""";Pwd=;""; - - СисИнфо = Новый СистемнаяИнформация; - ВерсияПриложения = СисИнфо.ВерсияПриложения; - ИдАвтоОбъектаПриложения1С = """"; - Если Лев(ВерсияПриложения, 3) = ""8.2"" Тогда - ИдАвтоОбъектаПриложения1С = ""V82""; - ИначеЕсли Лев(ВерсияПриложения, 3) = ""8.3"" Тогда - ИдАвтоОбъектаПриложения1С = ""V83""; - ИначеЕсли Лев(ВерсияПриложения, 3) = ""8.4"" Тогда - ИдАвтоОбъектаПриложения1С = ""V84""; - Иначе - ВызватьИсключение ""Версию приложению <""+ВерсияПриложения+""> обрабатывать не умеем""; - КонецЕсли; - - Если Не ТолстыйКлиент Тогда - ИдАвтоОбъектаПриложения1С = ИдАвтоОбъектаПриложения1С + ""C""; - КонецЕсли; - - ИдАвтоОбъектаПриложения1С = ИдАвтоОбъектаПриложения1С + "".Application""; - - АвтоОбъектПриложения1С = new COMObject(ИдАвтоОбъектаПриложения1С); - - Успешно = АвтоОбъектПриложения1С.connect(СтрокаСоединения); - ЮТест.Проверить(Успешно, ""АвтоОбъектПриложения1С.connect(СтрокаСоединения)""); - АвтоОбъектПриложения1С.Visible = true; - - ДанныеАвтоОбъектовПриложения1С = Новый Структура(""АвтоОбъектПриложения1С,ЗапускательТестов"", АвтоОбъектПриложения1С, Неопределено); - Коллекция_ДанныхАвтоОбъектовПриложения1С.Добавить(ДанныеАвтоОбъектовПриложения1С); - - ИспользуемоеИмяФайлаЗапускателяТестов = ЮТест.ИспользуемоеИмяФайла; - - Если ТолстыйКлиент Тогда - ЗапускательТестов = АвтоОбъектПриложения1С.ВнешниеОбработки.Создать(ИспользуемоеИмяФайлаЗапускателяТестов, Ложь); - - ЗапускательТестов.ЗапретИспользованияИнформатора = Истина; - ЗапускательТестов.SetHandlerObject(ЭтаФорма); - ЗапускательТестов.OpenBrowserForm(); - - ЗапускательТестов.LoadAllTests(ПутьТестов); - Иначе - НашлиОбщийМодуль = Истина; - Попытка - xddМодуль = АвтоОбъектПриложения1С.xddКлиент; - Исключение - НашлиОбщийМодуль = Ложь; - КонецПопытки; - ЮТест.Проверить(НашлиОбщийМодуль, ""Для запусков тестов пользователей в тонком клиенте требуется общий модуль xddКлиент""); - - ИдОбработки_юТест = ИмяЗапускателяТестов(); - ЗапускательТестов = xddМодуль.ПодключитьНаСервереВнешнююОбработкуОтКлиента(ИспользуемоеИмяФайлаЗапускателяТестов, ИдОбработки_юТест); - - ЗапускательТестов = АвтоОбъектПриложения1С.ПолучитьФорму(""ВнешняяОбработка.""+ИдОбработки_юТест+"".Форма.УправляемаяФорма""); - - ЗапускательТестов.Пути.Очистить(); - ЗапускательТестов.Пути.Добавить(ПутьТестов); - - ЗапускательТестов.ЗапретИспользованияИнформатора = Истина; - ЗапускательТестов.SetHandlerObject(ЭтаФорма); - ЗапускательТестов.OpenBrowserForm(); //ЗапускательТестов.Открыть(); - - //ЗапускательТестов.LoadAllTests(ПутьТестов); - - КонецЕсли; - ДанныеАвтоОбъектовПриложения1С.Вставить(""ЗапускательТестов"", ЗапускательТестов); - - Если КоличествоЗагруженныхТестов <> 0 Тогда - ЗапускательТестов.RunAllTests(); - КонецЕсли; - - Рез = Новый Структура(""МассивУпавшихТестов,КоличествоЗагруженныхТестов"", УпавшиеТесты, КоличествоЗагруженныхТестов); - УпавшиеТесты = Неопределено; // чтоб освободить глобальную переменную - КоличествоЗагруженныхТестов = 0; - Возврат Рез; -КонецФункции - -&НаКлиенте -Процедура СоздатьПользователей(ИмяМакета, МассивИменПользователей) - Макет = ПодготовитьсяКСозданиюПользователейСервер(ИмяМакета, МассивИменПользователей); - юТест.СоздатьДанныеПоТабличномуДокументу(Макет); -КонецПроцедуры - -Функция ПодготовитьсяКСозданиюПользователейСервер(ИмяМакета, МассивИменПользователей) - НаборРолей = Объект().СоздатьНаборРолей(); - СтрокаОшибок = """"; - Если Не ПроверитьНаличиеРолейСервер(НаборРолей, СтрокаОшибок) Тогда - ВызватьИсключение ""Тест не будет работать в текущей конфигурации""+Символы.ПС+СтрокаОшибок; - КонецЕсли; - - Для каждого ИмяПользователя Из МассивИменПользователей Цикл - УдалитьПользователяИБ_ЕслиОнСуществуетСервер(ИмяПользователя); - КонецЦикла; - - Объект.НаборРолей = НаборРолей; - Объект.НаборПользователей = Объект().СоздатьНаборПользователей(); - Макет = Объект().ЗаполнитьТестовыйМакет(ИмяМакета); - Возврат Макет; -КонецФункции - -&НаСервереБезКонтекста -Функция ПроверитьНаличиеРолейСервер(НаборРолей, СтрокаОшибок) - СтрокаОшибок = """"; - Для каждого КлючЗначение Из НаборРолей Цикл - ИмяРоли = КлючЗначение.Значение; - Если Метаданные.Роли.Найти(ИмяРоли) = Неопределено Тогда - СтрокаОшибок = СтрокаОшибок + ""В метаданных нет роли <""+ИмяРоли+"">""; - КонецЕсли; - КонецЦикла; - Возврат Не ЗначениеЗаполнено(СтрокаОшибок); -КонецФункции - -// { обработчики событий xUnitFor1C - -&НаКлиенте -Процедура ВывестиСообщение(Сообщение) Экспорт - Префикс = """"; - Если ТекущийПользователь <> Неопределено Тогда - Префикс = ""Сообщение от сеанса <""+ТекущийПользователь.Имя + ""> : ""; - КонецЕсли; - Сообщить(Префикс + Сообщение); -КонецПроцедуры - -&НаКлиенте -Процедура TestLoaded(Параметр) Экспорт - //Сообщить(""TestLoaded "" +Параметр.Имя); - Если ТекущийПользователь <> Неопределено Тогда - Параметр.Имя = ""<""+ТекущийПользователь.Имя + ""> : "" + Параметр.Имя; // +"", путь <""+Параметр.ПолныйПуть+"">""; - КонецЕсли; - КоличествоЗагруженныхТестов = КоличествоЗагруженныхТестов + 1; - //Сообщить(""TestLoaded "" +Параметр.Имя); -КонецПроцедуры - -&НаКлиенте -Процедура TestFailed(Параметр) Экспорт - //Сообщить(""TestFailed "" +Параметр.Имя); - УпавшиеТесты.Добавить(Параметр); -КонецПроцедуры - -// } - -&НаКлиенте -Процедура ПроверитьПрохождениеТестов(ДанныеТестовПоПользователям) - ОбщаяСтрокаОписанияУпавшихТестов = """"+Символы.ПС; - ОбщееКоличествоУпавшихТестов = 0; - ОбщееКоличествоПользователейУКоторыхНеЗагрузилисьТесты = 0; - Для каждого КлючЗначение Из ДанныеТестовПоПользователям Цикл - ТекущийПользователь = КлючЗначение.Ключ; - //Сообщить(ТекущийПользователь); - - ДанныеТестирования = КлючЗначение.Значение; - МассивУпавшихТестов = ДанныеТестирования.МассивУпавшихТестов; - ЮТест.ПроверитьТип(МассивУпавшихТестов, ""Массив"", ""Пользователь <""+ТекущийПользователь.Имя + "": МассивУпавшихТестов""); - - СтрокаОписанияУпавшихТестов = """"+Символы.ПС; - - КоличествоЗагруженныхТестов = ДанныеТестирования.КоличествоЗагруженныхТестов; - Если КоличествоЗагруженныхТестов = 0 Тогда - ОбщееКоличествоПользователейУКоторыхНеЗагрузилисьТесты = ОбщееКоличествоПользователейУКоторыхНеЗагрузилисьТесты + 1; - ОбщаяСтрокаОписанияУпавшихТестов = ОбщаяСтрокаОписанияУпавшихТестов + ""У пользователя <""+ТекущийПользователь.Имя + ""> не загрузились тесты!""+ - СтрокаОписанияУпавшихТестов; - Продолжить; - КонецЕсли; - - ОбщееКоличествоУпавшихТестов = ОбщееКоличествоУпавшихТестов + МассивУпавшихТестов.Количество(); - Для каждого СтрокаДереваТестов Из МассивУпавшихТестов Цикл - СтрокаОписанияУпавшихТестов = СтрокаОписанияУпавшихТестов + "" ""+ - //""<""+ТекущийПользователь.Имя + ""> : "" + СтрокаДереваТестов.Имя +"", путь <""+ - "": <"" + СтрокаДереваТестов.Имя +"">, путь <""+ - СтрокаДереваТестов.ПолныйПуть+"">"" +Символы.ПС; - КонецЦикла; - ОбщаяСтрокаОписанияУпавшихТестов = ОбщаяСтрокаОписанияУпавшихТестов + ""У пользователя <""+ТекущийПользователь.Имя + ""> упали тесты < ""+МассивУпавшихТестов.Количество()+"" шт.>:""+ - СтрокаОписанияУпавшихТестов; - КонецЦикла; - //Если ОбщееКоличествоПользователейУКоторыхНеЗагрузилисьТесты > 0 Тогда - // ВызватьИсключение Символы.ПС+""При тестировании разных сеансов пользователей вообще не удалось загрузить тесты. Всего <""+ОбщееКоличествоПользователейУКоторыхНеЗагрузилисьТесты+"" пользователей>:""+Символы.ПС+ - // ОбщаяСтрокаОписанияУпавшихТестов; - //КонецЕсли; - Если ОбщееКоличествоУпавшихТестов > 0 Тогда - ВызватьИсключение Символы.ПС+""При тестировании разных сеансов пользователей упали тесты <""+ОбщееКоличествоУпавшихТестов+"" шт.>:""+Символы.ПС+ - ОбщаяСтрокаОписанияУпавшихТестов; - КонецЕсли; -КонецПроцедуры - -&НаСервере -Процедура УдалитьПользователяИБ_ЕслиОнСуществуетСервер(лИмяПользователя) - Объект().УдалитьПользователяИБ_ЕслиОнСуществует(лИмяПользователя); -КонецПроцедуры - -&НаСервере -Функция Объект() - Возврат РеквизитФормыВЗначение(""Объект""); -КонецФункции - -&НаКлиенте -Функция ИмяПользователяПоУмолчанию() - Возврат ""ТестИмя""; // должно совпадать с макетом; -КонецФункции - -&НаКлиенте -Функция МассивИменПользователейПоУмолчанию() - Рез = Новый Массив(); - Рез.Добавить(ИмяПользователяПоУмолчанию()); - Рез.Добавить(""ТестИмя2"");// должно совпадать с макетом; - Возврат Рез; -КонецФункции - -&НаКлиенте -Функция ИмяЗапускателяТестов() - Возврат ""xddTestRunner""; -КонецФункции - -//} КОНЕЦ БЛОКА ЮНИТ-ТЕСТОВ -", -{4,3, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",f5c382c7-4ddf-4d48-9acd-6889965b8283} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},1,0,0,0, -{0,0}, -{0,0} -}, -{9, -{2},0,"КоличествоЗагруженныхТестов", -{1,1, -{"ru","Количество загруженных тестов"} -}, -{"Pattern", -{"N",10,0,0} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{3},0,"ЗапретИспользованияИнформатора", -{1,1, -{"ru","Запрет использования информатора"} -}, -{"Pattern", -{"B"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -},0,0, -{#base64:77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxTZXR0 -aW5ncyB4bWxucz0iaHR0cDovL3Y4LjFjLnJ1LzguMS9kYXRhLWNvbXBvc2l0aW9u -LXN5c3RlbS9zZXR0aW5ncyIgeG1sbnM6ZGNzY29yPSJodHRwOi8vdjguMWMucnUv -OC4xL2RhdGEtY29tcG9zaXRpb24tc3lzdGVtL2NvcmUiIHhtbG5zOnN0eWxlPSJo -dHRwOi8vdjguMWMucnUvOC4xL2RhdGEvdWkvc3R5bGUiIHhtbG5zOnN5cz0iaHR0 -cDovL3Y4LjFjLnJ1LzguMS9kYXRhL3VpL2ZvbnRzL3N5c3RlbSIgeG1sbnM6djg9 -Imh0dHA6Ly92OC4xYy5ydS84LjEvZGF0YS9jb3JlIiB4bWxuczp2OHVpPSJodHRw -Oi8vdjguMWMucnUvOC4xL2RhdGEvdWkiIHhtbG5zOndlYj0iaHR0cDovL3Y4LjFj -LnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93ZWIiIHhtbG5zOndpbj0iaHR0cDovL3Y4 -LjFjLnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93aW5kb3dzIiB4bWxuczp4cz0iaHR0 -cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDov -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/root" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/root" deleted file mode 100644 index eb7b8af1..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,c0334e99-c3c6-4bc5-a429-136a15e54924,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/versions" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/versions" deleted file mode 100644 index 121050f1..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,17,"",a5c46543-f587-4e83-a91c-ad3cc4560ef3,"versions",ce29a614-080d-40e3-975f-fe5ca5cf6cbc,"960e9b3a-df7b-40be-8662-0a930791774d",be77d336-614a-475f-bdb7-5667b4928481,"root",8c50d784-b193-4ae8-9c1b-cf42e8850a6a,"89c4808c-ec9f-4439-988d-1e776846e7d8.0",49f9e75c-e3c2-473c-ac6a-d06529c65767,"edaecd8e-d158-4884-b1fd-736a939408fe.0",8f3c399f-8940-4ba7-b177-141536a68dc5,"c0334e99-c3c6-4bc5-a429-136a15e54924",f07b166d-d0e8-4811-85b6-2a629183a970,"89c4808c-ec9f-4439-988d-1e776846e7d8",3072fb55-fa37-4fc6-a7b7-cc5fb968f5f5,"edaecd8e-d158-4884-b1fd-736a939408fe",7bb5cfa0-6f90-4458-beca-206ad42cb448,"version",7cb54a5f-3cca-4c79-b6b2-5f30851238ed,"06e23c48-436b-4984-8e4d-35bff49b795d",fea07d19-427e-483a-98a4-f2c7fc6b2c87,"bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0",158936aa-716b-4704-8c88-21306601bc61,"4dbcb106-f4ad-4724-8643-20d6c299deff",3144e18f-8245-4d27-99ac-f4f64b74429d,"960e9b3a-df7b-40be-8662-0a930791774d.0",7b2cdea6-a361-4f8c-a7cc-6b6282b73b06,"copyinfo",092a2c7f-cabc-47d7-be36-7265fc8a1085,"06e23c48-436b-4984-8e4d-35bff49b795d.0",26b90ac5-3b86-4528-ac2d-415bb7c5d23a,"4dbcb106-f4ad-4724-8643-20d6c299deff.0",e62c539c-3e73-4028-89ef-5da3efe60432} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\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\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271\320\230\320\221.mxl" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\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\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271\320\230\320\221.mxl" deleted file mode 100644 index 606959ff..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\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\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271\320\230\320\221.mxl" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\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\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271\320\230\320\221_\320\243\320\244.mxl" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\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\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271\320\230\320\221_\320\243\320\244.mxl" deleted file mode 100644 index babeb2cd..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\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\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271\320\230\320\221_\320\243\320\244.mxl" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\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/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\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" deleted file mode 100644 index c3aba218..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\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 /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\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_\320\243\320\244.mxl" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\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_\320\243\320\244.mxl" deleted file mode 100644 index 0967af08..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\222\320\241\320\265\320\260\320\275\321\201\320\265\320\224\321\200\321\203\320\263\320\270\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\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_\320\243\320\244.mxl" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" deleted file mode 100644 index a84f994d..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" +++ /dev/null @@ -1,44 +0,0 @@ - -Перем юТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - Параметры = Новый Структура("ПредставлениеТеста, ИмяТеста,Транзакция,Параметр", "Тест с опциями", "ТестСОпциями", Истина, "тест представления"); - ВсеТесты.Добавить(Параметры); - - Параметры = Новый Структура("ИмяТеста,Транзакция,Параметр", "ТестСОпциями", Истина, 1); - ВсеТесты.Добавить(Параметры); - - Параметры = Новый Структура("ИмяТеста,Транзакция,Параметр", "ТестСОпциями", Истина, 2); - ВсеТесты.Добавить(Параметры); - - Параметры = Новый Структура("ИмяТеста,Транзакция", "ТестСОпциями_БезПараметра", Истина); - ВсеТесты.Добавить(Параметры); - - ВсеТесты.Добавить("ТестСОпциями_БезПараметра"); - ВсеТесты.Добавить("Тест_Обычный"); - - Возврат ВсеТесты; - -КонецФункции - -Процедура ТестСОпциями(Парам) Экспорт - - Сообщить("Парам теста <"+Парам+">"); - юТест.ПроверитьЗаполненность(Парам, "ТестСОпциями(Парам)"); - -КонецПроцедуры - -Процедура ТестСОпциями_БезПараметра() Экспорт - -КонецПроцедуры - -Процедура Тест_Обычный() Экспорт - - юТест.Проверить(Истина, "Значение ложно"); - -КонецПроцедуры diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" deleted file mode 100644 index 3bf97617..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" +++ /dev/null @@ -1,7 +0,0 @@ -bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0\info-->C:\Users\aayuhanov\AppData\Local\Temp\Тест_ПараметрыТестов.epf.und\bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0\info -bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0\text-->ObjectModule.txt -c0334e99-c3c6-4bc5-a429-136a15e54924-->und\c0334e99-c3c6-4bc5-a429-136a15e54924 -copyinfo-->und\copyinfo -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/c0334e99-c3c6-4bc5-a429-136a15e54924" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/c0334e99-c3c6-4bc5-a429-136a15e54924" deleted file mode 100644 index 59d2513e..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/c0334e99-c3c6-4bc5-a429-136a15e54924" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{c0334e99-c3c6-4bc5-a429-136a15e54924},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,f5c382c7-4ddf-4d48-9acd-6889965b8283,b0423280-0ae5-49d0-9744-a7f29f0e5b6b, -{0, -{0, -{0,0,bc48c7f8-c422-40cd-bccc-fcd2d13545c9},"Тест_ПараметрыТестов", -{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}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/root" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/root" deleted file mode 100644 index eb7b8af1..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,c0334e99-c3c6-4bc5-a429-136a15e54924,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" deleted file mode 100644 index 97d4a814..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,7,"",c52b42ec-9a0b-4d2f-8e07-d3ed5ed749b4,"root",8ff8b2b2-31d4-4568-adc8-d97a817b36f0,"c0334e99-c3c6-4bc5-a429-136a15e54924",0f8635e4-fb01-4f6b-a6c0-7d01d6195d1f,"copyinfo",f152f939-6a99-401b-ad8a-98b71d77e473,"bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0",a476ed1e-6042-4bfe-bb9c-94f3a457ee78,"versions",9ef7726b-09cd-41c0-b3f4-6e9f6b148f16,"version",3170f158-8ce5-4815-adaf-8a193fab25cf} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\321\213\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\320\276\320\263\320\276\320\237\320\276\320\236\321\202\320\261\320\276\321\200\321\203/ObjectModule.txt" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\321\213\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\320\276\320\263\320\276\320\237\320\276\320\236\321\202\320\261\320\276\321\200\321\203/ObjectModule.txt" deleted file mode 100644 index 4e1bbffb..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\321\213\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\320\276\320\263\320\276\320\237\320\276\320\236\321\202\320\261\320\276\321\200\321\203/ObjectModule.txt" +++ /dev/null @@ -1,42 +0,0 @@ -Перем ЮТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ПараметрыТеста = ПолучитьОбъектыПроверки(); - ЮТест.ПроверитьЗаполненность(ПараметрыТеста, "ПараметрыТеста"); - ЮТест.ПроверитьТип(ПараметрыТеста, "Массив", "ПараметрыТеста параметр должен быть массив"); - - Для Каждого Эл Из ПараметрыТеста Цикл - ЮТест.ПроверитьВхождение(Эл, ".", ""+Эл+": искали разделитель точку"); - - ОписаниеТеста = Новый Структура("ПредставлениеТеста, ИмяТеста,Транзакция,Параметр", "Чтение одной записи метаданного " + Эл, - "ТестДолжен_ПрочитатьОднуЗаписьМетаданного", Истина, Эл); - ВсеТесты.Добавить(ОписаниеТеста); - КонецЦикла; - - Возврат ВсеТесты; - -КонецФункции - -Процедура ТестДолжен_ПрочитатьОднуЗаписьМетаданного(Парам) Экспорт - - Мета = ЮТест.РазложитьСтрокуВМассивПодстрок(Парам, "."); - Результат = ЮТест.ПолучитьЭлементыМетаданногоПоОтбору(Мета[0], Мета[1], 0); - -КонецПроцедуры - -Функция ПолучитьОбъектыПроверки() - Рез = Новый Массив; - - //Если РольДоступна(Метаданные.Роли.Роль1) Тогда - Рез.Добавить("Справочник.ПростойСправочник"); - Рез.Добавить("Справочник.ПростойСправочник2"); - Рез.Добавить("Справочник.ИерархическийСправочник"); - Рез.Добавить("Документ.Документ1"); - //КонецЕсли; - Возврат Рез; -КонецФункции diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\321\213\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\320\276\320\263\320\276\320\237\320\276\320\236\321\202\320\261\320\276\321\200\321\203/renames.txt" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\321\213\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\320\276\320\263\320\276\320\237\320\276\320\236\321\202\320\261\320\276\321\200\321\203/renames.txt" deleted file mode 100644 index 7393d192..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\321\213\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\320\276\320\263\320\276\320\237\320\276\320\236\321\202\320\261\320\276\321\200\321\203/renames.txt" +++ /dev/null @@ -1,7 +0,0 @@ -25400b38-4862-4842-8893-66bfbd06f859.0\info-->und\25400b38-4862-4842-8893-66bfbd06f859.0\info -25400b38-4862-4842-8893-66bfbd06f859.0\text-->ObjectModule.txt -2f5b05a9-6a6a-428a-b8eb-fa2e029f4a23-->und\2f5b05a9-6a6a-428a-b8eb-fa2e029f4a23 -copyinfo-->und\copyinfo -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\321\213\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\320\276\320\263\320\276\320\237\320\276\320\236\321\202\320\261\320\276\321\200\321\203/und/2f5b05a9-6a6a-428a-b8eb-fa2e029f4a23" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\321\213\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\320\276\320\263\320\276\320\237\320\276\320\236\321\202\320\261\320\276\321\200\321\203/und/2f5b05a9-6a6a-428a-b8eb-fa2e029f4a23" deleted file mode 100644 index 599281a2..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\321\213\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\320\276\320\263\320\276\320\237\320\276\320\236\321\202\320\261\320\276\321\200\321\203/und/2f5b05a9-6a6a-428a-b8eb-fa2e029f4a23" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{2f5b05a9-6a6a-428a-b8eb-fa2e029f4a23},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,8dc264b8-38c2-4ad5-bd88-993ac539bb7a,7b49e084-0d3a-4b7c-85e6-4084b450f81f, -{0, -{0, -{0,0,25400b38-4862-4842-8893-66bfbd06f859},"Тест_ПолучитьЭлементыМетаданногоПоОтбору", -{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}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\321\213\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\320\276\320\263\320\276\320\237\320\276\320\236\321\202\320\261\320\276\321\200\321\203/und/root" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\321\213\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\320\276\320\263\320\276\320\237\320\276\320\236\321\202\320\261\320\276\321\200\321\203/und/root" deleted file mode 100644 index 2c1baeb6..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\321\213\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\320\276\320\263\320\276\320\237\320\276\320\236\321\202\320\261\320\276\321\200\321\203/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,2f5b05a9-6a6a-428a-b8eb-fa2e029f4a23,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\321\213\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\320\276\320\263\320\276\320\237\320\276\320\236\321\202\320\261\320\276\321\200\321\203/und/versions" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\321\213\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\320\276\320\263\320\276\320\237\320\276\320\236\321\202\320\261\320\276\321\200\321\203/und/versions" deleted file mode 100644 index ecd32760..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\321\213\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\320\276\320\263\320\276\320\237\320\276\320\236\321\202\320\261\320\276\321\200\321\203/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,7,"",a5cf27e4-abcc-4aea-9b92-06936e33e1ed,"root",68927c17-5d14-42ea-945d-b057418e9f4c,"25400b38-4862-4842-8893-66bfbd06f859.0",d859e12c-8dc2-4991-9fa4-c076efb7f59b,"2f5b05a9-6a6a-428a-b8eb-fa2e029f4a23",a5dbc8ef-9a60-4afa-9b79-dfd0bd18b422,"copyinfo",8da4b381-cf47-48bc-8b6a-c64731dfa793,"versions",5ac6a787-d944-4e4b-bfcd-9f0015dd495c,"version",528a4bc0-f275-451d-891c-b6c5fb6f06a3} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/ObjectModule.txt" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/ObjectModule.txt" deleted file mode 100644 index 34579845..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/ObjectModule.txt" +++ /dev/null @@ -1,81 +0,0 @@ -Перем юТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("Тест_ПроверитьОтчетНаСоответствиеЭталону"); - - Возврат ВсеТесты; - -КонецФункции - -Процедура ПередЗапускомТеста() Экспорт - - НачатьТранзакцию(); - -КонецПроцедуры - -Процедура ПослеЗапускаТеста() Экспорт - - Если ТранзакцияАктивна() Тогда - ОтменитьТранзакцию(); - КонецЕсли; - -КонецПроцедуры - -Процедура Тест_ПроверитьОтчетНаСоответствиеЭталону() Экспорт - Перем Расшифровка; // сюда будет передана информация расшифровки СКД, т.к. в эталоне она тоже есть - - // создание тестовых данных из табличного документа - МакетТестовыеДанные = ПолучитьМакет("ТестовыеДанные"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(МакетТестовыеДанные); - - юТест.ПроверитьБольше(ТестовыеДанные.Количество(), 0, "Ожидали, что загрузка макета загрузит данные больше 0"); - - // Получение эталонного отчета - // Важно эталон получать именно так из-за плясок с кодом языка макета - МакетЭталона = ПолучитьМакет("Эталон"); - Эталон = Новый ТабличныйДокумент; - Эталон.Вывести(МакетЭталона); - - // Формирование отчета - РезультатОтчета = Новый ТабличныйДокумент; - Отчет = Отчеты.ТестовыйОтчетСКДДляСравнениеСЭталоном.Создать(); - Отчет.СкомпоноватьРезультат(РезультатОтчета, Расшифровка); - - #Если ТолстыйКлиентОбычноеПриложение или ТолстыйКлиентУправляемоеПриложение Тогда - - // Сохранение в файлы mxl - ИмяФайлаЭталона = ПолучитьИмяВременногоФайла("mxl"); - ИмяФайлаРезультатаОтчета = ПолучитьИмяВременногоФайла("mxl"); - Эталон.Записать(ИмяФайлаЭталона); - РезультатОтчета.Записать(ИмяФайлаРезультатаОтчета); - - // Сравнение файлов - - // Если Истина, то будет показано окно демонстрации различий, если файлы различны - // Использовать только для расследования ошибки, если тест падает на сравнении - ПоказатьРазличия = Истина; - - // ПараметрыСравнения заполняется по необходимости. Если не заполнены, то используются значения по умолчанию платформы - // Если не указан способ сравнения, будет попытка определить автоматически по расширению файла: - // mxl - ТабличныйДокумент - // txt,xml - ТекстовыйДокумент - ПараметрыСравнения = Новый Структура; - //ПараметрыСравнения.Вставить("ИгнорироватьПустоеПространство", Истина); - //ПараметрыСравнения.Вставить("УчитыватьРазделителиСтрок", Ложь); - //ПараметрыСравнения.Вставить("УчитыватьРегистр", Ложь); - //ПараметрыСравнения.Вставить("СпособСравнения", СпособСравненияФайлов.ТекстовыйДокумент); - - юТест.ПроверитьРавенствоФайлов(ИмяФайлаЭталона, ИмяФайлаРезультатаОтчета, - "Ожидали, что результат отчета соответствует эталону", ПараметрыСравнения, ПоказатьРазличия); - #Иначе - юТест.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Эталон, РезультатОтчета, "Ожидали, что эталон (слева) совпадет с результатом (справа), а они различны!"); - - #КонецЕсли -КонецПроцедуры - - diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/renames.txt" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/renames.txt" deleted file mode 100644 index 533ff7fb..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/renames.txt" +++ /dev/null @@ -1,13 +0,0 @@ -5cc37847-6d61-47ed-ba39-1a055864214c-->und\5cc37847-6d61-47ed-ba39-1a055864214c -5cc37847-6d61-47ed-ba39-1a055864214c.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\Тест_ПроверитьОтчетНаСоответствиеЭталону\Макеты\ТестовыеДанные.mxl -5cc37847-6d61-47ed-ba39-1a055864214c.0-->und\5cc37847-6d61-47ed-ba39-1a055864214c.0 -89274157-0f3f-45f1-80cb-6364f03a78f9-->und\89274157-0f3f-45f1-80cb-6364f03a78f9 -89274157-0f3f-45f1-80cb-6364f03a78f9.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\Тест_ПроверитьОтчетНаСоответствиеЭталону\Макеты\Эталон.mxl -89274157-0f3f-45f1-80cb-6364f03a78f9.0-->und\89274157-0f3f-45f1-80cb-6364f03a78f9.0 -915c368c-cc97-4756-8944-36659b177d1e-->und\915c368c-cc97-4756-8944-36659b177d1e -copyinfo-->und\copyinfo -f2d2060c-a875-4798-8c3a-7e5b14081428.0\info-->und\f2d2060c-a875-4798-8c3a-7e5b14081428.0\info -f2d2060c-a875-4798-8c3a-7e5b14081428.0\text-->ObjectModule.txt -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/versions" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/versions" deleted file mode 100644 index bd7c85f8..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,11,"5cc37847-6d61-47ed-ba39-1a055864214c",53009229-5107-4bd5-8ed3-d3ca748a02d0,"5cc37847-6d61-47ed-ba39-1a055864214c.0",0bb49e8a-1d79-4afa-8afd-84c3e7f8d8e9,"",85597eb3-aa57-4aa6-860e-9737d224406b,"versions",0938408e-5018-49b4-bfa7-735932ad0fa3,"root",d3b544b3-28d3-4080-89c9-5562faa5b4d4,"f2d2060c-a875-4798-8c3a-7e5b14081428.0",8cfb0fff-cf21-4aed-bd40-1972edee9d1a,"89274157-0f3f-45f1-80cb-6364f03a78f9.0",808da401-f725-4bda-ae84-9f848eeaaf92,"version",d5d58065-14ec-4da1-9813-1ba533d38f14,"915c368c-cc97-4756-8944-36659b177d1e",9ef8ae68-1f2d-4bcd-9fe2-7e37ccc88658,"89274157-0f3f-45f1-80cb-6364f03a78f9",3b39b36a-604a-4b26-9d08-eb16e45f387d,"copyinfo",1cfcc5f2-aed7-4e2c-8561-efd3cc3744ba} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\220\320\262\321\202\320\276\320\242\320\265\321\201\321\202\321\213\320\247\320\265\321\200\320\265\320\267\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/ObjectModule.txt" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\220\320\262\321\202\320\276\320\242\320\265\321\201\321\202\321\213\320\247\320\265\321\200\320\265\320\267\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/ObjectModule.txt" deleted file mode 100644 index b98244b9..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\220\320\262\321\202\320\276\320\242\320\265\321\201\321\202\321\213\320\247\320\265\321\200\320\265\320\267\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/ObjectModule.txt" +++ /dev/null @@ -1,37 +0,0 @@ -Перем юТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - СисИнфо = Новый СистемнаяИнформация; - ВерсияПриложения = СисИнфо.ВерсияПриложения; - - Если Найти(Строка(СисИнфо.ТипПлатформы), "Linux")>0 Тогда - - Иначе - юТест.ДобавитьПростыеТестыИзОбъекта(ВсеТесты, ЭтотОбъект); - КонецЕсли; - - Возврат ВсеТесты; - -КонецФункции - -Процедура ПередЗапускомТеста() Экспорт - - юТест.ВывестиСообщение("Перед запуском теста"); - -КонецПроцедуры - -Процедура ПослеЗапускаТеста() Экспорт - - юТест.ВывестиСообщение("После запуска теста"); - -КонецПроцедуры - -Процедура Тест_ДваПлюсДва() Экспорт - - юТест.Проверить(2 + 2 = 4, "Значение не верно"); - -КонецПроцедуры diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\220\320\262\321\202\320\276\320\242\320\265\321\201\321\202\321\213\320\247\320\265\321\200\320\265\320\267\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/renames.txt" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\220\320\262\321\202\320\276\320\242\320\265\321\201\321\202\321\213\320\247\320\265\321\200\320\265\320\267\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/renames.txt" deleted file mode 100644 index 33b979fd..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\220\320\262\321\202\320\276\320\242\320\265\321\201\321\202\321\213\320\247\320\265\321\200\320\265\320\267\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/renames.txt" +++ /dev/null @@ -1,7 +0,0 @@ -727eda5f-558c-428b-86d2-3421c52f4c50.0\info-->und\727eda5f-558c-428b-86d2-3421c52f4c50.0\info -727eda5f-558c-428b-86d2-3421c52f4c50.0\text-->ObjectModule.txt -copyinfo-->und\copyinfo -f38c7465-2120-4aeb-87fc-1cd6a72e4559-->und\f38c7465-2120-4aeb-87fc-1cd6a72e4559 -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\220\320\262\321\202\320\276\320\242\320\265\321\201\321\202\321\213\320\247\320\265\321\200\320\265\320\267\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\220\320\262\321\202\320\276\320\242\320\265\321\201\321\202\321\213\320\247\320\265\321\200\320\265\320\267\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" deleted file mode 100644 index 09d24ee5..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\220\320\262\321\202\320\276\320\242\320\265\321\201\321\202\321\213\320\247\320\265\321\200\320\265\320\267\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{f38c7465-2120-4aeb-87fc-1cd6a72e4559},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,46282281-48b4-46da-8efa-b167f8b65d44,68c3abeb-66d9-445e-a617-90228868ace3, -{0, -{0, -{0,0,727eda5f-558c-428b-86d2-3421c52f4c50},"ТестАвтоТестыЧерезИнформатор", -{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}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\220\320\262\321\202\320\276\320\242\320\265\321\201\321\202\321\213\320\247\320\265\321\200\320\265\320\267\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/und/root" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\220\320\262\321\202\320\276\320\242\320\265\321\201\321\202\321\213\320\247\320\265\321\200\320\265\320\267\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/und/root" deleted file mode 100644 index 7a2de7c1..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\220\320\262\321\202\320\276\320\242\320\265\321\201\321\202\321\213\320\247\320\265\321\200\320\265\320\267\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,f38c7465-2120-4aeb-87fc-1cd6a72e4559,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\220\320\262\321\202\320\276\320\242\320\265\321\201\321\202\321\213\320\247\320\265\321\200\320\265\320\267\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/und/versions" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\220\320\262\321\202\320\276\320\242\320\265\321\201\321\202\321\213\320\247\320\265\321\200\320\265\320\267\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/und/versions" deleted file mode 100644 index 0b6b276f..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\220\320\262\321\202\320\276\320\242\320\265\321\201\321\202\321\213\320\247\320\265\321\200\320\265\320\267\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,7,"",2937942a-3ddb-11e4-cb88-ac811238eafa,"root",29379556-3ddb-11e4-cb88-ac811238eafa,"727eda5f-558c-428b-86d2-3421c52f4c50.0",29312478-3ddb-11e4-cb88-ac811238eafa,"copyinfo",29309e4a-3ddb-11e4-cb88-ac811238eafa,"f38c7465-2120-4aeb-87fc-1cd6a72e4559",293770bc-3ddb-11e4-cb88-ac811238eafa,"versions",2937a3f2-3ddb-11e4-cb88-ac811238eafa,"version",2937862e-3ddb-11e4-cb88-ac811238eafa} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/ObjectModule.txt" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/ObjectModule.txt" deleted file mode 100644 index 8ef4f9b3..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/ObjectModule.txt" +++ /dev/null @@ -1,64 +0,0 @@ - -//{ основная процедура для юнит-тестирования xUnitFor1C -Перем ЮТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("Тест_ДолженСоздатьДвеЗаписиВРегистреСведенийЧерезНаборЗаписей"); - - Возврат ВсеТесты; - -КонецФункции -//} - -//{ блок юнит-тестов - сами тесты - -Процедура ПередЗапускомТеста() Экспорт - НачатьТранзакцию(); -КонецПроцедуры - -Процедура ПослеЗапускаТеста() Экспорт - Если ТранзакцияАктивна() Тогда - ОтменитьТранзакцию(); - КонецЕсли; -КонецПроцедуры - -Процедура Тест_ДолженСоздатьДвеЗаписиВРегистреСведенийЧерезНаборЗаписей() Экспорт - ТипМетаданного = "РегистрСведений"; - ВидМетаданного = "РегистрСведений1"; - КоличествоДо = ЮТест.ПолучитьКоличествоЭлементовРегистраПоОтбору(ТипМетаданного, ВидМетаданного); - - Макет = ПолучитьМакет("СозданиеДвухНаборовЗаписейВРегистреСведений"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(5, ТестовыеДанные.Количество()); - - КоличествоПосле = ЮТест.ПолучитьКоличествоЭлементовРегистраПоОтбору(ТипМетаданного, ВидМетаданного); - ЮТест.ПроверитьРавенство(КоличествоДо + 2, КоличествоПосле, "КоличествоДо + 2, КоличествоПосле"); - - //ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ЗаписьРегистра1"), "Ожидали, что есть переменная 'ЗаписьРегистра1'"); - //ЮТест.Проверить(ТестовыеДанные.ЗаписьРегистра1.Выбран(), "Ожидали, что ЗаписьРегистра1.Выбран() вернет Ложь, а вернулась Истина"); - //ЮТест.ПроверитьТип(ТестовыеДанные.ЗаписьРегистра1, "РегистрСведенийНаборЗаписей.РегистрСведений1"); - //ЮТест.ПроверитьРавенство(2, ТестовыеДанные.ЗаписьРегистра1.Количество(), "ТестовыеДанные.ЗаписьРегистра1.Количество()"); - // - //запись = ТестовыеДанные.ЗаписьРегистра1[0]; - //ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); - //ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, запись.ПростойСправочник2); - //ЮТест.ПроверитьРавенство(300, запись.РесурсЧисло); - //ЮТест.ПроверитьЛожь(запись.РесурсБулево); - // - //запись = ТестовыеДанные.ЗаписьРегистра1[1]; - ////ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ЗаписьРегистра2"), "Ожидали, что есть переменная 'ЗаписьРегистра2'"); - //ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); - //ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник22, запись.ПростойСправочник2); - //ЮТест.ПроверитьРавенство(400, запись.РесурсЧисло); - //ЮТест.ПроверитьИстину(запись.РесурсБулево); -КонецПроцедуры - - -//} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/renames.txt" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/renames.txt" deleted file mode 100644 index bdfcffcc..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/renames.txt" +++ /dev/null @@ -1,10 +0,0 @@ -151fe580-d39e-466d-bca6-fe4cf769baa2-->und\151fe580-d39e-466d-bca6-fe4cf769baa2 -203005cd-50a9-4bc8-a090-bb8387675810.0\info-->C:\Users\aayuhanov\AppData\Local\Temp\ТестДублированияРегистровПриСозданииИзМакетов.epf.und\203005cd-50a9-4bc8-a090-bb8387675810.0\info -203005cd-50a9-4bc8-a090-bb8387675810.0\text-->ObjectModule.txt -a2f2a139-f8ed-4c06-ac86-5a89465388df-->und\a2f2a139-f8ed-4c06-ac86-5a89465388df -a2f2a139-f8ed-4c06-ac86-5a89465388df.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестДублированияРегистровПриСозданииИзМакетов\Макеты\СозданиеДвухНаборовЗаписейВРегистреСведений.mxl -a2f2a139-f8ed-4c06-ac86-5a89465388df.0-->und\a2f2a139-f8ed-4c06-ac86-5a89465388df.0 -copyinfo-->und\copyinfo -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/und/151fe580-d39e-466d-bca6-fe4cf769baa2" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/und/151fe580-d39e-466d-bca6-fe4cf769baa2" deleted file mode 100644 index ad444558..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/und/151fe580-d39e-466d-bca6-fe4cf769baa2" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{151fe580-d39e-466d-bca6-fe4cf769baa2},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,13c2b9da-ce7e-411d-a21b-44766f279146,1b2c6467-c11e-4054-acae-880d24b6ca8d, -{0, -{0, -{0,0,203005cd-50a9-4bc8-a090-bb8387675810},"ТестДублированияРегистровПриСозданииИзМакетов", -{1,"ru","Тест дублирования регистров при создании из макетов"},""} -},00000000-0000-0000-0000-000000000000,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,1,a2f2a139-f8ed-4c06-ac86-5a89465388df}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/und/a2f2a139-f8ed-4c06-ac86-5a89465388df" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/und/a2f2a139-f8ed-4c06-ac86-5a89465388df" deleted file mode 100644 index 67314d43..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/und/a2f2a139-f8ed-4c06-ac86-5a89465388df" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,a2f2a139-f8ed-4c06-ac86-5a89465388df},"СозданиеДвухНаборовЗаписейВРегистреСведений", -{1,"ru","Создание двух наборов записей в регистре сведений"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/und/a2f2a139-f8ed-4c06-ac86-5a89465388df.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/und/a2f2a139-f8ed-4c06-ac86-5a89465388df.0" deleted file mode 100644 index da1883fd..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/und/a2f2a139-f8ed-4c06-ac86-5a89465388df.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/und/root" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/und/root" deleted file mode 100644 index 8eae0583..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,151fe580-d39e-466d-bca6-fe4cf769baa2,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/und/versions" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/und/versions" deleted file mode 100644 index 133e614c..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,9,"",d9253ea8-8dbf-4cf6-8404-4da8d8fd42fb,"versions",558af406-a791-466b-a128-185057d56b87,"root",93171a5f-be2d-4f26-8802-163beebd0641,"a2f2a139-f8ed-4c06-ac86-5a89465388df.0",28e05b93-0e56-414a-b674-05d0d0d5c641,"version",d2a9ca7d-9bcf-42ca-951e-7accfe17af4e,"a2f2a139-f8ed-4c06-ac86-5a89465388df",e01b0142-3b45-4952-ba5b-edb68811c3b3,"203005cd-50a9-4bc8-a090-bb8387675810.0",728a7df7-0ffd-46e9-8f1a-8f494cf5bd18,"151fe580-d39e-466d-bca6-fe4cf769baa2",e5273df5-752a-45ee-b02b-861d2614b8e0,"copyinfo",c532b9b0-504f-4d0a-84d3-4666d7140687} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/\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\224\320\262\321\203\321\205\320\235\320\260\320\261\320\276\321\200\320\276\320\262\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271.mxl" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/\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\224\320\262\321\203\321\205\320\235\320\260\320\261\320\276\321\200\320\276\320\262\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271.mxl" deleted file mode 100644 index da1883fd..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/\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\224\320\262\321\203\321\205\320\235\320\260\320\261\320\276\321\200\320\276\320\262\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271.mxl" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/Form/\320\243\320\244/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/Form/\320\243\320\244/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index 5068be4a..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/Form/\320\243\320\244/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,92 +0,0 @@ -&НаКлиенте -Перем ЮТест; // для тестирования - -//{ основная процедура для юнит-тестирования 1CUnit -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("ТестДолжен_УстановитьКонтекст"); - ВсеТесты.Добавить("ТестДолжен_ПрочитатьКонтекст"); - ВсеТесты.Добавить("ТестДолжен_ОчиститьКонтекст"); - ВсеТесты.Добавить("ТестДолжен_УстановитьКонтекст_БезИдентификатора"); - ВсеТесты.Добавить("ТестДолжен_ПрочитатьКонтекст_БезИдентификатора"); - ВсеТесты.Добавить("ТестДолжен_ОчиститьКонтекст_БезИдентификатора"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьПолучениеНеустановленногоКонтекста"); - - Возврат ВсеТесты; - -КонецФункции - -&НаКлиенте -Функция РазрешенСлучайныйПорядокВыполненияТестов() Экспорт - Возврат Ложь; -КонецФункции -//} - -//{ блок юнит-тестов - сами тесты - -&НаКлиенте -Процедура ТестДолжен_УстановитьКонтекст() Экспорт - Контекст = Новый Структура("Ключ", 10); - ЮТест.УстановитьКонтекст(Контекст, Идентификатор()); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПрочитатьКонтекст() Экспорт - Контекст = ЮТест.ПолучитьКонтекст(Идентификатор()); - ЮТест.ПроверитьРавенство(10, Контекст.Ключ, "передача контекста между тестами не работает"); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ОчиститьКонтекст() Экспорт - Контекст = Новый Структура("Ключ", 11); - ЮТест.УстановитьКонтекст(Контекст, Идентификатор()); - ЮТест.УстановитьКонтекст(Неопределено, Идентификатор()); - Контекст = ЮТест.ПолучитьКонтекст(Идентификатор()); - ЮТест.ПроверитьРавенство(Неопределено, Контекст, "Очистка контекста (установка пустого контекста) не работает"); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_УстановитьКонтекст_БезИдентификатора() Экспорт - Контекст = Новый Структура("Ключ", 12); - ЮТест.УстановитьКонтекст(Контекст); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПрочитатьКонтекст_БезИдентификатора() Экспорт - Контекст = ЮТест.ПолучитьКонтекст(); - ЮТест.ПроверитьРавенство(12, Контекст.Ключ, "передача контекста между тестами не работает"); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ОчиститьКонтекст_БезИдентификатора() Экспорт - Контекст = Новый Структура("Ключ", 13); - ЮТест.УстановитьКонтекст(Контекст); - ЮТест.УстановитьКонтекст(Неопределено); - Контекст = ЮТест.ПолучитьКонтекст(); - ЮТест.ПроверитьРавенство(Неопределено, Контекст, "Очистка контекста (установка пустого контекста) не работает"); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьПолучениеНеустановленногоКонтекста() Экспорт - - Идентификатор = "_" + СтрЗаменить(Новый УникальныйИдентификатор, "-", ""); - ПараметрыМетода = Новый Массив; - ПараметрыМетода.Добавить(Идентификатор); - - ТекстОшибки = СтрЗаменить(НСтр("ru = 'Отсутствует запрашиваемый контекст (%1).'"), "%1", Идентификатор); - - ЮТест.ПроверитьМетодНеВыполнился(ЮТест, "ПолучитьКонтекст", ПараметрыМетода, ТекстОшибки, НСтр("ru = 'Получили неустановленный контекст.'")); - -КонецПроцедуры - -&НаКлиенте -Функция Идентификатор() - Возврат "МойКонтекст_9347"; -КонецФункции - -//} конец блока юнит-тестов diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/ObjectModule.txt" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/ObjectModule.txt" deleted file mode 100644 index 2f2dc77d..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/ObjectModule.txt" +++ /dev/null @@ -1,82 +0,0 @@ -//{ основная процедура для юнит-тестирования xUnitFor1C -Перем ЮТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("ТестДолжен_УстановитьКонтекст"); - ВсеТесты.Добавить("ТестДолжен_ПрочитатьКонтекст"); - ВсеТесты.Добавить("ТестДолжен_ОчиститьКонтекст"); - ВсеТесты.Добавить("ТестДолжен_УстановитьКонтекст_БезИдентификатора"); - ВсеТесты.Добавить("ТестДолжен_ПрочитатьКонтекст_БезИдентификатора"); - ВсеТесты.Добавить("ТестДолжен_ОчиститьКонтекст_БезИдентификатора"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьПолучениеНеустановленногоКонтекста"); - - Возврат ВсеТесты; - -КонецФункции - -Функция РазрешенСлучайныйПорядокВыполненияТестов() Экспорт - Возврат Ложь; -КонецФункции - -//} - -//{ блок юнит-тестов - сами тесты - -Процедура ТестДолжен_УстановитьКонтекст() Экспорт - Контекст = Новый Структура("Ключ", 10); - ЮТест.УстановитьКонтекст(Контекст, Идентификатор()); -КонецПроцедуры - -Процедура ТестДолжен_ПрочитатьКонтекст() Экспорт - Контекст = ЮТест.ПолучитьКонтекст(Идентификатор()); - ЮТест.ПроверитьРавенство(10, Контекст.Ключ, "передача контекста между тестами не работает"); -КонецПроцедуры - -Процедура ТестДолжен_ОчиститьКонтекст() Экспорт - Контекст = Новый Структура("Ключ", 11); - ЮТест.УстановитьКонтекст(Контекст, Идентификатор()); - ЮТест.УстановитьКонтекст(Неопределено, Идентификатор()); - Контекст = ЮТест.ПолучитьКонтекст(Идентификатор()); - ЮТест.ПроверитьРавенство(Неопределено, Контекст, "Очистка контекста (установка пустого контекста) не работает"); -КонецПроцедуры - -Процедура ТестДолжен_УстановитьКонтекст_БезИдентификатора() Экспорт - Контекст = Новый Структура("Ключ", 12); - ЮТест.УстановитьКонтекст(Контекст); -КонецПроцедуры - -Процедура ТестДолжен_ПрочитатьКонтекст_БезИдентификатора() Экспорт - Контекст = ЮТест.ПолучитьКонтекст(); - ЮТест.ПроверитьРавенство(12, Контекст.Ключ, "передача контекста между тестами не работает"); -КонецПроцедуры - -Процедура ТестДолжен_ОчиститьКонтекст_БезИдентификатора() Экспорт - Контекст = Новый Структура("Ключ", 13); - ЮТест.УстановитьКонтекст(Контекст); - ЮТест.УстановитьКонтекст(Неопределено); - Контекст = ЮТест.ПолучитьКонтекст(); - ЮТест.ПроверитьРавенство(Неопределено, Контекст, "Очистка контекста (установка пустого контекста) не работает"); -КонецПроцедуры - -Процедура ТестДолжен_ПроверитьПолучениеНеустановленногоКонтекста() Экспорт - - Идентификатор = "_" + СтрЗаменить(Новый УникальныйИдентификатор, "-", ""); - ПараметрыМетода = Новый Массив; - ПараметрыМетода.Добавить(Идентификатор); - - ТекстОшибки = СтрЗаменить(НСтр("ru = 'Отсутствует запрашиваемый контекст (%1).'"), "%1", Идентификатор); - - ЮТест.ПроверитьМетодНеВыполнился(ЮТест, "ПолучитьКонтекст", ПараметрыМетода, ТекстОшибки, НСтр("ru = 'Получили неустановленный контекст.'")); - -КонецПроцедуры - -Функция Идентификатор() - Возврат "МойКонтекст_097шгр"; -КонецФункции - -//} diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/renames.txt" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/renames.txt" deleted file mode 100644 index 72a76c08..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/renames.txt" +++ /dev/null @@ -1,11 +0,0 @@ -40064018-7955-4f93-897c-58b8ccf911e2.0\info-->und\40064018-7955-4f93-897c-58b8ccf911e2.0\info -40064018-7955-4f93-897c-58b8ccf911e2.0\text-->ObjectModule.txt -423a7f8c-8cfa-44ae-8faa-f590ac678599-->und\423a7f8c-8cfa-44ae-8faa-f590ac678599 -423a7f8c-8cfa-44ae-8faa-f590ac678599.0-->c:\home\projects\xUnitFor1C\src\Tests\CommonApp\ТестКонтекст\Form\УФ\Форма.txt -423a7f8c-8cfa-44ae-8faa-f590ac678599.0-->und\423a7f8c-8cfa-44ae-8faa-f590ac678599.0 -423a7f8c-8cfa-44ae-8faa-f590ac678599.0-->und\423a7f8c-8cfa-44ae-8faa-f590ac678599.0 -copyinfo-->und\copyinfo -ef676c3e-40ff-43e3-b1fe-e848dd3acaa8-->und\ef676c3e-40ff-43e3-b1fe-e848dd3acaa8 -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/423a7f8c-8cfa-44ae-8faa-f590ac678599" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/423a7f8c-8cfa-44ae-8faa-f590ac678599" deleted file mode 100644 index e9207c77..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/423a7f8c-8cfa-44ae-8faa-f590ac678599" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,423a7f8c-8cfa-44ae-8faa-f590ac678599},"УФ", -{1,"ru","УФ"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/423a7f8c-8cfa-44ae-8faa-f590ac678599.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/423a7f8c-8cfa-44ae-8faa-f590ac678599.0" deleted file mode 100644 index 212e18eb..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/423a7f8c-8cfa-44ae-8faa-f590ac678599.0" +++ /dev/null @@ -1,159 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"&НаКлиенте -Перем ЮТест; // для тестирования - -//{ основная процедура для юнит-тестирования 1CUnit -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить(""ТестДолжен_УстановитьКонтекст""); - ВсеТесты.Добавить(""ТестДолжен_ПрочитатьКонтекст""); - ВсеТесты.Добавить(""ТестДолжен_ОчиститьКонтекст""); - ВсеТесты.Добавить(""ТестДолжен_УстановитьКонтекст_БезИдентификатора""); - ВсеТесты.Добавить(""ТестДолжен_ПрочитатьКонтекст_БезИдентификатора""); - ВсеТесты.Добавить(""ТестДолжен_ОчиститьКонтекст_БезИдентификатора""); - ВсеТесты.Добавить(""ТестДолжен_ПроверитьПолучениеНеустановленногоКонтекста""); - - Возврат ВсеТесты; - -КонецФункции - -&НаКлиенте -Функция РазрешенСлучайныйПорядокВыполненияТестов() Экспорт - Возврат Ложь; -КонецФункции -//} - -//{ блок юнит-тестов - сами тесты - -&НаКлиенте -Процедура ТестДолжен_УстановитьКонтекст() Экспорт - Контекст = Новый Структура(""Ключ"", 10); - ЮТест.УстановитьКонтекст(Контекст, Идентификатор()); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПрочитатьКонтекст() Экспорт - Контекст = ЮТест.ПолучитьКонтекст(Идентификатор()); - ЮТест.ПроверитьРавенство(10, Контекст.Ключ, ""передача контекста между тестами не работает""); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ОчиститьКонтекст() Экспорт - Контекст = Новый Структура(""Ключ"", 11); - ЮТест.УстановитьКонтекст(Контекст, Идентификатор()); - ЮТест.УстановитьКонтекст(Неопределено, Идентификатор()); - Контекст = ЮТест.ПолучитьКонтекст(Идентификатор()); - ЮТест.ПроверитьРавенство(Неопределено, Контекст, ""Очистка контекста (установка пустого контекста) не работает""); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_УстановитьКонтекст_БезИдентификатора() Экспорт - Контекст = Новый Структура(""Ключ"", 12); - ЮТест.УстановитьКонтекст(Контекст); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПрочитатьКонтекст_БезИдентификатора() Экспорт - Контекст = ЮТест.ПолучитьКонтекст(); - ЮТест.ПроверитьРавенство(12, Контекст.Ключ, ""передача контекста между тестами не работает""); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ОчиститьКонтекст_БезИдентификатора() Экспорт - Контекст = Новый Структура(""Ключ"", 13); - ЮТест.УстановитьКонтекст(Контекст); - ЮТест.УстановитьКонтекст(Неопределено); - Контекст = ЮТест.ПолучитьКонтекст(); - ЮТест.ПроверитьРавенство(Неопределено, Контекст, ""Очистка контекста (установка пустого контекста) не работает""); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьПолучениеНеустановленногоКонтекста() Экспорт - - Идентификатор = ""_"" + СтрЗаменить(Новый УникальныйИдентификатор, ""-"", """"); - ПараметрыМетода = Новый Массив; - ПараметрыМетода.Добавить(Идентификатор); - - ТекстОшибки = СтрЗаменить(НСтр(""ru = 'Отсутствует запрашиваемый контекст (%1).'""), ""%1"", Идентификатор); - - ЮТест.ПроверитьМетодНеВыполнился(ЮТест, ""ПолучитьКонтекст"", ПараметрыМетода, ТекстОшибки, НСтр(""ru = 'Получили неустановленный контекст.'"")); - -КонецПроцедуры - -&НаКлиенте -Функция Идентификатор() - Возврат ""МойКонтекст_9347""; -КонецФункции - -//} конец блока юнит-тестов -", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",5651e8ee-504c-4940-8b83-89c69a8b875d} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/copyinfo" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/copyinfo" deleted file mode 100644 index 74aa2850..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{40064018-7955-4f93-897c-58b8ccf911e2,40064018-7955-4f93-897c-58b8ccf911e2,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ТестКонтекст"} -}, -{423a7f8c-8cfa-44ae-8faa-f590ac678599,423a7f8c-8cfa-44ae-8faa-f590ac678599,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"УФ"} -} -}, -{1, -{5651e8ee-504c-4940-8b83-89c69a8b875d,40064018-7955-4f93-897c-58b8ccf911e2,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/ef676c3e-40ff-43e3-b1fe-e848dd3acaa8" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/ef676c3e-40ff-43e3-b1fe-e848dd3acaa8" deleted file mode 100644 index 130dd256..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/ef676c3e-40ff-43e3-b1fe-e848dd3acaa8" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{ef676c3e-40ff-43e3-b1fe-e848dd3acaa8},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,5651e8ee-504c-4940-8b83-89c69a8b875d,826a7e31-b3c6-4e14-ad69-466a302b677a, -{0, -{0, -{0,0,40064018-7955-4f93-897c-58b8ccf911e2},"ТестКонтекст", -{1,"ru","Тест контекст"},""} -},423a7f8c-8cfa-44ae-8faa-f590ac678599,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,423a7f8c-8cfa-44ae-8faa-f590ac678599}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/root" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/root" deleted file mode 100644 index 4535d2b3..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,ef676c3e-40ff-43e3-b1fe-e848dd3acaa8,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/versions" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/versions" deleted file mode 100644 index 1ee0e54b..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,9,"",c6ba9bda-dea6-4bb3-8331-c86bc15a01fc,"versions",72af6cbf-adaa-4569-93ef-98b5053844ed,"root",2ff7afd6-81c8-4791-9ad9-bfe4ac82e120,"423a7f8c-8cfa-44ae-8faa-f590ac678599.0",9a3eace8-25fb-467c-8a2b-b7bfdf2a5299,"423a7f8c-8cfa-44ae-8faa-f590ac678599",ea040560-0929-4aff-a878-eb17f4dbd34c,"version",0f427361-ea04-4906-a24d-32a1783c7ced,"ef676c3e-40ff-43e3-b1fe-e848dd3acaa8",d39fab8e-f9b5-462c-89fa-3543646bf8c3,"40064018-7955-4f93-897c-58b8ccf911e2.0",2e85ef0d-f82e-4a66-b708-8a500c958a88,"copyinfo",070dc9bf-63c1-4300-bda3-d224441f2a56} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\237\320\276\320\272\320\260\320\267\320\260\321\202\321\214GUID/ObjectModule.txt" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\237\320\276\320\272\320\260\320\267\320\260\321\202\321\214GUID/ObjectModule.txt" deleted file mode 100644 index b9b15214..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\237\320\276\320\272\320\260\320\267\320\260\321\202\321\214GUID/ObjectModule.txt" +++ /dev/null @@ -1,48 +0,0 @@ -#Если ТолстыйКлиентОбычноеПриложение Тогда -//#Если ТолстыйКлиентОбычноеПриложение или ТолстыйКлиентУправляемоеПриложение Тогда - -Перем юТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("Тест_ФормаПоУмолчаниюДолжнаБытьОпределена"); - - Возврат ВсеТесты; - -КонецФункции - -Процедура ПередЗапускомТеста() Экспорт - - //юТест.ВывестиСообщение("Перед запуском теста"); - -КонецПроцедуры - -Процедура ПослеЗапускаТеста() Экспорт - - //юТест.ВывестиСообщение("После запуска теста"); - -КонецПроцедуры - -Процедура Тест_ФормаПоУмолчаниюДолжнаБытьОпределена() Экспорт - - файл = Новый Файл(ЭтотОбъект.ИспользуемоеИмяФайла); - - Обработка = юТест.СоздатьОбъектВнешнейОбработкиОтключаяБезопасныйРежим(файл.Путь+ "..\..\xddGuidShow.epf"); - //Попытка - // НоваяФорма = ПолучитьФорму("ВнешняяОбработка.xddGuidShow.Форма.Форма"); //НоваяФорма = Обработка.ПолучитьФорму("Форма"); - //Исключение - // НоваяФорма = ПолучитьФорму("ВнешняяОбработка.xddGuidShow.Форма.УправляемаяФорма"); //НоваяФорма = Обработка.ПолучитьФорму("Форма"); - //КонецПопытки; - НоваяФорма = Обработка.ПолучитьФорму("Форма"); - - Если НоваяФорма = Неопределено Тогда - ВызватьИсключение("Инструмент xddGuidShow.epf : не удалось получить основную форму!"); - КонецЕсли; - -КонецПроцедуры - -#КонецЕсли \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\237\320\276\320\272\320\260\320\267\320\260\321\202\321\214GUID/renames.txt" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\237\320\276\320\272\320\260\320\267\320\260\321\202\321\214GUID/renames.txt" deleted file mode 100644 index 33b979fd..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\237\320\276\320\272\320\260\320\267\320\260\321\202\321\214GUID/renames.txt" +++ /dev/null @@ -1,7 +0,0 @@ -727eda5f-558c-428b-86d2-3421c52f4c50.0\info-->und\727eda5f-558c-428b-86d2-3421c52f4c50.0\info -727eda5f-558c-428b-86d2-3421c52f4c50.0\text-->ObjectModule.txt -copyinfo-->und\copyinfo -f38c7465-2120-4aeb-87fc-1cd6a72e4559-->und\f38c7465-2120-4aeb-87fc-1cd6a72e4559 -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\237\320\276\320\272\320\260\320\267\320\260\321\202\321\214GUID/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\237\320\276\320\272\320\260\320\267\320\260\321\202\321\214GUID/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" deleted file mode 100644 index fc9e2c71..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\237\320\276\320\272\320\260\320\267\320\260\321\202\321\214GUID/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{f38c7465-2120-4aeb-87fc-1cd6a72e4559},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,46282281-48b4-46da-8efa-b167f8b65d44,68c3abeb-66d9-445e-a617-90228868ace3, -{0, -{0, -{0,0,727eda5f-558c-428b-86d2-3421c52f4c50},"ТестПоказатьGUID", -{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}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\237\320\276\320\272\320\260\320\267\320\260\321\202\321\214GUID/und/root" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\237\320\276\320\272\320\260\320\267\320\260\321\202\321\214GUID/und/root" deleted file mode 100644 index 7a2de7c1..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\237\320\276\320\272\320\260\320\267\320\260\321\202\321\214GUID/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,f38c7465-2120-4aeb-87fc-1cd6a72e4559,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\237\320\276\320\272\320\260\320\267\320\260\321\202\321\214GUID/und/versions" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\237\320\276\320\272\320\260\320\267\320\260\321\202\321\214GUID/und/versions" deleted file mode 100644 index 99bbb893..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\237\320\276\320\272\320\260\320\267\320\260\321\202\321\214GUID/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,7,"",58ebe01d-301b-40df-8942-f9e0fb73a279,"versions",add85e8a-cb25-41db-9414-5cf2e603cb27,"root",8835351d-8070-49a5-81d2-04c668e52ee6,"version",e2142842-9155-42a1-888e-bfd13e57afe8,"727eda5f-558c-428b-86d2-3421c52f4c50.0",f7ad165f-2ba0-429e-8eda-221b6861faf0,"f38c7465-2120-4aeb-87fc-1cd6a72e4559",6c228224-2a85-43bb-8fa6-342e1bf8852e,"copyinfo",5787b901-7078-47cb-94df-879561350dd2} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/ObjectModule.txt" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/ObjectModule.txt" deleted file mode 100644 index 2251327a..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/ObjectModule.txt" +++ /dev/null @@ -1,31 +0,0 @@ -Перем юТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - ВсеТесты.Добавить("Тест_ДваПлюсДва"); - //ВсеТесты.Добавить("Тест_ДваПлюсТри"); - - Возврат ВсеТесты; - -КонецФункции - -Процедура ПередЗапускомТеста() Экспорт - - юТест.ВывестиСообщение("Перед запуском теста"); - -КонецПроцедуры - -Процедура ПослеЗапускаТеста() Экспорт - - юТест.ВывестиСообщение("После запуска теста"); - -КонецПроцедуры - -Процедура Тест_ДваПлюсДва() Экспорт - - юТест.Проверить(2 + 2 = 4, "Значение не верно"); - -КонецПроцедуры diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/renames.txt" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/renames.txt" deleted file mode 100644 index 33b979fd..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/renames.txt" +++ /dev/null @@ -1,7 +0,0 @@ -727eda5f-558c-428b-86d2-3421c52f4c50.0\info-->und\727eda5f-558c-428b-86d2-3421c52f4c50.0\info -727eda5f-558c-428b-86d2-3421c52f4c50.0\text-->ObjectModule.txt -copyinfo-->und\copyinfo -f38c7465-2120-4aeb-87fc-1cd6a72e4559-->und\f38c7465-2120-4aeb-87fc-1cd6a72e4559 -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" deleted file mode 100644 index d5189511..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{f38c7465-2120-4aeb-87fc-1cd6a72e4559},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,46282281-48b4-46da-8efa-b167f8b65d44,68c3abeb-66d9-445e-a617-90228868ace3, -{0, -{0, -{0,0,727eda5f-558c-428b-86d2-3421c52f4c50},"ТестПримерТеста", -{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}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/root" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/root" deleted file mode 100644 index 7a2de7c1..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,f38c7465-2120-4aeb-87fc-1cd6a72e4559,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/versions" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/versions" deleted file mode 100644 index f246f49f..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,7,"",f95bfae7-62e6-49f0-8404-f68a67d4a11e,"root",28b8a514-a05a-476c-9426-5a1c7d6090a4,"727eda5f-558c-428b-86d2-3421c52f4c50.0",abf815b0-4aae-42e6-a378-139022691425,"copyinfo",5076ac0b-f2ec-4030-8ef4-f89277ce492a,"f38c7465-2120-4aeb-87fc-1cd6a72e4559",5123c007-752d-4b53-b099-8e56d0c1fc0c,"versions",481421a4-97eb-454e-b21e-c54f8bc89917,"version",06881c67-63d7-419a-837b-891924365b9f} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260\320\236\321\202\320\273\320\260\320\264\320\272\320\260\320\243\320\244/ObjectModule.txt" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260\320\236\321\202\320\273\320\260\320\264\320\272\320\260\320\243\320\244/ObjectModule.txt" deleted file mode 100644 index 2251327a..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260\320\236\321\202\320\273\320\260\320\264\320\272\320\260\320\243\320\244/ObjectModule.txt" +++ /dev/null @@ -1,31 +0,0 @@ -Перем юТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - ВсеТесты.Добавить("Тест_ДваПлюсДва"); - //ВсеТесты.Добавить("Тест_ДваПлюсТри"); - - Возврат ВсеТесты; - -КонецФункции - -Процедура ПередЗапускомТеста() Экспорт - - юТест.ВывестиСообщение("Перед запуском теста"); - -КонецПроцедуры - -Процедура ПослеЗапускаТеста() Экспорт - - юТест.ВывестиСообщение("После запуска теста"); - -КонецПроцедуры - -Процедура Тест_ДваПлюсДва() Экспорт - - юТест.Проверить(2 + 2 = 4, "Значение не верно"); - -КонецПроцедуры diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260\320\236\321\202\320\273\320\260\320\264\320\272\320\260\320\243\320\244/renames.txt" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260\320\236\321\202\320\273\320\260\320\264\320\272\320\260\320\243\320\244/renames.txt" deleted file mode 100644 index 33b979fd..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260\320\236\321\202\320\273\320\260\320\264\320\272\320\260\320\243\320\244/renames.txt" +++ /dev/null @@ -1,7 +0,0 @@ -727eda5f-558c-428b-86d2-3421c52f4c50.0\info-->und\727eda5f-558c-428b-86d2-3421c52f4c50.0\info -727eda5f-558c-428b-86d2-3421c52f4c50.0\text-->ObjectModule.txt -copyinfo-->und\copyinfo -f38c7465-2120-4aeb-87fc-1cd6a72e4559-->und\f38c7465-2120-4aeb-87fc-1cd6a72e4559 -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260\320\236\321\202\320\273\320\260\320\264\320\272\320\260\320\243\320\244/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260\320\236\321\202\320\273\320\260\320\264\320\272\320\260\320\243\320\244/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" deleted file mode 100644 index d5189511..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260\320\236\321\202\320\273\320\260\320\264\320\272\320\260\320\243\320\244/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{f38c7465-2120-4aeb-87fc-1cd6a72e4559},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,46282281-48b4-46da-8efa-b167f8b65d44,68c3abeb-66d9-445e-a617-90228868ace3, -{0, -{0, -{0,0,727eda5f-558c-428b-86d2-3421c52f4c50},"ТестПримерТеста", -{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}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260\320\236\321\202\320\273\320\260\320\264\320\272\320\260\320\243\320\244/und/root" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260\320\236\321\202\320\273\320\260\320\264\320\272\320\260\320\243\320\244/und/root" deleted file mode 100644 index 7a2de7c1..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260\320\236\321\202\320\273\320\260\320\264\320\272\320\260\320\243\320\244/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,f38c7465-2120-4aeb-87fc-1cd6a72e4559,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260\320\236\321\202\320\273\320\260\320\264\320\272\320\260\320\243\320\244/und/versions" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260\320\236\321\202\320\273\320\260\320\264\320\272\320\260\320\243\320\244/und/versions" deleted file mode 100644 index f246f49f..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260\320\236\321\202\320\273\320\260\320\264\320\272\320\260\320\243\320\244/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,7,"",f95bfae7-62e6-49f0-8404-f68a67d4a11e,"root",28b8a514-a05a-476c-9426-5a1c7d6090a4,"727eda5f-558c-428b-86d2-3421c52f4c50.0",abf815b0-4aae-42e6-a378-139022691425,"copyinfo",5076ac0b-f2ec-4030-8ef4-f89277ce492a,"f38c7465-2120-4aeb-87fc-1cd6a72e4559",5123c007-752d-4b53-b099-8e56d0c1fc0c,"versions",481421a4-97eb-454e-b21e-c54f8bc89917,"version",06881c67-63d7-419a-837b-891924365b9f} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index 2a1596ad..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,168 +0,0 @@ -&НаКлиенте -Перем ЮТест; // для тестирования - -&НаКлиенте -Перем ЮнитТестированиеИмя; - -//{ основная процедура для юнит-тестирования xUnitFor1C -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - ЮнитТестированиеИмя = ЮнитТестирование.МетаданныеИмя(); - - ЮТест = ЮнитТестирование; - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("ТестДолжен_ПодключитьЮТестИзТестаМодуляФормыВТестеМодуляОбработки"); - - Возврат ВсеТесты; -КонецФункции -//} - -//{ блок юнит-тестов - сами тесты - -&НаКлиенте -Процедура ПередЗапускомТеста() Экспорт - ИмяПеременнойПользователь = "Пользователь12"; - ПользовательИмя = "ТестИмя12"; - ОбновитьПовторноИспользуемыеЗначения(); -КонецПроцедуры - -&НаКлиенте -Процедура ПослеЗапускаТеста() Экспорт - УдалитьТестовыеДанныеСервер(ЮнитТестированиеИмя); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПодключитьЮТестИзТестаМодуляФормыВТестеМодуляОбработки() Экспорт - - СоздатьТестовыеДанныеСервер(ЮнитТестированиеИмя); - - ЮТест.ПроверитьРавенство(2, ТестовыеДанныеУФ.Количество(), "ТестовыеДанныеУФ.Количество()"); - - Строка = ТестовыеДанныеУФ[0]; - ЮТест.ПроверитьРавенство("ПользовательИнформационнойБазы", Строка.Ключ, "Строка.Ключ УФ"); - ЭлементСпискаЗначений = Строка.Значение[0]; - ЮТест.ПроверитьРавенство(ПользовательИмя, СокрЛП(ЭлементСпискаЗначений.Значение), "ЭлементСпискаЗначений.Значение УФ"); - ЮТест.ПроверитьРавенство(ИмяПеременнойПользователь, ЭлементСпискаЗначений.Представление, "ЭлементСпискаЗначений.Представление УФ"); - - ЭлементСпискаЗначений = ТестовыеДанныеУФ[1]; - ЮТест.ПроверитьРавенство("Тестовое наименование", ""+ЭлементСпискаЗначений.Значение[0].Значение, "УФ"); - - УдалитьТестовыеДанныеСервер(ЮнитТестированиеИмя); -КонецПроцедуры - -&НаСервере -Процедура СоздатьТестовыеДанныеСервер(Знач ЮТестПуть) - - ЮТест = ВнешниеОбработки.Создать(ЮТестПуть); - - ИмяМакета = "СозданиеОдногоПользователяИБ"; - //ИмяМакета = "СозданиеОдногоПользователяИБ_УФ"; - - ОсновнойОбъект = Объект(); - МассивИменПользователей = МассивИменПользователейПоУмолчанию(); - Для каждого ИмяПользователя Из МассивИменПользователей Цикл - УдалитьПользователяИБ_ЕслиОнСуществует(ИмяПользователя); - КонецЦикла; - - КоллекцияПараметров = Новый Структура("ИмяПеременнойПользователь, ПользовательИмя", ИмяПеременнойПользователь, ПользовательИмя); - НовыйТабДок = ОсновнойОбъект.ПолучитьМакетДанныхДоступа(ИмяМакета, КоллекцияПараметров); - - МассивМакетов = Новый Массив; - МассивМакетов.Добавить(НовыйТабДок); - МассивМакетов.Добавить(ОсновнойОбъект.ПолучитьМакет("СозданиеПростогоСправочника")); - - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(МассивМакетов); - - лПользователь = ПользователиИнформационнойБазы.НайтиПоИмени(ПользовательИмя); - ЮТест.ПроверитьНеравенство(лПользователь, Неопределено, "лПользователь"); - - ЮТест.ПроверитьРавенство("Тестовое наименование", ТестовыеДанные.ПростойСправочник.Наименование); - - ТестовыеДанныеУФ.Очистить(); - ЮТест.ПроверитьРавенство(0, ТестовыеДанныеУФ.Количество(), "ТестовыеДанныеУФ.Количество()"); - - ТестовыеДанныеДляУФ = Новый ТаблицаЗначений; - Колонка = ТестовыеДанныеДляУФ.Колонки.Добавить("Ключ"); - Колонка = ТестовыеДанныеДляУФ.Колонки.Добавить("Значение"); - - Для каждого ключЗначение Из ТестовыеДанные Цикл - СписокВрем = Новый СписокЗначений; - Строка = ТестовыеДанныеДляУФ.Добавить(); - Если ТипЗнч(ключЗначение.Значение) = Тип("ПользовательИнформационнойБазы") Тогда - СписокВрем.Добавить(ключЗначение.Значение.Имя, ключЗначение.Ключ); - Строка.Ключ = "ПользовательИнформационнойБазы"; - Иначе - Строка.Ключ = ключЗначение.Ключ; - СписокВрем.Добавить(ключЗначение.Значение); - КонецЕсли; - Строка.Значение = СписокВрем; - КонецЦикла; - - ЗначениеВДанныеФормы(ТестовыеДанныеДляУФ, ТестовыеДанныеУФ); - - ЮТест.ПроверитьРавенство(ТестовыеДанные.Количество(), ТестовыеДанныеУФ.Количество(), "ТестовыеДанные.Количество(), ТестовыеДанныеУФ.Количество()"); - Строка = ТестовыеДанныеУФ[0]; - ЮТест.ПроверитьРавенство("ПользовательИнформационнойБазы", Строка.Ключ, "Строка.Ключ"); - ЭлементСпискаЗначений = Строка.Значение[0]; - ЮТест.ПроверитьРавенство(ПользовательИмя, СокрЛП(ЭлементСпискаЗначений.Значение), "ЭлементСпискаЗначений.Значение"); - ЮТест.ПроверитьРавенство(ИмяПеременнойПользователь, ЭлементСпискаЗначений.Представление, "ЭлементСпискаЗначений.Представление"); - - ЭлементСпискаЗначений = ТестовыеДанныеУФ[1]; - ЮТест.ПроверитьРавенство("Тестовое наименование", ЭлементСпискаЗначений.Значение[0].Значение.Наименование, "сервер"); -КонецПроцедуры - -&НаСервере -Процедура УдалитьТестовыеДанныеСервер(Знач ЮТестПуть) - - Если ТестовыеДанныеУФ.Количество() = 0 Тогда - Возврат; - КонецЕсли; - - ЮТест = ВнешниеОбработки.Создать(ЮТестПуть); - - лПользователь = ПользователиИнформационнойБазы.НайтиПоИмени(ПользовательИмя); - ЮТест.ПроверитьНеравенство(лПользователь, Неопределено, "лПользователь должен существовать"); - - ТестовыеДанные = Новый Структура; - Для каждого Строка Из ТестовыеДанныеУФ Цикл - Если Строка.Ключ = "ПользовательИнформационнойБазы" Тогда - ЭлементСпискаЗначений = Строка.Значение[0]; - лПользователь = ПользователиИнформационнойБазы.НайтиПоИмени(СокрЛП(ЭлементСпискаЗначений.Значение)); - ТестовыеДанные.Вставить(ЭлементСпискаЗначений.Представление, лПользователь); - Иначе - ТестовыеДанные.Вставить(Строка.Ключ, Строка.Значение[0].Значение); - КонецЕсли; - КонецЦикла; - - юТест.УдалитьСозданныеДанные(ТестовыеДанные); - - лПользователь = ПользователиИнформационнойБазы.НайтиПоИмени(ПользовательИмя); - ЮТест.ПроверитьРавенство(лПользователь, Неопределено, "лПользователь должен быть удален"); - - ТестовыеДанныеУФ.Очистить(); -КонецПроцедуры - -Функция МассивИменПользователейПоУмолчанию() - Рез = Новый Массив(); - Рез.Добавить(ПользовательИмя); //"ТестИмя"); - //Рез.Добавить("ТестИмя2");// должно совпадать с макетом; - Возврат Рез; -КонецФункции - -&НаСервере -Функция Объект() - Возврат РеквизитФормыВЗначение("Объект"); -КонецФункции - -Процедура УдалитьПользователяИБ_ЕслиОнСуществует(лИмяПользователя) Экспорт - - лПользователь = ПользователиИнформационнойБазы.НайтиПоИмени(лИмяПользователя); - Если лПользователь <> Неопределено Тогда - лПользователь.Удалить(); - КонецЕсли; - -КонецПроцедуры - - -//} конец блока юнит-тестов diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/ObjectModule.txt" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/ObjectModule.txt" deleted file mode 100644 index 706b6f78..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/ObjectModule.txt" +++ /dev/null @@ -1,1270 +0,0 @@ -Перем ЮТест; -Перем _ГуидНовогоСправочника; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("Тест_ДолженПроверитьИзменениеПредопределенногоСправочникаПоГуид"); - - ВсеТесты.Добавить("Тест_ДолженСоздатьПростойСправочник"); - ВсеТесты.Добавить("Тест_ДолженСоздатьПростойСправочник_ПустыеСтроки"); - ВсеТесты.Добавить("Тест_ДолженСоздатьПростойСправочникЧерезМетод_СоздатьДанныеПоМакетам"); - ВсеТесты.Добавить("Тест_ДолженУбедитьсяЧтоНельзяСоздатьПростойСправочникСЗапрещеннымНаименованием"); - ВсеТесты.Добавить("Тест_ДолженСоздатьПростойСправочникВРежимеОбменДаннымиЗагрузка"); - ВсеТесты.Добавить("Тест_ДолженСоздатьПростойСправочникВРежимеОбменДаннымиЗагрузка_ТЧ"); - ВсеТесты.Добавить("Тест_ДолженСоздатьПростойСправочник_РежимВыражение"); - ВсеТесты.Добавить("Тест_ДолженСоздатьИерархическийСправочникСПомощьюДополнительныхСвойств"); - ВсеТесты.Добавить("Тест_ДолженСоздатьИерархическийСправочникСПомощьюДополнительныхСвойствПоНаименованию"); - ВсеТесты.Добавить("Тест_ДолженСоздатьСправочник2_СРеквизитом_ПланСчетов"); - ВсеТесты.Добавить("Тест_ДолженСоздатьЕщеНеЗаписанныйОбъектПростогоСправочника"); - ВсеТесты.Добавить("Тест_ДолженПроверитьИзменениеПредопределенногоСправочника"); - ВсеТесты.Добавить("Тест_ДолженПроверитьНаличиеОбъектаИБ"); - ВсеТесты.Добавить("Тест_ДолженСоздатьДваПростыхСправочника"); - ВсеТесты.Добавить("Тест_ДолженСоздатьДваПростыхСправочника_с_ОдинаковымИменемПеременной"); - ВсеТесты.Добавить("Тест_ДолженСоздатьСвязанныеСправочники"); - ВсеТесты.Добавить("Тест_ДолженСоздатьСправочникСРеквизитомПустаяСсылка"); - ВсеТесты.Добавить("ТестДолжен_СоздатьСправочник2_с_РеквизитомСоставногоТипа_и_ПустойСсылкойПеречисление"); - ВсеТесты.Добавить("Тест_ДолженСоздатьГруппуСправочникаИДочернийЭлемент"); - ВсеТесты.Добавить("Тест_ДолженСоздатьГруппуСЭлементамиТолькоДляГруппы"); - ВсеТесты.Добавить("Тест_ДолженСоздатьОбъектСДвумяСтрокамиВТабличнойЧасти"); - ВсеТесты.Добавить("Тест_ДолженСоздатьОбъектСЗаполненымРеквизитомТипаПеречисление"); - ВсеТесты.Добавить("Тест_ДолженСоздатьОбъектСЗаполненнымРеквизитомИзПредопределенныхЗначенийСправочника"); - ВсеТесты.Добавить("Тест_ДолженСоздатьДокументСДвумяСтрокамиВТабличнойЧасти"); - ВсеТесты.Добавить("Тест_ДолженСоздатьДокументНаТекущуюДату"); - ВсеТесты.Добавить("Тест_ДолженСоздатьДокумент_РежимЗаписи_Проведение"); - ВсеТесты.Добавить("Тест_ДолженСоздатьСправочникПослеДокументаСДвумяСтрокамиВТабличнойЧасти"); - ВсеТесты.Добавить("Тест_ДолженСоздатьДвеЗаписиВРегистреСведений"); - ВсеТесты.Добавить("Тест_НеДолженСоздатьДвеЗаписиСРазнымиИзмерениямиВРегистреСведенийЧерезНаборЗаписей"); - ВсеТесты.Добавить("Тест_ДолженСоздатьДваНабораЗаписейВРегистреСведенийЧерезНаборЗаписей"); - ВсеТесты.Добавить("Тест_ДолженСоздатьДвеЗаписиВРегистреСведений_ВыполнивПоискЭлементаПоНаименованию"); - ВсеТесты.Добавить("Тест_ДолженСоздатьПользователяИБ_ВКоде"); - ВсеТесты.Добавить("Тест_ДолженСоздатьПользователяИБ_ПоМакету"); - ВсеТесты.Добавить("Тест_ДолженСоздатьЭлементИЗаполнитьРеквизитНайденныйПоКоду"); - ВсеТесты.Добавить("Тест_ДолженСоздатьЭлементИЗаполнитьРеквизитНайденныйПоНаименованию"); - ВсеТесты.Добавить("Тест_ДолженСоздатьЭлементИЗаполнитьРеквизитПоискомПоГУИДу"); - ВсеТесты.Добавить("Тест_ДолженСоздатьПростойСправочникПоискомПоГуидуСсылки"); - ВсеТесты.Добавить("Тест_ДолженСоздатьПростойСправочникПоискомПоГуид"); - ВсеТесты.Добавить("Тест_ДолженНайтиИПерезаполнитьПростойСправочникПоискомПоГуидуСсылки"); - ВсеТесты.Добавить("Тест_ДолженУдалитьСозданныеДанные_ПростойСправочник"); - ВсеТесты.Добавить("Тест_ДолженУдалитьСозданныеДанные_ДваПростыхСправочника"); - ВсеТесты.Добавить("Тест_ДолженСоздатьИзДвухМакетовДваПростыхСправочника"); - ВсеТесты.Добавить("Тест_ДолженСоздатьИзДвухМакетовСвязанныеСправочники"); - ВсеТесты.Добавить("Тест_ДолженСоздатьИзДвухМакетовСвязанныеСправочникиЧерезМетод_СоздатьДанныеПоМакетам"); - ВсеТесты.Добавить("Тест_ДолженСоздатьОднуЗаписьРегистраНакопления"); - ВсеТесты.Добавить("Тест_ДолженСоздатьДвеЗаписиРегистраНакопления"); - ВсеТесты.Добавить("Тест_ДолженСоздатьДвеЗаписиРегистраНакопленияУКоторыхЯвноЗаданВидДвижения"); - ВсеТесты.Добавить("Тест_ДолженСоздатьДвеЗаписиРегистраСведенийПодчиненномРегистратору"); - ВсеТесты.Добавить("Тест_ДолженСоздатьПростойБизнесПроцесс"); - ВсеТесты.Добавить("Тест_ДолженПолучитьИсключениеНеверныйРежимПоиска"); - ВсеТесты.Добавить("Тест_ДолженПолучитьИсключениеПриПопыткеСоздатьЭлементИЗаполнитьРеквизитПоНеверномуКоду"); - ВсеТесты.Добавить("Тест_ДолженПолучитьИсключениеПриПопыткеСоздатьЭлементИЗаполнитьРеквизитПоНеверномуНаименованию"); - ВсеТесты.Добавить("ТестДолжен_СоздатьСправочник2_с_РеквизитомСоставногоТипа"); - ВсеТесты.Добавить("ТестДолжен_СоздатьСправочник2_с_РеквизитомСоставногоТипа_и_ПустойСсылкой"); - ВсеТесты.Добавить("Тест_ДолженСоздатьОднуЗаписьРегистраНакопленияСПоискомДокументаПоНомеру"); - ВсеТесты.Добавить("Тест_ДолженСоздатьОднуЗаписьРегистраБухгалтерии"); - ВсеТесты.Добавить("Тест_ДолженСоздатьДвеЗаписиРегистраБухгалтерии"); - ВсеТесты.Добавить("Тест_ДолженСоздатьСправочникСоСсылкойНаСамогоСебя"); - ВсеТесты.Добавить("Тест_ДолженСоздатьСправочникиОбразующиеЦиклическуюЗависимость"); - ВсеТесты.Добавить("Тест_ДолженЗагрузитьВсеДанныеВРежиме_ОбменДанными_Загрузка"); - ВсеТесты.Добавить("Тест_ДолженВыполнитьНайтиИОбновитьСуществующийЭлемент"); - ВсеТесты.Добавить("Тест_ДолженСоздатьУзелПланаОбмена"); - - Возврат ВсеТесты; -КонецФункции - -Процедура ПередЗапускомТеста() Экспорт - НачатьТранзакцию(); - - _ГуидНовогоСправочника = "a72ec81b-d17d-4d2f-9a47-2ffb2e3234c4"; -КонецПроцедуры - -Процедура ПослеЗапускаТеста() Экспорт - Если ТранзакцияАктивна() Тогда - ОтменитьТранзакцию(); - КонецЕсли; -КонецПроцедуры - -Процедура Тест_ДолженСоздатьПростойСправочник() Экспорт - Макет = ПолучитьМакет("СозданиеПростогоСправочника"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ПроверитьСозданиеПростогоСправочника(ТестовыеДанные); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьПростойСправочник_ПустыеСтроки() Экспорт - Макет = ПолучитьМакет("СозданиеПростогоСправочника_ПустыеСтроки"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ПроверитьСозданиеПростогоСправочника(ТестовыеДанные); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьПростойСправочникЧерезМетод_СоздатьДанныеПоМакетам() Экспорт - ТестовыеДанные = ЮТест.СоздатьДанныеПоМакетам(ЭтотОбъект, "СозданиеПростогоСправочника"); - - ПроверитьСозданиеПростогоСправочника(ТестовыеДанные); -КонецПроцедуры - -Процедура ПроверитьСозданиеПростогоСправочника(ТестовыеДанные) - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(1, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник"), "Ожидали, что есть переменная 'ПростойСправочник'"); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник, "СправочникСсылка.ПростойСправочник"); - ЮТест.ПроверитьРавенство("Тестовое наименование", ТестовыеДанные.ПростойСправочник.Наименование); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник.РеквизитБулево, "Булево"); - ЮТест.ПроверитьРавенство(Истина, ТестовыеДанные.ПростойСправочник.РеквизитБулево); -КонецПроцедуры - -Процедура Тест_ДолженУбедитьсяЧтоНельзяСоздатьПростойСправочникСЗапрещеннымНаименованием() Экспорт - - ЗапрещенноеНаименование = Справочники.ПростойСправочник.ПолучитьЗапрещенноеНаименование(0); - КоллекцияПараметров = Новый Структура("Наименование,РеквизитПеречисление", ЗапрещенноеНаименование, "ЗначениеПеречисления1" ); - Макет = ПолучитьМакетДанныхДоступа("СозданиеПростогоСправочника_Параметры", КоллекцияПараметров); - - ПараметрыМетода = Новый Массив; - ПараметрыМетода.Добавить(Макет); - ЮТест.ПроверитьМетодНеВыполнился(ЮТест, "СоздатьДанныеПоТабличномуДокументу", ПараметрыМетода, "Не удалось записать: ""Простой справочник"""); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьПростойСправочникВРежимеОбменДаннымиЗагрузка() Экспорт - ЗапрещенноеНаименование = Справочники.ПростойСправочник.ПолучитьЗапрещенноеНаименование(0); - - КоллекцияПараметров = Новый Структура("Наименование", ЗапрещенноеНаименование); - НовыйТабДок = ПолучитьМакетДанныхДоступа("СозданиеСправочникаСПомощьюОбменДаннымиЗагрузка", КоллекцияПараметров); - - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(НовыйТабДок); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(1, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); - - //ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник"), "Ожидали, что есть переменная 'ПростойСправочник'"); - //ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник, "СправочникСсылка.ПростойСправочник"); - ЮТест.ПроверитьРавенство(ЗапрещенноеНаименование, ТестовыеДанные.ПростойСправочник.Наименование); - //ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник.РеквизитБулево, "Булево"); - //ЮТест.ПроверитьРавенство(Истина, ТестовыеДанные.ПростойСправочник.РеквизитБулево); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьПростойСправочникВРежимеОбменДаннымиЗагрузка_ТЧ() Экспорт - ЗапрещенноеНаименование = Справочники.ПростойСправочник.ПолучитьЗапрещенноеНаименование(0); - - КоллекцияПараметров = Новый Структура("Наименование", ЗапрещенноеНаименование); - НовыйТабДок = ПолучитьМакетДанныхДоступа("СозданиеСправочникаСПомощьюТЧ_ОбменДаннымиЗагрузка", КоллекцияПараметров); - - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(НовыйТабДок); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(1, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); - - //ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник"), "Ожидали, что есть переменная 'ПростойСправочник'"); - //ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник, "СправочникСсылка.ПростойСправочник"); - ЮТест.ПроверитьРавенство(ЗапрещенноеНаименование, ТестовыеДанные.ПростойСправочник.Наименование); - //ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник.РеквизитБулево, "Булево"); - //ЮТест.ПроверитьРавенство(Истина, ТестовыеДанные.ПростойСправочник.РеквизитБулево); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьПростойСправочник_РежимВыражение() Экспорт - Макет = ПолучитьМакет("СозданиеПростогоСправочника_РежимВыражение"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ПроверитьСозданиеПростогоСправочника(ТестовыеДанные); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьИерархическийСправочникСПомощьюДополнительныхСвойств() Экспорт - Макет = ПолучитьМакет("СозданиеСправочникаСПомощьюДополнительныхСвойств"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ИерархическийСправочник"), "Ожидали, что есть переменная 'ИерархическийСправочник'"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.ИерархическийСправочник.ПростойСправочник); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьИерархическийСправочникСПомощьюДополнительныхСвойствПоНаименованию() Экспорт - Макет = ПолучитьМакет("СозданиеСправочникаСПомощьюДополнительныхСвойствПоНаименованию"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ИерархическийСправочник"), "Ожидали, что есть переменная 'ИерархическийСправочник'"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.ИерархическийСправочник.ПростойСправочник); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьСправочник2_СРеквизитом_ПланСчетов() Экспорт - Макет = ПолучитьМакет("СозданиеСправочникаСРеквизитом_ПланСчетов"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(1, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник2"), "Ожидали, что есть переменная 'ПростойСправочник'"); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник2, "СправочникСсылка.ПростойСправочник2"); - ЮТест.ПроверитьРавенство("Тест", ТестовыеДанные.ПростойСправочник2.Наименование); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник2.Счет, "ПланСчетовСсылка.ПланСчетов1"); - ЮТест.ПроверитьРавенство(ПланыСчетов.ПланСчетов1.Счет01, ТестовыеДанные.ПростойСправочник2.Счет, "ПланыСчетов.ПланСчетов1.Счет01, ТестовыеДанные.ПростойСправочник2.Счет"); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьЕщеНеЗаписанныйОбъектПростогоСправочника() Экспорт - Макет = ПолучитьМакет("СозданиеЕщеНеЗаписанногоОбъектаПростогоСправочника"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(1, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник"), "Ожидали, что есть переменная 'ПростойСправочник'"); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник, "СправочникОбъект.ПростойСправочник"); - ЮТест.ПроверитьРавенство("Тестовое наименование", ТестовыеДанные.ПростойСправочник.Наименование); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник.РеквизитБулево, "Булево"); - ЮТест.ПроверитьРавенство(Истина, ТестовыеДанные.ПростойСправочник.РеквизитБулево); -КонецПроцедуры - -Процедура Тест_ДолженПроверитьИзменениеПредопределенногоСправочника() Экспорт - Макет = ПолучитьМакет("ИзменениеПредопределенногоСправочника"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(1, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); - - ЮТест.ПроверитьРавенство(Справочники.ПростойСправочник.ПредопределенноеЗначение1, ТестовыеДанные.ПростойСправочник); - ЮТест.ПроверитьРавенство("Новое значение", ТестовыеДанные.ПростойСправочник.Наименование); -КонецПроцедуры - -Процедура Тест_ДолженПроверитьИзменениеПредопределенногоСправочникаПоГуид() //Экспорт - Макет = ПолучитьМакет("ИзменениеПредопределенногоСправочникаПоГуид"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(1, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); - - ЮТест.ПроверитьРавенство(Справочники.ПростойСправочник.ПредопределенноеЗначение1, ТестовыеДанные.ПростойСправочник); - ЮТест.ПроверитьРавенство("Новое значение", ТестовыеДанные.ПростойСправочник.Наименование); -КонецПроцедуры - -Процедура Тест_ДолженПроверитьНаличиеОбъектаИБ() Экспорт - Макет = ПолучитьМакет("СозданиеПростогоСправочника"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - лСсылка = ТестовыеДанные.ПростойСправочник; - ЮТест.ПроверитьНаличиеОбъектаИБ(лСсылка, "ТестовыеДанные.ПростойСправочник"); - лОбъект = лСсылка.ПолучитьОбъект(); - лОбъект.Удалить(); - - стрОшибка = ""; - Попытка - ЮТест.ПроверитьНаличиеОбъектаИБ(лСсылка, "ТестовыеДанные.ПростойСправочник после удаления"); - былоИсключение = Ложь; - Исключение - былоИсключение = Истина; - стрОшибка = ОписаниеОшибки(); - КонецПопытки; - ЮТест.ПроверитьИстину(былоИсключение, "Ожидал исключение, а его не было"); - ЮТест.ПроверитьВхождение(стрОшибка, "Ожидали существование объекта в ИБ, а получили объект не найден <<Объект не найден>"); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьДваПростыхСправочника() Экспорт - Макет = ПолучитьМакет("СозданиеДвухПростыхСправочников"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник"), "Ожидали, что есть переменная 'ПростойСправочник'"); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник, "СправочникСсылка.ПростойСправочник"); - ЮТест.ПроверитьРавенство("Тестовая группа товаров", ТестовыеДанные.ПростойСправочник.Наименование); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник.РеквизитБулево, "Булево"); - ЮТест.ПроверитьРавенство(Ложь, ТестовыеДанные.ПростойСправочник.РеквизитБулево); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник2"), "Ожидали, что есть переменная 'ПростойСправочник2'"); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник2, "СправочникСсылка.ПростойСправочник2"); - ЮТест.ПроверитьРавенство("Тест", ТестовыеДанные.ПростойСправочник2.Наименование); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьДваПростыхСправочника_с_ОдинаковымИменемПеременной() Экспорт - Макет = ПолучитьМакет("СозданиеДвухПростыхСправочников_с_ОдинаковымИменемПеременной"); - Попытка - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - Исключение - Возврат; - КонецПопытки; - ВызватьИсключение "Должны были получить исключение, а его не было"; -КонецПроцедуры - -Процедура Тест_ДолженСоздатьСвязанныеСправочники() Экспорт - Макет = ПолучитьМакет("СозданиеСвязанныхСправочников"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ИерархическийСправочник"), "Ожидали, что есть переменная 'ИерархическийСправочник'"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.ИерархическийСправочник.ПростойСправочник); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьСправочникСРеквизитомПустаяСсылка() Экспорт - Макет = ПолучитьМакет("СозданиеСправочникаСРеквизитомПустаяСсылка"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(1, ТестовыеДанные.Количество()); - - //ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ИерархическийСправочник"), "Ожидали, что есть переменная 'ИерархическийСправочник'"); - ЮТест.ПроверитьРавенство(Справочники.ПростойСправочник.ПустаяСсылка(), ТестовыеДанные.ИерархическийСправочник.ПростойСправочник); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьГруппуСправочникаИДочернийЭлемент() Экспорт - Макет = ПолучитьМакет("СозданиеГруппыСправочникаИДочернегоЭлемента"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("Группа"), "Ожидали, что есть переменная 'Группа'"); - ЮТест.ПроверитьИстину(ТестовыеДанные.Группа.ЭтоГруппа, "Ожидали, что созданный элемент является группой"); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("Элемент"), "Ожидали, что есть переменная 'Элемент'"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.Группа, ТестовыеДанные.Элемент.Родитель); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьГруппуСЭлементамиТолькоДляГруппы() Экспорт - Макет = ПолучитьМакет("СозданиеГруппыСЭлементамиТолькоДляГруппы"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(3, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("Группа"), "Ожидали, что есть переменная 'Группа'"); - ЮТест.ПроверитьИстину(ТестовыеДанные.Группа.ЭтоГруппа, "Ожидали, что созданный элемент является группой"); - ЮТест.ПроверитьРавенство(1, ТестовыеДанные.Группа.ТабличнаяЧастьДляГруппы.Количество(), "Ожидали, что ТестовыеДанные.Группа.ТабличнаяЧастьДляГруппы.Количество() = 1"); -КонецПроцедуры - - -Процедура Тест_ДолженСоздатьОбъектСДвумяСтрокамиВТабличнойЧасти() Экспорт - Макет = ПолучитьМакет("СозданиеОбъектаСДвумяСтрокамиВТабличнойЧасти"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(4, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("СправочникСТабЧастью"), "Ожидали, что есть переменная 'СправочникСТабЧастью'"); - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.СправочникСТабЧастью.Состав.Количество()); - - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.СправочникСТабЧастью.Состав[0].ПростойСправочник); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник2_1, ТестовыеДанные.СправочникСТабЧастью.Состав[0].ПростойСправочник2); - ЮТест.ПроверитьИстину(ТестовыеДанные.СправочникСТабЧастью.Состав[0].РеквизитБулево); - - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.СправочникСТабЧастью.Состав[1].ПростойСправочник); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник2_2, ТестовыеДанные.СправочникСТабЧастью.Состав[1].ПростойСправочник2); - ЮТест.ПроверитьЛожь(ТестовыеДанные.СправочникСТабЧастью.Состав[1].РеквизитБулево); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьОбъектСЗаполненымРеквизитомТипаПеречисление() Экспорт - Макет = ПолучитьМакет("СозданиеОбъектаСЗаполненымРеквизитомТипаПеречисление"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(1, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник"), "Ожидали, что есть переменная 'ПростойСправочник'"); - ЮТест.ПроверитьРавенство(Перечисления.Перечисление1.ЗначениеПеречисления1, ТестовыеДанные.ПростойСправочник.РеквизитПеречисление); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьОбъектСЗаполненнымРеквизитомИзПредопределенныхЗначенийСправочника() Экспорт - Макет = ПолучитьМакет("СозданиеОбъектаСЗаполненнымРеквизитомИзПредопределенныхЗначенийСправочника"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(1, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("Элемент"), "Ожидали, что есть переменная 'Элемент'"); - ЮТест.ПроверитьРавенство(Справочники.ПростойСправочник.ПредопределенноеЗначение1, ТестовыеДанные.Элемент.ПростойСправочник); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьДокументСДвумяСтрокамиВТабличнойЧасти() Экспорт - Макет = ПолучитьМакет("СозданиеДокументаСДвумяСтрокамиВТабличнойЧасти"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(4, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("Документ"), "Ожидали, что есть переменная 'Документ'"); - ЮТест.ПроверитьТип(ТестовыеДанные.Документ, "ДокументСсылка.Документ1"); - ЮТест.ПроверитьРавенство(Дата("20130801"), ТестовыеДанные.Документ.Дата); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.Документ.ПростойСправочник); - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.Документ.Состав.Количество()); - - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, ТестовыеДанные.Документ.Состав[0].ПростойСправочник2); - ЮТест.ПроверитьРавенство(150, ТестовыеДанные.Документ.Состав[0].РеквизитЧисло); - ЮТест.ПроверитьЛожь(ТестовыеДанные.Документ.Состав[0].РеквизитБулево); - - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник22, ТестовыеДанные.Документ.Состав[1].ПростойСправочник2); - ЮТест.ПроверитьРавенство(0, ТестовыеДанные.Документ.Состав[1].РеквизитЧисло); - ЮТест.ПроверитьИстину(ТестовыеДанные.Документ.Состав[1].РеквизитБулево); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьДокументНаТекущуюДату() Экспорт - Макет = ПолучитьМакет("СозданиеДокументаНаТекущуюДату"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("Документ"), "Ожидали, что есть переменная 'Документ'"); - ЮТест.ПроверитьТип(ТестовыеДанные.Документ, "ДокументСсылка.Документ1"); - ЮТест.ПроверитьРавенствоДатСТочностью2Секунды(ТекущаяДата(), ТестовыеДанные.Документ.Дата, "Разница между ТекущаяДата() и ТестовыеДанные.Документ.Дата должна быть менее 2 секунд"); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьДокумент_РежимЗаписи_Проведение() Экспорт - Макет = ПолучитьМакет("СозданиеДокумента_РежимЗаписи_Проведение"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("Документ"), "Ожидали, что есть переменная 'Документ'"); - ЮТест.ПроверитьТип(ТестовыеДанные.Документ, "ДокументСсылка.Документ1"); - ЮТест.Проверить(ТестовыеДанные.Документ.Проведен, "ТестовыеДанные.Документ.Проведен"); - - ЮТест.Проверить(ТестовыеДанные.Документ2.Проведен, "ТестовыеДанные2.Документ.Проведен"); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьСправочникПослеДокументаСДвумяСтрокамиВТабличнойЧасти() Экспорт - Макет = ПолучитьМакет("СозданиеСправочникаПослеДокументаСДвумяСтрокамиВТабличнойЧасти"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(5, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("Документ"), "Ожидали, что есть переменная 'Документ'"); - ЮТест.ПроверитьТип(ТестовыеДанные.Документ, "ДокументСсылка.Документ1"); - ЮТест.ПроверитьРавенство(Дата("20130801"), ТестовыеДанные.Документ.Дата); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.Документ.ПростойСправочник); - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.Документ.Состав.Количество()); - - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, ТестовыеДанные.Документ.Состав[0].ПростойСправочник2); - ЮТест.ПроверитьРавенство(150, ТестовыеДанные.Документ.Состав[0].РеквизитЧисло); - ЮТест.ПроверитьЛожь(ТестовыеДанные.Документ.Состав[0].РеквизитБулево); - - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник22, ТестовыеДанные.Документ.Состав[1].ПростойСправочник2); - ЮТест.ПроверитьРавенство(0, ТестовыеДанные.Документ.Состав[1].РеквизитЧисло); - ЮТест.ПроверитьИстину(ТестовыеДанные.Документ.Состав[1].РеквизитБулево); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник23"), "Ожидали, что есть переменная 'ПростойСправочник23'"); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник23, "СправочникСсылка.ПростойСправочник2"); - ЮТест.ПроверитьРавенство("Тест3", ТестовыеДанные.ПростойСправочник23.Наименование); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьДвеЗаписиВРегистреСведений() Экспорт - Макет = ПолучитьМакет("СозданиеДвухЗаписейВРегистреСведений"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(5, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ЗаписьРегистра1"), "Ожидали, что есть переменная 'ЗаписьРегистра1'"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.ЗаписьРегистра1.ПростойСправочник); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, ТестовыеДанные.ЗаписьРегистра1.ПростойСправочник2); - ЮТест.ПроверитьРавенство(300, ТестовыеДанные.ЗаписьРегистра1.РесурсЧисло); - ЮТест.ПроверитьЛожь(ТестовыеДанные.ЗаписьРегистра1.РесурсБулево); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ЗаписьРегистра2"), "Ожидали, что есть переменная 'ЗаписьРегистра2'"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.ЗаписьРегистра2.ПростойСправочник); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник22, ТестовыеДанные.ЗаписьРегистра2.ПростойСправочник2); - ЮТест.ПроверитьРавенство(400, ТестовыеДанные.ЗаписьРегистра2.РесурсЧисло); - ЮТест.ПроверитьИстину(ТестовыеДанные.ЗаписьРегистра2.РесурсБулево); -КонецПроцедуры - -Процедура Тест_НеДолженСоздатьДвеЗаписиСРазнымиИзмерениямиВРегистреСведенийЧерезНаборЗаписей() Экспорт - Макет = ПолучитьМакет("СозданиеДвухЗаписейВРегистреСведенийЧерезНаборЗаписей"); - МассивПараметров = Новый Массив; - МассивПараметров.Добавить(Макет); - ЮТест.ПроверитьМетодНеВыполнился(ЮТест, "СоздатьДанныеПоТабличномуДокументу", МассивПараметров, "Запись не верна! Значение поля не соответствует установленному отбору: РегистрСведений1:"); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьДваНабораЗаписейВРегистреСведенийЧерезНаборЗаписей() Экспорт - ТипМетаданного = "РегистрСведений"; - ВидМетаданного = "РегистрСведений1"; - КоличествоДо = ЮТест.ПолучитьКоличествоЭлементовРегистраПоОтбору(ТипМетаданного, ВидМетаданного); - - Макет = ПолучитьМакет("СозданиеДвухНаборовЗаписейВРегистреСведений"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(5, ТестовыеДанные.Количество()); - - КоличествоПосле = ЮТест.ПолучитьКоличествоЭлементовРегистраПоОтбору(ТипМетаданного, ВидМетаданного); - ЮТест.ПроверитьРавенство(КоличествоДо + 2, КоличествоПосле, "КоличествоДо + 2, КоличествоПосле"); - - //ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ЗаписьРегистра1"), "Ожидали, что есть переменная 'ЗаписьРегистра1'"); - //ЮТест.Проверить(ТестовыеДанные.ЗаписьРегистра1.Выбран(), "Ожидали, что ЗаписьРегистра1.Выбран() вернет Ложь, а вернулась Истина"); - //ЮТест.ПроверитьТип(ТестовыеДанные.ЗаписьРегистра1, "РегистрСведенийНаборЗаписей.РегистрСведений1"); - //ЮТест.ПроверитьРавенство(2, ТестовыеДанные.ЗаписьРегистра1.Количество(), "ТестовыеДанные.ЗаписьРегистра1.Количество()"); - // - //запись = ТестовыеДанные.ЗаписьРегистра1[0]; - //ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); - //ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, запись.ПростойСправочник2); - //ЮТест.ПроверитьРавенство(300, запись.РесурсЧисло); - //ЮТест.ПроверитьЛожь(запись.РесурсБулево); - // - //запись = ТестовыеДанные.ЗаписьРегистра1[1]; - ////ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ЗаписьРегистра2"), "Ожидали, что есть переменная 'ЗаписьРегистра2'"); - //ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); - //ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник22, запись.ПростойСправочник2); - //ЮТест.ПроверитьРавенство(400, запись.РесурсЧисло); - //ЮТест.ПроверитьИстину(запись.РесурсБулево); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьДвеЗаписиВРегистреСведений_ВыполнивПоискЭлементаПоНаименованию() Экспорт - Макет = ПолучитьМакет("СозданиеДвухЗаписейВРегистреСведений_ПоискЭлементаПоНаименованию"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(5, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ЗаписьРегистра1"), "Ожидали, что есть переменная 'ЗаписьРегистра1'"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.ЗаписьРегистра1.ПростойСправочник); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, ТестовыеДанные.ЗаписьРегистра1.ПростойСправочник2); - ЮТест.ПроверитьРавенство(300, ТестовыеДанные.ЗаписьРегистра1.РесурсЧисло); - ЮТест.ПроверитьЛожь(ТестовыеДанные.ЗаписьРегистра1.РесурсБулево); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ЗаписьРегистра2"), "Ожидали, что есть переменная 'ЗаписьРегистра2'"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.ЗаписьРегистра2.ПростойСправочник); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник22, ТестовыеДанные.ЗаписьРегистра2.ПростойСправочник2); - ЮТест.ПроверитьРавенство(400, ТестовыеДанные.ЗаписьРегистра2.РесурсЧисло); - ЮТест.ПроверитьИстину(ТестовыеДанные.ЗаписьРегистра2.РесурсБулево); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьПользователяИБ_ВКоде() Экспорт - лИмяПользователя = "ТестИмя"; - лПользователь = ПользователиИнформационнойБазы.НайтиПоИмени(лИмяПользователя); - Если лПользователь <> Неопределено Тогда - лПользователь.Удалить(); - КонецЕсли; - - массивПользователей = ПользователиИнформационнойБазы.ПолучитьПользователей(); - количествоДо = массивПользователей.Количество(); - - параметрыПользователя = Новый Структура; - параметрыПользователя.Вставить("Имя", лИмяПользователя); - параметрыПользователя.Вставить("ПолноеИмя", лИмяПользователя); - параметрыПользователя.Вставить("АутентификацияСтандартная", Истина); - параметрыПользователя.Вставить("ОсновнойИнтерфейс", ""); //Метаданные.Интерфейсы.Администратор); - //параметрыПользователя.Вставить("Пароль", "пароль"); - параметрыПользователя.Вставить("ПоказыватьВСпискеВыбора", Истина); - //параметрыПользователя.Вставить("Язык", Метаданные.Языки.Русский); - массивРолей = Новый Массив; - массивРолей.Добавить(Метаданные.Роли.Роль1); - параметрыПользователя.Вставить("Роли", массивРолей); - - лПользователь = ЮТест.СоздатьПользователяИБ(параметрыПользователя); - ЮТест.ПроверитьТип(лПользователь, "ПользовательИнформационнойБазы", "лПользователь"); - ЮТест.ПроверитьИстину(лПользователь.Роли.Содержит(Метаданные.Роли.Роль1), "лПользователь.РолиПользователя.Содержить"); - - массивПользователей = ПользователиИнформационнойБазы.ПолучитьПользователей(); - количествоПосле = массивПользователей.Количество(); - ЮТест.ПроверитьРавенство(количествоДо + 1, количествоПосле, "количествоДо + 1, количествоПосле"); - - //лПользователь.Удалить(); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьПользователяИБ_ПоМакету() Экспорт - ИмяПеременнойПользователь = "Пользователь1"; - лИмяПользователя = "ТестИмя"; - лПользователь = ПользователиИнформационнойБазы.НайтиПоИмени(лИмяПользователя); - Если лПользователь <> Неопределено Тогда - лПользователь.Удалить(); - КонецЕсли; - - массивПользователей = ПользователиИнформационнойБазы.ПолучитьПользователей(); - количествоДо = массивПользователей.Количество(); - - //Макет = ПолучитьМакет("СозданиеОдногоПользователяИБ"); - //ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - КоллекцияПараметров = Новый Структура("ИмяПеременнойПользователь, ПользовательИмя", ИмяПеременнойПользователь, лИмяПользователя); - НовыйТабДок = ПолучитьМакетДанныхДоступа("СозданиеОдногоПользователяИБ", КоллекцияПараметров); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(НовыйТабДок); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(1, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство(ИмяПеременнойПользователь), "Ожидали, что есть переменная '"+ИмяПеременнойПользователь+"'"); - НовыйПользователь = ТестовыеДанные.Пользователь1; - ЮТест.ПроверитьТип(НовыйПользователь, "ПользовательИнформационнойБазы"); - ЮТест.ПроверитьРавенство(лИмяПользователя, НовыйПользователь.Имя); - ЮТест.ПроверитьРавенство(НовыйПользователь.РежимЗапуска, РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение); - ЮТест.ПроверитьИстину(НовыйПользователь.Роли.Содержит(Метаданные.Роли.Роль1), "лПользователь.РолиПользователя.Содержит"); - ЮТест.ПроверитьИстину(НовыйПользователь.Роли.Содержит(Метаданные.Роли.ПолныеПрава), "лПользователь.ПолныеПрава.Содержит"); - - массивПользователей = ПользователиИнформационнойБазы.ПолучитьПользователей(); - количествоПосле = массивПользователей.Количество(); - ЮТест.ПроверитьРавенство(количествоДо + 1, количествоПосле, "количествоДо + 1, количествоПосле"); - - лПользователь = ТестовыеДанные.Пользователь1; - //лПользователь.Удалить(); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьЭлементИЗаполнитьРеквизитНайденныйПоКоду() Экспорт - Макет = ПолучитьМакет("СозданиеЭлементаИЗаполнениеРеквизитаПоискомПоКоду"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ИерархическийСправочник"), "Ожидали, что есть переменная 'ИерархическийСправочник'"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.ИерархическийСправочник.ПростойСправочник); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьЭлементИЗаполнитьРеквизитНайденныйПоНаименованию() Экспорт - Макет = ПолучитьМакет("СозданиеЭлементаИЗаполнениеРеквизитаПоискомПоНаименованию"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ИерархическийСправочник"), "Ожидали, что есть переменная 'ИерархическийСправочник'"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.ИерархическийСправочник.ПростойСправочник); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьЭлементИЗаполнитьРеквизитПоискомПоГУИДу() Экспорт - Макет = ПолучитьМакет("СозданиеЭлементаИЗаполнениеРеквизитаПоискомПоГУИДу"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(1, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ИерархическийСправочник"), "Ожидали, что есть переменная 'ИерархическийСправочник'"); - ЮТест.ПроверитьРавенство(Справочники.ПростойСправочник.ПредопределенноеЗначение1, ТестовыеДанные.ИерархическийСправочник.ПростойСправочник); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьПростойСправочникПоискомПоГуидуСсылки() Экспорт - Макет = ПолучитьМакет("СозданиеПростогоСправочникаПоГуидСсылки"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(1, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник"), "Ожидали, что есть переменная 'ПростойСправочник'"); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник, "СправочникСсылка.ПростойСправочник"); - ЮТест.ПроверитьРавенство(Новый УникальныйИдентификатор(_ГуидНовогоСправочника), ТестовыеДанные.ПростойСправочник.УникальныйИдентификатор()); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник.РеквизитБулево, "Булево"); - ЮТест.ПроверитьРавенство(Истина, ТестовыеДанные.ПростойСправочник.РеквизитБулево, "ТестовыеДанные.ПростойСправочник.РеквизитБулево"); - - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник.РеквизитПеречисление, "ПеречислениеСсылка.Перечисление1"); - ЮТест.ПроверитьРавенство(Перечисления.Перечисление1.ЗначениеПеречисления1, ТестовыеДанные.ПростойСправочник.РеквизитПеречисление, "ТестовыеДанные.ПростойСправочник.РеквизитПеречисление"); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьПростойСправочникПоискомПоГуид() Экспорт - Макет = ПолучитьМакет("СозданиеПростогоСправочникаПоГуид"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(1, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник"), "Ожидали, что есть переменная 'ПростойСправочник'"); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник, "СправочникСсылка.ПростойСправочник"); - ЮТест.ПроверитьРавенство(Новый УникальныйИдентификатор(_ГуидНовогоСправочника), ТестовыеДанные.ПростойСправочник.УникальныйИдентификатор()); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник.РеквизитБулево, "Булево"); - ЮТест.ПроверитьРавенство(Истина, ТестовыеДанные.ПростойСправочник.РеквизитБулево, "ТестовыеДанные.ПростойСправочник.РеквизитБулево"); - - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник.РеквизитПеречисление, "ПеречислениеСсылка.Перечисление1"); - ЮТест.ПроверитьРавенство(Перечисления.Перечисление1.ЗначениеПеречисления1, ТестовыеДанные.ПростойСправочник.РеквизитПеречисление, "ТестовыеДанные.ПростойСправочник.РеквизитПеречисление"); -КонецПроцедуры - -Процедура Тест_ДолженНайтиИПерезаполнитьПростойСправочникПоискомПоГуидуСсылки() Экспорт - ГуидСправочника = Новый УникальныйИдентификатор; - Макет = ПолучитьМакет("СозданиеПростогоСправочникаПоГуидСсылки"); - Макет.НайтиТекст(_ГуидНовогоСправочника).Текст = Строка(ГуидСправочника); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - ЮТест.ПроверитьРавенство(Справочники.ПростойСправочник.ПолучитьСсылку(ГуидСправочника), ТестовыеДанные.ПростойСправочник, "Справочники.ПростойСправочник.ПолучитьСсылку(ГуидСправочника), ТестовыеДанные.ПростойСправочник)"); - - Макет = ПолучитьМакет("НайтиИПерезаполнитьПростойСправочникПоГуидСсылки"); - Макет.НайтиТекст(_ГуидНовогоСправочника).Текст = Строка(ГуидСправочника); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьРавенство(1, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); - - ЮТест.ПроверитьРавенство(ГуидСправочника, ТестовыеДанные.ПростойСправочник.УникальныйИдентификатор()); - ЮТест.ПроверитьРавенство(Ложь, ТестовыеДанные.ПростойСправочник.РеквизитБулево, "ТестовыеДанные.ПростойСправочник.РеквизитБулево"); - ЮТест.ПроверитьРавенство(Перечисления.Перечисление1.ЗначениеПеречисления2, ТестовыеДанные.ПростойСправочник.РеквизитПеречисление, "ТестовыеДанные.ПростойСправочник.РеквизитПеречисление"); -КонецПроцедуры - -Процедура Тест_ДолженУдалитьСозданныеДанные_ПростойСправочник() Экспорт - количествоДо = ЮТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник"); - - Макет = ПолучитьМакет("СозданиеПростогоСправочника"); - - количествоСозданныхОбъектов = 1; - - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - количествоУдаленныхОбъектов = ЮТест.УдалитьСозданныеДанные(тестовыеДанные); - - количествоПосле = ЮТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник"); - ЮТест.ПроверитьРавенство(количествоПосле, количествоДо, "количествоПосле, количествоДо"); - - ЮТест.ПроверитьРавенство(количествоУдаленныхОбъектов, количествоСозданныхОбъектов, "количествоУдаленныхОбъектов, количествоСозданныхОбъектов"); -КонецПроцедуры - -Процедура Тест_ДолженУдалитьСозданныеДанные_ДваПростыхСправочника() Экспорт - количествоДо = ЮТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник") + ЮТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник2"); - - Макет = ПолучитьМакет("СозданиеДвухПростыхСправочников"); - - количествоСозданныхОбъектов = 2; - - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - //количествоСозданныхОбъектов = 0; - //ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет, количествоСозданныхОбъектов); - // ЮТест.ПроверитьРавенство(количествоСозданныхОбъектов, 2, "количествоСозданныхОбъектов"); - - количествоУдаленныхОбъектов = ЮТест.УдалитьСозданныеДанные(тестовыеДанные); - - количествоПосле = ЮТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник") + ЮТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник2"); - ЮТест.ПроверитьРавенство(количествоПосле, количествоДо, "количествоПосле, количествоДо"); - - ЮТест.ПроверитьРавенство(количествоУдаленныхОбъектов, количествоСозданныхОбъектов, "количествоУдаленныхОбъектов, количествоСозданныхОбъектов"); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьИзДвухМакетовДваПростыхСправочника() Экспорт - Макет = ПолучитьМакет("СозданиеПростогоСправочника"); - КоллекцияПараметров = Новый Структура("Наименование", "Тест"); - Макет2 = ПолучитьМакетДанныхДоступа("СозданиеПростогоСправочника2", КоллекцияПараметров); - - МассивМакетов = Новый Массив(); - МассивМакетов.Добавить(Макет); - МассивМакетов.Добавить(Макет2); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(МассивМакетов); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник"), "Ожидали, что есть переменная 'ПростойСправочник'"); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник, "СправочникСсылка.ПростойСправочник"); - ЮТест.ПроверитьРавенство("Тестовое наименование", ТестовыеДанные.ПростойСправочник.Наименование); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник.РеквизитБулево, "Булево"); - ЮТест.ПроверитьРавенство(Истина, ТестовыеДанные.ПростойСправочник.РеквизитБулево); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник2"), "Ожидали, что есть переменная 'ПростойСправочник2'"); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник2, "СправочникСсылка.ПростойСправочник2"); - ЮТест.ПроверитьРавенство("Тест", ТестовыеДанные.ПростойСправочник2.Наименование); - ЮТест.ПроверитьРавенство(Ложь, ТестовыеДанные.ПростойСправочник2.РеквизитБулево); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьИзДвухМакетовСвязанныеСправочники() Экспорт - Макет = ПолучитьМакет("СозданиеПростогоСправочника"); - Макет2 = ПолучитьМакет("СозданиеОдногоСправочникаВладельцаБезПодчиненногоСправочника"); - - МассивМакетов = Новый Массив(); - МассивМакетов.Добавить(Макет); - МассивМакетов.Добавить(Макет2); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(МассивМакетов); - - ПроверитьСозданиеИзДвухМакетовСвязанныеСправочники(ТестовыеДанные); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьИзДвухМакетовСвязанныеСправочникиЧерезМетод_СоздатьДанныеПоМакетам() Экспорт - ТестовыеДанные = ЮТест.СоздатьДанныеПоМакетам(ЭтотОбъект, "СозданиеПростогоСправочника,СозданиеОдногоСправочникаВладельцаБезПодчиненногоСправочника"); - - ПроверитьСозданиеИзДвухМакетовСвязанныеСправочники(ТестовыеДанные); -КонецПроцедуры - -Процедура ПроверитьСозданиеИзДвухМакетовСвязанныеСправочники(ТестовыеДанные) - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ИерархическийСправочник"), "Ожидали, что есть переменная 'ИерархическийСправочник'"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.ИерархическийСправочник.ПростойСправочник); - ЮТест.ПроверитьРавенство("Тестовое наименование", ТестовыеДанные.ПростойСправочник.Наименование); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьОднуЗаписьРегистраНакопления() Экспорт - количествоДо = ЮТест.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрНакопления", "РегистрНакопления2"); - - Макет = ПолучитьМакет("СозданиеОднойЗаписиВРегистреНакопления"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(4, ТестовыеДанные.Количество()); - ЮТест.ПроверитьТип(ТестовыеДанные.ЗаписьРегистра1, "РегистрНакопленияНаборЗаписей.РегистрНакопления2"); - - количествоПосле = ЮТест.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрНакопления", "РегистрНакопления2"); - ЮТест.ПроверитьРавенство(количествоДо + 1, количествоПосле, "количество записей РН -> количествоДо + 2, количествоПосле"); - - наборЗаписей = РегистрыНакопления.РегистрНакопления2.СоздатьНаборЗаписей(); - наборЗаписей.Отбор.Регистратор.Установить(ТестовыеДанные.Документ); - наборЗаписей.Прочитать(); - ЮТест.ПроверитьРавенство(1, наборЗаписей.Количество(), "количество записей РН -> 1, наборЗаписей.Количество()"); - запись = наборЗаписей[0]; - ЮТест.ПроверитьРавенство(ВидДвиженияНакопления.Приход, запись.ВидДвижения, "ВидДвиженияНакопления.Приход, запись.ВидДвижения"); - ЮТест.ПроверитьРавенствоДатСТочностью2Секунды(ТестовыеДанные.Документ.Дата, запись.Период, "ТестовыеДанные.Документ.Дата, запись.Период"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, запись.ПростойСправочник2); - - строкаТчДокумента = ТестовыеДанные.Документ.Состав[0]; - ЮТест.ПроверитьРавенство(строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло, "строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло"); - ЮТест.ПроверитьРавенство(строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево, "строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево"); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьДвеЗаписиРегистраНакопления() Экспорт - количествоДо = ЮТест.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрНакопления", "РегистрНакопления2"); - - Макет = ПолучитьМакет("СозданиеДвухЗаписейВРегистреНакопления"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(5, ТестовыеДанные.Количество()); - - количествоПосле = ЮТест.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрНакопления", "РегистрНакопления2"); - ЮТест.ПроверитьРавенство(количествоДо + 2, количествоПосле, "количество записей РН -> количествоДо + 2, количествоПосле"); - - ЮТест.ПроверитьТип(ТестовыеДанные.ЗаписьРегистра1, "РегистрНакопленияНаборЗаписей.РегистрНакопления2"); - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.ЗаписьРегистра1.Количество(), "ТестовыеДанные.ЗаписьРегистра1.Количество()"); - - наборЗаписей = РегистрыНакопления.РегистрНакопления2.СоздатьНаборЗаписей(); - наборЗаписей.Отбор.Регистратор.Установить(ТестовыеДанные.Документ); - наборЗаписей.Прочитать(); - ЮТест.ПроверитьРавенство(2, наборЗаписей.Количество(), "количество записей РН -> 2, наборЗаписей.Количество()"); - - наборЗаписей = РегистрыНакопления.РегистрНакопления2.СоздатьНаборЗаписей(); - наборЗаписей.Отбор.Регистратор.Установить(ТестовыеДанные.Документ); - наборЗаписей.Прочитать(); - ЮТест.ПроверитьРавенство(2, наборЗаписей.Количество(), "количество записей РН -> 2, наборЗаписей.Количество()"); - - запись = наборЗаписей[0]; - ЮТест.ПроверитьРавенство(ВидДвиженияНакопления.Приход, запись.ВидДвижения, "ВидДвиженияНакопления.Приход, запись.ВидДвижения"); - ЮТест.ПроверитьРавенствоДатСТочностью2Секунды(ТестовыеДанные.Документ.Дата, запись.Период, "ТестовыеДанные.Документ.Дата, запись.Период"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, запись.ПростойСправочник2); - - строкаТчДокумента = ТестовыеДанные.Документ.Состав[0]; - ЮТест.ПроверитьРавенство(строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло, "строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло"); - ЮТест.ПроверитьРавенство(строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево, "строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево"); - - запись = наборЗаписей[1]; - ЮТест.ПроверитьРавенство(ВидДвиженияНакопления.Приход, запись.ВидДвижения, "ВидДвиженияНакопления.Приход, запись.ВидДвижения"); - ЮТест.ПроверитьРавенствоДатСТочностью2Секунды(ТестовыеДанные.Документ.Дата, запись.Период, "ТестовыеДанные.Документ.Дата, запись.Период"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник22, запись.ПростойСправочник2); - - строкаТчДокумента = ТестовыеДанные.Документ.Состав[1]; - ЮТест.ПроверитьРавенство(строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло, "строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло"); - ЮТест.ПроверитьРавенство(строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево, "строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево"); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьДвеЗаписиРегистраНакопленияУКоторыхЯвноЗаданВидДвижения() Экспорт - количествоДо = ЮТест.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрНакопления", "РегистрНакопления2"); - - Макет = ПолучитьМакет("СозданиеДвухЗаписейВРегистреНакопленияУКоторыхЯвноЗаданВидДвижения"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(5, ТестовыеДанные.Количество()); - - количествоПосле = ЮТест.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрНакопления", "РегистрНакопления2"); - ЮТест.ПроверитьРавенство(количествоДо + 2, количествоПосле, "количество записей РН -> количествоДо + 2, количествоПосле"); - - ЮТест.ПроверитьТип(ТестовыеДанные.ЗаписьРегистра1, "РегистрНакопленияНаборЗаписей.РегистрНакопления2"); - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.ЗаписьРегистра1.Количество(), "ТестовыеДанные.ЗаписьРегистра1.Количество()"); - - наборЗаписей = РегистрыНакопления.РегистрНакопления2.СоздатьНаборЗаписей(); - наборЗаписей.Отбор.Регистратор.Установить(ТестовыеДанные.Документ); - наборЗаписей.Прочитать(); - ЮТест.ПроверитьРавенство(2, наборЗаписей.Количество(), "количество записей РН -> 2, наборЗаписей.Количество()"); - - наборЗаписей = РегистрыНакопления.РегистрНакопления2.СоздатьНаборЗаписей(); - наборЗаписей.Отбор.Регистратор.Установить(ТестовыеДанные.Документ); - наборЗаписей.Прочитать(); - ЮТест.ПроверитьРавенство(2, наборЗаписей.Количество(), "количество записей РН -> 2, наборЗаписей.Количество()"); - - запись = наборЗаписей[0]; - ЮТест.ПроверитьРавенство(ВидДвиженияНакопления.Расход, запись.ВидДвижения, "ВидДвиженияНакопления.Расход, запись.ВидДвижения"); - ЮТест.ПроверитьРавенствоДатСТочностью2Секунды(запись.Период, ТестовыеДанные.Документ.Дата, "запись.Период - ТестовыеДанные.Документ.Дата"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, запись.ПростойСправочник2); - - строкаТчДокумента = ТестовыеДанные.Документ.Состав[0]; - ЮТест.ПроверитьРавенство(строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло, "строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло"); - ЮТест.ПроверитьРавенство(строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево, "строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево"); - - запись = наборЗаписей[1]; - ЮТест.ПроверитьРавенство(ВидДвиженияНакопления.Приход, запись.ВидДвижения, "ВидДвиженияНакопления.Приход, запись.ВидДвижения"); - ЮТест.ПроверитьРавенствоДатСТочностью2Секунды(ТестовыеДанные.Документ.Дата, запись.Период, "ТестовыеДанные.Документ.Дата, запись.Период"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник22, запись.ПростойСправочник2); - - строкаТчДокумента = ТестовыеДанные.Документ.Состав[1]; - ЮТест.ПроверитьРавенство(строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло, "строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло"); - ЮТест.ПроверитьРавенство(строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево, "строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево"); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьДвеЗаписиРегистраСведенийПодчиненномРегистратору() Экспорт - количествоДо = ЮТест.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрСведений", "РСПодчиненныйРегистратору"); - - Макет = ПолучитьМакет("СозданиеДвухЗаписейВРегистреСведенийПодчиненномРегистратору"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(5, ТестовыеДанные.Количество()); - - количествоПосле = ЮТест.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрСведений", "РСПодчиненныйРегистратору"); - ЮТест.ПроверитьРавенство(количествоДо + 2, количествоПосле, "количество записей РС -> количествоДо + 2, количествоПосле"); - - ЮТест.ПроверитьТип(ТестовыеДанные.ЗаписьРегистра1, "РегистрСведенийНаборЗаписей.РСПодчиненныйРегистратору"); - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.ЗаписьРегистра1.Количество(), "ТестовыеДанные.ЗаписьРегистра1.Количество()"); - - наборЗаписей = РегистрыСведений.РСПодчиненныйРегистратору.СоздатьНаборЗаписей(); - наборЗаписей.Отбор.Регистратор.Установить(ТестовыеДанные.Документ); - наборЗаписей.Прочитать(); - ЮТест.ПроверитьРавенство(2, наборЗаписей.Количество(), "количество записей РС -> 2, наборЗаписей.Количество()"); - - наборЗаписей = РегистрыСведений.РСПодчиненныйРегистратору.СоздатьНаборЗаписей(); - наборЗаписей.Отбор.Регистратор.Установить(ТестовыеДанные.Документ); - наборЗаписей.Прочитать(); - ЮТест.ПроверитьРавенство(2, наборЗаписей.Количество(), "количество записей РС -> 2, наборЗаписей.Количество()"); - - запись = наборЗаписей[0]; - ЮТест.ПроверитьРавенствоДатСТочностью2Секунды(ТестовыеДанные.Документ.Дата, запись.Период, "ТестовыеДанные.Документ.Дата, запись.Период"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, запись.ПростойСправочник2); - - строкаТчДокумента = ТестовыеДанные.Документ.Состав[0]; - ЮТест.ПроверитьРавенство(строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло, "строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло"); - ЮТест.ПроверитьРавенство(строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево, "строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево"); - - запись = наборЗаписей[1]; - ЮТест.ПроверитьРавенствоДатСТочностью2Секунды(ТестовыеДанные.Документ.Дата, запись.Период, "ТестовыеДанные.Документ.Дата, запись.Период"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник22, запись.ПростойСправочник2); - - строкаТчДокумента = ТестовыеДанные.Документ.Состав[1]; - ЮТест.ПроверитьРавенство(строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло, "строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло"); - ЮТест.ПроверитьРавенство(строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево, "строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево"); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьПростойБизнесПроцесс() Экспорт - Макет = ПолучитьМакет("СозданиеПростогоБизнесПроцесса"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьРавенство(3, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойБП"), "Ожидали, что есть переменная 'ПростойБП'"); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойБП, "БизнесПроцессСсылка.БизнесПроцесс1"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойБП.ПростойСправочник, ТестовыеДанные.ПростойСправочник); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойБП, ТестовыеДанные.Действие1.БизнесПроцесс); - ЮТест.ПроверитьРавенствоДатСТочностью2Секунды(ТекущаяДата(), ТестовыеДанные.ПростойБП.Дата, "Разница между ТекущаяДата() и ТестовыеДанные.ПростойБП.Дата должна быть менее 2 секунд"); - - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.ПростойБП.ТабличнаяЧасть1.Количество()); - - строкаТч = ТестовыеДанные.ПростойБП.ТабличнаяЧасть1[0]; - ЮТест.ПроверитьРавенство("Значение1", строкаТч.Реквизит1, "строкаТч.Реквизит1"); - //ЮТест.ПроверитьРавенство(150, ТестовыеДанные.Документ.Состав[0].РеквизитЧисло); - - строкаТч = ТестовыеДанные.ПростойБП.ТабличнаяЧасть1[1]; - ЮТест.ПроверитьРавенство("Значение2", строкаТч.Реквизит1, "строкаТч.Реквизит1"); - //ЮТест.ПроверитьРавенство(150, ТестовыеДанные.Документ.Состав[0].РеквизитЧисло); -КонецПроцедуры - -// {Пессимистические тесты -Процедура Тест_ДолженПолучитьИсключениеНеверныйРежимПоиска() Экспорт - Макет = ПолучитьМакет("Тест_ДолженПолучитьИсключениеНеверныйРежимПоиска"); - ТекстИсключения = ""; - ОжидаемоеИсключение = "НеверныйРежимПоиска"; - Попытка - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - Исключение - ТекстИсключения = ОписаниеОшибки(); - КонецПопытки; - - ЮТест.ПроверитьВхождение(ТекстИсключения, ОжидаемоеИсключение, "Ожидали исключение <" + ОжидаемоеИсключение + ">"); -КонецПроцедуры - -Процедура Тест_ДолженПолучитьИсключениеПриПопыткеСоздатьЭлементИЗаполнитьРеквизитПоНеверномуКоду() Экспорт - Макет = ПолучитьМакет("Тест_ДолженПолучитьИсключениеПриПопыткеСоздатьЭлементИЗаполнитьРеквизитПоНеверномуКоду"); - ТекстИсключения = ""; - ОжидаемоеИсключение = "ЗначениеНеНайдено"; - Попытка - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - Исключение - ТекстИсключения = ОписаниеОшибки(); - КонецПопытки; - - ЮТест.ПроверитьВхождение(ТекстИсключения, ОжидаемоеИсключение, "Ожидали исключение <" + ОжидаемоеИсключение + ">"); -КонецПроцедуры - -Процедура Тест_ДолженПолучитьИсключениеПриПопыткеСоздатьЭлементИЗаполнитьРеквизитПоНеверномуНаименованию() Экспорт - Макет = ПолучитьМакет("Тест_ДолженПолучитьИсключениеПриПопыткеСоздатьЭлементИЗаполнитьРеквизитПоНеверномуНаименованию"); - ТекстИсключения = ""; - ОжидаемоеИсключение = "ЗначениеНеНайдено"; - Попытка - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - Исключение - ТекстИсключения = ОписаниеОшибки(); - КонецПопытки; - - ЮТест.ПроверитьВхождение(ТекстИсключения, ОжидаемоеИсключение, "Ожидали исключение <" + ОжидаемоеИсключение + ">"); -КонецПроцедуры - -// } - -Процедура ТестДолжен_СоздатьСправочник2_с_РеквизитомСоставногоТипа() Экспорт - Макет = ПолучитьМакет("СозданиеСправочника2_с_РеквизитомСоставногоТипа"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("СправочникСТабЧастью"), "Ожидали, что есть переменная 'СправочникСТабЧастью'"); - ЮТест.ПроверитьРавенство(0, ТестовыеДанные.СправочникСТабЧастью.Состав.Количество()); - - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.СправочникСТабЧастью.РеквизитСоставногоТипа); -КонецПроцедуры - -Процедура ТестДолжен_СоздатьСправочник2_с_РеквизитомСоставногоТипа_и_ПустойСсылкой() Экспорт - Макет = ПолучитьМакет("СозданиеСправочника2_с_РеквизитомСоставногоТипа_и_ПустойСсылкой"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(1, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьРавенство(Справочники.ПростойСправочник.ПустаяСсылка(), ТестовыеДанные.СправочникСТабЧастью.РеквизитСоставногоТипа); -КонецПроцедуры - -Процедура ТестДолжен_СоздатьСправочник2_с_РеквизитомСоставногоТипа_и_ПустойСсылкойПеречисление() Экспорт - Макет = ПолучитьМакет("СозданиеСправочника2_с_РеквизитомСоставногоТипа_и_ПустойСсылкойПеречисление"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(1, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьРавенство(Перечисления.Перечисление1.ПустаяСсылка(), ТестовыеДанные.СправочникСТабЧастью.РеквизитСоставногоТипа); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьОднуЗаписьРегистраНакопленияСПоискомДокументаПоНомеру() Экспорт - количествоДо = ЮТест.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрНакопления", "РегистрНакопления2"); - - Макет = ПолучитьМакет("РегистрНакопления_ПоискРегистратора"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.Количество()); - ЮТест.ПроверитьТип(ТестовыеДанные.РегистрНакопления2, "РегистрНакопленияНаборЗаписей.РегистрНакопления2"); - - количествоПосле = ЮТест.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрНакопления", "РегистрНакопления2"); - ЮТест.ПроверитьРавенство(количествоДо + 1, количествоПосле, "количество записей РН -> количествоДо + 2, количествоПосле"); - - наборЗаписей = РегистрыНакопления.РегистрНакопления2.СоздатьНаборЗаписей(); - наборЗаписей.Отбор.Регистратор.Установить(ТестовыеДанные.Документ); - наборЗаписей.Прочитать(); - ЮТест.ПроверитьРавенство(1, наборЗаписей.Количество(), "количество записей РН -> 1, наборЗаписей.Количество()"); - запись = наборЗаписей[0]; - //ЮТест.ПроверитьРавенство(ТестовыеДанные.Документ.Дата, запись.Период, "ТестовыеДанные.Документ.Дата, запись.Период"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.Документ, запись.Регистратор, "ТестовыеДанные.Документ, запись.Регистратор"); - //ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); - //ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, запись.ПростойСправочник2); - // - //строкаТчДокумента = ТестовыеДанные.Документ.Состав[0]; - //ЮТест.ПроверитьРавенство(строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло, "строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло"); - //ЮТест.ПроверитьРавенство(строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево, "строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево"); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьОднуЗаписьРегистраБухгалтерии() Экспорт - количествоДо = ЮТест.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрБухгалтерии", "РегистрБухгалтерии1"); - - Макет = ПолучитьМакет("СозданиеОднойЗаписиВРегистреБухгалтерии"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(4, ТестовыеДанные.Количество()); - ЮТест.ПроверитьТип(ТестовыеДанные.ЗаписьРегистра1, "РегистрБухгалтерииНаборЗаписей.РегистрБухгалтерии1"); - - количествоПосле = ЮТест.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрБухгалтерии", "РегистрБухгалтерии1"); - ЮТест.ПроверитьРавенство(количествоДо + 1, количествоПосле, "количество записей РН -> количествоДо + 2, количествоПосле"); - - наборЗаписей = РегистрыБухгалтерии.РегистрБухгалтерии1.СоздатьНаборЗаписей(); - наборЗаписей.Отбор.Регистратор.Установить(ТестовыеДанные.Документ); - наборЗаписей.Прочитать(); - ЮТест.ПроверитьРавенство(1, наборЗаписей.Количество(), "количество записей РН -> 1, наборЗаписей.Количество()"); - запись = наборЗаписей[0]; - - ЮТест.ПроверитьРавенствоДатСТочностью2Секунды(ТестовыеДанные.Документ.Дата, запись.Период, "ТестовыеДанные.Документ.Дата, запись.Период"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, запись.ПростойСправочник2Дт); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, запись.ПростойСправочник2Кт); - ЮТест.ПроверитьРавенство(ПланыСчетов.ПланСчетов1.Счет01, запись.СчетДт); - ЮТест.ПроверитьРавенство(ПланыСчетов.ПланСчетов1.Счет02, запись.СчетКт); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.СубконтоДт.Субконто1, "ТестовыеДанные.ПростойСправочник, запись.СубконтоДт.Субконто1"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, запись.СубконтоКт.Субконто2, "ТестовыеДанные.ПростойСправочник21, запись.СубконтоКт.Субконто2"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.СубконтоКт.Субконто1, "ТестовыеДанные.ПростойСправочник, запись.СубконтоКт.Субконто1"); - - строкаТчДокумента = ТестовыеДанные.Документ.Состав[0]; - ЮТест.ПроверитьРавенство(строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло, "строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло"); - ЮТест.ПроверитьРавенство(10, запись.РесурсЧисло1Дт, "10, запись.РесурсЧисло1Дт"); - ЮТест.ПроверитьРавенство(строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево, "строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево"); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьДвеЗаписиРегистраБухгалтерии() Экспорт - количествоДо = ЮТест.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрБухгалтерии", "РегистрБухгалтерии1"); - - Макет = ПолучитьМакет("СозданиеДвухЗаписейВРегистреБухгалтерии"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(6, ТестовыеДанные.Количество()); - - количествоПосле = ЮТест.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрБухгалтерии", "РегистрБухгалтерии1"); - ЮТест.ПроверитьРавенство(количествоДо + 2, количествоПосле, "количество записей РБ -> количествоДо + 2, количествоПосле"); - - ЮТест.ПроверитьТип(ТестовыеДанные.ЗаписьРегистра1, "РегистрБухгалтерииНаборЗаписей.РегистрБухгалтерии1"); - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.ЗаписьРегистра1.Количество(), "ТестовыеДанные.ЗаписьРегистра1.Количество()"); - - наборЗаписей = РегистрыБухгалтерии.РегистрБухгалтерии1.СоздатьНаборЗаписей(); - наборЗаписей.Отбор.Регистратор.Установить(ТестовыеДанные.Документ); - наборЗаписей.Прочитать(); - ЮТест.ПроверитьРавенство(2, наборЗаписей.Количество(), "количество записей РБ -> 2, наборЗаписей.Количество()"); - - наборЗаписей = РегистрыБухгалтерии.РегистрБухгалтерии1.СоздатьНаборЗаписей(); - наборЗаписей.Отбор.Регистратор.Установить(ТестовыеДанные.Документ); - наборЗаписей.Прочитать(); - ЮТест.ПроверитьРавенство(2, наборЗаписей.Количество(), "количество записей РБ -> 2, наборЗаписей.Количество()"); - - запись = наборЗаписей[0]; - ЮТест.ПроверитьРавенствоДатСТочностью2Секунды(ТестовыеДанные.Документ.Дата, запись.Период, "ТестовыеДанные.Документ.Дата, запись.Период"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, запись.ПростойСправочник2Дт); - ЮТест.ПроверитьРавенство(ПланыСчетов.ПланСчетов1.Счет01, запись.СчетДт); - ЮТест.ПроверитьРавенство(ПланыСчетов.ПланСчетов1.Счет02, запись.СчетКт); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.СубконтоДт.Субконто1, "ТестовыеДанные.ПростойСправочник, запись.СубконтоДт.Субконто1"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, запись.СубконтоКт.Субконто2, "ТестовыеДанные.ПростойСправочник21, запись.СубконтоКт.Субконто2"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.СубконтоКт.Субконто1, "ТестовыеДанные.ПростойСправочник, запись.СубконтоКт.Субконто1"); - - строкаТчДокумента = ТестовыеДанные.Документ.Состав[0]; - ЮТест.ПроверитьРавенство(строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло, "строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло"); - ЮТест.ПроверитьРавенство(10, запись.РесурсЧисло1Дт, "10, запись.РесурсЧисло1Дт"); - ЮТест.ПроверитьРавенство(строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево, "строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево"); - - запись = наборЗаписей[1]; - ЮТест.ПроверитьРавенствоДатСТочностью2Секунды(ТестовыеДанные.Документ.Дата, запись.Период, "ТестовыеДанные.Документ.Дата, запись1.Период"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник22, запись.ПростойСправочник2Кт); - ЮТест.ПроверитьРавенство(ПланыСчетов.ПланСчетов1.Счет02, запись.СчетДт); - ЮТест.ПроверитьРавенство(ПланыСчетов.ПланСчетов1.Счет01, запись.СчетКт); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, запись.СубконтоДт.Субконто2, "ТестовыеДанные.ПростойСправочник21, запись1.СубконтоДт.Субконто2"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник0, запись.СубконтоДт.Субконто1, "ТестовыеДанные.ПростойСправочник0, запись.СубконтоДт.Субконто1"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.СубконтоКт.Субконто1, "ТестовыеДанные.ПростойСправочник, запись1.СубконтоКт.Субконто1"); - - строкаТчДокумента = ТестовыеДанные.Документ.Состав[1]; - ЮТест.ПроверитьРавенство(строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло, "строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло"); - ЮТест.ПроверитьРавенство(20, запись.РесурсЧисло1Кт, "20, запись.РесурсЧисло1Кт"); - ЮТест.ПроверитьРавенство(строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево, "строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево"); -КонецПроцедуры - -Функция ПолучитьМакетДанныхДоступа(ИмяМакета, КоллекцияПараметров) Экспорт - - Макет = ПолучитьМакет(ИмяМакета); - ЗаполнитьЗначенияСвойств(Макет.Параметры, КоллекцияПараметров); - //Если Не КоллекцияПараметров.Свойство("ИмяПользователя") Тогда - // Макет.Параметры.ИмяПользователя = ИмяНовогоПользователя; - //КонецЕсли; - - НовыйТабДок = Новый ТабличныйДокумент; - НовыйТабДок.Вывести(Макет); - - Возврат НовыйТабДок; -КонецФункции - -Процедура Тест_ДолженСоздатьСправочникСоСсылкойНаСамогоСебя() Экспорт - - Макет = ПолучитьМакет("СозданиеСправочникаСоСсылкойНаСамогоСебя"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьРавенство(ТестовыеДанные.ЭлементСоСсылкой, ТестовыеДанные.ЭлементСоСсылкой.СправочникСоСсылкойНаСамогоСебя); - -КонецПроцедуры - -Процедура Тест_ДолженСоздатьСправочникиОбразующиеЦиклическуюЗависимость() Экспорт - - Макет = ПолучитьМакет("СозданиеСправочниковОбразующихЦиклическуюЗависимость"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьРавенство(ТестовыеДанные.ЭлементСоСсылкой1.СправочникСоСсылкойНаСамогоСебя, ТестовыеДанные.ЭлементСоСсылкой2); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ЭлементСоСсылкой2.СправочникСоСсылкойНаСамогоСебя, ТестовыеДанные.ЭлементСоСсылкой3); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ЭлементСоСсылкой3.СправочникСоСсылкойНаСамогоСебя, ТестовыеДанные.ЭлементСоСсылкой1); - -КонецПроцедуры - -Процедура Тест_ДолженЗагрузитьВсеДанныеВРежиме_ОбменДанными_Загрузка() Экспорт - - ПараметрыСозданияДанных = Новый Структура("ОбменДанными", Истина); - - ЗапрещенноеНаименование = Справочники.ПростойСправочник.ПолучитьЗапрещенноеНаименование(0); - КоллекцияПараметров = Новый Структура("Наименование,РеквизитПеречисление", ЗапрещенноеНаименование, "ЗначениеПеречисления1" ); - - Макет = ПолучитьМакетДанныхДоступа("СозданиеПростогоСправочника_Параметры", КоллекцияПараметров); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет, ПараметрыСозданияДанных); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(1, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник"), "Ожидали, что есть переменная 'ПростойСправочник'"); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник, "СправочникСсылка.ПростойСправочник"); - ЮТест.ПроверитьРавенство(ЗапрещенноеНаименование, ТестовыеДанные.ПростойСправочник.Наименование); - ЮТест.ПроверитьРавенство(Истина, ТестовыеДанные.ПростойСправочник.РеквизитБулево); - -КонецПроцедуры - -Процедура Тест_ДолженВыполнитьНайтиИОбновитьСуществующийЭлемент() Экспорт - - НаименованиеЭлемента = "Имя146"; - ЗначениеПеречисления = Перечисления.Перечисление1.ЗначениеПеречисления1; - КоллекцияПараметров = Новый Структура("Наименование,РеквизитПеречисление", НаименованиеЭлемента, "ЗначениеПеречисления1" ); - - Макет = ПолучитьМакетДанныхДоступа("СозданиеПростогоСправочника_Параметры", КоллекцияПараметров); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - //НовоеНаименованиеЭлемента = НаименованиеЭлемента+"-Новое"; - НовоеЗначениеПеречисления = Перечисления.Перечисление1.ЗначениеПеречисления2; - КоллекцияПараметров = Новый Структура("Наименование,Ключ,РеквизитПеречисление", НаименованиеЭлемента, "Ключ", "ЗначениеПеречисления2"); - - Макет = ПолучитьМакетДанныхДоступа("СозданиеПростогоСправочника_Параметры", КоллекцияПараметров); - ТестовыеДанные2 = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - //ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - //ЮТест.ПроверитьРавенство(1, ТестовыеДанные.Количество()); - // - //ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник, "СправочникСсылка.ПростойСправочник", "ТестовыеДанные"); - //ЮТест.ПроверитьТип(ТестовыеДанные2.ПростойСправочник, "СправочникСсылка.ПростойСправочник", "ТестовыеДанные2"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные2.ПростойСправочник, "ТестовыеДанные.ПростойСправочник, ТестовыеДанные2.ПростойСправочник"); - ЮТест.ПроверитьРавенство(НаименованиеЭлемента, ТестовыеДанные.ПростойСправочник.Наименование); - ЮТест.ПроверитьРавенство(НовоеЗначениеПеречисления, ТестовыеДанные.ПростойСправочник.ПолучитьОбъект().РеквизитПеречисление); - -КонецПроцедуры - -Процедура Тест_ДолженСоздатьУзелПланаОбмена() Экспорт - - КоллекцияПараметров = Новый Структура("РеквизитПеречисление", "ЗначениеПеречисления2"); - - Макет = ПолучитьМакетДанныхДоступа("СозданиеУзлаПланаОбмена", КоллекцияПараметров); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.Количество(), 2, "Количество объектов в тестовых данных отличается от ожидаемого"); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("УзелЭтойИБ"), "В тестовых данных не обнаружено нужное свойство"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.УзелЭтойИБ, ПланыОбмена.ПланОбмена1.ЭтотУзел()); - ЮТест.ПроверитьРавенство(ТестовыеДанные.УзелЭтойИБ.Код, "000000001"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.УзелЭтойИБ.Наименование, "Эта информационная база"); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("Узел1"), "В тестовых данных не обнаружено нужное свойство"); - ЮТест.ПроверитьТип(ТестовыеДанные.Узел1, "ПланОбменаСсылка.ПланОбмена1"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.Узел1.Наименование, "Узел обмена 1"); - - ЮТест.ПроверитьТип(ТестовыеДанные.Узел1.РеквизитБулево, "Булево"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.Узел1.РеквизитБулево, Истина); - - ЮТест.ПроверитьТип(ТестовыеДанные.Узел1.РеквизитПеречисление, "ПеречислениеСсылка.Перечисление1"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.Узел1.РеквизитПеречисление, Перечисления.Перечисление1.ЗначениеПеречисления2); - -КонецПроцедуры - diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/renames.txt" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/renames.txt" deleted file mode 100644 index b10ad564..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/renames.txt" +++ /dev/null @@ -1,179 +0,0 @@ -0afb6777-fe50-4b9c-b180-77d1ee3a3d54-->und\0afb6777-fe50-4b9c-b180-77d1ee3a3d54 -0afb6777-fe50-4b9c-b180-77d1ee3a3d54.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\Тест_ДолженПолучитьИсключениеПриПопыткеСоздатьЭлементИЗаполнитьРеквизитПоНеверномуКоду.mxl -0afb6777-fe50-4b9c-b180-77d1ee3a3d54.0-->und\0afb6777-fe50-4b9c-b180-77d1ee3a3d54.0 -165eaf09-2e00-4e46-be94-35f3b4ede990-->und\165eaf09-2e00-4e46-be94-35f3b4ede990 -165eaf09-2e00-4e46-be94-35f3b4ede990.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеДвухЗаписейВРегистреСведенийПодчиненномРегистратору.mxl -165eaf09-2e00-4e46-be94-35f3b4ede990.0-->und\165eaf09-2e00-4e46-be94-35f3b4ede990.0 -1d971496-56ca-48b0-a34e-b5359e900090-->und\1d971496-56ca-48b0-a34e-b5359e900090 -1d971496-56ca-48b0-a34e-b5359e900090.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеПростогоСправочникаПоГуидСсылки.mxl -1d971496-56ca-48b0-a34e-b5359e900090.0-->und\1d971496-56ca-48b0-a34e-b5359e900090.0 -1e918707-941f-4288-9af0-070c155a8173-->und\1e918707-941f-4288-9af0-070c155a8173 -1e918707-941f-4288-9af0-070c155a8173.0-->und\1e918707-941f-4288-9af0-070c155a8173.0 -1e918707-941f-4288-9af0-070c155a8173.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеУзлаПланаОбмена.mxl -214520bb-70cc-4e3a-a1be-4c6a0f5d9c73-->und\214520bb-70cc-4e3a-a1be-4c6a0f5d9c73 -214520bb-70cc-4e3a-a1be-4c6a0f5d9c73.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеДвухЗаписейВРегистреСведений.mxl -214520bb-70cc-4e3a-a1be-4c6a0f5d9c73.0-->und\214520bb-70cc-4e3a-a1be-4c6a0f5d9c73.0 -2b4cbacc-14fa-4e57-bfab-9e9af6028901-->und\2b4cbacc-14fa-4e57-bfab-9e9af6028901 -2b4cbacc-14fa-4e57-bfab-9e9af6028901.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеДокумента_РежимЗаписи_Проведение.mxl -2b4cbacc-14fa-4e57-bfab-9e9af6028901.0-->und\2b4cbacc-14fa-4e57-bfab-9e9af6028901.0 -2bf29867-3e26-4d83-8667-da5f11442794-->und\2bf29867-3e26-4d83-8667-da5f11442794 -2bf29867-3e26-4d83-8667-da5f11442794.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеОбъектаСЗаполненымРеквизитомТипаПеречисление.mxl -2bf29867-3e26-4d83-8667-da5f11442794.0-->und\2bf29867-3e26-4d83-8667-da5f11442794.0 -2e398c8a-da05-4e85-9d97-c9680b935568-->und\2e398c8a-da05-4e85-9d97-c9680b935568 -2e398c8a-da05-4e85-9d97-c9680b935568.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеЭлементаИЗаполнениеРеквизитаПоискомПоГУИДу.mxl -2e398c8a-da05-4e85-9d97-c9680b935568.0-->und\2e398c8a-da05-4e85-9d97-c9680b935568.0 -451b28be-4cf6-4356-8c46-ad5cbc0deed0-->und\451b28be-4cf6-4356-8c46-ad5cbc0deed0 -451b28be-4cf6-4356-8c46-ad5cbc0deed0.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеОбъектаСЗаполненнымРеквизитомИзПредопределенныхЗначенийСправочника.mxl -451b28be-4cf6-4356-8c46-ad5cbc0deed0.0-->und\451b28be-4cf6-4356-8c46-ad5cbc0deed0.0 -469b9bcb-fb06-4719-8a0e-30a0ff60c02e-->und\469b9bcb-fb06-4719-8a0e-30a0ff60c02e -469b9bcb-fb06-4719-8a0e-30a0ff60c02e.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Form\Форма\Форма.txt -469b9bcb-fb06-4719-8a0e-30a0ff60c02e.0-->und\469b9bcb-fb06-4719-8a0e-30a0ff60c02e.0 -469b9bcb-fb06-4719-8a0e-30a0ff60c02e.0-->und\469b9bcb-fb06-4719-8a0e-30a0ff60c02e.0 -4a875fe8-d6dd-4488-ab26-9f1d41d624bb-->und\4a875fe8-d6dd-4488-ab26-9f1d41d624bb -4a875fe8-d6dd-4488-ab26-9f1d41d624bb.0-->und\4a875fe8-d6dd-4488-ab26-9f1d41d624bb.0 -4a875fe8-d6dd-4488-ab26-9f1d41d624bb.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеПростогоСправочника_Параметры.mxl -4b3c529a-00d8-4aee-95a4-f20938cdebdd.0\info-->und\4b3c529a-00d8-4aee-95a4-f20938cdebdd.0\info -4b3c529a-00d8-4aee-95a4-f20938cdebdd.0\text-->ObjectModule.txt -4be1f7e9-0ba6-478f-88e1-190254fe6c6b-->und\4be1f7e9-0ba6-478f-88e1-190254fe6c6b -4be1f7e9-0ba6-478f-88e1-190254fe6c6b.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеДвухЗаписейВРегистреНакопления.mxl -4be1f7e9-0ba6-478f-88e1-190254fe6c6b.0-->und\4be1f7e9-0ba6-478f-88e1-190254fe6c6b.0 -4fd62a2d-c8b6-4576-aa63-50cc023990e1-->und\4fd62a2d-c8b6-4576-aa63-50cc023990e1 -4fd62a2d-c8b6-4576-aa63-50cc023990e1.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеСправочника2_с_РеквизитомСоставногоТипа_и_ПустойСсылкойПеречисление.mxl -4fd62a2d-c8b6-4576-aa63-50cc023990e1.0-->und\4fd62a2d-c8b6-4576-aa63-50cc023990e1.0 -509a10d9-9207-4066-a28d-978c04e34376-->und\509a10d9-9207-4066-a28d-978c04e34376 -509a10d9-9207-4066-a28d-978c04e34376.0-->und\509a10d9-9207-4066-a28d-978c04e34376.0 -509a10d9-9207-4066-a28d-978c04e34376.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеДвухЗаписейВРегистреСведений_ПоискЭлементаПоНаименованию.mxl -51a2c526-5e41-417b-a82e-0dd289a7974c-->und\51a2c526-5e41-417b-a82e-0dd289a7974c -51a2c526-5e41-417b-a82e-0dd289a7974c.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеПростогоСправочникаПоГуид.mxl -51a2c526-5e41-417b-a82e-0dd289a7974c.0-->und\51a2c526-5e41-417b-a82e-0dd289a7974c.0 -53c26b45-95ee-49f0-b946-d7b3e4fb2ff8-->und\53c26b45-95ee-49f0-b946-d7b3e4fb2ff8 -53c26b45-95ee-49f0-b946-d7b3e4fb2ff8.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеДвухЗаписейВРегистреНакопленияУКоторыхЯвноЗаданВидДвижения.mxl -53c26b45-95ee-49f0-b946-d7b3e4fb2ff8.0-->und\53c26b45-95ee-49f0-b946-d7b3e4fb2ff8.0 -60c6634b-14aa-466f-a884-82ed4cb98d0f-->und\60c6634b-14aa-466f-a884-82ed4cb98d0f -60c6634b-14aa-466f-a884-82ed4cb98d0f.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеПростогоСправочника.mxl -60c6634b-14aa-466f-a884-82ed4cb98d0f.0-->und\60c6634b-14aa-466f-a884-82ed4cb98d0f.0 -68803c49-0345-4f51-9184-079744379408-->und\68803c49-0345-4f51-9184-079744379408 -68803c49-0345-4f51-9184-079744379408.0-->und\68803c49-0345-4f51-9184-079744379408.0 -68803c49-0345-4f51-9184-079744379408.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеОдногоПользователяИБ.mxl -714a1e77-6f6d-4a2f-9881-9dbb862d24a0-->und\714a1e77-6f6d-4a2f-9881-9dbb862d24a0 -714a1e77-6f6d-4a2f-9881-9dbb862d24a0.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеДвухЗаписейВРегистреБухгалтерии.mxl -714a1e77-6f6d-4a2f-9881-9dbb862d24a0.0-->und\714a1e77-6f6d-4a2f-9881-9dbb862d24a0.0 -7617c188-4e70-484e-816e-20eda5229667-->und\7617c188-4e70-484e-816e-20eda5229667 -7617c188-4e70-484e-816e-20eda5229667.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеОднойЗаписиВРегистреБухгалтерии.mxl -7617c188-4e70-484e-816e-20eda5229667.0-->und\7617c188-4e70-484e-816e-20eda5229667.0 -7a41e200-05d3-4267-a721-5dbe73bf545e-->und\7a41e200-05d3-4267-a721-5dbe73bf545e -7a41e200-05d3-4267-a721-5dbe73bf545e.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеЭлементаИЗаполнениеРеквизитаПоискомПоКоду.mxl -7a41e200-05d3-4267-a721-5dbe73bf545e.0-->und\7a41e200-05d3-4267-a721-5dbe73bf545e.0 -7af53c68-a0ad-4144-85f4-d11d73853384-->und\7af53c68-a0ad-4144-85f4-d11d73853384 -7af53c68-a0ad-4144-85f4-d11d73853384.0-->und\7af53c68-a0ad-4144-85f4-d11d73853384.0 -7af53c68-a0ad-4144-85f4-d11d73853384.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\Пример.mxl -80a98912-c1e3-43b2-ae00-21118328107f-->und\80a98912-c1e3-43b2-ae00-21118328107f -80a98912-c1e3-43b2-ae00-21118328107f.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеГруппыСЭлементамиТолькоДляГруппы.mxl -80a98912-c1e3-43b2-ae00-21118328107f.0-->und\80a98912-c1e3-43b2-ae00-21118328107f.0 -834d10a6-75f9-4eac-ae53-66a3704bddbc-->und\834d10a6-75f9-4eac-ae53-66a3704bddbc -834d10a6-75f9-4eac-ae53-66a3704bddbc.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеСправочникаСПомощьюТЧ_ОбменДаннымиЗагрузка.mxl -834d10a6-75f9-4eac-ae53-66a3704bddbc.0-->und\834d10a6-75f9-4eac-ae53-66a3704bddbc.0 -8b1a6140-f7e3-4151-adce-db0a2046364e-->und\8b1a6140-f7e3-4151-adce-db0a2046364e -8b1a6140-f7e3-4151-adce-db0a2046364e.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеЕщеНеЗаписанногоОбъектаПростогоСправочника.mxl -8b1a6140-f7e3-4151-adce-db0a2046364e.0-->und\8b1a6140-f7e3-4151-adce-db0a2046364e.0 -8c5a9e9d-a3b1-4e65-ac06-1b4ae36468d1-->und\8c5a9e9d-a3b1-4e65-ac06-1b4ae36468d1 -8c5a9e9d-a3b1-4e65-ac06-1b4ae36468d1.0-->und\8c5a9e9d-a3b1-4e65-ac06-1b4ae36468d1.0 -8c5a9e9d-a3b1-4e65-ac06-1b4ae36468d1.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеДвухЗаписейВРегистреСведенийЧерезНаборЗаписей.mxl -8cda2b2d-c64b-4e21-9de6-dd49a12576e0-->und\8cda2b2d-c64b-4e21-9de6-dd49a12576e0 -8cda2b2d-c64b-4e21-9de6-dd49a12576e0.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\РегистрНакопления_ПоискРегистратора.mxl -8cda2b2d-c64b-4e21-9de6-dd49a12576e0.0-->und\8cda2b2d-c64b-4e21-9de6-dd49a12576e0.0 -8e915235-e32d-4205-bb26-918ba63bb0f5-->und\8e915235-e32d-4205-bb26-918ba63bb0f5 -8e915235-e32d-4205-bb26-918ba63bb0f5.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\Тест_ДолженПолучитьИсключениеНеверныйРежимПоиска.mxl -8e915235-e32d-4205-bb26-918ba63bb0f5.0-->und\8e915235-e32d-4205-bb26-918ba63bb0f5.0 -902d78a5-fdd6-4652-9714-414d8ad6ece3-->und\902d78a5-fdd6-4652-9714-414d8ad6ece3 -902d78a5-fdd6-4652-9714-414d8ad6ece3.0-->und\902d78a5-fdd6-4652-9714-414d8ad6ece3.0 -902d78a5-fdd6-4652-9714-414d8ad6ece3.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеСправочникаСПомощьюОбменДаннымиЗагрузка.mxl -91470bcf-5031-4550-8470-113df7855131-->und\91470bcf-5031-4550-8470-113df7855131 -91470bcf-5031-4550-8470-113df7855131.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеДокументаНаТекущуюДату.mxl -91470bcf-5031-4550-8470-113df7855131.0-->und\91470bcf-5031-4550-8470-113df7855131.0 -924914a6-730c-45fb-838b-ce5d93b80394-->und\924914a6-730c-45fb-838b-ce5d93b80394 -924914a6-730c-45fb-838b-ce5d93b80394.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеСправочникаСоСсылкойНаСамогоСебя.mxl -924914a6-730c-45fb-838b-ce5d93b80394.0-->und\924914a6-730c-45fb-838b-ce5d93b80394.0 -96faf09e-5646-4b0f-8601-e72057dbe7f7-->und\96faf09e-5646-4b0f-8601-e72057dbe7f7 -96faf09e-5646-4b0f-8601-e72057dbe7f7.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеСправочника2_с_РеквизитомСоставногоТипа_и_ПустойСсылкой.mxl -96faf09e-5646-4b0f-8601-e72057dbe7f7.0-->und\96faf09e-5646-4b0f-8601-e72057dbe7f7.0 -9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e-->und\9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e -9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e.0-->und\9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e.0 -9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеГруппыСправочникаИДочернегоЭлемента.mxl -9d5cc378-50c8-49c6-a45d-fceefcc4a5c5-->und\9d5cc378-50c8-49c6-a45d-fceefcc4a5c5 -9d5cc378-50c8-49c6-a45d-fceefcc4a5c5.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеСправочникаСРеквизитом_ПланСчетов.mxl -9d5cc378-50c8-49c6-a45d-fceefcc4a5c5.0-->und\9d5cc378-50c8-49c6-a45d-fceefcc4a5c5.0 -a1a3092f-ed45-44ca-9854-834abd352cd4-->und\a1a3092f-ed45-44ca-9854-834abd352cd4 -a1a3092f-ed45-44ca-9854-834abd352cd4.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеСправочника2_с_РеквизитомСоставногоТипа.mxl -a1a3092f-ed45-44ca-9854-834abd352cd4.0-->und\a1a3092f-ed45-44ca-9854-834abd352cd4.0 -a5026b9b-d215-4c30-9de1-c54424949e4a-->und\a5026b9b-d215-4c30-9de1-c54424949e4a -a5026b9b-d215-4c30-9de1-c54424949e4a.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеПростогоСправочника2.mxl -a5026b9b-d215-4c30-9de1-c54424949e4a.0-->und\a5026b9b-d215-4c30-9de1-c54424949e4a.0 -b0adb70d-1e31-4637-8c1d-7f6f33baaa7b-->und\b0adb70d-1e31-4637-8c1d-7f6f33baaa7b -b0adb70d-1e31-4637-8c1d-7f6f33baaa7b.0-->und\b0adb70d-1e31-4637-8c1d-7f6f33baaa7b.0 -b0adb70d-1e31-4637-8c1d-7f6f33baaa7b.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\НайтиИПерезаполнитьПростойСправочникПоГуидСсылки.mxl -bdaf3325-bb9b-4677-ba6e-56a642df2687-->und\bdaf3325-bb9b-4677-ba6e-56a642df2687 -bdaf3325-bb9b-4677-ba6e-56a642df2687.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\ИзменениеПредопределенногоСправочника.mxl -bdaf3325-bb9b-4677-ba6e-56a642df2687.0-->und\bdaf3325-bb9b-4677-ba6e-56a642df2687.0 -c0731e2c-fd73-4143-8a60-52e72c809569-->und\c0731e2c-fd73-4143-8a60-52e72c809569 -c0731e2c-fd73-4143-8a60-52e72c809569.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеОдногоСправочникаВладельцаБезПодчиненногоСправочника.mxl -c0731e2c-fd73-4143-8a60-52e72c809569.0-->und\c0731e2c-fd73-4143-8a60-52e72c809569.0 -c1e853ea-3959-486e-aff1-5ccaf10f6c48-->und\c1e853ea-3959-486e-aff1-5ccaf10f6c48 -c1e853ea-3959-486e-aff1-5ccaf10f6c48.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеПростогоСправочника_РежимВыражение.mxl -c1e853ea-3959-486e-aff1-5ccaf10f6c48.0-->und\c1e853ea-3959-486e-aff1-5ccaf10f6c48.0 -c698bb5e-86eb-40ec-96d7-b8badc816715-->und\c698bb5e-86eb-40ec-96d7-b8badc816715 -c698bb5e-86eb-40ec-96d7-b8badc816715.0-->und\c698bb5e-86eb-40ec-96d7-b8badc816715.0 -c698bb5e-86eb-40ec-96d7-b8badc816715.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеДвухНаборовЗаписейВРегистреСведений.mxl -c7efc6f1-5a5e-4278-9b62-9cf796fb363e-->und\c7efc6f1-5a5e-4278-9b62-9cf796fb363e -c7efc6f1-5a5e-4278-9b62-9cf796fb363e.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеПростогоБизнесПроцесса.mxl -c7efc6f1-5a5e-4278-9b62-9cf796fb363e.0-->und\c7efc6f1-5a5e-4278-9b62-9cf796fb363e.0 -copyinfo-->und\copyinfo -d28a1211-a8c4-425c-87f2-c429f96d426f-->und\d28a1211-a8c4-425c-87f2-c429f96d426f -d28a1211-a8c4-425c-87f2-c429f96d426f.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеДвухПростыхСправочников.mxl -d28a1211-a8c4-425c-87f2-c429f96d426f.0-->und\d28a1211-a8c4-425c-87f2-c429f96d426f.0 -d2e225b3-d6f9-485c-9304-31c9c31fa8f7-->und\d2e225b3-d6f9-485c-9304-31c9c31fa8f7 -d2e225b3-d6f9-485c-9304-31c9c31fa8f7.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеСправочникаСПомощьюДополнительныхСвойствПоНаименованию.mxl -d2e225b3-d6f9-485c-9304-31c9c31fa8f7.0-->und\d2e225b3-d6f9-485c-9304-31c9c31fa8f7.0 -d51f673a-a707-44d6-9610-d58ad958de44-->und\d51f673a-a707-44d6-9610-d58ad958de44 -d764edfb-6285-4f77-ba58-4f8321a489a4-->und\d764edfb-6285-4f77-ba58-4f8321a489a4 -d764edfb-6285-4f77-ba58-4f8321a489a4.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеСправочникаПослеДокументаСДвумяСтрокамиВТабличнойЧасти.mxl -d764edfb-6285-4f77-ba58-4f8321a489a4.0-->und\d764edfb-6285-4f77-ba58-4f8321a489a4.0 -d7807508-2ab6-4c4d-bc1c-d30f8932565f-->und\d7807508-2ab6-4c4d-bc1c-d30f8932565f -d7807508-2ab6-4c4d-bc1c-d30f8932565f.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеЭлементаИЗаполнениеРеквизитаПоискомПоНаименованию.mxl -d7807508-2ab6-4c4d-bc1c-d30f8932565f.0-->und\d7807508-2ab6-4c4d-bc1c-d30f8932565f.0 -dac1badd-b7ee-41a1-ab54-f227e08f2cb8-->und\dac1badd-b7ee-41a1-ab54-f227e08f2cb8 -dac1badd-b7ee-41a1-ab54-f227e08f2cb8.0-->und\dac1badd-b7ee-41a1-ab54-f227e08f2cb8.0 -dac1badd-b7ee-41a1-ab54-f227e08f2cb8.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеПростогоСправочника_ПустыеСтроки.mxl -e27b2c46-7b76-4b8d-a3e8-e1b0562943ca-->und\e27b2c46-7b76-4b8d-a3e8-e1b0562943ca -e27b2c46-7b76-4b8d-a3e8-e1b0562943ca.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\ИзменениеПредопределенногоСправочникаПоГуид.mxl -e27b2c46-7b76-4b8d-a3e8-e1b0562943ca.0-->und\e27b2c46-7b76-4b8d-a3e8-e1b0562943ca.0 -e893fd06-6ba8-4dd4-93be-d0810d679876-->und\e893fd06-6ba8-4dd4-93be-d0810d679876 -e893fd06-6ba8-4dd4-93be-d0810d679876.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеДокументаСДвумяСтрокамиВТабличнойЧасти.mxl -e893fd06-6ba8-4dd4-93be-d0810d679876.0-->und\e893fd06-6ba8-4dd4-93be-d0810d679876.0 -eec85b86-f35e-4612-83c9-7b4ba86f7cb0-->und\eec85b86-f35e-4612-83c9-7b4ba86f7cb0 -eec85b86-f35e-4612-83c9-7b4ba86f7cb0.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеСправочникаСРеквизитомПустаяСсылка.mxl -eec85b86-f35e-4612-83c9-7b4ba86f7cb0.0-->und\eec85b86-f35e-4612-83c9-7b4ba86f7cb0.0 -f175b23c-5152-4613-96dd-f6623676046d-->und\f175b23c-5152-4613-96dd-f6623676046d -f175b23c-5152-4613-96dd-f6623676046d.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеОбъектаСДвумяСтрокамиВТабличнойЧасти.mxl -f175b23c-5152-4613-96dd-f6623676046d.0-->und\f175b23c-5152-4613-96dd-f6623676046d.0 -f519cbc0-1404-4ef3-9377-16955dc46254-->und\f519cbc0-1404-4ef3-9377-16955dc46254 -f519cbc0-1404-4ef3-9377-16955dc46254.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\Тест_ДолженПолучитьИсключениеПриПопыткеСоздатьЭлементИЗаполнитьРеквизитПоНеверномуНаименованию.mxl -f519cbc0-1404-4ef3-9377-16955dc46254.0-->und\f519cbc0-1404-4ef3-9377-16955dc46254.0 -f7694620-94c9-4acf-9617-83108e92a57e-->und\f7694620-94c9-4acf-9617-83108e92a57e -f7694620-94c9-4acf-9617-83108e92a57e.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеСправочникаСПомощьюДополнительныхСвойств.mxl -f7694620-94c9-4acf-9617-83108e92a57e.0-->und\f7694620-94c9-4acf-9617-83108e92a57e.0 -f7717042-aa60-4d5f-b166-8403fa143e74-->und\f7717042-aa60-4d5f-b166-8403fa143e74 -f7717042-aa60-4d5f-b166-8403fa143e74.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеСправочниковОбразующихЦиклическуюЗависимость.mxl -f7717042-aa60-4d5f-b166-8403fa143e74.0-->und\f7717042-aa60-4d5f-b166-8403fa143e74.0 -fb359264-55de-49ae-ae08-ff3931a4ec2f-->und\fb359264-55de-49ae-ae08-ff3931a4ec2f -fb359264-55de-49ae-ae08-ff3931a4ec2f.0-->und\fb359264-55de-49ae-ae08-ff3931a4ec2f.0 -fb359264-55de-49ae-ae08-ff3931a4ec2f.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеСвязанныхСправочников.mxl -fc5337e1-f68d-4b0c-82d4-2eedfe89178c-->und\fc5337e1-f68d-4b0c-82d4-2eedfe89178c -fc5337e1-f68d-4b0c-82d4-2eedfe89178c.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеОднойЗаписиВРегистреНакопления.mxl -fc5337e1-f68d-4b0c-82d4-2eedfe89178c.0-->und\fc5337e1-f68d-4b0c-82d4-2eedfe89178c.0 -fca00537-610e-40cf-aaf4-fb5faab4fda1-->und\fca00537-610e-40cf-aaf4-fb5faab4fda1 -fca00537-610e-40cf-aaf4-fb5faab4fda1.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\ТестыГенератораДанных\Макеты\СозданиеДвухПростыхСправочников_с_ОдинаковымИменемПеременной.mxl -fca00537-610e-40cf-aaf4-fb5faab4fda1.0-->und\fca00537-610e-40cf-aaf4-fb5faab4fda1.0 -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/0afb6777-fe50-4b9c-b180-77d1ee3a3d54" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/0afb6777-fe50-4b9c-b180-77d1ee3a3d54" deleted file mode 100644 index 88628245..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/0afb6777-fe50-4b9c-b180-77d1ee3a3d54" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,0afb6777-fe50-4b9c-b180-77d1ee3a3d54},"Тест_ДолженПолучитьИсключениеПриПопыткеСоздатьЭлементИЗаполнитьРеквизитПоНеверномуКоду", -{1,"ru","Тест должен получить исключение при попытке создать элемент и заполнить реквизит по неверному коду"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/0afb6777-fe50-4b9c-b180-77d1ee3a3d54.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/0afb6777-fe50-4b9c-b180-77d1ee3a3d54.0" deleted file mode 100644 index eaca6705..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/0afb6777-fe50-4b9c-b180-77d1ee3a3d54.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/1d971496-56ca-48b0-a34e-b5359e900090.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/1d971496-56ca-48b0-a34e-b5359e900090.0" deleted file mode 100644 index 653d7e2d..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/1d971496-56ca-48b0-a34e-b5359e900090.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/214520bb-70cc-4e3a-a1be-4c6a0f5d9c73.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/214520bb-70cc-4e3a-a1be-4c6a0f5d9c73.0" deleted file mode 100644 index d7f77d65..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/214520bb-70cc-4e3a-a1be-4c6a0f5d9c73.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/2b4cbacc-14fa-4e57-bfab-9e9af6028901.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/2b4cbacc-14fa-4e57-bfab-9e9af6028901.0" deleted file mode 100644 index 04a848c6..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/2b4cbacc-14fa-4e57-bfab-9e9af6028901.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/2bf29867-3e26-4d83-8667-da5f11442794.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/2bf29867-3e26-4d83-8667-da5f11442794.0" deleted file mode 100644 index 307b1f75..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/2bf29867-3e26-4d83-8667-da5f11442794.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/2e398c8a-da05-4e85-9d97-c9680b935568.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/2e398c8a-da05-4e85-9d97-c9680b935568.0" deleted file mode 100644 index 3bc9e83a..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/2e398c8a-da05-4e85-9d97-c9680b935568.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/451b28be-4cf6-4356-8c46-ad5cbc0deed0.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/451b28be-4cf6-4356-8c46-ad5cbc0deed0.0" deleted file mode 100644 index 569bec38..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/451b28be-4cf6-4356-8c46-ad5cbc0deed0.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/469b9bcb-fb06-4719-8a0e-30a0ff60c02e" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/469b9bcb-fb06-4719-8a0e-30a0ff60c02e" deleted file mode 100644 index 804d8af4..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/469b9bcb-fb06-4719-8a0e-30a0ff60c02e" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,469b9bcb-fb06-4719-8a0e-30a0ff60c02e},"Форма", -{1,"ru","Форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/469b9bcb-fb06-4719-8a0e-30a0ff60c02e.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/469b9bcb-fb06-4719-8a0e-30a0ff60c02e.0" deleted file mode 100644 index c025704a..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/469b9bcb-fb06-4719-8a0e-30a0ff60c02e.0" +++ /dev/null @@ -1,330 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"&НаКлиенте -Перем ЮТест; // для тестирования - -&НаКлиенте -Перем ЮнитТестированиеИмя; - -//{ основная процедура для юнит-тестирования xUnitFor1C -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - ЮнитТестированиеИмя = ЮнитТестирование.МетаданныеИмя(); - - ЮТест = ЮнитТестирование; - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить(""ТестДолжен_ПодключитьЮТестИзТестаМодуляФормыВТестеМодуляОбработки""); - - Возврат ВсеТесты; -КонецФункции -//} - -//{ блок юнит-тестов - сами тесты - -&НаКлиенте -Процедура ПередЗапускомТеста() Экспорт - ИмяПеременнойПользователь = ""Пользователь12""; - ПользовательИмя = ""ТестИмя12""; - ОбновитьПовторноИспользуемыеЗначения(); -КонецПроцедуры - -&НаКлиенте -Процедура ПослеЗапускаТеста() Экспорт - УдалитьТестовыеДанныеСервер(ЮнитТестированиеИмя); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПодключитьЮТестИзТестаМодуляФормыВТестеМодуляОбработки() Экспорт - - СоздатьТестовыеДанныеСервер(ЮнитТестированиеИмя); - - ЮТест.ПроверитьРавенство(2, ТестовыеДанныеУФ.Количество(), ""ТестовыеДанныеУФ.Количество()""); - - Строка = ТестовыеДанныеУФ[0]; - ЮТест.ПроверитьРавенство(""ПользовательИнформационнойБазы"", Строка.Ключ, ""Строка.Ключ УФ""); - ЭлементСпискаЗначений = Строка.Значение[0]; - ЮТест.ПроверитьРавенство(ПользовательИмя, СокрЛП(ЭлементСпискаЗначений.Значение), ""ЭлементСпискаЗначений.Значение УФ""); - ЮТест.ПроверитьРавенство(ИмяПеременнойПользователь, ЭлементСпискаЗначений.Представление, ""ЭлементСпискаЗначений.Представление УФ""); - - ЭлементСпискаЗначений = ТестовыеДанныеУФ[1]; - ЮТест.ПроверитьРавенство(""Тестовое наименование"", """"+ЭлементСпискаЗначений.Значение[0].Значение, ""УФ""); - - УдалитьТестовыеДанныеСервер(ЮнитТестированиеИмя); -КонецПроцедуры - -&НаСервере -Процедура СоздатьТестовыеДанныеСервер(Знач ЮТестПуть) - - ЮТест = ВнешниеОбработки.Создать(ЮТестПуть); - - ИмяМакета = ""СозданиеОдногоПользователяИБ""; - //ИмяМакета = ""СозданиеОдногоПользователяИБ_УФ""; - - ОсновнойОбъект = Объект(); - МассивИменПользователей = МассивИменПользователейПоУмолчанию(); - Для каждого ИмяПользователя Из МассивИменПользователей Цикл - УдалитьПользователяИБ_ЕслиОнСуществует(ИмяПользователя); - КонецЦикла; - - КоллекцияПараметров = Новый Структура(""ИмяПеременнойПользователь, ПользовательИмя"", ИмяПеременнойПользователь, ПользовательИмя); - НовыйТабДок = ОсновнойОбъект.ПолучитьМакетДанныхДоступа(ИмяМакета, КоллекцияПараметров); - - МассивМакетов = Новый Массив; - МассивМакетов.Добавить(НовыйТабДок); - МассивМакетов.Добавить(ОсновнойОбъект.ПолучитьМакет(""СозданиеПростогоСправочника"")); - - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(МассивМакетов); - - лПользователь = ПользователиИнформационнойБазы.НайтиПоИмени(ПользовательИмя); - ЮТест.ПроверитьНеравенство(лПользователь, Неопределено, ""лПользователь""); - - ЮТест.ПроверитьРавенство(""Тестовое наименование"", ТестовыеДанные.ПростойСправочник.Наименование); - - ТестовыеДанныеУФ.Очистить(); - ЮТест.ПроверитьРавенство(0, ТестовыеДанныеУФ.Количество(), ""ТестовыеДанныеУФ.Количество()""); - - ТестовыеДанныеДляУФ = Новый ТаблицаЗначений; - Колонка = ТестовыеДанныеДляУФ.Колонки.Добавить(""Ключ""); - Колонка = ТестовыеДанныеДляУФ.Колонки.Добавить(""Значение""); - - Для каждого ключЗначение Из ТестовыеДанные Цикл - СписокВрем = Новый СписокЗначений; - Строка = ТестовыеДанныеДляУФ.Добавить(); - Если ТипЗнч(ключЗначение.Значение) = Тип(""ПользовательИнформационнойБазы"") Тогда - СписокВрем.Добавить(ключЗначение.Значение.Имя, ключЗначение.Ключ); - Строка.Ключ = ""ПользовательИнформационнойБазы""; - Иначе - Строка.Ключ = ключЗначение.Ключ; - СписокВрем.Добавить(ключЗначение.Значение); - КонецЕсли; - Строка.Значение = СписокВрем; - КонецЦикла; - - ЗначениеВДанныеФормы(ТестовыеДанныеДляУФ, ТестовыеДанныеУФ); - - ЮТест.ПроверитьРавенство(ТестовыеДанные.Количество(), ТестовыеДанныеУФ.Количество(), ""ТестовыеДанные.Количество(), ТестовыеДанныеУФ.Количество()""); - Строка = ТестовыеДанныеУФ[0]; - ЮТест.ПроверитьРавенство(""ПользовательИнформационнойБазы"", Строка.Ключ, ""Строка.Ключ""); - ЭлементСпискаЗначений = Строка.Значение[0]; - ЮТест.ПроверитьРавенство(ПользовательИмя, СокрЛП(ЭлементСпискаЗначений.Значение), ""ЭлементСпискаЗначений.Значение""); - ЮТест.ПроверитьРавенство(ИмяПеременнойПользователь, ЭлементСпискаЗначений.Представление, ""ЭлементСпискаЗначений.Представление""); - - ЭлементСпискаЗначений = ТестовыеДанныеУФ[1]; - ЮТест.ПроверитьРавенство(""Тестовое наименование"", ЭлементСпискаЗначений.Значение[0].Значение.Наименование, ""сервер""); -КонецПроцедуры - -&НаСервере -Процедура УдалитьТестовыеДанныеСервер(Знач ЮТестПуть) - - Если ТестовыеДанныеУФ.Количество() = 0 Тогда - Возврат; - КонецЕсли; - - ЮТест = ВнешниеОбработки.Создать(ЮТестПуть); - - лПользователь = ПользователиИнформационнойБазы.НайтиПоИмени(ПользовательИмя); - ЮТест.ПроверитьНеравенство(лПользователь, Неопределено, ""лПользователь должен существовать""); - - ТестовыеДанные = Новый Структура; - Для каждого Строка Из ТестовыеДанныеУФ Цикл - Если Строка.Ключ = ""ПользовательИнформационнойБазы"" Тогда - ЭлементСпискаЗначений = Строка.Значение[0]; - лПользователь = ПользователиИнформационнойБазы.НайтиПоИмени(СокрЛП(ЭлементСпискаЗначений.Значение)); - ТестовыеДанные.Вставить(ЭлементСпискаЗначений.Представление, лПользователь); - Иначе - ТестовыеДанные.Вставить(Строка.Ключ, Строка.Значение[0].Значение); - КонецЕсли; - КонецЦикла; - - юТест.УдалитьСозданныеДанные(ТестовыеДанные); - - лПользователь = ПользователиИнформационнойБазы.НайтиПоИмени(ПользовательИмя); - ЮТест.ПроверитьРавенство(лПользователь, Неопределено, ""лПользователь должен быть удален""); - - ТестовыеДанныеУФ.Очистить(); -КонецПроцедуры - -Функция МассивИменПользователейПоУмолчанию() - Рез = Новый Массив(); - Рез.Добавить(ПользовательИмя); //""ТестИмя""); - //Рез.Добавить(""ТестИмя2"");// должно совпадать с макетом; - Возврат Рез; -КонецФункции - -&НаСервере -Функция Объект() - Возврат РеквизитФормыВЗначение(""Объект""); -КонецФункции - -Процедура УдалитьПользователяИБ_ЕслиОнСуществует(лИмяПользователя) Экспорт - - лПользователь = ПользователиИнформационнойБазы.НайтиПоИмени(лИмяПользователя); - Если лПользователь <> Неопределено Тогда - лПользователь.Удалить(); - КонецЕсли; - -КонецПроцедуры - - -//} конец блока юнит-тестов -", -{4,4, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",c303cfea-5e87-4f36-bd34-286c1fc6cc41} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},1,0,0,0, -{0,0}, -{0,0} -}, -{9, -{2},0,"ТестовыеДанныеУФ", -{1,1, -{"ru","Тестовые данные УФ"} -}, -{"Pattern", -{"#",acf6192e-81ca-46ef-93a6-5a6968b78663} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,2, -{5,1,0,"Ключ", -{1,1, -{"ru","Ключ"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,2,0,"Значение", -{1,1, -{"ru","Значение"} -}, -{"Pattern", -{"#",4772b3b4-f4a3-49c0-a1a5-8cb5961511a3} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{0,0}, -{0,0} -}, -{9, -{4},0,"ИмяПеременнойПользователь", -{1,1, -{"ru","Имя переменной пользователь"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{5},0,"ПользовательИмя", -{1,1, -{"ru","Пользователь имя"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -},0,0, -{#base64:77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxTZXR0 -aW5ncyB4bWxucz0iaHR0cDovL3Y4LjFjLnJ1LzguMS9kYXRhLWNvbXBvc2l0aW9u -LXN5c3RlbS9zZXR0aW5ncyIgeG1sbnM6ZGNzY29yPSJodHRwOi8vdjguMWMucnUv -OC4xL2RhdGEtY29tcG9zaXRpb24tc3lzdGVtL2NvcmUiIHhtbG5zOnN0eWxlPSJo -dHRwOi8vdjguMWMucnUvOC4xL2RhdGEvdWkvc3R5bGUiIHhtbG5zOnN5cz0iaHR0 -cDovL3Y4LjFjLnJ1LzguMS9kYXRhL3VpL2ZvbnRzL3N5c3RlbSIgeG1sbnM6djg9 -Imh0dHA6Ly92OC4xYy5ydS84LjEvZGF0YS9jb3JlIiB4bWxuczp2OHVpPSJodHRw -Oi8vdjguMWMucnUvOC4xL2RhdGEvdWkiIHhtbG5zOndlYj0iaHR0cDovL3Y4LjFj -LnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93ZWIiIHhtbG5zOndpbj0iaHR0cDovL3Y4 -LjFjLnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93aW5kb3dzIiB4bWxuczp4cz0iaHR0 -cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDov -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/4be1f7e9-0ba6-478f-88e1-190254fe6c6b.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/4be1f7e9-0ba6-478f-88e1-190254fe6c6b.0" deleted file mode 100644 index c0761f47..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/4be1f7e9-0ba6-478f-88e1-190254fe6c6b.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/509a10d9-9207-4066-a28d-978c04e34376.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/509a10d9-9207-4066-a28d-978c04e34376.0" deleted file mode 100644 index a30181b9..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/509a10d9-9207-4066-a28d-978c04e34376.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/60c6634b-14aa-466f-a884-82ed4cb98d0f.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/60c6634b-14aa-466f-a884-82ed4cb98d0f.0" deleted file mode 100644 index adbe5642..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/60c6634b-14aa-466f-a884-82ed4cb98d0f.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/68803c49-0345-4f51-9184-079744379408.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/68803c49-0345-4f51-9184-079744379408.0" deleted file mode 100644 index 1dd75af5..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/68803c49-0345-4f51-9184-079744379408.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/7a41e200-05d3-4267-a721-5dbe73bf545e.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/7a41e200-05d3-4267-a721-5dbe73bf545e.0" deleted file mode 100644 index 5cf5bf21..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/7a41e200-05d3-4267-a721-5dbe73bf545e.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/7af53c68-a0ad-4144-85f4-d11d73853384.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/7af53c68-a0ad-4144-85f4-d11d73853384.0" deleted file mode 100644 index 7605a65a..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/7af53c68-a0ad-4144-85f4-d11d73853384.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/8b1a6140-f7e3-4151-adce-db0a2046364e.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/8b1a6140-f7e3-4151-adce-db0a2046364e.0" deleted file mode 100644 index 2e6ec94d..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/8b1a6140-f7e3-4151-adce-db0a2046364e.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/8e915235-e32d-4205-bb26-918ba63bb0f5" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/8e915235-e32d-4205-bb26-918ba63bb0f5" deleted file mode 100644 index 4da166d1..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/8e915235-e32d-4205-bb26-918ba63bb0f5" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,8e915235-e32d-4205-bb26-918ba63bb0f5},"Тест_ДолженПолучитьИсключениеНеверныйРежимПоиска", -{1,"ru","Тест должен получить исключение неверный режим поиска"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/8e915235-e32d-4205-bb26-918ba63bb0f5.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/8e915235-e32d-4205-bb26-918ba63bb0f5.0" deleted file mode 100644 index 0b5202ff..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/8e915235-e32d-4205-bb26-918ba63bb0f5.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/91470bcf-5031-4550-8470-113df7855131.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/91470bcf-5031-4550-8470-113df7855131.0" deleted file mode 100644 index a0fcb939..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/91470bcf-5031-4550-8470-113df7855131.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e.0" deleted file mode 100644 index 4b29e009..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/9d5cc378-50c8-49c6-a45d-fceefcc4a5c5.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/9d5cc378-50c8-49c6-a45d-fceefcc4a5c5.0" deleted file mode 100644 index 61fad81a..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/9d5cc378-50c8-49c6-a45d-fceefcc4a5c5.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/a1a3092f-ed45-44ca-9854-834abd352cd4.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/a1a3092f-ed45-44ca-9854-834abd352cd4.0" deleted file mode 100644 index 7ae64129..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/a1a3092f-ed45-44ca-9854-834abd352cd4.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/a5026b9b-d215-4c30-9de1-c54424949e4a.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/a5026b9b-d215-4c30-9de1-c54424949e4a.0" deleted file mode 100644 index 6d5e1554..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/a5026b9b-d215-4c30-9de1-c54424949e4a.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/b0adb70d-1e31-4637-8c1d-7f6f33baaa7b.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/b0adb70d-1e31-4637-8c1d-7f6f33baaa7b.0" deleted file mode 100644 index fd8346ef..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/b0adb70d-1e31-4637-8c1d-7f6f33baaa7b.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/c0731e2c-fd73-4143-8a60-52e72c809569.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/c0731e2c-fd73-4143-8a60-52e72c809569.0" deleted file mode 100644 index 47c33ba0..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/c0731e2c-fd73-4143-8a60-52e72c809569.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/copyinfo" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/copyinfo" deleted file mode 100644 index 9ecbe4e1..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{469b9bcb-fb06-4719-8a0e-30a0ff60c02e,469b9bcb-fb06-4719-8a0e-30a0ff60c02e,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -}, -{4b3c529a-00d8-4aee-95a4-f20938cdebdd,4b3c529a-00d8-4aee-95a4-f20938cdebdd,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ТестыГенератораДанных"} -} -}, -{1, -{c303cfea-5e87-4f36-bd34-286c1fc6cc41,4b3c529a-00d8-4aee-95a4-f20938cdebdd,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/d28a1211-a8c4-425c-87f2-c429f96d426f.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/d28a1211-a8c4-425c-87f2-c429f96d426f.0" deleted file mode 100644 index 81fc9db2..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/d28a1211-a8c4-425c-87f2-c429f96d426f.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/d51f673a-a707-44d6-9610-d58ad958de44" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/d51f673a-a707-44d6-9610-d58ad958de44" deleted file mode 100644 index 7df5165a..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/d51f673a-a707-44d6-9610-d58ad958de44" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{d51f673a-a707-44d6-9610-d58ad958de44},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,c303cfea-5e87-4f36-bd34-286c1fc6cc41,5f300b26-59c4-448c-81dc-220c36897d84, -{0, -{0, -{0,0,4b3c529a-00d8-4aee-95a4-f20938cdebdd},"ТестыГенератораДанных", -{1,"ru","Тесты генератора данных"},""} -},469b9bcb-fb06-4719-8a0e-30a0ff60c02e,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,56,7af53c68-a0ad-4144-85f4-d11d73853384,60c6634b-14aa-466f-a884-82ed4cb98d0f,4a875fe8-d6dd-4488-ab26-9f1d41d624bb,dac1badd-b7ee-41a1-ab54-f227e08f2cb8,902d78a5-fdd6-4652-9714-414d8ad6ece3,834d10a6-75f9-4eac-ae53-66a3704bddbc,f7694620-94c9-4acf-9617-83108e92a57e,d2e225b3-d6f9-485c-9304-31c9c31fa8f7,c1e853ea-3959-486e-aff1-5ccaf10f6c48,bdaf3325-bb9b-4677-ba6e-56a642df2687,e27b2c46-7b76-4b8d-a3e8-e1b0562943ca,a5026b9b-d215-4c30-9de1-c54424949e4a,8b1a6140-f7e3-4151-adce-db0a2046364e,d28a1211-a8c4-425c-87f2-c429f96d426f,fca00537-610e-40cf-aaf4-fb5faab4fda1,fb359264-55de-49ae-ae08-ff3931a4ec2f,eec85b86-f35e-4612-83c9-7b4ba86f7cb0,9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e,f175b23c-5152-4613-96dd-f6623676046d,2bf29867-3e26-4d83-8667-da5f11442794,451b28be-4cf6-4356-8c46-ad5cbc0deed0,e893fd06-6ba8-4dd4-93be-d0810d679876,91470bcf-5031-4550-8470-113df7855131,2b4cbacc-14fa-4e57-bfab-9e9af6028901,c7efc6f1-5a5e-4278-9b62-9cf796fb363e,d764edfb-6285-4f77-ba58-4f8321a489a4,214520bb-70cc-4e3a-a1be-4c6a0f5d9c73,8c5a9e9d-a3b1-4e65-ac06-1b4ae36468d1,c698bb5e-86eb-40ec-96d7-b8badc816715,509a10d9-9207-4066-a28d-978c04e34376,68803c49-0345-4f51-9184-079744379408,7a41e200-05d3-4267-a721-5dbe73bf545e,0afb6777-fe50-4b9c-b180-77d1ee3a3d54,8e915235-e32d-4205-bb26-918ba63bb0f5,d7807508-2ab6-4c4d-bc1c-d30f8932565f,f519cbc0-1404-4ef3-9377-16955dc46254,2e398c8a-da05-4e85-9d97-c9680b935568,1d971496-56ca-48b0-a34e-b5359e900090,51a2c526-5e41-417b-a82e-0dd289a7974c,b0adb70d-1e31-4637-8c1d-7f6f33baaa7b,9d5cc378-50c8-49c6-a45d-fceefcc4a5c5,a1a3092f-ed45-44ca-9854-834abd352cd4,96faf09e-5646-4b0f-8601-e72057dbe7f7,4fd62a2d-c8b6-4576-aa63-50cc023990e1,c0731e2c-fd73-4143-8a60-52e72c809569,fc5337e1-f68d-4b0c-82d4-2eedfe89178c,4be1f7e9-0ba6-478f-88e1-190254fe6c6b,53c26b45-95ee-49f0-b946-d7b3e4fb2ff8,165eaf09-2e00-4e46-be94-35f3b4ede990,8cda2b2d-c64b-4e21-9de6-dd49a12576e0,7617c188-4e70-484e-816e-20eda5229667,714a1e77-6f6d-4a2f-9881-9dbb862d24a0,924914a6-730c-45fb-838b-ce5d93b80394,f7717042-aa60-4d5f-b166-8403fa143e74,80a98912-c1e3-43b2-ae00-21118328107f,1e918707-941f-4288-9af0-070c155a8173}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,469b9bcb-fb06-4719-8a0e-30a0ff60c02e}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/d764edfb-6285-4f77-ba58-4f8321a489a4.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/d764edfb-6285-4f77-ba58-4f8321a489a4.0" deleted file mode 100644 index 4f87e69c..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/d764edfb-6285-4f77-ba58-4f8321a489a4.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/d7807508-2ab6-4c4d-bc1c-d30f8932565f.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/d7807508-2ab6-4c4d-bc1c-d30f8932565f.0" deleted file mode 100644 index d97acebe..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/d7807508-2ab6-4c4d-bc1c-d30f8932565f.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/e893fd06-6ba8-4dd4-93be-d0810d679876.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/e893fd06-6ba8-4dd4-93be-d0810d679876.0" deleted file mode 100644 index 7bf2fcec..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/e893fd06-6ba8-4dd4-93be-d0810d679876.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/f175b23c-5152-4613-96dd-f6623676046d.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/f175b23c-5152-4613-96dd-f6623676046d.0" deleted file mode 100644 index ba3a15dc..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/f175b23c-5152-4613-96dd-f6623676046d.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/f519cbc0-1404-4ef3-9377-16955dc46254" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/f519cbc0-1404-4ef3-9377-16955dc46254" deleted file mode 100644 index 4f1c8504..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/f519cbc0-1404-4ef3-9377-16955dc46254" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,f519cbc0-1404-4ef3-9377-16955dc46254},"Тест_ДолженПолучитьИсключениеПриПопыткеСоздатьЭлементИЗаполнитьРеквизитПоНеверномуНаименованию", -{1,"ru","Тест должен получить исключение при попытке создать элемент и заполнить реквизит по неверному наименованию"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/f519cbc0-1404-4ef3-9377-16955dc46254.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/f519cbc0-1404-4ef3-9377-16955dc46254.0" deleted file mode 100644 index 7efe591d..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/f519cbc0-1404-4ef3-9377-16955dc46254.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/fb359264-55de-49ae-ae08-ff3931a4ec2f.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/fb359264-55de-49ae-ae08-ff3931a4ec2f.0" deleted file mode 100644 index 558b5143..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/fb359264-55de-49ae-ae08-ff3931a4ec2f.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/fc5337e1-f68d-4b0c-82d4-2eedfe89178c.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/fc5337e1-f68d-4b0c-82d4-2eedfe89178c.0" deleted file mode 100644 index b18757fa..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/fc5337e1-f68d-4b0c-82d4-2eedfe89178c.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/fca00537-610e-40cf-aaf4-fb5faab4fda1.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/fca00537-610e-40cf-aaf4-fb5faab4fda1.0" deleted file mode 100644 index de1a503d..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/fca00537-610e-40cf-aaf4-fb5faab4fda1.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/versions" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/versions" deleted file mode 100644 index f3b59685..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,126,"8cda2b2d-c64b-4e21-9de6-dd49a12576e0.0",b821da5a-2f91-4433-85ce-1395603b7e83,"",faf110a5-0060-4d00-ab93-50ec04a2916c,"d764edfb-6285-4f77-ba58-4f8321a489a4",de22e9ae-6b0b-40af-b6e0-d001b1abe580,"165eaf09-2e00-4e46-be94-35f3b4ede990.0",4e1d8d3f-0dc9-4f69-9b58-9a655cc610a4,"834d10a6-75f9-4eac-ae53-66a3704bddbc.0",997f974f-bd3e-46e0-b01d-4a4fac4bf829,"8b1a6140-f7e3-4151-adce-db0a2046364e.0",fd92ba6f-d190-43d3-b1a8-f7c90e609c56,"0afb6777-fe50-4b9c-b180-77d1ee3a3d54",1d290bfe-63ef-4da4-a103-8cc03e7e49a3,"dac1badd-b7ee-41a1-ab54-f227e08f2cb8.0",1f7961b4-0731-4ade-b431-d61b72e41f00,"d28a1211-a8c4-425c-87f2-c429f96d426f",5313b135-f74d-4cac-9483-f25f680d0eab,"c0731e2c-fd73-4143-8a60-52e72c809569",d4aea7e2-92e6-47aa-8980-1fa68bb80329,"2b4cbacc-14fa-4e57-bfab-9e9af6028901.0",6cb0868f-6694-4afc-a6b0-d0daac1d0bb3,"60c6634b-14aa-466f-a884-82ed4cb98d0f",01c65d61-a6aa-431d-a180-c7dfd4cdbc07,"c7efc6f1-5a5e-4278-9b62-9cf796fb363e.0",9259b580-5409-4d85-ab07-158c32f14bcf,"509a10d9-9207-4066-a28d-978c04e34376.0",c627841a-65db-4832-a3c3-02f4220faf85,"9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e",0aae96aa-6ab3-4d4b-887b-fd6284cecec1,"924914a6-730c-45fb-838b-ce5d93b80394.0",c26d7f68-bd00-4eb3-b549-fc275d43e0b8,"53c26b45-95ee-49f0-b946-d7b3e4fb2ff8",c1e871f7-0a78-4a9b-b1f6-4b1399dc763b,"dac1badd-b7ee-41a1-ab54-f227e08f2cb8",c7e9870c-9850-487b-ab23-654a5e1b415d,"f175b23c-5152-4613-96dd-f6623676046d.0",c5789965-e49a-41b2-8ca3-c0e1aaefd7b7,"451b28be-4cf6-4356-8c46-ad5cbc0deed0.0",e13ba77d-f32f-42a1-a0a6-d9042c6ecb55,"c0731e2c-fd73-4143-8a60-52e72c809569.0",55ee1d31-b3cd-47ea-a910-1ad80b73b8b3,"3937886f-642a-44c1-83c7-44dbead5abbf",409ecbe7-fc8a-4163-ae5b-571a476890bb,"e7f935fc-34ab-4e41-b308-92605f8d191d",1c644324-c24b-456c-a01a-e3e9142a08af,"fca00537-610e-40cf-aaf4-fb5faab4fda1",7430adcd-4a34-416d-bdd7-cb4166c36a53,"f7717042-aa60-4d5f-b166-8403fa143e74.0",2d32dd38-51c6-47b3-8612-0a9a20a91f5e,"f7694620-94c9-4acf-9617-83108e92a57e",660f34c5-fa4b-4482-b29c-bfc074cc7086,"eec85b86-f35e-4612-83c9-7b4ba86f7cb0",6e22686a-f776-4e25-94cb-f6a9dfb0a5aa,"2e398c8a-da05-4e85-9d97-c9680b935568.0",1797da1d-51f4-4c54-a824-953b8fc82c68,"91470bcf-5031-4550-8470-113df7855131.0",5e30822f-a499-481b-93fd-dda181c5637b,"96faf09e-5646-4b0f-8601-e72057dbe7f7.0",921be59a-bd39-4e06-89c0-0a07a58da9eb,"c1e853ea-3959-486e-aff1-5ccaf10f6c48.0",57680cca-e579-466b-b58a-c7e2cbb9f157,"bdaf3325-bb9b-4677-ba6e-56a642df2687",2efa879d-8f44-4f51-b7e7-a4dc01648da1,"2b4cbacc-14fa-4e57-bfab-9e9af6028901",8cb610e4-35a2-4e97-9dcd-eb5546e09057,"d51f673a-a707-44d6-9610-d58ad958de44",aa87f2f3-57f0-44c3-a5a2-8e624ef3fe48,"834d10a6-75f9-4eac-ae53-66a3704bddbc",2bc618cf-95b9-426b-9cfb-5c9440dbdc23,"68803c49-0345-4f51-9184-079744379408.0",a0234806-3166-4275-b260-194265f925ac,"902d78a5-fdd6-4652-9714-414d8ad6ece3.0",fe12a83c-80d7-42d8-b303-9f0e9fb8358d,"a1a3092f-ed45-44ca-9854-834abd352cd4",e6ade682-804a-4734-b34d-ecc873b9d565,"4b3c529a-00d8-4aee-95a4-f20938cdebdd.0",bd53cb59-c1ac-4f1a-b037-4b3bb0bbe15c,"9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e.0",37f6978b-b831-4f15-95c9-c5331495a850,"d2e225b3-d6f9-485c-9304-31c9c31fa8f7.0",eb7f7b2d-a10f-4365-b5aa-8f88a6eb20a0,"a5026b9b-d215-4c30-9de1-c54424949e4a.0",6ff079e7-0a04-49ff-8bae-b820810b47f3,"d2e225b3-d6f9-485c-9304-31c9c31fa8f7",0e811a73-c296-47a7-987d-7f610dacffa7,"4fd62a2d-c8b6-4576-aa63-50cc023990e1.0",a8787500-9c3d-424e-a236-4c67ac77d342,"60c6634b-14aa-466f-a884-82ed4cb98d0f.0",19e3f310-b7c8-4f87-ab3d-6322640b3f78,"509a10d9-9207-4066-a28d-978c04e34376",53233ba7-1db1-43dd-bef2-6549bfb1db56,"902d78a5-fdd6-4652-9714-414d8ad6ece3",13059e48-e227-4f79-8907-87394da34ce2,"80a98912-c1e3-43b2-ae00-21118328107f",cfa6f9bd-eb9c-45c7-b8fd-28bd70401c56,"1e918707-941f-4288-9af0-070c155a8173.0",dbda3697-3944-4fa8-98f4-4d38a58e2231,"9d5cc378-50c8-49c6-a45d-fceefcc4a5c5.0",bd0a91b2-5147-49f2-ac0a-96d816cdf438,"7617c188-4e70-484e-816e-20eda5229667.0",deba4556-a756-48db-8b5e-31afc4543106,"0afb6777-fe50-4b9c-b180-77d1ee3a3d54.0",5b2122b9-ecdf-45f0-bedb-80f7027c7ca6,"8cda2b2d-c64b-4e21-9de6-dd49a12576e0",cdde3a3f-13da-4379-ad8d-1aa57bd7990d,"a1a3092f-ed45-44ca-9854-834abd352cd4.0",d09928fe-396e-47e3-b69e-44af8ffb69b3,"d7807508-2ab6-4c4d-bc1c-d30f8932565f.0",406f9ecf-8134-42d7-a19b-cf8fbbc4103a,"7a41e200-05d3-4267-a721-5dbe73bf545e",c330dc4c-3094-4ca8-94b0-e9720bc96c1a,"8c5a9e9d-a3b1-4e65-ac06-1b4ae36468d1",e2a58867-c94d-4596-8755-6e53a73c7497,"d764edfb-6285-4f77-ba58-4f8321a489a4.0",f874cf6f-e882-4fda-80b5-5462562e8d4e,"451b28be-4cf6-4356-8c46-ad5cbc0deed0",8be03537-be65-4375-9853-7758d54b517d,"e893fd06-6ba8-4dd4-93be-d0810d679876",a8391c4a-da10-423c-8d2c-82b0ec45d789,"2bf29867-3e26-4d83-8667-da5f11442794",5fd2c20a-5f54-42dd-bfb5-7c676a9a51f9,"f519cbc0-1404-4ef3-9377-16955dc46254",944d7bee-2160-4709-b692-d0a8fea4a604,"80a98912-c1e3-43b2-ae00-21118328107f.0",1556a678-637d-467b-ab35-6d1641ce78a5,"c698bb5e-86eb-40ec-96d7-b8badc816715.0",3cce033b-cdbe-469d-a32b-049c33b3f18f,"bdaf3325-bb9b-4677-ba6e-56a642df2687.0",6d884a11-eb4f-43e0-991c-8336621eb866,"c7efc6f1-5a5e-4278-9b62-9cf796fb363e",b981eeab-7b59-4a6c-8969-3a15790ad2ae,"fb359264-55de-49ae-ae08-ff3931a4ec2f.0",dcfafab6-187f-45cc-8da6-8b58d93c2ca9,"96faf09e-5646-4b0f-8601-e72057dbe7f7",10ba97c1-e1d0-48e2-96d6-2c09fdbb5f0d,"c1e853ea-3959-486e-aff1-5ccaf10f6c48",52111d67-5cb4-484a-a23b-006cb349cd31,"versions",3f2116f8-1e01-454a-87af-02afc5f346ce,"e27b2c46-7b76-4b8d-a3e8-e1b0562943ca",52fc741c-7575-4dbd-94d7-a53b0604b9b7,"1e918707-941f-4288-9af0-070c155a8173",9c40a16a-f437-478a-bcb9-68a2187e6007,"fca00537-610e-40cf-aaf4-fb5faab4fda1.0",ae6a778e-a1c8-4010-b2d2-e7fd85b2ff18,"f7694620-94c9-4acf-9617-83108e92a57e.0",c759278e-9f4e-43da-98c8-965fb93ca0fc,"b0adb70d-1e31-4637-8c1d-7f6f33baaa7b.0",268da568-0b29-47ca-b6d1-bd6bc24d7d6a,"56462dd1-4628-4b19-ae51-8c504e7e9137",fbbf8598-3504-4e5e-9f21-2035cf0fd884,"root",75012a5a-67a1-4bbd-b4d4-e25250b9e4c8,"fc5337e1-f68d-4b0c-82d4-2eedfe89178c",7f1d097e-0270-43f2-a05c-8f8206a41d87,"165eaf09-2e00-4e46-be94-35f3b4ede990",35d44f39-403a-4043-a49b-fae745afbe0f,"7af53c68-a0ad-4144-85f4-d11d73853384.0",d18da348-b693-4502-8876-4001b9058d98,"51a2c526-5e41-417b-a82e-0dd289a7974c",bf6d605f-4490-4d96-9ebe-e1e3b1fd6c4f,"e893fd06-6ba8-4dd4-93be-d0810d679876.0",e02f4ab8-68b3-4f51-a06a-2c25e23f0f84,"68803c49-0345-4f51-9184-079744379408",cd01dfa3-55a2-4675-92bd-9049397b5a72,"copyinfo",30283773-bc31-4057-920d-ffd22affc722,"1d971496-56ca-48b0-a34e-b5359e900090.0",7f830ced-50ae-43ef-af7d-1b06210a07bd,"eec85b86-f35e-4612-83c9-7b4ba86f7cb0.0",2694d88a-f5e7-41b7-bccb-ecdeea81eaff,"version",b62bc56c-0105-442f-8c04-ef74b26ae449,"214520bb-70cc-4e3a-a1be-4c6a0f5d9c73.0",7b563bb6-4b06-45b2-bb72-d91f1a8cb10f,"8e915235-e32d-4205-bb26-918ba63bb0f5.0",09b39904-2070-4dab-b0c3-2fe714c7998e,"8c5a9e9d-a3b1-4e65-ac06-1b4ae36468d1.0",a73dbb70-7752-4f0b-bf33-cabdfc0d51a9,"7a41e200-05d3-4267-a721-5dbe73bf545e.0",61ae51fb-f7c6-40d4-822d-6bbab95cfff8,"2e398c8a-da05-4e85-9d97-c9680b935568",7c6c8825-35e2-4937-83a5-97114a5f3c19,"91470bcf-5031-4550-8470-113df7855131",79f279d4-4671-4350-abe9-7d56826947de,"7617c188-4e70-484e-816e-20eda5229667",333d5824-8f40-492a-afae-0f3d740ae305,"9d5cc378-50c8-49c6-a45d-fceefcc4a5c5",d74f8a2c-17b2-4f2a-9d7a-f1ef4182d43b,"8e915235-e32d-4205-bb26-918ba63bb0f5",84ce5789-cdd6-4fcd-8809-faabf99ba998,"214520bb-70cc-4e3a-a1be-4c6a0f5d9c73",0a399802-80f6-4b3c-9a35-a582a73867c1,"4be1f7e9-0ba6-478f-88e1-190254fe6c6b",41490fff-e047-4d64-828e-5f6e2f644c21,"f175b23c-5152-4613-96dd-f6623676046d",8f5abda7-930c-4c81-8144-8008f047896b,"4fd62a2d-c8b6-4576-aa63-50cc023990e1",fbcf5bd9-6df2-46c5-b121-243bf2b87836,"fc5337e1-f68d-4b0c-82d4-2eedfe89178c.0",0850438f-797d-40b2-ace8-0cfd991a06d2,"469b9bcb-fb06-4719-8a0e-30a0ff60c02e",1deb794b-6e66-426b-86fe-1a14af763848,"fb359264-55de-49ae-ae08-ff3931a4ec2f",015b5b5e-5182-4231-a5e3-70caa5083f5b,"53c26b45-95ee-49f0-b946-d7b3e4fb2ff8.0",ea6fe730-75dd-4008-b86b-1b9c97f83f50,"8b1a6140-f7e3-4151-adce-db0a2046364e",a9a95bf3-a0f6-42e5-aac2-cc75aa2c31e4,"51a2c526-5e41-417b-a82e-0dd289a7974c.0",20d26c53-9a6f-46c1-9057-f0466eccae67,"d7807508-2ab6-4c4d-bc1c-d30f8932565f",9a0e63a5-3ca5-423b-9e69-6277cce38cfa,"714a1e77-6f6d-4a2f-9881-9dbb862d24a0.0",0588b1aa-bb64-4569-8359-69993e9fc356,"b0adb70d-1e31-4637-8c1d-7f6f33baaa7b",e7502781-e975-4497-b602-d3b990691d75,"469b9bcb-fb06-4719-8a0e-30a0ff60c02e.0",c4ce0a45-dd0a-42ff-a9cf-e50b19ceef1a,"469b9bcb-fb06-4719-8a0e-30a0ff60c02e.1",75046883-af85-4218-bb7f-b24482be7af7,"4a875fe8-d6dd-4488-ab26-9f1d41d624bb",f85dadc5-5767-4378-b253-ccadd933250a,"2bf29867-3e26-4d83-8667-da5f11442794.0",70382755-00e8-4ab8-98d2-f97a09424d85,"f7717042-aa60-4d5f-b166-8403fa143e74",4a20aec2-6268-49fa-bed0-680eb1bdc78c,"f519cbc0-1404-4ef3-9377-16955dc46254.0",c389d8ae-dcd9-486a-b3aa-c34e78dd2774,"4b4f7c2d-d158-42a5-89b6-06bf7449b85d",6f76e4bb-9186-48b0-b812-eee7f91282b0,"1d971496-56ca-48b0-a34e-b5359e900090",32b160f9-18c9-4d50-a16a-038d09e850c6,"a5026b9b-d215-4c30-9de1-c54424949e4a",87c4f8c9-a94a-4aff-9e3b-bfabeb22ffdd,"4be1f7e9-0ba6-478f-88e1-190254fe6c6b.0",96253762-158e-4730-b20d-1220f46aa4d0,"d28a1211-a8c4-425c-87f2-c429f96d426f.0",37ab55fe-9f3b-484f-9a49-5c10d5af9db6,"714a1e77-6f6d-4a2f-9881-9dbb862d24a0",aabe8fb5-62e9-428b-a16e-00bd590bbd15,"924914a6-730c-45fb-838b-ce5d93b80394",6b8e89b1-03e7-438a-9385-237cda648215,"c698bb5e-86eb-40ec-96d7-b8badc816715",3d46b85c-f144-4c36-b8f8-7f413212fa38,"4a875fe8-d6dd-4488-ab26-9f1d41d624bb.0",78e7bcfa-4f66-48dd-bd97-0e1cb874c69f,"7af53c68-a0ad-4144-85f4-d11d73853384",025f06d8-d279-49d4-89a0-fc9f5b1cd034,"e27b2c46-7b76-4b8d-a3e8-e1b0562943ca.0",8fa432d3-7f80-45cd-bf92-a0698d4ec07b} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\262\321\203\321\205\320\235\320\260\320\261\320\276\321\200\320\276\320\262\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271.mxl" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\262\321\203\321\205\320\235\320\260\320\261\320\276\321\200\320\276\320\262\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271.mxl" deleted file mode 100644 index da1883fd..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\262\321\203\321\205\320\235\320\260\320\261\320\276\321\200\320\276\320\262\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271.mxl" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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" deleted file mode 100644 index 1dd75af5..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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 /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202_\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\230\321\201\320\272\320\273\321\216\321\207\320\265\320\275\320\270\320\265\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\240\320\265\320\266\320\270\320\274\320\237\320\276\320\270\321\201\320\272\320\260.mxl" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202_\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\230\321\201\320\272\320\273\321\216\321\207\320\265\320\275\320\270\320\265\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\240\320\265\320\266\320\270\320\274\320\237\320\276\320\270\321\201\320\272\320\260.mxl" deleted file mode 100644 index 0b5202ff..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202_\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\230\321\201\320\272\320\273\321\216\321\207\320\265\320\275\320\270\320\265\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\240\320\265\320\266\320\270\320\274\320\237\320\276\320\270\321\201\320\272\320\260.mxl" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202_\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\230\321\201\320\272\320\273\321\216\321\207\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\237\320\276\320\277\321\213\321\202\320\272\320\265\320\241\320\276\320\267\320\264\320\260\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\270\321\202\321\214\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\237\320\276\320\235\320\265\320\262\320\265\321\200\320\275\320\276\320\274\321\203\320\232\320\276\320\264\321\203.mxl" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202_\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\230\321\201\320\272\320\273\321\216\321\207\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\237\320\276\320\277\321\213\321\202\320\272\320\265\320\241\320\276\320\267\320\264\320\260\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\270\321\202\321\214\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\237\320\276\320\235\320\265\320\262\320\265\321\200\320\275\320\276\320\274\321\203\320\232\320\276\320\264\321\203.mxl" deleted file mode 100644 index eaca6705..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202_\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\230\321\201\320\272\320\273\321\216\321\207\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\237\320\276\320\277\321\213\321\202\320\272\320\265\320\241\320\276\320\267\320\264\320\260\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\270\321\202\321\214\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\237\320\276\320\235\320\265\320\262\320\265\321\200\320\275\320\276\320\274\321\203\320\232\320\276\320\264\321\203.mxl" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202_\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\230\321\201\320\272\320\273\321\216\321\207\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\237\320\276\320\277\321\213\321\202\320\272\320\265\320\241\320\276\320\267\320\264\320\260\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\270\321\202\321\214\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\237\320\276\320\235\320\265\320\262\320\265\321\200\320\275\320\276\320\274\321\203\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\216.mxl" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202_\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\230\321\201\320\272\320\273\321\216\321\207\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\237\320\276\320\277\321\213\321\202\320\272\320\265\320\241\320\276\320\267\320\264\320\260\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\270\321\202\321\214\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\237\320\276\320\235\320\265\320\262\320\265\321\200\320\275\320\276\320\274\321\203\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\216.mxl" deleted file mode 100644 index 7efe591d..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202_\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\230\321\201\320\272\320\273\321\216\321\207\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\237\320\276\320\277\321\213\321\202\320\272\320\265\320\241\320\276\320\267\320\264\320\260\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\270\321\202\321\214\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\237\320\276\320\235\320\265\320\262\320\265\321\200\320\275\320\276\320\274\321\203\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\216.mxl" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/ObjectModule.txt" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/ObjectModule.txt" deleted file mode 100644 index b4ca7f42..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/ObjectModule.txt" +++ /dev/null @@ -1,659 +0,0 @@ -Перем ЮТест; -Перем _ГуидНовогоСправочника; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("Тест_ДолженСоздатьПростойСправочник"); - ВсеТесты.Добавить("Тест_ДолженСоздатьСправочник2_СРеквизитом_ПланСчетов"); - ВсеТесты.Добавить("Тест_ДолженСоздатьЕщеНеЗаписанныйОбъектПростогоСправочника"); - ВсеТесты.Добавить("Тест_ДолженПроверитьНаличиеОбъектаИБ"); - ВсеТесты.Добавить("Тест_ДолженСоздатьДваПростыхСправочника"); - ВсеТесты.Добавить("Тест_ДолженСоздатьДваПростыхСправочника_с_ОдинаковымИменемПеременной"); - ВсеТесты.Добавить("Тест_ДолженСоздатьСвязанныеСправочники"); - ВсеТесты.Добавить("Тест_ДолженСоздатьГруппуСправочникаИДочернийЭлемент"); - ВсеТесты.Добавить("Тест_ДолженСоздатьОбъектСДвумяСтрокамиВТабличнойЧасти"); - ВсеТесты.Добавить("Тест_ДолженСоздатьОбъектСЗаполненымРеквизитомТипаПеречисление"); - ВсеТесты.Добавить("Тест_ДолженСоздатьОбъектСЗаполненнымРеквизитомИзПредопределенныхЗначенийСправочника"); - ВсеТесты.Добавить("Тест_ДолженСоздатьДокументСДвумяСтрокамиВТабличнойЧасти"); - ВсеТесты.Добавить("Тест_ДолженСоздатьДокументНаТекущуюДату"); - ВсеТесты.Добавить("Тест_ДолженСоздатьДокумент_РежимЗаписи_Проведение"); - ВсеТесты.Добавить("Тест_ДолженСоздатьСправочникПослеДокументаСДвумяСтрокамиВТабличнойЧасти"); - ВсеТесты.Добавить("Тест_ДолженСоздатьДвеЗаписиВРегистреСведений"); - ВсеТесты.Добавить("Тест_ДолженСоздатьДвеЗаписиВРегистреСведений_ВыполнивПоискЭлементаПоНаименованию"); - ВсеТесты.Добавить("Тест_ДолженСоздатьПользователяИБ_ВКоде"); - ВсеТесты.Добавить("Тест_ДолженСоздатьПользователяИБ_ПоМакету"); - ВсеТесты.Добавить("Тест_ДолженСоздатьЭлементИЗаполнитьРеквизитНайденныйПоКоду"); - ВсеТесты.Добавить("Тест_ДолженСоздатьЭлементИЗаполнитьРеквизитНайденныйПоНаименованию"); - ВсеТесты.Добавить("Тест_ДолженСоздатьЭлементИЗаполнитьРеквизитПоискомПоГУИДу"); - ВсеТесты.Добавить("Тест_ДолженСоздатьПростойСправочникПоискомПоГуидуСсылки"); - ВсеТесты.Добавить("Тест_ДолженНайтиИПерезаполнитьПростойСправочникПоискомПоГуидуСсылки"); - ВсеТесты.Добавить("Тест_ДолженУдалитьСозданныеДанные_ПростойСправочник"); - ВсеТесты.Добавить("Тест_ДолженУдалитьСозданныеДанные_ДваПростыхСправочника"); - ВсеТесты.Добавить("Тест_ДолженСоздатьИзДвухМакетовДваПростыхСправочника"); - ВсеТесты.Добавить("Тест_ДолженСоздатьИзДвухМакетовСвязанныеСправочники"); - ВсеТесты.Добавить("Тест_ДолженСоздатьОднуЗаписьРегистраНакопления"); - ВсеТесты.Добавить("Тест_ДолженСоздатьДвеЗаписиРегистраНакопления"); - ВсеТесты.Добавить("Тест_ДолженПолучитьИсключениеНеверныйРежимПоиска"); - ВсеТесты.Добавить("Тест_ДолженПолучитьИсключениеПриПопыткеСоздатьЭлементИЗаполнитьРеквизитПоНеверномуКоду"); - ВсеТесты.Добавить("Тест_ДолженПолучитьИсключениеПриПопыткеСоздатьЭлементИЗаполнитьРеквизитПоНеверномуНаименованию"); - ВсеТесты.Добавить("ТестДолжен_СоздатьСправочник2_с_РеквизитомСоставногоТипа"); - - Возврат ВсеТесты; -КонецФункции - -Процедура ПередЗапускомТеста() Экспорт - НачатьТранзакцию(); - - _ГуидНовогоСправочника = "a72ec81b-d17d-4d2f-9a47-2ffb2e3234c4"; -КонецПроцедуры - -Процедура ПослеЗапускаТеста() Экспорт - Если ТранзакцияАктивна() Тогда - ОтменитьТранзакцию(); - КонецЕсли; -КонецПроцедуры - -Процедура Тест_ДолженСоздатьПростойСправочник() Экспорт - Макет = ПолучитьМакет("СозданиеПростогоСправочника"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(1, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник"), "Ожидали, что есть переменная 'ПростойСправочник'"); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник, "СправочникСсылка.ПростойСправочник"); - ЮТест.ПроверитьРавенство("Тестовое наименование", ТестовыеДанные.ПростойСправочник.Наименование); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник.РеквизитБулево, "Булево"); - ЮТест.ПроверитьРавенство(Истина, ТестовыеДанные.ПростойСправочник.РеквизитБулево); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьСправочник2_СРеквизитом_ПланСчетов() Экспорт - Макет = ПолучитьМакет("СозданиеСправочникаСРеквизитом_ПланСчетов"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(1, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник2"), "Ожидали, что есть переменная 'ПростойСправочник'"); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник2, "СправочникСсылка.ПростойСправочник2"); - ЮТест.ПроверитьРавенство("Тест", ТестовыеДанные.ПростойСправочник2.Наименование); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник2.Счет, "ПланСчетовСсылка.ПланСчетов1"); - ЮТест.ПроверитьРавенство(ПланыСчетов.ПланСчетов1.Счет01, ТестовыеДанные.ПростойСправочник2.Счет, "ПланыСчетов.ПланСчетов1.Счет01, ТестовыеДанные.ПростойСправочник2.Счет"); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьЕщеНеЗаписанныйОбъектПростогоСправочника() Экспорт - Макет = ПолучитьМакет("СозданиеЕщеНеЗаписанногоОбъектаПростогоСправочника"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(1, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник"), "Ожидали, что есть переменная 'ПростойСправочник'"); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник, "СправочникОбъект.ПростойСправочник"); - ЮТест.ПроверитьРавенство("Тестовое наименование", ТестовыеДанные.ПростойСправочник.Наименование); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник.РеквизитБулево, "Булево"); - ЮТест.ПроверитьРавенство(Истина, ТестовыеДанные.ПростойСправочник.РеквизитБулево); -КонецПроцедуры - -Процедура Тест_ДолженПроверитьНаличиеОбъектаИБ() Экспорт - Макет = ПолучитьМакет("СозданиеПростогоСправочника"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - лСсылка = ТестовыеДанные.ПростойСправочник; - ЮТест.ПроверитьНаличиеОбъектаИБ(лСсылка, "ТестовыеДанные.ПростойСправочник"); - лОбъект = лСсылка.ПолучитьОбъект(); - лОбъект.Удалить(); - - стрОшибка = ""; - Попытка - ЮТест.ПроверитьНаличиеОбъектаИБ(лСсылка, "ТестовыеДанные.ПростойСправочник после удаления"); - былоИсключение = Ложь; - Исключение - былоИсключение = Истина; - стрОшибка = ОписаниеОшибки(); - КонецПопытки; - ЮТест.ПроверитьИстину(былоИсключение, "Ожидал исключение, а его не было"); - ЮТест.ПроверитьВхождение(стрОшибка, "Ожидали существование объекта в ИБ, а получили объект не найден <<Объект не найден>"); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьДваПростыхСправочника() Экспорт - Макет = ПолучитьМакет("СозданиеДвухПростыхСправочников"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник"), "Ожидали, что есть переменная 'ПростойСправочник'"); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник, "СправочникСсылка.ПростойСправочник"); - ЮТест.ПроверитьРавенство("Тестовая группа товаров", ТестовыеДанные.ПростойСправочник.Наименование); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник.РеквизитБулево, "Булево"); - ЮТест.ПроверитьРавенство(Ложь, ТестовыеДанные.ПростойСправочник.РеквизитБулево); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник2"), "Ожидали, что есть переменная 'ПростойСправочник2'"); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник2, "СправочникСсылка.ПростойСправочник2"); - ЮТест.ПроверитьРавенство("Тест", ТестовыеДанные.ПростойСправочник2.Наименование); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьДваПростыхСправочника_с_ОдинаковымИменемПеременной() Экспорт - Макет = ПолучитьМакет("СозданиеДвухПростыхСправочников_с_ОдинаковымИменемПеременной"); - Попытка - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - Исключение - Возврат; - КонецПопытки; - ВызватьИсключение "Должны были получить исключение, а его не было"; -КонецПроцедуры - -Процедура Тест_ДолженСоздатьСвязанныеСправочники() Экспорт - Макет = ПолучитьМакет("СозданиеСвязанныхСправочников"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ИерархическийСправочник"), "Ожидали, что есть переменная 'ИерархическийСправочник'"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.ИерархическийСправочник.ПростойСправочник); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьГруппуСправочникаИДочернийЭлемент() Экспорт - Макет = ПолучитьМакет("СозданиеГруппыСправочникаИДочернегоЭлемента"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("Группа"), "Ожидали, что есть переменная 'Группа'"); - ЮТест.ПроверитьИстину(ТестовыеДанные.Группа.ЭтоГруппа, "Ожидали, что созданный элемент является группой"); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("Элемент"), "Ожидали, что есть переменная 'Элемент'"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.Группа, ТестовыеДанные.Элемент.Родитель); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьОбъектСДвумяСтрокамиВТабличнойЧасти() Экспорт - Макет = ПолучитьМакет("СозданиеОбъектаСДвумяСтрокамиВТабличнойЧасти"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(4, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("СправочникСТабЧастью"), "Ожидали, что есть переменная 'СправочникСТабЧастью'"); - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.СправочникСТабЧастью.Состав.Количество()); - - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.СправочникСТабЧастью.Состав[0].ПростойСправочник); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник2_1, ТестовыеДанные.СправочникСТабЧастью.Состав[0].ПростойСправочник2); - ЮТест.ПроверитьИстину(ТестовыеДанные.СправочникСТабЧастью.Состав[0].РеквизитБулево); - - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.СправочникСТабЧастью.Состав[1].ПростойСправочник); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник2_2, ТестовыеДанные.СправочникСТабЧастью.Состав[1].ПростойСправочник2); - ЮТест.ПроверитьЛожь(ТестовыеДанные.СправочникСТабЧастью.Состав[1].РеквизитБулево); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьОбъектСЗаполненымРеквизитомТипаПеречисление() Экспорт - Макет = ПолучитьМакет("СозданиеОбъектаСЗаполненымРеквизитомТипаПеречисление"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(1, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник"), "Ожидали, что есть переменная 'ПростойСправочник'"); - ЮТест.ПроверитьРавенство(Перечисления.Перечисление1.ЗначениеПеречисления1, ТестовыеДанные.ПростойСправочник.РеквизитПеречисление); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьОбъектСЗаполненнымРеквизитомИзПредопределенныхЗначенийСправочника() Экспорт - Макет = ПолучитьМакет("СозданиеОбъектаСЗаполненнымРеквизитомИзПредопределенныхЗначенийСправочника"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(1, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("Элемент"), "Ожидали, что есть переменная 'Элемент'"); - ЮТест.ПроверитьРавенство(Справочники.ПростойСправочник.ПредопределенноеЗначение1, ТестовыеДанные.Элемент.ПростойСправочник); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьДокументСДвумяСтрокамиВТабличнойЧасти() Экспорт - Макет = ПолучитьМакет("СозданиеДокументаСДвумяСтрокамиВТабличнойЧасти"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(4, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("Документ"), "Ожидали, что есть переменная 'Документ'"); - ЮТест.ПроверитьТип(ТестовыеДанные.Документ, "ДокументСсылка.Документ1"); - ЮТест.ПроверитьРавенство(Дата("20130801"), ТестовыеДанные.Документ.Дата); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.Документ.ПростойСправочник); - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.Документ.Состав.Количество()); - - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, ТестовыеДанные.Документ.Состав[0].ПростойСправочник2); - ЮТест.ПроверитьРавенство(150, ТестовыеДанные.Документ.Состав[0].РеквизитЧисло); - ЮТест.ПроверитьЛожь(ТестовыеДанные.Документ.Состав[0].РеквизитБулево); - - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник22, ТестовыеДанные.Документ.Состав[1].ПростойСправочник2); - ЮТест.ПроверитьРавенство(0, ТестовыеДанные.Документ.Состав[1].РеквизитЧисло); - ЮТест.ПроверитьИстину(ТестовыеДанные.Документ.Состав[1].РеквизитБулево); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьДокументНаТекущуюДату() Экспорт - Макет = ПолучитьМакет("СозданиеДокументаНаТекущуюДату"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("Документ"), "Ожидали, что есть переменная 'Документ'"); - ЮТест.ПроверитьТип(ТестовыеДанные.Документ, "ДокументСсылка.Документ1"); - ЮТест.ПроверитьМеньше(ТекущаяДата() - ТестовыеДанные.Документ.Дата, 2, "Разница между ТекущаяДата() и ТестовыеДанные.Документ.Дата должна быть менее 2 секунд"); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьДокумент_РежимЗаписи_Проведение() Экспорт - Макет = ПолучитьМакет("СозданиеДокумента_РежимЗаписи_Проведение"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("Документ"), "Ожидали, что есть переменная 'Документ'"); - ЮТест.ПроверитьТип(ТестовыеДанные.Документ, "ДокументСсылка.Документ1"); - ЮТест.Проверить(ТестовыеДанные.Документ.Проведен, "ТестовыеДанные.Документ.Проведен"); - - ЮТест.Проверить(ТестовыеДанные.Документ2.Проведен, "ТестовыеДанные2.Документ.Проведен"); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьСправочникПослеДокументаСДвумяСтрокамиВТабличнойЧасти() Экспорт - Макет = ПолучитьМакет("СозданиеСправочникаПослеДокументаСДвумяСтрокамиВТабличнойЧасти"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(5, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("Документ"), "Ожидали, что есть переменная 'Документ'"); - ЮТест.ПроверитьТип(ТестовыеДанные.Документ, "ДокументСсылка.Документ1"); - ЮТест.ПроверитьРавенство(Дата("20130801"), ТестовыеДанные.Документ.Дата); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.Документ.ПростойСправочник); - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.Документ.Состав.Количество()); - - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, ТестовыеДанные.Документ.Состав[0].ПростойСправочник2); - ЮТест.ПроверитьРавенство(150, ТестовыеДанные.Документ.Состав[0].РеквизитЧисло); - ЮТест.ПроверитьЛожь(ТестовыеДанные.Документ.Состав[0].РеквизитБулево); - - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник22, ТестовыеДанные.Документ.Состав[1].ПростойСправочник2); - ЮТест.ПроверитьРавенство(0, ТестовыеДанные.Документ.Состав[1].РеквизитЧисло); - ЮТест.ПроверитьИстину(ТестовыеДанные.Документ.Состав[1].РеквизитБулево); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник23"), "Ожидали, что есть переменная 'ПростойСправочник23'"); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник23, "СправочникСсылка.ПростойСправочник2"); - ЮТест.ПроверитьРавенство("Тест3", ТестовыеДанные.ПростойСправочник23.Наименование); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьДвеЗаписиВРегистреСведений() Экспорт - Макет = ПолучитьМакет("СозданиеДвухЗаписейВРегистреСведений"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(5, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ЗаписьРегистра1"), "Ожидали, что есть переменная 'ЗаписьРегистра1'"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.ЗаписьРегистра1.ПростойСправочник); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, ТестовыеДанные.ЗаписьРегистра1.ПростойСправочник2); - ЮТест.ПроверитьРавенство(300, ТестовыеДанные.ЗаписьРегистра1.РесурсЧисло); - ЮТест.ПроверитьЛожь(ТестовыеДанные.ЗаписьРегистра1.РесурсБулево); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ЗаписьРегистра2"), "Ожидали, что есть переменная 'ЗаписьРегистра2'"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.ЗаписьРегистра2.ПростойСправочник); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник22, ТестовыеДанные.ЗаписьРегистра2.ПростойСправочник2); - ЮТест.ПроверитьРавенство(400, ТестовыеДанные.ЗаписьРегистра2.РесурсЧисло); - ЮТест.ПроверитьИстину(ТестовыеДанные.ЗаписьРегистра2.РесурсБулево); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьДвеЗаписиВРегистреСведений_ВыполнивПоискЭлементаПоНаименованию() Экспорт - Макет = ПолучитьМакет("СозданиеДвухЗаписейВРегистреСведений_ПоискЭлементаПоНаименованию"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(5, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ЗаписьРегистра1"), "Ожидали, что есть переменная 'ЗаписьРегистра1'"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.ЗаписьРегистра1.ПростойСправочник); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, ТестовыеДанные.ЗаписьРегистра1.ПростойСправочник2); - ЮТест.ПроверитьРавенство(300, ТестовыеДанные.ЗаписьРегистра1.РесурсЧисло); - ЮТест.ПроверитьЛожь(ТестовыеДанные.ЗаписьРегистра1.РесурсБулево); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ЗаписьРегистра2"), "Ожидали, что есть переменная 'ЗаписьРегистра2'"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.ЗаписьРегистра2.ПростойСправочник); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник22, ТестовыеДанные.ЗаписьРегистра2.ПростойСправочник2); - ЮТест.ПроверитьРавенство(400, ТестовыеДанные.ЗаписьРегистра2.РесурсЧисло); - ЮТест.ПроверитьИстину(ТестовыеДанные.ЗаписьРегистра2.РесурсБулево); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьПользователяИБ_ВКоде() Экспорт - лИмяПользователя = "ТестИмя"; - лПользователь = ПользователиИнформационнойБазы.НайтиПоИмени(лИмяПользователя); - Если лПользователь <> Неопределено Тогда - лПользователь.Удалить(); - КонецЕсли; - - массивПользователей = ПользователиИнформационнойБазы.ПолучитьПользователей(); - количествоДо = массивПользователей.Количество(); - - параметрыПользователя = Новый Структура; - параметрыПользователя.Вставить("Имя", лИмяПользователя); - параметрыПользователя.Вставить("ПолноеИмя", лИмяПользователя); - параметрыПользователя.Вставить("АутентификацияСтандартная", Истина); - параметрыПользователя.Вставить("ОсновнойИнтерфейс", ""); //Метаданные.Интерфейсы.Администратор); - //параметрыПользователя.Вставить("Пароль", "пароль"); - параметрыПользователя.Вставить("ПоказыватьВСпискеВыбора", Истина); - //параметрыПользователя.Вставить("Язык", Метаданные.Языки.Русский); - массивРолей = Новый Массив; - массивРолей.Добавить(Метаданные.Роли.Роль1); - параметрыПользователя.Вставить("Роли", массивРолей); - - лПользователь = ЮТест.СоздатьПользователяИБ(параметрыПользователя); - ЮТест.ПроверитьТип(лПользователь, "ПользовательИнформационнойБазы", "лПользователь"); - ЮТест.ПроверитьИстину(лПользователь.Роли.Содержит(Метаданные.Роли.Роль1), "лПользователь.РолиПользователя.Содержить"); - - массивПользователей = ПользователиИнформационнойБазы.ПолучитьПользователей(); - количествоПосле = массивПользователей.Количество(); - ЮТест.ПроверитьРавенство(количествоДо + 1, количествоПосле, "количествоДо + 1, количествоПосле"); - - //лПользователь.Удалить(); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьПользователяИБ_ПоМакету() Экспорт - лИмяПользователя = "ТестИмя"; - лПользователь = ПользователиИнформационнойБазы.НайтиПоИмени(лИмяПользователя); - Если лПользователь <> Неопределено Тогда - лПользователь.Удалить(); - КонецЕсли; - - массивПользователей = ПользователиИнформационнойБазы.ПолучитьПользователей(); - количествоДо = массивПользователей.Количество(); - - Макет = ПолучитьМакет("СозданиеОдногоПользователяИБ"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(1, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("Пользователь1"), "Ожидали, что есть переменная 'Пользователь1'"); - НовыйПользователь = ТестовыеДанные.Пользователь1; - ЮТест.ПроверитьТип(НовыйПользователь, "ПользовательИнформационнойБазы"); - ЮТест.ПроверитьРавенство(лИмяПользователя, НовыйПользователь.Имя); - ЮТест.ПроверитьРавенство(НовыйПользователь.РежимЗапуска, РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение); - ЮТест.ПроверитьИстину(НовыйПользователь.Роли.Содержит(Метаданные.Роли.Роль1), "лПользователь.РолиПользователя.Содержит"); - ЮТест.ПроверитьИстину(НовыйПользователь.Роли.Содержит(Метаданные.Роли.ПолныеПрава), "лПользователь.ПолныеПрава.Содержит"); - - массивПользователей = ПользователиИнформационнойБазы.ПолучитьПользователей(); - количествоПосле = массивПользователей.Количество(); - ЮТест.ПроверитьРавенство(количествоДо + 1, количествоПосле, "количествоДо + 1, количествоПосле"); - - лПользователь = ТестовыеДанные.Пользователь1; - //лПользователь.Удалить(); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьЭлементИЗаполнитьРеквизитНайденныйПоКоду() Экспорт - Макет = ПолучитьМакет("СозданиеЭлементаИЗаполнениеРеквизитаПоискомПоКоду"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ИерархическийСправочник"), "Ожидали, что есть переменная 'ИерархическийСправочник'"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.ИерархическийСправочник.ПростойСправочник); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьЭлементИЗаполнитьРеквизитНайденныйПоНаименованию() Экспорт - Макет = ПолучитьМакет("СозданиеЭлементаИЗаполнениеРеквизитаПоискомПоНаименованию"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ИерархическийСправочник"), "Ожидали, что есть переменная 'ИерархическийСправочник'"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.ИерархическийСправочник.ПростойСправочник); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьЭлементИЗаполнитьРеквизитПоискомПоГУИДу() Экспорт - Макет = ПолучитьМакет("СозданиеЭлементаИЗаполнениеРеквизитаПоискомПоГУИДу"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(1, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ИерархическийСправочник"), "Ожидали, что есть переменная 'ИерархическийСправочник'"); - ЮТест.ПроверитьРавенство(Справочники.ПростойСправочник.ПредопределенноеЗначение1, ТестовыеДанные.ИерархическийСправочник.ПростойСправочник); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьПростойСправочникПоискомПоГуидуСсылки() Экспорт - Макет = ПолучитьМакет("СозданиеПростогоСправочникаПоГуидСсылки"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(1, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник"), "Ожидали, что есть переменная 'ПростойСправочник'"); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник, "СправочникСсылка.ПростойСправочник"); - ЮТест.ПроверитьРавенство(Новый УникальныйИдентификатор(_ГуидНовогоСправочника), ТестовыеДанные.ПростойСправочник.УникальныйИдентификатор()); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник.РеквизитБулево, "Булево"); - ЮТест.ПроверитьРавенство(Истина, ТестовыеДанные.ПростойСправочник.РеквизитБулево, "ТестовыеДанные.ПростойСправочник.РеквизитБулево"); - - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник.РеквизитПеречисление, "ПеречислениеСсылка.Перечисление1"); - ЮТест.ПроверитьРавенство(Перечисления.Перечисление1.ЗначениеПеречисления1, ТестовыеДанные.ПростойСправочник.РеквизитПеречисление, "ТестовыеДанные.ПростойСправочник.РеквизитПеречисление"); -КонецПроцедуры - -Процедура Тест_ДолженНайтиИПерезаполнитьПростойСправочникПоискомПоГуидуСсылки() Экспорт - Макет = ПолучитьМакет("СозданиеПростогоСправочникаПоГуидСсылки"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - ЮТест.ПроверитьРавенство(Справочники.ПростойСправочник.ПолучитьСсылку(Новый УникальныйИдентификатор(_ГуидНовогоСправочника)), ТестовыеДанные.ПростойСправочник, "Справочники.ПростойСправочник.ПолучитьСсылку(Новый УникальныйИдентификатор(_ГуидНовогоСправочника)), ТестовыеДанные.ПростойСправочник)"); - //лОбъект = ТестовыеДанные.ПростойСправочник.ПолучитьОбъект(); - //лОбъект.РеквизитБулево = Ложь; - //лОбъект.Записать(); - //ЮТест.ПроверитьРавенство(Ложь, ТестовыеДанные.ПростойСправочник.РеквизитБулево); - - Макет = ПолучитьМакет("НайтиИПерезаполнитьПростойСправочникПоГуидСсылки"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьРавенство(1, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); - - ЮТест.ПроверитьРавенство(Новый УникальныйИдентификатор(_ГуидНовогоСправочника), ТестовыеДанные.ПростойСправочник.УникальныйИдентификатор()); - ЮТест.ПроверитьРавенство(Ложь, ТестовыеДанные.ПростойСправочник.РеквизитБулево, "ТестовыеДанные.ПростойСправочник.РеквизитБулево"); - ЮТест.ПроверитьРавенство(Перечисления.Перечисление1.ЗначениеПеречисления2, ТестовыеДанные.ПростойСправочник.РеквизитПеречисление, "ТестовыеДанные.ПростойСправочник.РеквизитПеречисление"); -КонецПроцедуры - -Процедура Тест_ДолженУдалитьСозданныеДанные_ПростойСправочник() Экспорт - количествоДо = ЮТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник"); - - Макет = ПолучитьМакет("СозданиеПростогоСправочника"); - - количествоСозданныхОбъектов = 0; - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет, количествоСозданныхОбъектов); - ЮТест.ПроверитьРавенство(количествоСозданныхОбъектов, 1, "количествоСозданныхОбъектов"); - - количествоУдаленныхОбъектов = ЮТест.УдалитьСозданныеДанные(тестовыеДанные); - - количествоПосле = ЮТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник"); - ЮТест.ПроверитьРавенство(количествоПосле, количествоДо, "количествоПосле, количествоДо"); - - ЮТест.ПроверитьРавенство(количествоУдаленныхОбъектов, количествоСозданныхОбъектов, "количествоУдаленныхОбъектов, количествоСозданныхОбъектов"); -КонецПроцедуры - -Процедура Тест_ДолженУдалитьСозданныеДанные_ДваПростыхСправочника() Экспорт - количествоДо = ЮТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник") + ЮТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник2"); - - Макет = ПолучитьМакет("СозданиеДвухПростыхСправочников"); - - количествоСозданныхОбъектов = 0; - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет, количествоСозданныхОбъектов); - ЮТест.ПроверитьРавенство(количествоСозданныхОбъектов, 2, "количествоСозданныхОбъектов"); - - количествоУдаленныхОбъектов = ЮТест.УдалитьСозданныеДанные(тестовыеДанные); - - количествоПосле = ЮТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник") + ЮТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник2"); - ЮТест.ПроверитьРавенство(количествоПосле, количествоДо, "количествоПосле, количествоДо"); - - ЮТест.ПроверитьРавенство(количествоУдаленныхОбъектов, количествоСозданныхОбъектов, "количествоУдаленныхОбъектов, количествоСозданныхОбъектов"); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьИзДвухМакетовДваПростыхСправочника() Экспорт - Макет = ПолучитьМакет("СозданиеПростогоСправочника"); - Макет2 = ПолучитьМакет("СозданиеПростогоСправочника2"); - - МассивМакетов = Новый Массив(); - МассивМакетов.Добавить(Макет); - МассивМакетов.Добавить(Макет2); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(МассивМакетов); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник"), "Ожидали, что есть переменная 'ПростойСправочник'"); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник, "СправочникСсылка.ПростойСправочник"); - ЮТест.ПроверитьРавенство("Тестовое наименование", ТестовыеДанные.ПростойСправочник.Наименование); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник.РеквизитБулево, "Булево"); - ЮТест.ПроверитьРавенство(Истина, ТестовыеДанные.ПростойСправочник.РеквизитБулево); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник2"), "Ожидали, что есть переменная 'ПростойСправочник2'"); - ЮТест.ПроверитьТип(ТестовыеДанные.ПростойСправочник2, "СправочникСсылка.ПростойСправочник2"); - ЮТест.ПроверитьРавенство("Тест", ТестовыеДанные.ПростойСправочник2.Наименование); - ЮТест.ПроверитьРавенство(Ложь, ТестовыеДанные.ПростойСправочник2.РеквизитБулево); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьИзДвухМакетовСвязанныеСправочники() Экспорт - Макет = ПолучитьМакет("СозданиеПростогоСправочника"); - Макет2 = ПолучитьМакет("СозданиеОдногоСправочникаВладельцаБезПодчиненногоСправочника"); - - МассивМакетов = Новый Массив(); - МассивМакетов.Добавить(Макет); - МассивМакетов.Добавить(Макет2); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(МассивМакетов); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("ИерархическийСправочник"), "Ожидали, что есть переменная 'ИерархическийСправочник'"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.ИерархическийСправочник.ПростойСправочник); - ЮТест.ПроверитьРавенство("Тестовое наименование", ТестовыеДанные.ПростойСправочник.Наименование); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьОднуЗаписьРегистраНакопления() Экспорт - количествоДо = ЮТест.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрНакопления", "РегистрНакопления2"); - - Макет = ПолучитьМакет("СозданиеОднойЗаписиВРегистреНакопления"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(4, ТестовыеДанные.Количество()); - ЮТест.ПроверитьТип(ТестовыеДанные.ЗаписьРегистра1, "РегистрНакопленияНаборЗаписей.РегистрНакопления2"); - - количествоПосле = ЮТест.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрНакопления", "РегистрНакопления2"); - ЮТест.ПроверитьРавенство(количествоДо + 1, количествоПосле, "количество записей РН -> количествоДо + 2, количествоПосле"); - - наборЗаписей = РегистрыНакопления.РегистрНакопления2.СоздатьНаборЗаписей(); - наборЗаписей.Отбор.Регистратор.Установить(ТестовыеДанные.Документ); - наборЗаписей.Прочитать(); - ЮТест.ПроверитьРавенство(1, наборЗаписей.Количество(), "количество записей РН -> 1, наборЗаписей.Количество()"); - запись = наборЗаписей[0]; - ЮТест.ПроверитьРавенство(ТестовыеДанные.Документ.Дата, запись.Период, "ТестовыеДанные.Документ.Дата, запись.Период"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, запись.ПростойСправочник2); - - строкаТчДокумента = ТестовыеДанные.Документ.Состав[0]; - ЮТест.ПроверитьРавенство(строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло, "строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло"); - ЮТест.ПроверитьРавенство(строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево, "строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево"); -КонецПроцедуры - -Процедура Тест_ДолженСоздатьДвеЗаписиРегистраНакопления() Экспорт - количествоДо = ЮТест.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрНакопления", "РегистрНакопления2"); - - Макет = ПолучитьМакет("СозданиеДвухЗаписейВРегистреНакопления"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(5, ТестовыеДанные.Количество()); - - количествоПосле = ЮТест.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрНакопления", "РегистрНакопления2"); - ЮТест.ПроверитьРавенство(количествоДо + 2, количествоПосле, "количество записей РН -> количествоДо + 2, количествоПосле"); - - наборЗаписей = РегистрыНакопления.РегистрНакопления2.СоздатьНаборЗаписей(); - наборЗаписей.Отбор.Регистратор.Установить(ТестовыеДанные.Документ); - наборЗаписей.Прочитать(); - ЮТест.ПроверитьРавенство(2, наборЗаписей.Количество(), "количество записей РН -> 2, наборЗаписей.Количество()"); - - наборЗаписей = РегистрыНакопления.РегистрНакопления2.СоздатьНаборЗаписей(); - наборЗаписей.Отбор.Регистратор.Установить(ТестовыеДанные.Документ); - наборЗаписей.Прочитать(); - ЮТест.ПроверитьРавенство(2, наборЗаписей.Количество(), "количество записей РН -> 2, наборЗаписей.Количество()"); - - запись = наборЗаписей[0]; - ЮТест.ПроверитьРавенство(ТестовыеДанные.Документ.Дата, запись.Период, "ТестовыеДанные.Документ.Дата, запись.Период"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, запись.ПростойСправочник2); - - строкаТчДокумента = ТестовыеДанные.Документ.Состав[0]; - ЮТест.ПроверитьРавенство(строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло, "строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло"); - ЮТест.ПроверитьРавенство(строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево, "строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево"); - - запись = наборЗаписей[1]; - ЮТест.ПроверитьРавенство(ТестовыеДанные.Документ.Дата, запись.Период, "ТестовыеДанные.Документ.Дата, запись.Период"); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник22, запись.ПростойСправочник2); - - строкаТчДокумента = ТестовыеДанные.Документ.Состав[1]; - ЮТест.ПроверитьРавенство(строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло, "строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло"); - ЮТест.ПроверитьРавенство(строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево, "строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево"); -КонецПроцедуры - -// {Пессимистические тесты -Процедура Тест_ДолженПолучитьИсключениеНеверныйРежимПоиска() Экспорт - Макет = ПолучитьМакет("Тест_ДолженПолучитьИсключениеНеверныйРежимПоиска"); - ТекстИсключения = ""; - ОжидаемоеИсключение = "НеверныйРежимПоиска"; - Попытка - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - Исключение - ТекстИсключения = ОписаниеОшибки(); - КонецПопытки; - - ЮТест.ПроверитьВхождение(ТекстИсключения, ОжидаемоеИсключение, "Ожидали исключение <" + ОжидаемоеИсключение + ">"); -КонецПроцедуры - -Процедура Тест_ДолженПолучитьИсключениеПриПопыткеСоздатьЭлементИЗаполнитьРеквизитПоНеверномуКоду() Экспорт - Макет = ПолучитьМакет("Тест_ДолженПолучитьИсключениеПриПопыткеСоздатьЭлементИЗаполнитьРеквизитПоНеверномуКоду"); - ТекстИсключения = ""; - ОжидаемоеИсключение = "ЗначениеНеНайдено"; - Попытка - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - Исключение - ТекстИсключения = ОписаниеОшибки(); - КонецПопытки; - - ЮТест.ПроверитьВхождение(ТекстИсключения, ОжидаемоеИсключение, "Ожидали исключение <" + ОжидаемоеИсключение + ">"); -КонецПроцедуры - -Процедура Тест_ДолженПолучитьИсключениеПриПопыткеСоздатьЭлементИЗаполнитьРеквизитПоНеверномуНаименованию() Экспорт - Макет = ПолучитьМакет("Тест_ДолженПолучитьИсключениеПриПопыткеСоздатьЭлементИЗаполнитьРеквизитПоНеверномуНаименованию"); - ТекстИсключения = ""; - ОжидаемоеИсключение = "ЗначениеНеНайдено"; - Попытка - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - Исключение - ТекстИсключения = ОписаниеОшибки(); - КонецПопытки; - - ЮТест.ПроверитьВхождение(ТекстИсключения, ОжидаемоеИсключение, "Ожидали исключение <" + ОжидаемоеИсключение + ">"); -КонецПроцедуры - -// } - -Процедура ТестДолжен_СоздатьСправочник2_с_РеквизитомСоставногоТипа() Экспорт - Макет = ПолучитьМакет("СозданиеСправочника2_с_РеквизитомСоставногоТипа"); - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЮТест.ПроверитьТип(ТестовыеДанные, "Структура"); - ЮТест.ПроверитьРавенство(2, ТестовыеДанные.Количество()); - - ЮТест.ПроверитьИстину(ТестовыеДанные.Свойство("СправочникСТабЧастью"), "Ожидали, что есть переменная 'СправочникСТабЧастью'"); - ЮТест.ПроверитьРавенство(0, ТестовыеДанные.СправочникСТабЧастью.Состав.Количество()); - - ЮТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.СправочникСТабЧастью.РеквизитСоставногоТипа); -КонецПроцедуры - diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/renames.txt" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/renames.txt" deleted file mode 100644 index 28d2d9de..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/renames.txt" +++ /dev/null @@ -1,69 +0,0 @@ -0afb6777-fe50-4b9c-b180-77d1ee3a3d54-->und\0afb6777-fe50-4b9c-b180-77d1ee3a3d54 -0afb6777-fe50-4b9c-b180-77d1ee3a3d54.0-->und\0afb6777-fe50-4b9c-b180-77d1ee3a3d54.0 -1d971496-56ca-48b0-a34e-b5359e900090-->und\1d971496-56ca-48b0-a34e-b5359e900090 -1d971496-56ca-48b0-a34e-b5359e900090.0-->und\1d971496-56ca-48b0-a34e-b5359e900090.0 -214520bb-70cc-4e3a-a1be-4c6a0f5d9c73-->und\214520bb-70cc-4e3a-a1be-4c6a0f5d9c73 -214520bb-70cc-4e3a-a1be-4c6a0f5d9c73.0-->und\214520bb-70cc-4e3a-a1be-4c6a0f5d9c73.0 -2b4cbacc-14fa-4e57-bfab-9e9af6028901-->und\2b4cbacc-14fa-4e57-bfab-9e9af6028901 -2b4cbacc-14fa-4e57-bfab-9e9af6028901.0-->und\2b4cbacc-14fa-4e57-bfab-9e9af6028901.0 -2bf29867-3e26-4d83-8667-da5f11442794-->und\2bf29867-3e26-4d83-8667-da5f11442794 -2bf29867-3e26-4d83-8667-da5f11442794.0-->und\2bf29867-3e26-4d83-8667-da5f11442794.0 -2e398c8a-da05-4e85-9d97-c9680b935568-->und\2e398c8a-da05-4e85-9d97-c9680b935568 -2e398c8a-da05-4e85-9d97-c9680b935568.0-->und\2e398c8a-da05-4e85-9d97-c9680b935568.0 -451b28be-4cf6-4356-8c46-ad5cbc0deed0-->und\451b28be-4cf6-4356-8c46-ad5cbc0deed0 -451b28be-4cf6-4356-8c46-ad5cbc0deed0.0-->und\451b28be-4cf6-4356-8c46-ad5cbc0deed0.0 -4b3c529a-00d8-4aee-95a4-f20938cdebdd.0\info-->C:\Users\aayuhanov\AppData\Local\Temp\ТестыГенератораДанных1CUnit.epf.und\4b3c529a-00d8-4aee-95a4-f20938cdebdd.0\info -4b3c529a-00d8-4aee-95a4-f20938cdebdd.0\text-->ObjectModule.txt -4be1f7e9-0ba6-478f-88e1-190254fe6c6b-->und\4be1f7e9-0ba6-478f-88e1-190254fe6c6b -4be1f7e9-0ba6-478f-88e1-190254fe6c6b.0-->und\4be1f7e9-0ba6-478f-88e1-190254fe6c6b.0 -509a10d9-9207-4066-a28d-978c04e34376-->und\509a10d9-9207-4066-a28d-978c04e34376 -509a10d9-9207-4066-a28d-978c04e34376.0-->und\509a10d9-9207-4066-a28d-978c04e34376.0 -60c6634b-14aa-466f-a884-82ed4cb98d0f-->und\60c6634b-14aa-466f-a884-82ed4cb98d0f -60c6634b-14aa-466f-a884-82ed4cb98d0f.0-->und\60c6634b-14aa-466f-a884-82ed4cb98d0f.0 -68803c49-0345-4f51-9184-079744379408-->und\68803c49-0345-4f51-9184-079744379408 -68803c49-0345-4f51-9184-079744379408.0-->und\68803c49-0345-4f51-9184-079744379408.0 -7a41e200-05d3-4267-a721-5dbe73bf545e-->und\7a41e200-05d3-4267-a721-5dbe73bf545e -7a41e200-05d3-4267-a721-5dbe73bf545e.0-->und\7a41e200-05d3-4267-a721-5dbe73bf545e.0 -7af53c68-a0ad-4144-85f4-d11d73853384-->und\7af53c68-a0ad-4144-85f4-d11d73853384 -7af53c68-a0ad-4144-85f4-d11d73853384.0-->und\7af53c68-a0ad-4144-85f4-d11d73853384.0 -8b1a6140-f7e3-4151-adce-db0a2046364e-->und\8b1a6140-f7e3-4151-adce-db0a2046364e -8b1a6140-f7e3-4151-adce-db0a2046364e.0-->und\8b1a6140-f7e3-4151-adce-db0a2046364e.0 -8e915235-e32d-4205-bb26-918ba63bb0f5-->und\8e915235-e32d-4205-bb26-918ba63bb0f5 -8e915235-e32d-4205-bb26-918ba63bb0f5.0-->und\8e915235-e32d-4205-bb26-918ba63bb0f5.0 -91470bcf-5031-4550-8470-113df7855131-->und\91470bcf-5031-4550-8470-113df7855131 -91470bcf-5031-4550-8470-113df7855131.0-->und\91470bcf-5031-4550-8470-113df7855131.0 -9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e-->und\9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e -9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e.0-->und\9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e.0 -9d5cc378-50c8-49c6-a45d-fceefcc4a5c5-->und\9d5cc378-50c8-49c6-a45d-fceefcc4a5c5 -9d5cc378-50c8-49c6-a45d-fceefcc4a5c5.0-->und\9d5cc378-50c8-49c6-a45d-fceefcc4a5c5.0 -a1a3092f-ed45-44ca-9854-834abd352cd4-->und\a1a3092f-ed45-44ca-9854-834abd352cd4 -a1a3092f-ed45-44ca-9854-834abd352cd4.0-->und\a1a3092f-ed45-44ca-9854-834abd352cd4.0 -a5026b9b-d215-4c30-9de1-c54424949e4a-->und\a5026b9b-d215-4c30-9de1-c54424949e4a -a5026b9b-d215-4c30-9de1-c54424949e4a.0-->und\a5026b9b-d215-4c30-9de1-c54424949e4a.0 -b0adb70d-1e31-4637-8c1d-7f6f33baaa7b-->und\b0adb70d-1e31-4637-8c1d-7f6f33baaa7b -b0adb70d-1e31-4637-8c1d-7f6f33baaa7b.0-->und\b0adb70d-1e31-4637-8c1d-7f6f33baaa7b.0 -c0731e2c-fd73-4143-8a60-52e72c809569-->und\c0731e2c-fd73-4143-8a60-52e72c809569 -c0731e2c-fd73-4143-8a60-52e72c809569.0-->und\c0731e2c-fd73-4143-8a60-52e72c809569.0 -copyinfo-->und\copyinfo -d28a1211-a8c4-425c-87f2-c429f96d426f-->und\d28a1211-a8c4-425c-87f2-c429f96d426f -d28a1211-a8c4-425c-87f2-c429f96d426f.0-->und\d28a1211-a8c4-425c-87f2-c429f96d426f.0 -d51f673a-a707-44d6-9610-d58ad958de44-->und\d51f673a-a707-44d6-9610-d58ad958de44 -d764edfb-6285-4f77-ba58-4f8321a489a4-->und\d764edfb-6285-4f77-ba58-4f8321a489a4 -d764edfb-6285-4f77-ba58-4f8321a489a4.0-->und\d764edfb-6285-4f77-ba58-4f8321a489a4.0 -d7807508-2ab6-4c4d-bc1c-d30f8932565f-->und\d7807508-2ab6-4c4d-bc1c-d30f8932565f -d7807508-2ab6-4c4d-bc1c-d30f8932565f.0-->und\d7807508-2ab6-4c4d-bc1c-d30f8932565f.0 -e893fd06-6ba8-4dd4-93be-d0810d679876-->und\e893fd06-6ba8-4dd4-93be-d0810d679876 -e893fd06-6ba8-4dd4-93be-d0810d679876.0-->und\e893fd06-6ba8-4dd4-93be-d0810d679876.0 -f175b23c-5152-4613-96dd-f6623676046d-->und\f175b23c-5152-4613-96dd-f6623676046d -f175b23c-5152-4613-96dd-f6623676046d.0-->und\f175b23c-5152-4613-96dd-f6623676046d.0 -f519cbc0-1404-4ef3-9377-16955dc46254-->und\f519cbc0-1404-4ef3-9377-16955dc46254 -f519cbc0-1404-4ef3-9377-16955dc46254.0-->und\f519cbc0-1404-4ef3-9377-16955dc46254.0 -fb359264-55de-49ae-ae08-ff3931a4ec2f-->und\fb359264-55de-49ae-ae08-ff3931a4ec2f -fb359264-55de-49ae-ae08-ff3931a4ec2f.0-->und\fb359264-55de-49ae-ae08-ff3931a4ec2f.0 -fc5337e1-f68d-4b0c-82d4-2eedfe89178c-->und\fc5337e1-f68d-4b0c-82d4-2eedfe89178c -fc5337e1-f68d-4b0c-82d4-2eedfe89178c.0-->und\fc5337e1-f68d-4b0c-82d4-2eedfe89178c.0 -fca00537-610e-40cf-aaf4-fb5faab4fda1-->und\fca00537-610e-40cf-aaf4-fb5faab4fda1 -fca00537-610e-40cf-aaf4-fb5faab4fda1.0-->und\fca00537-610e-40cf-aaf4-fb5faab4fda1.0 -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/0afb6777-fe50-4b9c-b180-77d1ee3a3d54" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/0afb6777-fe50-4b9c-b180-77d1ee3a3d54" deleted file mode 100644 index 88628245..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/0afb6777-fe50-4b9c-b180-77d1ee3a3d54" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,0afb6777-fe50-4b9c-b180-77d1ee3a3d54},"Тест_ДолженПолучитьИсключениеПриПопыткеСоздатьЭлементИЗаполнитьРеквизитПоНеверномуКоду", -{1,"ru","Тест должен получить исключение при попытке создать элемент и заполнить реквизит по неверному коду"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/0afb6777-fe50-4b9c-b180-77d1ee3a3d54.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/0afb6777-fe50-4b9c-b180-77d1ee3a3d54.0" deleted file mode 100644 index daff1e9f..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/0afb6777-fe50-4b9c-b180-77d1ee3a3d54.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/1d971496-56ca-48b0-a34e-b5359e900090" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/1d971496-56ca-48b0-a34e-b5359e900090" deleted file mode 100644 index 42608dba..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/1d971496-56ca-48b0-a34e-b5359e900090" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,1d971496-56ca-48b0-a34e-b5359e900090},"СозданиеПростогоСправочникаПоГуидСсылки", -{1,"ru","Создание простого справочника по гуид ссылки"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/1d971496-56ca-48b0-a34e-b5359e900090.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/1d971496-56ca-48b0-a34e-b5359e900090.0" deleted file mode 100644 index 653d7e2d..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/1d971496-56ca-48b0-a34e-b5359e900090.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/214520bb-70cc-4e3a-a1be-4c6a0f5d9c73" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/214520bb-70cc-4e3a-a1be-4c6a0f5d9c73" deleted file mode 100644 index 2f4be28b..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/214520bb-70cc-4e3a-a1be-4c6a0f5d9c73" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,214520bb-70cc-4e3a-a1be-4c6a0f5d9c73},"СозданиеДвухЗаписейВРегистреСведений", -{1,"ru","Создание двух записей в регистре сведений"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/214520bb-70cc-4e3a-a1be-4c6a0f5d9c73.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/214520bb-70cc-4e3a-a1be-4c6a0f5d9c73.0" deleted file mode 100644 index d7f77d65..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/214520bb-70cc-4e3a-a1be-4c6a0f5d9c73.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/2b4cbacc-14fa-4e57-bfab-9e9af6028901" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/2b4cbacc-14fa-4e57-bfab-9e9af6028901" deleted file mode 100644 index 76fda542..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/2b4cbacc-14fa-4e57-bfab-9e9af6028901" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,2b4cbacc-14fa-4e57-bfab-9e9af6028901},"СозданиеДокумента_РежимЗаписи_Проведение", -{1,"ru","Создание документа режим записи проведение"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/2b4cbacc-14fa-4e57-bfab-9e9af6028901.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/2b4cbacc-14fa-4e57-bfab-9e9af6028901.0" deleted file mode 100644 index 04a848c6..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/2b4cbacc-14fa-4e57-bfab-9e9af6028901.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/2bf29867-3e26-4d83-8667-da5f11442794" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/2bf29867-3e26-4d83-8667-da5f11442794" deleted file mode 100644 index 60e673e6..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/2bf29867-3e26-4d83-8667-da5f11442794" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,2bf29867-3e26-4d83-8667-da5f11442794},"СозданиеОбъектаСЗаполненымРеквизитомТипаПеречисление", -{1,"ru","Создание объекта с заполненым реквизитом типа перечисление"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/2bf29867-3e26-4d83-8667-da5f11442794.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/2bf29867-3e26-4d83-8667-da5f11442794.0" deleted file mode 100644 index 307b1f75..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/2bf29867-3e26-4d83-8667-da5f11442794.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/2e398c8a-da05-4e85-9d97-c9680b935568" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/2e398c8a-da05-4e85-9d97-c9680b935568" deleted file mode 100644 index c78dbf6e..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/2e398c8a-da05-4e85-9d97-c9680b935568" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,2e398c8a-da05-4e85-9d97-c9680b935568},"СозданиеЭлементаИЗаполнениеРеквизитаПоискомПоГУИДу", -{1,"ru","Создание элемента и заполнение реквизита поиском по ГУИДу"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/2e398c8a-da05-4e85-9d97-c9680b935568.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/2e398c8a-da05-4e85-9d97-c9680b935568.0" deleted file mode 100644 index 3bc9e83a..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/2e398c8a-da05-4e85-9d97-c9680b935568.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/451b28be-4cf6-4356-8c46-ad5cbc0deed0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/451b28be-4cf6-4356-8c46-ad5cbc0deed0" deleted file mode 100644 index ed4a4f60..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/451b28be-4cf6-4356-8c46-ad5cbc0deed0" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,451b28be-4cf6-4356-8c46-ad5cbc0deed0},"СозданиеОбъектаСЗаполненнымРеквизитомИзПредопределенныхЗначенийСправочника", -{1,"ru","Создание объекта с заполненным реквизитом из предопределенных значений справочника"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/451b28be-4cf6-4356-8c46-ad5cbc0deed0.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/451b28be-4cf6-4356-8c46-ad5cbc0deed0.0" deleted file mode 100644 index 569bec38..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/451b28be-4cf6-4356-8c46-ad5cbc0deed0.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/4be1f7e9-0ba6-478f-88e1-190254fe6c6b" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/4be1f7e9-0ba6-478f-88e1-190254fe6c6b" deleted file mode 100644 index 6c2b9a5e..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/4be1f7e9-0ba6-478f-88e1-190254fe6c6b" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,4be1f7e9-0ba6-478f-88e1-190254fe6c6b},"СозданиеДвухЗаписейВРегистреНакопления", -{1,"ru","Создание двух записей в регистре накопления"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/4be1f7e9-0ba6-478f-88e1-190254fe6c6b.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/4be1f7e9-0ba6-478f-88e1-190254fe6c6b.0" deleted file mode 100644 index c0761f47..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/4be1f7e9-0ba6-478f-88e1-190254fe6c6b.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/509a10d9-9207-4066-a28d-978c04e34376" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/509a10d9-9207-4066-a28d-978c04e34376" deleted file mode 100644 index e9659034..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/509a10d9-9207-4066-a28d-978c04e34376" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,509a10d9-9207-4066-a28d-978c04e34376},"СозданиеДвухЗаписейВРегистреСведений_ПоискЭлементаПоНаименованию", -{1,"ru","Создание двух записей в регистре сведений поиск элемента по наименованию"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/509a10d9-9207-4066-a28d-978c04e34376.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/509a10d9-9207-4066-a28d-978c04e34376.0" deleted file mode 100644 index a30181b9..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/509a10d9-9207-4066-a28d-978c04e34376.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/60c6634b-14aa-466f-a884-82ed4cb98d0f" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/60c6634b-14aa-466f-a884-82ed4cb98d0f" deleted file mode 100644 index 690a2cce..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/60c6634b-14aa-466f-a884-82ed4cb98d0f" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,60c6634b-14aa-466f-a884-82ed4cb98d0f},"СозданиеПростогоСправочника", -{1,"ru","Создание простого справочника"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/60c6634b-14aa-466f-a884-82ed4cb98d0f.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/60c6634b-14aa-466f-a884-82ed4cb98d0f.0" deleted file mode 100644 index adbe5642..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/60c6634b-14aa-466f-a884-82ed4cb98d0f.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/68803c49-0345-4f51-9184-079744379408" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/68803c49-0345-4f51-9184-079744379408" deleted file mode 100644 index 854844bf..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/68803c49-0345-4f51-9184-079744379408" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,68803c49-0345-4f51-9184-079744379408},"СозданиеОдногоПользователяИБ", -{1,"ru","Создание одного пользователя ИБ"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/68803c49-0345-4f51-9184-079744379408.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/68803c49-0345-4f51-9184-079744379408.0" deleted file mode 100644 index fe688ed3..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/68803c49-0345-4f51-9184-079744379408.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/7a41e200-05d3-4267-a721-5dbe73bf545e" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/7a41e200-05d3-4267-a721-5dbe73bf545e" deleted file mode 100644 index 0df74d96..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/7a41e200-05d3-4267-a721-5dbe73bf545e" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,7a41e200-05d3-4267-a721-5dbe73bf545e},"СозданиеЭлементаИЗаполнениеРеквизитаПоискомПоКоду", -{1,"ru","Создание элемента и заполнение реквизита поиском по коду"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/7a41e200-05d3-4267-a721-5dbe73bf545e.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/7a41e200-05d3-4267-a721-5dbe73bf545e.0" deleted file mode 100644 index 5cf5bf21..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/7a41e200-05d3-4267-a721-5dbe73bf545e.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/7af53c68-a0ad-4144-85f4-d11d73853384" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/7af53c68-a0ad-4144-85f4-d11d73853384" deleted file mode 100644 index 3b2e39f0..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/7af53c68-a0ad-4144-85f4-d11d73853384" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,7af53c68-a0ad-4144-85f4-d11d73853384},"Пример", -{1,"ru","Пример"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/7af53c68-a0ad-4144-85f4-d11d73853384.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/7af53c68-a0ad-4144-85f4-d11d73853384.0" deleted file mode 100644 index 805bf853..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/7af53c68-a0ad-4144-85f4-d11d73853384.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/8b1a6140-f7e3-4151-adce-db0a2046364e" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/8b1a6140-f7e3-4151-adce-db0a2046364e" deleted file mode 100644 index a900f130..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/8b1a6140-f7e3-4151-adce-db0a2046364e" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,8b1a6140-f7e3-4151-adce-db0a2046364e},"СозданиеЕщеНеЗаписанногоОбъектаПростогоСправочника", -{1,"ru","Создание еще не записанного объекта простого справочника"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/8b1a6140-f7e3-4151-adce-db0a2046364e.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/8b1a6140-f7e3-4151-adce-db0a2046364e.0" deleted file mode 100644 index 2e6ec94d..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/8b1a6140-f7e3-4151-adce-db0a2046364e.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/8e915235-e32d-4205-bb26-918ba63bb0f5" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/8e915235-e32d-4205-bb26-918ba63bb0f5" deleted file mode 100644 index 4da166d1..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/8e915235-e32d-4205-bb26-918ba63bb0f5" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,8e915235-e32d-4205-bb26-918ba63bb0f5},"Тест_ДолженПолучитьИсключениеНеверныйРежимПоиска", -{1,"ru","Тест должен получить исключение неверный режим поиска"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/8e915235-e32d-4205-bb26-918ba63bb0f5.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/8e915235-e32d-4205-bb26-918ba63bb0f5.0" deleted file mode 100644 index 0b5202ff..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/8e915235-e32d-4205-bb26-918ba63bb0f5.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/91470bcf-5031-4550-8470-113df7855131" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/91470bcf-5031-4550-8470-113df7855131" deleted file mode 100644 index 0f292d28..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/91470bcf-5031-4550-8470-113df7855131" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,91470bcf-5031-4550-8470-113df7855131},"СозданиеДокументаНаТекущуюДату", -{1,"ru","Создание документа на текущую дату"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/91470bcf-5031-4550-8470-113df7855131.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/91470bcf-5031-4550-8470-113df7855131.0" deleted file mode 100644 index a0fcb939..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/91470bcf-5031-4550-8470-113df7855131.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e" deleted file mode 100644 index d01990cd..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e},"СозданиеГруппыСправочникаИДочернегоЭлемента", -{1,"ru","Создание группы справочника и дочернего элемента"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e.0" deleted file mode 100644 index 4b29e009..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/9d5cc378-50c8-49c6-a45d-fceefcc4a5c5" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/9d5cc378-50c8-49c6-a45d-fceefcc4a5c5" deleted file mode 100644 index 089b9944..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/9d5cc378-50c8-49c6-a45d-fceefcc4a5c5" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,9d5cc378-50c8-49c6-a45d-fceefcc4a5c5},"СозданиеСправочникаСРеквизитом_ПланСчетов", -{1,"ru","Создание справочника с реквизитом план счетов"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/9d5cc378-50c8-49c6-a45d-fceefcc4a5c5.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/9d5cc378-50c8-49c6-a45d-fceefcc4a5c5.0" deleted file mode 100644 index 61fad81a..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/9d5cc378-50c8-49c6-a45d-fceefcc4a5c5.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/a1a3092f-ed45-44ca-9854-834abd352cd4" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/a1a3092f-ed45-44ca-9854-834abd352cd4" deleted file mode 100644 index d835d5e5..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/a1a3092f-ed45-44ca-9854-834abd352cd4" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,a1a3092f-ed45-44ca-9854-834abd352cd4},"СозданиеСправочника2_с_РеквизитомСоставногоТипа", -{1,"ru","Создание справочника2 с реквизитом составного типа"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/a1a3092f-ed45-44ca-9854-834abd352cd4.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/a1a3092f-ed45-44ca-9854-834abd352cd4.0" deleted file mode 100644 index 7ae64129..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/a1a3092f-ed45-44ca-9854-834abd352cd4.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/a5026b9b-d215-4c30-9de1-c54424949e4a" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/a5026b9b-d215-4c30-9de1-c54424949e4a" deleted file mode 100644 index 135f2039..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/a5026b9b-d215-4c30-9de1-c54424949e4a" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,a5026b9b-d215-4c30-9de1-c54424949e4a},"СозданиеПростогоСправочника2", -{1,"ru","Создание простого справочника2"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/a5026b9b-d215-4c30-9de1-c54424949e4a.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/a5026b9b-d215-4c30-9de1-c54424949e4a.0" deleted file mode 100644 index 03776313..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/a5026b9b-d215-4c30-9de1-c54424949e4a.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/b0adb70d-1e31-4637-8c1d-7f6f33baaa7b" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/b0adb70d-1e31-4637-8c1d-7f6f33baaa7b" deleted file mode 100644 index a37e2724..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/b0adb70d-1e31-4637-8c1d-7f6f33baaa7b" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,b0adb70d-1e31-4637-8c1d-7f6f33baaa7b},"НайтиИПерезаполнитьПростойСправочникПоГуидСсылки", -{1,"ru","Найти и перезаполнить простой справочник по гуид ссылки"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/b0adb70d-1e31-4637-8c1d-7f6f33baaa7b.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/b0adb70d-1e31-4637-8c1d-7f6f33baaa7b.0" deleted file mode 100644 index fd8346ef..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/b0adb70d-1e31-4637-8c1d-7f6f33baaa7b.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/c0731e2c-fd73-4143-8a60-52e72c809569" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/c0731e2c-fd73-4143-8a60-52e72c809569" deleted file mode 100644 index ff18c99b..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/c0731e2c-fd73-4143-8a60-52e72c809569" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,c0731e2c-fd73-4143-8a60-52e72c809569},"СозданиеОдногоСправочникаВладельцаБезПодчиненногоСправочника", -{1,"ru","Создание одного справочника владельца без подчиненного справочника"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/c0731e2c-fd73-4143-8a60-52e72c809569.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/c0731e2c-fd73-4143-8a60-52e72c809569.0" deleted file mode 100644 index 47c33ba0..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/c0731e2c-fd73-4143-8a60-52e72c809569.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/d28a1211-a8c4-425c-87f2-c429f96d426f" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/d28a1211-a8c4-425c-87f2-c429f96d426f" deleted file mode 100644 index 22af068e..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/d28a1211-a8c4-425c-87f2-c429f96d426f" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,d28a1211-a8c4-425c-87f2-c429f96d426f},"СозданиеДвухПростыхСправочников", -{1,"ru","Создание двух простых справочников"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/d28a1211-a8c4-425c-87f2-c429f96d426f.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/d28a1211-a8c4-425c-87f2-c429f96d426f.0" deleted file mode 100644 index 81fc9db2..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/d28a1211-a8c4-425c-87f2-c429f96d426f.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/d51f673a-a707-44d6-9610-d58ad958de44" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/d51f673a-a707-44d6-9610-d58ad958de44" deleted file mode 100644 index 6f5e2b27..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/d51f673a-a707-44d6-9610-d58ad958de44" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{d51f673a-a707-44d6-9610-d58ad958de44},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,c303cfea-5e87-4f36-bd34-286c1fc6cc41,5f300b26-59c4-448c-81dc-220c36897d84, -{0, -{0, -{0,0,4b3c529a-00d8-4aee-95a4-f20938cdebdd},"ТестыГенератораДанных1CUnit", -{1,"ru","Тесты генератора данных 1CUnit"},""} -},00000000-0000-0000-0000-000000000000,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,31,7af53c68-a0ad-4144-85f4-d11d73853384,60c6634b-14aa-466f-a884-82ed4cb98d0f,a5026b9b-d215-4c30-9de1-c54424949e4a,8b1a6140-f7e3-4151-adce-db0a2046364e,d28a1211-a8c4-425c-87f2-c429f96d426f,fca00537-610e-40cf-aaf4-fb5faab4fda1,fb359264-55de-49ae-ae08-ff3931a4ec2f,9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e,f175b23c-5152-4613-96dd-f6623676046d,2bf29867-3e26-4d83-8667-da5f11442794,451b28be-4cf6-4356-8c46-ad5cbc0deed0,e893fd06-6ba8-4dd4-93be-d0810d679876,91470bcf-5031-4550-8470-113df7855131,2b4cbacc-14fa-4e57-bfab-9e9af6028901,d764edfb-6285-4f77-ba58-4f8321a489a4,214520bb-70cc-4e3a-a1be-4c6a0f5d9c73,509a10d9-9207-4066-a28d-978c04e34376,68803c49-0345-4f51-9184-079744379408,7a41e200-05d3-4267-a721-5dbe73bf545e,0afb6777-fe50-4b9c-b180-77d1ee3a3d54,8e915235-e32d-4205-bb26-918ba63bb0f5,d7807508-2ab6-4c4d-bc1c-d30f8932565f,f519cbc0-1404-4ef3-9377-16955dc46254,2e398c8a-da05-4e85-9d97-c9680b935568,1d971496-56ca-48b0-a34e-b5359e900090,b0adb70d-1e31-4637-8c1d-7f6f33baaa7b,9d5cc378-50c8-49c6-a45d-fceefcc4a5c5,a1a3092f-ed45-44ca-9854-834abd352cd4,c0731e2c-fd73-4143-8a60-52e72c809569,fc5337e1-f68d-4b0c-82d4-2eedfe89178c,4be1f7e9-0ba6-478f-88e1-190254fe6c6b}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/d764edfb-6285-4f77-ba58-4f8321a489a4" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/d764edfb-6285-4f77-ba58-4f8321a489a4" deleted file mode 100644 index f3ec8b83..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/d764edfb-6285-4f77-ba58-4f8321a489a4" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,d764edfb-6285-4f77-ba58-4f8321a489a4},"СозданиеСправочникаПослеДокументаСДвумяСтрокамиВТабличнойЧасти", -{1,"ru","Создание справочника после документа с двумя строками в табличной части"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/d764edfb-6285-4f77-ba58-4f8321a489a4.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/d764edfb-6285-4f77-ba58-4f8321a489a4.0" deleted file mode 100644 index 4f87e69c..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/d764edfb-6285-4f77-ba58-4f8321a489a4.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/d7807508-2ab6-4c4d-bc1c-d30f8932565f" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/d7807508-2ab6-4c4d-bc1c-d30f8932565f" deleted file mode 100644 index 4673b4ef..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/d7807508-2ab6-4c4d-bc1c-d30f8932565f" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,d7807508-2ab6-4c4d-bc1c-d30f8932565f},"СозданиеЭлементаИЗаполнениеРеквизитаПоискомПоНаименованию", -{1,"ru","Создание элемента и заполнение реквизита поиском по наименованию"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/d7807508-2ab6-4c4d-bc1c-d30f8932565f.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/d7807508-2ab6-4c4d-bc1c-d30f8932565f.0" deleted file mode 100644 index d97acebe..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/d7807508-2ab6-4c4d-bc1c-d30f8932565f.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/e893fd06-6ba8-4dd4-93be-d0810d679876" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/e893fd06-6ba8-4dd4-93be-d0810d679876" deleted file mode 100644 index 556b6333..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/e893fd06-6ba8-4dd4-93be-d0810d679876" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,e893fd06-6ba8-4dd4-93be-d0810d679876},"СозданиеДокументаСДвумяСтрокамиВТабличнойЧасти", -{1,"ru","Создание документа с двумя строками в табличной части"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/e893fd06-6ba8-4dd4-93be-d0810d679876.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/e893fd06-6ba8-4dd4-93be-d0810d679876.0" deleted file mode 100644 index 7bf2fcec..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/e893fd06-6ba8-4dd4-93be-d0810d679876.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/f175b23c-5152-4613-96dd-f6623676046d" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/f175b23c-5152-4613-96dd-f6623676046d" deleted file mode 100644 index a78fe225..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/f175b23c-5152-4613-96dd-f6623676046d" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,f175b23c-5152-4613-96dd-f6623676046d},"СозданиеОбъектаСДвумяСтрокамиВТабличнойЧасти", -{1,"ru","Создание объекта с двумя строками в табличной части"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/f175b23c-5152-4613-96dd-f6623676046d.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/f175b23c-5152-4613-96dd-f6623676046d.0" deleted file mode 100644 index ba3a15dc..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/f175b23c-5152-4613-96dd-f6623676046d.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/f519cbc0-1404-4ef3-9377-16955dc46254" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/f519cbc0-1404-4ef3-9377-16955dc46254" deleted file mode 100644 index 4f1c8504..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/f519cbc0-1404-4ef3-9377-16955dc46254" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,f519cbc0-1404-4ef3-9377-16955dc46254},"Тест_ДолженПолучитьИсключениеПриПопыткеСоздатьЭлементИЗаполнитьРеквизитПоНеверномуНаименованию", -{1,"ru","Тест должен получить исключение при попытке создать элемент и заполнить реквизит по неверному наименованию"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/f519cbc0-1404-4ef3-9377-16955dc46254.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/f519cbc0-1404-4ef3-9377-16955dc46254.0" deleted file mode 100644 index 7efe591d..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/f519cbc0-1404-4ef3-9377-16955dc46254.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/fb359264-55de-49ae-ae08-ff3931a4ec2f" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/fb359264-55de-49ae-ae08-ff3931a4ec2f" deleted file mode 100644 index c78b5f5a..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/fb359264-55de-49ae-ae08-ff3931a4ec2f" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,fb359264-55de-49ae-ae08-ff3931a4ec2f},"СозданиеСвязанныхСправочников", -{1,"ru","Создание связанных справочников"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/fb359264-55de-49ae-ae08-ff3931a4ec2f.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/fb359264-55de-49ae-ae08-ff3931a4ec2f.0" deleted file mode 100644 index 558b5143..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/fb359264-55de-49ae-ae08-ff3931a4ec2f.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/fc5337e1-f68d-4b0c-82d4-2eedfe89178c" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/fc5337e1-f68d-4b0c-82d4-2eedfe89178c" deleted file mode 100644 index 6b121a43..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/fc5337e1-f68d-4b0c-82d4-2eedfe89178c" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,fc5337e1-f68d-4b0c-82d4-2eedfe89178c},"СозданиеОднойЗаписиВРегистреНакопления", -{1,"ru","Создание одной записи в регистре накопления"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/fc5337e1-f68d-4b0c-82d4-2eedfe89178c.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/fc5337e1-f68d-4b0c-82d4-2eedfe89178c.0" deleted file mode 100644 index 5064a8ef..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/fc5337e1-f68d-4b0c-82d4-2eedfe89178c.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/fca00537-610e-40cf-aaf4-fb5faab4fda1" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/fca00537-610e-40cf-aaf4-fb5faab4fda1" deleted file mode 100644 index 43557a60..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/fca00537-610e-40cf-aaf4-fb5faab4fda1" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,fca00537-610e-40cf-aaf4-fb5faab4fda1},"СозданиеДвухПростыхСправочников_с_ОдинаковымИменемПеременной", -{1,"ru","Создание двух простых справочников с одинаковым именем переменной"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/fca00537-610e-40cf-aaf4-fb5faab4fda1.0" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/fca00537-610e-40cf-aaf4-fb5faab4fda1.0" deleted file mode 100644 index de1a503d..00000000 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/fca00537-610e-40cf-aaf4-fb5faab4fda1.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/root" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/root" deleted file mode 100644 index 281cbb0f..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,d51f673a-a707-44d6-9610-d58ad958de44,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/versions" "b/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/versions" deleted file mode 100644 index 64915a40..00000000 --- "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,71,"a5026b9b-d215-4c30-9de1-c54424949e4a.0",bb9b7ff9-fab2-4668-9992-65274be02a3b,"",43bc61d1-1f85-4cb0-8e33-fb941b3758b8,"d7807508-2ab6-4c4d-bc1c-d30f8932565f.0",59e25ec8-58b0-443d-bebe-1f8b54fecb2d,"509a10d9-9207-4066-a28d-978c04e34376",2e70f49f-75b1-41da-882f-5feb743810d9,"c0731e2c-fd73-4143-8a60-52e72c809569.0",6cd0d4ba-c095-431d-b259-de0facabbc19,"a5026b9b-d215-4c30-9de1-c54424949e4a",c10292b8-4e3f-4fa5-9306-630f58940f2f,"d28a1211-a8c4-425c-87f2-c429f96d426f.0",e6a3cc0e-de61-4f46-92fd-92ac075f4be0,"9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e.0",308b68b8-561c-4c6e-9db0-c8c2690c91b6,"7a41e200-05d3-4267-a721-5dbe73bf545e.0",ec969775-db8d-4cb6-a9f0-cd404d7edcc9,"0afb6777-fe50-4b9c-b180-77d1ee3a3d54.0",bf71a129-de88-454c-b872-e337f5571676,"214520bb-70cc-4e3a-a1be-4c6a0f5d9c73",614a5b29-4a13-4ec2-92fb-bea9bc153f4b,"copyinfo",d400e733-1268-4231-bf49-f06665d63a57,"91470bcf-5031-4550-8470-113df7855131.0",2901e162-7438-4a93-b7a0-72d6b0a514bb,"versions",74f4efb8-cfea-42b7-acd0-29e11d992789,"f519cbc0-1404-4ef3-9377-16955dc46254",17a8f36f-1882-4285-ac10-01064e97c0fe,"451b28be-4cf6-4356-8c46-ad5cbc0deed0",b19d1f34-d2f7-4d6a-831f-9b0a8f8344f5,"f175b23c-5152-4613-96dd-f6623676046d.0",ad695472-580e-4c75-b1a4-d19ac7e25bca,"1d971496-56ca-48b0-a34e-b5359e900090.0",ae3b930e-87d5-4c7c-a4b9-9cd73d249201,"fca00537-610e-40cf-aaf4-fb5faab4fda1.0",d60ddd70-f545-45ca-a664-700fb713d0e9,"4be1f7e9-0ba6-478f-88e1-190254fe6c6b",8e2a50cf-c9a1-489b-8a3f-8a19985b332e,"68803c49-0345-4f51-9184-079744379408.0",1181bb4e-013f-4345-9196-ee6a3147271d,"1d971496-56ca-48b0-a34e-b5359e900090",d01483b9-7fb6-4ec1-b320-6b638a0af5cd,"fca00537-610e-40cf-aaf4-fb5faab4fda1",1af3982f-11a7-4708-a97e-08b3f4fb02e8,"60c6634b-14aa-466f-a884-82ed4cb98d0f",6836bc5a-01aa-4194-b6ce-4f9f51839335,"7af53c68-a0ad-4144-85f4-d11d73853384.0",18210615-6f84-4380-a0f2-92aee6e8ea59,"b0adb70d-1e31-4637-8c1d-7f6f33baaa7b.0",a576d0ac-4421-4af0-a58d-80e79063d6b0,"d28a1211-a8c4-425c-87f2-c429f96d426f",1f004f2c-01af-4908-9f7d-2b711e57b936,"9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e",1c049a5c-ba3e-4de3-9438-b76fc75a5b96,"d764edfb-6285-4f77-ba58-4f8321a489a4.0",be47426b-0bce-43b2-a4b2-4c73416db682,"a1a3092f-ed45-44ca-9854-834abd352cd4.0",a61a383a-8b2f-4a36-bcca-5c66023b59a5,"91470bcf-5031-4550-8470-113df7855131",33d791fa-a5d5-461e-82ac-6d2bf7b693fc,"9d5cc378-50c8-49c6-a45d-fceefcc4a5c5",d1106ba5-ac1b-435e-bf96-cf24d0943a7e,"451b28be-4cf6-4356-8c46-ad5cbc0deed0.0",a380dd4a-a046-4846-8dd7-f56a464a1df0,"d764edfb-6285-4f77-ba58-4f8321a489a4",0e6aec41-1066-4e6c-a144-153086a30d0e,"8b1a6140-f7e3-4151-adce-db0a2046364e.0",b5d65e70-2003-4134-be6d-86e703351fca,"7a41e200-05d3-4267-a721-5dbe73bf545e",a62931e7-3926-4061-9ca3-90d306504883,"root",26fdef75-9d8b-4c3c-941e-e5577577d90c,"d7807508-2ab6-4c4d-bc1c-d30f8932565f",c538fd0e-8d09-40ef-b3ea-f1c45e519ea9,"2b4cbacc-14fa-4e57-bfab-9e9af6028901",18944d89-d244-48b9-833c-0bc4e82e9a52,"2b4cbacc-14fa-4e57-bfab-9e9af6028901.0",6559718f-c78e-4107-be4f-ebb0a2334797,"e893fd06-6ba8-4dd4-93be-d0810d679876",a8c68002-8ddd-422e-a98a-e50c850746a1,"4b3c529a-00d8-4aee-95a4-f20938cdebdd.0",516c4dc7-4afc-4f02-9412-84a8dd3df318,"9d5cc378-50c8-49c6-a45d-fceefcc4a5c5.0",330a64e4-ce2c-4e9e-b560-6fd2b6fd6f65,"8e915235-e32d-4205-bb26-918ba63bb0f5.0",2392c44a-6ac4-423b-9c09-754208371ae8,"8e915235-e32d-4205-bb26-918ba63bb0f5",7bf90d17-2b0c-4840-9665-12dc5a5a8a56,"a1a3092f-ed45-44ca-9854-834abd352cd4",dda8b674-1e0e-4a97-91a4-5e3bdfc2ddc6,"509a10d9-9207-4066-a28d-978c04e34376.0",aef698a6-fde3-481d-9d49-a386ce099034,"f519cbc0-1404-4ef3-9377-16955dc46254.0",cfeb1398-7892-4f88-82d0-efc4dc390c7e,"0afb6777-fe50-4b9c-b180-77d1ee3a3d54",681321e0-ec19-4a75-9d37-868b09776395,"f175b23c-5152-4613-96dd-f6623676046d",20ae1864-0a2f-4895-9a17-278e10f3990d,"60c6634b-14aa-466f-a884-82ed4cb98d0f.0",7c0c83d3-46e7-467b-b7c1-00b4d7cb9a34,"c0731e2c-fd73-4143-8a60-52e72c809569",ca50431a-f5e8-4e83-b8ed-0d038c7caa87,"8b1a6140-f7e3-4151-adce-db0a2046364e",210833fc-9955-4e76-9f4b-9256bb5bcf89,"214520bb-70cc-4e3a-a1be-4c6a0f5d9c73.0",13271fb0-c630-45ac-b4f0-64805ab952e4,"4b4f7c2d-d158-42a5-89b6-06bf7449b85d",6f76e4bb-9186-48b0-b812-eee7f91282b0,"fc5337e1-f68d-4b0c-82d4-2eedfe89178c",de7f0f4b-e0e2-4306-9651-ec1221fe6d4b,"fb359264-55de-49ae-ae08-ff3931a4ec2f",db92198b-1893-477b-bf8d-792802177efb,"d51f673a-a707-44d6-9610-d58ad958de44",b2cd798d-4c7e-4ec9-b458-3c2cb89792f1,"68803c49-0345-4f51-9184-079744379408",3dccb10d-6eb2-49d5-847e-a2a5bc22818a,"2bf29867-3e26-4d83-8667-da5f11442794",c71a80ae-1156-467a-b1db-3f6d524fd8da,"e893fd06-6ba8-4dd4-93be-d0810d679876.0",4a8e8a8e-3c59-4726-a6ee-99bf916c7473,"2bf29867-3e26-4d83-8667-da5f11442794.0",019cd35b-38bc-4a46-8c2b-4879b7424b0e,"2e398c8a-da05-4e85-9d97-c9680b935568",0bda8097-f771-4a3e-b891-4b51d017e98f,"2e398c8a-da05-4e85-9d97-c9680b935568.0",6fb7af29-f379-426b-9180-61638ede3167,"version",8a5acc6d-3136-49f2-ba58-c4012eb726ca,"4be1f7e9-0ba6-478f-88e1-190254fe6c6b.0",c215eb24-7bc9-47c3-88a6-7f841ad0e24f,"fb359264-55de-49ae-ae08-ff3931a4ec2f.0",cbc2c9dc-7747-46e9-b702-9151bfbcc1ab,"fc5337e1-f68d-4b0c-82d4-2eedfe89178c.0",b5b3075a-b517-4800-bf28-8a059bea9a9c,"56462dd1-4628-4b19-ae51-8c504e7e9137",fbbf8598-3504-4e5e-9f21-2035cf0fd884,"b0adb70d-1e31-4637-8c1d-7f6f33baaa7b",4a596617-7b3a-4b83-817e-c9c269e4e1e6,"7af53c68-a0ad-4144-85f4-d11d73853384",19fc021f-8c41-432e-a05e-c2fc13948b89} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Form/\320\244\320\276\321\200\320\274\320\260/form" "b/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Form/\320\244\320\276\321\200\320\274\320\260/form" deleted file mode 100644 index 1e15c1de..00000000 --- "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Form/\320\244\320\276\321\200\320\274\320\260/form" +++ /dev/null @@ -1,815 +0,0 @@ -{27, -{16, -{ -{1,1, -{"ru","Обработка Тесты генерация макета данных на базе реальных данных"} -},7,4294967295}, -{09ccdc77-ea1a-4a6d-ab1c-3435eada2433, -{1, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},21,1, -{0,6,1},2, -{0,6,1}, -{0,7,1},1, -{0,2,2},4, -{0,2,3}, -{0,5,3}, -{0,6,3}, -{0,7,3},0,0, -{3,1, -{3,0, -{0},"",-1,-1,1,0} -},0,1, -{1,1, -{3, -{1,1, -{"ru","Страница1"} -}, -{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,33,0,1,2,0,0,0,0}, -{2,738,1,1,3,0,0,8,0}, -{2,391,0,1,4,0,0,8,0},0,4294967295,5,64,0}, -{0} -}, -{4, -{e69bf21d-97b2-4f37-86db-675aea9ec2cb,2, -{2, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-21} -}, -{3,0, -{0},4,1,0,00000000-0000-0000-0000-000000000000}, -{1,0} -},8,2,1,0,1,1, -{5,c45fa92b-aba3-4d9e-a9fe-274560abc287,16,1,7, -{6,2a06c2a4-b33e-4081-a3a4-01cef8941a8f,1,fbe38877-b914-4fd5-8540-07dde06ba2e1, -{6,4294967295,00000000-0000-0000-0000-000000000000,142, -{1,99,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0},0,1},0}, -{6,a0dc9f44-9bb3-4f4e-bf19-c26eeeaafc9b,1,e1692cc2-605b-4535-84dd-28440238746c, -{3,"КоманднаяПанель1ПротестироватьЗагрузкуМакета", -{1,"КоманднаяПанель1ПротестироватьЗагрузкуМакета", -{1,1, -{"ru","Протестировать загрузку макета"} -}, -{1,1, -{"ru","Протестировать загрузку макета"} -}, -{1,1, -{"ru","Протестировать загрузку макета"} -}, -{3,0, -{0},"",-1,-1,1,0}, -{0,0,0} -} -},0}, -{6,813a1931-8b06-4c36-b49e-3448d8919f93,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,9b2a0ea3-24a3-4392-93d1-8f95f50246b2,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,38e9321f-598f-403f-a79d-e8716df595b4,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,72d304e5-fc5f-4a2e-b409-f450f761af54,1,e1692cc2-605b-4535-84dd-28440238746c, -{3,"КоманднаяПанель1СохранитьМакетДанныхВФайл", -{1,"КоманднаяПанель1СохранитьМакетДанныхВФайл", -{1,1, -{"ru","Сохранить макет данных в файл"} -}, -{1,1, -{"ru","Сохранить макет данных в файл"} -}, -{1,1, -{"ru","Сохранить макет данных в файл"} -}, -{3,0, -{0},"",-1,-1,1,0}, -{0,0,0} -} -},0}, -{6,381cd498-b0cc-404e-a91d-7bb0c7a11a1b,1,e1692cc2-605b-4535-84dd-28440238746c, -{3,"КоманднаяПанель1СоздатьМакетДанных", -{1,"КоманднаяПанель1СоздатьМакетДанных", -{1,1, -{"ru","Создать макет данных"} -}, -{1,1, -{"ru","Создать макет данных"} -}, -{1,1, -{"ru","Создать макет данных"} -}, -{3,0, -{0},"",-1,-1,1,0}, -{0,0,0} -} -},0},1, -{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,7,381cd498-b0cc-404e-a91d-7bb0c7a11a1b, -{8,"СоздатьМакетДанных",0,1, -{1,1, -{"ru","Создать макет данных"} -},0,c45fa92b-aba3-4d9e-a9fe-274560abc287,10,1e2,0,0,1,0,0,0,0},38e9321f-598f-403f-a79d-e8716df595b4, -{8,"Разделитель1",0,1, -{1,1, -{"ru","Действие1"} -},0,c45fa92b-aba3-4d9e-a9fe-274560abc287,11,1e2,2,0,1,0,0,0,0},a0dc9f44-9bb3-4f4e-bf19-c26eeeaafc9b, -{8,"ПротестироватьЗагрузкуМакета",0,1, -{1,1, -{"ru","Протестировать загрузку макета"} -},0,c45fa92b-aba3-4d9e-a9fe-274560abc287,12,1e2,0,0,1,0,0,0,0},9b2a0ea3-24a3-4392-93d1-8f95f50246b2, -{8,"Разделитель2",0,1, -{1,1, -{"ru","Действие1"} -},0,c45fa92b-aba3-4d9e-a9fe-274560abc287,13,1e2,2,0,1,0,0,0,0},72d304e5-fc5f-4a2e-b409-f450f761af54, -{8,"СохранитьМакетДанныхВФайл",0,1, -{1,1, -{"ru","Сохранить макет данных в файл"} -},0,c45fa92b-aba3-4d9e-a9fe-274560abc287,14,1e2,0,0,1,0,0,0,0},813a1931-8b06-4c36-b49e-3448d8919f93, -{8,"Разделитель3",0,1, -{1,1, -{"ru","Действие2"} -},0,c45fa92b-aba3-4d9e-a9fe-274560abc287,16,1e2,2,0,1,0,0,0,0},2a06c2a4-b33e-4081-a3a4-01cef8941a8f, -{8,"Действие1",0,1, -{1,1, -{"ru","Закрыть"} -},0,c45fa92b-aba3-4d9e-a9fe-274560abc287,15,1e2,0,3,1,0,0,0,0}, -{0,0, -{0} -} -} -},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,9d0a2e40-b978-11d4-84b6-008048da06df,0} -}, -{8,0,0,746,25,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,2,0,25}, -{2,-1,6,0} -}, -{0, -{2,0,2,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,2,1},0,0,0,0,0,0,0,1,1,0}, -{14,"КоманднаяПанель1",0,0,0,0}, -{0} -}, -{e69bf21d-97b2-4f37-86db-675aea9ec2cb,5, -{2, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},8,2,1,0,1,1, -{5,c57d1982-5648-4cf0-a874-e4b7f130b2f9,11,1,0,1, -{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,0, -{0,0, -{0} -} -} -},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,9d0a2e40-b978-11d4-84b6-008048da06df,0} -}, -{8,8,33,738,58,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,5,0,25}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,-8}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,5,1},0,0,0,0,0,0,1,2,0,0}, -{14,"КоманднаяПанель2",6,0,0,0}, -{0} -}, -{ea83fe3a-ac3c-4cce-8045-3dddf35b28b1,6, -{5, -{"Pattern", -{"#",acf6192e-81ca-46ef-93a6-5a6968b78663} -}, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,1, -{-18},0,0,0}, -{1,0} -}, -{15,117644301, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-14} -}, -{3,3, -{-15} -}, -{3,3, -{-13} -},2,2,0,0,0,0,0,1,1, -{6,2,0, -{-20},1}, -{6,2,0, -{-20},1},2,0,1, -{6, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","Ссылка"} -}, -{1,0}, -{1,0},1e2,0,-1,-1,-1,12590592, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"Ссылка", -{},-1,0, -{1,0}, -{"Pattern", -{"#",38bfd075-3e63-4aaa-a93e-94521380d579}, -{"#",474c3bf6-08b5-4ddc-a2ad-989cedf11583}, -{"#",e61ef7b8-f3e1-4f4b-8ac7-676e90524997} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcN1VM9bhUxEKahiZSOAzyZdkfyv8e3oOEAttcuKaKk -ip4ERWjSUtAhOAFIIJ4IUa7gPQlXwD9vd5MHQUGiwT9jz4+/GXs8Tx4/au3H1c25 -HY6Pzskzd3oaT16Qxjwlg0CfRmoUiKgFSOccOCsiWKk4E0hHZex2NpZGBuGTBope -gRzHAI67ESzaEMfEmEKxGEfNYjIeIYnIQCbpAV0woI2OliourTXb46Nm3wejA6uc -GGRd6Kw95PUghmK6LaRpRV2A8/vsf+X7CXMo4GyVtEiAYfVSepOyoWNw1oQzvc31 -Lnto5DnZLishd4yaE9rjqjpgdbC9p/tUy9m7Qc2oa/hVwVJkniuwJtRslZ3zIgEG -65RWinEe9772DX5D5rZA0xiNNwFwdAFk5BS8wgjRJGMkdxFH7GGxv8JFhYpT48EG -Z0ByVXYCFURMozZBRiYbrir35A9CvpWxPrqgEM7KT0ahpRki05aHwEHT4lEqoQDL -xwaOUlIu0Egd+iOR/CF/zJ/yVd5Nr8vuTZnX+Xq6nC7y++nVdFk034rs3fQy7/Lb -/DV/z1+KRZ27vCPd+79BabcgJ2fkEG+TP6+Am4K3IG7yTYXcFJRDzPVt/i/cP9TP -Ug1r8nvxLQWz/Qk=},0} -}, -{-1}, -{-1}, -{-1} -},"Ссылка","","",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","Метаданное"} -}, -{1,0}, -{1,0},1e2,1,-1,-1,-1,12590592, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"Метаданное", -{},-1,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ -OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U -bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm -rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ -XFhJtSKWz30vMgcItzCmDw==},0} -}, -{-1}, -{-1}, -{-1} -},"Метаданное","","",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","Имя переменной"} -}, -{1,0}, -{1,0},1e2,2,-1,-1,-1,12590592, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"ИмяПеременной", -{},-1,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ -OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U -bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm -rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ -XFhJtSKWz30vMgcItzCmDw==},0} -}, -{-1}, -{-1}, -{-1} -},"ИмяПеременной","","",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","Выгружать код"} -}, -{1,0}, -{1,0},1e2,4,-1,-1,-1,12590592, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"ВыгружатьКод1", -{},15,0, -{1,0}, -{"Pattern", -{"B"} -},0,1,35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU9RDoMwCPXbxJtAApRpex21vYTpyfaxI+0A/tiW -uCW6AeHlAS/A3pm9n6+NYeg3CyZozIFWoDz0+RcfwUEZzSW1rquAIv/m79wU07Ug -/K2QSQpWV+9YFgoojymhzhJwFk8oXtfVh5gWjk3IYGv0JOWldmsFyp87Dg==},0} -}, -{-1}, -{-1}, -{-1} -},"ВыгружатьКод","","",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","Выгружать код"} -}, -{1,0}, -{1,0},1e2,3,-1,-1,-1,12590592, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"ВыгружатьНомер", -{},-1,0, -{1,0}, -{"Pattern", -{"B"} -},0,1,35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU9RDoMwCPXbxJtAApRpex21vYTpyfaxI+0A/tiW -uCW6AeHlAS/A3pm9n6+NYeg3CyZozIFWoDz0+RcfwUEZzSW1rquAIv/m79wU07Ug -/K2QSQpWV+9YFgoojymhzhJwFk8oXtfVh5gWjk3IYGv0JOWldmsFyp87Dg==},0} -}, -{-1}, -{-1}, -{-1} -},"ВыгружатьНомер","","",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","Режим поиска"} -}, -{1,0}, -{1,0},1e2,5,-1,-1,-1,12590592, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"РежимПоиска", -{},-1,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ -OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U -bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm -rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ -XFhJtSKWz30vMgcItzCmDw==},0} -}, -{-1}, -{-1}, -{-1} -},"РежимПоиска","","",0} -} -},0,0,0,0} -}, -{342cf854-134c-42bb-8af9-a2103d5d9723, -{5,0,0,1} -}, -{0} -}, -{8,8,63,738,245,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,0,245}, -{2,0,1,-154} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,-8}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},0,1, -{0,7,0},0,0,0,0,0,2,3,0,0}, -{14,"ТаблицаДанных",4294967295,0,0,0}, -{0} -}, -{236a17b3-7f44-46d9-a907-75f9cdc61ab5,7, -{16,8,250,738,386,5,5,1,1, -{3,3, -{-22} -}, -{3,1, -{-18},0,0,0}, -{8,1,6, -{"ru","ru",1,1,"ru","Русский","Русский"}, -{128,72}, -{0},0, -{0,0}, -{0,0}, -{0,0}, -{0,0}, -{0,0}, -{0,0},0,2,0, -{0,0,00000000-0000-0000-0000-000000000000,0},0,0,0,0,0,0,0,0,0, -{0}, -{0}, -{0}, -{0},"", -{ -{0,6,6, -{"N",1000},7, -{"N",1000},8, -{"N",1000},9, -{"N",1000},10, -{"N",1000},11, -{"N",1000} -} -}, -{0,-1,-1,-1,-1,00000000-0000-0000-0000-000000000000},0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,2, -{3,3, -{-1} -}, -{3,3, -{-3} -},0,0,0,"",0, -{2,0,0,100,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,"",0,0,0,0,0,0}, -{0},0},0,1, -{2,5,4,100,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,"ru",0,1, -{3,5,4,5,4,00000000-0000-0000-0000-000000000000},0,0,0,0},1,1, -{0},0,0,0,1,1,1,0,1,1,0,0,0}, -{8,8,250,738,386,1, -{0, -{2,6,1,5}, -{2,-1,6,0} -}, -{0, -{2,0,1,-13}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,-8}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},0,0,0,0,0,0,0,3,4,0,0}, -{14,"Макет",4294967295,0,0,0}, -{0} -} -} -},746,399,1,0,1,4,4,17}, -{ -{0},4, -{2, -{ -{0},0,0,1,"ОбработкаОбъект", -{"Pattern", -{"#",62387e90-6294-426d-a644-b8da58c6ba21} -} -}, -{ -{3},1,0,1,"ТаблицаДанных", -{"Pattern", -{"#",acf6192e-81ca-46ef-93a6-5a6968b78663} -} -} -}, -{1, -{6, -{1, -{3} -} -} -} -}, -{59d6c227-97d3-46f6-84a0-584c5a2807e1,1, -{2,0, -{0,0}, -{0},1} -}, -{0},1,4,1,0,0,0, -{0}, -{0}, -{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/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Form/\320\244\320\276\321\200\320\274\320\260/module" "b/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Form/\320\244\320\276\321\200\320\274\320\260/module" deleted file mode 100644 index c745f792..00000000 --- "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Form/\320\244\320\276\321\200\320\274\320\260/module" +++ /dev/null @@ -1,106 +0,0 @@ -Функция Объект() - Возврат ЭтотОбъект; -КонецФункции - -Процедура КоманднаяПанель1СоздатьМакетДанных(Кнопка) - НовыйМакет = СоздатьМакетДанныхСервер(); -КонецПроцедуры - -Функция СоздатьМакетДанныхСервер() - Макет = ЭлементыФормы.Макет; - Макет.Очистить(); - ОсновнойОбъект = Объект(); - массивДанных = Новый Массив; - Для каждого строка Из ТаблицаДанных Цикл - ОписательЭлемента = ОсновнойОбъект.СоздатьОписательЭлемента(); - ЗаполнитьЗначенияСвойств(ОписательЭлемента, строка); - массивДанных.Добавить(ОписательЭлемента); - КонецЦикла; - НовыйМакет = ОсновнойОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - Если ТипЗнч(НовыйМакет) = Тип("ТабличныйДокумент") Тогда - Макет.Вывести(НовыйМакет); - КонецЕсли; - Возврат НовыйМакет; -КонецФункции - -Процедура КоманднаяПанель1СохранитьМакетДанныхВФайл(Кнопка) - ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); - ДиалогВыбораФайла.ПолноеИмяФайла = ""; - ДиалогВыбораФайла.Фильтр = "Табличный документ (*.mxl)|*.mxl|Все файлы (*.*)|*.*"; - ДиалогВыбораФайла.Заголовок = "Выберите файл"; - Если Не ДиалогВыбораФайла.Выбрать() Тогда - Возврат; - КонецЕсли; - - Макет = ЭлементыФормы.Макет; - Макет.Записать(ДиалогВыбораФайла.ПолноеИмяФайла); -КонецПроцедуры - -Процедура КоманднаяПанель1ПротестироватьЗагрузкуМакета(Кнопка) - путьФайл_юТест = ПолучитьПутьОбработкиЗапускателяТестов_Сервер(); - - //ИдОбработки_юТест = Новый УникальныйИдентификатор(); - //ПодключитьНаСервереВнешнююОбработкуОтКлиента(путьФайл_юТест, ИдОбработки_юТест); - ИдОбработки_юТест = путьФайл_юТест; - - Макет = ЭлементыФормы.Макет; - ПроверитьЗагрузкуМакетаСервер(ИдОбработки_юТест, Макет); -КонецПроцедуры - -Процедура ПроверитьЗагрузкуМакетаСервер(ИдОбработки_юТест, ТабличныйДокумент) - НачатьТранзакцию(); - - юТест = ВнешниеОбработки.Создать(ИдОбработки_юТест); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(ТабличныйДокумент); - юТест.ПроверитьНеРавенство(0, ТестовыеДанные.Количество(), "не заполнены тестовые данные. Возможно, макет данных пуст!" ); - - Если ТранзакцияАктивна() Тогда - ОтменитьТранзакцию(); - КонецЕсли; - Сообщить("Проверка загрузки объектов в ИБ из макета данных выполнена успешно."); -КонецПроцедуры - -Функция ПолучитьПутьОбработкиЗапускателяТестов_Сервер() - каталогТекущегоФайла = ПолучитьКаталогОбработкиСервер(); - - имяФайла_Раннера = "UnitTestRunner.epf"; - Файл = Новый Файл(каталогТекущегоФайла + имяФайла_Раннера); - Если НЕ Файл.Существует() Тогда - Файл = Новый Файл(каталогТекущегоФайла + "..\" + имяФайла_Раннера); - Если НЕ Файл.Существует() Тогда - ВызватьИсключение "Не удалось найти файл "+имяФайла_Раннера; - КонецЕсли; - КонецЕсли; - путьФайл_Раннер = Файл.ПолноеИмя; - Возврат путьФайл_Раннер; -КонецФункции - -&НаСервере -Функция ПолучитьКаталогОбработкиСервер() - ОсновнойОбъект = Объект(); - МассивСтрок = ОсновнойОбъект.ПолучитьМассивИзСтрокиСРазделителем_ирЛкс(ОсновнойОбъект.ИспользуемоеИмяФайла, "\"); - МассивСтрок.Удалить(МассивСтрок.ВГраница()); - Каталог = ""; - Для каждого Строка Из МассивСтрок Цикл - Каталог = Каталог + Строка + "\"; - КонецЦикла; - Возврат Каталог; -КонецФункции - -Процедура ТаблицаДанныхСсылкаПриИзменении(Элемент) - //ТаблицаДанныхСсылкаПриИзмененииСервер(Элементы.ТаблицаДанных.ТекущиеДанные.ПолучитьИдентификатор()); - ТаблицаДанныхСсылкаПриИзмененииСервер(ЭлементыФормы.ТаблицаДанных.ТекущаяСтрока); -КонецПроцедуры - -Процедура ТаблицаДанныхСсылкаПриИзмененииСервер(ИдентификаторСтрокиДанных) - //ЭлементДанных = ТаблицаДанных.НайтиПоИдентификатору(ИдентификаторСтрокиДанных); - ЭлементДанных = ИдентификаторСтрокиДанных; - Если ЗначениеЗаполнено(ЭлементДанных.Ссылка) Тогда - ОсновнойОбъект = Объект(); - Ид = ОсновнойОбъект.ПолучитьИдентификаторПредставленияПоСсылке(ЭлементДанных.Ссылка); - ЭлементДанных.ИмяПеременной = Ид; - ЭлементДанных.Метаданное = ЭлементДанных.Ссылка.Метаданные().ПолноеИмя(); - ЭлементДанных.РежимПоиска = "Перем"; - КонецЕсли; -КонецПроцедуры diff --git "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/ObjectModule.txt" "b/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/ObjectModule.txt" deleted file mode 100644 index fa799bd7..00000000 --- "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/ObjectModule.txt" +++ /dev/null @@ -1,1093 +0,0 @@ -Перем ТестовыеДанныхДляУдаления; - -//{ основная процедура для юнит-тестирования xUnitFor1C -Перем юТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - //юТест.ДобавитьПростыеТестыИзОбъекта(ВсеТесты, ЭтотОбъект); - - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияПростогоСправочника"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияОбъектаСЗаполненнымРеквизитомТипаПеречисление"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияДвухПростыхСправочников"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияДвухСвязанныхСправочников"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияСправочникаСРеквизитомСсылка_РежимПоискаКод"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияСправочникаСДвумяСтрокамиВТабличнойЧасти"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияДокументаСДвумяСтрокамиВТабличнойЧасти"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияДвухЗаписейВРегистреСведений"); - - Возврат ВсеТесты; - -КонецФункции -//} - -//{ ОСНОВНОЙ БЛОК -Функция СоздатьМакетДляГенерацииДанных(МассивДанных) Экспорт - ШапкаДанных = ШапкаДанныхВМакете(); - Макет = Новый ТабличныйДокумент; - номерКолонки = 0; - Для каждого ключЗначение Из ШапкаДанных Цикл - номерКолонки = номерКолонки + 1; - имяПоля = ключЗначение.Ключ; - Макет.Область(1, номерКолонки, 1, номерКолонки).Текст = имяПоля ; - КонецЦикла; - - Для каждого ОписательОбъекта Из МассивДанных Цикл - ДобавитьОбъектВМакет(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных); - КонецЦикла; - Возврат Макет; -КонецФункции - -Функция СоздатьОписательЭлемента() Экспорт - ОписательЭлемента = Новый Структура; - ОписательЭлемента.Вставить("Ссылка"); - ОписательЭлемента.Вставить("ИмяПеременной", ""); - ОписательЭлемента.Вставить("Метаданное"); - ОписательЭлемента.Вставить("ВыгружатьКод", Ложь); - ОписательЭлемента.Вставить("ВыгружатьНомер", Ложь); - ОписательЭлемента.Вставить("РежимПоиска", ""); - ОписательЭлемента.Вставить("Реквизиты", ""); - Возврат ОписательЭлемента; -КонецФункции - -Функция ПолучитьИдентификаторПредставленияПоСсылке(Ссылка) Экспорт - Мд = Ссылка.Метаданные(); - - менеджерОбъекта = ПолучитьМенеджерОбъекта_ирЛкс(Мд); - КорневойТипКонфигурации = ПолучитьКорневойТипКонфигурации_ирЛкс(Мд); - - Представление = ""; - Если КорневойТипКонфигурации = "Справочник" Тогда - Представление = Ссылка.Наименование; - ИначеЕсли КорневойТипКонфигурации = "Документ" Тогда - Представление = ""+Ссылка; - //ИначеЕсли КорневойТипКонфигурации = "РегистрСведений" Тогда - Иначе - ВызватьИсключение "ПолучитьИдентификаторПредставленияПоСсылке() : Неизвестный КорневойТипКонфигурации <"+КорневойТипКонфигурации+">"; - КонецЕсли; - рез = ПолучитьИдентификаторИзПредставления_Лкс(Представление, Неопределено, "_"); - Возврат рез; -КонецФункции - -Процедура ДобавитьОбъектВМакет(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных) - //ЭтоСсылочныйОбъект = Ложь; - Ссылка = Неопределено; - Мд = Неопределено; - ЭтоСсылочныйОбъект = ЭтоОписательОбъектаСсылки(ОписательОбъекта, Ссылка); - Если ЭтоСсылочныйОбъект Тогда - ЭтоСсылочныйОбъект = Истина; - Мд = Ссылка.Метаданные(); - ИначеЕсли ОписательОбъекта.Свойство("Метаданное", Мд) Тогда - КонецЕсли; - - ДобавитьМетаданныеВМакетДляДобавляемогоОбъекта(Макет, ОписательОбъекта, ШапкаДанных, Макет.ВысотаТаблицы+1, Мд); - - менеджерОбъекта = ПолучитьМенеджерОбъекта_ирЛкс(Мд); - КорневойТипКонфигурации = ПолучитьКорневойТипКонфигурации_ирЛкс(Мд); - Если КорневойТипКонфигурации = "Справочник" Тогда - лПустойОбъект = менеджерОбъекта.СоздатьЭлемент(); - ИначеЕсли КорневойТипКонфигурации = "Документ" Тогда - лПустойОбъект = менеджерОбъекта.СоздатьДокумент(); - ИначеЕсли КорневойТипКонфигурации = "РегистрСведений" Тогда - Иначе - ВызватьИсключение "Неизвестный КорневойТипКонфигурации <"+КорневойТипКонфигурации+">"; - КонецЕсли; - - ВыгружаемыеСтандартныеРеквизиты = ВыгружаемыеСтандартныеРеквизиты(ОписательОбъекта, КорневойТипКонфигурации); - - Если ЗначениеЗаполнено(Ссылка) Тогда - объект = Ссылка.ПолучитьОбъект(); - - ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект, лПустойОбъект, Мд.СтандартныеРеквизиты, ВыгружаемыеСтандартныеРеквизиты); - ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект, лПустойОбъект, Мд.Реквизиты, Неопределено); - - ОбработатьТабличныеЧастиОбъекта(Макет, Мд.ТабличныеЧасти, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект); - ИначеЕсли КорневойТипКонфигурации = "РегистрСведений" Тогда - ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Мд, Неопределено, Мд.СтандартныеРеквизиты, ВыгружаемыеСтандартныеРеквизиты); - ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Мд, Неопределено, Мд.Измерения, Неопределено); - ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Мд, Неопределено, Мд.Ресурсы, Неопределено); - ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Мд, Неопределено, Мд.Реквизиты, Неопределено); - Иначе - ВызватьИсключение "Неизвестный вариант работы - метод <ДобавитьОбъектВМакет>"; - КонецЕсли; -КонецПроцедуры - -Процедура ДобавитьМетаданныеВМакетДляДобавляемогоОбъекта(Макет, ОписательОбъекта, ШапкаДанных, НомерСтрокиМакета, Мд) - НомерКолонкиМакета_Тип = ШапкаДанных.Тип; - ОбластьМакета = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_Тип, НомерСтрокиМакета, НомерКолонкиМакета_Тип); - ОбластьМакета.Текст = ПолучитьКорневойТипКонфигурации_ирЛкс(Мд); - - НомерКолонкиМакета_Вид = ШапкаДанных.Вид; - ОбластьМакета = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_Вид, НомерСтрокиМакета, НомерКолонкиМакета_Вид); - ОбластьМакета.Текст = Мд.Имя; - - НомерКолонкиМакета_ИмяПеременной = ШапкаДанных.ИмяПеременной; - ОбластьМакета = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_ИмяПеременной, НомерСтрокиМакета, НомерКолонкиМакета_ИмяПеременной); - - ИмяПеременной = ИмяПеременнойИзОписателяОбъекта(Мд, ОписательОбъекта); - ОбластьМакета.Текст = ИмяПеременной; -КонецПроцедуры - -Функция ВыгружаемыеСтандартныеРеквизиты(ОписательОбъекта, КорневойТипКонфигурации) - ВыгружаемыеСтандартныеРеквизиты = Новый Массив; - Если КорневойТипКонфигурации = "Справочник" Тогда - ВыгружаемыеСтандартныеРеквизиты.Добавить("Наименование"); - ВыгружаемыеСтандартныеРеквизиты.Добавить("ПометкаУдаления"); - ВыгружатьКод = Ложь; - Если ОписательОбъекта.Свойство("ВыгружатьКод", ВыгружатьКод) и ВыгружатьКод Тогда - ВыгружаемыеСтандартныеРеквизиты.Добавить("Код"); - КонецЕсли; - ИначеЕсли КорневойТипКонфигурации = "Документ" Тогда - ВыгружаемыеСтандартныеРеквизиты.Добавить("Дата"); - ВыгружаемыеСтандартныеРеквизиты.Добавить("ПометкаУдаления"); - //ВыгружаемыеСтандартныеРеквизиты.Добавить("Проведен"); - ВыгружатьКод = Ложь; - Если ОписательОбъекта.Свойство("ВыгружатьНомер", ВыгружатьКод) и ВыгружатьКод Тогда - ВыгружаемыеСтандартныеРеквизиты.Добавить("Номер"); - КонецЕсли; - ИначеЕсли КорневойТипКонфигурации = "РегистрСведений" Тогда - //Для каждого МдРеквизит Из ОписательОбъекта.Метаданное.СтандартныеРеквизиты Цикл - // Сообщить("МдРеквизит.Имя = <"+?(МдРеквизит.Имя = Неопределено, "Неопределено", МдРеквизит.Имя)+">"); - //КонецЦикла; - Иначе - ВызватьИсключение "Неизвестный КорневойТипКонфигурации <"+КорневойТипКонфигурации+"> КорневойТипКонфигурации()"; - КонецЕсли; - - Возврат ВыгружаемыеСтандартныеРеквизиты; -КонецФункции - -Процедура ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект, лПустойОбъект, МдРеквизиты, ВыгружаемыеРеквизиты) - НомерСтрокиМакета = Макет.ВысотаТаблицы+1; - - ЭтоСсылочныйОбъект = ЭтоОписательОбъектаСсылки(ОписательОбъекта); //ЭтоСсылочныйОбъект = ОписательОбъекта.Свойство("Ссылка"); - Если ЭтоСсылочныйОбъект Тогда - Мд = Объект.Метаданные(); - Иначе - Мд = Объект; - КонецЕсли; - - Для каждого РеквизитМд Из МдРеквизиты Цикл - имяРеквизита = РеквизитМд.Имя; - Если ВыгружаемыеРеквизиты <> Неопределено и ВыгружаемыеРеквизиты.Найти(имяРеквизита) = Неопределено Тогда - Продолжить; - КонецЕсли; - - Если ЭтоСсылочныйОбъект Тогда - ЗначениеРеквизита = объект[имяРеквизита]; - - этоЗначениеБудетСозданоПоУмолчанию = лПустойОбъект[имяРеквизита] = ЗначениеРеквизита; - Если этоЗначениеБудетСозданоПоУмолчанию Тогда - Продолжить; - КонецЕсли; - Иначе - ЗначениеРеквизита = ОписательОбъекта.Реквизиты[имяРеквизита]; - КонецЕсли; - - ДобавилиРеквизит = ОбработатьРеквизитОбъекта(Макет, МассивДанных, имяРеквизита, ЗначениеРеквизита, Мд, НомерСтрокиМакета, ШапкаДанных); - - Если ДобавилиРеквизит Тогда - НомерСтрокиМакета = НомерСтрокиМакета + 1; - КонецЕсли; - КонецЦикла; -КонецПроцедуры - -Процедура ОбработатьТабличныеЧастиОбъекта(Макет, МдТабличныеЧасти, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект) - Для каждого МдТч Из МдТабличныеЧасти Цикл - МдРеквизиты = МдТч.Реквизиты; - ИмяТЧ = МдТч.Имя; - - НомерКолонкиМакета_ТЧ = ШапкаДанных.ТЧ; - - Для каждого строкаТчОбъекта Из объект[ИмяТЧ] Цикл - НомерСтрокиМакета = Макет.ВысотаТаблицы+1; - ОбластьМакета = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_ТЧ, НомерСтрокиМакета, НомерКолонкиМакета_ТЧ); - ОбластьМакета.Текст = ИмяТЧ; - - ОбработатьРеквизитыТабличнойЧастиОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект, строкаТчОбъекта, МдРеквизиты); - КонецЦикла; - КонецЦикла; -КонецПроцедуры - -Процедура ОбработатьРеквизитыТабличнойЧастиОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект, строкаТчОбъекта, МдРеквизиты) - НомерСтрокиМакета = Макет.ВысотаТаблицы+1; - - Мд = Объект.Метаданные(); - - Для каждого РеквизитМд Из МдРеквизиты Цикл - имяРеквизита = РеквизитМд.Имя; - - ЗначениеРеквизита = строкаТчОбъекта[имяРеквизита]; - - ДобавилиРеквизит = ОбработатьРеквизитОбъекта(Макет, МассивДанных, имяРеквизита, ЗначениеРеквизита, Мд, НомерСтрокиМакета, ШапкаДанных); - - Если ДобавилиРеквизит Тогда - НомерСтрокиМакета = НомерСтрокиМакета + 1; - КонецЕсли; - КонецЦикла; -КонецПроцедуры - -Функция ОбработатьРеквизитОбъекта(Макет, МассивДанных, имяРеквизита, ЗначениеРеквизита, Мд, НомерСтрокиМакета, ШапкаДанных) - ТипРеквизита = ТипЗнч(ЗначениеРеквизита); - Если Не ЗначениеЗаполнено(ЗначениеРеквизита) Тогда - Возврат Ложь; - КонецЕсли; - - ПредставлениеЗначенияРеквизита = ""; - РежимПоиска = ""; - Попытка - ПолучитьПредставлениеИРежимПоискаПоЗначениюРеквизита(ЗначениеРеквизита, ТипРеквизита, МассивДанных, ПредставлениеЗначенияРеквизита, РежимПоиска); - Исключение - описаниеОшибки = ОписаниеОшибки(); - ВызватьИсключение описаниеОшибки + " Не умею обрабатывать реквизит <"+имяРеквизита+"> у объекта <"+Мд.ПолноеИмя()+">"; - КонецПопытки; - - НомерКолонкиМакета_Реквизит = ШапкаДанных.Реквизит; - НомерКолонкиМакета_Значение = ШапкаДанных.Значение; - НомерКолонкиМакета_Режим = ШапкаДанных.Режим; - - ОбластьМакета_Реквизит = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_Реквизит, НомерСтрокиМакета, НомерКолонкиМакета_Реквизит); - ОбластьМакета_Реквизит.Текст = имяРеквизита; - - ОбластьМакета_Значение = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_Значение, НомерСтрокиМакета, НомерКолонкиМакета_Значение); - ОбластьМакета_Режим = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_Режим, НомерСтрокиМакета, НомерКолонкиМакета_Режим); - - ОбластьМакета_Значение.Текст = ПредставлениеЗначенияРеквизита; - Если РежимПоиска <> "" Тогда - ОбластьМакета_Режим.Текст = РежимПоиска; - КонецЕсли; - - Возврат Истина; -КонецФункции - -Процедура ПолучитьПредставлениеИРежимПоискаПоЗначениюРеквизита(ЗначениеРеквизита, ТипРеквизита, МассивДанных, резПредставлениеЗначенияРеквизита, резРежимПоиска) - Если ТипРеквизита = Тип("Число") Тогда - ПредставлениеЗначенияРеквизита = Формат(ЗначениеРеквизита, "ЧГ="); - ИначеЕсли ТипРеквизита = Тип("Строка") Тогда - ПредставлениеЗначенияРеквизита = ЗначениеРеквизита; - ИначеЕсли ТипРеквизита = Тип("Дата") Тогда - ПредставлениеЗначенияРеквизита = Формат(ЗначениеРеквизита, "ДФ=yyyyMMdd"); - ИначеЕсли ТипРеквизита = Тип("Булево") Тогда - ПредставлениеЗначенияРеквизита = Формат(ЗначениеРеквизита, "БЛ=Ложь; БИ=Истина"); - - ИначеЕсли ЛиСсылкаНаОбъектБД_ирЛкс(ЗначениеРеквизита) Тогда - ОписательЗначенияРеквизита = НайтиОписательОбъектаПоСсылке(МассивДанных, ЗначениеРеквизита); //МассивДанных.Найти(ЗначениеРеквизита); - Если ОписательЗначенияРеквизита <> Неопределено Тогда - ПредставлениеЗначенияРеквизита = ИмяПеременнойИзОписателяОбъекта(ЗначениеРеквизита.Метаданные(), ОписательЗначенияРеквизита); - РежимПоиска = "Перем"; - Иначе - ПредставлениеЗначенияРеквизита = ЗначениеРеквизита; - РежимПоиска = "Наименование"; - КонецЕсли; - - ИначеЕсли ЛиСсылкаНаПеречисление_ирЛкс(ЗначениеРеквизита) Тогда - ПредставлениеЗначенияРеквизита = ЗначениеРеквизита; - РежимПоиска = "Предопределенный"; - - Иначе - ВызватьИсключение "Генератор макета из реальных данных: Не умею обрабатывать такой тип <"+ТипРеквизита+">"; - КонецЕсли; - резПредставлениеЗначенияРеквизита = ПредставлениеЗначенияРеквизита; - резРежимПоиска = РежимПоиска; -КонецПроцедуры - -Функция НайтиОписательОбъектаПоСсылке(МассивДанных, Ссылка) - Для каждого ОписательОбъекта Из МассивДанных Цикл - СсылкаВрем = Неопределено; - Если ЭтоОписательОбъектаСсылки(ОписательОбъекта, СсылкаВрем) и СсылкаВрем = Ссылка Тогда - Возврат ОписательОбъекта; - КонецЕсли; - КонецЦикла; - Возврат Неопределено; -КонецФункции - -Функция ЭтоОписательОбъектаСсылки(ОписательОбъекта, РезСсылка = Неопределено) - ЭтоСсылочныйОбъект = ОписательОбъекта.Свойство("Ссылка", РезСсылка) И РезСсылка <> Неопределено; - Возврат ЭтоСсылочныйОбъект; -КонецФункции - -Функция ИмяПеременнойИзОписателяОбъекта(Мд, ОписательОбъекта) - ИмяПеременной = ""; - Если НЕ ОписательОбъекта.Свойство("ИмяПеременной", ИмяПеременной) или ПустаяСтрока(ИмяПеременной) Тогда - ИмяПеременной = Мд.Имя; - КонецЕсли; - Возврат ИмяПеременной; -КонецФункции - -Функция ШапкаДанныхВМакете() - рез = Новый Структура(); - рез.Вставить("Тип", 1); - рез.Вставить("Вид", 2); - рез.Вставить("ИмяПеременной", 3); - рез.Вставить("ТЧ", 4); - рез.Вставить("Реквизит", 5); - рез.Вставить("Значение", 6); - рез.Вставить("Режим", 7); - Возврат рез; -КонецФункции - -// { БЛОК МЕТОДОВ ИЗ ИР (Инструменты Разработчика, автор TormozIt ) -// -// Определяет корневой тип конфигурации по описанию типов, типу, метаданным, ссылке или объекту. -// Для описания типов берется первый тип массива типов. -// -// Параметры: -// пОбъект – Произвольный – для чего получаем метаданные; -// *пЛиТолькоДляКорневого - Булево, *Ложь - возвращать только для объекта корневого типа. -// -// Возвращаемое значение: -// - Строка – имя типа корневого объекта метаданных; -// Неопределено - не удалось получить имя типа. -// -Функция ПолучитьКорневойТипКонфигурации_ирЛкс(пОбъект, пЛиТолькоДляКорневого = Ложь) Экспорт - - Если ТипЗнч(пОбъект) = Тип("ОбъектМетаданных") Тогда - МетаданныеТипа = пОбъект; - Иначе - МетаданныеТипа = ПолучитьМетаданные_ирЛкс(пОбъект); - КонецЕсли; - Результат = Неопределено; - Если МетаданныеТипа <> Неопределено Тогда - ПолноеИмя = МетаданныеТипа.ПолноеИмя(); - Если пЛиТолькоДляКорневого Тогда - МассивФрагментов = ПолучитьМассивИзСтрокиСРазделителем_ирЛкс(ПолноеИмя); - Если МассивФрагментов.Количество() = 2 Тогда - Результат = МассивФрагментов[0]; - КонецЕсли; - Иначе - Результат = ПолучитьПервыйФрагмент_ирЛкс(ПолноеИмя); - КонецЕсли; - КонецЕсли; - Если Результат = "ТабличнаяЧасть" Тогда - // Баг платформы. У внешних метаданных полное имя не включает сам внешний метаобъект - Результат = Неопределено; - КонецЕсли; - Возврат Результат; - -КонецФункции // ЛксПолучитьКорневойТипКонфигурации() - -// Проверяет, является ли значение ссылкой на объект БД. На базе ЛксЛиСсылкаНаОбъектБД -// -// Параметры: -// пЗначение – ОбъектМетаданных, Произвольный – проверяемое значение. -// -// Возвращаемое значение: -// Истина – значение является ссылкой на объект БД; -// Ложь – значение не является ссылкой на объект БД. -// -Функция ЛиСсылкаНаОбъектБД_ирЛкс(пЗначение) Экспорт - - Возврат ЛиКорневойТипОбъектаБД_ирЛкс(ПолучитьКорневойТипКонфигурации_ирЛкс(пЗначение, Истина)); - -КонецФункции // ЛксЛиСсылкаНаОбъектБД - -// Проверяет, является ли значение ссылкой на значение перечисления. -// -// Параметры: -// пЗначение – Произвольный – проверяемое значение. -// -// Возвращаемое значение: -// Истина – значение является ссылкой на объект БД; -// Ложь – значение не является ссылкой на объект БД. -// -Функция ЛиСсылкаНаПеречисление_ирЛкс(пЗначение) Экспорт - - Возврат (ПолучитьКорневойТипКонфигурации_ирЛкс(пЗначение) = "Перечисление"); - -КонецФункции // ЛксЛиСсылкаНаПеречисление() - -// Проверяет, является ли строка именем корневого типа объекта БД. -// -// Параметры: -// пИмяКорневогоТипа - Строка, Неопределено - имя корневого типа. -// -// Возвращаемое значение: -// Истина – тип является корневым типом объекта БД; -// Ложь – иначе. -// -Функция ЛиКорневойТипОбъектаБД_ирЛкс(КорневойТип) Экспорт - - Если Ложь - ИЛИ КорневойТип = "БизнесПроцесс" - ИЛИ КорневойТип = "Задача" - ИЛИ КорневойТип = "Документ" - ИЛИ КорневойТип = "ПланВидовРасчета" - ИЛИ КорневойТип = "ПланВидовХарактеристик" - ИЛИ КорневойТип = "ПланОбмена" - ИЛИ КорневойТип = "ПланСчетов" - ИЛИ КорневойТип = "Справочник" - Тогда - Возврат Истина; - КонецЕсли; - Возврат Ложь; - -КонецФункции // ЛксЛиКорневойТипОбъектаБД() - -// Получает менеджер по описанию типов, типу, метаданным, ссылке или объекту. На базе метода ЛксПолучитьМенеджер -// Для описания типов берется первый тип массива типов. -// -// Параметры: -// пОбъект – Произвольный – для чего получаем менеджер. -// -// Возвращаемое значение: -// – МенеджерОбъекта - для ссылки или ссылочного типа; -// Неопределено - не удалось получить. -// -Функция ПолучитьМенеджерОбъекта_ирЛкс(пОбъект) Экспорт - - Если ТипЗнч(пОбъект) = Тип("ОбъектМетаданных") Тогда - МетаданныеОбъекта = пОбъект; - Иначе - МетаданныеОбъекта = ПолучитьМетаданные_ирЛкс(пОбъект); - КонецЕсли; - Если МетаданныеОбъекта = Неопределено Тогда - Возврат Неопределено; - КонецЕсли; - - МассивФрагментов = ПолучитьМассивИзСтрокиСРазделителем_ирЛкс(МетаданныеОбъекта.ПолноеИмя()); - КорневойТип = МассивФрагментов[0]; - Менеджер = Неопределено; - Если Истина - И МассивФрагментов.Количество() = 4 - И КорневойТип = "ВнешнийИсточникДанных" - Тогда - ИмяТипаМенеджера = МассивФрагментов[0] + "ТаблицаМенеджер." + МассивФрагментов[1] + "." + МассивФрагментов[3]; - Иначе - //КорневойТип = ЛксПолучитьКорневойТипКонфигурации(МетаданныеОбъекта, Истина); // Изменил 02.03.2012 - Если КорневойТип <> Неопределено Тогда - ИмяТипаМенеджера = КорневойТип + "Менеджер." + МетаданныеОбъекта.Имя; - Иначе - ИмяТипаМенеджера = "Неопределено"; - КонецЕсли; - КонецЕсли; - Попытка - Менеджер = Новый (ИмяТипаМенеджера); - Исключение - КонецПопытки; - Возврат Менеджер; - -КонецФункции // ЛксПолучитьМенеджер() - -// Получает метаданные по полному имени, описанию типов, типу, ссылке или объекту. На базе ЛксПолучитьМетаданные -// Для описания типов берется первый тип массива типов. -// -// Параметры: -// пОбъект – Произвольный – для чего получаем метаданные. -// -// Возвращаемое значение: -// – Метаданные - полученные; -// Неопределено - не удалось получить метаданные. -// -Функция ПолучитьМетаданные_ирЛкс(пОбъект) Экспорт - - Если ТипЗнч(пОбъект) = Тип("Строка") Тогда - Если ПустаяСтрока(пОбъект) Тогда - Результат = Неопределено; - Иначе - Фрагменты = ПолучитьМассивИзСтрокиСРазделителем_ирЛкс(пОбъект); - Если Фрагменты.Количество() = 3 Тогда - // ВидыСубконто, Изменения - ПолноеИмяМД = Фрагменты[0] + "." + Фрагменты[1]; - Иначе - ПолноеИмяМД = пОбъект; - КонецЕсли; - Результат = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМД); - КонецЕсли; - Возврат Результат; - КонецЕсли; - ТипОбъекта = ПолучитьТипОбъекта_ирЛкс(пОбъект); - Результат = Метаданные.НайтиПоТипу(ТипОбъекта); - Возврат Результат; - -КонецФункции // ЛксПолучитьМетаданные() - -// Получает тип из описания типов, типа или значения. На базе ЛксПолучитьТипОбъекта -// -// Параметры: -// пОбъект – Тип, ОписаниеТипов, Произвольный – проверяемое значение. -// -// Возвращаемое значение: -// Тип - найденный тип. -// -Функция ПолучитьТипОбъекта_ирЛкс(пОбъект) - - ТипОбъекта = Тип("Неопределено"); - ТипПараметра = ТипЗнч(пОбъект); - Если ТипПараметра = Тип("ОписаниеТипов") Тогда - Если пОбъект.Типы().Количество() > 0 Тогда - ТипОбъекта = пОбъект.Типы()[0]; - КонецЕсли; - ИначеЕсли ТипПараметра <> Тип("Тип") Тогда - ТипОбъекта = ТипПараметра; - Иначе - ТипОбъекта = пОбъект; - КонецЕсли; - - Возврат ТипОбъекта; - -КонецФункции // ЛксПолучитьТипОбъекта() - -// Функция разбивает строку разделителем. На базе ЛксПолучитьМассивИзСтрокиСРазделителем -// -// Параметры: -// пСтрока - Строка - которую разбиваем; -// *пРазделитель - Строка, "." - символ-разделитель; -// *ОбрезатьНепечатныеСимволы - Булево, *Ложь - делать СокрЛП. -// *ОставлятьПустуюСтроку - Булево, *Истина - если передана пустая строка, то добавлять ее в массив. -// -// Возвращаемое значение: -// Массив - фрагментов. -// -Функция ПолучитьМассивИзСтрокиСРазделителем_ирЛкс(Знач Стр, Разделитель = ".", ОбрезатьНепечатныеСимволы = Ложь, ОставлятьПустуюСтроку = Истина) Экспорт - - МассивСтрок = Новый Массив; - Если Истина - И Не ОставлятьПустуюСтроку - И ПустаяСтрока(Стр) - Тогда - Возврат МассивСтрок; - КонецЕсли; - - //лСтрока = СтрЗаменить(Стр, Разделитель, Символы.ПС); - //// Баг платформы. СтрЧислоСтрок не учитывает терминальный перевод строки. - //ЧислоСтрок = СтрЧислоСтрок(лСтрока + " "); - //Для Счетчик = 1 По ЧислоСтрок Цикл - // Фрагмент = СтрПолучитьСтроку(лСтрока, Счетчик); - // Если ОбрезатьНепечатныеСимволы Тогда - // Фрагмент = СокрЛП(Фрагмент); - // КонецЕсли; - // МассивСтрок.Добавить(Фрагмент); - //КонецЦикла; - - Если Разделитель = " " Тогда - Стр = СокрЛП(Стр); - Пока 1=1 Цикл - Поз = Найти(Стр,Разделитель); - Если Поз=0 Тогда - МассивСтрок.Добавить(Стр); - Возврат МассивСтрок; - КонецЕсли; - МассивСтрок.Добавить(Лев(Стр,Поз-1)); - Стр = СокрЛ(Сред(Стр,Поз)); - КонецЦикла; - Иначе - ДлинаРазделителя = СтрДлина(Разделитель); - Пока 1=1 Цикл - Поз = Найти(Стр,Разделитель); - Если Поз=0 Тогда - Фрагмент = Стр; - Если ОбрезатьНепечатныеСимволы Тогда - Фрагмент = СокрЛП(Фрагмент); - КонецЕсли; - МассивСтрок.Добавить(Фрагмент); - Возврат МассивСтрок; - КонецЕсли; - Фрагмент = Лев(Стр,Поз-1); - Если ОбрезатьНепечатныеСимволы Тогда - Фрагмент = СокрЛП(Фрагмент); - КонецЕсли; - МассивСтрок.Добавить(Фрагмент); - Стр = Сред(Стр,Поз+ДлинаРазделителя); - КонецЦикла; - КонецЕсли; - - Возврат МассивСтрок; - -КонецФункции // ЛксПолучитьМассивИзСтрокиСРазделителем() - -// Получает первый фрагмент, отделяемый разделителем от строки. На базе ЛксПолучитьПервыйФрагмент -// Написана для оптимизации по скорости. -// -// Параметры: -// пСтрока - Строка - которую разбиваем; -// *пРазделитель - Строка, "." - символ-разделитель; -// *пЛиИспользоватьГраницуЕслиМаркерНеНайден - Булево, *Истина. -// -// Возвращаемое значение: -// - Строка - первый фрагмент строки; -// Неопределено - в строке не обнаружен разделитель. -// -Функция ПолучитьПервыйФрагмент_ирЛкс(пСтрока, пРазделитель = ".", - пЛиИспользоватьГраницуЕслиМаркерНеНайден = Истина) Экспорт - - Позиция = Найти(пСтрока, пРазделитель); - Если Позиция > 0 Тогда - Возврат Лев(пСтрока, Позиция - 1); - Иначе - Если пЛиИспользоватьГраницуЕслиМаркерНеНайден Тогда - Возврат пСтрока; - Иначе - Возврат пСтрока; - КонецЕсли; - КонецЕсли; - -КонецФункции // ЛксПолучитьПервыйФрагмент() - -// Получает идентификатор из любой строки. -// "3-я Дебиторка По контрагентам с интервалами СНГ (для Руководства)" => "_3_яДебиторкаПоКонтрагентамСИнтерваламиСНГ_дляРуководства_". -// -// Параметры: -// Представление – Строка. -// -// Возвращаемое значение: -// Строка. -// -Функция ПолучитьИдентификаторИзПредставления_Лкс(Знач Представление, VBRegExp, ЗаменаПустойСтроки = "_") Экспорт - Если VBRegExp = Неопределено Тогда - VBRegExp = ПолучитьНовыйВычислительРегулярныхВыражений(); - КонецЕсли; - - шБуква = "_ЁА-ЯA-Z"; - - Если ПустаяСтрока(Представление) Тогда - Представление = ЗаменаПустойСтроки; - КонецЕсли; - Если СокрЛП(Представление) = Представление Тогда - Попытка - Пустышка = Новый Структура(Представление); - Возврат Представление; - Исключение КонецПопытки; - КонецЕсли; - VBRegExp.Pattern = "\d"; - НовоеПредставление = Представление; - ПервыйСимвол = Сред(Представление, 1, 1); - Если VBRegExp.Test(ПервыйСимвол) Тогда - // Первый символ - цифра - НовоеПредставление = "_" + НовоеПредставление; - КонецЕсли; - ПредыдущийСимвол = " "; - ТекущаяСтрока = ""; - Для Счетчик = 1 По СтрДлина(НовоеПредставление) Цикл - ТекущийСимвол = Сред(НовоеПредставление, Счетчик, 1); - VBRegExp.Pattern = "\s"; - Если VBRegExp.Test(ПредыдущийСимвол) Тогда - // Предыдущий символ - непечатаемый - ТекущийСимвол = ВРег(ТекущийСимвол); - КонецЕсли; - VBRegExp.Pattern = "[" + шБуква + "\d]"; - Если VBRegExp.Test(ТекущийСимвол) Тогда - // Предыдущий символ - непечатаемый - ТекущаяСтрока = ТекущаяСтрока + ТекущийСимвол; - Иначе - VBRegExp.Pattern = "[\S]"; - Если VBRegExp.Test(ТекущийСимвол) Тогда - ТекущаяСтрока = ТекущаяСтрока + "_"; - КонецЕсли; - КонецЕсли; - ПредыдущийСимвол = ТекущийСимвол; - КонецЦикла; - Результат = ТекущаяСтрока; - Возврат ТекущаяСтрока; - -КонецФункции // ПолучитьИдентификаторИзПредставления() - -Функция ПолучитьНовыйВычислительРегулярныхВыражений() Экспорт - - Результат = Новый COMОбъект("VBScript.RegExp"); - Результат.IgnoreCase = Истина; - Возврат Результат; - -КонецФункции -// } Конец блока методов из ИР (Инструменты Разработчика, автор TormozIt ) - -//} КОНЕЦ ОСНОВНОГО БЛОКА - -//{ БЛОК ЮНИТ-ТЕСТОВ - сами тесты - -Процедура ПередЗапускомТеста() Экспорт - // в режиме транзакции какие-то проблемы с уникальностью кода :( - // а вот без режима транзакций иногда не все созданные тестовые элементы Справочника.ПростойСправочник удаляются :( - НачатьТранзакцию(); - - ТестовыеДанныхДляУдаления = Новый Массив; -КонецПроцедуры - -Процедура ПослеЗапускаТеста() Экспорт - Если ТранзакцияАктивна() Тогда - ОтменитьТранзакцию(); - КонецЕсли; - - Для каждого ТестовыеДанные Из ТестовыеДанныхДляУдаления Цикл - юТест.УдалитьСозданныеДанные(ТестовыеДанные); - КонецЦикла; -КонецПроцедуры - -Процедура ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные) - ТестовыеДанныхДляУдаления.Добавить(ТестовыеДанные); -КонецПроцедуры - - -Процедура ТестДолжен_ПолучитьМакетДляСозданияПростогоСправочника() Экспорт - Макет = ПолучитьМакет("СозданиеПростогоСправочника"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - Отбор = Новый Структура("Наименование,РеквизитБулево", "Тестовое наименование", Истина); - - КоличествоДо = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник", Отбор); - юТест.ПроверитьРавенство(1, количествоДо, "количествоДо"); - - ИмяПеременной = "ПростойСправочник1"; // ИмяПеременной - необязательный элемент - //описаниеЭлемента = Новый Структура("Ссылка,ИмяПеременной", ТестовыеДанные.ПростойСправочник, ИмяПеременной); - описаниеЭлемента = СоздатьОписательЭлемента(); - описаниеЭлемента.Вставить("Ссылка", ТестовыеДанные.ПростойСправочник); - описаниеЭлемента.Вставить("ИмяПеременной", ИмяПеременной); - - МассивДанных = Новый Массив; - МассивДанных.Добавить(описаниеЭлемента); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - юТест.УдалитьСозданныеДанные(тестовыеДанные); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник", Отбор), "количество после удаления"); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - - юТест.ПроверитьИстину(ТестовыеДанные.Свойство(ИмяПеременной), "Ожидали, что есть переменная '"+ИмяПеременной+"'"); - юТест.ПроверитьТип(ТестовыеДанные[ИмяПеременной], "СправочникСсылка.ПростойСправочник"); - - КоличествоПосле = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник", Отбор); - юТест.ПроверитьРавенство(1, КоличествоПосле, "КоличествоПосле"); -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьМакетДляСозданияОбъектаСЗаполненнымРеквизитомТипаПеречисление() Экспорт - Макет = ПолучитьМакет("СозданиеОбъектаСЗаполненнымРеквизитомТипаПеречисление"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЗначениеПеречисления = Перечисления.Перечисление1.ЗначениеПеречисления1; - Отбор = Новый Структура("Наименование,РеквизитПеречисление", "тЗначениеПеречисления1", ЗначениеПеречисления); - - КоличествоДо = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник", Отбор); - юТест.ПроверитьРавенство(1, количествоДо, "количествоДо"); - - ИмяПеременной = "ПростойСправочник1"; // ИмяПеременной - необязательный элемент - //описаниеЭлемента = Новый Структура("Ссылка,ИмяПеременной", ТестовыеДанные.ПростойСправочник, ИмяПеременной); - описаниеЭлемента = СоздатьОписательЭлемента(); - описаниеЭлемента.Вставить("Ссылка", ТестовыеДанные.ПростойСправочник); - описаниеЭлемента.Вставить("ИмяПеременной", ИмяПеременной); - - МассивДанных = Новый Массив; - МассивДанных.Добавить(описаниеЭлемента); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - юТест.УдалитьСозданныеДанные(тестовыеДанные); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник", Отбор), "количество после удаления"); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - - юТест.ПроверитьРавенство(ТестовыеДанные[ИмяПеременной].РеквизитПеречисление, ЗначениеПеречисления, "СправочникСсылка.ПростойСправочник.РеквизитПеречисление"); - - КоличествоПосле = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник", Отбор); - юТест.ПроверитьРавенство(1, КоличествоПосле, "КоличествоПосле"); -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьМакетДляСозданияДвухПростыхСправочников() Экспорт - Макет = ПолучитьМакет("СозданиеДвухПростыхСправочников"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - Отбор = Новый Структура("Наименование", "Тестовое наименование", Истина); - - //описаниеЭлемента = Новый Структура("Ссылка,ИмяПеременной", ТестовыеДанные.ПростойСправочник, "ПростойСправочник1_1"); - описаниеЭлемента = СоздатьОписательЭлемента(); - описаниеЭлемента.Вставить("Ссылка", ТестовыеДанные.ПростойСправочник); - описаниеЭлемента.Вставить("ИмяПеременной", "ПростойСправочник1_1"); - описаниеЭлемента.Вставить("ВыгружатьКод", Ложь); - - ИмяПеременной2 = "ПростойСправочник2_1"; - //описаниеЭлемента2 = Новый Структура("Ссылка,ИмяПеременной", ТестовыеДанные.ПростойСправочник2, ИмяПеременной2); - описаниеЭлемента2 = СоздатьОписательЭлемента(); - описаниеЭлемента2.Вставить("Ссылка", ТестовыеДанные.ПростойСправочник2); - описаниеЭлемента2.Вставить("ИмяПеременной", ИмяПеременной2); - описаниеЭлемента2.Вставить("ВыгружатьКод", Ложь); - - МассивДанных = Новый Массив; - МассивДанных.Добавить(описаниеЭлемента); - МассивДанных.Добавить(описаниеЭлемента2); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - юТест.УдалитьСозданныеДанные(тестовыеДанные); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник", Отбор), "количество после удаления"); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник2", Отбор), "количество2 после удаления"); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - юТест.ПроверитьРавенство(МассивДанных.Количество(), ТестовыеДанные.Количество(), "МассивДанных.Количество(), ТестовыеДанные.Количество() НовыйМакет"); - юТест.ПроверитьИстину(ТестовыеДанные.Свойство(ИмяПеременной2), "Ожидали, что есть переменная '"+ИмяПеременной2+"'"); - юТест.ПроверитьТип(ТестовыеДанные[ИмяПеременной2], "СправочникСсылка.ПростойСправочник2"); - - Количество2После = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник2", Отбор); - юТест.ПроверитьРавенство(Количество2После, 1, "Количество2После"); -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьМакетДляСозданияДвухСвязанныхСправочников() Экспорт - Макет = ПолучитьМакет("СозданиеСвязанныхСправочников"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - Отбор = Новый Структура("Наименование", "Тестовое наименование", Истина); - - ИмяПеременной = "ПростойСправочник1_1"; - //описаниеЭлемента = Новый Структура("Ссылка,ИмяПеременной", ТестовыеДанные.ПростойСправочник, ИмяПеременной); - описаниеЭлемента = СоздатьОписательЭлемента(); - описаниеЭлемента.Вставить("Ссылка", ТестовыеДанные.ПростойСправочник); - описаниеЭлемента.Вставить("ИмяПеременной", ИмяПеременной); - описаниеЭлемента.Вставить("ВыгружатьКод", Ложь); - описаниеЭлемента.Вставить("РежимПоиска", "Наименование"); - - ИмяПеременной2 = "ИерархическийСправочник_1"; - //описаниеЭлемента2 = Новый Структура("Ссылка,ИмяПеременной", ТестовыеДанные.ИерархическийСправочник, ИмяПеременной2); - описаниеЭлемента2 = СоздатьОписательЭлемента(); - описаниеЭлемента2.Вставить("Ссылка", ТестовыеДанные.ИерархическийСправочник); - описаниеЭлемента2.Вставить("ИмяПеременной", ИмяПеременной2); - описаниеЭлемента2.Вставить("ВыгружатьКод", Ложь); - - МассивДанных = Новый Массив; - МассивДанных.Добавить(описаниеЭлемента); - МассивДанных.Добавить(описаниеЭлемента2); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - юТест.УдалитьСозданныеДанные(тестовыеДанные); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник", Отбор), "количество после удаления"); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ИерархическийСправочник", Отбор), "количество2 после удаления"); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - юТест.ПроверитьРавенство(МассивДанных.Количество(), ТестовыеДанные.Количество(), "МассивДанных.Количество(), ТестовыеДанные.Количество() НовыйМакет"); - юТест.ПроверитьРавенство(ТестовыеДанные[ИмяПеременной], ТестовыеДанные[ИмяПеременной2].ПростойСправочник); - - Количество2После = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ИерархическийСправочник", Отбор); - юТест.ПроверитьРавенство(Количество2После, 1, "Количество2После"); -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьМакетДляСозданияСправочникаСРеквизитомСсылка_РежимПоискаКод() Экспорт - Макет1 = ПолучитьМакет("СозданиеПростогоСправочника"); - ТестовыеДанные1 = юТест.СоздатьДанныеПоТабличномуДокументу(Макет1); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные1); - - Макет = ПолучитьМакет("СозданиеСправочникаСРеквизитомСсылка_РежимПоискаКод"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - Отбор = Новый Структура("Наименование", "Тестовое наименование", Истина); - - ИмяПеременной2 = "ИерархическийСправочник_1"; - //описаниеЭлемента2 = Новый Структура("Ссылка,ИмяПеременной", ТестовыеДанные.ИерархическийСправочник, ИмяПеременной2); - описаниеЭлемента2 = СоздатьОписательЭлемента(); - описаниеЭлемента2.Вставить("Ссылка", ТестовыеДанные.ИерархическийСправочник); - описаниеЭлемента2.Вставить("ИмяПеременной", ИмяПеременной2); - описаниеЭлемента2.Вставить("ВыгружатьКод", Ложь); - - МассивДанных = Новый Массив; - МассивДанных.Добавить(описаниеЭлемента2); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - юТест.УдалитьСозданныеДанные(тестовыеДанные); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ИерархическийСправочник", Отбор), "количество2 после удаления"); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - юТест.ПроверитьРавенство(МассивДанных.Количество(), ТестовыеДанные.Количество(), "МассивДанных.Количество(), ТестовыеДанные.Количество() НовыйМакет"); - юТест.ПроверитьРавенство(ТестовыеДанные[ИмяПеременной2].ПростойСправочник.Наименование, "Тестовое наименование"); - - Количество2После = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ИерархическийСправочник", Отбор); - юТест.ПроверитьРавенство(Количество2После, 1, "Количество2После"); -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьМакетДляСозданияСправочникаСДвумяСтрокамиВТабличнойЧасти() Экспорт - Макет = ПолучитьМакет("СозданиеСправочникаСДвумяСтрокамиВТабличнойЧасти"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - НаименованиеПростогоЭлемента = "Тест"; - Отбор = Новый Структура("Наименование", "Тестовое наименование", Истина); - - ИмяПеременной2 = "СправочникСТабЧастью"; - //описаниеЭлемента2 = Новый Структура("Ссылка,ИмяПеременной", ТестовыеДанные.СправочникСТабЧастью, ИмяПеременной2); - описаниеЭлемента2 = СоздатьОписательЭлемента(); - описаниеЭлемента2.Вставить("Ссылка", ТестовыеДанные.СправочникСТабЧастью); - описаниеЭлемента2.Вставить("ИмяПеременной", ИмяПеременной2); - описаниеЭлемента2.Вставить("ВыгружатьКод", Ложь); - - МассивДанных = Новый Массив; - МассивДанных.Добавить(описаниеЭлемента2); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - тестовыеДанные.СправочникСТабЧастью.ПолучитьОбъект().Удалить(); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("СправочникСТабЧастью", Отбор), "количество2 после удаления"); - - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - юТест.ПроверитьРавенство(МассивДанных.Количество(), ТестовыеДанные.Количество(), "МассивДанных.Количество(), ТестовыеДанные.Количество() НовыйМакет"); - юТест.ПроверитьРавенство(2, ТестовыеДанные[ИмяПеременной2].Состав.Количество(), "ТестовыеДанные[ИмяПеременной].Состав.Количество()"); - тч = ТестовыеДанные[ИмяПеременной2].Состав; - строка0 = тч[0]; - юТест.ПроверитьРавенство(НаименованиеПростогоЭлемента, строка0.ПростойСправочник.Наименование, "строка0.ПростойСправочник.Наименование"); - юТест.ПроверитьРавенство(НаименованиеПростогоЭлемента+"1", строка0.ПростойСправочник2.Наименование, "строка0.ПростойСправочник2.Наименование"); - юТест.ПроверитьРавенство(Истина, строка0.РеквизитБулево, "строка0.РеквизитБулево"); - строка1 = тч[1]; - юТест.ПроверитьРавенство(НаименованиеПростогоЭлемента, строка1.ПростойСправочник.Наименование, "строка1.ПростойСправочник.Наименование"); - юТест.ПроверитьРавенство(НаименованиеПростогоЭлемента+"2", строка1.ПростойСправочник2.Наименование, "строка1.ПростойСправочник2.Наименование"); - юТест.ПроверитьРавенство(Ложь, строка1.РеквизитБулево, "строка1.РеквизитБулево"); - - Количество2После = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("СправочникСТабЧастью", Отбор); - юТест.ПроверитьРавенство(Количество2После, 1, "Количество2После"); -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьМакетДляСозданияДокументаСДвумяСтрокамиВТабличнойЧасти() Экспорт - Макет = ПолучитьМакет("СозданиеДокументаСДвумяСтрокамиВТабличнойЧасти"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - НаименованиеПростогоЭлемента = "Тест"; - Отбор = Новый Структура; //("ПростойСправочник", ТестовыеДанные.ПростойСправочник); - - ИмяПеременной = "Документ2_2"; - //описаниеЭлемента = Новый Структура("Ссылка,ИмяПеременной", ТестовыеДанные.Документ, ИмяПеременной); - описаниеЭлемента = СоздатьОписательЭлемента(); - описаниеЭлемента.Вставить("Ссылка", ТестовыеДанные.Документ); - описаниеЭлемента.Вставить("ИмяПеременной", ИмяПеременной); - //описаниеЭлемента.Вставить("ВыгружатьКод", Ложь); - - //описаниеЭлемента_ПростойСправочник = Новый Структура("Ссылка,ИмяПеременной", ТестовыеДанные.ПростойСправочник, "ПростойСправочник"); - описаниеЭлемента_ПростойСправочник = СоздатьОписательЭлемента(); - описаниеЭлемента_ПростойСправочник.Вставить("Ссылка", ТестовыеДанные.ПростойСправочник); - описаниеЭлемента_ПростойСправочник.Вставить("ИмяПеременной", "ПростойСправочник"); - описаниеЭлемента_ПростойСправочник.Вставить("ВыгружатьКод", Ложь); - - //описаниеЭлемента_ПростойСправочник2 = Новый Структура("Ссылка,ИмяПеременной", ТестовыеДанные.ПростойСправочник22, "ПростойСправочник22"); - описаниеЭлемента_ПростойСправочник2 = СоздатьОписательЭлемента(); - описаниеЭлемента_ПростойСправочник2.Вставить("Ссылка", ТестовыеДанные.ПростойСправочник22); - описаниеЭлемента_ПростойСправочник2.Вставить("ИмяПеременной", "ПростойСправочник22"); - описаниеЭлемента_ПростойСправочник2.Вставить("ВыгружатьКод", Ложь); - - МассивДанных = Новый Массив; - МассивДанных.Добавить(описаниеЭлемента_ПростойСправочник); - МассивДанных.Добавить(описаниеЭлемента_ПростойСправочник2); - МассивДанных.Добавить(описаниеЭлемента); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - НачалоПериода = '20140401'; //НачалоДня(ТекущаяДата()); - ОкончаниеПериода = КонецДня(ТекущаяДата()); - тестовыеДанные.Документ.ПолучитьОбъект().Удалить(); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоДокументовПоОтбору("Документ1", НачалоПериода, ОкончаниеПериода, Отбор), "количество2 после удаления"); - - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - - юТест.ПроверитьРавенство(МассивДанных.Количество(), ТестовыеДанные.Количество(), "МассивДанных.Количество(), ТестовыеДанные.Количество() НовыйМакет"); - юТест.ПроверитьРавенство(НаименованиеПростогоЭлемента, ТестовыеДанные[ИмяПеременной].ПростойСправочник.Наименование, "ТестовыеДанные[ИмяПеременной].ПростойСправочник.Наименование"); - юТест.ПроверитьРавенство(2, ТестовыеДанные[ИмяПеременной].Состав.Количество(), "ТестовыеДанные[ИмяПеременной].Состав.Количество()"); - тч = ТестовыеДанные[ИмяПеременной].Состав; - строка0 = тч[0]; - юТест.ПроверитьРавенство(НаименованиеПростогоЭлемента+"1", строка0.ПростойСправочник2.Наименование, "строка0.ПростойСправочник2.Наименование"); - юТест.ПроверитьРавенство(Ложь, строка0.РеквизитБулево, "строка0.РеквизитБулево"); - юТест.ПроверитьРавенство(150, строка0.РеквизитЧисло, "строка0.РеквизитБулево"); - строка1 = тч[1]; - юТест.ПроверитьРавенство(НаименованиеПростогоЭлемента+"2", строка1.ПростойСправочник2.Наименование, "строка1.ПростойСправочник2.Наименование"); - юТест.ПроверитьРавенство(Истина, строка1.РеквизитБулево, "строка1.РеквизитБулево"); - юТест.ПроверитьРавенство(0, строка1.РеквизитЧисло, "строка1.РеквизитБулево"); - - Количество2После = юТест.ПолучитьКоличествоДокументовПоОтбору("Документ1", НачалоПериода, ОкончаниеПериода, Отбор); - юТест.ПроверитьРавенство(1, Количество2После, "Количество2После"); -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьМакетДляСозданияДвухЗаписейВРегистреСведений() Экспорт - Макет = ПолучитьМакет("СозданиеДвухЗаписейВРегистреСведений"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - НаименованиеПростогоЭлемента = "Тест"; - Отбор = Новый Структура; //("ПростойСправочник", ТестовыеДанные.ПростойСправочник); - - Метаданное = "РегистрСведений"; - ВидМетаданного = "РегистрСведений1"; - МетаданныеРС = РегистрыСведений.РегистрСведений1.СоздатьНаборЗаписей().Метаданные(); - - ИмяПеременнойЗаписиРС_1 = "ЗаписьРегистра1_1"; - РеквизитыЗаписи1 = Новый Структура("ПростойСправочник,ПростойСправочник2,РесурсЧисло,РесурсБулево"); - ЗаполнитьЗначенияСвойств(РеквизитыЗаписи1, ТестовыеДанные.ЗаписьРегистра1); - //описаниеЗаписиРегистраСведений1 = Новый Структура("Метаданное,ИмяПеременной,Реквизиты", МетаданныеРС, ИмяПеременнойЗаписиРС_1, РеквизитыЗаписи1); - описаниеЗаписиРегистраСведений1 = СоздатьОписательЭлемента(); - описаниеЗаписиРегистраСведений1.Вставить("Метаданное", МетаданныеРС); - описаниеЗаписиРегистраСведений1.Вставить("ИмяПеременной", ИмяПеременнойЗаписиРС_1); - описаниеЗаписиРегистраСведений1.Вставить("Реквизиты", РеквизитыЗаписи1); - - ИмяПеременнойЗаписиРС_2 = "ЗаписьРегистра1_2"; - РеквизитыЗаписи2 = Новый Структура("ПростойСправочник,ПростойСправочник2,РесурсЧисло,РесурсБулево"); - ЗаполнитьЗначенияСвойств(РеквизитыЗаписи2, ТестовыеДанные.ЗаписьРегистра2); - //описаниеЗаписиРегистраСведений2 = Новый Структура("Метаданное,ИмяПеременной,Реквизиты", МетаданныеРС, ИмяПеременнойЗаписиРС_2, РеквизитыЗаписи2); - описаниеЗаписиРегистраСведений2 = СоздатьОписательЭлемента(); - описаниеЗаписиРегистраСведений2.Вставить("Метаданное", МетаданныеРС); - описаниеЗаписиРегистраСведений2.Вставить("ИмяПеременной", ИмяПеременнойЗаписиРС_2); - описаниеЗаписиРегистраСведений2.Вставить("Реквизиты", РеквизитыЗаписи2); - - //описаниеЭлемента_ПростойСправочник = Новый Структура("Ссылка,ИмяПеременной", ТестовыеДанные.ПростойСправочник, "ПростойСправочник"); - описаниеЭлемента_ПростойСправочник = СоздатьОписательЭлемента(); - описаниеЭлемента_ПростойСправочник.Вставить("Ссылка", ТестовыеДанные.ПростойСправочник); - описаниеЭлемента_ПростойСправочник.Вставить("ИмяПеременной", "ПростойСправочник"); - описаниеЭлемента_ПростойСправочник.Вставить("ВыгружатьКод", Ложь); - - //описаниеЭлемента_ПростойСправочник22 = Новый Структура("Ссылка,ИмяПеременной", ТестовыеДанные.ПростойСправочник22, "ПростойСправочник22"); - описаниеЭлемента_ПростойСправочник22 = СоздатьОписательЭлемента(); - описаниеЭлемента_ПростойСправочник22.Вставить("Ссылка", ТестовыеДанные.ПростойСправочник22); - описаниеЭлемента_ПростойСправочник22.Вставить("ИмяПеременной", "ПростойСправочник22"); - описаниеЭлемента_ПростойСправочник22.Вставить("ВыгружатьКод", Ложь); - - МассивДанных = Новый Массив; - МассивДанных.Добавить(описаниеЭлемента_ПростойСправочник); - МассивДанных.Добавить(описаниеЭлемента_ПростойСправочник22); - МассивДанных.Добавить(описаниеЗаписиРегистраСведений1); - МассивДанных.Добавить(описаниеЗаписиРегистраСведений2); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - //НовыйМакет.Показать(); - - наборЗаписей = РегистрыСведений.РегистрСведений1.СоздатьНаборЗаписей(); - наборЗаписей.Записать(); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовРегистраПоОтбору(Метаданное, ВидМетаданного, Отбор), "количество2 после удаления"); - - ПростойСправочник21_ИмяПеременной = "ПростойСправочник21"; - ПростойСправочник21 = ТестовыеДанные[ПростойСправочник21_ИмяПеременной]; - Отбор_ПростойСправочник21 = Новый Структура("Ссылка", ПростойСправочник21); - Отбор_ПростойСправочник21_Наименование = Новый Структура("Наименование", ПростойСправочник21.Наименование); - юТест.ПроверитьРавенство(НаименованиеПростогоЭлемента + "1", ПростойСправочник21.Наименование); - - //ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - тестовыеДанные.Удалить(ПростойСправочник21_ИмяПеременной); - юТест.УдалитьСозданныеДанные(тестовыеДанные); - - юТест.ПроверитьРавенство(1, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник2", Отбор_ПростойСправочник21), "количество Отбор_ПростойСправочник21 после удаления"); - юТест.ПроверитьРавенство(1, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник2", Отбор_ПростойСправочник21_Наименование), "количество Отбор_ПростойСправочник21_Наименование после удаления"); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - - юТест.ПроверитьРавенство(2, юТест.ПолучитьКоличествоЭлементовРегистраПоОтбору(Метаданное, ВидМетаданного, Отбор), "количество после добавления"); - - юТест.ПроверитьРавенство(МассивДанных.Количество(), ТестовыеДанные.Количество(), "МассивДанных.Количество(), ТестовыеДанные.Количество() НовыйМакет"); - юТест.ПроверитьИстину(ТестовыеДанные.Свойство(ИмяПеременнойЗаписиРС_1), "Ожидали, что есть переменная '"+ИмяПеременнойЗаписиРС_1+"'"); - менеджерЗаписи1 = ТестовыеДанные[ИмяПеременнойЗаписиРС_1]; - юТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, менеджерЗаписи1.ПростойСправочник); - юТест.ПроверитьРавенство(ПростойСправочник21, менеджерЗаписи1.ПростойСправочник2); - юТест.ПроверитьРавенство(300, менеджерЗаписи1.РесурсЧисло); - юТест.ПроверитьЛожь(менеджерЗаписи1.РесурсБулево); - - юТест.ПроверитьИстину(ТестовыеДанные.Свойство(ИмяПеременнойЗаписиРС_2), "Ожидали, что есть переменная '"+ИмяПеременнойЗаписиРС_2+"'"); - менеджерЗаписи2 = ТестовыеДанные[ИмяПеременнойЗаписиРС_2]; - юТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, менеджерЗаписи2.ПростойСправочник); - юТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник22, менеджерЗаписи2.ПростойСправочник2); - юТест.ПроверитьРавенство(400, менеджерЗаписи2.РесурсЧисло); - юТест.ПроверитьИстину(менеджерЗаписи2.РесурсБулево); - -КонецПроцедуры - -//} КОНЕЦ БЛОКА ЮНИТ-ТЕСТОВ \ No newline at end of file diff --git "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/renames.txt" "b/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/renames.txt" deleted file mode 100644 index c387cebb..00000000 --- "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/renames.txt" +++ /dev/null @@ -1,27 +0,0 @@ -167b4fb5-06a0-4e21-80a7-2b5f681d8046-->und\167b4fb5-06a0-4e21-80a7-2b5f681d8046 -167b4fb5-06a0-4e21-80a7-2b5f681d8046.0-->und\167b4fb5-06a0-4e21-80a7-2b5f681d8046.0 -275badc4-e53d-4fbd-887f-622fad71959c-->und\275badc4-e53d-4fbd-887f-622fad71959c -275badc4-e53d-4fbd-887f-622fad71959c.0-->und\275badc4-e53d-4fbd-887f-622fad71959c.0 -3807983a-d0f1-4e96-912a-ffda06732ded-->und\3807983a-d0f1-4e96-912a-ffda06732ded -3807983a-d0f1-4e96-912a-ffda06732ded.0-->und\3807983a-d0f1-4e96-912a-ffda06732ded.0 -9eb30d94-85ce-4406-a5a1-c2fe00b9550a.0\info-->C:\Users\aayuhanov\AppData\Local\Temp\тесты_ГенерацияМакетаДанных_На_БазеРеальныхДанных.epf.und\9eb30d94-85ce-4406-a5a1-c2fe00b9550a.0\info -9eb30d94-85ce-4406-a5a1-c2fe00b9550a.0\text-->ObjectModule.txt -a547a707-255f-4af8-b1ab-a356ed29fe26-->und\a547a707-255f-4af8-b1ab-a356ed29fe26 -b109821f-c1a9-4117-835b-c4d421b89748-->und\b109821f-c1a9-4117-835b-c4d421b89748 -b109821f-c1a9-4117-835b-c4d421b89748.0-->und\b109821f-c1a9-4117-835b-c4d421b89748.0 -c331c745-1219-4f75-986d-44d966f79fe7-->und\c331c745-1219-4f75-986d-44d966f79fe7 -c331c745-1219-4f75-986d-44d966f79fe7.0-->und\c331c745-1219-4f75-986d-44d966f79fe7.0 -c697a33c-4d4f-4800-8669-ee0016acbb4f-->und\c697a33c-4d4f-4800-8669-ee0016acbb4f -c697a33c-4d4f-4800-8669-ee0016acbb4f.0-->und\c697a33c-4d4f-4800-8669-ee0016acbb4f.0 -copyinfo-->und\copyinfo -dfcc3960-ff04-462a-92db-ec59de4d3362-->und\dfcc3960-ff04-462a-92db-ec59de4d3362 -dfcc3960-ff04-462a-92db-ec59de4d3362.0-->und\dfcc3960-ff04-462a-92db-ec59de4d3362.0 -ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5-->und\ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5 -ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5.0-->und\ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5.0 -f4961c46-2e15-47a6-9809-a2e1f4cd36f9-->und\f4961c46-2e15-47a6-9809-a2e1f4cd36f9 -f4961c46-2e15-47a6-9809-a2e1f4cd36f9.0-->und\f4961c46-2e15-47a6-9809-a2e1f4cd36f9.0 -ffb12caf-d293-4c44-b1a7-2f34999d1f7e-->und\ffb12caf-d293-4c44-b1a7-2f34999d1f7e -ffb12caf-d293-4c44-b1a7-2f34999d1f7e.0-->Form\Форма -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/167b4fb5-06a0-4e21-80a7-2b5f681d8046" "b/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/167b4fb5-06a0-4e21-80a7-2b5f681d8046" deleted file mode 100644 index 24929a36..00000000 --- "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/167b4fb5-06a0-4e21-80a7-2b5f681d8046" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,167b4fb5-06a0-4e21-80a7-2b5f681d8046},"СозданиеДвухПростыхСправочников", -{1,"ru","Создание двух простых справочников"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/167b4fb5-06a0-4e21-80a7-2b5f681d8046.0" "b/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/167b4fb5-06a0-4e21-80a7-2b5f681d8046.0" deleted file mode 100644 index 07cf3c80..00000000 Binary files "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/167b4fb5-06a0-4e21-80a7-2b5f681d8046.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/275badc4-e53d-4fbd-887f-622fad71959c" "b/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/275badc4-e53d-4fbd-887f-622fad71959c" deleted file mode 100644 index 7283e30a..00000000 --- "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/275badc4-e53d-4fbd-887f-622fad71959c" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,275badc4-e53d-4fbd-887f-622fad71959c},"СозданиеОбъектаСЗаполненнымРеквизитомТипаПеречисление", -{1,"ru","Создание объекта с заполненным реквизитом типа перечисление"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/275badc4-e53d-4fbd-887f-622fad71959c.0" "b/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/275badc4-e53d-4fbd-887f-622fad71959c.0" deleted file mode 100644 index 383bf935..00000000 Binary files "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/275badc4-e53d-4fbd-887f-622fad71959c.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/3807983a-d0f1-4e96-912a-ffda06732ded" "b/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/3807983a-d0f1-4e96-912a-ffda06732ded" deleted file mode 100644 index 1ae187d3..00000000 --- "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/3807983a-d0f1-4e96-912a-ffda06732ded" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,3807983a-d0f1-4e96-912a-ffda06732ded},"СозданиеСправочникаСРеквизитомСсылка_РежимПоискаКод", -{1,"ru","Создание справочника с реквизитом ссылка режим поиска код"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/3807983a-d0f1-4e96-912a-ffda06732ded.0" "b/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/3807983a-d0f1-4e96-912a-ffda06732ded.0" deleted file mode 100644 index 38d92573..00000000 Binary files "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/3807983a-d0f1-4e96-912a-ffda06732ded.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/a547a707-255f-4af8-b1ab-a356ed29fe26" "b/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/a547a707-255f-4af8-b1ab-a356ed29fe26" deleted file mode 100644 index 79e7b0e0..00000000 --- "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/a547a707-255f-4af8-b1ab-a356ed29fe26" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{a547a707-255f-4af8-b1ab-a356ed29fe26},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,62387e90-6294-426d-a644-b8da58c6ba21,bb0feec2-d0a0-4a53-9ea6-caa359ebf6e0, -{0, -{0, -{0,0,9eb30d94-85ce-4406-a5a1-c2fe00b9550a},"тесты_ГенерацияМакетаДанных_На_БазеРеальныхДанных", -{1,"ru","Тесты генерация макета данных на базе реальных данных"},"Автор - Артур Аюханов aka artbear"} -},ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5,"",ffb12caf-d293-4c44-b1a7-2f34999d1f7e},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,8,dfcc3960-ff04-462a-92db-ec59de4d3362,167b4fb5-06a0-4e21-80a7-2b5f681d8046,c331c745-1219-4f75-986d-44d966f79fe7,3807983a-d0f1-4e96-912a-ffda06732ded,275badc4-e53d-4fbd-887f-622fad71959c,f4961c46-2e15-47a6-9809-a2e1f4cd36f9,b109821f-c1a9-4117-835b-c4d421b89748,c697a33c-4d4f-4800-8669-ee0016acbb4f}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,2,ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5,ffb12caf-d293-4c44-b1a7-2f34999d1f7e}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/b109821f-c1a9-4117-835b-c4d421b89748" "b/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/b109821f-c1a9-4117-835b-c4d421b89748" deleted file mode 100644 index 73c37584..00000000 --- "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/b109821f-c1a9-4117-835b-c4d421b89748" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,b109821f-c1a9-4117-835b-c4d421b89748},"СозданиеДокументаСДвумяСтрокамиВТабличнойЧасти", -{1,"ru","Создание документа с двумя строками в табличной части"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/b109821f-c1a9-4117-835b-c4d421b89748.0" "b/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/b109821f-c1a9-4117-835b-c4d421b89748.0" deleted file mode 100644 index 52548078..00000000 Binary files "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/b109821f-c1a9-4117-835b-c4d421b89748.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/c331c745-1219-4f75-986d-44d966f79fe7" "b/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/c331c745-1219-4f75-986d-44d966f79fe7" deleted file mode 100644 index f271b032..00000000 --- "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/c331c745-1219-4f75-986d-44d966f79fe7" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,c331c745-1219-4f75-986d-44d966f79fe7},"СозданиеСвязанныхСправочников", -{1,"ru","Создание связанных справочников"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/c331c745-1219-4f75-986d-44d966f79fe7.0" "b/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/c331c745-1219-4f75-986d-44d966f79fe7.0" deleted file mode 100644 index fdf2c306..00000000 Binary files "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/c331c745-1219-4f75-986d-44d966f79fe7.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/c697a33c-4d4f-4800-8669-ee0016acbb4f" "b/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/c697a33c-4d4f-4800-8669-ee0016acbb4f" deleted file mode 100644 index 7b3d019d..00000000 --- "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/c697a33c-4d4f-4800-8669-ee0016acbb4f" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,c697a33c-4d4f-4800-8669-ee0016acbb4f},"СозданиеДвухЗаписейВРегистреСведений", -{1,"ru","Создание двух записей в регистре сведений"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/c697a33c-4d4f-4800-8669-ee0016acbb4f.0" "b/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/c697a33c-4d4f-4800-8669-ee0016acbb4f.0" deleted file mode 100644 index d7f77d65..00000000 Binary files "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/c697a33c-4d4f-4800-8669-ee0016acbb4f.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/copyinfo" "b/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/copyinfo" deleted file mode 100644 index eff52000..00000000 --- "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/copyinfo" +++ /dev/null @@ -1,54 +0,0 @@ -{4, -{5, -{5fafd470-b0a2-485b-b255-a3b8faa26fb7,5fafd470-b0a2-485b-b255-a3b8faa26fb7,1, -{9cd510cd-abfc-11d4-9434-004095e12fc7,"_1CUnit"} -}, -{6eaeb2c4-c358-4c9b-82bf-b779f300f3e5,6eaeb2c4-c358-4c9b-82bf-b779f300f3e5,1, -{9fcd25a0-4822-11d4-9414-008048da11f9,""} -}, -{9eb30d94-85ce-4406-a5a1-c2fe00b9550a,9eb30d94-85ce-4406-a5a1-c2fe00b9550a,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"тесты_ГенерацияМакетаДанных_На_БазеРеальныхДанных"} -}, -{ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5,ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"УправляемаяФорма"} -}, -{ffb12caf-d293-4c44-b1a7-2f34999d1f7e,ffb12caf-d293-4c44-b1a7-2f34999d1f7e,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -} -}, -{5, -{280f5f0e-9c8a-49cc-bf6d-4d296cc17a63,5fafd470-b0a2-485b-b255-a3b8faa26fb7,0}, -{38bfd075-3e63-4aaa-a93e-94521380d579,6eaeb2c4-c358-4c9b-82bf-b779f300f3e5,4}, -{474c3bf6-08b5-4ddc-a2ad-989cedf11583,6eaeb2c4-c358-4c9b-82bf-b779f300f3e5,1}, -{62387e90-6294-426d-a644-b8da58c6ba21,9eb30d94-85ce-4406-a5a1-c2fe00b9550a,0}, -{e61ef7b8-f3e1-4f4b-8ac7-676e90524997,6eaeb2c4-c358-4c9b-82bf-b779f300f3e5,0} -}, -{6, -{ -{1},acf6192e-81ca-46ef-93a6-5a6968b78663, -{1} -}, -{ -{2},acf6192e-81ca-46ef-93a6-5a6968b78663, -{2} -}, -{ -{3},acf6192e-81ca-46ef-93a6-5a6968b78663, -{3} -}, -{ -{4},acf6192e-81ca-46ef-93a6-5a6968b78663, -{4} -}, -{ -{5},acf6192e-81ca-46ef-93a6-5a6968b78663, -{5} -}, -{ -{6},acf6192e-81ca-46ef-93a6-5a6968b78663, -{6} -} -}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/dfcc3960-ff04-462a-92db-ec59de4d3362" "b/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/dfcc3960-ff04-462a-92db-ec59de4d3362" deleted file mode 100644 index 63e9c2c0..00000000 --- "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/dfcc3960-ff04-462a-92db-ec59de4d3362" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,dfcc3960-ff04-462a-92db-ec59de4d3362},"СозданиеПростогоСправочника", -{1,"ru","Создание простого справочника"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/dfcc3960-ff04-462a-92db-ec59de4d3362.0" "b/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/dfcc3960-ff04-462a-92db-ec59de4d3362.0" deleted file mode 100644 index eb1b4668..00000000 Binary files "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/dfcc3960-ff04-462a-92db-ec59de4d3362.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5" "b/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5" deleted file mode 100644 index 87b52f03..00000000 --- "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5},"УправляемаяФорма", -{1,"ru","Управляемая форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5.0" "b/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5.0" deleted file mode 100644 index 10aa6545..00000000 --- "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5.0" +++ /dev/null @@ -1,1005 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{0,0,0},3,a9f3b1ac-f51b-431e-b102-55a69acdecad, -{19, -{16,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"ФормаСоздатьМакетДанных", -{1,0},1, -{1,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},3,0,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0, -{3,0, -{0},"",-1,-1,1,0},1, -{"Pattern"},"",2},a9f3b1ac-f51b-431e-b102-55a69acdecad, -{19, -{39,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"ФормаПроверитьЗагрузкуМакета", -{1,0},1, -{3,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},3,0,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0, -{3,0, -{0},"",-1,-1,1,0},1, -{"Pattern"},"",2},a9f3b1ac-f51b-431e-b102-55a69acdecad, -{19, -{19,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"ФормаСохранитьМакетДанныхВФайл", -{1,0},1, -{2,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},3,0,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0, -{3,0, -{0},"",-1,-1,1,0},1, -{"Pattern"},"",2},1},2,143c00f7-a42d-4cd7-9189-88e4467dc768, -{42, -{22,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},"ТаблицаДанных",0,0,1, -{1,0}, -{1,0}, -{1, -{3} -},0,1,0,0,0,1,1,0,0,0,0,0,1,0,1,1,0,1,2,2,1,1,0,0,0,1,2,0,0,1,1, -{0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1,1,1,13, -{"U"}, -{0}, -{0},1, -{17, -{23,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ТаблицаДанныхКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{17, -{24,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} -}, -{6,3,0,1}, -{0,0,0},1, -{0,0,1},0,1},6,77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{25,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},2,"ТаблицаДанныхСсылка",1,0, -{1,0}, -{1,0}, -{2, -{3}, -{1} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,1,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{26, -{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, -{"U"}, -{"U"},"",0, -{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}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, -{3,0,0},0}, -{1,fe115cc8-9e33-4684-a166-bd5136fe7a9f,"ТаблицаДанныхСсылкаПриИзменении"},1, -{17, -{26,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ТаблицаДанныхСсылкаКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{27,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},2,"ТаблицаДанныхМетаданное",1,0, -{1,0}, -{1,0}, -{2, -{3}, -{2} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,2,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{26, -{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, -{"U"}, -{"U"},"",0, -{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}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, -{3,0,0},0}, -{0},1, -{17, -{28,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ТаблицаДанныхМетаданноеКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{29,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},2,"ТаблицаДанныхИмяПеременной",1,0, -{1,0}, -{1,0}, -{2, -{3}, -{3} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,2,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{26, -{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, -{"U"}, -{"U"},"",0, -{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}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, -{3,0,0},0}, -{0},1, -{17, -{30,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ТаблицаДанныхИмяПеременнойКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{31,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},3,"ТаблицаДанныхВыгружатьКод",1,0, -{1,0}, -{1,0}, -{2, -{3}, -{4} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,2,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{7,0, -{3,4, -{0} -}, -{3,4, -{0} -} -}, -{0},1, -{17, -{32,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ТаблицаДанныхВыгружатьКодКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{33,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},3,"ТаблицаДанныхВыгружатьНомер",1,0, -{1,0}, -{1,0}, -{2, -{3}, -{5} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,2,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{7,0, -{3,4, -{0} -}, -{3,4, -{0} -} -}, -{0},1, -{17, -{34,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ТаблицаДанныхВыгружатьНомерКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{35,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},2,"ТаблицаДанныхРежимПоиска",1,0, -{1,0}, -{1,0}, -{2, -{3}, -{6} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,2,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{26, -{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, -{"U"}, -{"U"},"",0, -{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}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, -{3,0,0},0}, -{0},1, -{17, -{36,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ТаблицаДанныхРежимПоискаКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},2,2,1,0, -{"Pattern"},"","",2,2},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{17,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},6,"Макет",1,0, -{1,1, -{"ru","Макет данных"} -}, -{1,0}, -{1, -{2} -}, -{0},1,0,2,0,1, -{1,0}, -{1,0},1,1,0,3,0,3,1,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{7,50,10,1,1,1,1,1,1,0,0,0,1,1,1, -{3,4, -{0} -},1,1, -{0} -}, -{0},1, -{17, -{18,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"МакетКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},"","",1, -{17, -{0},0,0,0,7,"Navigator", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -}," -&НаКлиенте -Процедура СоздатьМакетДанных(Команда) - НовыйМакет = СоздатьМакетДанныхСервер(); - //НовыйМакет.Показать(); -КонецПроцедуры - -&НаСервере -Функция СоздатьМакетДанныхСервер() - Макет.Очистить(); - ОсновнойОбъект = Объект(); - массивДанных = Новый Массив; - Для каждого строка Из ТаблицаДанных Цикл - ОписательЭлемента = ОсновнойОбъект.СоздатьОписательЭлемента(); - ЗаполнитьЗначенияСвойств(ОписательЭлемента, строка); - массивДанных.Добавить(ОписательЭлемента); - КонецЦикла; - НовыйМакет = ОсновнойОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - Если ТипЗнч(НовыйМакет) = Тип(""ТабличныйДокумент"") Тогда - Макет.Вывести(НовыйМакет); - КонецЕсли; - Возврат НовыйМакет; -КонецФункции - -&НаСервере -Функция Объект() - Возврат РеквизитФормыВЗначение(""Объект""); -КонецФункции - -&НаСервере -Процедура УстановитьОбъект(Объект) - ЗначениеВРеквизитФормы(Объект, ""Объект""); -КонецПроцедуры - -&НаКлиенте -Процедура СохранитьМакетДанныхВФайл(Команда) - ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); - ДиалогВыбораФайла.ПолноеИмяФайла = """"; - ДиалогВыбораФайла.Фильтр = ""Табличный документ (*.mxl)|*.mxl|Все файлы (*.*)|*.*""; - ДиалогВыбораФайла.Заголовок = ""Выберите файл""; - Если Не ДиалогВыбораФайла.Выбрать() Тогда - Возврат; - КонецЕсли; - - Макет.Записать(ДиалогВыбораФайла.ПолноеИмяФайла); -КонецПроцедуры - -&НаКлиенте -Процедура ТаблицаДанныхСсылкаПриИзменении(Элемент) - ТаблицаДанныхСсылкаПриИзмененииСервер(Элементы.ТаблицаДанных.ТекущиеДанные.ПолучитьИдентификатор()); -КонецПроцедуры - -&НаСервере -Процедура ТаблицаДанныхСсылкаПриИзмененииСервер(ИдентификаторСтрокиДанных) - ЭлементДанных = ТаблицаДанных.НайтиПоИдентификатору(ИдентификаторСтрокиДанных); - Если ЗначениеЗаполнено(ЭлементДанных.Ссылка) Тогда - ОсновнойОбъект = Объект(); - Ид = ОсновнойОбъект.ПолучитьИдентификаторПредставленияПоСсылке(ЭлементДанных.Ссылка); - ЭлементДанных.ИмяПеременной = Ид; - ЭлементДанных.Метаданное = ЭлементДанных.Ссылка.Метаданные().ПолноеИмя(); - ЭлементДанных.РежимПоиска = ""Перем""; - КонецЕсли; -КонецПроцедуры - - -&НаКлиенте -Процедура ПротестироватьЗагрузкуМакета(Команда) - путьФайл_юТест = ПолучитьПутьОбработкиЗапускателяТестов_Сервер(); - - ИдОбработки_юТест = Новый УникальныйИдентификатор(); - ПодключитьНаСервереВнешнююОбработкуОтКлиента(путьФайл_юТест, ИдОбработки_юТест); - - ПроверитьЗагрузкуМакетаСервер(ИдОбработки_юТест, Макет); -КонецПроцедуры - -&НаСервереБезКонтекста -Процедура ПроверитьЗагрузкуМакетаСервер(ИдОбработки_юТест, ТабличныйДокумент) - НачатьТранзакцию(); - - юТест = ВнешниеОбработки.Создать(ИдОбработки_юТест); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(ТабличныйДокумент); - юТест.ПроверитьНеРавенство(0, ТестовыеДанные.Количество(), ""не заполнены тестовые данные. Возможно, макет данных пуст!"" ); - - Если ТранзакцияАктивна() Тогда - ОтменитьТранзакцию(); - КонецЕсли; - Сообщить(""Проверка загрузки объектов в ИБ из макета данных выполнена успешно.""); -КонецПроцедуры - -&НаСервере -Функция ПолучитьПутьОбработкиЗапускателяТестов_Сервер() - каталогТекущегоФайла = ПолучитьКаталогОбработкиСервер(); - - имяФайла_Раннера = ""UnitTestRunner.epf""; - Файл = Новый Файл(каталогТекущегоФайла + имяФайла_Раннера); - Если НЕ Файл.Существует() Тогда - Файл = Новый Файл(каталогТекущегоФайла + ""..\"" + имяФайла_Раннера); - Если НЕ Файл.Существует() Тогда - ВызватьИсключение ""Не удалось найти файл ""+имяФайла_Раннера; - КонецЕсли; - КонецЕсли; - путьФайл_Раннер = Файл.ПолноеИмя; - Возврат путьФайл_Раннер; -КонецФункции - -&НаСервере -Функция ПолучитьКаталогОбработкиСервер() - ОсновнойОбъект = Объект(); - МассивСтрок = ОсновнойОбъект.ПолучитьМассивИзСтрокиСРазделителем_ирЛкс(ОсновнойОбъект.ИспользуемоеИмяФайла, ""\""); - МассивСтрок.Удалить(МассивСтрок.ВГраница()); - Каталог = """"; - Для каждого Строка Из МассивСтрок Цикл - Каталог = Каталог + Строка + ""\""; - КонецЦикла; - Возврат Каталог; -КонецФункции - -&НаКлиенте -Функция ПодключитьНаСервереВнешнююОбработкуОтКлиента(ПолныйПутьФайлаОбработки, ИдентификаторОбработки) - АдресХранилища = """"; - ПоместитьФайл(АдресХранилища, ПолныйПутьФайлаОбработки,, Ложь); - Возврат ПодключитьВнешнююОбработкуСервер(АдресХранилища, ИдентификаторОбработки); -КонецФункции - -&НаСервереБезКонтекста -Функция ПодключитьВнешнююОбработкуСервер(АдресХранилища, ИдентификаторОбработки) - Возврат ВнешниеОбработки.Подключить(АдресХранилища, ИдентификаторОбработки, Ложь); // подключаю не в безопасном режиме -КонецФункции - -&НаКлиенте -Функция ПолучитьФормуВнешнейОбработки(ИдентификаторОбработки, имяОсновнойУправляемойФормы) - Попытка - Возврат ПолучитьФорму(""ВнешняяОбработка."" + ИдентификаторОбработки + "".Форма."" + имяОсновнойУправляемойФормы); - //Возврат ПолучитьФорму(""ВнешняяОбработка."" + ИдентификаторОбработки + "".Форма.Форма""); - Исключение - Возврат Неопределено; - КонецПопытки; -КонецФункции -", -{4,3, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",62387e90-6294-426d-a644-b8da58c6ba21} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},1,0,0,0, -{0,0}, -{0,0} -}, -{9, -{2},0,"Макет", -{1,1, -{"ru","Макет"} -}, -{"Pattern", -{"#",e603103e-a318-4edc-a014-b1c6cf94d49f} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{3},0,"ТаблицаДанных", -{1,1, -{"ru","Таблица данных"} -}, -{"Pattern", -{"#",acf6192e-81ca-46ef-93a6-5a6968b78663} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,6, -{5,1,0,"Ссылка", -{1,1, -{"ru","Ссылка"} -}, -{"Pattern", -{"#",280f5f0e-9c8a-49cc-bf6d-4d296cc17a63} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,2,0,"Метаданное", -{1,1, -{"ru","Метаданное"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,3,0,"ИмяПеременной", -{1,1, -{"ru","Имя переменной"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,4,0,"ВыгружатьКод", -{1,1, -{"ru","Выгружать код"} -}, -{"Pattern", -{"B"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,5,0,"ВыгружатьНомер", -{1,1, -{"ru","Выгружать номер"} -}, -{"Pattern", -{"B"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,6,0,"РежимПоиска", -{1,1, -{"ru","Режим поиска"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{0,0}, -{0,0} -},0,0, -{#base64:77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxTZXR0 -aW5ncyB4bWxucz0iaHR0cDovL3Y4LjFjLnJ1LzguMS9kYXRhLWNvbXBvc2l0aW9u -LXN5c3RlbS9zZXR0aW5ncyIgeG1sbnM6ZGNzY29yPSJodHRwOi8vdjguMWMucnUv -OC4xL2RhdGEtY29tcG9zaXRpb24tc3lzdGVtL2NvcmUiIHhtbG5zOnN0eWxlPSJo -dHRwOi8vdjguMWMucnUvOC4xL2RhdGEvdWkvc3R5bGUiIHhtbG5zOnN5cz0iaHR0 -cDovL3Y4LjFjLnJ1LzguMS9kYXRhL3VpL2ZvbnRzL3N5c3RlbSIgeG1sbnM6djg9 -Imh0dHA6Ly92OC4xYy5ydS84LjEvZGF0YS9jb3JlIiB4bWxuczp2OHVpPSJodHRw -Oi8vdjguMWMucnUvOC4xL2RhdGEvdWkiIHhtbG5zOndlYj0iaHR0cDovL3Y4LjFj -LnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93ZWIiIHhtbG5zOndpbj0iaHR0cDovL3Y4 -LjFjLnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93aW5kb3dzIiB4bWxuczp4cz0iaHR0 -cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDov -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,3, -{6, -{1,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"СоздатьМакетДанных", -{1,1, -{"ru","Создать макет данных"} -}, -{1,1, -{"ru","Создать макет данных"} -}, -{0, -{0, -{"B",1},0} -}, -{0,0,0}, -{3,0, -{0},"",-1,-1,1,0},"СоздатьМакетДанных",3,1,0, -{0,0} -}, -{6, -{2,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"СохранитьМакетДанныхВФайл", -{1,1, -{"ru","Сохранить макет данных в файл"} -}, -{1,1, -{"ru","Сохранить макет данных в файл"} -}, -{0, -{0, -{"B",1},0} -}, -{0,0,0}, -{3,0, -{0},"",-1,-1,1,0},"СохранитьМакетДанныхВФайл",3,0,0, -{0,0} -}, -{6, -{3,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"ПротестироватьЗагрузкуМакета", -{1,1, -{"ru","Протестировать загрузку макета"} -}, -{1,1, -{"ru","Протестировать загрузку макета"} -}, -{0, -{0, -{"B",1},0} -}, -{0,0,0}, -{3,0, -{0},"",-1,-1,1,0},"ПротестироватьЗагрузкуМакета",3,0,0, -{0,0} -} -}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/f4961c46-2e15-47a6-9809-a2e1f4cd36f9" "b/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/f4961c46-2e15-47a6-9809-a2e1f4cd36f9" deleted file mode 100644 index 5239d88d..00000000 --- "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/f4961c46-2e15-47a6-9809-a2e1f4cd36f9" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,f4961c46-2e15-47a6-9809-a2e1f4cd36f9},"СозданиеСправочникаСДвумяСтрокамиВТабличнойЧасти", -{1,"ru","Создание справочника с двумя строками в табличной части"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/f4961c46-2e15-47a6-9809-a2e1f4cd36f9.0" "b/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/f4961c46-2e15-47a6-9809-a2e1f4cd36f9.0" deleted file mode 100644 index 0824f6b1..00000000 Binary files "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/f4961c46-2e15-47a6-9809-a2e1f4cd36f9.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/ffb12caf-d293-4c44-b1a7-2f34999d1f7e" "b/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/ffb12caf-d293-4c44-b1a7-2f34999d1f7e" deleted file mode 100644 index 79c11bc4..00000000 --- "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/ffb12caf-d293-4c44-b1a7-2f34999d1f7e" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,ffb12caf-d293-4c44-b1a7-2f34999d1f7e},"Форма", -{1,"ru","Форма"},""},0,0}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/root" "b/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/root" deleted file mode 100644 index 1c96e8aa..00000000 --- "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,a547a707-255f-4af8-b1ab-a356ed29fe26,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/versions" "b/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/versions" deleted file mode 100644 index cd285808..00000000 --- "a/src/Tests/CommonApp/\321\202\320\265\321\201\321\202\321\213_\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\272\320\265\321\202\320\260\320\224\320\260\320\275\320\275\321\213\321\205_\320\235\320\260_\320\221\320\260\320\267\320\265\320\240\320\265\320\260\320\273\321\214\320\275\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,27,"9eb30d94-85ce-4406-a5a1-c2fe00b9550a.0",c1ac8f95-5b20-4fca-8105-1b05ec796bc1,"",40b6383b-63c3-4bec-bf6d-5533d33f9e55,"275badc4-e53d-4fbd-887f-622fad71959c",40d3da15-f46a-4ad8-b48d-6c1a1803fabd,"ffb12caf-d293-4c44-b1a7-2f34999d1f7e.0",20f9b085-a862-4706-8599-28bbfc5515fd,"c331c745-1219-4f75-986d-44d966f79fe7",a9686bad-287d-444d-8554-64e00b2b107d,"f4961c46-2e15-47a6-9809-a2e1f4cd36f9.0",d2798e1a-e584-4905-8e4a-ab3fc092605a,"copyinfo",e7028d14-1c22-42cd-ae27-7aaa678372c4,"275badc4-e53d-4fbd-887f-622fad71959c.0",b3f2bc24-709e-45d9-b530-2628631cca82,"b109821f-c1a9-4117-835b-c4d421b89748.0",11cb0e2d-5744-4fa4-8fe6-3a6bc93b9ad0,"167b4fb5-06a0-4e21-80a7-2b5f681d8046",d783f726-a962-48ef-9fd1-f900fad882ec,"c697a33c-4d4f-4800-8669-ee0016acbb4f.0",29db45bf-0981-4dfb-99f6-9fd595cd01c7,"c331c745-1219-4f75-986d-44d966f79fe7.0",d0afe931-4124-4b40-97f0-b8445e9f3824,"c697a33c-4d4f-4800-8669-ee0016acbb4f",a29662ce-44f4-4b60-933f-08d4982c599f,"a547a707-255f-4af8-b1ab-a356ed29fe26",1eeadce0-8138-4247-8d94-fc91361c5c7e,"ffb12caf-d293-4c44-b1a7-2f34999d1f7e",8bd2f7a9-7f46-4f81-a2fe-3a9e4cb92714,"version",68300c4a-32ec-4642-b187-06c13b819b1a,"root",83217be8-fee9-4c30-8a97-58c1e8945dae,"3807983a-d0f1-4e96-912a-ffda06732ded.0",249ac21a-c8b5-4731-8c7b-ede727d72447,"versions",7a5c43f3-dcf9-4fae-98c6-1a8ce08e7f20,"167b4fb5-06a0-4e21-80a7-2b5f681d8046.0",0bd7d070-e2d4-4e76-ac28-2d291cdb0275,"3807983a-d0f1-4e96-912a-ffda06732ded",99230183-ecd5-44f7-826d-18c3f4217ec9,"b109821f-c1a9-4117-835b-c4d421b89748",7ad65c7e-a49e-49c7-a989-74670c2860ac,"ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5",3f6cae9e-146b-451c-a851-dd0d0f8cb6f4,"dfcc3960-ff04-462a-92db-ec59de4d3362",a43e3a8e-979e-4c3a-8854-a185582907cc,"f4961c46-2e15-47a6-9809-a2e1f4cd36f9",631db509-1ccb-4049-b6b2-e985c4561fe7,"ebcb36c8-40c6-4224-8ade-83ccc6ba4dc5.0",caa357bc-deff-4ef4-8fa3-ce2f34b07af3,"dfcc3960-ff04-462a-92db-ec59de4d3362.0",34060ab4-3a0c-4041-87eb-bf1019df59fd} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/ObjectModule.txt" "b/src/Tests/CommonApp/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/ObjectModule.txt" deleted file mode 100644 index ef2af92c..00000000 --- "a/src/Tests/CommonApp/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/ObjectModule.txt" +++ /dev/null @@ -1,95 +0,0 @@ -Перем _Форма; - -Перем юТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ДобавитьТестДляМетаданного(ВсеТесты, Метаданные.Документы, "Тест_ОткрытьФормуСуществующегоДокумента", ПолучитьСписокИсключений_Существующие()); - - // Исключения тут - //ВсеТесты.Добавить("Тест_ОткрытьФормуСуществующегоВводНачальныхОстатков"); - - ДобавитьТестДляМетаданного(ВсеТесты, Метаданные.Документы, "Тест_ПеренестиДокументНаТекущийДень_и_ОткрытьЕгоФорму", ПолучитьСписокИсключений_ПеренестиДату()); - - ДобавитьТестДляМетаданного(ВсеТесты, Метаданные.Документы, "Тест_ОткрытьФормуНовогоДокумента", ПолучитьСписокИсключений_Новые()); - - Возврат ВсеТесты; -КонецФункции - -Процедура ПослеЗапускаТеста() Экспорт - Если ТипЗнч(_Форма) <> Тип("Форма") Тогда - Возврат; - КонецЕсли; - _Форма.Модифицированность = Ложь; - Если _Форма.Открыта() Тогда - _Форма.Закрыть(); - КонецЕсли; - _Форма = ""; -КонецПроцедуры - -Процедура ДобавитьТестДляМетаданного(ВсеТесты, менеджерМетаданного, имяТеста, списокИсключений) - Для Каждого мДокумент Из менеджерМетаданного Цикл - Если списокИсключений.НайтиПоЗначению(мДокумент.Имя) <> Неопределено Тогда - Продолжить; - КонецЕсли; - Если ПравоДоступа("Просмотр", мДокумент) Тогда - лПараметры = Новый Структура("ИмяТеста,Транзакция,Параметр", имяТеста, Истина, мДокумент.Имя); - ВсеТесты.Добавить(лПараметры); - КонецЕсли; - КонецЦикла; -КонецПроцедуры - -Процедура Тест_ОткрытьФормуСуществующегоДокумента(_ИДДокумента) Экспорт - выборка = Документы[_ИДДокумента].Выбрать(,,, "Дата Убыв"); - юТест.ПроверитьИстину(выборка.Следующий(), "выборка.Следующий() - не найдено существующих документов! "); - _док = выборка.ПолучитьОбъект(); - _Форма = _Док.ПолучитьФорму(); - - _Форма.Открыть(); - юТест.Проверить(_Форма.Открыта(), "_Форма существующего документа """+_ИДДокумента+""" не открылась, а должна была открыться"); -КонецПроцедуры - -Процедура Тест_ПеренестиДокументНаТекущийДень_и_ОткрытьЕгоФорму(_ИДДокумента) Экспорт - _Док = Документы[_ИДДокумента].СоздатьДокумент(); - _Док.Дата = ТекущаяДата(); - _Док.ОбменДанными.Загрузка = Истина; - _Док.Записать(); - _Форма = _Док.ПолучитьФорму(); - - _Форма.Открыть(); - юТест.Проверить(_Форма.Открыта(), "_Форма существующего документа """+_ИДДокумента+""" не открылась, а должна была открыться"); -КонецПроцедуры - -Процедура Тест_ОткрытьФормуНовогоДокумента(_ИДДокумента) Экспорт - _Док = Документы[_ИДДокумента].СоздатьДокумент(); - _Форма = _Док.ПолучитьФорму(); - _Форма.Открыть(); - юТест.Проверить(_Форма.Открыта(), "_Форма нового документа """+_ИДДокумента+""" не открылась, а должна была открыться"); -КонецПроцедуры - -Функция ПолучитьСписокИсключений_Существующие() - Результат = Новый СписокЗначений; - - Результат.Добавить("Цены"); - - Возврат Результат; -КонецФункции - -Функция ПолучитьСписокИсключений_ПеренестиДату() - Результат = Новый СписокЗначений; - - Результат.Добавить("Цены"); - - Возврат Результат; -КонецФункции - -Функция ПолучитьСписокИсключений_Новые() - Результат = Новый СписокЗначений; - - Результат.Добавить("Цены"); - - Возврат Результат; -КонецФункции diff --git "a/src/Tests/CommonApp/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/renames.txt" "b/src/Tests/CommonApp/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/renames.txt" deleted file mode 100644 index cb35a7fe..00000000 --- "a/src/Tests/CommonApp/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/renames.txt" +++ /dev/null @@ -1,7 +0,0 @@ -copyinfo-->und\copyinfo -df099fc3-03ed-44c9-a8dd-e95a1e8978ff.0\info-->C:\Users\aayuhanov\AppData\Local\Temp\тесты_ОткрытиеФормДокументов.epf.und\df099fc3-03ed-44c9-a8dd-e95a1e8978ff.0\info -df099fc3-03ed-44c9-a8dd-e95a1e8978ff.0\text-->ObjectModule.txt -eb6420d9-ff9e-4c68-b025-2c1608cec69f-->und\eb6420d9-ff9e-4c68-b025-2c1608cec69f -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/CommonApp/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/copyinfo" "b/src/Tests/CommonApp/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/copyinfo" deleted file mode 100644 index 08913bc8..00000000 --- "a/src/Tests/CommonApp/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/copyinfo" +++ /dev/null @@ -1,7 +0,0 @@ -{4, -{0}, -{0}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/eb6420d9-ff9e-4c68-b025-2c1608cec69f" "b/src/Tests/CommonApp/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/eb6420d9-ff9e-4c68-b025-2c1608cec69f" deleted file mode 100644 index e567b6e9..00000000 --- "a/src/Tests/CommonApp/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/eb6420d9-ff9e-4c68-b025-2c1608cec69f" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{eb6420d9-ff9e-4c68-b025-2c1608cec69f},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,d7763d54-e3e8-4427-b006-786d44023817,4eac2e4e-b966-477c-8f8b-b4f3c988a024, -{0, -{0, -{0,0,df099fc3-03ed-44c9-a8dd-e95a1e8978ff},"ЮнитТесты_ОткрытиеФормДокументов", -{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}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/root" "b/src/Tests/CommonApp/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/root" deleted file mode 100644 index 647bb3c0..00000000 --- "a/src/Tests/CommonApp/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,eb6420d9-ff9e-4c68-b025-2c1608cec69f,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/versions" "b/src/Tests/CommonApp/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/versions" deleted file mode 100644 index a573b4d5..00000000 --- "a/src/Tests/CommonApp/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,8,"",07e9c2a7-56de-4b1b-bf21-f103f4896e8c,"versions",e0cb10dd-e803-42a7-b6b0-4130a0c0dad9,"df099fc3-03ed-44c9-a8dd-e95a1e8978ff",93a5773f-20b3-4539-bb21-d49e2f37513d,"df099fc3-03ed-44c9-a8dd-e95a1e8978ff.0",7198142b-1044-414b-9b32-b655bc4bc8a6,"root",4e6911f2-a452-4a94-b4d6-ae11c88d60cc,"version",113ea19f-cbef-408a-a683-568d9c148503,"eb6420d9-ff9e-4c68-b025-2c1608cec69f",633c5898-53ec-449a-bded-8634280d015b,"copyinfo",31adf0fe-3345-47bb-b6ec-69fe7dad9fd0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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/CommonApp/\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" deleted file mode 100644 index 42a16396..00000000 --- "a/src/Tests/CommonApp/\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" +++ /dev/null @@ -1,90 +0,0 @@ -{27, -{16, -{ -{1,1, -{"ru","Получение формы"} -},3,4294967295}, -{09ccdc77-ea1a-4a6d-ab1c-3435eada2433, -{1, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},21,0,0,0,0,0,0, -{3,1, -{3,0, -{0},"",-1,-1,1,0} -},0,1, -{1,1, -{3, -{1,1, -{"ru","Страница1"} -}, -{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}, -{0} -}, -{0} -},266,134,1,0,1,4,4,37}, -{ -{-1},1, -{0}, -{0} -}, -{00000000-0000-0000-0000-000000000000,0}, -{1, -{70000,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} -} -} -} -},1,4,1,0,0,0, -{0}, -{0}, -{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/CommonApp/\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/module" "b/src/Tests/CommonApp/\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/module" deleted file mode 100644 index 1567d067..00000000 --- "a/src/Tests/CommonApp/\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/module" +++ /dev/null @@ -1,12 +0,0 @@ - -Процедура ПередОткрытием(Отказ, СтандартнаяОбработка) - Отказ = Истина; -КонецПроцедуры - -Функция ПолучитьФормуЛкс(ИмяФормы, Параметры = Неопределено, Владелец = Неопределено, Уникальность = Неопределено, Окно = Неопределено) Экспорт - - Результат = ПолучитьФорму(ИмяФормы, Параметры, Владелец, Уникальность, Окно); - Возврат Результат; - -КонецФункции - diff --git "a/src/Tests/CommonApp/\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.txt" "b/src/Tests/CommonApp/\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.txt" deleted file mode 100644 index 5e1ecb84..00000000 --- "a/src/Tests/CommonApp/\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.txt" +++ /dev/null @@ -1,434 +0,0 @@ -&НаКлиенте -Перем ЮТест; // для тестирования - -&НаКлиенте -Перем ТестируемаяФорма; - -//{ основная процедура для юнит-тестирования 1CUnit -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - ВсеТесты = Новый Массив; - - НужноИсключениеЕслиНеНайденоДокументов = Ложь; - - СоздатьИменаОсновныхФорм(); - - ТолькоУправляемыеФормы = Истина; - //#Если ТонкийКлиент или ВебКлиент Тогда - #Если ТолстыйКлиентОбычноеПриложение или ТолстыйКлиентУправляемоеПриложение Тогда - ТолькоУправляемыеФормы = Ложь; - #КонецЕсли - - Если Не ИспользоватьОбычныеФормыВТолстомКлиентеВУправляемомРежимеСервер() Тогда - ТолькоУправляемыеФормы = Истина; - КонецЕсли; - - Объект.ВыводитьСообщенияВЖурналРегистрации = Истина; - - ИменаОсновныхФорм_Объекты_Сервер = ИменаОсновныхФорм_Объекты_Сервер(); - мИменаОсновныхФорм_Списки_Сервер = мИменаОсновныхФорм_Списки_Сервер(); - - ДобавитьТестыДляСправочниковСервер(ВсеТесты, ТолькоУправляемыеФормы, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер); - ДобавитьТестыДляДокументовСервер(ВсеТесты, ТолькоУправляемыеФормы, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер); - - ДобавитьТестыДляОтчетовОбработокСервер(ВсеТесты, ТолькоУправляемыеФормы); - - ВсеТесты.Добавить("ТестДолжен_ПроверитьБагПлатформыПриОткрытииУправляемойФормыПриОткрытииКоторойЕстьИсключение"); - - Возврат ВсеТесты; - -КонецФункции -//} - -//{ блок юнит-тестов - САМИ ТЕСТЫ - -&НаКлиенте -Процедура ПередЗапускомТеста() Экспорт - //Предупреждение("Спец.окно для для показа сообщений из тестов. Таймаут 1 секунда",1); // нужно для показа сообщений из теста, иначе не будут показаны - - ВыводитьСообщенияВЖурналРегистрации = Истина; - CоздаваемыйЭлемент = Неопределено; - - ОбновитьПовторноИспользуемыеЗначения(); - - //НачатьТранзакциюСервер(); -КонецПроцедуры - -&НаКлиенте -Процедура ПослеЗапускаТеста() Экспорт - //ОтменитьТранзакциюСервер(); - - ЗакрытьФорму(); - УдалитьСозданныйОбъект(); -КонецПроцедуры - -&НаСервереБезКонтекста -Процедура НачатьТранзакциюСервер() - НачатьТранзакцию(); -КонецПроцедуры - -&НаСервереБезКонтекста -Процедура ОтменитьТранзакциюСервер() - Если ТранзакцияАктивна() Тогда - ОтменитьТранзакцию(); - КонецЕсли; -КонецПроцедуры - -&НаСервере -Процедура УдалитьСозданныйОбъект() - Если ЗначениеЗаполнено(CоздаваемыйЭлемент) Тогда - CозданныйОбъект = CоздаваемыйЭлемент.ПолучитьОбъект(); - CозданныйОбъект.Удалить(); - КонецЕсли; - CоздаваемыйЭлемент = Неопределено; -КонецПроцедуры - -&НаКлиенте -Процедура ЗакрытьФорму() - //Если ТипЗнч(ТестируемаяФорма) <> Тип("Форма") и ТипЗнч(ТестируемаяФорма) <> Тип("УправляемаяФорма") Тогда - Если ТипЗнч(ТестируемаяФорма) <> Тип("УправляемаяФорма") Тогда - Возврат; - КонецЕсли; - ТестируемаяФорма.Модифицированность = Ложь; - Если ТестируемаяФорма.Открыта() Тогда - ТестируемаяФорма.Модифицированность = Ложь; - //Попытка - ТестируемаяФорма.Закрыть(); - //Исключение - // Ошибка = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - // ЗакрытьФормуБезусловноСОтменойТранзакции(ТестируемаяФорма); - // //Если ТранзакцияАктивна() Тогда - // // ОтменитьТранзакцию(); - // //КонецЕсли; - // // //ДобавитьСтрокуРезультата(ИмяОперации, ИнформацияОбОшибке()); - // //НачатьТранзакцию(); - // //ТестируемаяФорма.УстановитьДействие("ПередЗакрытием", Неопределено); - // //ТестируемаяФорма.УстановитьДействие("ПриЗакрытии", Неопределено); - // //ТестируемаяФорма.Закрыть(); - // ВызватьИсключение Ошибка; - //КонецПопытки; - Иначе - Попытка - ТестируемаяФорма.Закрыть(); - Исключение - КонецПопытки; - КонецЕсли; - ТестируемаяФорма = ""; - -КонецПроцедуры - - -&НаСервере -Функция ДобавитьТестыДляСправочниковСервер(ВсеТесты, ТолькоУправляемыеФормы, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер) - ОсновнойОбъект = Объект(); - СписокИсключений_Существующие = ОсновнойОбъект.ПолучитьСписокИсключений_Справочники_Существующие(); - СписокИсключений_Новые = ОсновнойОбъект.ПолучитьСписокИсключений_Справочники_Новые(); - СписокИсключений_Списки = ОсновнойОбъект.ПолучитьСписокИсключений_Справочники_Списки(); - - менеджерМетаданного = Метаданные.Справочники; - Для Каждого МетаОбъект Из менеджерМетаданного Цикл - - Если ПравоДоступа("ИнтерактивноеДобавление", МетаОбъект) Тогда - имяТеста = "ТестДолжен_ОткрытьФормуНовогоЭлементаСправочника"; - ПрефиксПредставленияТеста = "Новые"; - СписокИсключений = СписокИсключений_Новые; - ИменаОсновныхФорм = ИменаОсновныхФорм_Объекты_Сервер; - - ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ВсеТесты, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста); - КонецЕсли; - - имяТеста = "ТестДолжен_ОткрытьФормуСуществующегоЭлементаСправочника"; - ПрефиксПредставленияТеста = "Существующие"; - СписокИсключений = СписокИсключений_Существующие; - ИменаОсновныхФорм = ИменаОсновныхФорм_Объекты_Сервер; - - ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ВсеТесты, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста); - - имяТеста = "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы"; - ПрефиксПредставленияТеста = "Списки"; - СписокИсключений = СписокИсключений_Списки; - ИменаОсновныхФорм = мИменаОсновныхФорм_Списки_Сервер; - - ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ВсеТесты, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста); - КонецЦикла; -КонецФункции - -&НаСервере -Функция ДобавитьТестыДляДокументовСервер(ВсеТесты, ТолькоУправляемыеФормы, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер) - ОсновнойОбъект = Объект(); - СписокИсключений_Существующие = ОсновнойОбъект.ПолучитьСписокИсключений_Документы_Существующие(); - СписокИсключений_Новые = ОсновнойОбъект.ПолучитьСписокИсключений_Документы_Новые(); - СписокИсключений_Списки = ОсновнойОбъект.ПолучитьСписокИсключений_Документы_Списки(); - - менеджерМетаданного = Метаданные.Документы; - Для Каждого МетаОбъект Из менеджерМетаданного Цикл - - Если ПравоДоступа("ИнтерактивноеДобавление", МетаОбъект) Тогда - имяТеста = "ТестДолжен_ОткрытьФормуНовогоДокумента"; - ПрефиксПредставленияТеста = "Новые"; - СписокИсключений = СписокИсключений_Новые; - ИменаОсновныхФорм = ИменаОсновныхФорм_Объекты_Сервер; - ПроверяемоеПравоДоступа = "ИнтерактивноеДобавление"; - ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ВсеТесты, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста); - КонецЕсли; - - имяТеста = "ТестДолжен_ОткрытьФормуСуществующегоЭлементаДокумента"; - ПрефиксПредставленияТеста = "Существующие"; - СписокИсключений = СписокИсключений_Существующие; - ИменаОсновныхФорм = ИменаОсновныхФорм_Объекты_Сервер; - - ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ВсеТесты, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста); - - имяТеста = "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы"; - ПрефиксПредставленияТеста = "Списки"; - СписокИсключений = СписокИсключений_Списки; - ИменаОсновныхФорм = мИменаОсновныхФорм_Списки_Сервер; - - ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ВсеТесты, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста); - КонецЦикла; -КонецФункции - -&НаСервере -Функция ДобавитьТестыДляОтчетовОбработокСервер(ВсеТесты, ТолькоУправляемыеФормы) - ОсновнойОбъект = Объект(); - - ИменаОсновныхФорм = мИменаОсновныхФорм_Сервер(); - СписокИсключений_Отчеты = ОсновнойОбъект.ПолучитьСписокИсключений_Отчеты(); - СписокИсключений_Обработки = ОсновнойОбъект.ПолучитьСписокИсключений_Обработки(); - - имяТеста = "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы"; - ПрефиксПредставленияТеста = ""; - - ДобавитьТестыПереданныхВидовФормДляКаждогоОбъектаМенеджераМетаданных(ВсеТесты, ОсновнойОбъект, Метаданные.Обработки, ТолькоУправляемыеФормы, СписокИсключений_Обработки, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста); - ДобавитьТестыПереданныхВидовФормДляКаждогоОбъектаМенеджераМетаданных(ВсеТесты, ОсновнойОбъект, Метаданные.Отчеты, ТолькоУправляемыеФормы, СписокИсключений_Отчеты, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста); -КонецФункции - -Процедура ДобавитьТестыПереданныхВидовФормДляКаждогоОбъектаМенеджераМетаданных(ВсеТесты, ОсновнойОбъект, менеджерМетаданного, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста) - Для Каждого МетаОбъект Из менеджерМетаданного Цикл - Если ОсновнойОбъект.ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) Тогда - Возврат; - КонецЕсли; - Если Лев(МетаОбъект.Имя, СтрДлина("xddTestRunner")) = "xddTestRunner" Тогда - Продолжить; - КонецЕсли; - - ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ВсеТесты, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста); - КонецЦикла; -КонецПроцедуры - -Процедура ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ВсеТесты, ОсновнойОбъект, МетаОбъект, - ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста) - - Если ОсновнойОбъект.ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) Тогда - Возврат; - КонецЕсли; - - CписокИменМетаФорм = Новый СписокЗначений; - ДобавитьИменаМетаФормДляОдногоОбъектаМетаданного(CписокИменМетаФорм, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм); - ДобавитьТестПоПереданнымМетаФормамСсылочногоОбъектаСервер(ВсеТесты, 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писокИменМетаФорм, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, списокИсключений, ИменаОсновныхФорм) - Если списокИсключений.НайтиПоЗначению(МетаОбъект.Имя) <> Неопределено Тогда - Возврат; - КонецЕсли; - Если ПравоДоступа("Просмотр", МетаОбъект) Тогда - МетаФормы = ОсновнойОбъект.ПолучитьМетаФормыОбъектаДляПроверки(МетаОбъект, ИменаОсновныхФорм); - - Для каждого МетаФорма Из МетаФормы Цикл - МетаФорма_ПолноеИмя = МетаФорма.ПолноеИмя(); - //Сообщить("МетаФорма_ПолноеИмя <"+МетаФорма_ПолноеИмя+"> "); - - Если ТолькоУправляемыеФормы Тогда - //Сообщить("МетаФорма.ТипФормы <"+МетаФорма.ТипФормы+"> "); - Если Не ЭтоУправляемаяФорма(МетаФорма) Тогда - Продолжить; - КонецЕсли; - КонецЕсли; - - CписокИменМетаФорм.Добавить(МетаФорма_ПолноеИмя); - //ПредставлениеТеста = МетаФорма_ПолноеИмя; - //лПараметры = Новый Структура("ПредставлениеТеста,ИмяТеста,Транзакция,Параметр", ПредставлениеТеста, имяТеста, Истина, МетаФорма_ПолноеИмя); - //ВсеТесты.Добавить(лПараметры); - КонецЦикла; - КонецЕсли; -КонецПроцедуры - -&НаСервереБезКонтекста -Функция ЭтоУправляемаяФорма(МетаФорма) - Возврат МетаФорма <> Неопределено И МетаФорма.ТипФормы = Метаданные.СвойстваОбъектов.ТипФормы.Управляемая; -КонецФункции - -Функция Объект() - Возврат РеквизитФормыВЗначение("Объект"); -КонецФункции - -Функция ПолучитьВидМетаданного(Мета_ПолноеИмя) - ИД = Лев(Мета_ПолноеИмя, Найти(Мета_ПолноеИмя, ".Форма.")-1); - ИД = Сред(ИД, Найти(ИД, ".") + 1); - Возврат ИД; -КонецФункции - -&НаКлиенте -Процедура ТестДолжен_ОткрытьФормуПоПолномуИмениФормы(ПолноеИмяФормы) Экспорт - ТестироватьФорму(ПолноеИмяФормы, Неопределено); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ОткрытьФормуСуществующегоЭлементаСправочника(Мета_ПолноеИмя) Экспорт - ТестДолжен_ОткрытьФормуСуществующегоЭлементаСправочникаСервер(Мета_ПолноеИмя); - ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, CоздаваемыйЭлемент); -КонецПроцедуры - -&НаСервере -Процедура ТестДолжен_ОткрытьФормуСуществующегоЭлементаСправочникаСервер(Мета_ПолноеИмя) - ИД = ПолучитьВидМетаданного(Мета_ПолноеИмя); - - ОсновнойОбъект = Объект(); - CоздаваемыйЭлемент = ОсновнойОбъект.СоздатьЭлементИВернутьСсылку(ИД, "существующий"); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ОткрытьФормуНовогоЭлементаСправочника(Мета_ПолноеИмя) Экспорт - ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, Неопределено); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ОткрытьФормуНовогоДокумента(Мета_ПолноеИмя) Экспорт - ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, Неопределено); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ОткрытьФормуСуществующегоЭлементаДокумента(Мета_ПолноеИмя) Экспорт - Док = ТестДолжен_ОткрытьФормуСуществующегоЭлементаДокументаСервер(Мета_ПолноеИмя); - Если Док <> Неопределено Тогда - ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, Док); - КонецЕсли; -КонецПроцедуры - -&НаСервере -Функция ТестДолжен_ОткрытьФормуСуществующегоЭлементаДокументаСервер(Мета_ПолноеИмя) - ИД = ПолучитьВидМетаданного(Мета_ПолноеИмя); - - ОсновнойОбъект = Объект(); - Док = ОсновнойОбъект.ПолучитьСуществующийДокументОбъектИВернутьСсылку(ИД, НужноИсключениеЕслиНеНайденоДокументов, "ТестДолжен_ОткрытьФормуСуществующегоДокумента"); - Возврат Док; -КонецФункции - -// проверка бага https://github.com/xDrivenDevelopment/xUnitFor1C/issues/154 -&НаКлиенте -Процедура ТестДолжен_ПроверитьБагПлатформыПриОткрытииУправляемойФормыПриОткрытииКоторойЕстьИсключение() Экспорт - Мета_ПолноеИмя = "Обработка.ТестОбработка_Форма_ИсключениеПриОткрытии.Форма.УправляемаяФорма"; - ошибка =""; - Попытка - ОткрытьФорму(Мета_ПолноеИмя); - Исключение - ошибка = ОписаниеОшибки(); - //Предупреждение("поймали исключение 20"+ ошибка); - КонецПопытки; - ЮТест.ПроверитьЗаполненность(ошибка, "Ошибка"); -КонецПроцедуры - -//} diff --git "a/src/Tests/CommonApp/\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.txt" "b/src/Tests/CommonApp/\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.txt" deleted file mode 100644 index f52398ed..00000000 --- "a/src/Tests/CommonApp/\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.txt" +++ /dev/null @@ -1,555 +0,0 @@ -Перем ТестируемаяФорма; -Перем НужноИсключениеЕслиНеНайденоДокументов; - -Перем ЮТест; - -#Если ТолстыйКлиентОбычноеПриложение Тогда - -// основная процедура для юнит-тестирования SnowTest -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - ЮТест = ЮнитТестирование; - ВсеТесты = Новый Массив; - - НужноИсключениеЕслиНеНайденоДокументов = Ложь; - - Если НЕ СоздатьФорму_ПолучениеФорм() Тогда - Возврат ВсеТесты; - КонецЕсли; - - СоздатьИменаОсновныхФорм(); - - ВыводитьСообщенияВЖурналРегистрации = Истина; - - Для Каждого МетаОбъект Из Метаданные.Справочники Цикл - Если ПравоДоступа("Редактирование", МетаОбъект) Тогда - ДобавитьТестДляОдногоМетаданного_Объекты(ВсеТесты, МетаОбъект, "Тест_ОткрытьФормуСуществующегоЭлементаСправочника", ПолучитьСписокИсключений_Справочники_Существующие(), - мИменаОсновныхФорм_Объекты, "Существующие элементы"); - КонецЕсли; - - Если ПравоДоступа("ИнтерактивноеДобавление", МетаОбъект) Тогда - ДобавитьТестДляОдногоМетаданного_Объекты(ВсеТесты, МетаОбъект, "Тест_ОткрытьФормуНовогоЭлементаСправочника", ПолучитьСписокИсключений_Справочники_Новые(), - мИменаОсновныхФорм_Объекты, "Новые элементы"); - КонецЕсли; - - Если ПравоДоступа("Добавление", МетаОбъект) Тогда - ДобавитьТестДляОдногоМетаданного_Объекты(ВсеТесты, МетаОбъект, "Тест_ОткрытьФормуНовогоЭлементаСправочникаСоздаваемогоКопированием", ПолучитьСписокИсключений_Справочники_Новые(), - мИменаОсновныхФорм_Объекты, "Новые через копирование элементы"); - КонецЕсли; - - ДобавитьТестДляМетаданного_ОдинОбъект(ВсеТесты, МетаОбъект, "ТестДолжен_ОткрытьФорму_ПоМетаФорме", ПолучитьСписокИсключений_Справочники_Списки(), мИменаОсновныхФорм_Списки); - КонецЦикла; - - Для Каждого МетаОбъект Из Метаданные.Документы Цикл - Если ПравоДоступа("Редактирование", МетаОбъект) Тогда - ДобавитьТестДляОдногоМетаданного_Объекты(ВсеТесты, МетаОбъект, "Тест_ОткрытьФормуСуществующегоДокумента", ПолучитьСписокИсключений_Документы_Существующие(), - мИменаОсновныхФорм_Объекты, "Существующие документы"); - - ДобавитьТестДляОдногоМетаданного_Объекты(ВсеТесты, МетаОбъект, "Тест_ПеренестиДокументНаТекущийДень_и_ОткрытьЕгоФорму", ПолучитьСписокИсключений_Документы_ПеренестиДату(), - мИменаОсновныхФорм_Объекты, "Перенос документа на текущий день"); - КонецЕсли; - - Если ПравоДоступа("ИнтерактивноеДобавление", МетаОбъект) Тогда - ДобавитьТестДляОдногоМетаданного_Объекты(ВсеТесты, МетаОбъект, "Тест_ОткрытьФормуНовогоДокумента", ПолучитьСписокИсключений_Документы_Новые(), - мИменаОсновныхФорм_Объекты, "Новые документы"); - КонецЕсли; - - ДобавитьТестДляМетаданного_ОдинОбъект(ВсеТесты, МетаОбъект, "ТестДолжен_ОткрытьФорму_ПоМетаФорме", ПолучитьСписокИсключений_Документы_Списки(), мИменаОсновныхФорм_Списки); - КонецЦикла; - - ДобавитьТестПоМенеджеруМетаданных(ВсеТесты, Метаданные.Отчеты, "ТестДолжен_ОткрытьФорму_ПоМетаФорме", ПолучитьСписокИсключений_Отчеты(), мИменаОсновныхФорм); - ДобавитьТестПоМенеджеруМетаданных(ВсеТесты, Метаданные.Обработки, "ТестДолжен_ОткрытьФорму_ПоМетаФорме", ПолучитьСписокИсключений_Обработки(), мИменаОсновныхФорм); - - - Возврат ВсеТесты; -КонецФункции - -#КонецЕсли - -Процедура ПередЗапускомТеста() - ВыводитьСообщенияВЖурналРегистрации = Истина; -КонецПроцедуры - -Процедура ПослеЗапускаТеста() Экспорт - - ЗакрытьФорму(); - -КонецПроцедуры - -Процедура ЗакрытьФорму() - Если ТипЗнч(ТестируемаяФорма) <> Тип("Форма") и ТипЗнч(ТестируемаяФорма) <> Тип("УправляемаяФорма") Тогда - Возврат; - КонецЕсли; - ТестируемаяФорма.Модифицированность = Ложь; - Если ТестируемаяФорма.Открыта() Тогда - ТестируемаяФорма.Модифицированность = Ложь; - Попытка - ТестируемаяФорма.Закрыть(); - Исключение - Ошибка = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - Если ТранзакцияАктивна() Тогда - ОтменитьТранзакцию(); - КонецЕсли; - - НачатьТранзакцию(); - ТестируемаяФорма.УстановитьДействие("ПередЗакрытием", Неопределено); - ТестируемаяФорма.УстановитьДействие("ПриЗакрытии", Неопределено); - ТестируемаяФорма.Закрыть(); - ВызватьИсключение Ошибка; - КонецПопытки; - Иначе - Попытка - ТестируемаяФорма.Закрыть(); - Исключение - КонецПопытки; - КонецЕсли; - ТестируемаяФорма = ""; - -КонецПроцедуры - -//{ блок работы с обычными и управляемыми формами - портирован из "Инструменты разработчика" -Процедура ТестДолжен_ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя) Экспорт - ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя); -КонецПроцедуры - -Процедура ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма_Имя = "", СсылкаОбъектаИлиСамОбъект = Неопределено, СоздаватьОбъект = Ложь) Экспорт - - ВыводитьСообщения = Ложь; - ВнешнийОбъект = Неопределено; - КлючВременнойФормы = "908насмь9ыв"; - - ИмяОперации = МетаФорма_ПолноеИмя; - Если ВыводитьСообщения Тогда - Сообщить(ИмяОперации); - КонецЕсли; - Если ВыводитьСообщенияВЖурналРегистрации Тогда - ЗаписьЖурналаРегистрации(Метаданные().Синоним, УровеньЖурналаРегистрации.Информация, , , "Операция: " + ИмяОперации); - КонецЕсли; - - Форма = ПолучитьНовуюФорму(МетаФорма_ПолноеИмя, ВнешнийОбъект, КлючВременнойФормы); - Если Форма = Неопределено Тогда - Возврат; - КонецЕсли; - ЭтоФормаСсылочногоОбъекта = Ложь; - Если СсылкаОбъектаИлиСамОбъект <> Неопределено Тогда - ЭтоФормаСсылочногоОбъекта = Истина; - Иначе - Если ЭтоОбычнаяФорма(Форма) Тогда - Попытка - Пустышка = Форма.ЭтотОбъект.ЭтоНовый(); - ЭтоФормаСсылочногоОбъекта = Истина; - Исключение - КонецПопытки; - Иначе - Если Форма.Параметры.Свойство("Ключ") Тогда - Попытка - Пустышка = Форма.Параметры.Ключ.Ссылка; - ЭтоФормаСсылочногоОбъекта = Истина; - Исключение - КонецПопытки; - КонецЕсли; - КонецЕсли; - Если ЭтоФормаСсылочногоОбъекта Тогда - Если ЭтоОбычнаяФорма(Форма) Тогда - СсылкаОбъектаИлиСамОбъект = Форма.Ссылка; - Иначе - СсылкаОбъектаИлиСамОбъект = Форма.Параметры.Ключ; - КонецЕсли; - КонецЕсли; - КонецЕсли; - - Если ЭтоФормаСсылочногоОбъекта Тогда - Если ЭтоОбычнаяФорма(Форма) Тогда - Если СоздаватьОбъект Тогда - Если СсылкаОбъектаИлиСамОбъект <> Неопределено Тогда - СсылочныйОбъект = СсылкаОбъектаИлиСамОбъект.Скопировать(); - //Иначе - // СсылочныйОбъект = СсылкаОбъектаИлиСамОбъект.Метаданные; - КонецЕсли; - Иначе - СсылочныйОбъект = СсылкаОбъектаИлиСамОбъект; - КонецЕсли; - Форма = СсылочныйОбъект.ПолучитьФорму(МетаФорма_Имя, , КлючВременнойФормы); - Иначе - ПараметрыФормы = Новый Структура; - ЭтоОбъект = Ложь; - Попытка - Пустышка = СсылкаОбъектаИлиСамОбъект.ЭтотОбъект; - ЭтоОбъект = Истина; - Исключение - КонецПопытки; - Если СоздаватьОбъект Тогда - Если Не ЭтоОбъект Тогда - ПараметрыФормы.Вставить("ЗначениеКопирования", СсылкаОбъектаИлиСамОбъект); - КонецЕсли; - ИначеЕсли Не ЭтоОбъект Тогда - ПараметрыФормы.Вставить("Ключ", СсылкаОбъектаИлиСамОбъект); - КонецЕсли; - Форма = ПолучитьФормуЛкс(МетаФорма_ПолноеИмя, ПараметрыФормы, , КлючВременнойФормы); - КонецЕсли; - КонецЕсли; - ТестироватьФорму(Форма, ИмяОперации); -КонецПроцедуры - -Процедура СоздатьИменаОсновныхФорм() Экспорт - Если Не ЗначениеЗаполнено(мИменаОсновныхФорм) Тогда - мИменаОсновныхФорм = Новый Массив(); - КонецЕсли; - СоздатьИменаОсновныхФорм_Объекты(); - СоздатьИменаОсновныхФормСписка(); - Для каждого эл Из мИменаОсновныхФорм_Объекты Цикл - мИменаОсновныхФорм.Добавить(эл); - КонецЦикла; - Для каждого эл Из мИменаОсновныхФорм_Списки Цикл - мИменаОсновныхФорм.Добавить(эл); - КонецЦикла; -КонецПроцедуры - -Процедура СоздатьИменаОсновныхФорм_Объекты() - Если Не ЗначениеЗаполнено(мИменаОсновныхФорм_Объекты) Тогда - мИменаОсновныхФорм_Объекты = Новый Массив(); - КонецЕсли; - мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФорма"); - мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаОбъекта"); - мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаГруппы"); - мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаЗаписи"); - мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаНастроек"); - мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаСохранения"); - мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаЗагрузки"); - - мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФорма"); - мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФормаОбъекта"); - мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФормаГруппы"); - мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФормаЗаписи"); - мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФормаНастроек"); - мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФормаСохранения"); - мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФормаЗагрузки"); -КонецПроцедуры - -Процедура СоздатьИменаОсновныхФормСписка() - Если Не ЗначениеЗаполнено(мИменаОсновныхФорм_Списки) Тогда - мИменаОсновныхФорм_Списки = Новый Массив(); - КонецЕсли; - мИменаОсновныхФорм_Списки.Добавить("ОсновнаяФормаСписка"); - мИменаОсновныхФорм_Списки.Добавить("ОсновнаяФормаДляВыбора"); - мИменаОсновныхФорм_Списки.Добавить("ОсновнаяФормаДляВыбораГруппы"); - мИменаОсновныхФорм_Списки.Добавить("ОсновнаяФормаКонстант"); - - мИменаОсновныхФорм_Списки.Добавить("ДополнительнаяФормаСписка"); - мИменаОсновныхФорм_Списки.Добавить("ДополнительнаяФормаДляВыбора"); - мИменаОсновныхФорм_Списки.Добавить("ДополнительнаяФормаДляВыбораГруппы"); - мИменаОсновныхФорм_Списки.Добавить("ДополнительнаяФормаКонстант"); -КонецПроцедуры - -Функция СоздатьФорму_ПолучениеФорм() - Попытка - мПолучениеФорм = ПолучитьФорму("ПолучениеФорм"); // в управляемом режиме здесь будет ошибка выполнения - Возврат Истина; - Исключение - КонецПопытки; - Возврат Ложь; -КонецФункции - -Функция ПолучитьМетаФормыОбъектаДляПроверки(МетаОбъект, ИменаОсновныхФорм) Экспорт - - ИспользоватьУФ = Метаданные.ИспользоватьУправляемыеФормыВОбычномПриложении; - МетаФормы = Новый Массив(); - Для Каждого ИмяОсновнойФормы Из ИменаОсновныхФорм Цикл - Попытка - МетаФорма = МетаОбъект[ИмяОсновнойФормы]; - Исключение - Продолжить; - КонецПопытки; - Если МетаФорма = Неопределено Тогда - Продолжить; - КонецЕсли; - Если МетаФормы.Найти(МетаФорма) <> Неопределено Тогда - Продолжить; - КонецЕсли; - Если НЕ ИспользоватьУФ И МетаФорма.ТипФормы = Метаданные.СвойстваОбъектов.ТипФормы.Управляемая Тогда - Продолжить; - КонецЕсли; - МетаФормы.Добавить(МетаФорма); - КонецЦикла; - Возврат МетаФормы; - -КонецФункции - -Функция ПолучитьФормуЛкс(ИмяФормы, Параметры = Неопределено, Владелец = Неопределено, Уникальность = Неопределено, Окно = Неопределено) Экспорт - - Возврат мПолучениеФорм.ПолучитьФормуЛкс(ИмяФормы, Параметры, Владелец, Уникальность, Окно); - -КонецФункции - -Функция ПолучитьНовуюФорму(МетаФорма, ВнешнийОбъект = Неопределено, КлючВременнойФормы = Неопределено) - - Форма = ПолучитьФормуЛкс(МетаФорма, , , КлючВременнойФормы); //ирНеглобальный. - Возврат Форма; - -КонецФункции - -Процедура ТестироватьФорму(Форма, ИмяОперации = "") Экспорт - ТестируемаяФорма = Форма; - Форма.Открыть(); // К сожалению здесь исключения не ловятся http://partners.v8.1c.ru/forum/thread.jsp?id=1080350#1080350 - ЮТест.Проверить(ТестируемаяФорма.Открыта(), "ТестируемаяФорма """+ИмяОперации+""" не открылась, а должна была открыться"); - - // Артур - мой код для доп.проверки формы - Если ЭтоОбычнаяФорма(ТестируемаяФорма) Тогда - ТестируемаяФорма.Обновить(); - Иначе - ТестируемаяФорма.ОбновитьОтображениеДанных(); - КонецЕсли; - -КонецПроцедуры - -//} конец блока работы с управляемыми формами - из "Инструменты разработчика" - -Функция ЭтоОбычнаяФорма(Форма) - Возврат ТипЗнч(Форма) = Тип("Форма"); -КонецФункции - -Процедура ДобавитьТестПоМенеджеруМетаданных(ВсеТесты, менеджерМетаданного, имяТеста, списокИсключений, ИменаОсновныхФорм) - Для Каждого МетаОбъект Из менеджерМетаданного Цикл - ДобавитьТестДляМетаданного_ОдинОбъект(ВсеТесты, МетаОбъект, имяТеста, списокИсключений, ИменаОсновныхФорм); - КонецЦикла; -КонецПроцедуры - -Процедура ДобавитьТестДляМетаданного_ОдинОбъект(ВсеТесты, МетаОбъект, имяТеста, списокИсключений, ИменаОсновныхФорм) - Если списокИсключений.НайтиПоЗначению(МетаОбъект.Имя) <> Неопределено Тогда - Возврат; - КонецЕсли; - Если ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) Тогда - Возврат; - КонецЕсли; - Если ПравоДоступа("Просмотр", МетаОбъект) Тогда - МетаФормы = ПолучитьМетаФормыОбъектаДляПроверки(МетаОбъект, ИменаОсновныхФорм); - - Для каждого МетаФорма Из МетаФормы Цикл - МетаФорма_ПолноеИмя = МетаФорма.ПолноеИмя(); - - Если Метаданные.ОсновнаяФормаОтчета = МетаФорма Тогда - МетаФорма_ПолноеИмя = МетаОбъект.ПолноеИмя() + ".Форма"; - КонецЕсли; - - ПредставлениеТеста = МетаФорма_ПолноеИмя; - лПараметры = Новый Структура("ПредставлениеТеста,ИмяТеста,Транзакция,Параметр", ПредставлениеТеста, имяТеста, Истина, МетаФорма_ПолноеИмя); - ВсеТесты.Добавить(лПараметры); - КонецЦикла; - КонецЕсли; -КонецПроцедуры - -Процедура ДобавитьТестДляОдногоМетаданного_Объекты(ВсеТесты, МетаОбъект, имяТеста, списокИсключений, ИменаОсновныхФорм, ПрефиксПредставленияТеста) - Если списокИсключений.НайтиПоЗначению(МетаОбъект.Имя) <> Неопределено Тогда - Возврат; - КонецЕсли; - Если ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) Тогда - Возврат; - КонецЕсли; - Если ПравоДоступа("Просмотр", МетаОбъект) и ПравоДоступа("Добавление", МетаОбъект) - Тогда - МетаФормы = ПолучитьМетаФормыОбъектаДляПроверки(МетаОбъект, ИменаОсновныхФорм); - Для каждого МетаФорма Из МетаФормы Цикл - МетаФорма_ПолноеИмя = МетаФорма.ПолноеИмя(); - ПредставлениеТеста = ПрефиксПредставленияТеста + " : " + МетаФорма_ПолноеИмя; - Структура = Новый Структура("МетаИмя,МетаФорма_ПолноеИмя,МетаФорма", МетаОбъект.Имя, МетаФорма_ПолноеИмя, МетаФорма); - лПараметры = Новый Структура("ПредставлениеТеста,ИмяТеста,Транзакция,Параметр", ПредставлениеТеста, имяТеста, Истина, Структура); - ВсеТесты.Добавить(лПараметры); - КонецЦикла; - КонецЕсли; -КонецПроцедуры - -Функция ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) Экспорт - Возврат Найти(НРег(МетаОбъект.Имя), НРег("Удалить")) = 1; -КонецФункции - -Процедура Тест_ОткрытьФормуСуществующегоДокумента(ПараметрыТеста) Экспорт - ИД = ПараметрыТеста.МетаИмя; - Док = ПолучитьСуществующийДокументОбъект(ИД, НужноИсключениеЕслиНеНайденоДокументов, "Тест_ОткрытьФормуСуществующегоДокумента"); - - Если Док <> Неопределено Тогда - ОткрытьФорму_ПоМетаФорме(ПараметрыТеста.МетаФорма_ПолноеИмя, ПараметрыТеста.МетаФорма.Имя, Док.Ссылка); - КонецЕсли; -КонецПроцедуры - -Процедура Тест_ПеренестиДокументНаТекущийДень_и_ОткрытьЕгоФорму(ПараметрыТеста) Экспорт - ИД = ПараметрыТеста.МетаИмя; - Док = ПолучитьСуществующийДокументОбъект(ИД, Ложь, "Тест_ПеренестиДокументНаТекущийДень_и_ОткрытьЕгоФорму"); - Если Док = Неопределено Тогда - Возврат; - КонецЕсли; - - Док.Дата = ТекущаяДата(); - Док.ОбменДанными.Загрузка = Истина; - Док.Записать(); - - ОткрытьФорму_ПоМетаФорме(ПараметрыТеста.МетаФорма_ПолноеИмя, ПараметрыТеста.МетаФорма.Имя, Док.Ссылка); -КонецПроцедуры - -Процедура Тест_ОткрытьФормуНовогоДокумента(ПараметрыТеста) Экспорт - ИД = ПараметрыТеста.МетаИмя; - Док = Документы[ИД].СоздатьДокумент(); - Мета = Док.Метаданные(); - Если НЕ ПравоДоступа("ИнтерактивноеДобавление", Мета) Тогда - Возврат; - КонецЕсли; - Если Мета.ДлинаНомера <> 0 Тогда - Попытка - Док.УстановитьНовыйНомер(); - Исключение - КонецПопытки; - КонецЕсли; - - ОткрытьФорму_ПоМетаФорме(ПараметрыТеста.МетаФорма_ПолноеИмя, ПараметрыТеста.МетаФорма.Имя, Док, Ложь); -КонецПроцедуры - -Функция ПолучитьСуществующийДокументОбъект(ИД, НужноИсключениеЕслиНеНайденоДокументов, ДопОписаниеДляИсключения) - выборка = Документы[ИД].Выбрать(,,, "Дата Убыв"); - уcпешно = выборка.Следующий(); - Если Не уcпешно Тогда - Если НужноИсключениеЕслиНеНайденоДокументов Тогда - ВызватьИсключение ДопОписаниеДляИсключения + ": выборка.Следующий() - не найдено существующих документов! "; - Иначе - Возврат Неопределено; - КонецЕсли; - КонецЕсли; - Док = выборка.ПолучитьОбъект(); - Возврат Док; -КонецФункции - -Функция ПолучитьСуществующийДокументОбъектИВернутьСсылку(ИД, НужноИсключениеЕслиНеНайденоДокументов, ДопОписаниеДляИсключения) Экспорт - Док = ПолучитьСуществующийДокументОбъект(ИД, НужноИсключениеЕслиНеНайденоДокументов, ДопОписаниеДляИсключения); - Возврат ?(Док = Неопределено, Неопределено, Док.Ссылка); -КонецФункции - -Процедура Тест_ОткрытьФормуСуществующегоЭлементаСправочника(ПараметрыТеста) Экспорт - ИД = ПараметрыТеста.МетаИмя; - Элем = СоздатьЭлемент(ИД, "существующий"); - ОткрытьФорму_ПоМетаФорме(ПараметрыТеста.МетаФорма_ПолноеИмя, ПараметрыТеста.МетаФорма.Имя, Элем.Ссылка); -КонецПроцедуры - -Процедура Тест_ОткрытьФормуНовогоЭлементаСправочника(ПараметрыТеста) Экспорт - ИД = ПараметрыТеста.МетаИмя; - Элем = Справочники[ИД].СоздатьЭлемент(); - Мета = Элем.Метаданные(); - Если НЕ ПравоДоступа("ИнтерактивноеДобавление", Мета) Тогда - Возврат; - КонецЕсли; - Если Мета.ДлинаНаименования <> 0 Тогда - Попытка - Элем.Наименование = "новый"; - Исключение - КонецПопытки; - КонецЕсли; - - ОткрытьФорму_ПоМетаФорме(ПараметрыТеста.МетаФорма_ПолноеИмя, ПараметрыТеста.МетаФорма.Имя, Элем, Ложь); -КонецПроцедуры - -Процедура Тест_ОткрытьФормуНовогоЭлементаСправочникаСоздаваемогоКопированием(ПараметрыТеста) Экспорт - ИД = ПараметрыТеста.МетаИмя; - Элем = СоздатьЭлемент(ИД, "копирование", "ИнтерактивноеДобавление"); - Если Элем = Неопределено Тогда - Возврат; - КонецЕсли; - - ОткрытьФорму_ПоМетаФорме(ПараметрыТеста.МетаФорма_ПолноеИмя, ПараметрыТеста.МетаФорма.Имя, Элем.Ссылка, Истина); -КонецПроцедуры - -Функция СоздатьЭлемент(ИД, Наименование, ПроверяемоеПравоДоступа = Неопределено) - Элем = Справочники[ИД].СоздатьЭлемент(); - Мета = Элем.Метаданные(); - Если ПроверяемоеПравоДоступа <> Неопределено И НЕ ПравоДоступа(ПроверяемоеПравоДоступа, Мета) Тогда - Возврат Неопределено; - КонецЕсли; - - Если Мета.ДлинаНаименования <> 0 Тогда - Попытка - Элем.Наименование = Наименование; - Исключение - КонецПопытки; - КонецЕсли; - - Если Мета.ДлинаКода <> 0 Тогда - Элем.УстановитьНовыйКод(); - КонецЕсли; - Элем.ОбменДанными.Загрузка = Истина; - Элем.Записать(); - Возврат Элем; -КонецФункции - -Функция СоздатьЭлементИВернутьСсылку(ИД, Наименование, ПроверяемоеПравоДоступа = Неопределено) Экспорт - Элем = СоздатьЭлемент(ИД, Наименование, ПроверяемоеПравоДоступа); - Возврат ?(Элем = Неопределено, Неопределено, Элем.Ссылка); -КонецФункции - -Функция ПолучитьСписокИсключений_Справочники_Списки() Экспорт - Результат = Новый СписокЗначений; - - Результат.Добавить("ирАлгоритмы"); - - Возврат Результат; -КонецФункции - -//{ блок переопределения исключений, чтобы не открывать формы -Функция ПолучитьСписокИсключений_Справочники_Существующие() Экспорт - Результат = Новый СписокЗначений; - - Результат.Добавить("ирАлгоритмы"); - - Возврат Результат; -КонецФункции - -Функция ПолучитьСписокИсключений_Справочники_Новые() Экспорт - Результат = Новый СписокЗначений; - - Результат.Добавить("ирАлгоритмы"); - - Возврат Результат; -КонецФункции - -Функция ПолучитьСписокИсключений_Документы_Списки() Экспорт - Результат = Новый СписокЗначений; - - //Результат.Добавить("Штрафы"); - - Возврат Результат; -КонецФункции - -Функция ПолучитьСписокИсключений_Документы_Существующие() Экспорт - Результат = Новый СписокЗначений; - - //Результат.Добавить("Штрафы"); - - Возврат Результат; -КонецФункции - -Функция ПолучитьСписокИсключений_Документы_ПеренестиДату() Экспорт - Результат = Новый СписокЗначений; - - //Результат.Добавить("Штрафы"); - - Возврат Результат; -КонецФункции - -Функция ПолучитьСписокИсключений_Документы_Новые() Экспорт - Результат = Новый СписокЗначений; - - Результат.Добавить("Штрафы"); - - Возврат Результат; -КонецФункции - -Функция ПолучитьСписокИсключений_Отчеты() Экспорт - Результат = Новый СписокЗначений; - - //Результат.Добавить("Цены"); - - Возврат Результат; -КонецФункции - -Функция ПолучитьСписокИсключений_Обработки() Экспорт - Результат = Новый СписокЗначений; - - Результат.Добавить("ТестОбработка_Форма_ИсключениеПриОткрытии"); - - Возврат Результат; -КонецФункции -//} конец блока \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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/renames.txt" "b/src/Tests/CommonApp/\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/renames.txt" deleted file mode 100644 index 21684db7..00000000 --- "a/src/Tests/CommonApp/\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/renames.txt" +++ /dev/null @@ -1,16 +0,0 @@ -45cb56ba-09f2-4931-88c4-1e63a1a8f37c-->und\45cb56ba-09f2-4931-88c4-1e63a1a8f37c -45cb56ba-09f2-4931-88c4-1e63a1a8f37c.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\тесты_ОткрытиеФормКонфигурации\Form\УправляемаяФорма\Форма.txt -45cb56ba-09f2-4931-88c4-1e63a1a8f37c.0-->und\45cb56ba-09f2-4931-88c4-1e63a1a8f37c.0 -45cb56ba-09f2-4931-88c4-1e63a1a8f37c.0-->und\45cb56ba-09f2-4931-88c4-1e63a1a8f37c.0 -724d5548-5d6b-4e19-98cf-0ea3ae12c0a7-->und\724d5548-5d6b-4e19-98cf-0ea3ae12c0a7 -724d5548-5d6b-4e19-98cf-0ea3ae12c0a7.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\тесты_ОткрытиеФормКонфигурации\Макеты\СозданиеОдногоПользователяИБ.mxl -724d5548-5d6b-4e19-98cf-0ea3ae12c0a7.0-->und\724d5548-5d6b-4e19-98cf-0ea3ae12c0a7.0 -be1492ab-bedd-4e13-8827-ed025cda688a-->und\be1492ab-bedd-4e13-8827-ed025cda688a -be1492ab-bedd-4e13-8827-ed025cda688a.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\CommonApp\тесты_ОткрытиеФормКонфигурации\Form\ПолучениеФорм -copyinfo-->und\copyinfo -df099fc3-03ed-44c9-a8dd-e95a1e8978ff.0\info-->und\df099fc3-03ed-44c9-a8dd-e95a1e8978ff.0\info -df099fc3-03ed-44c9-a8dd-e95a1e8978ff.0\text-->ObjectModule.txt -eb6420d9-ff9e-4c68-b025-2c1608cec69f-->und\eb6420d9-ff9e-4c68-b025-2c1608cec69f -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/CommonApp/\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/CommonApp/\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" deleted file mode 100644 index c0c30adc..00000000 --- "a/src/Tests/CommonApp/\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" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,45cb56ba-09f2-4931-88c4-1e63a1a8f37c},"УправляемаяФорма", -{1,"ru","Управляемая форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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/CommonApp/\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" deleted file mode 100644 index 028161a0..00000000 --- "a/src/Tests/CommonApp/\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" +++ /dev/null @@ -1,543 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"&НаКлиенте -Перем ЮТест; // для тестирования - -&НаКлиенте -Перем ТестируемаяФорма; - -//{ основная процедура для юнит-тестирования 1CUnit -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - ВсеТесты = Новый Массив; - - НужноИсключениеЕслиНеНайденоДокументов = Ложь; - - СоздатьИменаОсновныхФорм(); - - ТолькоУправляемыеФормы = Истина; - //#Если ТонкийКлиент или ВебКлиент Тогда - #Если ТолстыйКлиентОбычноеПриложение или ТолстыйКлиентУправляемоеПриложение Тогда - ТолькоУправляемыеФормы = Ложь; - #КонецЕсли - - Если Не ИспользоватьОбычныеФормыВТолстомКлиентеВУправляемомРежимеСервер() Тогда - ТолькоУправляемыеФормы = Истина; - КонецЕсли; - - Объект.ВыводитьСообщенияВЖурналРегистрации = Истина; - - ИменаОсновныхФорм_Объекты_Сервер = ИменаОсновныхФорм_Объекты_Сервер(); - мИменаОсновныхФорм_Списки_Сервер = мИменаОсновныхФорм_Списки_Сервер(); - - ДобавитьТестыДляСправочниковСервер(ВсеТесты, ТолькоУправляемыеФормы, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер); - ДобавитьТестыДляДокументовСервер(ВсеТесты, ТолькоУправляемыеФормы, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер); - - ДобавитьТестыДляОтчетовОбработокСервер(ВсеТесты, ТолькоУправляемыеФормы); - - ВсеТесты.Добавить(""ТестДолжен_ПроверитьБагПлатформыПриОткрытииУправляемойФормыПриОткрытииКоторойЕстьИсключение""); - - Возврат ВсеТесты; - -КонецФункции -//} - -//{ блок юнит-тестов - САМИ ТЕСТЫ - -&НаКлиенте -Процедура ПередЗапускомТеста() Экспорт - //Предупреждение(""Спец.окно для для показа сообщений из тестов. Таймаут 1 секунда"",1); // нужно для показа сообщений из теста, иначе не будут показаны - - ВыводитьСообщенияВЖурналРегистрации = Истина; - CоздаваемыйЭлемент = Неопределено; - - ОбновитьПовторноИспользуемыеЗначения(); - - //НачатьТранзакциюСервер(); -КонецПроцедуры - -&НаКлиенте -Процедура ПослеЗапускаТеста() Экспорт - //ОтменитьТранзакциюСервер(); - - ЗакрытьФорму(); - УдалитьСозданныйОбъект(); -КонецПроцедуры - -&НаСервереБезКонтекста -Процедура НачатьТранзакциюСервер() - НачатьТранзакцию(); -КонецПроцедуры - -&НаСервереБезКонтекста -Процедура ОтменитьТранзакциюСервер() - Если ТранзакцияАктивна() Тогда - ОтменитьТранзакцию(); - КонецЕсли; -КонецПроцедуры - -&НаСервере -Процедура УдалитьСозданныйОбъект() - Если ЗначениеЗаполнено(CоздаваемыйЭлемент) Тогда - CозданныйОбъект = CоздаваемыйЭлемент.ПолучитьОбъект(); - CозданныйОбъект.Удалить(); - КонецЕсли; - CоздаваемыйЭлемент = Неопределено; -КонецПроцедуры - -&НаКлиенте -Процедура ЗакрытьФорму() - //Если ТипЗнч(ТестируемаяФорма) <> Тип(""Форма"") и ТипЗнч(ТестируемаяФорма) <> Тип(""УправляемаяФорма"") Тогда - Если ТипЗнч(ТестируемаяФорма) <> Тип(""УправляемаяФорма"") Тогда - Возврат; - КонецЕсли; - ТестируемаяФорма.Модифицированность = Ложь; - Если ТестируемаяФорма.Открыта() Тогда - ТестируемаяФорма.Модифицированность = Ложь; - //Попытка - ТестируемаяФорма.Закрыть(); - //Исключение - // Ошибка = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - // ЗакрытьФормуБезусловноСОтменойТранзакции(ТестируемаяФорма); - // //Если ТранзакцияАктивна() Тогда - // // ОтменитьТранзакцию(); - // //КонецЕсли; - // // //ДобавитьСтрокуРезультата(ИмяОперации, ИнформацияОбОшибке()); - // //НачатьТранзакцию(); - // //ТестируемаяФорма.УстановитьДействие(""ПередЗакрытием"", Неопределено); - // //ТестируемаяФорма.УстановитьДействие(""ПриЗакрытии"", Неопределено); - // //ТестируемаяФорма.Закрыть(); - // ВызватьИсключение Ошибка; - //КонецПопытки; - Иначе - Попытка - ТестируемаяФорма.Закрыть(); - Исключение - КонецПопытки; - КонецЕсли; - ТестируемаяФорма = """"; - -КонецПроцедуры - - -&НаСервере -Функция ДобавитьТестыДляСправочниковСервер(ВсеТесты, ТолькоУправляемыеФормы, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер) - ОсновнойОбъект = Объект(); - СписокИсключений_Существующие = ОсновнойОбъект.ПолучитьСписокИсключений_Справочники_Существующие(); - СписокИсключений_Новые = ОсновнойОбъект.ПолучитьСписокИсключений_Справочники_Новые(); - СписокИсключений_Списки = ОсновнойОбъект.ПолучитьСписокИсключений_Справочники_Списки(); - - менеджерМетаданного = Метаданные.Справочники; - Для Каждого МетаОбъект Из менеджерМетаданного Цикл - - Если ПравоДоступа(""ИнтерактивноеДобавление"", МетаОбъект) Тогда - имяТеста = ""ТестДолжен_ОткрытьФормуНовогоЭлементаСправочника""; - ПрефиксПредставленияТеста = ""Новые""; - СписокИсключений = СписокИсключений_Новые; - ИменаОсновныхФорм = ИменаОсновныхФорм_Объекты_Сервер; - - ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ВсеТесты, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста); - КонецЕсли; - - имяТеста = ""ТестДолжен_ОткрытьФормуСуществующегоЭлементаСправочника""; - ПрефиксПредставленияТеста = ""Существующие""; - СписокИсключений = СписокИсключений_Существующие; - ИменаОсновныхФорм = ИменаОсновныхФорм_Объекты_Сервер; - - ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ВсеТесты, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста); - - имяТеста = ""ТестДолжен_ОткрытьФормуПоПолномуИмениФормы""; - ПрефиксПредставленияТеста = ""Списки""; - СписокИсключений = СписокИсключений_Списки; - ИменаОсновныхФорм = мИменаОсновныхФорм_Списки_Сервер; - - ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ВсеТесты, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста); - КонецЦикла; -КонецФункции - -&НаСервере -Функция ДобавитьТестыДляДокументовСервер(ВсеТесты, ТолькоУправляемыеФормы, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер) - ОсновнойОбъект = Объект(); - СписокИсключений_Существующие = ОсновнойОбъект.ПолучитьСписокИсключений_Документы_Существующие(); - СписокИсключений_Новые = ОсновнойОбъект.ПолучитьСписокИсключений_Документы_Новые(); - СписокИсключений_Списки = ОсновнойОбъект.ПолучитьСписокИсключений_Документы_Списки(); - - менеджерМетаданного = Метаданные.Документы; - Для Каждого МетаОбъект Из менеджерМетаданного Цикл - - Если ПравоДоступа(""ИнтерактивноеДобавление"", МетаОбъект) Тогда - имяТеста = ""ТестДолжен_ОткрытьФормуНовогоДокумента""; - ПрефиксПредставленияТеста = ""Новые""; - СписокИсключений = СписокИсключений_Новые; - ИменаОсновныхФорм = ИменаОсновныхФорм_Объекты_Сервер; - ПроверяемоеПравоДоступа = ""ИнтерактивноеДобавление""; - ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ВсеТесты, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста); - КонецЕсли; - - имяТеста = ""ТестДолжен_ОткрытьФормуСуществующегоЭлементаДокумента""; - ПрефиксПредставленияТеста = ""Существующие""; - СписокИсключений = СписокИсключений_Существующие; - ИменаОсновныхФорм = ИменаОсновныхФорм_Объекты_Сервер; - - ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ВсеТесты, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста); - - имяТеста = ""ТестДолжен_ОткрытьФормуПоПолномуИмениФормы""; - ПрефиксПредставленияТеста = ""Списки""; - СписокИсключений = СписокИсключений_Списки; - ИменаОсновныхФорм = мИменаОсновныхФорм_Списки_Сервер; - - ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ВсеТесты, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста); - КонецЦикла; -КонецФункции - -&НаСервере -Функция ДобавитьТестыДляОтчетовОбработокСервер(ВсеТесты, ТолькоУправляемыеФормы) - ОсновнойОбъект = Объект(); - - ИменаОсновныхФорм = мИменаОсновныхФорм_Сервер(); - СписокИсключений_Отчеты = ОсновнойОбъект.ПолучитьСписокИсключений_Отчеты(); - СписокИсключений_Обработки = ОсновнойОбъект.ПолучитьСписокИсключений_Обработки(); - - имяТеста = ""ТестДолжен_ОткрытьФормуПоПолномуИмениФормы""; - ПрефиксПредставленияТеста = """"; - - ДобавитьТестыПереданныхВидовФормДляКаждогоОбъектаМенеджераМетаданных(ВсеТесты, ОсновнойОбъект, Метаданные.Обработки, ТолькоУправляемыеФормы, СписокИсключений_Обработки, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста); - ДобавитьТестыПереданныхВидовФормДляКаждогоОбъектаМенеджераМетаданных(ВсеТесты, ОсновнойОбъект, Метаданные.Отчеты, ТолькоУправляемыеФормы, СписокИсключений_Отчеты, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста); -КонецФункции - -Процедура ДобавитьТестыПереданныхВидовФормДляКаждогоОбъектаМенеджераМетаданных(ВсеТесты, ОсновнойОбъект, менеджерМетаданного, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста) - Для Каждого МетаОбъект Из менеджерМетаданного Цикл - Если ОсновнойОбъект.ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) Тогда - Возврат; - КонецЕсли; - Если Лев(МетаОбъект.Имя, СтрДлина(""xddTestRunner"")) = ""xddTestRunner"" Тогда - Продолжить; - КонецЕсли; - - ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ВсеТесты, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста); - КонецЦикла; -КонецПроцедуры - -Процедура ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ВсеТесты, ОсновнойОбъект, МетаОбъект, - ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста) - - Если ОсновнойОбъект.ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) Тогда - Возврат; - КонецЕсли; - - CписокИменМетаФорм = Новый СписокЗначений; - ДобавитьИменаМетаФормДляОдногоОбъектаМетаданного(CписокИменМетаФорм, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм); - ДобавитьТестПоПереданнымМетаФормамСсылочногоОбъектаСервер(ВсеТесты, 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писокИменМетаФорм, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, списокИсключений, ИменаОсновныхФорм) - Если списокИсключений.НайтиПоЗначению(МетаОбъект.Имя) <> Неопределено Тогда - Возврат; - КонецЕсли; - Если ПравоДоступа(""Просмотр"", МетаОбъект) Тогда - МетаФормы = ОсновнойОбъект.ПолучитьМетаФормыОбъектаДляПроверки(МетаОбъект, ИменаОсновныхФорм); - - Для каждого МетаФорма Из МетаФормы Цикл - МетаФорма_ПолноеИмя = МетаФорма.ПолноеИмя(); - //Сообщить(""МетаФорма_ПолноеИмя <""+МетаФорма_ПолноеИмя+""> ""); - - Если ТолькоУправляемыеФормы Тогда - //Сообщить(""МетаФорма.ТипФормы <""+МетаФорма.ТипФормы+""> ""); - Если Не ЭтоУправляемаяФорма(МетаФорма) Тогда - Продолжить; - КонецЕсли; - КонецЕсли; - - CписокИменМетаФорм.Добавить(МетаФорма_ПолноеИмя); - //ПредставлениеТеста = МетаФорма_ПолноеИмя; - //лПараметры = Новый Структура(""ПредставлениеТеста,ИмяТеста,Транзакция,Параметр"", ПредставлениеТеста, имяТеста, Истина, МетаФорма_ПолноеИмя); - //ВсеТесты.Добавить(лПараметры); - КонецЦикла; - КонецЕсли; -КонецПроцедуры - -&НаСервереБезКонтекста -Функция ЭтоУправляемаяФорма(МетаФорма) - Возврат МетаФорма <> Неопределено И МетаФорма.ТипФормы = Метаданные.СвойстваОбъектов.ТипФормы.Управляемая; -КонецФункции - -Функция Объект() - Возврат РеквизитФормыВЗначение(""Объект""); -КонецФункции - -Функция ПолучитьВидМетаданного(Мета_ПолноеИмя) - ИД = Лев(Мета_ПолноеИмя, Найти(Мета_ПолноеИмя, "".Форма."")-1); - ИД = Сред(ИД, Найти(ИД, ""."") + 1); - Возврат ИД; -КонецФункции - -&НаКлиенте -Процедура ТестДолжен_ОткрытьФормуПоПолномуИмениФормы(ПолноеИмяФормы) Экспорт - ТестироватьФорму(ПолноеИмяФормы, Неопределено); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ОткрытьФормуСуществующегоЭлементаСправочника(Мета_ПолноеИмя) Экспорт - ТестДолжен_ОткрытьФормуСуществующегоЭлементаСправочникаСервер(Мета_ПолноеИмя); - ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, CоздаваемыйЭлемент); -КонецПроцедуры - -&НаСервере -Процедура ТестДолжен_ОткрытьФормуСуществующегоЭлементаСправочникаСервер(Мета_ПолноеИмя) - ИД = ПолучитьВидМетаданного(Мета_ПолноеИмя); - - ОсновнойОбъект = Объект(); - CоздаваемыйЭлемент = ОсновнойОбъект.СоздатьЭлементИВернутьСсылку(ИД, ""существующий""); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ОткрытьФормуНовогоЭлементаСправочника(Мета_ПолноеИмя) Экспорт - ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, Неопределено); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ОткрытьФормуНовогоДокумента(Мета_ПолноеИмя) Экспорт - ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, Неопределено); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ОткрытьФормуСуществующегоЭлементаДокумента(Мета_ПолноеИмя) Экспорт - Док = ТестДолжен_ОткрытьФормуСуществующегоЭлементаДокументаСервер(Мета_ПолноеИмя); - Если Док <> Неопределено Тогда - ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, Док); - КонецЕсли; -КонецПроцедуры - -&НаСервере -Функция ТестДолжен_ОткрытьФормуСуществующегоЭлементаДокументаСервер(Мета_ПолноеИмя) - ИД = ПолучитьВидМетаданного(Мета_ПолноеИмя); - - ОсновнойОбъект = Объект(); - Док = ОсновнойОбъект.ПолучитьСуществующийДокументОбъектИВернутьСсылку(ИД, НужноИсключениеЕслиНеНайденоДокументов, ""ТестДолжен_ОткрытьФормуСуществующегоДокумента""); - Возврат Док; -КонецФункции - -// проверка бага https://github.com/xDrivenDevelopment/xUnitFor1C/issues/154 -&НаКлиенте -Процедура ТестДолжен_ПроверитьБагПлатформыПриОткрытииУправляемойФормыПриОткрытииКоторойЕстьИсключение() Экспорт - Мета_ПолноеИмя = ""Обработка.ТестОбработка_Форма_ИсключениеПриОткрытии.Форма.УправляемаяФорма""; - ошибка =""""; - Попытка - ОткрытьФорму(Мета_ПолноеИмя); - Исключение - ошибка = ОписаниеОшибки(); - //Предупреждение(""поймали исключение 20""+ ошибка); - КонецПопытки; - ЮТест.ПроверитьЗаполненность(ошибка, ""Ошибка""); -КонецПроцедуры - -//} -", -{4,3, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",d7763d54-e3e8-4427-b006-786d44023817} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},1,0,0,0, -{0,0}, -{0,0} -}, -{9, -{2},0,"CоздаваемыйЭлемент", -{1,1, -{"ru","Cоздаваемый элемент"} -}, -{"Pattern", -{"#",280f5f0e-9c8a-49cc-bf6d-4d296cc17a63} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{3},0,"НужноИсключениеЕслиНеНайденоДокументов", -{1,1, -{"ru","Нужно исключение если не найдено документов"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -},0,0, -{#base64:77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxTZXR0 -aW5ncyB4bWxucz0iaHR0cDovL3Y4LjFjLnJ1LzguMS9kYXRhLWNvbXBvc2l0aW9u -LXN5c3RlbS9zZXR0aW5ncyIgeG1sbnM6ZGNzY29yPSJodHRwOi8vdjguMWMucnUv -OC4xL2RhdGEtY29tcG9zaXRpb24tc3lzdGVtL2NvcmUiIHhtbG5zOnN0eWxlPSJo -dHRwOi8vdjguMWMucnUvOC4xL2RhdGEvdWkvc3R5bGUiIHhtbG5zOnN5cz0iaHR0 -cDovL3Y4LjFjLnJ1LzguMS9kYXRhL3VpL2ZvbnRzL3N5c3RlbSIgeG1sbnM6djg9 -Imh0dHA6Ly92OC4xYy5ydS84LjEvZGF0YS9jb3JlIiB4bWxuczp2OHVpPSJodHRw -Oi8vdjguMWMucnUvOC4xL2RhdGEvdWkiIHhtbG5zOndlYj0iaHR0cDovL3Y4LjFj -LnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93ZWIiIHhtbG5zOndpbj0iaHR0cDovL3Y4 -LjFjLnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93aW5kb3dzIiB4bWxuczp4cz0iaHR0 -cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDov -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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/CommonApp/\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" deleted file mode 100644 index 6650d9e6..00000000 --- "a/src/Tests/CommonApp/\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" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,724d5548-5d6b-4e19-98cf-0ea3ae12c0a7},"СозданиеОдногоПользователяИБ", -{1,"ru","Создание одного пользователя ИБ"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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/CommonApp/\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" deleted file mode 100644 index eec1bc63..00000000 Binary files "a/src/Tests/CommonApp/\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 /dev/null differ diff --git "a/src/Tests/CommonApp/\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/CommonApp/\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" deleted file mode 100644 index d24d3482..00000000 --- "a/src/Tests/CommonApp/\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" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,be1492ab-bedd-4e13-8827-ed025cda688a},"ПолучениеФорм", -{1,"ru","Получение форм"},""},0,0}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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/copyinfo" "b/src/Tests/CommonApp/\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/copyinfo" deleted file mode 100644 index 161ac217..00000000 --- "a/src/Tests/CommonApp/\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/copyinfo" +++ /dev/null @@ -1,20 +0,0 @@ -{4, -{3, -{45cb56ba-09f2-4931-88c4-1e63a1a8f37c,45cb56ba-09f2-4931-88c4-1e63a1a8f37c,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"УправляемаяФорма"} -}, -{5fafd470-b0a2-485b-b255-a3b8faa26fb7,5fafd470-b0a2-485b-b255-a3b8faa26fb7,1, -{9cd510cd-abfc-11d4-9434-004095e12fc7,"xUnitFor1C"} -}, -{df099fc3-03ed-44c9-a8dd-e95a1e8978ff,df099fc3-03ed-44c9-a8dd-e95a1e8978ff,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"Тесты_ОткрытиеФормКонфигурации"} -} -}, -{2, -{280f5f0e-9c8a-49cc-bf6d-4d296cc17a63,5fafd470-b0a2-485b-b255-a3b8faa26fb7,0}, -{d7763d54-e3e8-4427-b006-786d44023817,df099fc3-03ed-44c9-a8dd-e95a1e8978ff,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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/CommonApp/\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" deleted file mode 100644 index 1719521f..00000000 --- "a/src/Tests/CommonApp/\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" +++ /dev/null @@ -1,115 +0,0 @@ -{1, -{eb6420d9-ff9e-4c68-b025-2c1608cec69f},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,d7763d54-e3e8-4427-b006-786d44023817,4eac2e4e-b966-477c-8f8b-b4f3c988a024, -{0, -{0, -{0,0,df099fc3-03ed-44c9-a8dd-e95a1e8978ff},"Тесты_ОткрытиеФормКонфигурации", -{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,5, -{ -{0, -{25, -{2, -{0, -{0,0,0d576d83-e0f1-4407-8839-678e97084eb9},"мИменаОсновныхФорм", -{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,f465a06e-6fbe-4913-a502-3efe7fde4644},"мИменаОсновныхФорм_Списки", -{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,c4204ca8-31c8-4d16-b26c-bb95f5a4346a},"мИменаОсновныхФорм_Объекты", -{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,bcb9322e-f0c7-41a1-94cc-2d93e673140e},"мПолучениеФорм", -{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,585b82f6-6309-4ef7-bada-4bca196ee5a4},"ВыводитьСообщенияВЖурналРегистрации", -{1,"ru","Выводить сообщения в журнал регистрации"},""}, -{"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} -} -} -} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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/root" "b/src/Tests/CommonApp/\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/root" deleted file mode 100644 index 647bb3c0..00000000 --- "a/src/Tests/CommonApp/\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/root" +++ /dev/null @@ -1 +0,0 @@ -{2,eb6420d9-ff9e-4c68-b025-2c1608cec69f,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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/CommonApp/\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" deleted file mode 100644 index ab324e31..00000000 --- "a/src/Tests/CommonApp/\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" +++ /dev/null @@ -1 +0,0 @@ -{1,15,"724d5548-5d6b-4e19-98cf-0ea3ae12c0a7",c85ce48f-579c-4d59-b318-68c92a657463,"724d5548-5d6b-4e19-98cf-0ea3ae12c0a7.0",e633767c-870f-4555-8dcc-fc16b50bb2fe,"",63cf13a2-3b62-4d2d-b7a1-85285dd4dd4f,"versions",a1a53e73-bffd-455d-b92d-94e93f8a15ed,"df099fc3-03ed-44c9-a8dd-e95a1e8978ff",950cbccd-96c4-452a-960d-5052c58af474,"df099fc3-03ed-44c9-a8dd-e95a1e8978ff.0",94499bd8-4e0a-4b8f-8c35-943a36a88082,"root",7a717835-a3dd-4c30-a9fd-d73f24fc08e5,"be1492ab-bedd-4e13-8827-ed025cda688a.0",72b5135b-608d-4f4d-a080-6f558e99f164,"be1492ab-bedd-4e13-8827-ed025cda688a.1",0e88792e-dd94-4a89-986a-1d559f2cafdc,"45cb56ba-09f2-4931-88c4-1e63a1a8f37c",250f0fc9-d8d1-4943-b04c-61d559bdff27,"be1492ab-bedd-4e13-8827-ed025cda688a",f9941463-f548-4d41-bbc2-873f81b49028,"version",eee67d54-e50f-4b73-a581-803984a7cd52,"eb6420d9-ff9e-4c68-b025-2c1608cec69f",065e9cad-eda0-467e-ba10-06a16e6f3724,"45cb56ba-09f2-4931-88c4-1e63a1a8f37c.0",e00b2d05-b390-4cf8-8e3b-32781ea73565,"copyinfo",0f17afaf-fa1e-40ce-997a-b4e0906a5348} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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/CommonApp/\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" deleted file mode 100644 index eec1bc63..00000000 Binary files "a/src/Tests/CommonApp/\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 /dev/null differ diff --git "a/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/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/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/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" deleted file mode 100644 index e3715a50..00000000 --- "a/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/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" +++ /dev/null @@ -1,90 +0,0 @@ -{27, -{16, -{ -{1,1, -{"ru","Получение формы"} -},3,4294967295}, -{09ccdc77-ea1a-4a6d-ab1c-3435eada2433, -{1, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},21,0,0,0,0,0,0, -{3,1, -{3,0, -{0},"",-1,-1,1,0} -},0,1, -{1,1, -{3, -{1,1, -{"ru","Страница1"} -}, -{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}, -{0} -}, -{0} -},266,134,1,0,1,4,4,18}, -{ -{-1},1, -{0}, -{0} -}, -{00000000-0000-0000-0000-000000000000,0}, -{1, -{70000,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} -} -} -} -},1,4,1,0,0,0, -{0}, -{0}, -{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/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/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/module" "b/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/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/module" deleted file mode 100644 index 1567d067..00000000 --- "a/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/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/module" +++ /dev/null @@ -1,12 +0,0 @@ - -Процедура ПередОткрытием(Отказ, СтандартнаяОбработка) - Отказ = Истина; -КонецПроцедуры - -Функция ПолучитьФормуЛкс(ИмяФормы, Параметры = Неопределено, Владелец = Неопределено, Уникальность = Неопределено, Окно = Неопределено) Экспорт - - Результат = ПолучитьФорму(ИмяФормы, Параметры, Владелец, Уникальность, Окно); - Возврат Результат; - -КонецФункции - diff --git "a/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/ObjectModule.txt" "b/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/ObjectModule.txt" deleted file mode 100644 index 20227b34..00000000 --- "a/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/ObjectModule.txt" +++ /dev/null @@ -1,586 +0,0 @@ -Перем _Форма; - -Перем юТест; - -Перем мИменаОсновныхФорм; -Перем мИменаОсновныхФорм_Списки; -Перем мИменаОсновныхФорм_Объекты; -Перем мПолучениеФорм; - -// основная процедура для юнит-тестирования SnowTest -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - СоздатьФорму_ПолучениеФорм(); - СоздатьИменаОсновныхФорм(); - - ДобавитьТестДляМетаданного_Справочник_Объекты(ВсеТесты, Метаданные.Документы, "Тест_ОткрытьФормуСуществующегоДокумента", ПолучитьСписокИсключений_Документы_Существующие(), - мИменаОсновныхФорм_Объекты, "Существующие документы"); - - ДобавитьТестДляМетаданного_Справочник_Объекты(ВсеТесты, Метаданные.Документы, "Тест_ПеренестиДокументНаТекущийДень_и_ОткрытьЕгоФорму", ПолучитьСписокИсключений_Документы_ПеренестиДату(), - мИменаОсновныхФорм_Объекты, "Перенос документа на текущий день"); - - ДобавитьТестДляМетаданного_Справочник_Объекты(ВсеТесты, Метаданные.Документы, "Тест_ОткрытьФормуНовогоДокумента", ПолучитьСписокИсключений_Документы_Новые(), - мИменаОсновныхФорм_Объекты, "Новые документы"); - - ДобавитьТестДляМетаданного_Справочник_Объекты(ВсеТесты, Метаданные.Справочники, "Тест_ОткрытьФормуСуществующегоЭлементаСправочника", ПолучитьСписокИсключений_Справочники_Существующие(), - мИменаОсновныхФорм_Объекты, "Существующие элементы"); - ДобавитьТестДляМетаданного_Справочник_Объекты(ВсеТесты, Метаданные.Справочники, "Тест_ОткрытьФормуНовогоЭлементаСправочника", ПолучитьСписокИсключений_Справочники_Новые(), - мИменаОсновныхФорм_Объекты, "Новые элементы"); - ДобавитьТестДляМетаданного_Справочник_Объекты(ВсеТесты, Метаданные.Справочники, "Тест_ОткрытьФормуНовогоЭлементаСправочникаСоздаваемогоКопированием", ПолучитьСписокИсключений_Справочники_Новые(), - мИменаОсновныхФорм_Объекты, "Новые через копирование элементы"); - - ДобавитьТестДляМетаданного(ВсеТесты, Метаданные.Справочники, "ТестДолжен_ОткрытьФорму_ПоМетаФорме", ПолучитьСписокИсключений_Справочники_Списки(), мИменаОсновныхФорм_Списки); - ДобавитьТестДляМетаданного(ВсеТесты, Метаданные.Документы, "ТестДолжен_ОткрытьФорму_ПоМетаФорме", ПолучитьСписокИсключений_Документы_Списки(), мИменаОсновныхФорм_Списки); - - ДобавитьТестДляМетаданного(ВсеТесты, Метаданные.Отчеты, "ТестДолжен_ОткрытьФорму_ПоМетаФорме", ПолучитьСписокИсключений_Отчеты(), мИменаОсновныхФорм); - ДобавитьТестДляМетаданного(ВсеТесты, Метаданные.Обработки, "ТестДолжен_ОткрытьФорму_ПоМетаФорме", ПолучитьСписокИсключений_Обработки(), мИменаОсновныхФорм); - - Возврат ВсеТесты; -КонецФункции - -Процедура ПередЗапускомТеста() - //НачатьТранзакцию(); -КонецПроцедуры - -Процедура ПослеЗапускаТеста() Экспорт - //НачатьТранзакцию(); - - ЗакрытьФорму(); - - //Если ТранзакцияАктивна() Тогда - // ОтменитьТранзакцию(); - //КонецЕсли; -КонецПроцедуры - -Процедура ЗакрытьФорму() - Если ТипЗнч(_Форма) <> Тип("Форма") и ТипЗнч(_Форма) <> Тип("УправляемаяФорма") Тогда - Возврат; - КонецЕсли; - _Форма.Модифицированность = Ложь; - Если _Форма.Открыта() Тогда - _Форма.Модифицированность = Ложь; - Попытка - _Форма.Закрыть(); - Исключение - Ошибка = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - Если ТранзакцияАктивна() Тогда - ОтменитьТранзакцию(); - КонецЕсли; - //ДобавитьСтрокуРезультата(ИмяОперации, ИнформацияОбОшибке()); - НачатьТранзакцию(); - _Форма.УстановитьДействие("ПередЗакрытием", Неопределено); - _Форма.УстановитьДействие("ПриЗакрытии", Неопределено); - _Форма.Закрыть(); - ВызватьИсключение Ошибка; - КонецПопытки; - Иначе - Попытка - _Форма.Закрыть(); - Исключение - КонецПопытки; - КонецЕсли; - _Форма = ""; - -КонецПроцедуры - -//{ блок работы с обычными и управляемыми формами - портирован из "Инструменты разработчика" -Процедура ТестДолжен_ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя) Экспорт - ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя); -КонецПроцедуры - -Процедура ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма_Имя = "", СсылкаОбъектаИлиСамОбъект = Неопределено, СоздаватьОбъект = Ложь) Экспорт - - ВыводитьСообщения = Ложь; - ВыводитьСообщенияВЖурналРегистрации = Ложь; - ВнешнийОбъект = Неопределено; - КлючВременнойФормы = "908насмь9ыв"; - - ИмяОперации = МетаФорма_ПолноеИмя; //МетаФорма.ПолноеИмя(); - //Если ВнешнийОбъект <> Неопределено Тогда - // ИмяОперации = Сред(ВнешнийОбъект.ИспользуемоеИмяФайла, СтрДлина(КаталогВнешнихМетаданных) + 2) + "." + ИмяОперации; - //КонецЕсли; - Если ВыводитьСообщения Тогда - Сообщить(ИмяОперации); - КонецЕсли; - Если ВыводитьСообщенияВЖурналРегистрации Тогда - ЗаписьЖурналаРегистрации(Метаданные().Имя, УровеньЖурналаРегистрации.Информация, , , "Операция: " + ИмяОперации); - КонецЕсли; - //НачатьТранзакцию(); - //Попытка - Форма = ПолучитьНовуюФорму(МетаФорма_ПолноеИмя, ВнешнийОбъект, КлючВременнойФормы); - Если Форма = Неопределено Тогда - //ОтменитьТранзакцию(); - Возврат; //Продолжить; - КонецЕсли; - ЭтоФормаСсылочногоОбъекта = Ложь; - Если СсылкаОбъектаИлиСамОбъект <> Неопределено Тогда - ЭтоФормаСсылочногоОбъекта = Истина; - Иначе - Если ЭтоОбычнаяФорма(Форма) Тогда //МетаФорма.ТипФормы <> Метаданные.СвойстваОбъектов.ТипФормы.Управляемая - Попытка - Пустышка = Форма.ЭтотОбъект.ЭтоНовый(); - ЭтоФормаСсылочногоОбъекта = Истина; - Исключение - КонецПопытки; - Иначе - Если Форма.Параметры.Свойство("Ключ") Тогда - Попытка - Пустышка = Форма.Параметры.Ключ.Ссылка; - ЭтоФормаСсылочногоОбъекта = Истина; - Исключение - КонецПопытки; - КонецЕсли; - КонецЕсли; - Если ЭтоФормаСсылочногоОбъекта Тогда - Если ЭтоОбычнаяФорма(Форма) Тогда - СсылкаОбъектаИлиСамОбъект = Форма.Ссылка; - Иначе - СсылкаОбъектаИлиСамОбъект = Форма.Параметры.Ключ; - КонецЕсли; - КонецЕсли; - КонецЕсли; - - Если ЭтоФормаСсылочногоОбъекта Тогда - Если ЭтоОбычнаяФорма(Форма) Тогда - Если СоздаватьОбъект Тогда - Если СсылкаОбъектаИлиСамОбъект <> Неопределено Тогда - СсылочныйОбъект = СсылкаОбъектаИлиСамОбъект.Скопировать(); - //Иначе - // СсылочныйОбъект = СсылкаОбъектаИлиСамОбъект.Метаданные; - КонецЕсли; - Иначе - СсылочныйОбъект = СсылкаОбъектаИлиСамОбъект; - КонецЕсли; - Форма = СсылочныйОбъект.ПолучитьФорму(МетаФорма_Имя, , КлючВременнойФормы); - Иначе - ПараметрыФормы = Новый Структура; - ЭтоОбъект = Ложь; - Попытка - Пустышка = СсылкаОбъектаИлиСамОбъект.ЭтотОбъект; - ЭтоОбъект = Истина; - Исключение - КонецПопытки; - Если СоздаватьОбъект Тогда - Если Не ЭтоОбъект Тогда - ПараметрыФормы.Вставить("ЗначениеКопирования", СсылкаОбъектаИлиСамОбъект); - КонецЕсли; - ИначеЕсли Не ЭтоОбъект Тогда - ПараметрыФормы.Вставить("Ключ", СсылкаОбъектаИлиСамОбъект); - КонецЕсли; - Форма = ПолучитьФормуЛкс(МетаФорма_ПолноеИмя, ПараметрыФормы, , КлючВременнойФормы); - КонецЕсли; - // //Если ЭтоОбычнаяФорма(Форма) Тогда - // // СсылкаОбъекта = Форма.Ссылка; - // //Иначе - // // СсылкаОбъекта = Форма.Параметры.Ключ; - // //КонецЕсли; - //// МенеджерТипаОбъектаФормы = ирГлобальный.ЛксПолучитьМенеджер(СсылкаОбъекта); - //// Выборка = МенеджерТипаОбъектаФормы.Выбрать(); - // Если ЭтоОбычнаяФорма(Форма) Тогда - // СсылочныйОбъект = СсылкаОбъекта.Скопировать(); - // Форма = СсылочныйОбъект.ПолучитьФорму(МетаФорма_Имя, , КлючВременнойФормы); - //// Если Выборка.Следующий() Тогда - //// СсылочныйОбъект = Выборка.ПолучитьОбъект(); - //// СсылочныйОбъект = СсылочныйОбъект.Скопировать(); - //// Иначе - //// СсылочныйОбъект = ирНеглобальный.СоздатьСсылочныйОбъектПоМетаданнымЛкс(МетаОбъект); - //// ЗаполнитьРеквизитыНепустымиЗначениями(СсылочныйОбъект, МетаОбъект); - //// КонецЕсли; - //// Если МенеджерТипаОбъектаФормы = МенеджерОбъектаМетаданных Тогда - //// Форма = СсылочныйОбъект.ПолучитьФорму(МетаФорма.Имя, , КлючВременнойФормы); - //// Иначе - //// // Дольше но универсальнее - //// Форма = ПолучитьНовуюФорму(МетаФорма, ВнешнийОбъект, КлючВременнойФормы); - //// Форма[мПлатформа.ПолучитьИмяОсновногоРеквизитаФормы(Форма)] = СсылочныйОбъект; - //// КонецЕсли; - // Иначе - // ПараметрыФормы = Новый Структура; - // ПараметрыФормы.Вставить("ЗначениеКопирования", СсылкаОбъекта); - // Форма = ПолучитьФормуЛкс(МетаФорма_ПолноеИмя, ПараметрыФормы, , КлючВременнойФормы); - //// Если Выборка.Следующий() Тогда - //// ПараметрыФормы.Вставить("ЗначениеКопирования", Выборка.Ссылка); - //// КонецЕсли; - //// Форма = ПолучитьФормуЛкс(МетаФорма.ПолноеИмя(), ПараметрыФормы, , КлючВременнойФормы); - //// //Форма = ирНеглобальный.ПолучитьФормуЛкс(МетаФорма.ПолноеИмя(), ПараметрыФормы, , КлючВременнойФормы); - // КонецЕсли; - //Иначе - // Форма = ПолучитьНовуюФорму(МетаФорма_ПолноеИмя, ВнешнийОбъект, КлючВременнойФормы); - // Если Форма = Неопределено Тогда - // //ОтменитьТранзакцию(); - // Возврат; //Продолжить; - // КонецЕсли; - КонецЕсли; - ТестироватьФорму(Форма, ИмяОперации); - //Исключение - // ДобавитьСтрокуРезультата(ИмяОперации, ИнформацияОбОшибке()); - //КонецПопытки; - //ОтменитьТранзакцию(); -КонецПроцедуры - -Процедура СоздатьИменаОсновныхФорм() - Если Не ЗначениеЗаполнено(мИменаОсновныхФорм) Тогда - мИменаОсновныхФорм = Новый Массив(); - КонецЕсли; - СоздатьИменаОсновныхФорм_Объекты(); - СоздатьИменаОсновныхФормСписка(); - Для каждого эл Из мИменаОсновныхФорм_Объекты Цикл - мИменаОсновныхФорм.Добавить(эл); - КонецЦикла; - Для каждого эл Из мИменаОсновныхФорм_Списки Цикл - мИменаОсновныхФорм.Добавить(эл); - КонецЦикла; -КонецПроцедуры - -Процедура СоздатьИменаОсновныхФорм_Объекты() - Если Не ЗначениеЗаполнено(мИменаОсновныхФорм_Объекты) Тогда - мИменаОсновныхФорм_Объекты = Новый Массив(); - КонецЕсли; - мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФорма"); - мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаОбъекта"); - мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаГруппы"); - мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаЗаписи"); - мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаНастроек"); - мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаСохранения"); - мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаЗагрузки"); - - мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФорма"); - мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФормаОбъекта"); - мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФормаГруппы"); - мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФормаЗаписи"); - мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФормаНастроек"); - мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФормаСохранения"); - мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФормаЗагрузки"); -КонецПроцедуры - -Процедура СоздатьИменаОсновныхФормСписка() - Если Не ЗначениеЗаполнено(мИменаОсновныхФорм_Списки) Тогда - мИменаОсновныхФорм_Списки = Новый Массив(); - КонецЕсли; - мИменаОсновныхФорм_Списки.Добавить("ОсновнаяФормаСписка"); - мИменаОсновныхФорм_Списки.Добавить("ОсновнаяФормаДляВыбора"); - мИменаОсновныхФорм_Списки.Добавить("ОсновнаяФормаДляВыбораГруппы"); - мИменаОсновныхФорм_Списки.Добавить("ОсновнаяФормаКонстант"); - - мИменаОсновныхФорм_Списки.Добавить("ДополнительнаяФормаСписка"); - мИменаОсновныхФорм_Списки.Добавить("ДополнительнаяФормаДляВыбора"); - мИменаОсновныхФорм_Списки.Добавить("ДополнительнаяФормаДляВыбораГруппы"); - мИменаОсновныхФорм_Списки.Добавить("ДополнительнаяФормаКонстант"); -КонецПроцедуры - -Процедура СоздатьФорму_ПолучениеФорм() - мПолучениеФорм = ПолучитьФорму("ПолучениеФорм"); -КонецПроцедуры - -Функция ПолучитьМетаФормыОбъектаДляПроверки(МетаОбъект, ИменаОсновныхФорм) - - МетаФормы = Новый Массив(); - Для Каждого ИмяОсновнойФормы Из ИменаОсновныхФорм Цикл - Попытка - МетаФорма = МетаОбъект[ИмяОсновнойФормы]; - Исключение - Продолжить; - КонецПопытки; - Если МетаФорма = Неопределено Тогда - Продолжить; - КонецЕсли; - Если МетаФормы.Найти(МетаФорма) <> Неопределено Тогда - Продолжить; - КонецЕсли; - МетаФормы.Добавить(МетаФорма); - КонецЦикла; - Возврат МетаФормы; - -КонецФункции - -Функция ПолучитьФормуЛкс(ИмяФормы, Параметры = Неопределено, Владелец = Неопределено, Уникальность = Неопределено, Окно = Неопределено) Экспорт - - Возврат мПолучениеФорм.ПолучитьФормуЛкс(ИмяФормы, Параметры, Владелец, Уникальность, Окно); - -КонецФункции - -Функция ПолучитьНовуюФорму(МетаФорма, ВнешнийОбъект = Неопределено, КлючВременнойФормы = Неопределено) - - //Если ВнешнийОбъект <> Неопределено Тогда - // Форма = ВнешнийОбъект.ПолучитьФорму(МетаФорма.Имя, , КлючВременнойФормы); - //Иначе - Форма = ПолучитьФормуЛкс(МетаФорма, , , КлючВременнойФормы); //ирНеглобальный. - //Форма = ПолучитьФормуЛкс(МетаФорма.ПолноеИмя(), , , КлючВременнойФормы); //ирНеглобальный. - //КонецЕсли; - Возврат Форма; - -КонецФункции - -Функция ТестироватьФорму(Форма, ИмяОперации = "") Экспорт - _Форма = Форма; - Форма.Открыть(); // К сожалению здесь исключения не ловятся http://partners.v8.1c.ru/forum/thread.jsp?id=1080350#1080350 - юТест.Проверить(_Форма.Открыта(), "_Форма """+ИмяОперации+""" не открылась, а должна была открыться"); - - // Артур - мой код для доп.проверки формы - Если ЭтоОбычнаяФорма(_Форма) Тогда - _Форма.Обновить(); - Иначе - //ИначеЕсли ТипЗнч(_Форма) = Тип("УправляемаяФорма") Тогда - _Форма.ОбновитьОтображениеДанных(); - КонецЕсли; - //Попытка - // Форма = Форма.мСвойстваФормы.КонечнаяФорма; // Для системы 2iS - //Исключение - //КонецПопытки; - //Если Форма.Открыта() Тогда - // //Попытка - // // ТестироватьЭлементыФормы(Форма); - // //Исключение - // // Ошибка = ИмяОперации + ". " + ИнформацияОбОшибке(); - // // Если ТранзакцияАктивна() Тогда - // // ОтменитьТранзакцию(); - // // КонецЕсли; - // // ВызватьИсключение Ошибка; //ДобавитьСтрокуРезультата(ИмяОперации, ИнформацияОбОшибке()); - // // //НачатьТранзакцию(); - // //КонецПопытки; - // Форма.Модифицированность = Ложь; - // Попытка - // Форма.Закрыть(); - // Исключение - // Ошибка = ИмяОперации + ". " + ИнформацияОбОшибке(); - // Если ТранзакцияАктивна() Тогда - // ОтменитьТранзакцию(); - // КонецЕсли; - // //ДобавитьСтрокуРезультата(ИмяОперации, ИнформацияОбОшибке()); - // НачатьТранзакцию(); - // Форма.УстановитьДействие("ПередЗакрытием", Неопределено); - // Форма.УстановитьДействие("ПриЗакрытии", Неопределено); - // Форма.Закрыть(); - // ВызватьИсключение Ошибка; - // КонецПопытки; - //КонецЕсли; - -КонецФункции - -//} конец блока работы с управляемыми формами - из "Инструменты разработчика" - -Функция ЭтоОбычнаяФорма(Форма) - Возврат ТипЗнч(Форма) = Тип("Форма"); -КонецФункции - -Процедура ДобавитьТестДляМетаданного(ВсеТесты, менеджерМетаданного, имяТеста, списокИсключений, ИменаОсновныхФорм) - Для Каждого МетаОбъект Из менеджерМетаданного Цикл - Если списокИсключений.НайтиПоЗначению(МетаОбъект.Имя) <> Неопределено Тогда - Продолжить; - КонецЕсли; - Если ПравоДоступа("Просмотр", МетаОбъект) Тогда - МетаФормы = ПолучитьМетаФормыОбъектаДляПроверки(МетаОбъект, ИменаОсновныхФорм); - - Для каждого МетаФорма Из МетаФормы Цикл - МетаФорма_ПолноеИмя = МетаФорма.ПолноеИмя(); - ПредставлениеТеста = МетаФорма_ПолноеИмя; - лПараметры = Новый Структура("ПредставлениеТеста,ИмяТеста,Транзакция,Параметр", ПредставлениеТеста, имяТеста, Истина, МетаФорма_ПолноеИмя); - ВсеТесты.Добавить(лПараметры); - КонецЦикла; - КонецЕсли; - КонецЦикла; -КонецПроцедуры - -Процедура ДобавитьТестДляМетаданного_Справочник_Объекты(ВсеТесты, менеджерМетаданного, имяТеста, списокИсключений, ИменаОсновныхФорм, ПрефиксПредставленияТеста) - Для Каждого МетаОбъект Из менеджерМетаданного Цикл - Если списокИсключений.НайтиПоЗначению(МетаОбъект.Имя) <> Неопределено Тогда - Продолжить; - КонецЕсли; - - Если (ПравоДоступа("Просмотр", МетаОбъект) или ПравоДоступа("ИнтерактивноеДобавление", МетаОбъект)) - и ПравоДоступа("Добавление", МетаОбъект) - Тогда - МетаФормы = ПолучитьМетаФормыОбъектаДляПроверки(МетаОбъект, ИменаОсновныхФорм); - Для каждого МетаФорма Из МетаФормы Цикл - МетаФорма_ПолноеИмя = МетаФорма.ПолноеИмя(); - ПредставлениеТеста = ПрефиксПредставленияТеста + " : " + МетаФорма_ПолноеИмя; - Структура = Новый Структура("МетаИмя,МетаФорма_ПолноеИмя,МетаФорма", МетаОбъект.Имя, МетаФорма_ПолноеИмя, МетаФорма); - лПараметры = Новый Структура("ПредставлениеТеста,ИмяТеста,Транзакция,Параметр", ПредставлениеТеста, имяТеста, Истина, Структура); - ВсеТесты.Добавить(лПараметры); - КонецЦикла; - КонецЕсли; - КонецЦикла; -КонецПроцедуры - -Процедура Тест_ОткрытьФормуСуществующегоДокумента(ПараметрыТеста) Экспорт - ИД = ПараметрыТеста.МетаИмя; - Док = ПолучитьСуществующийДокументОбъект(ИД, Истина, "Тест_ОткрытьФормуСуществующегоДокумента"); - - ОткрытьФорму_ПоМетаФорме(ПараметрыТеста.МетаФорма_ПолноеИмя, ПараметрыТеста.МетаФорма.Имя, Док.Ссылка); -КонецПроцедуры - -Процедура Тест_ПеренестиДокументНаТекущийДень_и_ОткрытьЕгоФорму(ПараметрыТеста) Экспорт - ИД = ПараметрыТеста.МетаИмя; - Док = ПолучитьСуществующийДокументОбъект(ИД, Ложь, "Тест_ПеренестиДокументНаТекущийДень_и_ОткрытьЕгоФорму"); - Если Док = Неопределено Тогда - Возврат; - КонецЕсли; - - Док.Дата = ТекущаяДата(); - Док.ОбменДанными.Загрузка = Истина; - Док.Записать(); - - ОткрытьФорму_ПоМетаФорме(ПараметрыТеста.МетаФорма_ПолноеИмя, ПараметрыТеста.МетаФорма.Имя, Док.Ссылка); -КонецПроцедуры - -Процедура Тест_ОткрытьФормуНовогоДокумента(ПараметрыТеста) Экспорт - ИД = ПараметрыТеста.МетаИмя; - Док = Документы[ИД].СоздатьДокумент(); - Мета = Док.Метаданные(); - Если НЕ ПравоДоступа("ИнтерактивноеДобавление", Мета) Тогда - Возврат; - КонецЕсли; - Если Мета.ДлинаНомера <> 0 Тогда - Попытка - Док.УстановитьНовыйНомер(); - Исключение - КонецПопытки; - КонецЕсли; - - ОткрытьФорму_ПоМетаФорме(ПараметрыТеста.МетаФорма_ПолноеИмя, ПараметрыТеста.МетаФорма.Имя, Док, Ложь); -КонецПроцедуры - -Функция ПолучитьСуществующийДокументОбъект(ИД, НужноИсключениеЕслиНеНайденоДокументов, ДопОписаниеДляИсключения) - выборка = Документы[ИД].Выбрать(,,, "Дата Убыв"); - уcпешно = выборка.Следующий(); - Если Не уcпешно Тогда - Если НужноИсключениеЕслиНеНайденоДокументов Тогда - ВызватьИсключение ДопОписаниеДляИсключения + ": выборка.Следующий() - не найдено существующих документов! "; - Иначе - Возврат Неопределено; - КонецЕсли; - КонецЕсли; - Док = выборка.ПолучитьОбъект(); - Возврат Док; -КонецФункции - -Процедура Тест_ОткрытьФормуСуществующегоЭлементаСправочника(ПараметрыТеста) Экспорт - ИД = ПараметрыТеста.МетаИмя; - Элем = СоздатьЭлемент(ИД, "существующий"); - ОткрытьФорму_ПоМетаФорме(ПараметрыТеста.МетаФорма_ПолноеИмя, ПараметрыТеста.МетаФорма.Имя, Элем.Ссылка); -КонецПроцедуры - -Процедура Тест_ОткрытьФормуНовогоЭлементаСправочника(ПараметрыТеста) Экспорт - ИД = ПараметрыТеста.МетаИмя; - Элем = Справочники[ИД].СоздатьЭлемент(); - Мета = Элем.Метаданные(); - Если НЕ ПравоДоступа("ИнтерактивноеДобавление", Мета) Тогда - Возврат; - КонецЕсли; - Если Мета.ДлинаНаименования <> 0 Тогда - Попытка - Элем.Наименование = "новый"; - Исключение - КонецПопытки; - КонецЕсли; - - ОткрытьФорму_ПоМетаФорме(ПараметрыТеста.МетаФорма_ПолноеИмя, ПараметрыТеста.МетаФорма.Имя, Элем, Ложь); -КонецПроцедуры - -Процедура Тест_ОткрытьФормуНовогоЭлементаСправочникаСоздаваемогоКопированием(ПараметрыТеста) Экспорт - ИД = ПараметрыТеста.МетаИмя; - Элем = СоздатьЭлемент(ИД, "копирование", "ИнтерактивноеДобавление"); - Если Элем = Неопределено Тогда - Возврат; - КонецЕсли; - - ОткрытьФорму_ПоМетаФорме(ПараметрыТеста.МетаФорма_ПолноеИмя, ПараметрыТеста.МетаФорма.Имя, Элем.Ссылка, Истина); -КонецПроцедуры - -Функция СоздатьЭлемент(ИД, Наименование, ПроверяемоеПравоДоступа = Неопределено) - Элем = Справочники[ИД].СоздатьЭлемент(); - Мета = Элем.Метаданные(); - Если ПроверяемоеПравоДоступа <> Неопределено И НЕ ПравоДоступа(ПроверяемоеПравоДоступа, Мета) Тогда - Возврат Неопределено; - КонецЕсли; - - Если Мета.ДлинаНаименования <> 0 Тогда - Попытка - Элем.Наименование = Наименование; - Исключение - КонецПопытки; - КонецЕсли; - - Если Мета.ДлинаКода <> 0 Тогда - Элем.УстановитьНовыйКод(); - КонецЕсли; - Элем.ОбменДанными.Загрузка = Истина; - Элем.Записать(); - Возврат Элем; -КонецФункции - -Функция ПолучитьСписокИсключений_Справочники_Списки() - Результат = Новый СписокЗначений; - - Результат.Добавить("ирАлгоритмы"); - - Возврат Результат; -КонецФункции - -//{ блок переопределения исключений, чтобы не открывать формы -Функция ПолучитьСписокИсключений_Справочники_Существующие() - Результат = Новый СписокЗначений; - - Результат.Добавить("ирАлгоритмы"); - - Возврат Результат; -КонецФункции - -Функция ПолучитьСписокИсключений_Справочники_Новые() - Результат = Новый СписокЗначений; - - Результат.Добавить("ирАлгоритмы"); - - Возврат Результат; -КонецФункции - -Функция ПолучитьСписокИсключений_Документы_Списки() - Результат = Новый СписокЗначений; - - //Результат.Добавить("ШтрафАСЦ"); - - Возврат Результат; -КонецФункции - -Функция ПолучитьСписокИсключений_Документы_Существующие() - Результат = Новый СписокЗначений; - - //Результат.Добавить("ШтрафАСЦ"); - - Возврат Результат; -КонецФункции - -Функция ПолучитьСписокИсключений_Документы_ПеренестиДату() - Результат = Новый СписокЗначений; - - //Результат.Добавить("ШтрафАСЦ"); - - Возврат Результат; -КонецФункции - -Функция ПолучитьСписокИсключений_Документы_Новые() - Результат = Новый СписокЗначений; - - Результат.Добавить("ШтрафАСЦ"); - - Возврат Результат; -КонецФункции - -Функция ПолучитьСписокИсключений_Отчеты() - Результат = Новый СписокЗначений; - - //Результат.Добавить("Цены"); - - Возврат Результат; -КонецФункции - -Функция ПолучитьСписокИсключений_Обработки() - Результат = Новый СписокЗначений; - - //Результат.Добавить("Цены"); - - Возврат Результат; -КонецФункции -//} конец блока \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/renames.txt" "b/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/renames.txt" deleted file mode 100644 index fd65910a..00000000 --- "a/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/renames.txt" +++ /dev/null @@ -1,11 +0,0 @@ -724d5548-5d6b-4e19-98cf-0ea3ae12c0a7-->und\724d5548-5d6b-4e19-98cf-0ea3ae12c0a7 -724d5548-5d6b-4e19-98cf-0ea3ae12c0a7.0-->und\724d5548-5d6b-4e19-98cf-0ea3ae12c0a7.0 -be1492ab-bedd-4e13-8827-ed025cda688a-->und\be1492ab-bedd-4e13-8827-ed025cda688a -be1492ab-bedd-4e13-8827-ed025cda688a.0-->Form\ПолучениеФорм -copyinfo-->und\copyinfo -df099fc3-03ed-44c9-a8dd-e95a1e8978ff.0\info-->C:\Users\aayuhanov\AppData\Local\Temp\тесты_ОткрытиеФормОтчетовОбработок.epf692.und\df099fc3-03ed-44c9-a8dd-e95a1e8978ff.0\info -df099fc3-03ed-44c9-a8dd-e95a1e8978ff.0\text-->ObjectModule.txt -eb6420d9-ff9e-4c68-b025-2c1608cec69f-->und\eb6420d9-ff9e-4c68-b025-2c1608cec69f -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/und/724d5548-5d6b-4e19-98cf-0ea3ae12c0a7" "b/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/und/724d5548-5d6b-4e19-98cf-0ea3ae12c0a7" deleted file mode 100644 index 6650d9e6..00000000 --- "a/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/und/724d5548-5d6b-4e19-98cf-0ea3ae12c0a7" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,724d5548-5d6b-4e19-98cf-0ea3ae12c0a7},"СозданиеОдногоПользователяИБ", -{1,"ru","Создание одного пользователя ИБ"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/und/724d5548-5d6b-4e19-98cf-0ea3ae12c0a7.0" "b/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/und/724d5548-5d6b-4e19-98cf-0ea3ae12c0a7.0" deleted file mode 100644 index eec1bc63..00000000 Binary files "a/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/und/724d5548-5d6b-4e19-98cf-0ea3ae12c0a7.0" and /dev/null differ diff --git "a/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/und/be1492ab-bedd-4e13-8827-ed025cda688a" "b/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/und/be1492ab-bedd-4e13-8827-ed025cda688a" deleted file mode 100644 index d24d3482..00000000 --- "a/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/und/be1492ab-bedd-4e13-8827-ed025cda688a" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,be1492ab-bedd-4e13-8827-ed025cda688a},"ПолучениеФорм", -{1,"ru","Получение форм"},""},0,0}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/und/copyinfo" "b/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/und/copyinfo" deleted file mode 100644 index 08913bc8..00000000 --- "a/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/und/copyinfo" +++ /dev/null @@ -1,7 +0,0 @@ -{4, -{0}, -{0}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/und/eb6420d9-ff9e-4c68-b025-2c1608cec69f" "b/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/und/eb6420d9-ff9e-4c68-b025-2c1608cec69f" deleted file mode 100644 index 92881e05..00000000 --- "a/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/und/eb6420d9-ff9e-4c68-b025-2c1608cec69f" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{eb6420d9-ff9e-4c68-b025-2c1608cec69f},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,d7763d54-e3e8-4427-b006-786d44023817,4eac2e4e-b966-477c-8f8b-b4f3c988a024, -{0, -{0, -{0,0,df099fc3-03ed-44c9-a8dd-e95a1e8978ff},"ЮнитТесты_ОткрытиеФормОтчетовОбработок", -{1,"ru","Юнит-тесты ""Открытие форм отчетов/обработок"""},""} -},00000000-0000-0000-0000-000000000000,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,1,724d5548-5d6b-4e19-98cf-0ea3ae12c0a7}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,be1492ab-bedd-4e13-8827-ed025cda688a}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/und/root" "b/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/und/root" deleted file mode 100644 index 647bb3c0..00000000 --- "a/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,eb6420d9-ff9e-4c68-b025-2c1608cec69f,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/und/versions" "b/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/und/versions" deleted file mode 100644 index 94646eeb..00000000 --- "a/src/Tests/CommonApp/\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\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,13,"724d5548-5d6b-4e19-98cf-0ea3ae12c0a7",6b11a12a-6abc-4686-b25f-d73aba3105b5,"724d5548-5d6b-4e19-98cf-0ea3ae12c0a7.0",874f8577-0e6b-40b8-81c3-52306806df73,"",fd0e6d78-401a-43f5-9ebd-920c5eace859,"versions",c91971d1-e168-416e-b4af-f7679ed8be80,"df099fc3-03ed-44c9-a8dd-e95a1e8978ff",950cbccd-96c4-452a-960d-5052c58af474,"df099fc3-03ed-44c9-a8dd-e95a1e8978ff.0",6fe7d999-d38e-40a5-b959-2101525cc487,"root",d2a69211-a9af-4e86-94d1-144600142a2a,"be1492ab-bedd-4e13-8827-ed025cda688a.0",d41eac6d-7e5c-443b-aefa-445f3a0d20cb,"be1492ab-bedd-4e13-8827-ed025cda688a.1",0e88792e-dd94-4a89-986a-1d559f2cafdc,"be1492ab-bedd-4e13-8827-ed025cda688a",21386419-a247-4146-afcf-4ab0a0c93e8d,"version",09dd5ec7-8714-49be-869a-e630f31f2662,"eb6420d9-ff9e-4c68-b025-2c1608cec69f",428378fa-ef7d-4c04-a5f3-e594241ce869,"copyinfo",34cb6bf7-4e50-42b0-a4b6-73770f9b0ef2} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/ObjectModule.txt" "b/src/Tests/CommonApp/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/ObjectModule.txt" deleted file mode 100644 index 7b396a7d..00000000 --- "a/src/Tests/CommonApp/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/ObjectModule.txt" +++ /dev/null @@ -1,85 +0,0 @@ -Перем _Форма; - -Перем юТест; - -// основная процедура для юнит-тестирования SnowTest -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ДобавитьТестДляМетаданного(ВсеТесты, Метаданные.Справочники, "Тест_ОткрытьФормуСуществующегоЭлементаСправочника", ПолучитьСписокИсключений_Существующие()); - - ДобавитьТестДляМетаданного(ВсеТесты, Метаданные.Справочники, "Тест_ОткрытьФормуНовогоЭлементаСправочника", ПолучитьСписокИсключений_Новые()); - - Возврат ВсеТесты; -КонецФункции - -Процедура ПослеЗапускаТеста() Экспорт - //Если НЕ ЗначениеЗаполнено(_Форма) Тогда - // Возврат; - //КонецЕсли; - Если ТипЗнч(_Форма) <> Тип("Форма") Тогда - Возврат; - КонецЕсли; - _Форма.Модифицированность = Ложь; - Если _Форма.Открыта() Тогда - _Форма.Закрыть(); - КонецЕсли; -КонецПроцедуры - -Процедура ДобавитьТестДляМетаданного(ВсеТесты, менеджерМетаданного, имяТеста, списокИсключений) - Для Каждого мДокумент Из менеджерМетаданного Цикл - Если списокИсключений.НайтиПоЗначению(мДокумент.Имя) <> Неопределено Тогда - Продолжить; - КонецЕсли; - Если (ПравоДоступа("Просмотр", мДокумент) или ПравоДоступа("ИнтерактивноеДобавление", мДокумент)) - и ПравоДоступа("Добавление", мДокумент) - //И мДокумент.ОсновнаяФормаОбъекта <> Неопределено - Тогда - лПараметры = Новый Структура("ИмяТеста,Транзакция,Параметр", имяТеста, Истина, мДокумент.Имя); - ВсеТесты.Добавить(лПараметры); - КонецЕсли; - КонецЦикла; -КонецПроцедуры - -Процедура Тест_ОткрытьФормуСуществующегоЭлементаСправочника(_ИДСправочника) Экспорт - Сообщить("_ИДСправочника = <"+?(_ИДСправочника = Неопределено, "Неопределено", _ИДСправочника)+">"); - _элем = Справочники[_ИДСправочника].СоздатьЭлемент(); - _элем.УстановитьНовыйКод(); - _элем.ОбменДанными.Загрузка = Истина; - _элем.Записать(); - _Форма = _элем.ПолучитьФорму(); - - _Форма.Открыть(); - юТест.Проверить(_Форма.Открыта(), "_Форма существующего элемента справочника """+_ИДСправочника+""" не открылась, а должна была открыться"); - _Форма.Обновить(); -КонецПроцедуры - -Процедура Тест_ОткрытьФормуНовогоЭлементаСправочника(_ИДСправочника) Экспорт - Сообщить("_ИДСправочника = <"+?(_ИДСправочника = Неопределено, "Неопределено", _ИДСправочника)+">"); - _элем = Справочники[_ИДСправочника].СоздатьЭлемент(); - Если НЕ ПравоДоступа("ИнтерактивноеДобавление", _элем.Метаданные()) Тогда - Возврат; - КонецЕсли; - _Форма = _элем.ПолучитьФорму(); - _Форма.Открыть(); - юТест.Проверить(_Форма.Открыта(), "_Форма нового элемента справочника """+_ИДСправочника+""" не открылась, а должна была открыться"); - _Форма.Обновить(); -КонецПроцедуры - -Функция ПолучитьСписокИсключений_Существующие() - Результат = Новый СписокЗначений; - - Результат.Добавить("ирАлгоритмы"); - - Возврат Результат; -КонецФункции - -Функция ПолучитьСписокИсключений_Новые() - Результат = Новый СписокЗначений; - - //Результат.Добавить("ирАлгоритмы"); - - Возврат Результат; -КонецФункции diff --git "a/src/Tests/CommonApp/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/renames.txt" "b/src/Tests/CommonApp/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/renames.txt" deleted file mode 100644 index a6d51a1d..00000000 --- "a/src/Tests/CommonApp/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/renames.txt" +++ /dev/null @@ -1,7 +0,0 @@ -copyinfo-->und\copyinfo -df099fc3-03ed-44c9-a8dd-e95a1e8978ff.0\info-->C:\Users\aayuhanov\AppData\Local\Temp\тесты_ОткрытиеФормСправочников.epf.und\df099fc3-03ed-44c9-a8dd-e95a1e8978ff.0\info -df099fc3-03ed-44c9-a8dd-e95a1e8978ff.0\text-->ObjectModule.txt -eb6420d9-ff9e-4c68-b025-2c1608cec69f-->und\eb6420d9-ff9e-4c68-b025-2c1608cec69f -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/CommonApp/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/und/copyinfo" "b/src/Tests/CommonApp/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/und/copyinfo" deleted file mode 100644 index 08913bc8..00000000 --- "a/src/Tests/CommonApp/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/und/copyinfo" +++ /dev/null @@ -1,7 +0,0 @@ -{4, -{0}, -{0}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/und/eb6420d9-ff9e-4c68-b025-2c1608cec69f" "b/src/Tests/CommonApp/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/und/eb6420d9-ff9e-4c68-b025-2c1608cec69f" deleted file mode 100644 index 8a999083..00000000 --- "a/src/Tests/CommonApp/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/und/eb6420d9-ff9e-4c68-b025-2c1608cec69f" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{eb6420d9-ff9e-4c68-b025-2c1608cec69f},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,d7763d54-e3e8-4427-b006-786d44023817,4eac2e4e-b966-477c-8f8b-b4f3c988a024, -{0, -{0, -{0,0,df099fc3-03ed-44c9-a8dd-e95a1e8978ff},"тесты_ОткрытиеФормСправочников", -{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}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/und/root" "b/src/Tests/CommonApp/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/und/root" deleted file mode 100644 index 647bb3c0..00000000 --- "a/src/Tests/CommonApp/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,eb6420d9-ff9e-4c68-b025-2c1608cec69f,} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/und/versions" "b/src/Tests/CommonApp/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/und/versions" deleted file mode 100644 index ea376412..00000000 --- "a/src/Tests/CommonApp/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,8,"",894a66f3-298a-4cfe-afd6-75bfd0a9b52a,"versions",f845da22-5106-4da4-8aef-1c4d2743161e,"df099fc3-03ed-44c9-a8dd-e95a1e8978ff",1c853888-ed9b-402d-92ab-7b328beb90f6,"df099fc3-03ed-44c9-a8dd-e95a1e8978ff.0",7e02cdb3-1280-48dd-b10c-db7eba563805,"root",9037d996-062e-40de-a6a8-6567421c5288,"version",58c5cdb6-0679-4aab-b6b1-f98b5ee52110,"eb6420d9-ff9e-4c68-b025-2c1608cec69f",653a4dd6-21c1-4eed-b0eb-6bf4ac9dc6d6,"copyinfo",639b70c0-e5a8-4763-a728-8eb0b7074468} \ No newline at end of file diff --git "a/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" new file mode 100644 index 00000000..b50c80cc --- /dev/null +++ "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" @@ -0,0 +1,564 @@ +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Ожидаем; + +&НаКлиенте +Перем ЭтоЗначениеЗаполняетсяПередЗапускомТеста; +&НаКлиенте +Перем ЭтоЗначениеЗаполняетсяПослеЗапускаТеста; +&НаКлиенте +Перем ТекстИсключенияПадающегоТеста; + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + НаборТестов.НачатьГруппу("Выполнение тестов"); + НаборТестов.Добавить("ТестДолжен_ПроверитьВызов_ПередЗапускомТеста"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРезультатТестированияУспешныйМетода"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРезультатТестированияПадающегоМетода"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРезультатТестированияОтсутствующегоМетода"); + НаборТестов.Добавить("ТестДолжен_ПроверитьВызов_ПослеЗапускаТеста"); + НаборТестов.Добавить("ТестДолжен_ПроверитьВызов_ПослеЗапускаТеста_УПадающегоТеста"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРезультатТеста_Когда_ПередЗапускаТеста_СОшибкой"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРезультатТеста_Когда_ПослеЗапускаТеста_СОшибкой"); + + НаборТестов.НачатьГруппу("Фильтрация"); + НаборТестов.Добавить("ТестДолжен_ПроверитьВыборочныйЗапускТестов_ФильтрЭлементов"); + НаборТестов.Добавить("ТестДолжен_ПроверитьВыборочныйЗапускТестов_ФильтрКонтейнеров"); + НаборТестов.Добавить("ТестДолжен_ПроверитьВыборочныйЗапускТестов_СмешанныйФильтр"); + + НаборТестов.НачатьГруппу("Статистика"); + НаборТестов.Добавить("ТестДолжен_ПроверитьВРезультатеТестирования_ЗаполнениеСтатистики"); + + НаборТестов.НачатьГруппу("Тесты с параметрами"); + НаборТестов.Добавить("ТестДолжен_ПроверитьВыполнениеТеста_ОдинПараметр"); + НаборТестов.Добавить("ТестДолжен_ПроверитьВыполнениеТеста_НесколькоПараметров"); + + НаборТестов.НачатьГруппу("Режимы выполнения тестов (случайный и строгий)"); + НаборТестов.Добавить("ТестДолжен_Проверить_ЧтоПоУмолчанию_ТестыВыполняютсяВСлучайномПорядке"); + НаборТестов.Добавить("ТестДолжен_Проверить_ЧтоТестыВыполняютсяСтрогоПоПорядку"); + НаборТестов.Добавить("ТестДолжен_Проверить_ЧтоПадениеОдногоТестаВКонтейнереСоСтрогимПорядком_ПриводитКПропускуОставшихсяШагов"); + НаборТестов.Добавить("ТестДолжен_Проверить_ЧтоПадениеОдногоТестаВКонтейнереСоСтрогимПорядком_ПриводитКПропускуДочернихКонтейнеров"); + НаборТестов.Добавить("ТестДолжен_Проверить_ЧтоПадениеТестовВКонтейнереСоСлучайнымПорядком_НеВлияетНаДругиеТестовыеМетоды"); + + НаборТестов.НачатьГруппу("Передача контекста"); + НаборТестов.Добавить("ТестДолжен_ПроверитьПередачуКонтекстаВЗависимыхТестах"); + НаборТестов.Добавить("ТестДолжен_ПроверитьЧтоСохранятьКонтекстМожноТолькоВРамкахКонтейнераСоСтрогимПорядкомВыполнения"); + НаборТестов.Добавить("ТестДолжен_ПроверитьЧтоПолучатьКонтекстМожноТолькоВРамкахКонтейнераСоСтрогимПорядкомВыполнения"); +КонецПроцедуры + +&НаКлиенте +Процедура ПередЗапускомТеста() Экспорт + ЭтоЗначениеЗаполняетсяПередЗапускомТеста = Истина; + ЭтоЗначениеЗаполняетсяПослеЗапускаТеста = Неопределено; +КонецПроцедуры + +&НаКлиенте +Процедура ПослеЗапускаТеста() Экспорт + ЭтоЗначениеЗаполняетсяПослеЗапускаТеста = Истина; +КонецПроцедуры + +&НаКлиенте +Процедура ПередЗапускомТеста_СОшибкой() Экспорт + ВызватьИсключение "ПередЗапускомТеста_СОшибкой"; +КонецПроцедуры + +&НаКлиенте +Процедура ПослеЗапускаТеста_СОшибкой() Экспорт + ВызватьИсключение "ПослеЗапускаТеста_СОшибкой"; +КонецПроцедуры + + +// { Выполнение тестов +&НаКлиенте +Процедура ТестДолжен_ПроверитьВызов_ПередЗапускомТеста() Экспорт + Ожидаем.Что(ЭтоЗначениеЗаполняетсяПередЗапускомТеста).ЭтоИстина(); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРезультатТестированияУспешныйМетода() Экспорт + ДанныеУспешногоТеста = КонтекстЯдра.Плагин("ПостроительДереваТестов").СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "УспешныйМетод"); + РезультатТестирования = КонтекстЯдра.ВыполнитьТестовыйМетодНаКлиенте(ЭтаФорма, ДанныеУспешногоТеста); + + Ожидаем.Что(РезультатТестирования, "РезультатТестирования").ИмеетТип("Структура"); + Ожидаем.Что(РезультатТестирования.Путь, "РезультатТестирования.Путь").Равно(ДанныеУспешногоТеста.Путь); + Ожидаем.Что(РезультатТестирования.ИмяМетода, "РезультатТестирования.ИмяМетода").Равно(ДанныеУспешногоТеста.ИмяМетода); + Ожидаем.Что(РезультатТестирования.Состояние, "РезультатТестирования.Состояние").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТестирования.Сообщение, "РезультатТестирования.Сообщение").Равно(""); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРезультатТестированияПадающегоМетода() Экспорт + ТекстИсключенияПадающегоТеста = "КАБУМ!!!"; + ДанныеПадающегоТеста = КонтекстЯдра.Плагин("ПостроительДереваТестов").СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "МетодПадающийПоУтверждению"); + РезультатТестирования = КонтекстЯдра.ВыполнитьТестовыйМетодНаКлиенте(ЭтаФорма, ДанныеПадающегоТеста); + + Ожидаем.Что(РезультатТестирования, "РезультатТестирования").ИмеетТип("Структура"); + Ожидаем.Что(РезультатТестирования.Путь, "РезультатТестирования.Путь").Равно(ДанныеПадающегоТеста.Путь); + Ожидаем.Что(РезультатТестирования.ИмяМетода, "РезультатТестирования.ИмяМетода").Равно(ДанныеПадающегоТеста.ИмяМетода); + Ожидаем.Что(РезультатТестирования.Состояние, "РезультатТестирования.Состояние").Равно(КонтекстЯдра.Объект.СостоянияТестов.Сломан); + Ожидаем.Что(РезультатТестирования.Сообщение, "РезультатТестирования.Сообщение").Содержит(ТекстИсключенияПадающегоТеста); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРезультатТестированияОтсутствующегоМетода() Экспорт + ДанныеОтсутствующегоТеста = КонтекстЯдра.Плагин("ПостроительДереваТестов").СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "ОтсутствующийМетод"); + РезультатТестирования = КонтекстЯдра.ВыполнитьТестовыйМетодНаКлиенте(ЭтаФорма, ДанныеОтсутствующегоТеста); + + Ожидаем.Что(РезультатТестирования, "РезультатТестирования").ИмеетТип("Структура"); + Ожидаем.Что(РезультатТестирования.Путь, "РезультатТестирования.Путь").Равно(ДанныеОтсутствующегоТеста.Путь); + Ожидаем.Что(РезультатТестирования.ИмяМетода, "РезультатТестирования.ИмяМетода").Равно(ДанныеОтсутствующегоТеста.ИмяМетода); + Ожидаем.Что(РезультатТестирования.Состояние, "РезультатТестирования.Состояние").Равно(КонтекстЯдра.Объект.СостоянияТестов.НеРеализован); + Ожидаем.Что(РезультатТестирования.Сообщение, "РезультатТестирования.Сообщение").Содержит(ДанныеОтсутствующегоТеста.ИмяМетода); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьВызов_ПослеЗапускаТеста() Экспорт + ДанныеУспешногоТеста = КонтекстЯдра.Плагин("ПостроительДереваТестов").СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "УспешныйМетод"); + РезультатТестирования = КонтекстЯдра.ВыполнитьТестовыйМетодНаКлиенте(ЭтаФорма, ДанныеУспешногоТеста); + + Ожидаем.Что(ЭтоЗначениеЗаполняетсяПослеЗапускаТеста).ЭтоИстина(); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьВызов_ПослеЗапускаТеста_УПадающегоТеста() Экспорт + ДанныеПадающегоТеста = КонтекстЯдра.Плагин("ПостроительДереваТестов").СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "МетодПадающийПоУтверждению"); + РезультатТестирования = КонтекстЯдра.ВыполнитьТестовыйМетодНаКлиенте(ЭтаФорма, ДанныеПадающегоТеста); + + Ожидаем.Что(РезультатТестирования.Состояние).Равно(КонтекстЯдра.Объект.СостоянияТестов.Сломан); + Ожидаем.Что(ЭтоЗначениеЗаполняетсяПослеЗапускаТеста).ЭтоИстина(); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРезультатТеста_Когда_ПередЗапускаТеста_СОшибкой() Экспорт + ДанныеУспешногоТеста = КонтекстЯдра.Плагин("ПостроительДереваТестов").СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "УспешныйМетод"); + ДанныеУспешногоТеста.ПередЗапускомТеста = "ПередЗапускомТеста_СОшибкой"; + + РезультатТестирования = КонтекстЯдра.ВыполнитьТестовыйМетодНаКлиенте(ЭтаФорма, ДанныеУспешногоТеста); + + Ожидаем.Что(РезультатТестирования.Состояние).Равно(КонтекстЯдра.Объект.СостоянияТестов.НеизвестнаяОшибка); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРезультатТеста_Когда_ПослеЗапускаТеста_СОшибкой() Экспорт + ДанныеУспешногоТеста = КонтекстЯдра.Плагин("ПостроительДереваТестов").СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "УспешныйМетод"); + ДанныеУспешногоТеста.ПослеЗапускаТеста = "ПослеЗапускаТеста_СОшибкой"; + + РезультатТестирования = КонтекстЯдра.ВыполнитьТестовыйМетодНаКлиенте(ЭтаФорма, ДанныеУспешногоТеста); + + Ожидаем.Что(РезультатТестирования.Состояние).Равно(КонтекстЯдра.Объект.СостоянияТестов.НеизвестнаяОшибка); +КонецПроцедуры +// } Выполнение тестов + +// { Фильтрация +&НаКлиенте +Процедура ТестДолжен_ПроверитьВыборочныйЗапускТестов_ФильтрЭлементов() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "УспешныйМетод"); + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "УспешныйМетод"); + Элемент3 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "УспешныйМетод"); + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер"); + Контейнер.Строки.Добавить(Элемент1); + Контейнер.Строки.Добавить(Элемент2); + Контейнер.Строки.Добавить(Элемент3); + + Фильтр = Новый Массив; + Фильтр.Добавить(Элемент2.Ключ); + Фильтр.Добавить(Элемент3.Ключ); + + Ожидаем.Что(КонтекстЯдра.ПолучитьКоличествоТестовыхМетодов(Контейнер, Фильтр), "Общее количество тестовых методов").Равно(Фильтр.Количество()); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Контейнер, Фильтр); + + Ожидаем.Что(РезультатТестирования.Состояние, "Контейнер").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТестирования.Строки.Количество(), "Количество тестовых методов").Равно(Фильтр.Количество()); + + РезультатТеста_Элемент1 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТестирования, Элемент1.Ключ); + Ожидаем.Что(РезультатТеста_Элемент1, "РезультатТеста_Элемент1").ЭтоНеопределено(); + + РезультатТеста_Элемент2 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТестирования, Элемент2.Ключ); + Ожидаем.Что(РезультатТеста_Элемент2.Ключ, "Тест2.Ключ").Равно(Элемент2.Ключ); + Ожидаем.Что(РезультатТеста_Элемент2.Состояние, "Тест2 Пройден").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); + + РезультатТеста_Элемент3 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТестирования, Элемент3.Ключ); + Ожидаем.Что(РезультатТеста_Элемент3.Ключ, "Тест3.Ключ").Равно(Элемент3.Ключ); + Ожидаем.Что(РезультатТеста_Элемент3.Состояние, "Тест3 Пройден").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьВыборочныйЗапускТестов_ФильтрКонтейнеров() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "УспешныйМетод"); + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "УспешныйМетод"); + Элемент3 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "УспешныйМетод"); + + Контейнер1 = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер1"); + Контейнер1.Строки.Добавить(Элемент1); + + Контейнер2 = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер2"); + Контейнер2.Строки.Добавить(Элемент2); + + Контейнер3 = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер3"); + Контейнер3.Строки.Добавить(Элемент3); + + Корень = ПостроительДереваТестов.СоздатьКонтейнер("Корень"); + Корень.Строки.Добавить(Контейнер1); + Корень.Строки.Добавить(Контейнер2); + Корень.Строки.Добавить(Контейнер3); + + Фильтр = Новый Массив; + Фильтр.Добавить(Контейнер2.Ключ); + Фильтр.Добавить(Контейнер3.Ключ); + + Ожидаем.Что(КонтекстЯдра.ПолучитьКоличествоТестовыхМетодов(Корень, Фильтр), "Общее количество тестовых методов").Равно(2); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Корень, Фильтр); + + Ожидаем.Что(РезультатТестирования.Ключ, "Корень.Ключ").Равно(Корень.Ключ); + Ожидаем.Что(РезультатТестирования.Состояние, "Корень.Состояние").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТестирования.Строки.Количество(), "Количество дочерних узлов").Равно(Фильтр.Количество()); + + РезультатТеста_Контейнер1 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТестирования, Контейнер1.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер1, "РезультатТеста_Контейнер1").ЭтоНеопределено(); + + РезультатТеста_Контейнер2 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТестирования, Контейнер2.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер2.Ключ, "Контейнер2.Ключ").Равно(Контейнер2.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер2.Состояние, "Контейнер2.Состояние").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТеста_Контейнер2.Строки[0].Ключ, "Контейнер2.Элемент2.Ключ").Равно(Элемент2.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер2.Строки[0].Состояние, "Контейнер2.Элемент2.Состояние").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); + + РезультатТеста_Контейнер3 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТестирования, Контейнер3.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер3.Ключ, "Контейнер3.Ключ").Равно(Контейнер3.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер3.Состояние, "Контейнер2.Состояние").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТеста_Контейнер3.Строки[0].Ключ, "Контейнер3.Элемент3.Ключ").Равно(Элемент3.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер3.Строки[0].Состояние, "Контейнер3.Элемент3.Состояние").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьВыборочныйЗапускТестов_СмешанныйФильтр() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "УспешныйМетод"); + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "УспешныйМетод"); + Элемент3 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "УспешныйМетод"); + + Контейнер1 = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер1"); + Контейнер1.Строки.Добавить(Элемент1); + Контейнер1.Строки.Добавить(Элемент2); + + Контейнер2 = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер2"); + Контейнер2.Строки.Добавить(Элемент3); + + Корень = ПостроительДереваТестов.СоздатьКонтейнер("Корень"); + Корень.Строки.Добавить(Контейнер1); + Корень.Строки.Добавить(Контейнер2); + + Фильтр = Новый Массив; + Фильтр.Добавить(Элемент2.Ключ); + Фильтр.Добавить(Контейнер2.Ключ); + + Ожидаем.Что(КонтекстЯдра.ПолучитьКоличествоТестовыхМетодов(Корень, Фильтр), "Общее количество тестовых методов").Равно(2); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Корень, Фильтр); + + Ожидаем.Что(РезультатТестирования.Ключ, "Корень.Ключ").Равно(Корень.Ключ); + Ожидаем.Что(РезультатТестирования.Состояние, "Корень.Состояние").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТестирования.Строки.Количество(), "Количество дочерних узлов").Равно(2); + + РезультатТеста_Контейнер1 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТестирования, Контейнер1.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер1.Ключ, "Контейнер1.Ключ").Равно(Контейнер1.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер1.Состояние, "Контейнер1.Состояние").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТеста_Контейнер1.Строки.Количество(), "Контейнер1 количество дочерних узлов").Равно(1); + РезультатТеста_Элемент1 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТеста_Контейнер1, Элемент1.Ключ); + Ожидаем.Что(РезультатТеста_Элемент1, "РезультатТеста_Элемент1").ЭтоНеопределено(); + РезультатТеста_Элемент2 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТеста_Контейнер1, Элемент2.Ключ); + Ожидаем.Что(РезультатТеста_Элемент2.Ключ, "Контейнер1.Элемент2.Ключ").Равно(Элемент2.Ключ); + Ожидаем.Что(РезультатТеста_Элемент2.Состояние, "Контейнер1.Элемент2.Состояние").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); + + РезультатТеста_Контейнер2 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТестирования, Контейнер2.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер2.Ключ, "Контейнер2.Ключ").Равно(Контейнер2.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер2.Состояние, "Контейнер2.Состояние").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); + РезультатТеста_Элемент3 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТеста_Контейнер2, Элемент3.Ключ); + Ожидаем.Что(РезультатТеста_Элемент3.Ключ, "Контейнер2.Элемент3.Ключ").Равно(Элемент3.Ключ); + Ожидаем.Что(РезультатТеста_Элемент3.Состояние, "Контейнер2.Элемент3.Состояние").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); +КонецПроцедуры +// } Фильтрация + +// { Статистика +&НаКлиенте +Процедура ТестДолжен_ПроверитьВРезультатеТестирования_ЗаполнениеСтатистики() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + УспешныйЭлемент = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "УспешныйМетод"); + ПадающийЭлемент = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "МетодПадающийПоУтверждению"); + ОтсутствующийЭлемент = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "ОтсутствующийМетод"); + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер"); + Контейнер.Строки.Добавить(УспешныйЭлемент); + Контейнер.Строки.Добавить(ПадающийЭлемент); + Контейнер.Строки.Добавить(ОтсутствующийЭлемент); + + Ожидаем.Что(КонтекстЯдра.ПолучитьКоличествоТестовыхМетодов(Контейнер), "Общее количество тестовых методов").Равно(Контейнер.Строки.Количество()); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Контейнер); + + Ожидаем.Что(РезультатТестирования.КоличествоТестов).Равно(Контейнер.Строки.Количество()); + Ожидаем.Что(РезультатТестирования.КоличествоСломанныхТестов).Равно(1); + Ожидаем.Что(РезультатТестирования.КоличествоНеРеализованныхТестов).Равно(1); + Ожидаем.Что(РезультатТестирования.ВремяВыполнения).Существует(); +КонецПроцедуры +// } Статистика + +// { Тесты с параметрами +&НаКлиенте +Процедура ТестДолжен_ПроверитьВыполнениеТеста_ОдинПараметр() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "ТестСложенияСОднимПараметром"); + Элемент1.Параметры.Добавить(Новый Структура("Значение1, Значение2, Результат", 1, 5, 6)); + + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "ТестСложенияСОднимПараметром"); + Элемент2.Параметры.Добавить(Новый Структура("Значение1, Значение2, Результат", "Раз", "-Два", "Раз-Два")); + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер"); + Контейнер.Строки.Добавить(Элемент1); + Контейнер.Строки.Добавить(Элемент2); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Контейнер); + + Ожидаем.Что(РезультатТестирования.Состояние, "Состояние всех результатов тестирования").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТестирования.КоличествоТестов).Равно(Контейнер.Строки.Количество()); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьВыполнениеТеста_НесколькоПараметров() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "ТестСложенияСНесколькимиПараметрами"); + Элемент1.Параметры.Добавить(1); + Элемент1.Параметры.Добавить(5); + Элемент1.Параметры.Добавить(6); + + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "ТестСложенияСНесколькимиПараметрами"); + Элемент2.Параметры.Добавить("Раз"); + Элемент2.Параметры.Добавить("-Два"); + Элемент2.Параметры.Добавить("Раз-Два"); + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер"); + Контейнер.Строки.Добавить(Элемент1); + Контейнер.Строки.Добавить(Элемент2); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Контейнер); + + Ожидаем.Что(РезультатТестирования.Состояние, "Состояние всех результатов тестирования").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТестирования.КоличествоТестов).Равно(Контейнер.Строки.Количество()); +КонецПроцедуры +// } Тесты с параметрами + +// { Режимы выполнения тестов (случайный и строгий) +&НаКлиенте +Процедура ТестДолжен_Проверить_ЧтоПоУмолчанию_ТестыВыполняютсяВСлучайномПорядке() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "УспешныйМетод"); + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "УспешныйМетод"); + Элемент3 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "УспешныйМетод"); + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер"); + Контейнер.Строки.Добавить(Элемент1); + Контейнер.Строки.Добавить(Элемент2); + Контейнер.Строки.Добавить(Элемент3); + + МаксимальноеКоличествоПопыток = 100; + Для Сч = 1 По МаксимальноеКоличествоПопыток Цикл + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Контейнер); + Если РезультатТестирования.Строки[0].Ключ <> Элемент1.Ключ Тогда + Прервать; + КонецЕсли; + КонецЦикла; + Ожидаем.Что(Сч, "Порядок в результатах тестирования должен отличаться от порядка в дереве тестов").Меньше(МаксимальноеКоличествоПопыток); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Проверить_ЧтоТестыВыполняютсяСтрогоПоПорядку() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "УспешныйМетод"); + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "УспешныйМетод"); + Элемент3 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "УспешныйМетод"); + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер"); + Контейнер.СлучайныйПорядокВыполнения = Ложь; + Контейнер.Строки.Добавить(Элемент1); + Контейнер.Строки.Добавить(Элемент2); + Контейнер.Строки.Добавить(Элемент3); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Контейнер); + + Ожидаем.Что(РезультатТестирования.Строки[0].Ключ, "Элемент1").Равно(Элемент1.Ключ); + Ожидаем.Что(РезультатТестирования.Строки[1].Ключ, "Элемент2").Равно(Элемент2.Ключ); + Ожидаем.Что(РезультатТестирования.Строки[2].Ключ, "Элемент3").Равно(Элемент3.Ключ); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Проверить_ЧтоПадениеОдногоТестаВКонтейнереСоСтрогимПорядком_ПриводитКПропускуОставшихсяШагов() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "УспешныйМетод"); + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "МетодПадающийПоУтверждению"); + Элемент3 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "УспешныйМетод"); + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер"); + Контейнер.СлучайныйПорядокВыполнения = Ложь; + Контейнер.Строки.Добавить(Элемент1); + Контейнер.Строки.Добавить(Элемент2); + Контейнер.Строки.Добавить(Элемент3); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Контейнер); + + Ожидаем.Что(РезультатТестирования.Строки).ИмеетДлину(2); + Ожидаем.Что(РезультатТестирования.Строки[1].Ключ, "Элемент2.Ключ").Равно(Элемент2.Ключ); + Ожидаем.Что(РезультатТестирования.Строки[1].Состояние, "Элемент2.Состояние").Равно(КонтекстЯдра.Объект.СостоянияТестов.Сломан); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Проверить_ЧтоПадениеОдногоТестаВКонтейнереСоСтрогимПорядком_ПриводитКПропускуДочернихКонтейнеров() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "УспешныйМетод"); + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "МетодПадающийПоУтверждению"); + Элемент3 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "УспешныйМетод"); + + ДочернийКонтейнер = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер"); + ДочернийКонтейнер.Строки.Добавить(Элемент3); + + Корень = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер"); + Корень.СлучайныйПорядокВыполнения = Ложь; + Корень.Строки.Добавить(Элемент1); + Корень.Строки.Добавить(Элемент2); + Корень.Строки.Добавить(ДочернийКонтейнер); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Корень); + + Ожидаем.Что(РезультатТестирования.Строки).ИмеетДлину(2); + Ожидаем.Что(РезультатТестирования.Строки[1].Ключ, "Элемент2.Ключ").Равно(Элемент2.Ключ); + Ожидаем.Что(РезультатТестирования.Строки[1].Состояние, "Элемент2.Состояние").Равно(КонтекстЯдра.Объект.СостоянияТестов.Сломан); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Проверить_ЧтоПадениеТестовВКонтейнереСоСлучайнымПорядком_НеВлияетНаДругиеТестовыеМетоды() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "УспешныйМетод"); + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "МетодПадающийПоУтверждению"); + Элемент3 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "УспешныйМетод"); + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер"); + Контейнер.Строки.Добавить(Элемент1); + Контейнер.Строки.Добавить(Элемент2); + Контейнер.Строки.Добавить(Элемент3); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Контейнер); + + Ожидаем.Что(РезультатТестирования.Строки).ИмеетДлину(3); +КонецПроцедуры +// } Режимы выполнения тестов (случайный и строгий) + +// { Передача контекста +&НаКлиенте +Процедура ТестДолжен_ПроверитьПередачуКонтекстаВЗависимыхТестах() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "ТестСохраняющийКонтекст_ПервоеЗначение"); + Элемент1.Параметры.Добавить(5); + + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), "ТестИспользующийКонтекст_СуммируетПервоеЗначениеВтороеЗначениеИПроверяетРезультат"); + Элемент2.Параметры.Добавить(7); + Элемент2.Параметры.Добавить(12); + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер"); + Контейнер.СлучайныйПорядокВыполнения = Ложь; + Контейнер.Строки.Добавить(Элемент1); + Контейнер.Строки.Добавить(Элемент2); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Контейнер); + + Ожидаем.Что(РезультатТестирования.Состояние, "Состояние всех результатов тестирования").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТестирования.КоличествоТестов).Равно(Контейнер.Строки.Количество()); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьЧтоСохранятьКонтекстМожноТолькоВРамкахКонтейнераСоСтрогимПорядкомВыполнения() Экспорт + // Ожидаем, что этот контейнер со случайным порядком выполнения + ОписаниеОшибки = ""; + Попытка + КонтекстЯдра.СохранитьКонтекст(Истина); + Исключение + ОписаниеОшибки = ОписаниеОшибки(); + КонецПопытки; + Ожидаем.Что(ОписаниеОшибки).Заполнено().Содержит(КонтекстЯдра.Объект.ВозможныеИсключения.СохранятьКонтекстТолькоВСтрогомРежиме); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьЧтоПолучатьКонтекстМожноТолькоВРамкахКонтейнераСоСтрогимПорядкомВыполнения() Экспорт + // Ожидаем, что этот контейнер со случайным порядком выполнения + ОписаниеОшибки = ""; + Попытка + КонтекстЯдра.ПолучитьКонтекст(); + Исключение + ОписаниеОшибки = ОписаниеОшибки(); + КонецПопытки; + Ожидаем.Что(ОписаниеОшибки).Заполнено().Содержит(КонтекстЯдра.Объект.ВозможныеИсключения.ПолучатьКонтекстТолькоВСтрогомРежиме); +КонецПроцедуры +// } Передача контекста + +// Методы нужные для тестов +&НаКлиенте +Функция ЗагрузчикЗаглушка() + Возврат ЭтаФорма; +КонецФункции + +&НаКлиенте +Функция ПолучитьКонтекстПоПути(КонтекстЯдра, Путь) Экспорт + Возврат ЭтаФорма; +КонецФункции + +&НаКлиенте +Процедура УспешныйМетод() Экспорт +КонецПроцедуры + +&НаКлиенте +Процедура МетодПадающийПоУтверждению() Экспорт + КонтекстЯдра.ВызватьОшибкуПроверки(ТекстИсключенияПадающегоТеста); + //ВызватьИсключение ТекстИсключенияПадающегоТеста; +КонецПроцедуры + +&НаКлиенте +Процедура ТестСложенияСОднимПараметром(Параметры) Экспорт + Ожидаем.Что(Параметры.Значение1 + Параметры.Значение2).Равно(Параметры.Результат); +КонецПроцедуры + +&НаКлиенте +Процедура ТестСложенияСНесколькимиПараметрами(Слагаемое1, Слагаемое2, Результат) Экспорт + Ожидаем.Что(Слагаемое1 + Слагаемое2).Равно(Результат); +КонецПроцедуры + +&НаКлиенте +Процедура ТестСохраняющийКонтекст_ПервоеЗначение(ПервоеЗначение) Экспорт + КонтекстЯдра.СохранитьКонтекст(ПервоеЗначение); +КонецПроцедуры + +&НаКлиенте +Процедура ТестИспользующийКонтекст_СуммируетПервоеЗначениеВтороеЗначениеИПроверяетРезультат(ВтороеЗначение, Результат) Экспорт + ПервоеЗначение = КонтекстЯдра.ПолучитьКонтекст(); + Ожидаем.Что(ПервоеЗначение + ВтороеЗначение).Равно(Результат); +КонецПроцедуры + +// { Helpers +&НаСервере +Функция ПолучитьИспользуемоеИмяФайла() + ОбъектНаСервере = РеквизитФормыВЗначение("Объект"); + + Возврат ОбъектНаСервере.ИспользуемоеИмяФайла; +КонецФункции +// } Helpers diff --git "a/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" new file mode 100644 index 00000000..409b8868 --- /dev/null +++ "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" @@ -0,0 +1,513 @@ +Перем КонтекстЯдра; +Перем Ожидаем; + +Перем ЭтоЗначениеЗаполняетсяПередЗапускомТеста; +Перем ЭтоЗначениеЗаполняетсяПослеЗапускаТеста; +Перем ТекстИсключенияПадающегоТеста; + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); +КонецПроцедуры + +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + НаборТестов.НачатьГруппу("Выполнение тестов"); + НаборТестов.Добавить("ТестДолжен_ПроверитьВызов_ПередЗапускомТеста"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРезультатТестированияУспешныйМетода"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРезультатТестированияПадающегоМетода"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРезультатТестированияОтсутствующегоМетода"); + НаборТестов.Добавить("ТестДолжен_ПроверитьВызов_ПослеЗапускаТеста"); + НаборТестов.Добавить("ТестДолжен_ПроверитьВызов_ПослеЗапускаТеста_УПадающегоТеста"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРезультатТеста_Когда_ПередЗапускаТеста_СОшибкой"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРезультатТеста_Когда_ПослеЗапускаТеста_СОшибкой"); + + НаборТестов.НачатьГруппу("Фильтрация"); + НаборТестов.Добавить("ТестДолжен_ПроверитьВыборочныйЗапускТестов_ФильтрЭлементов"); + НаборТестов.Добавить("ТестДолжен_ПроверитьВыборочныйЗапускТестов_ФильтрКонтейнеров"); + НаборТестов.Добавить("ТестДолжен_ПроверитьВыборочныйЗапускТестов_СмешанныйФильтр"); + + НаборТестов.НачатьГруппу("Статистика"); + НаборТестов.Добавить("ТестДолжен_ПроверитьВРезультатеТестирования_ЗаполнениеСтатистики"); + + НаборТестов.НачатьГруппу("Тесты с параметрами"); + НаборТестов.Добавить("ТестДолжен_ПроверитьВыполнениеТеста_ОдинПараметр"); + НаборТестов.Добавить("ТестДолжен_ПроверитьВыполнениеТеста_НесколькоПараметров"); + + НаборТестов.НачатьГруппу("Режимы выполнения тестов (случайный и строгий)"); + НаборТестов.Добавить("ТестДолжен_Проверить_ЧтоПоУмолчанию_ТестыВыполняютсяВСлучайномПорядке"); + НаборТестов.Добавить("ТестДолжен_Проверить_ЧтоТестыВыполняютсяСтрогоПоПорядку"); + НаборТестов.Добавить("ТестДолжен_Проверить_ЧтоПадениеОдногоТестаВКонтейнереСоСтрогимПорядком_ПриводитКПропускуОставшихсяШагов"); + НаборТестов.Добавить("ТестДолжен_Проверить_ЧтоПадениеОдногоТестаВКонтейнереСоСтрогимПорядком_ПриводитКПропускуДочернихКонтейнеров"); + НаборТестов.Добавить("ТестДолжен_Проверить_ЧтоПадениеТестовВКонтейнереСоСлучайнымПорядком_НеВлияетНаДругиеТестовыеМетоды"); + + НаборТестов.НачатьГруппу("Передача контекста"); + НаборТестов.Добавить("ТестДолжен_ПроверитьПередачуКонтекстаВЗависимыхТестах"); + НаборТестов.Добавить("ТестДолжен_ПроверитьЧтоСохранятьКонтекстМожноТолькоВРамкахКонтейнераСоСтрогимПорядкомВыполнения"); + НаборТестов.Добавить("ТестДолжен_ПроверитьЧтоПолучатьКонтекстМожноТолькоВРамкахКонтейнераСоСтрогимПорядкомВыполнения"); +КонецПроцедуры + +Процедура ПередЗапускомТеста() Экспорт + ЭтоЗначениеЗаполняетсяПередЗапускомТеста = Истина; + ЭтоЗначениеЗаполняетсяПослеЗапускаТеста = Неопределено; +КонецПроцедуры + +Процедура ПослеЗапускаТеста() Экспорт + ЭтоЗначениеЗаполняетсяПослеЗапускаТеста = Истина; +КонецПроцедуры + +Процедура ПередЗапускомТеста_СОшибкой() Экспорт + ВызватьИсключение "ПередЗапускомТеста_СОшибкой"; +КонецПроцедуры + +Процедура ПослеЗапускаТеста_СОшибкой() Экспорт + ВызватьИсключение "ПослеЗапускаТеста_СОшибкой"; +КонецПроцедуры + +// { Выполнение тестов +Процедура ТестДолжен_ПроверитьВызов_ПередЗапускомТеста() Экспорт + Ожидаем.Что(ЭтоЗначениеЗаполняетсяПередЗапускомТеста).ЭтоИстина(); +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРезультатТестированияУспешныйМетода() Экспорт + ДанныеУспешногоТеста = КонтекстЯдра.Плагин("ПостроительДереваТестов").СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "УспешныйМетод"); + РезультатТестирования = КонтекстЯдра.ВыполнитьТестовыйМетод(ЭтотОбъект, ДанныеУспешногоТеста); + + Ожидаем.Что(РезультатТестирования, "РезультатТестирования").ИмеетТип("Структура"); + Ожидаем.Что(РезультатТестирования.Путь, "РезультатТестирования.Путь").Равно(ДанныеУспешногоТеста.Путь); + Ожидаем.Что(РезультатТестирования.ИмяМетода, "РезультатТестирования.ИмяМетода").Равно(ДанныеУспешногоТеста.ИмяМетода); + Ожидаем.Что(РезультатТестирования.Состояние, "РезультатТестирования.Состояние").Равно(КонтекстЯдра.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТестирования.Сообщение, "РезультатТестирования.Сообщение").Равно(""); +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРезультатТестированияПадающегоМетода() Экспорт + ТекстИсключенияПадающегоТеста = "КАБУМ!!!"; + ДанныеПадающегоТеста = КонтекстЯдра.Плагин("ПостроительДереваТестов").СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "МетодПадающийПоУтверждению"); + РезультатТестирования = КонтекстЯдра.ВыполнитьТестовыйМетод(ЭтотОбъект, ДанныеПадающегоТеста); + + Ожидаем.Что(РезультатТестирования, "РезультатТестирования").ИмеетТип("Структура"); + Ожидаем.Что(РезультатТестирования.Путь, "РезультатТестирования.Путь").Равно(ДанныеПадающегоТеста.Путь); + Ожидаем.Что(РезультатТестирования.ИмяМетода, "РезультатТестирования.ИмяМетода").Равно(ДанныеПадающегоТеста.ИмяМетода); + Ожидаем.Что(РезультатТестирования.Состояние, "РезультатТестирования.Состояние").Равно(КонтекстЯдра.СостоянияТестов.Сломан); + Ожидаем.Что(РезультатТестирования.Сообщение, "РезультатТестирования.Сообщение").Содержит(ТекстИсключенияПадающегоТеста); +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРезультатТестированияОтсутствующегоМетода() Экспорт + ДанныеОтсутствующегоТеста = КонтекстЯдра.Плагин("ПостроительДереваТестов").СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "ОтсутствующийМетод"); + РезультатТестирования = КонтекстЯдра.ВыполнитьТестовыйМетод(ЭтотОбъект, ДанныеОтсутствующегоТеста); + + Ожидаем.Что(РезультатТестирования, "РезультатТестирования").ИмеетТип("Структура"); + Ожидаем.Что(РезультатТестирования.Путь, "РезультатТестирования.Путь").Равно(ДанныеОтсутствующегоТеста.Путь); + Ожидаем.Что(РезультатТестирования.ИмяМетода, "РезультатТестирования.ИмяМетода").Равно(ДанныеОтсутствующегоТеста.ИмяМетода); + Ожидаем.Что(РезультатТестирования.Состояние, "РезультатТестирования.Состояние").Равно(КонтекстЯдра.СостоянияТестов.НеРеализован); + Ожидаем.Что(РезультатТестирования.Сообщение, "РезультатТестирования.Сообщение").Содержит(ДанныеОтсутствующегоТеста.ИмяМетода); +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьВызов_ПослеЗапускаТеста() Экспорт + ДанныеУспешногоТеста = КонтекстЯдра.Плагин("ПостроительДереваТестов").СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "УспешныйМетод"); + РезультатТестирования = КонтекстЯдра.ВыполнитьТестовыйМетод(ЭтотОбъект, ДанныеУспешногоТеста); + + Ожидаем.Что(ЭтоЗначениеЗаполняетсяПослеЗапускаТеста).ЭтоИстина(); +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьВызов_ПослеЗапускаТеста_УПадающегоТеста() Экспорт + ДанныеПадающегоТеста = КонтекстЯдра.Плагин("ПостроительДереваТестов").СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "МетодПадающийПоУтверждению"); + РезультатТестирования = КонтекстЯдра.ВыполнитьТестовыйМетод(ЭтотОбъект, ДанныеПадающегоТеста); + + Ожидаем.Что(РезультатТестирования.Состояние).Равно(КонтекстЯдра.СостоянияТестов.Сломан); + Ожидаем.Что(ЭтоЗначениеЗаполняетсяПослеЗапускаТеста).ЭтоИстина(); +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРезультатТеста_Когда_ПередЗапускаТеста_СОшибкой() Экспорт + ДанныеУспешногоТеста = КонтекстЯдра.Плагин("ПостроительДереваТестов").СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "УспешныйМетод"); + ДанныеУспешногоТеста.ПередЗапускомТеста = "ПередЗапускомТеста_СОшибкой"; + + РезультатТестирования = КонтекстЯдра.ВыполнитьТестовыйМетод(ЭтотОбъект, ДанныеУспешногоТеста); + + Ожидаем.Что(РезультатТестирования.Состояние).Равно(КонтекстЯдра.СостоянияТестов.НеизвестнаяОшибка); +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРезультатТеста_Когда_ПослеЗапускаТеста_СОшибкой() Экспорт + ДанныеУспешногоТеста = КонтекстЯдра.Плагин("ПостроительДереваТестов").СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "УспешныйМетод"); + ДанныеУспешногоТеста.ПослеЗапускаТеста = "ПослеЗапускаТеста_СОшибкой"; + + РезультатТестирования = КонтекстЯдра.ВыполнитьТестовыйМетод(ЭтотОбъект, ДанныеУспешногоТеста); + + Ожидаем.Что(РезультатТестирования.Состояние).Равно(КонтекстЯдра.СостоянияТестов.НеизвестнаяОшибка); +КонецПроцедуры +// } Выполнение тестов + +// { Фильтрация +Процедура ТестДолжен_ПроверитьВыборочныйЗапускТестов_ФильтрЭлементов() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "УспешныйМетод"); + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "УспешныйМетод"); + Элемент3 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "УспешныйМетод"); + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер"); + Контейнер.Строки.Добавить(Элемент1); + Контейнер.Строки.Добавить(Элемент2); + Контейнер.Строки.Добавить(Элемент3); + + Фильтр = Новый Массив; + Фильтр.Добавить(Элемент2.Ключ); + Фильтр.Добавить(Элемент3.Ключ); + + Ожидаем.Что(КонтекстЯдра.ПолучитьКоличествоТестовыхМетодов(Контейнер, Фильтр), "Общее количество тестовых методов").Равно(Фильтр.Количество()); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Контейнер, Фильтр); + + Ожидаем.Что(РезультатТестирования.Состояние, "Контейнер").Равно(КонтекстЯдра.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТестирования.Строки.Количество(), "Количество тестовых методов").Равно(Фильтр.Количество()); + + РезультатТеста_Элемент1 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТестирования, Элемент1.Ключ); + Ожидаем.Что(РезультатТеста_Элемент1, "РезультатТеста_Элемент1").ЭтоНеопределено(); + + РезультатТеста_Элемент2 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТестирования, Элемент2.Ключ); + Ожидаем.Что(РезультатТеста_Элемент2.Ключ, "Тест2.Ключ").Равно(Элемент2.Ключ); + Ожидаем.Что(РезультатТеста_Элемент2.Состояние, "Тест2 Пройден").Равно(КонтекстЯдра.СостоянияТестов.Пройден); + + РезультатТеста_Элемент3 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТестирования, Элемент3.Ключ); + Ожидаем.Что(РезультатТеста_Элемент3.Ключ, "Тест3.Ключ").Равно(Элемент3.Ключ); + Ожидаем.Что(РезультатТеста_Элемент3.Состояние, "Тест3 Пройден").Равно(КонтекстЯдра.СостоянияТестов.Пройден); +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьВыборочныйЗапускТестов_ФильтрКонтейнеров() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "УспешныйМетод"); + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "УспешныйМетод"); + Элемент3 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "УспешныйМетод"); + + Контейнер1 = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер1"); + Контейнер1.Строки.Добавить(Элемент1); + + Контейнер2 = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер2"); + Контейнер2.Строки.Добавить(Элемент2); + + Контейнер3 = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер3"); + Контейнер3.Строки.Добавить(Элемент3); + + Корень = ПостроительДереваТестов.СоздатьКонтейнер("Корень"); + Корень.Строки.Добавить(Контейнер1); + Корень.Строки.Добавить(Контейнер2); + Корень.Строки.Добавить(Контейнер3); + + Фильтр = Новый Массив; + Фильтр.Добавить(Контейнер2.Ключ); + Фильтр.Добавить(Контейнер3.Ключ); + + Ожидаем.Что(КонтекстЯдра.ПолучитьКоличествоТестовыхМетодов(Корень, Фильтр), "Общее количество тестовых методов").Равно(2); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Корень, Фильтр); + + Ожидаем.Что(РезультатТестирования.Ключ, "Корень.Ключ").Равно(Корень.Ключ); + Ожидаем.Что(РезультатТестирования.Состояние, "Корень.Состояние").Равно(КонтекстЯдра.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТестирования.Строки.Количество(), "Количество дочерних узлов").Равно(Фильтр.Количество()); + + РезультатТеста_Контейнер1 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТестирования, Контейнер1.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер1, "РезультатТеста_Контейнер1").ЭтоНеопределено(); + + РезультатТеста_Контейнер2 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТестирования, Контейнер2.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер2.Ключ, "Контейнер2.Ключ").Равно(Контейнер2.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер2.Состояние, "Контейнер2.Состояние").Равно(КонтекстЯдра.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТеста_Контейнер2.Строки[0].Ключ, "Контейнер2.Элемент2.Ключ").Равно(Элемент2.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер2.Строки[0].Состояние, "Контейнер2.Элемент2.Состояние").Равно(КонтекстЯдра.СостоянияТестов.Пройден); + + РезультатТеста_Контейнер3 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТестирования, Контейнер3.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер3.Ключ, "Контейнер3.Ключ").Равно(Контейнер3.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер3.Состояние, "Контейнер2.Состояние").Равно(КонтекстЯдра.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТеста_Контейнер3.Строки[0].Ключ, "Контейнер3.Элемент3.Ключ").Равно(Элемент3.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер3.Строки[0].Состояние, "Контейнер3.Элемент3.Состояние").Равно(КонтекстЯдра.СостоянияТестов.Пройден); +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьВыборочныйЗапускТестов_СмешанныйФильтр() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "УспешныйМетод"); + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "УспешныйМетод"); + Элемент3 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "УспешныйМетод"); + + Контейнер1 = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер1"); + Контейнер1.Строки.Добавить(Элемент1); + Контейнер1.Строки.Добавить(Элемент2); + + Контейнер2 = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер2"); + Контейнер2.Строки.Добавить(Элемент3); + + Корень = ПостроительДереваТестов.СоздатьКонтейнер("Корень"); + Корень.Строки.Добавить(Контейнер1); + Корень.Строки.Добавить(Контейнер2); + + Фильтр = Новый Массив; + Фильтр.Добавить(Элемент2.Ключ); + Фильтр.Добавить(Контейнер2.Ключ); + + Ожидаем.Что(КонтекстЯдра.ПолучитьКоличествоТестовыхМетодов(Корень, Фильтр), "Общее количество тестовых методов").Равно(2); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Корень, Фильтр); + + Ожидаем.Что(РезультатТестирования.Ключ, "Корень.Ключ").Равно(Корень.Ключ); + Ожидаем.Что(РезультатТестирования.Состояние, "Корень.Состояние").Равно(КонтекстЯдра.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТестирования.Строки.Количество(), "Количество дочерних узлов").Равно(2); + + РезультатТеста_Контейнер1 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТестирования, Контейнер1.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер1.Ключ, "Контейнер1.Ключ").Равно(Контейнер1.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер1.Состояние, "Контейнер1.Состояние").Равно(КонтекстЯдра.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТеста_Контейнер1.Строки.Количество(), "Контейнер1 количество дочерних узлов").Равно(1); + РезультатТеста_Элемент1 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТеста_Контейнер1, Элемент1.Ключ); + Ожидаем.Что(РезультатТеста_Элемент1, "РезультатТеста_Элемент1").ЭтоНеопределено(); + РезультатТеста_Элемент2 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТеста_Контейнер1, Элемент2.Ключ); + Ожидаем.Что(РезультатТеста_Элемент2.Ключ, "Контейнер1.Элемент2.Ключ").Равно(Элемент2.Ключ); + Ожидаем.Что(РезультатТеста_Элемент2.Состояние, "Контейнер1.Элемент2.Состояние").Равно(КонтекстЯдра.СостоянияТестов.Пройден); + + РезультатТеста_Контейнер2 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТестирования, Контейнер2.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер2.Ключ, "Контейнер2.Ключ").Равно(Контейнер2.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер2.Состояние, "Контейнер2.Состояние").Равно(КонтекстЯдра.СостоянияТестов.Пройден); + РезультатТеста_Элемент3 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТеста_Контейнер2, Элемент3.Ключ); + Ожидаем.Что(РезультатТеста_Элемент3.Ключ, "Контейнер2.Элемент3.Ключ").Равно(Элемент3.Ключ); + Ожидаем.Что(РезультатТеста_Элемент3.Состояние, "Контейнер2.Элемент3.Состояние").Равно(КонтекстЯдра.СостоянияТестов.Пройден); +КонецПроцедуры +// } Фильтрация + +// { Статистика +Процедура ТестДолжен_ПроверитьВРезультатеТестирования_ЗаполнениеСтатистики() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + УспешныйЭлемент = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "УспешныйМетод"); + ПадающийЭлемент = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "МетодПадающийПоУтверждению"); + ОтсутствующийЭлемент = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "ОтсутствующийМетод"); + ОшибочныйЭлемент = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "МетодПадающийПоНеизвестнойОшибке"); + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер"); + Контейнер.Строки.Добавить(УспешныйЭлемент); + Контейнер.Строки.Добавить(ПадающийЭлемент); + Контейнер.Строки.Добавить(ОтсутствующийЭлемент); + Контейнер.Строки.Добавить(ОшибочныйЭлемент); + + Ожидаем.Что(КонтекстЯдра.ПолучитьКоличествоТестовыхМетодов(Контейнер), "Общее количество тестовых методов").Равно(Контейнер.Строки.Количество()); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Контейнер); + + Ожидаем.Что(РезультатТестирования.КоличествоТестов).Равно(Контейнер.Строки.Количество()); + Ожидаем.Что(РезультатТестирования.КоличествоСломанныхТестов).Равно(1); + Ожидаем.Что(РезультатТестирования.КоличествоНеРеализованныхТестов).Равно(1); + Ожидаем.Что(РезультатТестирования.КоличествоОшибочныхТестов).Равно(1); + Ожидаем.Что(РезультатТестирования.ВремяВыполнения).Существует(); +КонецПроцедуры +// } Статистика + +// { Тесты с параметрами +Процедура ТестДолжен_ПроверитьВыполнениеТеста_ОдинПараметр() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "ТестСложенияСОднимПараметром"); + Элемент1.Параметры.Добавить(Новый Структура("Значение1, Значение2, Результат", 1, 5, 6)); + + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "ТестСложенияСОднимПараметром"); + Элемент2.Параметры.Добавить(Новый Структура("Значение1, Значение2, Результат", "Раз", "-Два", "Раз-Два")); + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер"); + Контейнер.Строки.Добавить(Элемент1); + Контейнер.Строки.Добавить(Элемент2); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Контейнер); + + Ожидаем.Что(РезультатТестирования.Состояние, "Состояние всех результатов тестирования").Равно(КонтекстЯдра.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТестирования.КоличествоТестов).Равно(Контейнер.Строки.Количество()); +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьВыполнениеТеста_НесколькоПараметров() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "ТестСложенияСНесколькимиПараметрами"); + Элемент1.Параметры.Добавить(1); + Элемент1.Параметры.Добавить(5); + Элемент1.Параметры.Добавить(6); + + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "ТестСложенияСНесколькимиПараметрами"); + Элемент2.Параметры.Добавить("Раз"); + Элемент2.Параметры.Добавить("-Два"); + Элемент2.Параметры.Добавить("Раз-Два"); + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер"); + Контейнер.Строки.Добавить(Элемент1); + Контейнер.Строки.Добавить(Элемент2); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Контейнер); + + Ожидаем.Что(РезультатТестирования.Состояние, "Состояние всех результатов тестирования").Равно(КонтекстЯдра.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТестирования.КоличествоТестов).Равно(Контейнер.Строки.Количество()); +КонецПроцедуры +// } Тесты с параметрами + +// { Режимы выполнения тестов (случайный и строгий) +Процедура ТестДолжен_Проверить_ЧтоПоУмолчанию_ТестыВыполняютсяВСлучайномПорядке() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "УспешныйМетод"); + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "УспешныйМетод"); + Элемент3 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "УспешныйМетод"); + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер"); + Контейнер.Строки.Добавить(Элемент1); + Контейнер.Строки.Добавить(Элемент2); + Контейнер.Строки.Добавить(Элемент3); + + МаксимальноеКоличествоПопыток = 100; + Для Сч = 1 По МаксимальноеКоличествоПопыток Цикл + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Контейнер); + Если РезультатТестирования.Строки[0].Ключ <> Элемент1.Ключ Тогда + Прервать; + КонецЕсли; + КонецЦикла; + Ожидаем.Что(Сч, "Порядок в результатах тестирования должен отличаться от порядка в дереве тестов").Меньше(МаксимальноеКоличествоПопыток); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_ЧтоТестыВыполняютсяСтрогоПоПорядку() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "УспешныйМетод"); + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "УспешныйМетод"); + Элемент3 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "УспешныйМетод"); + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер"); + Контейнер.СлучайныйПорядокВыполнения = Ложь; + Контейнер.Строки.Добавить(Элемент1); + Контейнер.Строки.Добавить(Элемент2); + Контейнер.Строки.Добавить(Элемент3); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Контейнер); + + Ожидаем.Что(РезультатТестирования.Строки[0].Ключ, "Элемент1").Равно(Элемент1.Ключ); + Ожидаем.Что(РезультатТестирования.Строки[1].Ключ, "Элемент2").Равно(Элемент2.Ключ); + Ожидаем.Что(РезультатТестирования.Строки[2].Ключ, "Элемент3").Равно(Элемент3.Ключ); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_ЧтоПадениеОдногоТестаВКонтейнереСоСтрогимПорядком_ПриводитКПропускуОставшихсяШагов() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "УспешныйМетод"); + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "МетодПадающийПоУтверждению"); + Элемент3 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "УспешныйМетод"); + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер"); + Контейнер.СлучайныйПорядокВыполнения = Ложь; + Контейнер.Строки.Добавить(Элемент1); + Контейнер.Строки.Добавить(Элемент2); + Контейнер.Строки.Добавить(Элемент3); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Контейнер); + + Ожидаем.Что(РезультатТестирования.Строки).ИмеетДлину(2); + Ожидаем.Что(РезультатТестирования.Строки[0].Ключ, "Элемент1.Ключ").Равно(Элемент1.Ключ); + Ожидаем.Что(РезультатТестирования.Строки[0].Состояние, "Элемент1.Состояние").Равно(КонтекстЯдра.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТестирования.Строки[1].Ключ, "Элемент2.Ключ").Равно(Элемент2.Ключ); + Ожидаем.Что(РезультатТестирования.Строки[1].Состояние, "Элемент2.Состояние").Равно(КонтекстЯдра.СостоянияТестов.Сломан); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_ЧтоПадениеОдногоТестаВКонтейнереСоСтрогимПорядком_ПриводитКПропускуДочернихКонтейнеров() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "УспешныйМетод"); + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "МетодПадающийПоУтверждению"); + Элемент3 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "УспешныйМетод"); + + ДочернийКонтейнер = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер"); + ДочернийКонтейнер.Строки.Добавить(Элемент3); + + Корень = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер"); + Корень.СлучайныйПорядокВыполнения = Ложь; + Корень.Строки.Добавить(Элемент1); + Корень.Строки.Добавить(Элемент2); + Корень.Строки.Добавить(ДочернийКонтейнер); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Корень); + + Ожидаем.Что(РезультатТестирования.Строки).ИмеетДлину(2); + Ожидаем.Что(РезультатТестирования.Строки[1].Ключ, "Элемент2.Ключ").Равно(Элемент2.Ключ); + Ожидаем.Что(РезультатТестирования.Строки[1].Состояние, "Элемент2.Состояние").Равно(КонтекстЯдра.СостоянияТестов.Сломан); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_ЧтоПадениеТестовВКонтейнереСоСлучайнымПорядком_НеВлияетНаДругиеТестовыеМетоды() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "УспешныйМетод"); + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "МетодПадающийПоУтверждению"); + Элемент3 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "УспешныйМетод"); + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер"); + Контейнер.Строки.Добавить(Элемент1); + Контейнер.Строки.Добавить(Элемент2); + Контейнер.Строки.Добавить(Элемент3); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Контейнер); + + Ожидаем.Что(РезультатТестирования.Строки).ИмеетДлину(3); +КонецПроцедуры +// } Режимы выполнения тестов (случайный и строгий) + +// { Передача контекста +Процедура ТестДолжен_ПроверитьПередачуКонтекстаВЗависимыхТестах() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "ТестСохраняющийКонтекст_ПервоеЗначение"); + Элемент1.Параметры.Добавить(5); + + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "ТестИспользующийКонтекст_СуммируетПервоеЗначениеВтороеЗначениеИПроверяетРезультат"); + Элемент2.Параметры.Добавить(7); + Элемент2.Параметры.Добавить(12); + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер"); + Контейнер.СлучайныйПорядокВыполнения = Ложь; + Контейнер.Строки.Добавить(Элемент1); + Контейнер.Строки.Добавить(Элемент2); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Контейнер); + + Ожидаем.Что(РезультатТестирования.Состояние, "Состояние всех результатов тестирования").Равно(КонтекстЯдра.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТестирования.КоличествоТестов).Равно(Контейнер.Строки.Количество()); +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьЧтоСохранятьКонтекстМожноТолькоВРамкахКонтейнераСоСтрогимПорядкомВыполнения() Экспорт + // Ожидаем, что этот контейнер со случайным порядком выполнения + Ожидаем.Что(КонтекстЯдра) + .Метод("СохранитьКонтекст", КонтекстЯдра.ПараметрыМетода(Истина)) + .ВыбрасываетИсключение(КонтекстЯдра.ВозможныеИсключения.СохранятьКонтекстТолькоВСтрогомРежиме); +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьЧтоПолучатьКонтекстМожноТолькоВРамкахКонтейнераСоСтрогимПорядкомВыполнения() Экспорт + // Ожидаем, что этот контейнер со случайным порядком выполнения + Ожидаем.Что(КонтекстЯдра) + .Метод("ПолучитьКонтекст") + .ВыбрасываетИсключение(КонтекстЯдра.ВозможныеИсключения.ПолучатьКонтекстТолькоВСтрогомРежиме); +КонецПроцедуры +// } Передача контекста + +// Методы нужные для тестов +Функция ЗагрузчикЗаглушка() + Возврат ЭтотОбъект; +КонецФункции + +Функция ПолучитьКонтекстПоПути(КонтекстЯдра, Путь) Экспорт + Возврат ЭтотОбъект; +КонецФункции + +Процедура УспешныйМетод() Экспорт +КонецПроцедуры + +Процедура МетодПадающийПоУтверждению() Экспорт + КонтекстЯдра.ВызватьОшибкуПроверки(ТекстИсключенияПадающегоТеста); +КонецПроцедуры + +Процедура МетодПадающийПоНеизвестнойОшибке() Экспорт + ВызватьИсключение "Ошибка!!!"; +КонецПроцедуры + +Процедура ТестСложенияСОднимПараметром(Параметры) Экспорт + Ожидаем.Что(Параметры.Значение1 + Параметры.Значение2).Равно(Параметры.Результат); +КонецПроцедуры + +Процедура ТестСложенияСНесколькимиПараметрами(Слагаемое1, Слагаемое2, Результат) Экспорт + Ожидаем.Что(Слагаемое1 + Слагаемое2).Равно(Результат); +КонецПроцедуры + +Процедура ТестСохраняющийКонтекст_ПервоеЗначение(ПервоеЗначение) Экспорт + КонтекстЯдра.СохранитьКонтекст(ПервоеЗначение); +КонецПроцедуры + +Процедура ТестИспользующийКонтекст_СуммируетПервоеЗначениеВтороеЗначениеИПроверяетРезультат(ВтороеЗначение, Результат) Экспорт + ПервоеЗначение = КонтекстЯдра.ПолучитьКонтекст(); + Ожидаем.Что(ПервоеЗначение + ВтороеЗначение).Равно(Результат); +КонецПроцедуры diff --git "a/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" new file mode 100644 index 00000000..ffe7d44e --- /dev/null +++ "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" @@ -0,0 +1,11 @@ +a31e3430-60a3-4301-a1fd-1f37bd23d7a2.0\info-->und\a31e3430-60a3-4301-a1fd-1f37bd23d7a2.0\info +a31e3430-60a3-4301-a1fd-1f37bd23d7a2.0\text-->ObjectModule.txt +b414f1d2-8dfc-4870-bc3d-6ba92ce89edc-->und\b414f1d2-8dfc-4870-bc3d-6ba92ce89edc +copyinfo-->und\copyinfo +e5fbc1d4-eed7-46d9-a13c-452a58fe1608-->und\e5fbc1d4-eed7-46d9-a13c-452a58fe1608 +e5fbc1d4-eed7-46d9-a13c-452a58fe1608.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\Core\Тесты_ВыполнениеТестов\Form\Форма\Форма.txt +e5fbc1d4-eed7-46d9-a13c-452a58fe1608.0-->und\e5fbc1d4-eed7-46d9-a13c-452a58fe1608.0 +e5fbc1d4-eed7-46d9-a13c-452a58fe1608.0-->und\e5fbc1d4-eed7-46d9-a13c-452a58fe1608.0 +root-->und\root +version-->und\version +versions-->und\versions diff --git a/src/Tests/Gui83/UILogToScript/und/6344d70f-6d22-465c-b456-63013e6bc378.0/info "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/und/a31e3430-60a3-4301-a1fd-1f37bd23d7a2.0/info" similarity index 100% rename from src/Tests/Gui83/UILogToScript/und/6344d70f-6d22-465c-b456-63013e6bc378.0/info rename to "src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/und/a31e3430-60a3-4301-a1fd-1f37bd23d7a2.0/info" diff --git "a/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/und/b414f1d2-8dfc-4870-bc3d-6ba92ce89edc" "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/und/b414f1d2-8dfc-4870-bc3d-6ba92ce89edc" new file mode 100644 index 00000000..f3edb1c2 --- /dev/null +++ "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/und/b414f1d2-8dfc-4870-bc3d-6ba92ce89edc" @@ -0,0 +1,17 @@ +{1, +{b414f1d2-8dfc-4870-bc3d-6ba92ce89edc},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,a1dae8d7-6476-46f6-a931-9ebaa399f991,e33aedd5-0e61-40c2-8aea-e449bd57c38d, +{0, +{0, +{0,0,a31e3430-60a3-4301-a1fd-1f37bd23d7a2},"Тесты_ВыполнениеТестов", +{1,"ru","Тесты выполнение тестов"},""} +},e5fbc1d4-eed7-46d9-a13c-452a58fe1608,"",00000000-0000-0000-0000-000000000000},4, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, +{3daea016-69b7-4ed4-9453-127911372fe6,0}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,e5fbc1d4-eed7-46d9-a13c-452a58fe1608}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} +} +} +} \ No newline at end of file diff --git "a/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/und/copyinfo" "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/und/copyinfo" new file mode 100644 index 00000000..07638622 --- /dev/null +++ "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/und/copyinfo" @@ -0,0 +1,16 @@ +{4, +{2, +{a31e3430-60a3-4301-a1fd-1f37bd23d7a2,a31e3430-60a3-4301-a1fd-1f37bd23d7a2,1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"Тесты_ВыполнениеТестов"} +}, +{e5fbc1d4-eed7-46d9-a13c-452a58fe1608,e5fbc1d4-eed7-46d9-a13c-452a58fe1608,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} +} +}, +{1, +{a1dae8d7-6476-46f6-a931-9ebaa399f991,a31e3430-60a3-4301-a1fd-1f37bd23d7a2,0} +}, +{0}, +{0,0}, +{0} +} \ No newline at end of file diff --git "a/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/und/e5fbc1d4-eed7-46d9-a13c-452a58fe1608" "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/und/e5fbc1d4-eed7-46d9-a13c-452a58fe1608" new file mode 100644 index 00000000..e813bec9 --- /dev/null +++ "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/und/e5fbc1d4-eed7-46d9-a13c-452a58fe1608" @@ -0,0 +1,10 @@ +{1, +{1, +{0, +{9, +{0, +{0,0,e5fbc1d4-eed7-46d9-a13c-452a58fe1608},"Форма", +{1,"ru","Форма"},""},0,1}, +{0} +} +},0} \ No newline at end of file diff --git "a/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/und/e5fbc1d4-eed7-46d9-a13c-452a58fe1608.0" "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/und/e5fbc1d4-eed7-46d9-a13c-452a58fe1608.0" new file mode 100644 index 00000000..73612e1f --- /dev/null +++ "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/und/e5fbc1d4-eed7-46d9-a13c-452a58fe1608.0" @@ -0,0 +1,631 @@ +{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}, +{0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},0,0,1} +},"&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Ожидаем; + +&НаКлиенте +Перем ЭтоЗначениеЗаполняетсяПередЗапускомТеста; +&НаКлиенте +Перем ЭтоЗначениеЗаполняетсяПослеЗапускаТеста; +&НаКлиенте +Перем ТекстИсключенияПадающегоТеста; + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин(""УтвержденияBDD""); +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + НаборТестов.НачатьГруппу(""Выполнение тестов""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьВызов_ПередЗапускомТеста""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьРезультатТестированияУспешныйМетода""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьРезультатТестированияПадающегоМетода""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьРезультатТестированияОтсутствующегоМетода""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьВызов_ПослеЗапускаТеста""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьВызов_ПослеЗапускаТеста_УПадающегоТеста""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьРезультатТеста_Когда_ПередЗапускаТеста_СОшибкой""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьРезультатТеста_Когда_ПослеЗапускаТеста_СОшибкой""); + + НаборТестов.НачатьГруппу(""Фильтрация""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьВыборочныйЗапускТестов_ФильтрЭлементов""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьВыборочныйЗапускТестов_ФильтрКонтейнеров""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьВыборочныйЗапускТестов_СмешанныйФильтр""); + + НаборТестов.НачатьГруппу(""Статистика""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьВРезультатеТестирования_ЗаполнениеСтатистики""); + + НаборТестов.НачатьГруппу(""Тесты с параметрами""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьВыполнениеТеста_ОдинПараметр""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьВыполнениеТеста_НесколькоПараметров""); + + НаборТестов.НачатьГруппу(""Режимы выполнения тестов (случайный и строгий)""); + НаборТестов.Добавить(""ТестДолжен_Проверить_ЧтоПоУмолчанию_ТестыВыполняютсяВСлучайномПорядке""); + НаборТестов.Добавить(""ТестДолжен_Проверить_ЧтоТестыВыполняютсяСтрогоПоПорядку""); + НаборТестов.Добавить(""ТестДолжен_Проверить_ЧтоПадениеОдногоТестаВКонтейнереСоСтрогимПорядком_ПриводитКПропускуОставшихсяШагов""); + НаборТестов.Добавить(""ТестДолжен_Проверить_ЧтоПадениеОдногоТестаВКонтейнереСоСтрогимПорядком_ПриводитКПропускуДочернихКонтейнеров""); + НаборТестов.Добавить(""ТестДолжен_Проверить_ЧтоПадениеТестовВКонтейнереСоСлучайнымПорядком_НеВлияетНаДругиеТестовыеМетоды""); + + НаборТестов.НачатьГруппу(""Передача контекста""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьПередачуКонтекстаВЗависимыхТестах""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьЧтоСохранятьКонтекстМожноТолькоВРамкахКонтейнераСоСтрогимПорядкомВыполнения""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьЧтоПолучатьКонтекстМожноТолькоВРамкахКонтейнераСоСтрогимПорядкомВыполнения""); +КонецПроцедуры + +&НаКлиенте +Процедура ПередЗапускомТеста() Экспорт + ЭтоЗначениеЗаполняетсяПередЗапускомТеста = Истина; + ЭтоЗначениеЗаполняетсяПослеЗапускаТеста = Неопределено; +КонецПроцедуры + +&НаКлиенте +Процедура ПослеЗапускаТеста() Экспорт + ЭтоЗначениеЗаполняетсяПослеЗапускаТеста = Истина; +КонецПроцедуры + +&НаКлиенте +Процедура ПередЗапускомТеста_СОшибкой() Экспорт + ВызватьИсключение ""ПередЗапускомТеста_СОшибкой""; +КонецПроцедуры + +&НаКлиенте +Процедура ПослеЗапускаТеста_СОшибкой() Экспорт + ВызватьИсключение ""ПослеЗапускаТеста_СОшибкой""; +КонецПроцедуры + + +// { Выполнение тестов +&НаКлиенте +Процедура ТестДолжен_ПроверитьВызов_ПередЗапускомТеста() Экспорт + Ожидаем.Что(ЭтоЗначениеЗаполняетсяПередЗапускомТеста).ЭтоИстина(); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРезультатТестированияУспешныйМетода() Экспорт + ДанныеУспешногоТеста = КонтекстЯдра.Плагин(""ПостроительДереваТестов"").СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""УспешныйМетод""); + РезультатТестирования = КонтекстЯдра.ВыполнитьТестовыйМетодНаКлиенте(ЭтаФорма, ДанныеУспешногоТеста); + + Ожидаем.Что(РезультатТестирования, ""РезультатТестирования"").ИмеетТип(""Структура""); + Ожидаем.Что(РезультатТестирования.Путь, ""РезультатТестирования.Путь"").Равно(ДанныеУспешногоТеста.Путь); + Ожидаем.Что(РезультатТестирования.ИмяМетода, ""РезультатТестирования.ИмяМетода"").Равно(ДанныеУспешногоТеста.ИмяМетода); + Ожидаем.Что(РезультатТестирования.Состояние, ""РезультатТестирования.Состояние"").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТестирования.Сообщение, ""РезультатТестирования.Сообщение"").Равно(""""); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРезультатТестированияПадающегоМетода() Экспорт + ТекстИсключенияПадающегоТеста = ""КАБУМ!!!""; + ДанныеПадающегоТеста = КонтекстЯдра.Плагин(""ПостроительДереваТестов"").СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""МетодПадающийПоУтверждению""); + РезультатТестирования = КонтекстЯдра.ВыполнитьТестовыйМетодНаКлиенте(ЭтаФорма, ДанныеПадающегоТеста); + + Ожидаем.Что(РезультатТестирования, ""РезультатТестирования"").ИмеетТип(""Структура""); + Ожидаем.Что(РезультатТестирования.Путь, ""РезультатТестирования.Путь"").Равно(ДанныеПадающегоТеста.Путь); + Ожидаем.Что(РезультатТестирования.ИмяМетода, ""РезультатТестирования.ИмяМетода"").Равно(ДанныеПадающегоТеста.ИмяМетода); + Ожидаем.Что(РезультатТестирования.Состояние, ""РезультатТестирования.Состояние"").Равно(КонтекстЯдра.Объект.СостоянияТестов.Сломан); + Ожидаем.Что(РезультатТестирования.Сообщение, ""РезультатТестирования.Сообщение"").Содержит(ТекстИсключенияПадающегоТеста); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРезультатТестированияОтсутствующегоМетода() Экспорт + ДанныеОтсутствующегоТеста = КонтекстЯдра.Плагин(""ПостроительДереваТестов"").СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""ОтсутствующийМетод""); + РезультатТестирования = КонтекстЯдра.ВыполнитьТестовыйМетодНаКлиенте(ЭтаФорма, ДанныеОтсутствующегоТеста); + + Ожидаем.Что(РезультатТестирования, ""РезультатТестирования"").ИмеетТип(""Структура""); + Ожидаем.Что(РезультатТестирования.Путь, ""РезультатТестирования.Путь"").Равно(ДанныеОтсутствующегоТеста.Путь); + Ожидаем.Что(РезультатТестирования.ИмяМетода, ""РезультатТестирования.ИмяМетода"").Равно(ДанныеОтсутствующегоТеста.ИмяМетода); + Ожидаем.Что(РезультатТестирования.Состояние, ""РезультатТестирования.Состояние"").Равно(КонтекстЯдра.Объект.СостоянияТестов.НеРеализован); + Ожидаем.Что(РезультатТестирования.Сообщение, ""РезультатТестирования.Сообщение"").Содержит(ДанныеОтсутствующегоТеста.ИмяМетода); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьВызов_ПослеЗапускаТеста() Экспорт + ДанныеУспешногоТеста = КонтекстЯдра.Плагин(""ПостроительДереваТестов"").СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""УспешныйМетод""); + РезультатТестирования = КонтекстЯдра.ВыполнитьТестовыйМетодНаКлиенте(ЭтаФорма, ДанныеУспешногоТеста); + + Ожидаем.Что(ЭтоЗначениеЗаполняетсяПослеЗапускаТеста).ЭтоИстина(); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьВызов_ПослеЗапускаТеста_УПадающегоТеста() Экспорт + ДанныеПадающегоТеста = КонтекстЯдра.Плагин(""ПостроительДереваТестов"").СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""МетодПадающийПоУтверждению""); + РезультатТестирования = КонтекстЯдра.ВыполнитьТестовыйМетодНаКлиенте(ЭтаФорма, ДанныеПадающегоТеста); + + Ожидаем.Что(РезультатТестирования.Состояние).Равно(КонтекстЯдра.Объект.СостоянияТестов.Сломан); + Ожидаем.Что(ЭтоЗначениеЗаполняетсяПослеЗапускаТеста).ЭтоИстина(); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРезультатТеста_Когда_ПередЗапускаТеста_СОшибкой() Экспорт + ДанныеУспешногоТеста = КонтекстЯдра.Плагин(""ПостроительДереваТестов"").СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""УспешныйМетод""); + ДанныеУспешногоТеста.ПередЗапускомТеста = ""ПередЗапускомТеста_СОшибкой""; + + РезультатТестирования = КонтекстЯдра.ВыполнитьТестовыйМетодНаКлиенте(ЭтаФорма, ДанныеУспешногоТеста); + + Ожидаем.Что(РезультатТестирования.Состояние).Равно(КонтекстЯдра.Объект.СостоянияТестов.НеизвестнаяОшибка); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРезультатТеста_Когда_ПослеЗапускаТеста_СОшибкой() Экспорт + ДанныеУспешногоТеста = КонтекстЯдра.Плагин(""ПостроительДереваТестов"").СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""УспешныйМетод""); + ДанныеУспешногоТеста.ПослеЗапускаТеста = ""ПослеЗапускаТеста_СОшибкой""; + + РезультатТестирования = КонтекстЯдра.ВыполнитьТестовыйМетодНаКлиенте(ЭтаФорма, ДанныеУспешногоТеста); + + Ожидаем.Что(РезультатТестирования.Состояние).Равно(КонтекстЯдра.Объект.СостоянияТестов.НеизвестнаяОшибка); +КонецПроцедуры +// } Выполнение тестов + +// { Фильтрация +&НаКлиенте +Процедура ТестДолжен_ПроверитьВыборочныйЗапускТестов_ФильтрЭлементов() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин(""ПостроительДереваТестов""); + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""УспешныйМетод""); + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""УспешныйМетод""); + Элемент3 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""УспешныйМетод""); + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер(""Контейнер""); + Контейнер.Строки.Добавить(Элемент1); + Контейнер.Строки.Добавить(Элемент2); + Контейнер.Строки.Добавить(Элемент3); + + Фильтр = Новый Массив; + Фильтр.Добавить(Элемент2.Ключ); + Фильтр.Добавить(Элемент3.Ключ); + + Ожидаем.Что(КонтекстЯдра.ПолучитьКоличествоТестовыхМетодов(Контейнер, Фильтр), ""Общее количество тестовых методов"").Равно(Фильтр.Количество()); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Контейнер, Фильтр); + + Ожидаем.Что(РезультатТестирования.Состояние, ""Контейнер"").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТестирования.Строки.Количество(), ""Количество тестовых методов"").Равно(Фильтр.Количество()); + + РезультатТеста_Элемент1 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТестирования, Элемент1.Ключ); + Ожидаем.Что(РезультатТеста_Элемент1, ""РезультатТеста_Элемент1"").ЭтоНеопределено(); + + РезультатТеста_Элемент2 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТестирования, Элемент2.Ключ); + Ожидаем.Что(РезультатТеста_Элемент2.Ключ, ""Тест2.Ключ"").Равно(Элемент2.Ключ); + Ожидаем.Что(РезультатТеста_Элемент2.Состояние, ""Тест2 Пройден"").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); + + РезультатТеста_Элемент3 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТестирования, Элемент3.Ключ); + Ожидаем.Что(РезультатТеста_Элемент3.Ключ, ""Тест3.Ключ"").Равно(Элемент3.Ключ); + Ожидаем.Что(РезультатТеста_Элемент3.Состояние, ""Тест3 Пройден"").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьВыборочныйЗапускТестов_ФильтрКонтейнеров() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин(""ПостроительДереваТестов""); + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""УспешныйМетод""); + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""УспешныйМетод""); + Элемент3 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""УспешныйМетод""); + + Контейнер1 = ПостроительДереваТестов.СоздатьКонтейнер(""Контейнер1""); + Контейнер1.Строки.Добавить(Элемент1); + + Контейнер2 = ПостроительДереваТестов.СоздатьКонтейнер(""Контейнер2""); + Контейнер2.Строки.Добавить(Элемент2); + + Контейнер3 = ПостроительДереваТестов.СоздатьКонтейнер(""Контейнер3""); + Контейнер3.Строки.Добавить(Элемент3); + + Корень = ПостроительДереваТестов.СоздатьКонтейнер(""Корень""); + Корень.Строки.Добавить(Контейнер1); + Корень.Строки.Добавить(Контейнер2); + Корень.Строки.Добавить(Контейнер3); + + Фильтр = Новый Массив; + Фильтр.Добавить(Контейнер2.Ключ); + Фильтр.Добавить(Контейнер3.Ключ); + + Ожидаем.Что(КонтекстЯдра.ПолучитьКоличествоТестовыхМетодов(Корень, Фильтр), ""Общее количество тестовых методов"").Равно(2); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Корень, Фильтр); + + Ожидаем.Что(РезультатТестирования.Ключ, ""Корень.Ключ"").Равно(Корень.Ключ); + Ожидаем.Что(РезультатТестирования.Состояние, ""Корень.Состояние"").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТестирования.Строки.Количество(), ""Количество дочерних узлов"").Равно(Фильтр.Количество()); + + РезультатТеста_Контейнер1 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТестирования, Контейнер1.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер1, ""РезультатТеста_Контейнер1"").ЭтоНеопределено(); + + РезультатТеста_Контейнер2 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТестирования, Контейнер2.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер2.Ключ, ""Контейнер2.Ключ"").Равно(Контейнер2.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер2.Состояние, ""Контейнер2.Состояние"").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТеста_Контейнер2.Строки[0].Ключ, ""Контейнер2.Элемент2.Ключ"").Равно(Элемент2.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер2.Строки[0].Состояние, ""Контейнер2.Элемент2.Состояние"").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); + + РезультатТеста_Контейнер3 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТестирования, Контейнер3.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер3.Ключ, ""Контейнер3.Ключ"").Равно(Контейнер3.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер3.Состояние, ""Контейнер2.Состояние"").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТеста_Контейнер3.Строки[0].Ключ, ""Контейнер3.Элемент3.Ключ"").Равно(Элемент3.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер3.Строки[0].Состояние, ""Контейнер3.Элемент3.Состояние"").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьВыборочныйЗапускТестов_СмешанныйФильтр() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин(""ПостроительДереваТестов""); + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""УспешныйМетод""); + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""УспешныйМетод""); + Элемент3 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""УспешныйМетод""); + + Контейнер1 = ПостроительДереваТестов.СоздатьКонтейнер(""Контейнер1""); + Контейнер1.Строки.Добавить(Элемент1); + Контейнер1.Строки.Добавить(Элемент2); + + Контейнер2 = ПостроительДереваТестов.СоздатьКонтейнер(""Контейнер2""); + Контейнер2.Строки.Добавить(Элемент3); + + Корень = ПостроительДереваТестов.СоздатьКонтейнер(""Корень""); + Корень.Строки.Добавить(Контейнер1); + Корень.Строки.Добавить(Контейнер2); + + Фильтр = Новый Массив; + Фильтр.Добавить(Элемент2.Ключ); + Фильтр.Добавить(Контейнер2.Ключ); + + Ожидаем.Что(КонтекстЯдра.ПолучитьКоличествоТестовыхМетодов(Корень, Фильтр), ""Общее количество тестовых методов"").Равно(2); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Корень, Фильтр); + + Ожидаем.Что(РезультатТестирования.Ключ, ""Корень.Ключ"").Равно(Корень.Ключ); + Ожидаем.Что(РезультатТестирования.Состояние, ""Корень.Состояние"").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТестирования.Строки.Количество(), ""Количество дочерних узлов"").Равно(2); + + РезультатТеста_Контейнер1 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТестирования, Контейнер1.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер1.Ключ, ""Контейнер1.Ключ"").Равно(Контейнер1.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер1.Состояние, ""Контейнер1.Состояние"").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТеста_Контейнер1.Строки.Количество(), ""Контейнер1 количество дочерних узлов"").Равно(1); + РезультатТеста_Элемент1 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТеста_Контейнер1, Элемент1.Ключ); + Ожидаем.Что(РезультатТеста_Элемент1, ""РезультатТеста_Элемент1"").ЭтоНеопределено(); + РезультатТеста_Элемент2 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТеста_Контейнер1, Элемент2.Ключ); + Ожидаем.Что(РезультатТеста_Элемент2.Ключ, ""Контейнер1.Элемент2.Ключ"").Равно(Элемент2.Ключ); + Ожидаем.Что(РезультатТеста_Элемент2.Состояние, ""Контейнер1.Элемент2.Состояние"").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); + + РезультатТеста_Контейнер2 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТестирования, Контейнер2.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер2.Ключ, ""Контейнер2.Ключ"").Равно(Контейнер2.Ключ); + Ожидаем.Что(РезультатТеста_Контейнер2.Состояние, ""Контейнер2.Состояние"").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); + РезультатТеста_Элемент3 = КонтекстЯдра.НайтиРезультатТестированияПоИдентификатору(РезультатТеста_Контейнер2, Элемент3.Ключ); + Ожидаем.Что(РезультатТеста_Элемент3.Ключ, ""Контейнер2.Элемент3.Ключ"").Равно(Элемент3.Ключ); + Ожидаем.Что(РезультатТеста_Элемент3.Состояние, ""Контейнер2.Элемент3.Состояние"").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); +КонецПроцедуры +// } Фильтрация + +// { Статистика +&НаКлиенте +Процедура ТестДолжен_ПроверитьВРезультатеТестирования_ЗаполнениеСтатистики() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин(""ПостроительДереваТестов""); + УспешныйЭлемент = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""УспешныйМетод""); + ПадающийЭлемент = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""МетодПадающийПоУтверждению""); + ОтсутствующийЭлемент = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""ОтсутствующийМетод""); + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер(""Контейнер""); + Контейнер.Строки.Добавить(УспешныйЭлемент); + Контейнер.Строки.Добавить(ПадающийЭлемент); + Контейнер.Строки.Добавить(ОтсутствующийЭлемент); + + Ожидаем.Что(КонтекстЯдра.ПолучитьКоличествоТестовыхМетодов(Контейнер), ""Общее количество тестовых методов"").Равно(Контейнер.Строки.Количество()); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Контейнер); + + Ожидаем.Что(РезультатТестирования.КоличествоТестов).Равно(Контейнер.Строки.Количество()); + Ожидаем.Что(РезультатТестирования.КоличествоСломанныхТестов).Равно(1); + Ожидаем.Что(РезультатТестирования.КоличествоНеРеализованныхТестов).Равно(1); + Ожидаем.Что(РезультатТестирования.ВремяВыполнения).Существует(); +КонецПроцедуры +// } Статистика + +// { Тесты с параметрами +&НаКлиенте +Процедура ТестДолжен_ПроверитьВыполнениеТеста_ОдинПараметр() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин(""ПостроительДереваТестов""); + + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""ТестСложенияСОднимПараметром""); + Элемент1.Параметры.Добавить(Новый Структура(""Значение1, Значение2, Результат"", 1, 5, 6)); + + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""ТестСложенияСОднимПараметром""); + Элемент2.Параметры.Добавить(Новый Структура(""Значение1, Значение2, Результат"", ""Раз"", ""-Два"", ""Раз-Два"")); + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер(""Контейнер""); + Контейнер.Строки.Добавить(Элемент1); + Контейнер.Строки.Добавить(Элемент2); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Контейнер); + + Ожидаем.Что(РезультатТестирования.Состояние, ""Состояние всех результатов тестирования"").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТестирования.КоличествоТестов).Равно(Контейнер.Строки.Количество()); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьВыполнениеТеста_НесколькоПараметров() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин(""ПостроительДереваТестов""); + + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""ТестСложенияСНесколькимиПараметрами""); + Элемент1.Параметры.Добавить(1); + Элемент1.Параметры.Добавить(5); + Элемент1.Параметры.Добавить(6); + + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""ТестСложенияСНесколькимиПараметрами""); + Элемент2.Параметры.Добавить(""Раз""); + Элемент2.Параметры.Добавить(""-Два""); + Элемент2.Параметры.Добавить(""Раз-Два""); + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер(""Контейнер""); + Контейнер.Строки.Добавить(Элемент1); + Контейнер.Строки.Добавить(Элемент2); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Контейнер); + + Ожидаем.Что(РезультатТестирования.Состояние, ""Состояние всех результатов тестирования"").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТестирования.КоличествоТестов).Равно(Контейнер.Строки.Количество()); +КонецПроцедуры +// } Тесты с параметрами + +// { Режимы выполнения тестов (случайный и строгий) +&НаКлиенте +Процедура ТестДолжен_Проверить_ЧтоПоУмолчанию_ТестыВыполняютсяВСлучайномПорядке() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин(""ПостроительДереваТестов""); + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""УспешныйМетод""); + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""УспешныйМетод""); + Элемент3 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""УспешныйМетод""); + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер(""Контейнер""); + Контейнер.Строки.Добавить(Элемент1); + Контейнер.Строки.Добавить(Элемент2); + Контейнер.Строки.Добавить(Элемент3); + + МаксимальноеКоличествоПопыток = 100; + Для Сч = 1 По МаксимальноеКоличествоПопыток Цикл + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Контейнер); + Если РезультатТестирования.Строки[0].Ключ <> Элемент1.Ключ Тогда + Прервать; + КонецЕсли; + КонецЦикла; + Ожидаем.Что(Сч, ""Порядок в результатах тестирования должен отличаться от порядка в дереве тестов"").Меньше(МаксимальноеКоличествоПопыток); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Проверить_ЧтоТестыВыполняютсяСтрогоПоПорядку() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин(""ПостроительДереваТестов""); + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""УспешныйМетод""); + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""УспешныйМетод""); + Элемент3 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""УспешныйМетод""); + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер(""Контейнер""); + Контейнер.СлучайныйПорядокВыполнения = Ложь; + Контейнер.Строки.Добавить(Элемент1); + Контейнер.Строки.Добавить(Элемент2); + Контейнер.Строки.Добавить(Элемент3); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Контейнер); + + Ожидаем.Что(РезультатТестирования.Строки[0].Ключ, ""Элемент1"").Равно(Элемент1.Ключ); + Ожидаем.Что(РезультатТестирования.Строки[1].Ключ, ""Элемент2"").Равно(Элемент2.Ключ); + Ожидаем.Что(РезультатТестирования.Строки[2].Ключ, ""Элемент3"").Равно(Элемент3.Ключ); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Проверить_ЧтоПадениеОдногоТестаВКонтейнереСоСтрогимПорядком_ПриводитКПропускуОставшихсяШагов() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин(""ПостроительДереваТестов""); + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""УспешныйМетод""); + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""МетодПадающийПоУтверждению""); + Элемент3 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""УспешныйМетод""); + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер(""Контейнер""); + Контейнер.СлучайныйПорядокВыполнения = Ложь; + Контейнер.Строки.Добавить(Элемент1); + Контейнер.Строки.Добавить(Элемент2); + Контейнер.Строки.Добавить(Элемент3); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Контейнер); + + Ожидаем.Что(РезультатТестирования.Строки).ИмеетДлину(2); + Ожидаем.Что(РезультатТестирования.Строки[1].Ключ, ""Элемент2.Ключ"").Равно(Элемент2.Ключ); + Ожидаем.Что(РезультатТестирования.Строки[1].Состояние, ""Элемент2.Состояние"").Равно(КонтекстЯдра.Объект.СостоянияТестов.Сломан); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Проверить_ЧтоПадениеОдногоТестаВКонтейнереСоСтрогимПорядком_ПриводитКПропускуДочернихКонтейнеров() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин(""ПостроительДереваТестов""); + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""УспешныйМетод""); + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""МетодПадающийПоУтверждению""); + Элемент3 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""УспешныйМетод""); + + ДочернийКонтейнер = ПостроительДереваТестов.СоздатьКонтейнер(""Контейнер""); + ДочернийКонтейнер.Строки.Добавить(Элемент3); + + Корень = ПостроительДереваТестов.СоздатьКонтейнер(""Контейнер""); + Корень.СлучайныйПорядокВыполнения = Ложь; + Корень.Строки.Добавить(Элемент1); + Корень.Строки.Добавить(Элемент2); + Корень.Строки.Добавить(ДочернийКонтейнер); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Корень); + + Ожидаем.Что(РезультатТестирования.Строки).ИмеетДлину(2); + Ожидаем.Что(РезультатТестирования.Строки[1].Ключ, ""Элемент2.Ключ"").Равно(Элемент2.Ключ); + Ожидаем.Что(РезультатТестирования.Строки[1].Состояние, ""Элемент2.Состояние"").Равно(КонтекстЯдра.Объект.СостоянияТестов.Сломан); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Проверить_ЧтоПадениеТестовВКонтейнереСоСлучайнымПорядком_НеВлияетНаДругиеТестовыеМетоды() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин(""ПостроительДереваТестов""); + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""УспешныйМетод""); + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""МетодПадающийПоУтверждению""); + Элемент3 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""УспешныйМетод""); + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер(""Контейнер""); + Контейнер.Строки.Добавить(Элемент1); + Контейнер.Строки.Добавить(Элемент2); + Контейнер.Строки.Добавить(Элемент3); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Контейнер); + + Ожидаем.Что(РезультатТестирования.Строки).ИмеетДлину(3); +КонецПроцедуры +// } Режимы выполнения тестов (случайный и строгий) + +// { Передача контекста +&НаКлиенте +Процедура ТестДолжен_ПроверитьПередачуКонтекстаВЗависимыхТестах() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин(""ПостроительДереваТестов""); + + Элемент1 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""ТестСохраняющийКонтекст_ПервоеЗначение""); + Элемент1.Параметры.Добавить(5); + + Элемент2 = ПостроительДереваТестов.СоздатьЭлемент(ПолучитьИспользуемоеИмяФайла(), ""ТестИспользующийКонтекст_СуммируетПервоеЗначениеВтороеЗначениеИПроверяетРезультат""); + Элемент2.Параметры.Добавить(7); + Элемент2.Параметры.Добавить(12); + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер(""Контейнер""); + Контейнер.СлучайныйПорядокВыполнения = Ложь; + Контейнер.Строки.Добавить(Элемент1); + Контейнер.Строки.Добавить(Элемент2); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Контейнер); + + Ожидаем.Что(РезультатТестирования.Состояние, ""Состояние всех результатов тестирования"").Равно(КонтекстЯдра.Объект.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТестирования.КоличествоТестов).Равно(Контейнер.Строки.Количество()); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьЧтоСохранятьКонтекстМожноТолькоВРамкахКонтейнераСоСтрогимПорядкомВыполнения() Экспорт + // Ожидаем, что этот контейнер со случайным порядком выполнения + ОписаниеОшибки = """"; + Попытка + КонтекстЯдра.СохранитьКонтекст(Истина); + Исключение + ОписаниеОшибки = ОписаниеОшибки(); + КонецПопытки; + Ожидаем.Что(ОписаниеОшибки).Заполнено().Содержит(КонтекстЯдра.Объект.ВозможныеИсключения.СохранятьКонтекстТолькоВСтрогомРежиме); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьЧтоПолучатьКонтекстМожноТолькоВРамкахКонтейнераСоСтрогимПорядкомВыполнения() Экспорт + // Ожидаем, что этот контейнер со случайным порядком выполнения + ОписаниеОшибки = """"; + Попытка + КонтекстЯдра.ПолучитьКонтекст(); + Исключение + ОписаниеОшибки = ОписаниеОшибки(); + КонецПопытки; + Ожидаем.Что(ОписаниеОшибки).Заполнено().Содержит(КонтекстЯдра.Объект.ВозможныеИсключения.ПолучатьКонтекстТолькоВСтрогомРежиме); +КонецПроцедуры +// } Передача контекста + +// Методы нужные для тестов +&НаКлиенте +Функция ЗагрузчикЗаглушка() + Возврат ЭтаФорма; +КонецФункции + +&НаКлиенте +Функция ПолучитьКонтекстПоПути(КонтекстЯдра, Путь) Экспорт + Возврат ЭтаФорма; +КонецФункции + +&НаКлиенте +Процедура УспешныйМетод() Экспорт +КонецПроцедуры + +&НаКлиенте +Процедура МетодПадающийПоУтверждению() Экспорт + КонтекстЯдра.ВызватьОшибкуПроверки(ТекстИсключенияПадающегоТеста); + //ВызватьИсключение ТекстИсключенияПадающегоТеста; +КонецПроцедуры + +&НаКлиенте +Процедура ТестСложенияСОднимПараметром(Параметры) Экспорт + Ожидаем.Что(Параметры.Значение1 + Параметры.Значение2).Равно(Параметры.Результат); +КонецПроцедуры + +&НаКлиенте +Процедура ТестСложенияСНесколькимиПараметрами(Слагаемое1, Слагаемое2, Результат) Экспорт + Ожидаем.Что(Слагаемое1 + Слагаемое2).Равно(Результат); +КонецПроцедуры + +&НаКлиенте +Процедура ТестСохраняющийКонтекст_ПервоеЗначение(ПервоеЗначение) Экспорт + КонтекстЯдра.СохранитьКонтекст(ПервоеЗначение); +КонецПроцедуры + +&НаКлиенте +Процедура ТестИспользующийКонтекст_СуммируетПервоеЗначениеВтороеЗначениеИПроверяетРезультат(ВтороеЗначение, Результат) Экспорт + ПервоеЗначение = КонтекстЯдра.ПолучитьКонтекст(); + Ожидаем.Что(ПервоеЗначение + ВтороеЗначение).Равно(Результат); +КонецПроцедуры + +// { Helpers +&НаСервере +Функция ПолучитьИспользуемоеИмяФайла() + ОбъектНаСервере = РеквизитФормыВЗначение(""Объект""); + + Возврат ОбъектНаСервере.ИспользуемоеИмяФайла; +КонецФункции +// } Helpers +", +{4,1, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",a1dae8d7-6476-46f6-a931-9ebaa399f991} +}, +{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 +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,0}, +{0,0}, +{0,0}, +{0,0} +} \ No newline at end of file diff --git "a/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/und/root" "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/und/root" new file mode 100644 index 00000000..83a71421 --- /dev/null +++ "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/und/root" @@ -0,0 +1 @@ +{2,b414f1d2-8dfc-4870-bc3d-6ba92ce89edc,} \ No newline at end of file diff --git a/src/Tests/Gui83/UILogToScript/und/version "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/und/version" similarity index 100% rename from src/Tests/Gui83/UILogToScript/und/version rename to "src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/und/version" diff --git "a/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" new file mode 100644 index 00000000..d3ec5f4a --- /dev/null +++ "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" @@ -0,0 +1 @@ +{1,9,"",c43d9171-88b1-4609-af27-139773b7aad6,"e5fbc1d4-eed7-46d9-a13c-452a58fe1608",8f0a639e-0157-4fba-96fc-43564cc8f9d7,"versions",0053a617-629b-4014-b738-c4091fcc4c2d,"root",397e11f5-36d4-43dd-8597-61aca3516aaa,"version",9728b1d8-9769-4815-8674-2d573fcf622d,"e5fbc1d4-eed7-46d9-a13c-452a58fe1608.0",bcc73ede-70fb-4f1d-b8fd-42f974cbc141,"a31e3430-60a3-4301-a1fd-1f37bd23d7a2.0",e1144f9d-7d64-4f83-82a2-7fb2bbac32e9,"copyinfo",26c69c4d-1b3a-42d6-a857-09a9145f5624,"b414f1d2-8dfc-4870-bc3d-6ba92ce89edc",c362b1c8-d10e-48f3-9f5b-9f44c5723662} \ 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.txt" "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.txt" new file mode 100644 index 00000000..55184723 --- /dev/null +++ "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.txt" @@ -0,0 +1,173 @@ +Перем КонтекстЯдра; +Перем Ожидаем; + +Перем ПарсерКоманднойСтроки; +Перем ИмяКаталогаВременныхФайлов; +Перем ФайлЛогаUI; +Перем ФайлСОтчетомОТестировании; + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + ПарсерКоманднойСтроки = КонтекстЯдра.Плагин("ПарсерКоманднойСтроки"); +КонецПроцедуры + +Функция ПолучитьСписокТестов() Экспорт + ВсеТесты = Новый Массив; + // Позитивные + ВсеТесты.Добавить("ТестДолжен_ПроверитьЗапускВПакетномРежиме_ТолстыйКлиент"); + ВсеТесты.Добавить("ТестДолжен_ПроверитьЗапускВПакетномРежиме_ТонкийКлиент"); + // Негативные + ВсеТесты.Добавить("ТестДолжен_ПроверитьЗапускВПакетномРежиме_ТолстыйКлиент_СПлохимиПараметрами_xddRun"); + ВсеТесты.Добавить("ТестДолжен_ПроверитьЗапускВПакетномРежиме_ТолстыйКлиент_СПлохимиПараметрами_xddReport"); + ВсеТесты.Добавить("ТестДолжен_ПроверитьЗапускВПакетномРежиме_ТонкийКлиент_СПлохимиПараметрами_xddRun"); + ВсеТесты.Добавить("ТестДолжен_ПроверитьЗапускВПакетномРежиме_ТонкийКлиент_СПлохимиПараметрами_xddReport"); + + Возврат ВсеТесты; +КонецФункции + +Процедура ПередЗапускомТеста() Экспорт + ИмяКаталогаВременныхФайлов = ПолучитьИмяВременногоФайла(); + СоздатьКаталог(ИмяКаталогаВременныхФайлов); + + ФайлЛогаUI = Новый Файл(ИмяКаталогаВременныхФайлов + "\log.txt"); + ФайлСОтчетомОТестировании = Новый Файл(ИмяКаталогаВременныхФайлов + "\report.xml"); +КонецПроцедуры + +Процедура ПослеЗапускаТеста() Экспорт + УдалитьФайлы(ИмяКаталогаВременныхФайлов); +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьЗапускВПакетномРежиме_ТолстыйКлиент() Экспорт + ФайлСТестами = ПолучитьФайлСТестами("Tests\Core\Тесты_СистемаПлагинов.epf"); + СтрокаПараметров = СформироватьСтрокуПараметров("ЗагрузчикФайла", ФайлСТестами, "ГенераторОтчетаJUnitXML"); + + ВыполнитьПакетныйЗапуск(РежимЗапускаКлиентскогоПриложения.ОбычноеПриложение, СтрокаПараметров); + + Ожидаем.Что(ФайлЛогаUI.Существует(), "ФайлЛогаUI").ЭтоИстина(); + Ожидаем.Что(ФайлСОтчетомОТестировании.Существует(), "ФайлСОтчетомОТестировании").ЭтоИстина(); +КонецПроцедуры + +Функция ПолучитьФайлСТестами(ОтносительныйПуть) + ФайлЯдра = Новый Файл(КонтекстЯдра.ИспользуемоеИмяФайла); + ФайлСТестами = Новый Файл(ФайлЯдра.Путь + ОтносительныйПуть); + + Возврат ФайлСТестами; +КонецФункции + +Функция СформироватьСтрокуПараметров(ИдентификаторЗагрузчика, ФайлСТестами, ИдентификаторГенератораОтчета) + СтрокаПараметров = " /C """ + ПарсерКоманднойСтроки.ВозможныеКлючи.xddRun + " " + ИдентификаторЗагрузчика + " """"" + ФайлСТестами.ПолноеИмя + """"";" + + ПарсерКоманднойСтроки.ВозможныеКлючи.xddShutdown + ";" + + ПарсерКоманднойСтроки.ВозможныеКлючи.xddReport + " " + ИдентификаторГенератораОтчета + " """"" + ФайлСОтчетомОТестировании.ПолноеИмя + """""" + + """"; + + Возврат СтрокаПараметров; +КонецФункции + +Процедура ВыполнитьПакетныйЗапуск(РежимЗапуска, СтрокаПараметров) + ПутьКПлатформе1С = ПолучитьПутьКПлатформе1С(РежимЗапуска); + ВсякиеКлючи = " /Lru /VLru /DisableStartupMessages "; + СтрокаРежимЗапуска = ПолучитьСтрокаРежимаЗапуска(РежимЗапуска); + СтрокаСоединения = ПолучитьСтрокуСоединения(); + СтрокаЛогированияUI = " /LogUI /Out """ + ФайлЛогаUI.ПолноеИмя + """"; + + СтрокаКоманды = """" + ПутьКПлатформе1С + """"; + СтрокаКоманды = СтрокаКоманды + ВсякиеКлючи; + СтрокаКоманды = СтрокаКоманды + СтрокаРежимЗапуска; + СтрокаКоманды = СтрокаКоманды + СтрокаСоединения; + СтрокаКоманды = СтрокаКоманды + " /Execute " + КонтекстЯдра.ИспользуемоеИмяФайла; + СтрокаКоманды = СтрокаКоманды + СтрокаЛогированияUI; + СтрокаКоманды = СтрокаКоманды + СтрокаПараметров; + + ЗапуститьПриложение(СтрокаКоманды, , Истина); +КонецПроцедуры + +Функция ПолучитьПутьКПлатформе1С(РежимЗапуска) + Если РежимЗапуска = РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение Тогда + ИмяПрограмы = "1cv8c.exe"; + ИначеЕсли РежимЗапуска = РежимЗапускаКлиентскогоПриложения.ОбычноеПриложение Тогда + ИмяПрограмы = "1cv8.exe"; + КонецЕсли; + ПутьКПлатформе1С = КаталогПрограммы() + ИмяПрограмы; + + Возврат ПутьКПлатформе1С; +КонецФункции + +Функция ПолучитьСтрокаРежимаЗапуска(РежимЗапуска) + Перем СтрокаРежимЗапуска; + Если РежимЗапуска = РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение Тогда + СтрокаРежимЗапуска = " /RunModeManagedApplication "; + ИначеЕсли РежимЗапуска = РежимЗапускаКлиентскогоПриложения.ОбычноеПриложение Тогда + СтрокаРежимЗапуска = " /RunModeOrdinary "; + КонецЕсли; + + Возврат СтрокаРежимЗапуска; +КонецФункции + +Функция ПолучитьСтрокуСоединения() + СтрокаСоединения = СтрокаСоединенияИнформационнойБазы(); + ПутьКФайловойБазе = НСтр(СтрокаСоединения, "File"); + Если НЕ ПустаяСтрока(ПутьКФайловойБазе) Тогда + СтрокаСоединения = " /F """ + ПутьКФайловойБазе+""""; + Иначе + СтрокаСоединения = " /S " + НСтр(СтрокаСоединения, "Srvr") + "\" + НСтр(СтрокаСоединения, "Ref"); + КонецЕсли; + ТекущийПользователь = ПользователиИнформационнойБазы.ТекущийПользователь(); + ИмяПользователя = ТекущийПользователь.Имя; + СтрокаСоединения = СтрокаСоединения + " /N """ + ИмяПользователя + """"; + + Возврат СтрокаСоединения; +КонецФункции + +Процедура ТестДолжен_ПроверитьЗапускВПакетномРежиме_ТонкийКлиент() Экспорт + ФайлСТестами = ПолучитьФайлСТестами("Tests\Core\Тесты_СистемаПлагинов.epf"); + СтрокаПараметров = СформироватьСтрокуПараметров("ЗагрузчикФайла", ФайлСТестами, "ГенераторОтчетаJUnitXML"); + + ВыполнитьПакетныйЗапуск(РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение, СтрокаПараметров); + + Ожидаем.Что(ФайлСОтчетомОТестировании.Существует(), "ФайлСОтчетомОТестировании существует").ЭтоИстина(); +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьЗапускВПакетномРежиме_ТолстыйКлиент_СПлохимиПараметрами_xddRun() Экспорт + ФайлСТестами = ПолучитьФайлСТестами("Tests\Core\Тесты_СистемаПлагинов.epf"); + СтрокаПараметров = СформироватьСтрокуПараметров("НесуществующийЗагрузчик", ФайлСТестами, "ГенераторОтчетаJUnitXML"); + + ВыполнитьПакетныйЗапуск(РежимЗапускаКлиентскогоПриложения.ОбычноеПриложение, СтрокаПараметров); + + Ожидаем.Что(ФайлЛогаUI.Существует(), "ФайлЛогаUI").ЭтоИстина(); + Лог = Новый ЧтениеТекста(ФайлЛогаUI.ПолноеИмя); + СодержаниеЛога = Лог.Прочитать(); + Ожидаем.Что(СодержаниеЛога, "СодержаниеЛога").Существует(); + Ожидаем.Что(ФайлСОтчетомОТестировании.Существует(), "ФайлСОтчетомОТестировании").ЭтоЛожь(); +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьЗапускВПакетномРежиме_ТолстыйКлиент_СПлохимиПараметрами_xddReport() Экспорт + ФайлСТестами = ПолучитьФайлСТестами("Tests\Core\Тесты_СистемаПлагинов.epf"); + СтрокаПараметров = СформироватьСтрокуПараметров("ЗагрузчикФайла", ФайлСТестами, "НесуществующийГенераторОтчета"); + + ВыполнитьПакетныйЗапуск(РежимЗапускаКлиентскогоПриложения.ОбычноеПриложение, СтрокаПараметров); + + Ожидаем.Что(ФайлЛогаUI.Существует(), "ФайлЛогаUI").ЭтоИстина(); + Лог = Новый ЧтениеТекста(ФайлЛогаUI.ПолноеИмя); + СодержаниеЛога = Лог.Прочитать(); + Ожидаем.Что(СодержаниеЛога, "СодержаниеЛога").Существует(); + Ожидаем.Что(ФайлСОтчетомОТестировании.Существует(), "ФайлСОтчетомОТестировании").ЭтоЛожь(); +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьЗапускВПакетномРежиме_ТонкийКлиент_СПлохимиПараметрами_xddRun() Экспорт + ФайлСТестами = ПолучитьФайлСТестами("Tests\Core\Тесты_СистемаПлагинов.epf"); + СтрокаПараметров = СформироватьСтрокуПараметров("НесуществующийЗагрузчик", ФайлСТестами, "ГенераторОтчетаJUnitXML"); + + ВыполнитьПакетныйЗапуск(РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение, СтрокаПараметров); + + Ожидаем.Что(ФайлСОтчетомОТестировании.Существует()).ЭтоЛожь(); +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьЗапускВПакетномРежиме_ТонкийКлиент_СПлохимиПараметрами_xddReport() Экспорт + ФайлСТестами = ПолучитьФайлСТестами("Tests\Core\Тесты_СистемаПлагинов.epf"); + СтрокаПараметров = СформироватьСтрокуПараметров("ЗагрузчикФайла", ФайлСТестами, "НесуществующийГенераторОтчета"); + + ВыполнитьПакетныйЗапуск(РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение, СтрокаПараметров); + + Ожидаем.Что(ФайлСОтчетомОТестировании.Существует()).ЭтоЛожь(); +КонецПроцедуры diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "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/maps.txt" similarity index 100% rename from "src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" rename to "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/maps.txt" 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/renames.txt" "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/renames.txt" new file mode 100644 index 00000000..05014afd --- /dev/null +++ "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/renames.txt" @@ -0,0 +1,7 @@ +0782d8f3-61cb-4919-b6a8-2392febc953a-->und\0782d8f3-61cb-4919-b6a8-2392febc953a +7ecade93-aad4-4a6e-bf69-9254664a2793.0\info-->und\7ecade93-aad4-4a6e-bf69-9254664a2793.0\info +7ecade93-aad4-4a6e-bf69-9254664a2793.0\text-->ObjectModule.txt +copyinfo-->und\copyinfo +root-->und\root +version-->und\version +versions-->und\versions 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" new file mode 100644 index 00000000..629865af --- /dev/null +++ "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" @@ -0,0 +1,17 @@ +{1, +{0782d8f3-61cb-4919-b6a8-2392febc953a},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,833ef829-c54d-4515-878c-9d8f6f76de0f,50a676e6-6bdd-4af2-b7fa-06f872323517, +{0, +{0, +{0,0,7ecade93-aad4-4a6e-bf69-9254664a2793},"Тесты_ЗапускВПакетномРежиме", +{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}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} +} +} +} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/7b66680b-e180-4230-a526-5aff4cc52aae.0/info" "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/7ecade93-aad4-4a6e-bf69-9254664a2793.0/info" similarity index 100% rename from "src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/7b66680b-e180-4230-a526-5aff4cc52aae.0/info" rename to "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/7ecade93-aad4-4a6e-bf69-9254664a2793.0/info" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/copyinfo" "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/copyinfo" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/copyinfo" rename to "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/copyinfo" 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/root" "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/root" new file mode 100644 index 00000000..e2f819bb --- /dev/null +++ "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/root" @@ -0,0 +1 @@ +{2,0782d8f3-61cb-4919-b6a8-2392febc953a,} \ No newline at end of file diff --git "a/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/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" similarity index 100% rename from "src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/version" rename to "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" 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" new file mode 100644 index 00000000..6be3caa2 --- /dev/null +++ "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" @@ -0,0 +1 @@ +{1,7,"",7de5a137-6c6b-4346-80a4-53917bdf4fcb,"root",6afa99fe-ba97-4549-88a0-25eb1510ea51,"copyinfo",b3fa4c0f-be15-4ff3-baa7-996a52055595,"0782d8f3-61cb-4919-b6a8-2392febc953a",873f8382-f1f8-41de-a15f-bf49a951da0b,"versions",ef7098d1-36e6-4c9c-99d4-ee71b795b77d,"7ecade93-aad4-4a6e-bf69-9254664a2793.0",498e511b-420d-429f-b4c3-0ee82a0a9d71,"version",87b2c642-8586-4c40-a71d-7dd59f351fbe} \ No newline at end of file diff --git "a/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" new file mode 100644 index 00000000..7b63dbf4 --- /dev/null +++ "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" @@ -0,0 +1,62 @@ +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); +КонецПроцедуры + +&НаКлиенте +Функция ПолучитьСписокТестов() Экспорт + ВсеТесты = Новый Массив; + + // Plugin interface + ВсеТесты.Добавить("ТестДолжен_ПроверитьОписаниеПлагина"); + + // Core + ВсеТесты.Добавить("ТестДолжен_ПроверитьПолучениеПлагинаПоИдентификатору"); + ВсеТесты.Добавить("ТестДолжен_ПолучитьСписокЗагруженныхПлагиновПоТипу"); + + Возврат ВсеТесты; +КонецФункции + +// { Plugin interface +&НаКлиенте +Процедура ТестДолжен_ПроверитьОписаниеПлагина() Экспорт + ЗагрузчикТестов = КонтекстЯдра.ЗагрузчикПоУмолчанию(); + ВозможныеТипыПлагинов = КонтекстЯдра.Объект.ТипыПлагинов; + ОписаниеПлагина = ЗагрузчикТестов.ОписаниеПлагина(ВозможныеТипыПлагинов); + Утверждения.ПроверитьРавенство(ОписаниеПлагина.Тип, ВозможныеТипыПлагинов.Загрузчик, "ОписаниеПлагина.Тип, юТест.ТипыПлагинов().Загрузчик"); + Утверждения.ПроверитьРавенство(ОписаниеПлагина.Идентификатор, "ЗагрузчикКаталога", "ОписаниеПлагина.Идентификатор"); + Утверждения.ПроверитьРавенство(ОписаниеПлагина.Представление, "Загрузить тесты из каталога файловой системы", "ОписаниеПлагина.Представление"); +КонецПроцедуры +// } Plugin interface + +// { Core +&НаКлиенте +Процедура ТестДолжен_ПроверитьПолучениеПлагинаПоИдентификатору() Экспорт + ЗагрузчикТестов = КонтекстЯдра.Плагин("ЗагрузчикФайла"); + ВозможныеТипыПлагинов = КонтекстЯдра.Объект.ТипыПлагинов; + ОписаниеПлагина = ЗагрузчикТестов.ОписаниеПлагина(ВозможныеТипыПлагинов); + Утверждения.ПроверитьРавенство(ОписаниеПлагина.Тип, ВозможныеТипыПлагинов.Загрузчик, "ОписаниеПлагина.Тип, юТест.ТипыПлагинов().Загрузчик"); + Утверждения.ПроверитьРавенство(ОписаниеПлагина.Идентификатор, "ЗагрузчикФайла", "ОписаниеПлагина.Идентификатор"); + Утверждения.ПроверитьРавенство(ОписаниеПлагина.Представление, "Загрузить тесты из файлов", "ОписаниеПлагина.Представление"); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПолучитьСписокЗагруженныхПлагиновПоТипу() Экспорт + ВозможныеТипыПлагинов = КонтекстЯдра.Объект.ТипыПлагинов; + ОписанияЗагрузчиков = КонтекстЯдра.ПолучитьОписанияПлагиновПоТипу(ВозможныеТипыПлагинов.Загрузчик); + + Утверждения.ПроверитьТип(ОписанияЗагрузчиков, "Массив", "Загрузчики"); + Утверждения.ПроверитьБольше(ОписанияЗагрузчиков.Количество(), 0, "Загрузчики.Количество()"); + Для каждого ОписаниеПлагина Из ОписанияЗагрузчиков Цикл + Утверждения.ПроверитьРавенство(ОписаниеПлагина.Тип, ВозможныеТипыПлагинов.Загрузчик, "ОписаниеПлагина.Тип, юТест.ТипыПлагинов().Загрузчик"); + Утверждения.ПроверитьЗаполненность(ОписаниеПлагина.Идентификатор, "ОписаниеПлагина.Идентификатор"); + Утверждения.ПроверитьЗаполненность(ОписаниеПлагина.Представление, "ОписаниеПлагина.Представление"); + КонецЦикла; +КонецПроцедуры +// } Core diff --git "a/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/ObjectModule.txt" "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/ObjectModule.txt" new file mode 100644 index 00000000..625368d2 --- /dev/null +++ "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/ObjectModule.txt" @@ -0,0 +1,50 @@ +Перем КонтекстЯдра; +Перем Утверждения; + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); +КонецПроцедуры + +Функция ПолучитьСписокТестов() Экспорт + ВсеТесты = Новый Массив; + // Core + ВсеТесты.Добавить("ТестДолжен_ПроверитьПолучениеПлагинаПоИдентификатору"); + ВсеТесты.Добавить("ТестДолжен_ПолучитьСписокЗагруженныхПлагиновПоТипу"); + // Plugin interface + ВсеТесты.Добавить("ТестДолжен_ПроверитьОписаниеПлагина"); + + Возврат ВсеТесты; +КонецФункции + +// { Core +Процедура ТестДолжен_ПроверитьПолучениеПлагинаПоИдентификатору() Экспорт + ЗагрузчикТестов = КонтекстЯдра.Плагин("ЗагрузчикФайла"); + ОписаниеПлагина = ЗагрузчикТестов.ОписаниеПлагина(КонтекстЯдра.ТипыПлагинов); + Утверждения.ПроверитьРавенство(ОписаниеПлагина.Тип, КонтекстЯдра.ТипыПлагинов.Загрузчик, "ОписаниеПлагина.Тип, КонтекстЯдра.ТипыПлагинов.Загрузчик"); + Утверждения.ПроверитьРавенство(ОписаниеПлагина.Идентификатор, "ЗагрузчикФайла", "ОписаниеПлагина.Идентификатор"); + Утверждения.ПроверитьРавенство(ОписаниеПлагина.Представление, "Загрузить тесты из файлов", "ОписаниеПлагина.Представление"); +КонецПроцедуры + +Процедура ТестДолжен_ПолучитьСписокЗагруженныхПлагиновПоТипу() Экспорт + ОписанияПлагинов = КонтекстЯдра.ПолучитьОписанияПлагиновПоТипу(КонтекстЯдра.ТипыПлагинов.Загрузчик); + + Утверждения.ПроверитьТип(ОписанияПлагинов, "Массив", "Загрузчики"); + Утверждения.ПроверитьБольше(ОписанияПлагинов.Количество(), 0, "Загрузчики.Количество()"); + Для каждого ОписаниеПлагина Из ОписанияПлагинов Цикл + Утверждения.ПроверитьРавенство(ОписаниеПлагина.Тип, КонтекстЯдра.ТипыПлагинов.Загрузчик, "ОписаниеПлагина.Тип, КонтекстЯдра.ТипыПлагинов.Загрузчик"); + Утверждения.ПроверитьЗаполненность(ОписаниеПлагина.Идентификатор, "ОписаниеПлагина.Идентификатор"); + Утверждения.ПроверитьЗаполненность(ОписаниеПлагина.Представление, "ОписаниеПлагина.Представление"); + КонецЦикла; +КонецПроцедуры +// } Core + +// { Plugin interface +Процедура ТестДолжен_ПроверитьОписаниеПлагина() Экспорт + ЗагрузчикТестов = КонтекстЯдра.ЗагрузчикПоУмолчанию(); + ОписаниеПлагина = ЗагрузчикТестов.ОписаниеПлагина(КонтекстЯдра.ТипыПлагинов); + Утверждения.ПроверитьРавенство(ОписаниеПлагина.Тип, КонтекстЯдра.ТипыПлагинов.Загрузчик, "ОписаниеПлагина.Тип, КонтекстЯдра.ТипыПлагинов.Загрузчик"); + Утверждения.ПроверитьРавенство(ОписаниеПлагина.Идентификатор, "ЗагрузчикКаталога", "ОписаниеПлагина.Идентификатор"); + Утверждения.ПроверитьРавенство(ОписаниеПлагина.Представление, "Загрузить тесты из каталога файловой системы", "ОписаниеПлагина.Представление"); +КонецПроцедуры +// } Plugin interface \ No newline at end of file diff --git "a/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/renames.txt" "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/renames.txt" new file mode 100644 index 00000000..10d67c5a --- /dev/null +++ "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/renames.txt" @@ -0,0 +1,11 @@ +421a27d5-c2f1-4844-86c0-c04fb5a1001f-->und\421a27d5-c2f1-4844-86c0-c04fb5a1001f +4d520461-35ba-47cf-9306-350af5d1d5d8-->und\4d520461-35ba-47cf-9306-350af5d1d5d8 +4d520461-35ba-47cf-9306-350af5d1d5d8.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Core\Тесты_СистемаПлагинов\Form\Форма\Форма.txt +4d520461-35ba-47cf-9306-350af5d1d5d8.0-->und\4d520461-35ba-47cf-9306-350af5d1d5d8.0 +4d520461-35ba-47cf-9306-350af5d1d5d8.0-->und\4d520461-35ba-47cf-9306-350af5d1d5d8.0 +copyinfo-->und\copyinfo +ee4ff151-9500-4966-9c18-8499b60534d0.0\info-->und\ee4ff151-9500-4966-9c18-8499b60534d0.0\info +ee4ff151-9500-4966-9c18-8499b60534d0.0\text-->ObjectModule.txt +root-->und\root +version-->und\version +versions-->und\versions diff --git "a/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/und/421a27d5-c2f1-4844-86c0-c04fb5a1001f" "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/und/421a27d5-c2f1-4844-86c0-c04fb5a1001f" new file mode 100644 index 00000000..051766b0 --- /dev/null +++ "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/und/421a27d5-c2f1-4844-86c0-c04fb5a1001f" @@ -0,0 +1,17 @@ +{1, +{421a27d5-c2f1-4844-86c0-c04fb5a1001f},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,cd570446-fb13-4855-bb0e-5695a8e88940,7153cfd0-e9c6-4a51-b1f3-0db42c9f1c9a, +{0, +{0, +{0,0,ee4ff151-9500-4966-9c18-8499b60534d0},"Тесты_СистемаПлагинов", +{1,"ru","Тесты система плагинов"},""} +},4d520461-35ba-47cf-9306-350af5d1d5d8,"",00000000-0000-0000-0000-000000000000},4, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, +{3daea016-69b7-4ed4-9453-127911372fe6,0}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,4d520461-35ba-47cf-9306-350af5d1d5d8}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} +} +} +} \ No newline at end of file diff --git "a/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/und/4d520461-35ba-47cf-9306-350af5d1d5d8" "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/und/4d520461-35ba-47cf-9306-350af5d1d5d8" new file mode 100644 index 00000000..d5d2147d --- /dev/null +++ "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/und/4d520461-35ba-47cf-9306-350af5d1d5d8" @@ -0,0 +1,15 @@ +{1, +{1, +{0, +{12, +{0, +{0,0,4d520461-35ba-47cf-9306-350af5d1d5d8},"Форма", +{1,"ru","Форма"},""},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/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/und/4d520461-35ba-47cf-9306-350af5d1d5d8.0" "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/und/4d520461-35ba-47cf-9306-350af5d1d5d8.0" new file mode 100644 index 00000000..776e467c --- /dev/null +++ "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/und/4d520461-35ba-47cf-9306-350af5d1d5d8.0" @@ -0,0 +1,151 @@ +{2, +{36,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1, +{1,0},0,0,1,1,1,0,1,0, +{0}, +{0},1, +{19, +{-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,"","",1, +{19, +{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, +{8, +{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}, +{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,"",2,0},"&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин(""БазовыеУтверждения""); +КонецПроцедуры + +&НаКлиенте +Функция ПолучитьСписокТестов() Экспорт + ВсеТесты = Новый Массив; + + // Plugin interface + ВсеТесты.Добавить(""ТестДолжен_ПроверитьОписаниеПлагина""); + + // Core + ВсеТесты.Добавить(""ТестДолжен_ПроверитьПолучениеПлагинаПоИдентификатору""); + ВсеТесты.Добавить(""ТестДолжен_ПолучитьСписокЗагруженныхПлагиновПоТипу""); + + Возврат ВсеТесты; +КонецФункции + +// { Plugin interface +&НаКлиенте +Процедура ТестДолжен_ПроверитьОписаниеПлагина() Экспорт + ЗагрузчикТестов = КонтекстЯдра.ЗагрузчикПоУмолчанию(); + ВозможныеТипыПлагинов = КонтекстЯдра.Объект.ТипыПлагинов; + ОписаниеПлагина = ЗагрузчикТестов.ОписаниеПлагина(ВозможныеТипыПлагинов); + Утверждения.ПроверитьРавенство(ОписаниеПлагина.Тип, ВозможныеТипыПлагинов.Загрузчик, ""ОписаниеПлагина.Тип, юТест.ТипыПлагинов().Загрузчик""); + Утверждения.ПроверитьРавенство(ОписаниеПлагина.Идентификатор, ""ЗагрузчикКаталога"", ""ОписаниеПлагина.Идентификатор""); + Утверждения.ПроверитьРавенство(ОписаниеПлагина.Представление, ""Загрузить тесты из каталога файловой системы"", ""ОписаниеПлагина.Представление""); +КонецПроцедуры +// } Plugin interface + +// { Core +&НаКлиенте +Процедура ТестДолжен_ПроверитьПолучениеПлагинаПоИдентификатору() Экспорт + ЗагрузчикТестов = КонтекстЯдра.Плагин(""ЗагрузчикФайла""); + ВозможныеТипыПлагинов = КонтекстЯдра.Объект.ТипыПлагинов; + ОписаниеПлагина = ЗагрузчикТестов.ОписаниеПлагина(ВозможныеТипыПлагинов); + Утверждения.ПроверитьРавенство(ОписаниеПлагина.Тип, ВозможныеТипыПлагинов.Загрузчик, ""ОписаниеПлагина.Тип, юТест.ТипыПлагинов().Загрузчик""); + Утверждения.ПроверитьРавенство(ОписаниеПлагина.Идентификатор, ""ЗагрузчикФайла"", ""ОписаниеПлагина.Идентификатор""); + Утверждения.ПроверитьРавенство(ОписаниеПлагина.Представление, ""Загрузить тесты из файлов"", ""ОписаниеПлагина.Представление""); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПолучитьСписокЗагруженныхПлагиновПоТипу() Экспорт + ВозможныеТипыПлагинов = КонтекстЯдра.Объект.ТипыПлагинов; + ОписанияЗагрузчиков = КонтекстЯдра.ПолучитьОписанияПлагиновПоТипу(ВозможныеТипыПлагинов.Загрузчик); + + Утверждения.ПроверитьТип(ОписанияЗагрузчиков, ""Массив"", ""Загрузчики""); + Утверждения.ПроверитьБольше(ОписанияЗагрузчиков.Количество(), 0, ""Загрузчики.Количество()""); + Для каждого ОписаниеПлагина Из ОписанияЗагрузчиков Цикл + Утверждения.ПроверитьРавенство(ОписаниеПлагина.Тип, ВозможныеТипыПлагинов.Загрузчик, ""ОписаниеПлагина.Тип, юТест.ТипыПлагинов().Загрузчик""); + Утверждения.ПроверитьЗаполненность(ОписаниеПлагина.Идентификатор, ""ОписаниеПлагина.Идентификатор""); + Утверждения.ПроверитьЗаполненность(ОписаниеПлагина.Представление, ""ОписаниеПлагина.Представление""); + КонецЦикла; +КонецПроцедуры +// } Core +", +{4,1, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",cd570446-fb13-4855-bb0e-5695a8e88940} +}, +{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 +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,0}, +{0,0}, +{0,0}, +{0,0} +} \ No newline at end of file diff --git "a/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/und/copyinfo" "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/und/copyinfo" new file mode 100644 index 00000000..98ce8bfa --- /dev/null +++ "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/und/copyinfo" @@ -0,0 +1,16 @@ +{4, +{2, +{4d520461-35ba-47cf-9306-350af5d1d5d8,4d520461-35ba-47cf-9306-350af5d1d5d8,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} +}, +{ee4ff151-9500-4966-9c18-8499b60534d0,ee4ff151-9500-4966-9c18-8499b60534d0,1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"Тесты_СистемаПлагинов"} +} +}, +{1, +{cd570446-fb13-4855-bb0e-5695a8e88940,ee4ff151-9500-4966-9c18-8499b60534d0,0} +}, +{0}, +{0,0}, +{0} +} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/6c74a597-6dc6-44ac-97bd-b8871cccb0b2.0/info" "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/und/ee4ff151-9500-4966-9c18-8499b60534d0.0/info" similarity index 100% rename from "src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/6c74a597-6dc6-44ac-97bd-b8871cccb0b2.0/info" rename to "src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/und/ee4ff151-9500-4966-9c18-8499b60534d0.0/info" diff --git "a/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/und/root" "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/und/root" new file mode 100644 index 00000000..ae3c7db6 --- /dev/null +++ "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/und/root" @@ -0,0 +1 @@ +{2,421a27d5-c2f1-4844-86c0-c04fb5a1001f,} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/version" "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/und/version" similarity index 100% rename from "src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/version" rename to "src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/und/version" diff --git "a/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/und/versions" "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/und/versions" new file mode 100644 index 00000000..8ed681ab --- /dev/null +++ "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/und/versions" @@ -0,0 +1 @@ +{1,9,"",26fa2f71-d060-451c-89f7-d0023148c1ca,"4d520461-35ba-47cf-9306-350af5d1d5d8",52dde3c3-257a-4c77-a993-67d063d0f7ac,"versions",43c84ba7-35cf-4980-8ccf-6b7cd88abb94,"root",70dc190c-94d2-404e-a7f3-910a493c14a6,"421a27d5-c2f1-4844-86c0-c04fb5a1001f",a313d493-2895-43cf-be18-2f3c9de6c607,"version",0e83fddd-86bd-49ec-a46d-15366de48e6e,"4d520461-35ba-47cf-9306-350af5d1d5d8.0",a8271d03-9340-4108-9cc0-4524d1c09157,"ee4ff151-9500-4966-9c18-8499b60534d0.0",b8ce5f40-8ad6-41d4-b7ec-e71630334270,"copyinfo",c55fdf7b-d68a-4452-9220-a011e1f14d92} \ No newline at end of file diff --git "a/src/Tests/Gui83/UILogToScript/Form/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/Gui83/UILogToScript/Form/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index 18cc212c..00000000 --- "a/src/Tests/Gui83/UILogToScript/Form/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,333 +0,0 @@ -&НаКлиенте -Перем ВариантыПреобразования; - -//////////////////////////////////////////////////////////////////////////////// -// Обработчики событий формы -&НаСервере -Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) - ОбъектНаСервере = Объект(); - ЭтаФорма.Заголовок = ОбъектНаСервере.ЗаголовокФормы(); - - // Настраиваем первоначальные значения - Объект.РазделятьКодНаПроцедуры = Истина; - - Объект.ВариантВстроенногоЯзыка = ? (Строка(Метаданные.ВариантВстроенногоЯзыка) = "Русский", "ru", "en"); - - Элементы.ВариантВстроенногоЯзыка.СписокВыбора.Добавить("ru", НСтр("ru = 'Русский'")); - Элементы.ВариантВстроенногоЯзыка.СписокВыбора.Добавить("en", НСтр("ru = 'Английский'")); - - Элементы.ПоискОбъектов.СписокВыбора.Добавить(0, НСтр("ru = 'По представлению'")); - Элементы.ПоискОбъектов.СписокВыбора.Добавить(1, НСтр("ru = 'По имени'")); - Элементы.ПоискОбъектов.СписокВыбора.Добавить(2, НСтр("ru = 'По имени и представлению'")); - - Элементы.ВариантПреобразования.СписокВыбора.Добавить(0, НСтр("ru = 'Из журнала'")); - Элементы.ВариантПреобразования.СписокВыбора.Добавить(1, НСтр("ru = 'Из текста'")); - Элементы.ВариантПреобразования.СписокВыбора.Добавить(2, НСтр("ru = 'Из журнала в обработку-тест для xUnitFor1C'")); - Элементы.ВариантПреобразования.СписокВыбора.Добавить(3, НСтр("ru = 'Из текста в обработку-тест для xUnitFor1C'")); - -КонецПроцедуры - -&НаКлиенте -Процедура ПриОткрытии(Отказ) - ВариантыПреобразования = СоздатьВариантыПреобразования(); - - Объект.ИмяОсновнойПроцедуры = "ТестовыйСценарий_" + ОчиститьДату(Формат(ТекущаяДата(), "ДЛФ=D")); - - ИзменитьВидимостьДоступность(); - -КонецПроцедуры - -&НаСервере -Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты) - - // В зависимости от того, как нужно работать добавляем поля для проверки - Если Объект.ВариантПреобразования = 0 ИЛИ Объект.ВариантПреобразования = 2 Тогда - - ПроверяемыеРеквизиты.Добавить("ИсходныйФайл"); - ПроверяемыеРеквизиты.Добавить("РезультирующийФайл"); - - Иначе - - Если Не ЗначениеЗаполнено(ИсходныйТекст.ПолучитьТекст()) Тогда - - Отказ = Истина; - - НовоеСообщение = Новый СообщениеПользователю(); - НовоеСообщение.Текст = НСтр("ru = 'Поле ""Журнал действий пользователя"" не заполнено.'"); - НовоеСообщение.ПутьКДанным = "ИсходныйТекст"; - НовоеСообщение.Сообщить(); - - КонецЕсли; - - КонецЕсли; - -КонецПроцедуры - -//////////////////////////////////////////////////////////////////////////////// -// Обработчики событий элементов управления -&НаКлиенте -Процедура ВариантПреобразованияПриИзменении(Элемент) - - ИзменитьВидимостьДоступность(); - -КонецПроцедуры - -&НаКлиенте -Процедура ВариантВстроенногоЯзыкаОчистка(Элемент, СтандартнаяОбработка) - - СтандартнаяОбработка = Ложь; - -КонецПроцедуры - -&НаКлиенте -Процедура ВариантВстроенногоЯзыкаПриИзменении(Элемент) - - Объект.ИмяОсновнойПроцедуры = ? (Объект.ВариантВстроенногоЯзыка = "ru", "ТестовыйСценарий_", "TestScenario_") + ОчиститьДату(Формат(ТекущаяДата(), "ДЛФ=D")); - -КонецПроцедуры - -&НаКлиенте -Процедура ИсходныйФайлПриНачалеВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) - - СтандартнаяОбработка = Ложь; - - Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); - - Диалог.ПолноеИмяФайла = ИсходныйФайл; - Диалог.Заголовок = НСтр("ru = 'Укажите файл журнала действий пользователя'"); - Диалог.Фильтр = НСтр("ru = 'Файлы журнала действий пользователя (*.uil,*.txt,*.xml)|*.uil;*.txt;*.xml|Все файлы (*.*)|*.*'"); - Диалог.Расширение = ".uil"; - - Если Диалог.Выбрать() Тогда - - ИсходныйФайл = Диалог.ПолноеИмяФайла; - - Если Не ЗначениеЗаполнено(РезультирующийФайл) Тогда - - Если Объект.ВариантПреобразования = ВариантыПреобразования.Журнал Тогда - - РезультирующийФайл = Лев(Диалог.ПолноеИмяФайла, СтрДлина(Диалог.ПолноеИмяФайла) - СтрДлина(Диалог.Расширение)) + НСтр("ru = 'ТекстМодуля'") + ".txt"; - - ИначеЕсли Объект.ВариантПреобразования = ВариантыПреобразования.ГенерацияОбработкиПоЖурналу Тогда - - РезультирующийФайл = Лев(Диалог.ПолноеИмяФайла, СтрДлина(Диалог.ПолноеИмяФайла) - СтрДлина(Диалог.Расширение)) + ".epf"; - - КонецЕсли; - - КонецЕсли; - - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ИсходныйФайлПриОткрытии(Элемент, СтандартнаяОбработка) - - СтандартнаяОбработка = Ложь; - - ДокументПросмотра = Новый ТекстовыйДокумент(); - ДокументПросмотра.Прочитать(ИсходныйФайл); - ДокументПросмотра.Показать(ИсходныйФайл); - -КонецПроцедуры - -&НаКлиенте -Процедура РезультирующийФайлПриНачалеВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) - - СтандартнаяОбработка = Ложь; - - Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); - - Диалог.ПолноеИмяФайла = РезультирующийФайл; - Диалог.Заголовок = НСтр("ru = 'Укажите файл для сохранения результата преобразования'"); - Диалог.Фильтр= НСтр("ru = 'Текстовые файлы (*.txt)|*.txt|Все файлы (*.*)|*.*'"); - Если Объект.ВариантПреобразования = ВариантыПреобразования.ГенерацияОбработкиПоЖурналу - или Объект.ВариантПреобразования = ВариантыПреобразования.ГенерацияОбработкиПоТексту Тогда - - Диалог.Фильтр= НСтр("ru = 'Внешние обработки (*.epf)|*.epf|Все файлы (*.*)|*.*'"); - КонецЕсли; - - Если Диалог.Выбрать() Тогда - - РезультирующийФайл = Диалог.ПолноеИмяФайла; - - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура РезультирующийФайлПриОткрытии(Элемент, СтандартнаяОбработка) - - Если Объект.ВариантПреобразования = ВариантыПреобразования.Журнал Тогда - - СтандартнаяОбработка = Ложь; - - ДокументПросмотра = Новый ТекстовыйДокумент(); - ДокументПросмотра.Прочитать(РезультирующийФайл); - ДокументПросмотра.Показать(РезультирующийФайл); - - КонецЕсли; - -КонецПроцедуры - -//////////////////////////////////////////////////////////////////////////////// -// Вспомогательные процедуры и функции -&НаКлиенте -Функция ЭтоЦифра(Символ) - - Код = КодСимвола (Символ); - Возврат Код >= 48 И Код <= 57; - -КонецФункции - -&НаКлиенте -Функция ЭтоБуква(Символ) - - // Считаем, что для небуквенных символов коды не отличаются - Возврат КодСимвола(НРег(Символ)) <> КодСимвола(ВРег(Символ)); - -КонецФункции - -&НаКлиенте -Функция ОчиститьДату(ДатаДляОчистки) - - Результат = ""; - - ДлинаСтроки = СтрДлина(ДатаДляОчистки); - Для Индекс = 1 To ДлинаСтроки Цикл - СледующийСимвол = Сред(ДатаДляОчистки,Индекс, 1); - Если ЭтоЦифра(СледующийСимвол) Тогда - Результат = Результат + СледующийСимвол; - Иначе - Результат = Результат + "_"; - КонецЕсли; - КонецЦикла; - - Возврат Результат; - -КонецФункции - -&НаКлиенте -Процедура ИзменитьВидимостьДоступность() - //Элементы.ИсходныеДанные.ТекущаяСтраница = ? ((Объект.ВариантПреобразования = ВариантыПреобразования.Журнал - // ИЛИ Объект.ВариантПреобразования = ВариантыПреобразования.ГенерацияОбработкиПоЖурналу), - // - // Элементы.ИсходныеФайлы, Элементы.ИсходныеТексты); - - - Если Объект.ВариантПреобразования = ВариантыПреобразования.Журнал - ИЛИ Объект.ВариантПреобразования = ВариантыПреобразования.ГенерацияОбработкиПоЖурналу Тогда - - Элементы.ИсходныеДанные.ТекущаяСтраница = Элементы.ИсходныеФайлы; - ИначеЕсли Объект.ВариантПреобразования = ВариантыПреобразования.ГенерацияОбработкиПоТексту Тогда - Элементы.ИсходныеДанные.ТекущаяСтраница = Элементы.ГенерацияФайлаПоТексту; - Иначе - Элементы.ИсходныеДанные.ТекущаяСтраница = Элементы.ИсходныеТексты; - КонецЕсли; - - ЭтоШтатныйВариант1С = Объект.ВариантПреобразования <> ВариантыПреобразования.ГенерацияОбработкиПоЖурналу и Объект.ВариантПреобразования <> ВариантыПреобразования.ГенерацияОбработкиПоТексту; - Объект.ГененироватьКодПодключенияККлиенту = ЭтоШтатныйВариант1С; - Элементы.ГененироватьКодПодключенияККлиенту.Доступность = ЭтоШтатныйВариант1С; - -КонецПроцедуры - -&НаКлиенте -Функция СоздатьВариантыПреобразования() - Структура = Новый Структура; - Структура.Вставить("Журнал", 0); - Структура.Вставить("Текст", 1); - Структура.Вставить("ГенерацияОбработкиПоЖурналу", 2); - Структура.Вставить("ГенерацияОбработкиПоТексту", 3); - Структура = Новый ФиксированнаяСтруктура(Структура); - Возврат Структура; -КонецФункции - -&НаСервере -Функция Объект() Экспорт - Возврат РеквизитФормыВЗначение("Объект"); -КонецФункции - -//////////////////////////////////////////////////////////////////////////////// -// Процедуры преобразования -&НаСервере -Функция ПреобразоватьНаСервере(ТекстДляПреобразования) - - Возврат Объект().Преобразовать(ТекстДляПреобразования); - -КонецФункции - -&НаСервере -Функция ПреобразоватьВоВнешнююОбработку(ТекстДляПреобразования) - - СтрокаBase64 = Объект().СоздатьВнешнююОбработку(ТекстДляПреобразования); - - Возврат СтрокаBase64 - -КонецФункции - - -&НаКлиенте -Процедура Преобразовать(Команда) - - // Подготавливаем всё к преобразованию - ОчиститьСообщения(); - Если Не ПроверитьЗаполнение() Тогда - Возврат; - КонецЕсли; - - ТекстДляПреобразования = ""; - Если Объект.ВариантПреобразования = ВариантыПреобразования.Журнал ИЛИ Объект.ВариантПреобразования = ВариантыПреобразования.ГенерацияОбработкиПоЖурналу Тогда - - Читатель = Новый ТекстовыйДокумент(); - Читатель.Прочитать(ИсходныйФайл); - ТекстДляПреобразования = Читатель.ПолучитьТекст(); - Читатель = Неопределено; - - Иначе - - ТекстДляПреобразования = ИсходныйТекст.ПолучитьТекст(); - - КонецЕсли; - - Если Объект.ВариантПреобразования = ВариантыПреобразования.ГенерацияОбработкиПоЖурналу - или Объект.ВариантПреобразования = ВариантыПреобразования.ГенерацияОбработкиПоТексту Тогда - - РезультатПреобразования = ПреобразоватьВоВнешнююОбработку(ТекстДляПреобразования); - - Иначе - - РезультатПреобразования = ПреобразоватьНаСервере(ТекстДляПреобразования); - - КонецЕсли; - - Если Не ЗначениеЗаполнено(РезультатПреобразования) Тогда - Сообщить(НСтр("ru = 'Не удалось выполнить преобразование'")); - Возврат; - КонецЕсли; - - Если Объект.ВариантПреобразования = ВариантыПреобразования.Журнал Тогда - - Писатель = Новый ТекстовыйДокумент(); - Писатель.ДобавитьСтроку(РезультатПреобразования); - Писатель.Записать(РезультирующийФайл); - Писатель.Показать(РезультирующийФайл); - - ИначеЕсли Объект.ВариантПреобразования = ВариантыПреобразования.ГенерацияОбработкиПоЖурналу - или Объект.ВариантПреобразования = ВариантыПреобразования.ГенерацияОбработкиПоТексту Тогда - - Попытка - ДвоичныеДанные = Base64Значение(РезультатПреобразования); - ДвоичныеДанные.Записать(РезультирующийФайл); - Исключение - Сообщить("Не удалось сохранить base64 внешнией обработки в файл"); - КонецПопытки; - - Иначе - - РезультирующийТекст.Очистить(); - РезультирующийТекст.ДобавитьСтроку(РезультатПреобразования); - - КонецЕсли; - -КонецПроцедуры - diff --git a/src/Tests/Gui83/UILogToScript/ObjectModule.txt b/src/Tests/Gui83/UILogToScript/ObjectModule.txt deleted file mode 100644 index 42c14e00..00000000 --- a/src/Tests/Gui83/UILogToScript/ObjectModule.txt +++ /dev/null @@ -1,1307 +0,0 @@ -Перем СозданныеВОкнеИФормеПеременные; -Перем Отступ; - -Функция Версия() Экспорт - Возврат "3.0.0.3"; -КонецФункции - -Функция ЗаголовокФормы() Экспорт - Возврат СокрЛП(Метаданные().Синоним) + ", версия " + Версия();; -КонецФункции - -Функция Преобразовать(ТекстДляПреобразования) Экспорт - - Читатель = Новый ЧтениеXML(); - Читатель.УстановитьСтроку(ТекстДляПреобразования); - - СозданныеПроцедуры = Новый Массив(); - СозданныеВОкнеИФормеПеременные = Новый Соответствие(); - - Писатель = Новый ТекстовыйДокумент(); - - Читатель.ПерейтиКСодержимому(); - Отступ = 0; - - // Преобразовываем файл - Если Читатель.ТипУзла = ТипУзлаXML.НачалоЭлемента И - Читатель.Имя = "uilog" Тогда - - ПреобразоватьВСценарий(Читатель, Писатель); - - КонецЕсли; - - Возврат Писатель.ПолучитьТекст(); - -КонецФункции - -//////////////////////////////////////////////////////////////////////////////// -// Вспомогательные процедуры и функции -Процедура ДобавитьСтроку(Писатель, СтрокаДляВывода, ДобавлятьПереход = Ложь) - - // Добавляем в начало строки необходимое количество пробелов - Результат = ""; - Для Индекс = 1 To Отступ Цикл - Результат = Результат + " "; - КонецЦикла; - Результат = Результат + СтрокаДляВывода; - - // Добавляем строку в конец - Писатель.ДобавитьСтроку(Результат); - Если ДобавлятьПереход Тогда - Писатель.ДобавитьСтроку(""); - КонецЕсли; - -КонецПроцедуры - -Процедура ВставитьСтроку(Писатель, НомерСтроки, СтрокаДляВывода) - - // Добавляем в начало строки необходимое количество пробелов - Результат = ""; - Для Индекс = 1 To Отступ Цикл - Результат = Результат + " "; - КонецЦикла; - Результат = Результат + СтрокаДляВывода; - - // Вставляем строку в начало - Писатель.ВставитьСтроку(НомерСтроки, Результат); - -КонецПроцедуры - -Функция УдвоитьКавычки(СтрокаДляВывода) - - // Для правильного вывода в файл удваиваем кавычки - Возврат СтрЗаменить(СтрокаДляВывода, """", """"""); - -КонецФункции - -Функция ЗначенияПоискаДляЗаголовка(Заголовок, Имя) - - // Поиск "по заголовку" или "по имени и заголовку" - Если ПоискОбъектов = 0 Или ПоискОбъектов = 2 Тогда - Если Не Заголовок = Неопределено Тогда - Возврат """" + УдвоитьКавычки(Заголовок) + """"; - КонецЕсли; - Если ПоискОбъектов = 2 и Имя = Неопределено Тогда - ВызватьИсключение НСтр("ru = 'У объекта должны быть заполнены заголовок или имя'"); - КонецЕсли; - Возврат ""; - // Поиск "по имени" - ИначеЕсли ПоискОбъектов = 1 Тогда - Если Имя = Неопределено Тогда - Возврат """" + УдвоитьКавычки(Заголовок) + """"; - КонецЕсли; - Возврат ""; - // Поиск по имени и заголовку - Иначе - ВызватьИсключение НСтр("ru = 'Неожиданный тип поиска объектов: '") + ПоискОбъектов; - КонецЕсли; - -КонецФункции - -Функция ЗначенияПоискаДляИмени(Заголовок, Имя) - - // Поиск "по заголовку" - Если ПоискОбъектов = 0 Тогда - Возврат ""; - // Поиск "по имени" или "по имени и заголовку" - ИначеЕсли ПоискОбъектов = 1 Или ПоискОбъектов = 2 Тогда - Если Не Имя = Неопределено Тогда - Возврат """" + Имя + """"; - КонецЕсли; - Если ПоискОбъектов = 2 И Заголовок = Неопределено Тогда - ВызватьИсключение НСтр("ru = 'У объекта должны быть заполнены заголовок или имя'"); - КонецЕсли; - Возврат ""; - Иначе - ВызватьИсключение НСтр("ru = 'Неожиданный тип поиска объектов: '") + ПоискОбъектов; - КонецЕсли; - -КонецФункции - -Функция ПреобразоватьЗаголовокВИмяПеременной(ТипОбъекта, ЗаголовокОбъекта) - - // Имя переменной начинается с имени типа - Если ТипОбъекта = "ClientApplicationWindow" Тогда - ИмяПеременной = ? (ВариантВстроенногоЯзыка = "ru", "ОкноПриложения", "ClientWindow"); - ИначеЕсли ТипОбъекта = "Form" Тогда - ИмяПеременной = ? (ВариантВстроенногоЯзыка = "ru", "Форма", "Form"); - ИначеЕсли ТипОбъекта = "FormField" Тогда - ИмяПеременной = ? (ВариантВстроенногоЯзыка = "ru", "Поле", "Field"); - ИначеЕсли ТипОбъекта = "FormButton" Тогда - ИмяПеременной = ? (ВариантВстроенногоЯзыка = "ru", "Кнопка", "Button"); - ИначеЕсли ТипОбъекта = "FormGroup" Тогда - ИмяПеременной = ? (ВариантВстроенногоЯзыка = "ru", "Группа", "Group"); - ИначеЕсли ТипОбъекта = "FormTable" Тогда - ИмяПеременной = ? (ВариантВстроенногоЯзыка = "ru", "Таблица", "Table"); - ИначеЕсли ТипОбъекта = "FormDecoration" Тогда - ИмяПеременной = ? (ВариантВстроенногоЯзыка = "ru", "Декорация", "Decoration"); - ИначеЕсли ТипОбъекта = "CommandInterface" Тогда - ИмяПеременной = ? (ВариантВстроенногоЯзыка = "ru", "КомандныйИнтерфейс", "CommandInterface"); - ИначеЕсли ТипОбъекта = "CommandInterfaceGroup" Тогда - ИмяПеременной = ? (ВариантВстроенногоЯзыка = "ru", "ГруппаКомандногоИнтерфейса", "CommandInterfaceGroup"); - ИначеЕсли ТипОбъекта = "CommandInterfaceButton" Тогда - ИмяПеременной = ? (ВариантВстроенногоЯзыка = "ru", "КнопкаКомандногоИнтерфейса", "CommandInterfaceButton"); - Иначе - ВызватьИсключение НСтр("ru = 'Неопознанный узел '") + ТипОбъекта; - КонецЕсли; - - // Отсекаем всё, что не является буквами и цифрами - ПредыдущийСимволЭтоПробел = Истина; - ДлинаСтроки = СтрДлина(ЗаголовокОбъекта); - Для Индекс = 1 To ДлинаСтроки Цикл - - СледующийСимвол = Сред(ЗаголовокОбъекта,Индекс, 1); - Если ЭтоБуква(СледующийСимвол) Или ЭтоЦифра(СледующийСимвол) Тогда - ИмяПеременной = ИмяПеременной + ? (ПредыдущийСимволЭтоПробел, ВРег(СледующийСимвол), СледующийСимвол); - ПредыдущийСимволЭтоПробел = Ложь; - Иначе - ПредыдущийСимволЭтоПробел = Истина; - КонецЕсли; - КонецЦикла; - - Возврат ИмяПеременной; - -КонецФункции - -Функция ЭтоЦифра(Символ) - - Код = КодСимвола (Символ); - Возврат Код >= 48 И Код <= 57; - -КонецФункции - -Функция ЭтоБуква(Символ) - - // Считаем, что для небуквенных символов коды не отличаются - Возврат КодСимвола(НРег(Символ)) <> КодСимвола(ВРег(Символ)); - -КонецФункции - -//////////////////////////////////////////////////////////////////////////////// -// Процедуры преобразования -Процедура ПреобразоватьВСценарий(Читатель, Писатель) - - Если ГененироватьКодПодключенияККлиенту Тогда - - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", "&НаКлиенте", "&AtClient")); - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", "Процедура ", "Procedure ") + ИмяОсновнойПроцедуры + "()", Истина); - - Отступ = Отступ + 1; - - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", "ТестовоеПриложение = Новый ТестируемоеПриложение();", - "TestedApplication = New TestedApplication();")); - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", "ВремяОкончанияОжидания = ТекущаяДата() + 60;", - "WaitingTime = CurrentDate() + 60;")); - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", "Подключен = Ложь;", - "Connected = Ложь;")); - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", "ОписаниеОшибкиСоединения = """";", - "ConnectingErrorDescription = """";")); - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", "Пока Не ТекущаяДата() >= ВремяОкончанияОжидания Цикл", - "Пока Не CurrentDate() >= WaitingTime Do")); - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", " Попытка", - " Try")); - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", " ТестовоеПриложение.УстановитьСоединение();", - " TestedApplication.Connect();")); - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", " Подключен = Истина;", - " Connected = Истина;")); - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", " Прервать;", - " Break;")); - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", " Исключение", - " Except")); - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", " ОписаниеОшибкиСоединения = ОписаниеОшибки();", - " ConnectingErrorDescription = ErrorDescription();")); - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", " КонецПопытки;", - " EndTry;")); - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", "КонецЦикла;", - "EndDo;")); - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", "Если Не Подключен Тогда", - "Если Не Connected Тогда")); - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", " ТестовоеПриложение = Неопределено;", - " TestedApplication = Undefined;")); - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", " Сообщить(""Не смогли установить соединение! "" + Символы.ПС + ОписаниеОшибкиСоединения);", - " Message(""Couldn't establish connection! "" + Chars.LF + ConnectingErrorDescription);")); - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", " Возврат;", - " Возврат;")); - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", "КонецЕсли;", - "КонецЕсли;"), Истина); - - Отступ = Отступ - 1; - - Иначе - - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", "&НаКлиенте", "&AtClient")); - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", "Процедура ", "Procedure ") + ИмяОсновнойПроцедуры + ? (ВариантВстроенногоЯзыка = "ru", "(ТестовоеПриложение)", "(TestedApplication)"), Истина); - - КонецЕсли; - - Читатель.Прочитать(); - - ЛокальныйПисатель = Писатель; - Если РазделятьКодНаПроцедуры Тогда - ЛокальныйПисатель = Новый ТекстовыйДокумент(); - КонецЕсли; - - Пока Читатель.ТипУзла <> ТипУзлаXML.КонецЭлемента Цикл - - Если Читатель.Имя = "ClientApplicationWindow" Тогда - - ЛокальноеИмяПроцедуры = ""; - ПреобразоватьОкно(Читатель, ЛокальныйПисатель, ЛокальноеИмяПроцедуры); - - Если РазделятьКодНаПроцедуры Тогда - - Отступ = Отступ + 1; - ДобавитьСтроку(Писатель, ЛокальноеИмяПроцедуры + ? (ВариантВстроенногоЯзыка = "ru", "(ТестовоеПриложение);", "(TestedApplication);")); - Отступ = Отступ - 1 ; - - КонецЕсли; - - ИначеЕсли Читатель.Имя = "Form" Тогда - - ДобавитьСтроку(Писатель, ""); - - Отступ = Отступ + 1; - - ОбрабатываемоеОкно = ""; - СозданныеВОкнеИФормеПеременные.Вставить(ОбрабатываемоеОкно, Новый Соответствие()); - ПреобразоватьФорму(Читатель, Писатель, ? (ВариантВстроенногоЯзыка = "ru", "ТестовоеПриложение", "TestedApplication")); - - Отступ = Отступ - 1; - - Иначе - - ВызватьИсключение НСтр("ru = 'Неопознанный узел '") + Читатель.Имя + ": " + Читатель.Значение; - - КонецЕсли; - - КонецЦикла; - - Если РазделятьКодНаПроцедуры Тогда - ДобавитьСтроку(Писатель, ""); - КонецЕсли; - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", "КонецПроцедуры", "EndProcedure")); - - Если РазделятьКодНаПроцедуры Тогда - ДобавитьСтроку(Писатель, ЛокальныйПисатель.ПолучитьТекст()); - КонецЕсли; - -КонецПроцедуры - -Процедура ПреобразоватьОкно(Читатель, Писатель, ЛокальноеИмяПроцедуры) - - ТипОбъекта = Читатель.Имя; - ЗаголовокОбъекта = ""; - ЭтоГлавноеОкно = Ложь; - Пока Читатель.ПрочитатьАтрибут() Цикл - Если Читатель.Имя = "caption" Тогда - ЗаголовокОбъекта = Читатель.Значение; - ИначеЕсли Читатель.Имя = "isMain" Тогда - ЭтоГлавноеОкно = Булево(Читатель.Значение); - КонецЕсли; - КонецЦикла; - - ИмяПеременной = ПреобразоватьЗаголовокВИмяПеременной(ТипОбъекта, ? (ЭтоГлавноеОкно, ? (ВариантВстроенногоЯзыка = "ru", "Основное", "Main"), ЗаголовокОбъекта)); - - ОбрабатываемоеОкно = ИмяПеременной; - - Если РазделятьКодНаПроцедуры Тогда - КоличествоСтрокПередОбработкой = Писатель.КоличествоСтрок(); - КонецЕсли; - - Отступ = Отступ + 1; - - Если СозданныеВОкнеИФормеПеременные.Получить(ОбрабатываемоеОкно) = Неопределено Тогда - - СозданныеВОкнеИФормеПеременные.Вставить(ОбрабатываемоеОкно, Новый Соответствие()); - - Если ЭтоГлавноеОкно Тогда - ДобавитьСтроку(Писатель, ""); - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", " = Неопределено;", " = Undefined;")); - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", "КлиентсткиеОкнаТестируемогоПриложения = ТестовоеПриложение.ПолучитьПодчиненныеОбъекты();", - "TestedApplicationClienWindows = TestedApplication.GetChildObjects();")); - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", "Для Каждого ТестируемоеОкно Из КлиентсткиеОкнаТестируемогоПриложения Цикл", - "For Each TestedWindow In TestedApplicationClienWindows Do")); - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", " Если ТестируемоеОкно.Основное Тогда", - " Если TestedWindow.IsMain Тогда")); - ДобавитьСтроку(Писатель, " " + ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", " = ТестируемоеОкно;", - " = TestedWindow;")); - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", " Прервать;", - " Break;")); - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", " КонецЕсли;", - " КонецЕсли;")); - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", "КонецЦикла;", - "EndDo;")); - Иначе - - ДобавитьСтроку(Писатель, - ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", " = ТестовоеПриложение.НайтиОбъект(Тип(""ТестируемоеОкноКлиентскогоПриложения""), """, - " = TestedApplication.FindIbject(Type(""TestedClientApplicationWindow""), """) + УдвоитьКавычки(ЗаголовокОбъекта) + """, , 30);"); - КонецЕсли; - - КонецЕсли; - ОкноБылоЗакрыто = Ложь; - - Читатель.Прочитать(); - Пока Читатель.ТипУзла <> ТипУзлаXML.КонецЭлемента Цикл - - Если Читатель.Имя = "Form" Тогда - ПреобразоватьФорму(Читатель, Писатель, ИмяПеременной); - ИначеЕсли Читатель.Имя = "CommandInterface" Тогда - ПреобразоватьКомандныйИнтерфейсОкна(Читатель, Писатель, ИмяПеременной); - ИначеЕсли Не ПреобразоватьКоманду(Читатель, Писатель, ИмяПеременной) Тогда - ВызватьИсключение НСтр("ru = 'Неопознанный узел '") + Читатель.Имя + ": " + Читатель.Значение; - КонецЕсли; - - КонецЦикла; - - Отступ = Отступ - 1; - Читатель.Прочитать(); - - Если ОкноБылоЗакрыто Или РазделятьКодНаПроцедуры Тогда - СозданныеВОкнеИФормеПеременные.Удалить(ОбрабатываемоеОкно); - КонецЕсли; - - Если РазделятьКодНаПроцедуры Тогда - - КоличествоПроцедур = 0; - Пока Истина Цикл - ЛокальноеИмяПроцедуры = ИмяПеременной + ПоследнийОбработанныйЭлементУправления + ПоследняяОбработаннаяКоманда + ? (КоличествоПроцедур = 0, "", КоличествоПроцедур); - Пролог = ? (ВариантВстроенногоЯзыка = "ru", "Процедура ", "Procedure ") + ЛокальноеИмяПроцедуры + ? (ВариантВстроенногоЯзыка = "ru", "(ТестовоеПриложение)", "(TestedApplication)"); - Если СозданныеПроцедуры.Find(Пролог) = Неопределено Тогда - СозданныеПроцедуры.Add(Пролог); - Прервать; - КонецЕсли; - КоличествоПроцедур = КоличествоПроцедур + 1; - КонецЦикла; - - ВставитьСтроку(Писатель, КоличествоСтрокПередОбработкой, Пролог); - ВставитьСтроку(Писатель, КоличествоСтрокПередОбработкой, ? (ВариантВстроенногоЯзыка = "ru", "&НаКлиенте", "&AtClient")); - ВставитьСтроку(Писатель, КоличествоСтрокПередОбработкой, ""); - - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", "КонецПроцедуры", "EndProcedure"), Истина); - - КонецЕсли; - -КонецПроцедуры - -Процедура ПреобразоватьКомандныйИнтерфейсОкна(Читатель, Писатель, РодительскаяПеременная) - - ТипОбъекта = Читатель.Имя; - ЗаголовокОбъекта = ""; - Пока Читатель.ПрочитатьАтрибут() Цикл - Если Читатель.Имя = "title" Тогда - ЗаголовокОбъекта = Читатель.Значение; - КонецЕсли; - КонецЦикла; - - ПоследнийОбработанныйЭлементУправления = ПреобразоватьЗаголовокВИмяПеременной(ТипОбъекта, ЗаголовокОбъекта); - ИмяПеременной = РодительскаяПеременная + "КомандныйИнтерфейс"; - - ФормыОкна = СозданныеВОкнеИФормеПеременные.Получить(ОбрабатываемоеОкно); - Если ФормыОкна.Получить(ОбрабатываемаяФорма) = Неопределено Тогда - - ФормыОкна.Вставить(ОбрабатываемаяФорма, Новый Массив()); - - ДобавитьСтроку(Писатель, ИмяПеременной + " = " + РодительскаяПеременная + ? (ВариантВстроенногоЯзыка = "ru", ".ПолучитьКомандныйИнтерфейс();", ".GetCommandInterface();")); - - КонецЕсли; - - Читатель.Прочитать(); - - Пока Читатель.ТипУзла <> ТипУзлаXML.КонецЭлемента Цикл - Если Читатель.Имя = "CommandInterfaceButton" Тогда - ПреобразоватьКнопкуКомандногоИнтерфейса(Читатель, Писатель, ИмяПеременной); - ИначеЕсли Читатель.Имя = "CommandInterfaceGroup" Тогда - ПреобразоватьГруппуКомандногоИнтерфейса(Читатель, Писатель, ИмяПеременной); - ИначеЕсли Не ПреобразоватьКоманду(Читатель, Писатель, ИмяПеременной) Тогда - ВызватьИсключение НСтр("ru = 'Неопознанный узел '") + Читатель.Имя + ": " + Читатель.Значение; - КонецЕсли; - - КонецЦикла; - - Читатель.Прочитать(); - -КонецПроцедуры - -Процедура ПреобразоватьКнопкуКомандногоИнтерфейса(Читатель, Писатель, РодительскаяПеременная) - - ТипОбъекта = Читатель.Имя; - ЗаголовокОбъекта = ""; - Пока Читатель.ПрочитатьАтрибут() Цикл - Если Читатель.Имя = "title" Тогда - ЗаголовокОбъекта = Читатель.Значение; - КонецЕсли; - КонецЦикла; - - ПоследнийОбработанныйЭлементУправления = ПреобразоватьЗаголовокВИмяПеременной(ТипОбъекта, ЗаголовокОбъекта); - ИмяПеременной = ? (РазделятьКодНаПроцедуры, "", РодительскаяПеременная) + ПоследнийОбработанныйЭлементУправления; - - КоличествоСтрокПередОбработкой = Писатель.КоличествоСтрок(); - - Читатель.Прочитать(); - - КомандаБылаПреобразована = Ложь; - Пока Читатель.ТипУзла <> ТипУзлаXML.КонецЭлемента Цикл - - Если ПреобразоватьКоманду(Читатель, Писатель, ИмяПеременной) Тогда - КомандаБылаПреобразована = Истина; - Иначе - ВызватьИсключение НСтр("ru = 'Неопознанный узел '") + Читатель.Имя + ": " + Читатель.Значение; - КонецЕсли; - - КонецЦикла; - - Если КомандаБылаПреобразована Или СтроитьПолнуюИерархию Тогда - ВставитьСтроку(Писатель, КоличествоСтрокПередОбработкой + 1, - ИмяПеременной + " = " + РодительскаяПеременная + ? (ВариантВстроенногоЯзыка = "ru", ".НайтиОбъект(Тип(""ТестируемаяКнопкаКомандногоИнтерфейса""), """, - ".FindObject(Type(""TestedCommandInterfaceButton""), """) + УдвоитьКавычки(ЗаголовокОбъекта) + """);"); - КонецЕсли; - - Читатель.Прочитать(); - -КонецПроцедуры - -Процедура ПреобразоватьГруппуКомандногоИнтерфейса(Читатель, Писатель, РодительскаяПеременная) - - ТипОбъекта = Читатель.Имя; - ЗаголовокОбъекта = ""; - Пока Читатель.ПрочитатьАтрибут() Цикл - Если Читатель.Имя = "title" Тогда - ЗаголовокОбъекта = Читатель.Значение; - КонецЕсли; - КонецЦикла; - - ПоследнийОбработанныйЭлементУправления = ПреобразоватьЗаголовокВИмяПеременной(ТипОбъекта, ЗаголовокОбъекта); - ИмяПеременной = ? (РазделятьКодНаПроцедуры, "", РодительскаяПеременная) + ПоследнийОбработанныйЭлементУправления; - - КоличествоСтрокПередОбработкой = Писатель.КоличествоСтрок(); - - Читатель.Прочитать(); - - Пока Читатель.ТипУзла <> ТипУзлаXML.КонецЭлемента Цикл - - Если Читатель.Имя = "CommandInterfaceButton" Тогда - ПреобразоватьКнопкуКомандногоИнтерфейса(Читатель, Писатель, ? (СтроитьПолнуюИерархию, ИмяПеременной, РодительскаяПеременная)); - ИначеЕсли Читатель.Имя = "CommandInterfaceGroup" Тогда - ПреобразоватьГруппуКомандногоИнтерфейса(Читатель, Писатель, ? (СтроитьПолнуюИерархию, ИмяПеременной, РодительскаяПеременная)); - Иначе - ВызватьИсключение НСтр("ru = 'Неопознанный узел '") + Читатель.Имя + ": " + Читатель.Значение; - КонецЕсли; - - КонецЦикла; - - Если СтроитьПолнуюИерархию Тогда - ВставитьСтроку(Писатель, КоличествоСтрокПередОбработкой + 1, - ИмяПеременной + " = " + РодительскаяПеременная + ? (ВариантВстроенногоЯзыка = "ru", ".НайтиОбъект(Тип(""ТестируемаяГруппаКомандногоИнтерфейса""), """, - ".FindObject(Type(""TestedCommandInterfaceGroup""), """) + УдвоитьКавычки(ЗаголовокОбъекта) + """);"); - КонецЕсли; - - Читатель.Прочитать(); - -КонецПроцедуры - -Процедура ПреобразоватьФорму(Читатель, Писатель, РодительскаяПеременная) - - ТипОбъекта = Читатель.Имя; - ЗаголовокОбъекта = ""; - Пока Читатель.ПрочитатьАтрибут() Цикл - Если Читатель.Имя = "title" Тогда - ЗаголовокОбъекта = Читатель.Значение; - КонецЕсли; - КонецЦикла; - - ПоследнийОбработанныйЭлементУправления = ПреобразоватьЗаголовокВИмяПеременной(ТипОбъекта, ЗаголовокОбъекта); - ИмяПеременной = РодительскаяПеременная + ПоследнийОбработанныйЭлементУправления; - ОбрабатываемаяФорма = ИмяПеременной; - - ФормыОкна = СозданныеВОкнеИФормеПеременные.Получить(ОбрабатываемоеОкно); - Если ФормыОкна.Получить(ОбрабатываемаяФорма) = Неопределено Тогда - - ФормыОкна.Вставить(ОбрабатываемаяФорма, Новый Массив()); - - ДобавитьСтроку(Писатель, - ИмяПеременной + " = " + РодительскаяПеременная + ? (ВариантВстроенногоЯзыка = "ru", ".НайтиОбъект(Тип(""ТестируемаяФорма""), """, - ".FindObject(Type(""TestedForm""), """) + УдвоитьКавычки(ЗаголовокОбъекта) + """);"); - - КонецЕсли; - - Читатель.Прочитать(); - - Пока Читатель.ТипУзла <> ТипУзлаXML.КонецЭлемента Цикл - Если Читатель.Имя = "FormField" Тогда - ПреобразоватьПоле(Читатель, Писатель, ИмяПеременной); - ИначеЕсли Читатель.Имя = "FormTable" Тогда - ПреобразоватьТаблицу(Читатель, Писатель, ИмяПеременной); - ИначеЕсли Читатель.Имя = "FormDecoration" Тогда - ПреобразоватьДекорацию(Читатель, Писатель, ИмяПеременной); - ИначеЕсли Читатель.Имя = "FormButton" Тогда - ПреобразоватьКнопку(Читатель, Писатель, ИмяПеременной); - ИначеЕсли Читатель.Имя = "FormGroup" Тогда - ПреобразоватьГруппу(Читатель, Писатель, ИмяПеременной); - ИначеЕсли Не ПреобразоватьКоманду(Читатель, Писатель, ИмяПеременной) Тогда - ВызватьИсключение НСтр("ru = 'Неопознанный узел '") + Читатель.Имя + ": " + Читатель.Значение; - КонецЕсли; - - КонецЦикла; - - Читатель.Прочитать(); - -КонецПроцедуры - -Процедура ПреобразоватьТаблицу(Читатель, Писатель, РодительскаяПеременная) - - ТипОбъекта = Читатель.Имя; - ИмяОбъекта = Неопределено; - ЗаголовокОбъекта = Неопределено; - Пока Читатель.ПрочитатьАтрибут() Цикл - Если Читатель.Имя = "name" Тогда - ИмяОбъекта = Читатель.Значение; - ИначеЕсли Читатель.Имя = "title" Тогда - ЗаголовокОбъекта = Читатель.Значение; - КонецЕсли; - КонецЦикла; - - ПоследнийОбработанныйЭлементУправления = ПреобразоватьЗаголовокВИмяПеременной(ТипОбъекта, ? (ЗаголовокОбъекта = Неопределено, ИмяОбъекта, ЗаголовокОбъекта)); - ИмяПеременной = ? (РазделятьКодНаПроцедуры, "", РодительскаяПеременная) + ПоследнийОбработанныйЭлементУправления; - - КоличествоСтрокПередОбработкой = Писатель.КоличествоСтрок(); - - Читатель.Прочитать(); - - КомандаБылаПреобразована = Ложь; - Пока Читатель.ТипУзла <> ТипУзлаXML.КонецЭлемента Цикл - - Если Читатель.Имя = "FormField" Тогда - ПреобразоватьПоле(Читатель, Писатель, ? (СтроитьПолнуюИерархию, ИмяПеременной, РодительскаяПеременная)); - ИначеЕсли Читатель.Имя = "FormGroup" Тогда - ПреобразоватьГруппу(Читатель, Писатель, ? (СтроитьПолнуюИерархию, ИмяПеременной, РодительскаяПеременная)); - ИначеЕсли ПреобразоватьКоманду(Читатель, Писатель, ИмяПеременной) Тогда - КомандаБылаПреобразована = Истина; - Иначе - ВызватьИсключение НСтр("ru = 'Неопознанный узел '") + Читатель.Имя + ": " + Читатель.Значение; - КонецЕсли; - - КонецЦикла; - - Если КомандаБылаПреобразована Или СтроитьПолнуюИерархию Тогда - ЗначениеЗаголовка = ЗначенияПоискаДляЗаголовка(ЗаголовокОбъекта, ИмяОбъекта); - ЗначениеИмени = ЗначенияПоискаДляИмени(ЗаголовокОбъекта, ИмяОбъекта); - ВставитьСтроку(Писатель, КоличествоСтрокПередОбработкой + 1, - ИмяПеременной + " = " + РодительскаяПеременная + - ? (ВариантВстроенногоЯзыка = "ru", ".НайтиОбъект(Тип(""ТестируемаяТаблицаФормы""), ", ".FindObject(Type(""TestedFormTable""), ") + - ? (ЗначениеЗаголовка <> "" Или ЗначениеИмени <> "", ЗначениеЗаголовка, "") + - ? (ЗначениеИмени <> "", ", " + ЗначенияПоискаДляИмени(ЗаголовокОбъекта, ИмяОбъекта), "") + - ");"); - КонецЕсли; - - Читатель.Прочитать(); - -КонецПроцедуры - -Процедура ПреобразоватьПоле(Читатель, Писатель, РодительскаяПеременная) - - ТипОбъекта = Читатель.Имя; - ИмяОбъекта = Неопределено; - ЗаголовокОбъекта = Неопределено; - Пока Читатель.ПрочитатьАтрибут() Цикл - Если Читатель.Имя = "name" Тогда - ИмяОбъекта = Читатель.Значение; - ИначеЕсли Читатель.Имя = "title" Тогда - ЗаголовокОбъекта = Читатель.Значение; - КонецЕсли; - КонецЦикла; - - ПоследнийОбработанныйЭлементУправления = ПреобразоватьЗаголовокВИмяПеременной(ТипОбъекта, ? (ЗаголовокОбъекта = Неопределено, ИмяОбъекта, ЗаголовокОбъекта)); - ИмяПеременной = ? (РазделятьКодНаПроцедуры, "", РодительскаяПеременная) + ПоследнийОбработанныйЭлементУправления; - - КоличествоСтрокПередОбработкой = Писатель.КоличествоСтрок(); - - Читатель.Прочитать(); - - КомандаБылаПреобразована = Ложь; - Пока Читатель.ТипУзла <> ТипУзлаXML.КонецЭлемента Цикл - - Если Читатель.Имя = "FormField" Тогда - ПреобразоватьПоле(Читатель, Писатель, ? (СтроитьПолнуюИерархию, ИмяПеременной, РодительскаяПеременная)); - ИначеЕсли ПреобразоватьКоманду(Читатель, Писатель, ИмяПеременной) Тогда - КомандаБылаПреобразована = Истина; - Иначе - ВызватьИсключение НСтр("ru = 'Неопознанный узел '") + Читатель.Имя + ": " + Читатель.Значение; - КонецЕсли; - - КонецЦикла; - - Если КомандаБылаПреобразована Или СтроитьПолнуюИерархию Тогда - ЗначениеЗаголовка = ЗначенияПоискаДляЗаголовка(ЗаголовокОбъекта, ИмяОбъекта); - ЗначениеИмени = ЗначенияПоискаДляИмени(ЗаголовокОбъекта, ИмяОбъекта); - ВставитьСтроку(Писатель, КоличествоСтрокПередОбработкой + 1, - ИмяПеременной + - " = " + - РодительскаяПеременная + - ? (ВариантВстроенногоЯзыка = "ru", ".НайтиОбъект(Тип(""ТестируемоеПолеФормы""), ", ".FindObject(Type(""TestedFormField""), ") + - ? (ЗначениеЗаголовка <> "" Или ЗначениеИмени <> "", ЗначениеЗаголовка, "") + - ? (ЗначениеИмени <> "", ", " + ЗначенияПоискаДляИмени(ЗаголовокОбъекта, ИмяОбъекта), "") + - ");"); - КонецЕсли; - - Читатель.Прочитать(); - -КонецПроцедуры - -Процедура ПреобразоватьКнопку(Читатель, Писатель, РодительскаяПеременная) - - ТипОбъекта = Читатель.Имя; - ИмяОбъекта = Неопределено; - ЗаголовокОбъекта = Неопределено; - Пока Читатель.ПрочитатьАтрибут() Цикл - Если Читатель.Имя = "name" Тогда - ИмяОбъекта = Читатель.Значение; - ИначеЕсли Читатель.Имя = "title" Тогда - ЗаголовокОбъекта = Читатель.Значение; - КонецЕсли; - КонецЦикла; - - ПоследнийОбработанныйЭлементУправления = ПреобразоватьЗаголовокВИмяПеременной(ТипОбъекта, ? (ЗаголовокОбъекта = Неопределено, ИмяОбъекта, ЗаголовокОбъекта)); - ИмяПеременной = ? (РазделятьКодНаПроцедуры, "", РодительскаяПеременная) + ПоследнийОбработанныйЭлементУправления; - - КоличествоСтрокПередОбработкой = Писатель.КоличествоСтрок(); - - Читатель.Прочитать(); - - КомандаБылаПреобразована = Ложь; - Пока Читатель.ТипУзла <> ТипУзлаXML.КонецЭлемента Цикл - - Если ПреобразоватьКоманду(Читатель, Писатель, ИмяПеременной) Тогда - КомандаБылаПреобразована = Истина; - Иначе - ВызватьИсключение НСтр("ru = 'Неопознанный узел '") + Читатель.Имя + ": " + Читатель.Значение; - КонецЕсли; - - КонецЦикла; - - Если КомандаБылаПреобразована Или СтроитьПолнуюИерархию Тогда - ЗначениеЗаголовка = ЗначенияПоискаДляЗаголовка(ЗаголовокОбъекта, ИмяОбъекта); - ЗначениеИмени = ЗначенияПоискаДляИмени(ЗаголовокОбъекта, ИмяОбъекта); - ВставитьСтроку(Писатель, КоличествоСтрокПередОбработкой + 1, - ИмяПеременной + - " = " + - РодительскаяПеременная + - ? (ВариантВстроенногоЯзыка = "ru", ".НайтиОбъект(Тип(""ТестируемаяКнопкаФормы""), ", ".FindObject(Type(""TestedFormButton""), ") + - ? (ЗначениеЗаголовка <> "" Или ЗначениеИмени <> "", ЗначениеЗаголовка, "") + - ? (ЗначениеИмени <> "", ", " + ЗначенияПоискаДляИмени(ЗаголовокОбъекта, ИмяОбъекта), "") + - ");"); - КонецЕсли; - - Читатель.Прочитать(); - -КонецПроцедуры - -Процедура ПреобразоватьДекорацию(Читатель, Писатель, РодительскаяПеременная) - - ТипОбъекта = Читатель.Имя; - ИмяОбъекта = Неопределено; - ЗаголовокОбъекта = Неопределено; - Пока Читатель.ПрочитатьАтрибут() Цикл - Если Читатель.Имя = "name" Тогда - ИмяОбъекта = Читатель.Значение; - ИначеЕсли Читатель.Имя = "title" Тогда - ЗаголовокОбъекта = Читатель.Значение; - КонецЕсли; - КонецЦикла; - - ПоследнийОбработанныйЭлементУправления = ПреобразоватьЗаголовокВИмяПеременной(ТипОбъекта, ? (ЗаголовокОбъекта = Неопределено, ИмяОбъекта, ЗаголовокОбъекта)); - ИмяПеременной = ? (РазделятьКодНаПроцедуры, "", РодительскаяПеременная) + ПоследнийОбработанныйЭлементУправления; - - КоличествоСтрокПередОбработкой = Писатель.КоличествоСтрок(); - - Читатель.Прочитать(); - - КомандаБылаПреобразована = Ложь; - Пока Читатель.ТипУзла <> ТипУзлаXML.КонецЭлемента Цикл - - Если ПреобразоватьКоманду(Читатель, Писатель, ИмяПеременной) Тогда - КомандаБылаПреобразована = Истина; - Иначе - ВызватьИсключение НСтр("ru = 'Неопознанный узел '") + Читатель.Имя + ": " + Читатель.Значение; - КонецЕсли; - - КонецЦикла; - - Если КомандаБылаПреобразована Или СтроитьПолнуюИерархию Тогда - ЗначениеЗаголовка = ЗначенияПоискаДляЗаголовка(ЗаголовокОбъекта, ИмяОбъекта); - ЗначениеИмени = ЗначенияПоискаДляИмени(ЗаголовокОбъекта, ИмяОбъекта); - ВставитьСтроку(Писатель, КоличествоСтрокПередОбработкой + 1, - ИмяПеременной + - " = " + - РодительскаяПеременная + - ? (ВариантВстроенногоЯзыка = "ru", ".НайтиОбъект(Тип(""ТестируемаяДекорацияФормы""), ", ".FindObject(Type(""TestedFormDecoration""), ") + - ? (ЗначениеЗаголовка <> "" Или ЗначениеИмени <> "", ЗначениеЗаголовка, "") + - ? (ЗначениеИмени <> "", ", " + ЗначенияПоискаДляИмени(ЗаголовокОбъекта, ИмяОбъекта), "") + - ");"); - КонецЕсли; - - Читатель.Прочитать(); - -КонецПроцедуры - -Процедура ПреобразоватьГруппу(Читатель, Писатель, РодительскаяПеременная) - - ТипОбъекта = Читатель.Имя; - ИмяОбъекта = Неопределено; - ЗаголовокОбъекта = Неопределено; - Пока Читатель.ПрочитатьАтрибут() Цикл - Если Читатель.Имя = "name" Тогда - ИмяОбъекта = Читатель.Значение; - ИначеЕсли Читатель.Имя = "title" Тогда - ЗаголовокОбъекта = Читатель.Значение; - КонецЕсли; - КонецЦикла; - - ПоследнийОбработанныйЭлементУправления = ПреобразоватьЗаголовокВИмяПеременной(ТипОбъекта, ? (ЗаголовокОбъекта = Неопределено, ИмяОбъекта, ЗаголовокОбъекта)); - ИмяПеременной = ? (РазделятьКодНаПроцедуры, "", РодительскаяПеременная) + ПоследнийОбработанныйЭлементУправления; - - КоличествоСтрокПередОбработкой = Писатель.КоличествоСтрок(); - - Читатель.Прочитать(); - - КомандаБылаПреобразована = Ложь; - Пока Читатель.ТипУзла <> ТипУзлаXML.КонецЭлемента Цикл - - Если Читатель.Имя = "FormField" Тогда - ПреобразоватьПоле(Читатель, Писатель, ? (СтроитьПолнуюИерархию, ИмяПеременной, РодительскаяПеременная)); - ИначеЕсли Читатель.Имя = "FormTable" Тогда - ПреобразоватьТаблицу(Читатель, Писатель, ? (СтроитьПолнуюИерархию, ИмяПеременной, РодительскаяПеременная)); - ИначеЕсли Читатель.Имя = "FormDecoration" Тогда - ПреобразоватьДекорацию(Читатель, Писатель, ? (СтроитьПолнуюИерархию, ИмяПеременной, РодительскаяПеременная)); - ИначеЕсли Читатель.Имя = "FormButton" Тогда - ПреобразоватьКнопку(Читатель, Писатель, ? (СтроитьПолнуюИерархию, ИмяПеременной, РодительскаяПеременная)); - ИначеЕсли Читатель.Имя = "FormGroup" Тогда - ПреобразоватьГруппу(Читатель, Писатель, ? (СтроитьПолнуюИерархию, ИмяПеременной, РодительскаяПеременная)); - ИначеЕсли ПреобразоватьКоманду(Читатель, Писатель, ИмяПеременной) Тогда - КомандаБылаПреобразована = Истина; - Иначе - ВызватьИсключение НСтр("ru = 'Неопознанный узел '") + Читатель.Имя + ": " + Читатель.Значение; - КонецЕсли; - - КонецЦикла; - - Если КомандаБылаПреобразована Или СтроитьПолнуюИерархию Тогда - ЗначениеЗаголовка = ЗначенияПоискаДляЗаголовка(ЗаголовокОбъекта, ИмяОбъекта); - ЗначениеИмени = ЗначенияПоискаДляИмени(ЗаголовокОбъекта, ИмяОбъекта); - ВставитьСтроку(Писатель, КоличествоСтрокПередОбработкой + 1, - ИмяПеременной + - " = " + - РодительскаяПеременная + - ? (ВариантВстроенногоЯзыка = "ru", ".НайтиОбъект(Тип(""ТестируемаяГруппаФормы""), ", ".FindObject(Type(""TestedFormGroup""), ") + - ? (ЗначениеЗаголовка <> "" Или ЗначениеИмени <> "", ЗначениеЗаголовка, "") + - ? (ЗначениеИмени <> "", ", " + ЗначенияПоискаДляИмени(ЗаголовокОбъекта, ИмяОбъекта), "") + - ");"); - КонецЕсли; - - Читатель.Прочитать(); - -КонецПроцедуры - -Функция ПреобразоватьКоманду(Читатель, Писатель, ИмяПеременной) - - Если Читатель.Имя = "activate" Тогда - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".Активизировать();", ".Activate();"), Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "Активизировать", "Activate"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "inputText" Тогда - ТекстДляВывода = ""; - Пока Читатель.ПрочитатьАтрибут() Цикл - Если Читатель.Имя = "text" Тогда - ТекстДляВывода = Читатель.Значение; - Иначе - ВызватьИсключение НСтр("ru = 'Неопознанный атрибут '") + Читатель.Имя + ": " + Читатель.Значение; - КонецЕсли; - КонецЦикла; - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".ВвестиТекст(""", ".InputText(""") + УдвоитьКавычки(ТекстДляВывода) + """);", Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "ВвестиТекст", "InputText"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "click" Тогда - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".Нажать();", ".Click();"), Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "Нажать", "Click"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "clear" Тогда - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".Очистить();", ".Clear();"), Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "Очистить", "Clear"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "open" Тогда - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".Открыть();", ".Open();"), Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "Открыть", "Open"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "startChoosing" Тогда - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".Выбрать();", ".StartChoosing();"), Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "Выбрать", "StartChoosing"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "startChoosingFromChoiceList" Тогда - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".ВыбратьИзСпискаВыбора();", ".StartChoosingFromChoiceList();"), Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "ВыбратьИзСпискаВыбора", "StartChoosingFromChoiceList"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "executeChoiceFromChoiceList" Тогда - Представление = ""; - Пока Читатель.ПрочитатьАтрибут() Цикл - Если Читатель.Имя = "presentation" Тогда - Представление = Читатель.Значение; - Иначе - ВызватьИсключение НСтр("ru = 'Неопознанный атрибут '") + Читатель.Имя + ": " + Читатель.Значение; - КонецЕсли; - КонецЦикла; - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".ОжидатьФормированияВыпадающегоСписка();", ".WaitForDropDownListGeneration();"), Истина); - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".ВыполнитьВыборИзСпискаВыбора(""", ".ExecuteChoiceFromChoiceList(""") + УдвоитьКавычки(Представление) + """);", Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "ВыполнитьВыборИзСпискаВыбора", "ВыполнитьВыборИзСпискаВыбора"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "increaseValue" Тогда - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".УвеличитьЗначение();", ".IncreaseValue();"), Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "УвеличитьЗначение", "IncreaseValue"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "decreaseValue" Тогда - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".УменьшитьЗначение();", ".DecreaseValue();"), Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "УменьшитьЗначение", "DecreaseValue"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "setCheck" Тогда - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".УстановитьОтметку();", ".SetCheck();"), Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "УстановитьОтметку", "SetCheck"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "selectOption" Тогда - Представление = ""; - Пока Читатель.ПрочитатьАтрибут() Цикл - Если Читатель.Имя = "presentation" Тогда - Представление = Читатель.Значение; - Иначе - ВызватьИсключение НСтр("ru = 'Неопознанный атрибут '") + Читатель.Имя + ": " + Читатель.Значение; - КонецЕсли; - КонецЦикла; - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".ВыбратьВариант(""", ".SelectOption(""") + УдвоитьКавычки(Представление) + """);", Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "ВыбратьВариант", "SelectOption"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "gotoNextMonth" Тогда - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".ПерейтиНаМесяцВперед();", ".GotoNextMonth();"), Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "ПерейтиНаМесяцВперед", "GotoNextMonth"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "gotoPreviousMonth" Тогда - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".ПерейтиНаМесяцНазад();", ".GotoPreviousMonth();"), Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "ПерейтиНаМесяцНазад", "GotoPreviousMonth"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "gotoNextYear" Тогда - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".ПерейтиНаГодВперед();", ".GotoNextYear();"), Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "ПерейтиНаГодВперед", "GotoNextYear"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "gotoPreviousYear" Тогда - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".ПерейтиНаГодНазад();", ".GotoPreviousYear();"), Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "ПерейтиНаГодНазад", "GotoPreviousYear"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "gotoDate" Тогда - Представление = ""; - Пока Читатель.ПрочитатьАтрибут() Цикл - Если Читатель.Имя = "date" Тогда - Представление = Читатель.Значение; - Иначе - ВызватьИсключение НСтр("ru = 'Неопознанный атрибут '") + Читатель.Имя + ": " + Читатель.Значение; - КонецЕсли; - КонецЦикла; - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".ПерейтиКДате(XMLЗначение(Тип(""Дата""), """, ".GotoDate(XMLValue(Type(""Date""), """) + Представление + """));", Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "ПерейтиКДате", "GotoDate"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "setCurrentArea" Тогда - Область = ""; - Пока Читатель.ПрочитатьАтрибут() Цикл - Если Читатель.Имя = "area" Тогда - Область = Читатель.Значение; - Иначе - ВызватьИсключение НСтр("ru = 'Неопознанный атрибут '") + Читатель.Имя + ": " + Читатель.Значение; - КонецЕсли; - КонецЦикла; - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".УстановитьТекущуюОбласть(""", ".SetCurrentArea(""") + Область + """);", Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "УстановитьТекущуюОбласть", "SetCurrentArea"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "beginEditingCurrentArea" Тогда - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".НачатьРедактированиеТекущейОбласти();", ".BeginEditingCurrentArea();"), Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "НачатьРедактированиеТекущейОбласти", "BeginEditingCurrentArea"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "finishEditingCurrentArea" Тогда - ФлагОтмены = ""; - Пока Читатель.ПрочитатьАтрибут() Цикл - Если Читатель.Имя = "cancel" Тогда - ФлагОтмены = Читатель.Значение; - Иначе - ВызватьИсключение НСтр("ru = 'Неопознанный атрибут '") + Читатель.Имя + ": " + Читатель.Значение; - КонецЕсли; - КонецЦикла; - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".ЗавершитьРедактированиеТекущейОбласти(", ".EndEditingCurrentArea(") + ФлагОтмены + ");", Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "ЗавершитьРедактированиеТекущейОбласти", "EndEditingCurrentArea"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "gotoNextItem" Тогда - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".ПерейтиКСледующемуЭлементу();", ".GotoNextItem();"), Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "ПерейтиКСледующемуЭлементу", "GotoNextItem"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "gotoPreviousItem" Тогда - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".ПерейтиКПредыдущемуЭлементу();", ".GotoPreviousItem();"), Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "ПерейтиКПредыдущемуЭлементу", "GotoPreviousItem"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "goOneLevelUp" Тогда - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".ПерейтиНаУровеньВверх();", ".GoOneLevelUp();"), Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "ПерейтиНаУровеньВверх", "GoOneLevelUp"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "goOneLevelDown" Тогда - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".ПерейтиНаУровеньВниз();", ".GoOneLevelDown();"), Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "ПерейтиНаУровеньВниз", "GoOneLevelDown"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "gotoNextRow" Тогда - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".ПерейтиКСледующейСтроке();", ".GotoNextRow();"), Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "ПерейтиКСледующейСтроке", "GotoNextRow"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "gotoPreviousRow" Тогда - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".ПерейтиКПредыдущейСтроке();", ".GotoPreviousRow();"), Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "ПерейтиКПредыдущейСтроке", "GotoPreviousRow"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "gotoFirstRow" Тогда - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".ПерейтиКПервойСтроке();", ".GotoFirstRow();"), Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "ПерейтиКПервойСтроке", "GotoFirstRow"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "gotoLastRow" Тогда - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".ПерейтиКПоследнейСтроке();", ".GotoLastRow();"), Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "ПерейтиКПоследнейСтроке", "GotoLastRow"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "gotoRow" Тогда - - Направление = ""; - Пока Читатель.ПрочитатьАтрибут() Цикл - Если Читатель.Имя = "direction" Тогда - Направление = ? (ВариантВстроенногоЯзыка = "ru", - ? (Читатель.Значение = "up", "НаправлениеПереходаКСтроке.Вверх", "НаправлениеПереходаКСтроке.Вниз"), - ? (Читатель.Значение = "up", "RowGotoDirection.Up", "RowGotoDirection.Down")); - Иначе - ВызватьИсключение НСтр("ru = 'Неопознанный атрибут '") + Читатель.Имя + ": " + Читатель.Значение; - КонецЕсли; - КонецЦикла; - - Читатель.Прочитать(); - - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", "ОписаниеСтроки = Новый Соответствие();", "RowDescription = New Map();")); - - Пока Читатель.ТипУзла <> ТипУзлаXML.КонецЭлемента Цикл - - Если Читатель.Имя = "Field" Тогда - - ЗаголовокСтолбца = ""; - ТекстЯчейки = ""; - Пока Читатель.ПрочитатьАтрибут() Цикл - Если Читатель.Имя = "title" Тогда - ЗаголовокСтолбца = Читатель.Значение; - ИначеЕсли Читатель.Имя = "cellText" Тогда - ТекстЯчейки = Читатель.Значение; - Иначе - ВызватьИсключение НСтр("ru = 'Неопознанный атрибут '") + Читатель.Имя + ": " + Читатель.Значение; - КонецЕсли; - КонецЦикла; - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", - "ОписаниеСтроки.Вставить(""", - "RowDescription.Insert(""") + - ЗаголовокСтолбца + """, """ + УдвоитьКавычки(ТекстЯчейки) + """);"); - Читатель.Прочитать(); - - Иначе - - ВызватьИсключение НСтр("ru = 'Неопознанный узел '") + Читатель.Имя + ": " + Читатель.Значение; - - КонецЕсли; - - Читатель.Прочитать(); - - КонецЦикла; - - ДобавитьСтроку(Писатель, - ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", - ".ПерейтиКСтроке(ОписаниеСтроки" + ? (Направление = "", "", ", " + Направление)+ ");", - ".GotoRow(RowDescription" + ? (Направление = "", "", ", " + Направление) + ");"), - Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "ПерейтиКСтроке", "GotoRow"); - - ИначеЕсли Читатель.Имя = "choose" Тогда - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".Выбрать();", ".Choose();"), Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "Выбрать", "Choose"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "changeRow" Тогда - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".ИзменитьСтроку();", ".ChangeRow();"), Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "ИзменитьСтроку", "ChangeRow"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "endEditRow" Тогда - ФлагОтмены = ""; - Пока Читатель.ПрочитатьАтрибут() Цикл - Если Читатель.Имя = "cancel" Тогда - ФлагОтмены = Читатель.Значение; - Иначе - ВызватьИсключение НСтр("ru = 'Неопознанный атрибут '") + Читатель.Имя + ": " + Читатель.Значение; - КонецЕсли; - КонецЦикла; - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".ЗакончитьРедактированиеСтроки(", ".EndEditRow(") + ФлагОтмены + ");", Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "ЗакончитьРедактированиеСтроки", "EndEditRow"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "addRow" Тогда - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".ДобавитьСтроку();", ".AddRow();"), Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "ДобавитьСтроку", "AddRow"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "deleteRow" Тогда - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".УдалитьСтроку();", ".DeleteRow();"), Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "УдалитьСтроку", "DeleteRow"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "expand" Тогда - - Читатель.Прочитать(); - - Если Читатель.ТипУзла = ТипУзлаXML.НачалоЭлемента И Читатель.Имя = "Field" Тогда - - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", "ОписаниеСтроки = Новый Соответствие();", "RowDescription = New Map();")); - - Пока Читатель.ТипУзла <> ТипУзлаXML.КонецЭлемента Цикл - - Если Читатель.Имя = "Field" Тогда - - ЗаголовокСтолбца = ""; - ТекстЯчейки = ""; - Пока Читатель.ПрочитатьАтрибут() Цикл - Если Читатель.Имя = "title" Тогда - ЗаголовокСтолбца = Читатель.Значение; - ИначеЕсли Читатель.Имя = "cellText" Тогда - ТекстЯчейки = Читатель.Значение; - Иначе - ВызватьИсключение НСтр("ru = 'Неопознанный атрибут '") + Читатель.Имя + ": " + Читатель.Значение; - КонецЕсли; - КонецЦикла; - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", - "ОписаниеСтроки.Вставить(""", - "RowDescription.Insert(""") + - ЗаголовокСтолбца + """, """ + УдвоитьКавычки(ТекстЯчейки) + """);"); - Читатель.Прочитать(); - - Иначе - - ВызватьИсключение НСтр("ru = 'Неопознанный узел '") + Читатель.Имя + ": " + Читатель.Значение; - - КонецЕсли; - - Читатель.Прочитать(); - - КонецЦикла; - - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".Развернуть(ОписаниеСтроки);", ".Expand(RowDescription);"), Истина); - - Иначе - - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".Развернуть();", ".Expand();"), Истина); - - КонецЕсли; - - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "Развернуть", "Expand"); - - ИначеЕсли Читатель.Имя = "collapse" Тогда - - Читатель.Прочитать(); - - Если Читатель.ТипУзла = ТипУзлаXML.НачалоЭлемента И Читатель.Имя = "Field" Тогда - - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", "ОписаниеСтроки = Новый Соответствие();", "RowDescription = New Map();")); - - Пока Читатель.ТипУзла <> ТипУзлаXML.КонецЭлемента Цикл - - Если Читатель.Имя = "Field" Тогда - - ЗаголовокСтолбца = ""; - ТекстЯчейки = ""; - Пока Читатель.ПрочитатьАтрибут() Цикл - Если Читатель.Имя = "title" Тогда - ЗаголовокСтолбца = Читатель.Значение; - ИначеЕсли Читатель.Имя = "cellText" Тогда - ТекстЯчейки = Читатель.Значение; - Иначе - ВызватьИсключение НСтр("ru = 'Неопознанный атрибут '") + Читатель.Имя + ": " + Читатель.Значение; - КонецЕсли; - КонецЦикла; - ДобавитьСтроку(Писатель, ? (ВариантВстроенногоЯзыка = "ru", - "ОписаниеСтроки.Вставить(""", - "RowDescription.Insert(""") + - ЗаголовокСтолбца + """, """ + УдвоитьКавычки(ТекстЯчейки) + """);"); - Читатель.Прочитать(); - - Иначе - - ВызватьИсключение НСтр("ru = 'Неопознанный узел '") + Читатель.Имя + ": " + Читатель.Значение; - - КонецЕсли; - - Читатель.Прочитать(); - - КонецЦикла; - - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".Свернуть(ОписаниеСтроки);", ".Collapse(RowDescription);"), Истина); - - Иначе - - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".Свернуть();", ".Collapse();"), Истина); - - КонецЕсли; - - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "Свернуть", "Collapse"); - - ИначеЕсли Читатель.Имя = "close" Тогда - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".Закрыть();", ".Close();"), Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "Закрыть", "Close"); - ОкноБылоЗакрыто = Истина; - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "chooseUserMessage" Тогда - ТекстСообщения = ""; - Пока Читатель.ПрочитатьАтрибут() Цикл - Если Читатель.Имя = "messageText" Тогда - ТекстСообщения = Читатель.Значение; - Иначе - ВызватьИсключение НСтр("ru = 'Неопознанный атрибут '") + Читатель.Имя + ": " + Читатель.Значение; - КонецЕсли; - КонецЦикла; - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".ВыбратьСообщениеПользователю(""", ".ChooseUserMessage(""") + ТекстСообщения + """);", Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "ВыбратьСообщениеПользователю", "ChooseUserMessage"); - Читатель.Прочитать(); - - ИначеЕсли Читатель.Имя = "executeCommand" Тогда - СсылкаНаКоманду = ""; - Пока Читатель.ПрочитатьАтрибут() Цикл - Если Читатель.Имя = "url" Тогда - СсылкаНаКоманду = Читатель.Значение; - Иначе - ВызватьИсключение НСтр("ru = 'Неопознанный атрибут '") + Читатель.Имя + ": " + Читатель.Значение; - КонецЕсли; - КонецЦикла; - ДобавитьСтроку(Писатель, ИмяПеременной + ? (ВариантВстроенногоЯзыка = "ru", ".ВыполнитьКоманду(""", ".ExecuteCommand(""") + СсылкаНаКоманду + """);", Истина); - ПоследняяОбработаннаяКоманда = ? (ВариантВстроенногоЯзыка = "ru", "ВыполнитьКоманду", "ExecureCommand"); - Читатель.Прочитать(); - - Иначе - Возврат Ложь; - КонецЕсли; - - Читатель.Прочитать(); - - Возврат Истина; - -КонецФункции - -Функция Инициализация() - - ДвоичныеДанныеПрограммыРаспаковки = ПолучитьМакет("UnpackV8"); - ДвоичныеДанныеDLL=ЭтотОбъект.ПолучитьМакет("zlib1"); - ДвоичныеДанныеПрограммыРаспаковки.Записать(КаталогВременныхФайлов()+"UnpackV8.exe"); - ДвоичныеДанныеDLL.Записать(КаталогВременныхФайлов()+"zlib1.dll"); - ФайлПрограммыРаспаковки = Новый Файл(КаталогВременныхФайлов()+"UnpackV8.exe"); - ФайлDLL=Новый Файл(КаталогВременныхФайлов()+"zlib1.dll"); - - Возврат ФайлПрограммыРаспаковки; - -КонецФункции - -Функция СоздатьВнешнююОбработку(ТекстДляПреобразования) Экспорт - - ТекстПроцедуры = Преобразовать(ТекстДляПреобразования); - ТекстПроцедуры = СтрЗаменить(ТекстПроцедуры, """", """"""); - - ФайлПрограммыРаспаковки = Инициализация(); - - ГлобальныйКлюч = "" + Новый УникальныйИдентификатор; - - лПутьКШаблонуВнешнейОбработки = КаталогВременныхФайлов() + ГлобальныйКлюч; - Файл = Новый Файл(ПолучитьИмяВременногоФайла()); - - ПолучитьМакет("ШаблонТеста_ВнешняяОбработка").Записать(Файл.ПолноеИмя); - - ВременныйФайл = ПолучитьИмяВременногоФайла("epf"); - - СтрокаКоманды = """"+ФайлПрограммыРаспаковки.ПолноеИмя+""" -parse """+Файл.ПолноеИмя+""" """+лПутьКШаблонуВнешнейОбработки+""""; - ЗапуститьПриложение(СтрокаКоманды, , Истина); - - РазобранныеФайлы = НайтиФайлы(лПутьКШаблонуВнешнейОбработки, "*.*"); - Если РазобранныеФайлы.Количество() = 0 Тогда - Сообщить("Не удалось разобрать макет внешней обработки теста командой <"+СтрокаКоманды+">"); - Возврат ""; - КонецЕсли; - - //Заменить текст. - ФайлТекстаМодуляОбработки = Новый Файл(лПутьКШаблонуВнешнейОбработки + "\8401ee62-68b8-43ea-8738-0c08cbc8c901.0"); - ТекстовыйДокументМодуля = Новый ТекстовыйДокумент; - ТекстовыйДокументМодуля.Прочитать(ФайлТекстаМодуляОбработки.ПолноеИмя); - ТекстМодуля = ТекстовыйДокументМодуля.ПолучитьТекст(); - - ТекстМодуля = СтрЗаменить(ТекстМодуля, "Процедура НазваниеПроцедуры_ТестовыйСценарий(тестовоеПриложение) КонецПроцедуры", Символы.ПС); - ТекстМодуля = СтрЗаменить(ТекстМодуля, "НазваниеПроцедуры_Тест_ГУИ_83", "Тест_"+ИмяОсновнойПроцедуры); - ТекстМодуля = СтрЗаменить(ТекстМодуля, "НазваниеПроцедуры_ТестовыйСценарий", ИмяОсновнойПроцедуры); - ТекстМодуля = СтрЗаменить(ТекстМодуля, "//ЗАМЕНИТЬТЕСТОВОЙПРОЦЕДУРОЙ", ТекстПроцедуры); - - ТекстовыйДокументМодуля.УстановитьТекст(ТекстМодуля); - ТекстовыйДокументМодуля.Записать(ФайлТекстаМодуляОбработки.ПолноеИмя); - - //Сохраним в макет наш файл. - - ЗаписьТекста = Новый ЗаписьТекста; - ЗаписьТекста.Открыть(лПутьКШаблонуВнешнейОбработки + "\1b3a3d0f-5dc6-47e8-bad6-38c097bc00d4.0"); - ЗаписьТекста.Записать(ТекстДляПреобразования); - ЗаписьТекста.Закрыть(); - - //Заменить имена. - ФайлТекстаЗаголовков = Новый Файл(лПутьКШаблонуВнешнейОбработки + "\4e93fd08-5eda-44dd-92ef-b84867283b1e"); - ТекстовыйДокументЗаголовков = Новый ТекстовыйДокумент; - ТекстовыйДокументЗаголовков.Прочитать(ФайлТекстаЗаголовков.ПолноеИмя); - Текст = ТекстовыйДокументЗаголовков.ПолучитьТекст(); - Текст = СтрЗаменить(Текст, "ИмяВнешнейОбработки", "Тест"+ИмяОсновнойПроцедуры); - ТекстовыйДокументЗаголовков.УстановитьТекст(Текст); - ТекстовыйДокументЗаголовков.Записать(ФайлТекстаЗаголовков.ПолноеИмя); - // - //Упаковать. - ВременныйФайл = ПолучитьИмяВременногоФайла("epf"); - - СтрокаКоманды = """"+ФайлПрограммыРаспаковки.ПолноеИмя+""" -build """+лПутьКШаблонуВнешнейОбработки+""" """+ВременныйФайл+""""; - ЗапуститьПриложение(СтрокаКоманды, , Истина); - - РезультатСтрока = ""; - Файл = Новый Файл(ВременныйФайл); - Если Файл.Существует() Тогда - ДвоичныеДанные = Новый ДвоичныеДанные(Файл.ПолноеИмя); - РезультатСтрока = Base64Строка(ДвоичныеДанные); - КонецЕсли; - - Возврат РезультатСтрока; - -КонецФункции diff --git a/src/Tests/Gui83/UILogToScript/renames.txt b/src/Tests/Gui83/UILogToScript/renames.txt deleted file mode 100644 index 864c9a81..00000000 --- a/src/Tests/Gui83/UILogToScript/renames.txt +++ /dev/null @@ -1,21 +0,0 @@ -0b790809-ec18-47a5-9ea4-f803fe85b870-->und\0b790809-ec18-47a5-9ea4-f803fe85b870 -0b790809-ec18-47a5-9ea4-f803fe85b870.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\Gui83\UILogToScript\Макеты\ШаблонТеста_ВнешняяОбработка.txt -0b790809-ec18-47a5-9ea4-f803fe85b870.0-->und\0b790809-ec18-47a5-9ea4-f803fe85b870.0 -33910070-6792-45db-b776-a887080ffe7a-->und\33910070-6792-45db-b776-a887080ffe7a -33910070-6792-45db-b776-a887080ffe7a.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\Gui83\UILogToScript\Form\ОсновнаяФорма\Форма.txt -33910070-6792-45db-b776-a887080ffe7a.0-->und\33910070-6792-45db-b776-a887080ffe7a.0 -33910070-6792-45db-b776-a887080ffe7a.0-->und\33910070-6792-45db-b776-a887080ffe7a.0 -6344d70f-6d22-465c-b456-63013e6bc378.0\info-->und\6344d70f-6d22-465c-b456-63013e6bc378.0\info -6344d70f-6d22-465c-b456-63013e6bc378.0\text-->ObjectModule.txt -6344d70f-6d22-465c-b456-63013e6bc378.1-->und\6344d70f-6d22-465c-b456-63013e6bc378.1 -6810777b-4151-4eba-b50d-4a2a08b5be5a-->und\6810777b-4151-4eba-b50d-4a2a08b5be5a -6810777b-4151-4eba-b50d-4a2a08b5be5a.0-->und\6810777b-4151-4eba-b50d-4a2a08b5be5a.0 -6810777b-4151-4eba-b50d-4a2a08b5be5a.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\Gui83\UILogToScript\Макеты\UnpackV8.txt -9e7b2a13-3bf6-401a-be4a-0dbf0d48a43b-->und\9e7b2a13-3bf6-401a-be4a-0dbf0d48a43b -b6e7785c-aad2-4c34-8c75-d98a7963dbaf-->und\b6e7785c-aad2-4c34-8c75-d98a7963dbaf -b6e7785c-aad2-4c34-8c75-d98a7963dbaf.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\Gui83\UILogToScript\Макеты\zlib1.txt -b6e7785c-aad2-4c34-8c75-d98a7963dbaf.0-->und\b6e7785c-aad2-4c34-8c75-d98a7963dbaf.0 -copyinfo-->und\copyinfo -root-->und\root -version-->und\version -versions-->und\versions diff --git a/src/Tests/Gui83/UILogToScript/und/0b790809-ec18-47a5-9ea4-f803fe85b870 b/src/Tests/Gui83/UILogToScript/und/0b790809-ec18-47a5-9ea4-f803fe85b870 deleted file mode 100644 index 0f517f9b..00000000 --- a/src/Tests/Gui83/UILogToScript/und/0b790809-ec18-47a5-9ea4-f803fe85b870 +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,1, -{0, -{0,0,0b790809-ec18-47a5-9ea4-f803fe85b870},"ШаблонТеста_ВнешняяОбработка", -{1,"ru","Шаблон теста внешняя обработка"},""} -},0} \ No newline at end of file diff --git a/src/Tests/Gui83/UILogToScript/und/0b790809-ec18-47a5-9ea4-f803fe85b870.0 b/src/Tests/Gui83/UILogToScript/und/0b790809-ec18-47a5-9ea4-f803fe85b870.0 deleted file mode 100644 index 005941fa..00000000 --- a/src/Tests/Gui83/UILogToScript/und/0b790809-ec18-47a5-9ea4-f803fe85b870.0 +++ /dev/null @@ -1,1591 +0,0 @@ -{1, -{#base64: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 -w45Qg4PJpHbjOMUh1utIYU25RFRUgEHMEg+7sp3rQ4dT7GidncKK5ku5SBGOchKK -F3URydclKYhAeiTR6kS286nThVZNrydrRKpHJ21GqzLOfOtMepnNVj5SJBmbeZHY -431EflT+mXfYpxZ/k9tTDhJ+/Ubya916SP0HatjSYfrvsnmCuoIpb+KtRFbVNUJU -gvvqtHTZwZrs4rmetOm2iXqthuG5vQezvMvP5dnN5aXhdG9FaRxYIymTo8YmPL5U -3kiZjRgaZOLfX2Dp3fg13CiS5OKQF1o3076luX+Id7q+sL6vPSr2bpLAxnux0pyX -0v2fRpUZHGeWdjBaokFjIwrrVa/i4Tnibp6yLsI6i3lb2MwDM+e6Q4c0apalSE/u -yufJuHRTOKn7rTUiMWtOtGt3dj73Isyqw7TfXNRiJmL73nbFs871kq2KsTGCqkll -W5eVDSewpnc27oqY+GhMrbpDM0nwDbFKV9ISIA1L49iy2GWsvfj1qApJGWGD8eUm -168lSLhVxMjLfakr7/vQGHv5wVyPc+fQqLRQeX8Fd0bjrGxMpJ5eQl6Ef6NMiWed -8NS6ISPtnXOh4d1U78KaCLvJz1Y49e8mGruLcdm5lwXSxmL06lUSZeYCF77bUuWl -zhzV6stkVLmDDZfZzVpX9YEldl8e1lzkCI+gZTFvk3Y8d/KRNq5to/24JdOu7B2J -Vhypihyc9sZkSdmr/lKDtcbLroQuXeoktVpCifP2kk+UC2K3eqvEPQu/Cqh9eSr4 -PWWeP1f2Bl+QWYKwjp2Q0E+CtEhxXLho+OBmjc1GfZrxa9q1a0/HaXFOlegZftbR -jY7i1HmgtZXMZEEl7RK1Vb+430+t6xFJVSwLQ7S5H0U4+zJfucX7vQo/5rWM99tT -K7PiM+RGiT9lFXfWSjtvNluRLrcXP3RuxXKZCWH5PQWrFEp7lq2edTJapcsRoBgg -Obkmf/ejtV+fnldSv3LH/3zsgwDbd9+Dlu7IDuxWOReauFJyt6W5QrDoeGDIywsb -Io537zmw6Z75fm52kX0NzsvDDgZf27NuaWI4S/qzvY+fzdHK1+b4RBge9dOY6fGd -OTXiXRhN8wr9uNODuJXJc0JDzfnuAXYXH2E9isItN6eRh5bUG+2trq4Vb9xWMJe6 -93nGmrTX4U2FL4tuslq2ZWNCSJh5j8vsFklcnZld0enNKa+vG1WfTzFmHbu7QX/L -N8PDMg8Nnisb6vPaBq0zHZJff+KklPW4h8U2FSZ3m5By3e1FbTirqQcnt2rdLLPY -JzRgWRnx0m5Ac3gn3qp3h9unaNtrR3MdPiSo2q/+wbzLb4Od4x0ln341iYN93wOK -BnIbPr8Jut45pJNv/+5np/fbYnflwXBu7KjsRo3Pg3jej1dSt39ymqQMKw0Mjnw6 -1vLhFinmvad9xZxg8dhsU/OTn8m01PltrFkzS/jW/OgIl5hOrV43ZZ8dMoGMmHyp -ijwwFkWWHTey4Z/EGZz5Wqdw9Xvs2Zlv5vPPO/c4OHWUqtt0zR7neaX7RrMn4Gt5 -b37aiddflzd3q2962+7N1dGW5TbaOtpx76Vi3qFG52ssTekvVFqG/L2aZZY41Oz6 -yVd98Yzc4y75iCdi+qZVNtvrH53V+fGw5fCVB/zDZ+s23818Fl+T9rR27+NaTv7x -ekO24OfRPusbHrQsecFUophwN0n/lM9s6GmFdWsTR1aJJ93QvZjsan3r7Ir3X870 -HaxJK38ylRpxp+GihmDSpZmwyymFfjLnQrGCF4hlG89PNO2PPa5GOLnJkS2Ou39X -fMMJz5iDlz6eWPf91XEW08PHHksXRp53PXbYluf+waU5Q4e6u5qiEuutj1jecDkq -KqYV/TKQO2ugMT0TX5p8043lxa1rvtPZH/bsu7taYNMdv9sCt+88XpkxfkjshsoH -pWsh23ZfL9IzSJ9aXX1Za/3E1X1zN69UJl8qrA5qLGAVf3dPP6Oy6PDz43nPX3Hl -8+Zq55ryOuecoG4ra1/hUSps4lhs9Y21JOEisbwnpqBCsi/yvt2ursoU1U8LvxFf -7k69iXt6QqDw7ud452Qb9Z4x5ZXejt2X2jVKagpWje5nN4/xq+hzbcccxWxsu1/8 -xavjdV9vqIqtC992C3GbtOHrhJkZvjShdbenAnr3Pnjq/iTjTkgg+/rnL/xkz945 -4K/ILyasd63ox1GxxtQlDcNyV4Li1+U8xt9mDzeuTVe+qysW93Qnh7Z7Yd5RpFHJ -QsMz+aMj15EdYwPkt8lHqdFHm15r9RU0xJvbhaqs0ns/yBe91Tb0jf6nDu4py/se -YwpTl02S06rtVhDkB1JtzA+Y+n178pU98aV+xn6f2QdiammNW2KlixTSksRq5OQP -pJfOGYszGeD38U3Gn840Gf5+QciWLJ2pZ0uUOnXv+OXvLUK7G7xuP8vkrTzA1s/6 -yClqV7p/85CkaNFkVvEOM+Fenaaqd0c8Iw727a1T4nkUauJdx817JSjX4wmF5cnq -zuJ0M0O/lK+zLfOnPrtZRGzvUpfgKZHbfA+rv+pazuhjSa5jVw+9ylmi6d5+QKF5 -T0Ki77JJbdnvzJHnT7klKOkdW51o+6nA0Mmaa4qNuHRzZu+N8YbSn6d7PxqtLT5u -fUHU/aOcP1PAmElZrZlSz6vpgwSXDe+2eeulX2yJfDL9kOQhGhbDGzjooF5n32+R -vcV6Xv/bcMrK7BPHgkTUR0VYDutPlevKXVo+skzm3LY9Bif62u+q2Oc8+7Tjnva2 -t027jC0icuY/ir901l5O6zpqhHuqPPLOPy7u8KpPqa2nLKdzDw9ud9SyJWplxOMi -l6n4DnFHP2Qv1LrhU6Hffw07G/1Q1HS10t2vWzYqr9g9EZPKn5SiULkHn9wptWey -dtMDk+y1zXOYB14Gbte/J+2SNJfXDHNIS0p+Kz3+ZbO3OPZre4TTO+emOMeeex+q -cHFbwwtH1D0Qo87G8uXlx3qJ7wku2+NXtE1TznulsrBV3Ki4j3nYcafAlyTMjrOS -Ctxy/vqL1fNFe6P5eZ/0B5/m63wuf7syU0Oc3+jg9d3SHY/dQpzCMXyBDdk/nwXV -XrC5Nr5iVCzJeO6OZtYG/l31uzd/Zn0xftyl21A21nXKYHhaKczSIHGpqpVsbteH -823386cfj3BuuHxSfIzH+bKZJ5vOBcvKKDnSq6TT59TWrv1pIWtdci51uGf2pEOA -gGq/SGgWae0L/hjTW8x6QxvKIg/h3/Ql7N5p/03QdGTH3Pg23RTaYdblrboUw8cn -XtyMUM9qaDtgoOH7SNZh3+7j+dXPPrftkGrz67+cyzEhtHRwU2bYIcE6z/ZboTx5 -JVWX7TERjzUvZv08KCN87i1M/znjJC19o91EMnS7AqrW+PWsOdNSYopjOTSWWzx0 -9iq36V6J3LVL1zfrmvzw3aE48urbI0v3hBv1OVnLgrlehLuVUM70YFnH8a5UNxol -mIpf+EIAfr2ff1igp7tHMPpVXDVFZQJBDb+RSvFVpPmF+OONKZ40Whj+9+8nEOQR -PhaEBWEH9NegcSzCB9ZinBXBw7YYZ4H9sBEQPnZQdP+v+EHYFuN49Hf5MGgcjTFh -EJbFOBMG4nxo/Nf3FtDv354AnNAv5LJbAHyIEHsQIsAGKez+AAFBcA8QPjYOiDsB -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} -} \ No newline at end of file diff --git a/src/Tests/Gui83/UILogToScript/und/33910070-6792-45db-b776-a887080ffe7a b/src/Tests/Gui83/UILogToScript/und/33910070-6792-45db-b776-a887080ffe7a deleted file mode 100644 index 5b17a299..00000000 --- a/src/Tests/Gui83/UILogToScript/und/33910070-6792-45db-b776-a887080ffe7a +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,33910070-6792-45db-b776-a887080ffe7a},"ОсновнаяФорма", -{1,"ru","Основная форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git a/src/Tests/Gui83/UILogToScript/und/33910070-6792-45db-b776-a887080ffe7a.0 b/src/Tests/Gui83/UILogToScript/und/33910070-6792-45db-b776-a887080ffe7a.0 deleted file mode 100644 index c7634ee0..00000000 --- a/src/Tests/Gui83/UILogToScript/und/33910070-6792-45db-b776-a887080ffe7a.0 +++ /dev/null @@ -1,1554 +0,0 @@ -{2, -{28,0,0,0,0,1,0,1,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,"ПриСозданииНаСервере",e73d6384-49d2-4885-a752-a674d6ff7742,"ОбработкаПроверкиЗаполненияНаСервере"}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{0,0,0},2,a9f3b1ac-f51b-431e-b102-55a69acdecad, -{19, -{10,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"Преобразовать", -{1,0},1, -{3,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},2,1,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,1,0, -{0},1}, -{0,0,0},0, -{3,0, -{0},"",-1,-1,1,0},1, -{"Pattern"},"",2},a9f3b1ac-f51b-431e-b102-55a69acdecad, -{19, -{44,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"ФормаСправка", -{1,0},1, -{0,39bb0fe9-771d-4dd5-8a6e-2d16984523af}, -{0},3,0,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0, -{3,0, -{0},"",-1,-1,1,0},1, -{"Pattern"},"",2},1},3,cd5394d0-7dda-4b56-8927-93ccbe967a01, -{17, -{12,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},5,"ПараметрыПреобразования", -{1,1, -{"ru","Параметры преобразования"} -}, -{1,1, -{"ru","Параметры преобразования"} -},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{12,0,0,1,1, -{0}, -{1,0}, -{"Pattern"},""},6,77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{26,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},2,"ВариантВстроенногоЯзыка",1,0, -{1,0}, -{1,0}, -{2, -{1}, -{0,b13ab8a6-288e-4a1c-80b4-b21a1b52b361} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,1,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{26, -{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, -{"U"}, -{"U"},"",1, -{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, -{1,b50dc41b-c15a-4ebe-a17f-d01e51c47de6,"ВариантВстроенногоЯзыкаОчистка"}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, -{3,0,0},0}, -{1,fe115cc8-9e33-4684-a166-bd5136fe7a9f,"ВариантВстроенногоЯзыкаПриИзменении"},1, -{17, -{27,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ВариантВстроенногоЯзыкаКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{14,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},2,"ИмяОсновнойПроцедуры",1,0, -{1,0}, -{1,1, -{"ru","Имя процедуры, которую необходимо вызвать для запуска сценария."} -}, -{2, -{1}, -{0,69892737-fbf2-40d4-bdea-b49a9f341c96} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,1,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{26, -{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, -{"U"}, -{"U"},"",0, -{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}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, -{3,0,0},0}, -{0},1, -{17, -{15,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ИмяОсновнойПроцедурыКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{23,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},3,"ГененироватьКодПодключенияККлиенту",1,0, -{1,0}, -{1,1, -{"ru","Вставлять процедуру код устанавливающий соединение с тестируемым клиентом."} -}, -{2, -{1}, -{0,c09837bd-5dd4-496b-b701-64bd41d091f3} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,1,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{7,0, -{3,4, -{0} -}, -{3,4, -{0} -} -}, -{0},1, -{17, -{24,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ГененироватьКодПодключенияККлиентуКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{17,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},3,"РазделятьКодНаПроцедуры",1,0, -{1,0}, -{1,1, -{"ru","Разделять сценарий на процедуры, в каждой из которых есть только действия относящиеся к одному окну."} -}, -{2, -{1}, -{0,14b9c261-b0c2-46b1-acdb-8b7cc4971264} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,1,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{7,0, -{3,4, -{0} -}, -{3,4, -{0} -} -}, -{0},1, -{17, -{18,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"РазделятьКодНаПроцедурыКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{20,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},3,"СтроитьПолнуюИерархию",1,0, -{1,0}, -{1,0}, -{2, -{1}, -{0,71b711bc-3325-4fa1-b378-33a7adbf97fa} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,1,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{7,0, -{3,4, -{0} -}, -{3,4, -{0} -} -}, -{0},1, -{17, -{21,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"СтроитьПолнуюИерархиюКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{46,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},5,"ПоискОбъектов",1,0, -{1,0}, -{1,0}, -{2, -{1}, -{0,698aff01-1ee8-452e-83e5-01bcfb3f6d9f} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,1,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{5, -{1,0},0, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -},0}, -{0},1, -{17, -{47,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ПоискОбъектовКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},1},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{29,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},5,"ВариантПреобразования",1,0, -{1,0}, -{1,0}, -{2, -{1}, -{0,f338d2b7-c4a7-4e46-8e57-e557d0118edb} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,1,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{5, -{1,0},4, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -},0}, -{1,fe115cc8-9e33-4684-a166-bd5136fe7a9f,"ВариантПреобразованияПриИзменении"},1, -{17, -{30,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ВариантПреобразованияКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},cd5394d0-7dda-4b56-8927-93ccbe967a01, -{17, -{42,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},3,"ИсходныеДанные", -{1,1, -{"ru","Исходные данные"} -}, -{1,1, -{"ru","Исходные данные"} -},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,0, -{0} -},3,cd5394d0-7dda-4b56-8927-93ccbe967a01, -{17, -{32,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},4,"ИсходныеФайлы", -{1,1, -{"ru","Исходные файлы"} -}, -{1,1, -{"ru","Исходные файлы"} -},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{10, -{3,0, -{0},"",-1,-1,1,0},0,0, -{0}, -{1,0},1, -{"Pattern"},""},2,77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{7,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},2,"ИсходныйФайл",1,0, -{1,0}, -{1,0}, -{1, -{2} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,1,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{26, -{1,0},0,0,2,2,1,2,2,2,2,2,1,2,2,1, -{"U"}, -{"U"},"",0, -{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, -{2,1960479b-4d89-4eba-8b39-0aa802020558,"ИсходныйФайлПриНачалеВыбора",ac5a9c5a-5f1d-4fc5-b88c-a187038c16d1,"ИсходныйФайлПриОткрытии"}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, -{3,0,0},0}, -{0},1, -{17, -{8,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ИсходныйФайлКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{4,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},2,"РезультирующийФайл",1,0, -{1,0}, -{1,0}, -{1, -{4} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,1,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{26, -{1,0},0,0,2,2,1,2,2,2,2,2,1,2,2,1, -{"U"}, -{"U"},"",0, -{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, -{2,1960479b-4d89-4eba-8b39-0aa802020558,"РезультирующийФайлПриНачалеВыбора",ac5a9c5a-5f1d-4fc5-b88c-a187038c16d1,"РезультирующийФайлПриОткрытии"}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, -{3,0,0},0}, -{0},1, -{17, -{5,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"РезультирующийФайлКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},1},cd5394d0-7dda-4b56-8927-93ccbe967a01, -{17, -{34,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},4,"ИсходныеТексты", -{1,1, -{"ru","Исходные тексты"} -}, -{1,1, -{"ru","Исходные тексты"} -},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{10, -{3,0, -{0},"",-1,-1,1,0},1,0, -{0}, -{1,0},1, -{"Pattern"},""},2,77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{36,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},7,"ИсходныйТекст",1,0, -{1,0}, -{1,0}, -{1, -{11} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,1,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{3,50,10,1,1,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1} -}, -{0},1, -{17, -{37,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ИсходныйТекстКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{39,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},7,"РезультирующийТекст",1,0, -{1,0}, -{1,0}, -{1, -{12} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,1,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{3,50,10,1,1,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1} -}, -{0},1, -{17, -{40,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"РезультирующийТекстКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},1},cd5394d0-7dda-4b56-8927-93ccbe967a01, -{17, -{48,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},4,"ГенерацияФайлаПоТексту", -{1,1, -{"ru","Генерация файла по тексту"} -}, -{1,1, -{"ru","Исходные тексты"} -},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{10, -{3,0, -{0},"",-1,-1,1,0},1,0, -{0}, -{1,0},1, -{"Pattern"},""},2,77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{49,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},7,"ИсходныйТекст1",1,0, -{1,0}, -{1,0}, -{1, -{11} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,1,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{3,50,10,1,1,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1} -}, -{0},1, -{17, -{50,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ИсходныйТекст1КонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{53,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},2,"РезультирующийФайл1",1,0, -{1,0}, -{1,0}, -{1, -{4} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,1,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{26, -{1,0},0,0,2,2,1,2,2,2,2,2,1,2,2,1, -{"U"}, -{"U"},"",0, -{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, -{2,1960479b-4d89-4eba-8b39-0aa802020558,"РезультирующийФайлПриНачалеВыбора",ac5a9c5a-5f1d-4fc5-b88c-a187038c16d1,"РезультирующийФайлПриОткрытии"}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, -{3,0,0},0}, -{0},1, -{17, -{54,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"РезультирующийФайл1КонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},1},1},"","",1, -{17, -{0},0,0,0,7,"Navigator", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"&НаКлиенте -Перем ВариантыПреобразования; - -//////////////////////////////////////////////////////////////////////////////// -// Обработчики событий формы -&НаСервере -Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) - ОбъектНаСервере = Объект(); - ЭтаФорма.Заголовок = ОбъектНаСервере.ЗаголовокФормы(); - - // Настраиваем первоначальные значения - Объект.РазделятьКодНаПроцедуры = Истина; - - Объект.ВариантВстроенногоЯзыка = ? (Строка(Метаданные.ВариантВстроенногоЯзыка) = ""Русский"", ""ru"", ""en""); - - Элементы.ВариантВстроенногоЯзыка.СписокВыбора.Добавить(""ru"", НСтр(""ru = 'Русский'"")); - Элементы.ВариантВстроенногоЯзыка.СписокВыбора.Добавить(""en"", НСтр(""ru = 'Английский'"")); - - Элементы.ПоискОбъектов.СписокВыбора.Добавить(0, НСтр(""ru = 'По представлению'"")); - Элементы.ПоискОбъектов.СписокВыбора.Добавить(1, НСтр(""ru = 'По имени'"")); - Элементы.ПоискОбъектов.СписокВыбора.Добавить(2, НСтр(""ru = 'По имени и представлению'"")); - - Элементы.ВариантПреобразования.СписокВыбора.Добавить(0, НСтр(""ru = 'Из журнала'"")); - Элементы.ВариантПреобразования.СписокВыбора.Добавить(1, НСтр(""ru = 'Из текста'"")); - Элементы.ВариантПреобразования.СписокВыбора.Добавить(2, НСтр(""ru = 'Из журнала в обработку-тест для xUnitFor1C'"")); - Элементы.ВариантПреобразования.СписокВыбора.Добавить(3, НСтр(""ru = 'Из текста в обработку-тест для xUnitFor1C'"")); - -КонецПроцедуры - -&НаКлиенте -Процедура ПриОткрытии(Отказ) - ВариантыПреобразования = СоздатьВариантыПреобразования(); - - Объект.ИмяОсновнойПроцедуры = ""ТестовыйСценарий_"" + ОчиститьДату(Формат(ТекущаяДата(), ""ДЛФ=D"")); - - ИзменитьВидимостьДоступность(); - -КонецПроцедуры - -&НаСервере -Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты) - - // В зависимости от того, как нужно работать добавляем поля для проверки - Если Объект.ВариантПреобразования = 0 ИЛИ Объект.ВариантПреобразования = 2 Тогда - - ПроверяемыеРеквизиты.Добавить(""ИсходныйФайл""); - ПроверяемыеРеквизиты.Добавить(""РезультирующийФайл""); - - Иначе - - Если Не ЗначениеЗаполнено(ИсходныйТекст.ПолучитьТекст()) Тогда - - Отказ = Истина; - - НовоеСообщение = Новый СообщениеПользователю(); - НовоеСообщение.Текст = НСтр(""ru = 'Поле """"Журнал действий пользователя"""" не заполнено.'""); - НовоеСообщение.ПутьКДанным = ""ИсходныйТекст""; - НовоеСообщение.Сообщить(); - - КонецЕсли; - - КонецЕсли; - -КонецПроцедуры - -//////////////////////////////////////////////////////////////////////////////// -// Обработчики событий элементов управления -&НаКлиенте -Процедура ВариантПреобразованияПриИзменении(Элемент) - - ИзменитьВидимостьДоступность(); - -КонецПроцедуры - -&НаКлиенте -Процедура ВариантВстроенногоЯзыкаОчистка(Элемент, СтандартнаяОбработка) - - СтандартнаяОбработка = Ложь; - -КонецПроцедуры - -&НаКлиенте -Процедура ВариантВстроенногоЯзыкаПриИзменении(Элемент) - - Объект.ИмяОсновнойПроцедуры = ? (Объект.ВариантВстроенногоЯзыка = ""ru"", ""ТестовыйСценарий_"", ""TestScenario_"") + ОчиститьДату(Формат(ТекущаяДата(), ""ДЛФ=D"")); - -КонецПроцедуры - -&НаКлиенте -Процедура ИсходныйФайлПриНачалеВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) - - СтандартнаяОбработка = Ложь; - - Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); - - Диалог.ПолноеИмяФайла = ИсходныйФайл; - Диалог.Заголовок = НСтр(""ru = 'Укажите файл журнала действий пользователя'""); - Диалог.Фильтр = НСтр(""ru = 'Файлы журнала действий пользователя (*.uil,*.txt,*.xml)|*.uil;*.txt;*.xml|Все файлы (*.*)|*.*'""); - Диалог.Расширение = "".uil""; - - Если Диалог.Выбрать() Тогда - - ИсходныйФайл = Диалог.ПолноеИмяФайла; - - Если Не ЗначениеЗаполнено(РезультирующийФайл) Тогда - - Если Объект.ВариантПреобразования = ВариантыПреобразования.Журнал Тогда - - РезультирующийФайл = Лев(Диалог.ПолноеИмяФайла, СтрДлина(Диалог.ПолноеИмяФайла) - СтрДлина(Диалог.Расширение)) + НСтр(""ru = 'ТекстМодуля'"") + "".txt""; - - ИначеЕсли Объект.ВариантПреобразования = ВариантыПреобразования.ГенерацияОбработкиПоЖурналу Тогда - - РезультирующийФайл = Лев(Диалог.ПолноеИмяФайла, СтрДлина(Диалог.ПолноеИмяФайла) - СтрДлина(Диалог.Расширение)) + "".epf""; - - КонецЕсли; - - КонецЕсли; - - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ИсходныйФайлПриОткрытии(Элемент, СтандартнаяОбработка) - - СтандартнаяОбработка = Ложь; - - ДокументПросмотра = Новый ТекстовыйДокумент(); - ДокументПросмотра.Прочитать(ИсходныйФайл); - ДокументПросмотра.Показать(ИсходныйФайл); - -КонецПроцедуры - -&НаКлиенте -Процедура РезультирующийФайлПриНачалеВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) - - СтандартнаяОбработка = Ложь; - - Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); - - Диалог.ПолноеИмяФайла = РезультирующийФайл; - Диалог.Заголовок = НСтр(""ru = 'Укажите файл для сохранения результата преобразования'""); - Диалог.Фильтр= НСтр(""ru = 'Текстовые файлы (*.txt)|*.txt|Все файлы (*.*)|*.*'""); - Если Объект.ВариантПреобразования = ВариантыПреобразования.ГенерацияОбработкиПоЖурналу - или Объект.ВариантПреобразования = ВариантыПреобразования.ГенерацияОбработкиПоТексту Тогда - - Диалог.Фильтр= НСтр(""ru = 'Внешние обработки (*.epf)|*.epf|Все файлы (*.*)|*.*'""); - КонецЕсли; - - Если Диалог.Выбрать() Тогда - - РезультирующийФайл = Диалог.ПолноеИмяФайла; - - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура РезультирующийФайлПриОткрытии(Элемент, СтандартнаяОбработка) - - Если Объект.ВариантПреобразования = ВариантыПреобразования.Журнал Тогда - - СтандартнаяОбработка = Ложь; - - ДокументПросмотра = Новый ТекстовыйДокумент(); - ДокументПросмотра.Прочитать(РезультирующийФайл); - ДокументПросмотра.Показать(РезультирующийФайл); - - КонецЕсли; - -КонецПроцедуры - -//////////////////////////////////////////////////////////////////////////////// -// Вспомогательные процедуры и функции -&НаКлиенте -Функция ЭтоЦифра(Символ) - - Код = КодСимвола (Символ); - Возврат Код >= 48 И Код <= 57; - -КонецФункции - -&НаКлиенте -Функция ЭтоБуква(Символ) - - // Считаем, что для небуквенных символов коды не отличаются - Возврат КодСимвола(НРег(Символ)) <> КодСимвола(ВРег(Символ)); - -КонецФункции - -&НаКлиенте -Функция ОчиститьДату(ДатаДляОчистки) - - Результат = """"; - - ДлинаСтроки = СтрДлина(ДатаДляОчистки); - Для Индекс = 1 To ДлинаСтроки Цикл - СледующийСимвол = Сред(ДатаДляОчистки,Индекс, 1); - Если ЭтоЦифра(СледующийСимвол) Тогда - Результат = Результат + СледующийСимвол; - Иначе - Результат = Результат + ""_""; - КонецЕсли; - КонецЦикла; - - Возврат Результат; - -КонецФункции - -&НаКлиенте -Процедура ИзменитьВидимостьДоступность() - //Элементы.ИсходныеДанные.ТекущаяСтраница = ? ((Объект.ВариантПреобразования = ВариантыПреобразования.Журнал - // ИЛИ Объект.ВариантПреобразования = ВариантыПреобразования.ГенерацияОбработкиПоЖурналу), - // - // Элементы.ИсходныеФайлы, Элементы.ИсходныеТексты); - - - Если Объект.ВариантПреобразования = ВариантыПреобразования.Журнал - ИЛИ Объект.ВариантПреобразования = ВариантыПреобразования.ГенерацияОбработкиПоЖурналу Тогда - - Элементы.ИсходныеДанные.ТекущаяСтраница = Элементы.ИсходныеФайлы; - ИначеЕсли Объект.ВариантПреобразования = ВариантыПреобразования.ГенерацияОбработкиПоТексту Тогда - Элементы.ИсходныеДанные.ТекущаяСтраница = Элементы.ГенерацияФайлаПоТексту; - Иначе - Элементы.ИсходныеДанные.ТекущаяСтраница = Элементы.ИсходныеТексты; - КонецЕсли; - - ЭтоШтатныйВариант1С = Объект.ВариантПреобразования <> ВариантыПреобразования.ГенерацияОбработкиПоЖурналу и Объект.ВариантПреобразования <> ВариантыПреобразования.ГенерацияОбработкиПоТексту; - Объект.ГененироватьКодПодключенияККлиенту = ЭтоШтатныйВариант1С; - Элементы.ГененироватьКодПодключенияККлиенту.Доступность = ЭтоШтатныйВариант1С; - -КонецПроцедуры - -&НаКлиенте -Функция СоздатьВариантыПреобразования() - Структура = Новый Структура; - Структура.Вставить(""Журнал"", 0); - Структура.Вставить(""Текст"", 1); - Структура.Вставить(""ГенерацияОбработкиПоЖурналу"", 2); - Структура.Вставить(""ГенерацияОбработкиПоТексту"", 3); - Структура = Новый ФиксированнаяСтруктура(Структура); - Возврат Структура; -КонецФункции - -&НаСервере -Функция Объект() Экспорт - Возврат РеквизитФормыВЗначение(""Объект""); -КонецФункции - -//////////////////////////////////////////////////////////////////////////////// -// Процедуры преобразования -&НаСервере -Функция ПреобразоватьНаСервере(ТекстДляПреобразования) - - Возврат Объект().Преобразовать(ТекстДляПреобразования); - -КонецФункции - -&НаСервере -Функция ПреобразоватьВоВнешнююОбработку(ТекстДляПреобразования) - - СтрокаBase64 = Объект().СоздатьВнешнююОбработку(ТекстДляПреобразования); - - Возврат СтрокаBase64 - -КонецФункции - - -&НаКлиенте -Процедура Преобразовать(Команда) - - // Подготавливаем всё к преобразованию - ОчиститьСообщения(); - Если Не ПроверитьЗаполнение() Тогда - Возврат; - КонецЕсли; - - ТекстДляПреобразования = """"; - Если Объект.ВариантПреобразования = ВариантыПреобразования.Журнал ИЛИ Объект.ВариантПреобразования = ВариантыПреобразования.ГенерацияОбработкиПоЖурналу Тогда - - Читатель = Новый ТекстовыйДокумент(); - Читатель.Прочитать(ИсходныйФайл); - ТекстДляПреобразования = Читатель.ПолучитьТекст(); - Читатель = Неопределено; - - Иначе - - ТекстДляПреобразования = ИсходныйТекст.ПолучитьТекст(); - - КонецЕсли; - - Если Объект.ВариантПреобразования = ВариантыПреобразования.ГенерацияОбработкиПоЖурналу - или Объект.ВариантПреобразования = ВариантыПреобразования.ГенерацияОбработкиПоТексту Тогда - - РезультатПреобразования = ПреобразоватьВоВнешнююОбработку(ТекстДляПреобразования); - - Иначе - - РезультатПреобразования = ПреобразоватьНаСервере(ТекстДляПреобразования); - - КонецЕсли; - - Если Не ЗначениеЗаполнено(РезультатПреобразования) Тогда - Сообщить(НСтр(""ru = 'Не удалось выполнить преобразование'"")); - Возврат; - КонецЕсли; - - Если Объект.ВариантПреобразования = ВариантыПреобразования.Журнал Тогда - - Писатель = Новый ТекстовыйДокумент(); - Писатель.ДобавитьСтроку(РезультатПреобразования); - Писатель.Записать(РезультирующийФайл); - Писатель.Показать(РезультирующийФайл); - - ИначеЕсли Объект.ВариантПреобразования = ВариантыПреобразования.ГенерацияОбработкиПоЖурналу - или Объект.ВариантПреобразования = ВариантыПреобразования.ГенерацияОбработкиПоТексту Тогда - - Попытка - ДвоичныеДанные = Base64Значение(РезультатПреобразования); - ДвоичныеДанные.Записать(РезультирующийФайл); - Исключение - Сообщить(""Не удалось сохранить base64 внешнией обработки в файл""); - КонецПопытки; - - Иначе - - РезультирующийТекст.Очистить(); - РезультирующийТекст.ДобавитьСтроку(РезультатПреобразования); - - КонецЕсли; - -КонецПроцедуры - -", -{4,5, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",d2dcbcfb-d38e-4fa3-996c-ad9a927c7fab} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,7, -{1, -{0,14b9c261-b0c2-46b1-acdb-8b7cc4971264} -}, -{1, -{0,69892737-fbf2-40d4-bdea-b49a9f341c96} -}, -{1, -{0,698aff01-1ee8-452e-83e5-01bcfb3f6d9f} -}, -{1, -{0,71b711bc-3325-4fa1-b378-33a7adbf97fa} -}, -{1, -{0,b13ab8a6-288e-4a1c-80b4-b21a1b52b361} -}, -{1, -{0,c09837bd-5dd4-496b-b701-64bd41d091f3} -}, -{1, -{0,f338d2b7-c4a7-4e46-8e57-e557d0118edb} -} -},1,0,0,0, -{0,0}, -{0,0} -}, -{9, -{2},0,"ИсходныйФайл", -{1,1, -{"ru","Преобразовывать журнал"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,1, -{0} -},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{4},0,"РезультирующийФайл", -{1,1, -{"ru","Сохранять результат в"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,1, -{0} -},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{11},0,"ИсходныйТекст", -{1,1, -{"ru","Журнал действий пользователя"} -}, -{"Pattern", -{"#",ebf766b1-f32c-11d3-9851-008048da1252} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{12},0,"РезультирующийТекст", -{1,1, -{"ru","Сценарий"} -}, -{"Pattern", -{"#",ebf766b1-f32c-11d3-9851-008048da1252} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -},0,0, -{#base64:77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxTZXR0 -aW5ncyB4bWxucz0iaHR0cDovL3Y4LjFjLnJ1LzguMS9kYXRhLWNvbXBvc2l0aW9u -LXN5c3RlbS9zZXR0aW5ncyIgeG1sbnM6ZGNzY29yPSJodHRwOi8vdjguMWMucnUv -OC4xL2RhdGEtY29tcG9zaXRpb24tc3lzdGVtL2NvcmUiIHhtbG5zOnN0eWxlPSJo -dHRwOi8vdjguMWMucnUvOC4xL2RhdGEvdWkvc3R5bGUiIHhtbG5zOnN5cz0iaHR0 -cDovL3Y4LjFjLnJ1LzguMS9kYXRhL3VpL2ZvbnRzL3N5c3RlbSIgeG1sbnM6djg9 -Imh0dHA6Ly92OC4xYy5ydS84LjEvZGF0YS9jb3JlIiB4bWxuczp2OHVpPSJodHRw -Oi8vdjguMWMucnUvOC4xL2RhdGEvdWkiIHhtbG5zOndlYj0iaHR0cDovL3Y4LjFj -LnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93ZWIiIHhtbG5zOndpbj0iaHR0cDovL3Y4 -LjFjLnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93aW5kb3dzIiB4bWxuczp4cz0iaHR0 -cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDov -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,1, -{6, -{3,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"Преобразовать", -{1,1, -{"ru","Преобразовать"} -}, -{1,1, -{"ru","Преобразовать журнал действий во встроенный язык"} -}, -{0, -{0, -{"B",1},0} -}, -{0,0,0}, -{3,1, -{0,0ce78048-0196-4f80-a781-9829cdb7f43e},"",-1,-1,1,0},"Преобразовать",2,0,0, -{0,0} -} -}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git a/src/Tests/Gui83/UILogToScript/und/6344d70f-6d22-465c-b456-63013e6bc378.1 b/src/Tests/Gui83/UILogToScript/und/6344d70f-6d22-465c-b456-63013e6bc378.1 deleted file mode 100644 index f4cc6cc0..00000000 --- a/src/Tests/Gui83/UILogToScript/und/6344d70f-6d22-465c-b456-63013e6bc378.1 +++ /dev/null @@ -1,82 +0,0 @@ -{5,1,"ru", -{#base64:77u/PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBU -cmFuc2l0aW9uYWwvL0VOIj48aHRtbD48aGVhZD48bWV0YSBjb250ZW50PSJ0ZXh0 -L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSI+ -PC9tZXRhPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhy -ZWY9InY4aGVscDovL3NlcnZpY2VfYm9vay9zZXJ2aWNlX3N0eWxlIj48L2xpbms+ -PG1ldGEgbmFtZT0iR0VORVJBVE9SIiBjb250ZW50PSJNU0hUTUwgMTAuMDAuOTIw -MC4xNzI2NyI+PC9tZXRhPjwvaGVhZD48Ym9keT4NCjxoMT7Qn9GA0LXQvtCx0YDQ -sNC30L7QstCw0L3QuNC1INC20YPRgNC90LDQu9CwINC00LXQudGB0YLQstC40Lkg -0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINCy0L4g0LLRgdGC0YDQvtC10L3QvdGL -0Lkg0Y/Qt9GL0Lo8L2gxPg0KPHA+0J7QsdGA0LDQsdC+0YLQutCwINC/0YDQtdC0 -0L3QsNC30L3QsNGH0LXQvdCwINC00LvRjyDQv9GA0LXQvtCx0YDQsNC30L7QstCw -0L3QuNGPINC20YPRgNC90LDQu9CwINC00LXQudGB0YLQstC40Lkg0L/QvtC70YzQ -t9C+0LLQsNGC0LXQu9GPINCyINC/0YDQvtCz0YDQsNC80LzRg8Kg0L3QsCDQstGB -0YLRgNC+0LXQvdC90L7QvCDRj9C30YvQutC1LjwvcD4NCjxwPtCe0LHRgNCw0LHQ -vtGC0LrQsCDQv9C+0LfQstC+0LvRj9C10YIg0L/RgNC10L7QsdGA0LDQt9C+0LLR -i9Cy0LDRgtGMINGD0LrQsNC30LDQvdC90YvQtSDRhNCw0LnQu9GLINC40LvQuCDQ -vdC10L/QvtGB0YDQtdC00YHRgtCy0LXQvdC90L4g0LLQstC10LTRkdC90L3Ri9C5 -INGC0LXQutGB0YIuINCS0YvQsdC10YDQuNGC0LUg0L3Rg9C20L3Ri9C5INCy0LDQ -vMKg0LLQsNGA0LjQsNC90YIg0LIg0L/QtdGA0LXQutC70Y7Rh9Cw0YLQtdC70LUg -PHN0cm9uZz4i0J/RgNC10L7QsdGA0LDQt9C+0LLRi9Cy0LDRgtGMIjwvc3Ryb25n -Pi48L3A+DQo8cD7QpNC+0YDQvNC40YDQvtCy0LDQvdC40LUg0L/RgNC+0LPRgNCw -0LzQvNGLINCy0L7Qt9C80L7QttC90L4g0L3QsCDQsNC90LPQu9C40LnRgdC60L7Q -vCDQuNC70Lgg0YDRg9GB0YHQutC+0Lwg0LLQsNGA0LjQsNC90YLQtSDQstGB0YLR -gNC+0LXQvdC90L7Qs9C+INGP0LfRi9C60LAuINCf0L4g0YPQvNC+0LvRh9Cw0L3Q -uNGOINC40YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQstCw0YDQuNCw0L3RgiDRj9C3 -0YvQutCwINC40YHQv9C+0LvRjNC30YPQtdC80YvQuSDQsiDQutC+0L3RhNC40LPR -g9GA0LDRhtC40LguINCf0YDQuCDQvdC10L7QsdGF0L7QtNC40LzQvtGB0YLQuCDR -gdCz0LXQvdC10YDQuNGA0L7QstCw0YLRjCDQv9GA0L7Qs9GA0LDQvNC80YMg0LIg -0LTRgNGD0LPQvtC8INCy0LDRgNC40LDQvdGC0LUg0YPQutCw0LbQuNGC0LUg0L3Q -tdC+0LHRhdC+0LTQuNC80YvQuSDQsiDQv9C+0LvQtSAiPHN0cm9uZz7Qk9C10L3Q -tdGA0LjRgNC+0LLQsNGC0Ywg0YHRhtC10L3QsNGA0LjQuSDQsiDQstCw0YDQuNCw -0L3RgtC1INCy0YHRgtGA0L7QtdC90L3QvtCz0L4g0Y/Qt9GL0LrQsDwvc3Ryb25n -PiIuPC9wPg0KPHA+0JIg0L/QvtC70LUgIjxzdHJvbmc+0JjQvNGPINC+0YHQvdC+ -0LLQvdC+0Lkg0L/RgNC+0YbQtdC00YPRgNGLPC9zdHJvbmc+IiDRg9C60LDQt9GL -0LLQsNC10YLRgdGPINC40LzRjyDQv9GA0L7RhtC10LTRg9GA0YssINC60L7RgtC+ -0YDQsNGPINCx0YPQtNC10YIg0Y/QstC70Y/RgtGM0YHRjyDRgtC+0YfQutC+0Lkg -0LLRhdC+0LTQsMKg0LIg0YHRhtC10L3QsNGA0LjQuS48L3A+DQo8cD7QldGB0LvQ -uCDQv9C70LDQvdC40YDRg9C10YLRgdGPINC40YHQv9C+0LvRjNC30L7QstCw0YLR -jCDRgdCz0LXQvdC10YDQuNGA0L7QstCw0L3QvdGD0Y4g0L/RgNC+0YbQtdC00YPR -gNGDINGB0LDQvNC+0YHRgtC+0Y/RgtC10LvRjNC90L4gKNC90LDQv9GA0LjQvNC1 -0YAsINCy0L4g0LLQvdC10YjQvdC10Lkg0L7QsdGA0LDQsdC+0YLQutC1KSwg0LjQ -vNC10LXRgtGB0Y8g0LLQvtC30LzQvtC20L3QvtGB0YLRjCDRgdCz0LXQvdC10YDQ -uNGA0L7QstCw0YLRjCDQutC+0LQg0L/QvtC00LrQu9GO0YfQtdC90LjRjyDQuiDR -gtC10YHRgtC40YDRg9C10LzQvtC80YMg0LrQu9C40LXQvdGC0YMsINC+0YLQvNC1 -0YLQuNCyINGE0LvQsNC20L7QuiAiPHN0cm9uZz7Qk9C10L3QtdGA0LjRgNC+0LLQ -sNGC0Ywg0LrQvtC0INC/0L7QtNC60LvRjtGH0LXQvdC40Y8g0Log0LrQu9C40LXQ -vdGC0YM8L3N0cm9uZz4iLiDQkiDQv9GA0L7RgtC40LLQvdC+0Lwg0YHQu9GD0YfQ -sNC1INC00LvRjyDQv9GA0L7RhtC10LTRg9GA0Ysg0LHRg9C00LXRgiDRgdGE0L7R -gNC80LjRgNC+0LLQsNC9INC/0LDRgNCw0LzQtdGC0YAgPHN0cm9uZz7QotC10YHR -gtC40YDRg9C10LzQvtC10J/RgNC40LvQvtC20LXQvdC40LU8L3N0cm9uZz4sINCy -INC60L7RgtC+0YDRi9C5INC/0YDQuCDQstGL0LfQvtCy0LUg0LHRg9C00LXRgiDQ -vdC10L7QsdGF0L7QtNC40LzQviDQv9C10YDQtdC00LDRgtGMINGB0YPRidC10YHR -gtCy0YPRjtGJ0LjQuSDQvtCx0YrQtdC60YIg0YLQuNC/0LAg0KLQtdGB0YLQuNGA -0YPQtdC80L7QtdCf0YDQuNC70L7QttC10L3QuNC1LCDQutC+0YLQvtGA0YvQuSDR -g9C20LUg0YPRgdGC0LDQvdC+0LLQuNC7INGB0L7QtdC00LjQvdC10L3QuNC1INGB -INGC0LXRgdGC0LjRgNGD0LXQvNGL0Lwg0LrQu9C40LXQvdGC0L7QvC48L3A+DQo8 -cD7QlNC70Y8g0YPQv9GA0L7RidC10L3QuNGPINGH0YLQtdC90LjRjyDQv9C+0LvR -g9GH0LDQtdC80L7Qs9C+INC60L7QtNCwINGB0LPQtdC90LXRgNC40YDQvtCy0LDQ -vdC90LDRjyDQv9GA0L7Qs9GA0LDQvNC80LAg0YDQsNC30LHQuNCy0LDQtdGC0YHR -jyDQv9C+ICLQs9GA0LDQvdC40YbQsNC8IiDQvtC60L7QvSDQv9GA0LjQu9C+0LbQ -tdC90LjRjyDQvdCwINC/0L7QtNC/0YDQvtCz0YDQsNC80LzRiy4g0JXRgdC70Lgg -0L7RgtC80LXRgtC40YLRjCDRhNC70LDQttC+0LogIjxzdHJvbmc+0KDQsNC30LHQ -uNCy0LDRgtGMINGA0LXQt9GD0LvRjNGC0LDRgiDQvdCwINC/0YDQvtGG0LXQtNGD -0YDRiyDQv9C+ICLQs9GA0LDQvdC40YbQsNC8IiDQvtC60L7QvTwvc3Ryb25nPiIg -0LHRg9C00LXRgiDRgdGE0L7RgNC80LjRgNC+0LLQsNC90LAg0L7QtNC90LAg0LHQ -vtC70YzRiNCw0Y8g0L/RgNC+0YbQtdC00YPRgNCwLjwvcD4NCjxwPtCe0YLQvNC1 -0YLQutCwINGE0LvQsNC20LrQsCAiPHN0cm9uZz7Qk9C10L3QtdGA0LjRgNC+0LLQ -sNGC0Ywg0L/QvtC70YPRh9C10L3QuNC1INGA0L7QtNC40YLQtdC70YzRgdC60LjR -hSDQvtCx0YrQtdC60YLQvtCyINCyINC40LXRgNCw0YDRhdC40Lg8L3N0cm9uZz4i -INC/0L7Qt9Cy0L7Qu9GP0LXRgiDQv9GA0Lgg0LLRi9C30L7QstC1INC80LXRgtC+ -0LTQsCDQutCw0LrQvtCz0L4t0LvQuNCx0L4g0L7QsdGK0LXQutGC0LAg0YHQs9C1 -0L3QtdGA0LjRgNC+0LLQsNGC0Ywg0L/QvtC70YPRh9C10L3QuNC1INCy0YHQtdGF -INGA0L7QtNC40YLQtdC70YzRgdC60LjRhSDRgtC10YHRgtC40YDRg9C10LzRi9GF -INC+0LHRitC10LrRgtC+0LIsINC60L7RgtC+0YDRi9C1INC90LDRhdC+0LTRj9GC -0YHRjyDQvNC10LbQtNGDwqDRgtC10LrRg9GJ0LjQvCDRgtC10YHRgtC40YDRg9C1 -0LzRi9C8INC+0LHRitC10LrRgtC+0LzCoNC4INGE0L7RgNC80L7QuS4g0JXRgdC7 -0Lgg0YTQu9Cw0LbQvtC6INGB0LHRgNC+0YjQtdC9IC0g0LPQtdC90LXRgNC40YDR -g9C10YLRgdGPINC/0L7QuNGB0Log0L7QsdGK0LXQutGC0L7QsiDQvdC10L/QvtGB -0YDQtdC00YHRgtCy0LXQvdC90L7CoNGH0LXRgNC10Lcg0L7QsdGK0LXQutGCINGC -0LXRgdGC0LjRgNGD0LXQvNC+0LnCoNGE0L7RgNC80YsuPC9wPjwvYm9keT48L2h0 -bWw+},0} \ No newline at end of file diff --git a/src/Tests/Gui83/UILogToScript/und/6810777b-4151-4eba-b50d-4a2a08b5be5a b/src/Tests/Gui83/UILogToScript/und/6810777b-4151-4eba-b50d-4a2a08b5be5a deleted file mode 100644 index e0e0efe2..00000000 --- a/src/Tests/Gui83/UILogToScript/und/6810777b-4151-4eba-b50d-4a2a08b5be5a +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,1, -{0, -{0,0,6810777b-4151-4eba-b50d-4a2a08b5be5a},"UnpackV8", -{1,"ru","Unpack v8"},""} -},0} \ No newline at end of file diff --git a/src/Tests/Gui83/UILogToScript/und/6810777b-4151-4eba-b50d-4a2a08b5be5a.0 b/src/Tests/Gui83/UILogToScript/und/6810777b-4151-4eba-b50d-4a2a08b5be5a.0 deleted file mode 100644 index 91178556..00000000 --- a/src/Tests/Gui83/UILogToScript/und/6810777b-4151-4eba-b50d-4a2a08b5be5a.0 +++ /dev/null @@ -1,1368 +0,0 @@ -{1, -{#base64:TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAA2AAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5v -dCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAADecsL/mhOsrJoTrKyaE6ys -cgymrM8TrKwZD6KsiROsrJ8f8ayZE6ysmhOtrNwTrKz4DL+smBOsrHIMp6yLE6ys -UmljaJoTrKwAAAAAAAAAAAAAAAAAAAAAUEUAAEwBAwBR4vBHAAAAAAAAAADgAA8B -CwEGAACwAAAAUAAAAAAAADlWAAAAEAAAAMAAAAAAQAAAEAAAABAAAAQAAAAAAAAA -BAAAAAAAAAAAEAEAABAAAAAAAAADAAAAAAAQAAAQAAAAABAAABAAAAAAAAAQAAAA -AAAAAAAAAABwywAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AMAAABgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAudGV4dAAAAKauAAAAEAAA -ALAAAAAQAAAAAAAAAAAAAAAAAAAgAABgLnJkYXRhAAB6EQAAAMAAAAAgAAAAwAAA -AAAAAAAAAAAAAAAAQAAAQC5kYXRhAAAAmCkAAADgAAAAIAAAAOAAAAAAAAAAAAAA -AAAAAEAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAIoN+PVAALABhMh1CArIiA349UAA6QcAAACQkJCQkJCQ -aDAQQADoEzMAAFnDkJCQkMOQkJCQkJCQkJCQkJCQkJCLwTPJxwAYwUAAiUgUiUgc -xkAgAcOQkJCQkJCQkJCQkFaL8egYAAAA9kQkCAF0CVboXy0AAIPEBIvGXsIEAJCQ -Vovxi0YUxwYYwUAAhcB0CVDoPi0AAIPEBItGHIXAdB2LSPyNcPxowBBAAFFqOFDo -yjIAAFboGi0AAIPEBF7DkFaL8YsGhcB0CVDoBS0AAIPEBItGCIXAdAlQ6PUsAACD -xASNThDolv///17DkJCQkItEJARTVldoVOBAAIvZUOjkMwAAi/CDxAiF9nULX164 -uf///1vCCACLTCQUaFDgQABR6MEzAACL+IPECIX/dRRW6DwzAACDxAS4uP///19e -W8IIAFdWi8vo8wEAAFaL2OgdMwAAV+gXMwAAg8QIg/v9dQtfXri3////W8IIAIvD -X/fYG8BeJLpbwggAkJCQkItEJARTVldoVOBAAIvZUOhUMwAAi/CDxAiF9nULX164 -zf///1vCCACLTCQUaFDgQABR6DEzAACL+IPECIX/dRRW6KwyAACDxAS4zP///19e -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 -yf8zwPKu99FJi9mLyjvTcgKLy79M5kAAi/UzwPOmdAUbwIPY/4XAdRE703INO9MP -lcCFwA+E1QAAAGiw6UAAaIjgQADomRgAAGiw6UAAaAjmQADoihgAAGiw6UAAaIjg -QADoexgAAGiw6UAAaNDlQADobBgAAGiw6UAAaIjgQADoXRgAAGiw6UAAaMTlQADo -ThgAAGiw6UAAaJTlQADoPxgAAGiw6UAAaGDlQADoMBgAAIPEQGiw6UAAaCzlQADo -HhgAAGiw6UAAaPjkQADoDxgAAGiw6UAAaOjkQADoABgAAGiw6UAAaODkQADo8RcA -AGiw6UAAaLDkQADo4hcAAGiw6UAAaHzkQADp0AAAAGiw6UAAaIjgQADoxBcAAGiw -6UAAaIjgQADotRcAAGiw6UAAaHTkQADophcAAGiw6UAAaDDkQADolxcAAGiw6UAA -aNjjQADoiBcAAGiw6UAAaITjQADoeRcAAGiw6UAAaIjgQADoahcAAGiw6UAAaIjg -QADoWxcAAIPEQGiw6UAAaHzjQADoSRcAAGiw6UAAaCDjQADoOhcAAGiw6UAAaMzi -QADoKxcAAGiw6UAAaITiQADoHBcAAGiw6UAAaIjgQADoDRcAAGiw6UAAaIjgQADo -/hYAAItMJESDxDCFyQ+ENgIAAIpB/4TAdB48/3Qa/shfXohB/10zwFuLTCRYZIkN -AAAAAIPEZMNJUehFBgAAg8QEM8BfXl1bi0wkWGSJDQAAAACDxGTDjUwkIOiQ2P// -i1MMi0MIagBSUI1MJCzGRCR8Bug48v//i/DGRCRwAI1MJCDrS0lR6PgFAACDxASL -xl9eXVuLTCRYZIkNAAAAAIPEZMONTCQg6EPY//+LSwyLUwhqAFFSjUwkLMZEJHwF -6Ovr//+L8MZEJHAAjUwkIOhb2P//i0wkFIXJdLKKQf+EwHShPP90nf7IX4hB/4vG -Xl1bi0wkWGSJDQAAAACDxGTDjUwkIOjl1///i0MMi0sIUFGNTCQoxkQkeATo7+f/ -/41MJCCL8MZEJHAA6P/X//+LTCQUhckPhFL///+KQf+EwA+EPf///zz/D4Q1//// -65aNTCRE6JXX//+LUxCLQwyLSwhqAVJQUY1MJFTGhCSAAAAAA+g24v//jUwkRIvw -xkQkcADoptf//2oBjUwkFMdEJHT/////6IMBAACLxl9eXVuLTCRYZIkNAAAAAIPE -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 -9zPLA/AD+YPx/4Pw/zPPM8aDwgSB4QABAYF1HCUAAQGBdNMlAAEBAXUIgeYAAACA -dcReX1szwMOLQvw42HQ2hMB07zjcdCeE5HTnwegQONh0FYTAdNw43HQGhOR01OuW -Xl+NQv9bw41C/l5fW8ONQv1eX1vDjUL8Xl9bw/8lJMBAAMzMzMzMzMzMzMzMzMzM -i0XsUOhrgP//WcO4UMhAAOkajP//zMzMzMzMzMzMzMyLhaz8//9Q6EiA//9Zw7h4 -yEAA6feL///MzMzMzMzMzIuF0Pz//1DoKID//1nDuKDIQADp14v//8zMzMzMzMzM -jU2c6eh7//+NTazpsFL//41NrOmoUv//jU2s6aBS//+NTdDpmFL//41N0OmQUv// -jU3Q6YhS//+4yMhAAOmNi///zMzMzMzMzMzMzMzMzMy4IMlAAOl1i///zMyNTeDp -jHv//7j4yUAA6WGL///MzItN7OnMmf//uCDKQADpTYv//8zMi03w6biZ//+4aMpA -AOk5i///zMyLTfDppJn//7iQykAA6SWL///MzItN8OmQmf//uLjKQADpEYv//8zM -jU3g6Sh7//+4IMtAAOn9iv//zMyLTfDpaJn//7hIy0AA6emK//8AAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -6s4AAFLRAABA0QAALtEAAB7RAAAO0QAAHs0AACzNAAA4zQAARM0AAFDNAABezQAA -cs0AAIbNAACWzQAAqs0AALbNAADOzQAA6M0AAPjNAAAKzgAAGs4AACzOAAA6zgAA -TM4AAFjOAABmzgAAcs4AAH7OAACMzgAAms4AAKjOAAC4zgAAyM4AANrOAAD4zgAA -Cs8AAB7PAAA2zwAATM8AAGLPAAByzwAAgs8AAJ7PAAC0zwAAzs8AAOjPAAAA0AAA -GtAAADjQAABI0AAAXNAAAGrQAAB80AAAjNAAAJzQAACo0AAAstAAAL7QAADY0AAA -6tAAAPzQAAAAAAAABM0AAPrMAADszAAA3MwAANLMAADEzAAAAAAAAGAQQAA4x0AA -1z9AAJ0+QAC6P0AAc3RyaW5nIHRvbyBsb25nAHDHQAAEP0AAnT5AAKo+QAD///// -AAAAAAAAAADAx0AAv0BAAJ0+QACiQEAAaW52YWxpZCBzdHJpbmcgcG9zaXRpb24A -/////wAAAADmQ0AAAAAAAP////86REAARERAAAAAAAD/////AAAAANhIQAAuY29t -AAAAAC5iYXQAAAAALmNtZAAAAAAuZXhlAAAAAC4vXAA/KgAAAAAAAP/////5VkAA -DVdAAPDHQABhV0AAGlhAAFVua25vd24gZXhjZXB0aW9uAAAAOMhAADxYQAAAAAAA -Y3Nt4AEAAAAAAAAAAAAAAAMAAAAgBZMZAAAAAAAAAAD/////AAAAAIVhQAAAAAAA -cWFAAHVhQAD/////AAAAANthQAAAAAAAx2FAAMthQAD/////iHpAAJJ6QAAAAAAA -/////wAAAAD4e0AAAAAAANZ7QADge0AA/////yh+QAAsfkAAAAAAAP////+KfkAA -k35AAAYAAAYAAQAAEAADBgAGAhAERUVFBQUFBQU1MABQAAAAACAoOFBYBwgANzAw -V1AHAAAgIAgAAAAACGBoYGBgYAAAcHB4eHh4CAcIAAAHAAgICAAACAAIAAcIAAAA -KABuAHUAbABsACkAAAAAAChudWxsKQAAAAAAAAAAAAD/////TZBAAFGQQAD///// -AZFAAAWRQABydW50aW1lIGVycm9yIAAADQoAAFRMT1NTIGVycm9yDQoAAABTSU5H -IGVycm9yDQoAAAAARE9NQUlOIGVycm9yDQoAAFI2MDI4DQotIHVuYWJsZSB0byBp -bml0aWFsaXplIGhlYXANCgAAAABSNjAyNw0KLSBub3QgZW5vdWdoIHNwYWNlIGZv -ciBsb3dpbyBpbml0aWFsaXphdGlvbg0KAAAAAFI2MDI2DQotIG5vdCBlbm91Z2gg -c3BhY2UgZm9yIHN0ZGlvIGluaXRpYWxpemF0aW9uDQoAAAAAUjYwMjUNCi0gcHVy -ZSB2aXJ0dWFsIGZ1bmN0aW9uIGNhbGwNCgAAAFI2MDI0DQotIG5vdCBlbm91Z2gg -c3BhY2UgZm9yIF9vbmV4aXQvYXRleGl0IHRhYmxlDQoAAAAAUjYwMTkNCi0gdW5h -YmxlIHRvIG9wZW4gY29uc29sZSBkZXZpY2UNCgAAAABSNjAxOA0KLSB1bmV4cGVj -dGVkIGhlYXAgZXJyb3INCgAAAABSNjAxNw0KLSB1bmV4cGVjdGVkIG11bHRpdGhy -ZWFkIGxvY2sgZXJyb3INCgAAAABSNjAxNg0KLSBub3QgZW5vdWdoIHNwYWNlIGZv -ciB0aHJlYWQgZGF0YQ0KAA0KYWJub3JtYWwgcHJvZ3JhbSB0ZXJtaW5hdGlvbg0K -AAAAAFI2MDA5DQotIG5vdCBlbm91Z2ggc3BhY2UgZm9yIGVudmlyb25tZW50DQoA -UjYwMDgNCi0gbm90IGVub3VnaCBzcGFjZSBmb3IgYXJndW1lbnRzDQoAAABSNjAw -Mg0KLSBmbG9hdGluZyBwb2ludCBub3QgbG9hZGVkDQoAAAAATWljcm9zb2Z0IFZp -c3VhbCBDKysgUnVudGltZSBMaWJyYXJ5AAAAAAoKAABSdW50aW1lIEVycm9yIQoK -UHJvZ3JhbTogAAAALi4uADxwcm9ncmFtIG5hbWUgdW5rbm93bj4AAFN1bk1vblR1 -ZVdlZFRodUZyaVNhdAAAAEphbkZlYk1hckFwck1heUp1bkp1bEF1Z1NlcE9jdE5v -dkRlYwAAAABUWgAAAAAAAP/////zr0AA969AAEdldExhc3RBY3RpdmVQb3B1cAAA -R2V0QWN0aXZlV2luZG93AE1lc3NhZ2VCb3hBAHVzZXIzMi5kbGwAAP////+ouEAA -rLhAAP////8XuUAAG7lAAADpQAAAAAAAAAAAAP////8AAAAAAAAAABjpQAABAAAA -AAAAAP////8AAAAAAAAAADjpQAACAAAAAAAAAP////8AAAAAAAAAAADHQADoxkAA -0MZAAAAAAAAAAAAAAAAAAAMAAAAYx0AAAAAAAAAAAAAAAAAAOOlAACjHQAAAAAAA -6MZAANDGQAAAAAAAAAAAAAAAAAAAAAAAAgAAAFDHQAAAAAAAAAAAAAAAAAAY6UAA -YMdAAAAAAABY6UAAAgAAAAAAAAD/////AAAAAAAAAACIx0AA6MZAANDGQAAAAAAA -AAAAAAAAAAADAAAAoMdAAAAAAAAAAAAAAAAAAFjpQACwx0AA0MZAAAAAAAAAAAAA -AAAAAAAAAAABAAAA1MdAAAAAAAAAAAAAAAAAAADpQADgx0AAAAAAABjsQAAAAAAA -AAAAAP////8AAAAAAAAAAAjIQAAAAAAAAAAAAAAAAAABAAAAIMhAAAAAAAAAAAAA -AAAAABjsQAAoyEAAAAAAACAFkxkBAAAAcMhAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -/////2C9QAAgBZMZAQAAAJjIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////+AvUAA -IAWTGQEAAADAyEAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////oL1AACAFkxkHAAAA -6MhAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////8C9QAAAAAAA8L1AAAAAAADovUAA -AAAAAOC9QAAAAAAA2L1AAAAAAADQvUAAAAAAAMi9QAAgBZMZAgAAAEDJQAABAAAA -UMlAAAAAAAAAAAAAAAAAAP////8AAAAA/////wAAAAAAAAAAAAAAAAEAAAABAAAA -aMlAAAAAAAAAAAAAAAAAAAAAAABZPEAAAAAAAADpQAAAAAAA/////wAAAAAMAAAA -uldAAAAAAAAAAAAAGOlAAAAAAAD/////AAAAABwAAAAgP0AAAAAAAAAAAAA46UAA -AAAAAP////8AAAAAHAAAAPM/QAAAAAAAAwAAALjJQACYyUAAeMlAAAAAAAB9P0AA -AAAAANjJQAAgBZMZAQAAABjKQAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////8cvkAA -IAWTGQEAAABAykAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////ML5AAAIAAACYyUAA -eMlAAAAAAAAAAAAAxz5AAAAAAABIykAAIAWTGQEAAACIykAAAAAAAAAAAAAAAAAA -AAAAAAAAAAD/////RL5AACAFkxkBAAAAsMpAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -/////1i+QAAgBZMZAQAAANjKQAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////9svkAA -AAAAAFjpQAAAAAAA/////wAAAAAcAAAA20BAAAAAAAADAAAA4MpAAJjJQAB4yUAA -AAAAAGVAQAAAAAAAAMtAACAFkxkBAAAAQMtAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -/////4C+QAAgBZMZAQAAAGjLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////+UvkAA -qMwAAAAAAAAAAAAAFM0AAPzAAACsywAAAAAAAAAAAABs0QAAAMAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAA6s4AAFLRAABA0QAALtEAAB7RAAAO0QAAHs0AACzNAAA4zQAA -RM0AAFDNAABezQAAcs0AAIbNAACWzQAAqs0AALbNAADOzQAA6M0AAPjNAAAKzgAA -Gs4AACzOAAA6zgAATM4AAFjOAABmzgAAcs4AAH7OAACMzgAAms4AAKjOAAC4zgAA -yM4AANrOAAD4zgAACs8AAB7PAAA2zwAATM8AAGLPAAByzwAAgs8AAJ7PAAC0zwAA -zs8AAOjPAAAA0AAAGtAAADjQAABI0AAAXNAAAGrQAAB80AAAjNAAAJzQAACo0AAA -stAAAL7QAADY0AAA6tAAAPzQAAAAAAAABM0AAPrMAADszAAA3MwAANLMAADEzAAA -AAAAAAgAZGVmbGF0ZUVuZAAABQBkZWZsYXRlAAkAZGVmbGF0ZUluaXQyXwAoAGlu -ZmxhdGVFbmQAACMAaW5mbGF0ZQApAGluZmxhdGVJbml0Ml8AemxpYjEuZGxsAKIB -SGVhcFJlQWxsb2MAmQFIZWFwQWxsb2MAnwFIZWFwRnJlZQAALwJSdGxVbndpbmQA -fQBFeGl0UHJvY2VzcwCeAlRlcm1pbmF0ZVByb2Nlc3MAAPcAR2V0Q3VycmVudFBy -b2Nlc3MAGgFHZXRMYXN0RXJyb3IAAC0AQ3JlYXRlRGlyZWN0b3J5QQAAkABGaW5k -Q2xvc2UAigBGaWxlVGltZVRvU3lzdGVtVGltZQAAiQBGaWxlVGltZVRvTG9jYWxG -aWxlVGltZQAEAUdldERyaXZlVHlwZUEAlABGaW5kRmlyc3RGaWxlQQAAnQBGaW5k -TmV4dEZpbGVBAMoAR2V0Q29tbWFuZExpbmVBAHQBR2V0VmVyc2lvbgAACwJSYWlz -ZUV4Y2VwdGlvbgAAowFIZWFwU2l6ZQAAGwBDbG9zZUhhbmRsZQDfAldyaXRlRmls -ZQAYAlJlYWRGaWxlAACdAUhlYXBEZXN0cm95AJsBSGVhcENyZWF0ZQAAvwJWaXJ0 -dWFsRnJlZQC7AlZpcnR1YWxBbGxvYwAAuAFJc0JhZFdyaXRlUHRyAG0CU2V0SGFu -ZGxlQ291bnQAAFIBR2V0U3RkSGFuZGxlAAAVAUdldEZpbGVUeXBlAFABR2V0U3Rh -cnR1cEluZm9BABYBR2V0RnVsbFBhdGhOYW1lQQAA9QBHZXRDdXJyZW50RGlyZWN0 -b3J5QQAA0gJXaWRlQ2hhclRvTXVsdGlCeXRlAOQBTXVsdGlCeXRlVG9XaWRlQ2hh -cgC/AUxDTWFwU3RyaW5nQQAAwAFMQ01hcFN0cmluZ1cAAK0CVW5oYW5kbGVkRXhj -ZXB0aW9uRmlsdGVyAAAkAUdldE1vZHVsZUZpbGVOYW1lQQAAsgBGcmVlRW52aXJv -bm1lbnRTdHJpbmdzQQCzAEZyZWVFbnZpcm9ubWVudFN0cmluZ3NXAAYBR2V0RW52 -aXJvbm1lbnRTdHJpbmdzAAgBR2V0RW52aXJvbm1lbnRTdHJpbmdzVwAAiwJTZXRV -bmhhbmRsZWRFeGNlcHRpb25GaWx0ZXIAfAJTZXRTdGRIYW5kbGUAAKoARmx1c2hG -aWxlQnVmZmVycwAANABDcmVhdGVGaWxlQQBqAlNldEZpbGVQb2ludGVyAAC1AUlz -QmFkUmVhZFB0cgAAsgFJc0JhZENvZGVQdHIAAL8AR2V0Q1BJbmZvALkAR2V0QUNQ -AAAxAUdldE9FTUNQAABwAUdldFRpbWVab25lSW5mb3JtYXRpb24AAFMBR2V0U3Ry -aW5nVHlwZUEAAFYBR2V0U3RyaW5nVHlwZVcAAD4BR2V0UHJvY0FkZHJlc3MAAMIB -TG9hZExpYnJhcnlBAABhAlNldEVuZE9mRmlsZQAAIQBDb21wYXJlU3RyaW5nQQAA -IgBDb21wYXJlU3RyaW5nVwAAYgJTZXRFbnZpcm9ubWVudFZhcmlhYmxlQQBLRVJO -RUwzMi5kbGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBAAPAvQACAPUAA -jUJAAAAAAAAAAAAAT0NAAJVOQAC8pkAA6ppAAAAAAAAAAAAAOk9AAAAAAAAAAAAA -+5pAAAAAAAAAAAAAAAAAAHdiAAByYgAAMS4yLjMAAABVbnBhY2tUb0ZvbGRlci4g -RXJyb3IgaW4gY3JlYXRpbmcgZmlsZSEACgAAAGRhdGEAAAAAJXNcJXMuJXMAAAAA -aGVhZGVyAAAuAAAAfAAAAFByb2dyZXNzICg1MCBwb2ludHMpOiAAAFVucGFja1Rv -Rm9sZGVyLiBFcnJvciBpbiBjcmVhdGluZyBmaWxlIQoAAAAAJXNcJXMAAABGaWxl -SGVhZGVyAABVbnBhY2tUb0ZvbGRlci4gRXJyb3IgaW4gY3JlYXRpbmcgZGlyZWN0 -b3J5IQoAAABVbnBhY2tUb0ZvbGRlci4gVGhpcyBpcyBub3QgVjggZmlsZSEKAAAA -VW5wYWNrVG9Gb2xkZXIuIEVycm9yIGluIHJlYWRpbmcgZmlsZSEKAFVucGFja1Rv -Rm9sZGVyLiBOb3QgZW5vdWdoIG1lbW9yeSEKAFVucGFja1RvRm9sZGVyLiBJbnB1 -dCBmaWxlIG5vdCBmb3VuZCEKAABSZWFkQmxvY2tEYXRhLiBCbG9ja0RhdGEgPT0g -TlVMTC4AAAAuZGF0YQAAACVzXCouaGVhZGVyACVzXEZpbGVIZWFkZXIAAAAlMDh4 -AAAAAExvYWRGaWxlOiBvawoAAABTYXZlRmlsZS4gRXJyb3IgaW4gY3JlYXRpbmcg -ZmlsZSEAAAAlc1wqAAAAAFBhY2s6IG9rCgAAAExvYWRGaWxlRnJvbUZvbGRlcjog -b2sKAFY4VW5wYWNrLmV4ZSAtcGFjayAgICAgICAgMUN2OC51bmQgICAgICAgICAg -ICAgICAgICAgICAgICAxQ3Y4X25ldy5jZgoAAFY4VW5wYWNrLmV4ZSAtZGVmbGF0 -ZSAgICAgMUN2OC51bnBcbWV0YWRhdGFfbmV3LmRhdGEudW5kICAxQ3Y4LnVucFxt -ZXRhZGF0YS5kYXRhCgAAAFY4VW5wYWNrLmV4ZSAtcGFjayAgICAgICAgMUN2OC51 -bnBcbWV0YWRhdGEudW5wICAgICAgICAgICAxQ3Y4LnVucFxtZXRhZGF0YV9uZXcu -ZGF0YS51bmQKAAAAUEFDSwoAAABWOFVucGFjay5leGUgLXVucGFjayAgICAgIDFD -djgudW5wXG1ldGFkYXRhLmRhdGEudW5kICAgICAgMUN2OC51bnBcbWV0YWRhdGEu -dW5wCgAAAABWOFVucGFjay5leGUgLXVuZGVmbGF0ZSAgIDFDdjgudW5wXG1ldGFk -YXRhLmRhdGEgICAgICAgICAgMUN2OC51bnBcbWV0YWRhdGEuZGF0YS51bmQKAAAA -VjhVbnBhY2suZXhlIC11bnBhY2sgICAgICAxQ3Y4LmNmICAgICAgICAgICAgICAg -ICAgICAgICAgIDFDdjgudW5wCgBVTlBBQ0sKACAgLUJbVUlMRF0gICAgICBpbl9k -aXJuYW1lICAgICAgICAgb3V0X2ZpbGVuYW1lCgAAAAAgIC1QW0FSU0VdICAgICAg -aW5fZmlsZW5hbWUgICAgICAgIG91dF9kaXJuYW1lCgAgIC1CQVQKACAgLUVbWEFN -UExFXQoAAAAgIC1EW0VGTEFURV0gICAgaW5fZmlsZW5hbWUgICAgICAgIGZpbGVu -YW1lLmRhdGEKAAAAICAtSVtORkxBVEVdICAgIGluX2ZpbGVuYW1lLmRhdGEgICBv -dXRfZmlsZW5hbWUKAAAAACAgLVBBW0NLXSAgICAgICBpbl9kaXJuYW1lICAgICAg -ICAgb3V0X2ZpbGVuYW1lLmNmCgAgIC1VW05QQUNLXSAgICAgaW5fZmlsZW5hbWUu -Y2YgICAgIG91dF9kaXJuYW1lCgBWOFVOUEFDSwoAAABVbnBhY2ssIHBhY2ssIGRl -ZmxhdGUgYW5kIGluZmxhdGUgMUMgdjggZmlsZSAoKi5jZikKAAAAAFY4VXBhY2sg -VmVyc2lvbiAyLjAwIENvcHlyaWdodCAoYykgMjAwOCBEZW5pcyBEZW1pZG92IDIw -MDgtMDMtMzAKAAAALWUAAC1leGFtcGxlAAAAADpFTkQKAAAAVjhVbnBhY2suZXhl -IC1wYWNrICAgICAgICAlMi51bnAgICAgICAgICAgICAgICAgICAgICAgICAgJTIu -bmV3LmNmCgBWOFVucGFjay5leGUgLWRlZmxhdGUgICAgICUyLnVucFxtZXRhZGF0 -YV9uZXcuZGF0YS51bmQgICAlMi51bnBcbWV0YWRhdGEuZGF0YQoAAFY4VW5wYWNr -LmV4ZSAtcGFjayAgICAgICAgJTIudW5wXG1ldGFkYXRhLnVucCAgICAgICAgICAg -ICUyLnVucFxtZXRhZGF0YV9uZXcuZGF0YS51bmQKAAA6UEFDSwoAAEdPVE8gRU5E -CgAAAFY4VW5wYWNrLmV4ZSAtdW5wYWNrICAgICAgJTIudW5wXG1ldGFkYXRhLmRh -dGEudW5kICAgICAgICAlMi51bnBcbWV0YWRhdGEudW5wCgAAVjhVbnBhY2suZXhl -IC11bmRlZmxhdGUgICAlMi51bnBcbWV0YWRhdGEuZGF0YSAgICAgICAgICAgICUy -LnVucFxtZXRhZGF0YS5kYXRhLnVuZAoAVjhVbnBhY2suZXhlIC11bnBhY2sgICAg -ICAlMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUyLnVucAoAAAA6VU5Q -QUNLCgAAAABpZiAlMSA9PSBwIEdPVE8gUEFDSwoAAABpZiAlMSA9PSBQIEdPVE8g -UEFDSwoAAAAtYmF0AAAAAC1iAAAtYnVpbGQAAC1wAAAtcGFyc2UAAC1wYQAtcGFj -awAAAC11bnAAAAAALXUAAC11bnBhY2sALWQAAC1kZWZsYXRlAAAAAC11bmRlZmxh -dGUAAC11bmQAAAAALWkAAC1pbmZsYXRlAAAAAAAAAAAIwkAAAAAAAC4/QVZleGNl -cHRpb25AQAAIwkAAAAAAAC4/QVZsb2dpY19lcnJvckBzdGRAQAAAAAjCQAAAAAAA -Lj9BVmxlbmd0aF9lcnJvckBzdGRAQAAACMJAAAAAAAAuP0FWb3V0X29mX3Jhbmdl -QHN0ZEBAAAAAAAAAAAAAACAFkxkAAAAAAAAAAAAAAACA+UAAAAAAAID5QAABAQAA -AAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -Yk1AAAEAAAAIwkAAAAAAAC4/QVZ0eXBlX2luZm9AQACkmkAAAAAAAAAAAAAAAAAA -NGFAADRhQAAQAAAA+AMAAKSaQAAAAAAAAAAAAAAAAAAQw0AAAMNAAAEAAAAWAAAA -AgAAAAIAAAADAAAAAgAAAAQAAAAYAAAABQAAAA0AAAAGAAAACQAAAAcAAAAMAAAA -CAAAAAwAAAAJAAAADAAAAAoAAAAHAAAACwAAAAgAAAAMAAAAFgAAAA0AAAAWAAAA -DwAAAAIAAAAQAAAADQAAABEAAAASAAAAEgAAAAIAAAAhAAAADQAAADUAAAACAAAA -QQAAAA0AAABDAAAAAgAAAFAAAAARAAAAUgAAAA0AAABTAAAADQAAAFcAAAAWAAAA -WQAAAAsAAABsAAAADQAAAG0AAAAgAAAAcAAAABwAAAByAAAACQAAAAYAAAAWAAAA -gAAAAAoAAACBAAAACgAAAIIAAAAJAAAAgwAAABYAAACEAAAADQAAAJEAAAApAAAA -ngAAAA0AAAChAAAAAgAAAKQAAAALAAAApwAAAA0AAAC3AAAAEQAAAM4AAAACAAAA -1wAAAAsAAAAYBwAADAAAAP////8ACgAA4u1AAOLtQAAAACAAIAAgACAAIAAgACAA -IAAgACgAKAAoACgAKAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA -IABIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAIQAhACEAIQAhACEAIQA -hACEAIQAEAAQABAAEAAQABAAEACBAIEAgQCBAIEAgQABAAEAAQABAAEAAQABAAEA -AQABAAEAAQABAAEAAQABAAEAAQABAAEAEAAQABAAEAAQABAAggCCAIIAggCCAIIA -AgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAEAAQABAA -IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAABAAAALgAAAAEAAAAFAADACwAAAAAAAAAdAADA -BAAAAAAAAACWAADABAAAAAAAAACNAADACAAAAAAAAACOAADACAAAAAAAAACPAADA -CAAAAAAAAACQAADACAAAAAAAAACRAADACAAAAAAAAACSAADACAAAAAAAAACTAADA -CAAAAAAAAAADAAAABwAAAAoAAACMAAAAAgAAAJzFQAAIAAAAcMVAAAkAAABExUAA -CgAAACDFQAAQAAAA9MRAABEAAADExEAAEgAAAKDEQAATAAAAdMRAABgAAAA8xEAA -GQAAABTEQAAaAAAA3MNAABsAAACkw0AAHAAAAHzDQAB4AAAAbMNAAHkAAABcw0AA -egAAAEzDQAD8AAAASMNAAP8AAAA4w0AAAAAAAAAAAACGtEAAhrRAAIa0QACGtEAA -hrRAAIa0QAAAAAAAAAAAAAECBAgAAAAApAMAAGCCeYIhAAAAAAAAAKbfAAAAAAAA -oaUAAAAAAACBn+D8AAAAAEB+gPwAAAAAqAMAAMGj2qMgAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAACB/gAAAAAAAED+AAAAAAAAtQMAAMGj2qMgAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAACB/gAAAAAAAEH+AAAAAAAAtgMAAM+i5KIaAOWi6KJbAAAAAAAAAAAA -AAAAAAAAAACB/gAAAAAAAEB+of4AAAAAUQUAAFHaXtogAF/aatoyAAAAAAAAAAAA -AAAAAAAAAACB09je4PkAADF+gf4AAAAAAAAAAAAAAACAcAAAAQAAAPDx//9QU1QA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAUERUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADzyQAB88kAAAAAAAP////8AAAAA -AAAAAAAAAAD/////AAAAAAAAAAD/////HgAAADsAAABaAAAAeAAAAJcAAAC1AAAA -1AAAAPMAAAARAQAAMAEAAE4BAABtAQAA/////x4AAAA6AAAAWQAAAHcAAACWAAAA -tAAAANMAAADyAAAAEAEAAC8BAABNAQAAbAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAA==} -} \ No newline at end of file diff --git a/src/Tests/Gui83/UILogToScript/und/9e7b2a13-3bf6-401a-be4a-0dbf0d48a43b b/src/Tests/Gui83/UILogToScript/und/9e7b2a13-3bf6-401a-be4a-0dbf0d48a43b deleted file mode 100644 index b3b155ef..00000000 --- a/src/Tests/Gui83/UILogToScript/und/9e7b2a13-3bf6-401a-be4a-0dbf0d48a43b +++ /dev/null @@ -1,285 +0,0 @@ -{1, -{9e7b2a13-3bf6-401a-be4a-0dbf0d48a43b},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,d2dcbcfb-d38e-4fa3-996c-ad9a927c7fab,e3fdc662-3b52-4d4f-b198-43b1f3f83ca7, -{0, -{0, -{0,0,6344d70f-6d22-465c-b456-63013e6bc378},"ПреобразованиеЖурналаДействийПользователя", -{1,"ru","Преобразование журнала действий пользователя"},""} -},33910070-6792-45db-b776-a887080ffe7a,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,3,6810777b-4151-4eba-b50d-4a2a08b5be5a,b6e7785c-aad2-4c34-8c75-d98a7963dbaf,0b790809-ec18-47a5-9ea4-f803fe85b870}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,33910070-6792-45db-b776-a887080ffe7a}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,13, -{ -{0, -{25, -{2, -{0, -{0,0,873b8d7b-d6d6-4379-b188-d77516f3ab47},"СозданныеПроцедуры", -{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,dbac4fec-1681-44f5-a58f-ef4539eec604},"ОбрабатываемоеОкно", -{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,4b55d1f0-c089-413c-b1e7-7ebf30dc48c4},"ОбрабатываемаяФорма", -{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,4427a710-9038-4cf2-8e90-fabaec80f01e},"ОкноБылоЗакрыто", -{1,"ru","Окно было закрыто"},""}, -{"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, -{25, -{2, -{0, -{0,0,1d3ae520-2db1-44f4-97f6-dbcaee0790a4},"ПоследняяОбработаннаяКоманда", -{1,"ru","Последняя обработанная команда"},""}, -{"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, -{25, -{2, -{0, -{0,0,428b6299-cd4b-4ac7-af15-d0b619493789},"ПоследнийОбработанныйЭлементУправления", -{1,"ru","Последний обработанный элемент управления"},""}, -{"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, -{25, -{2, -{0, -{0,0,69892737-fbf2-40d4-bdea-b49a9f341c96},"ИмяОсновнойПроцедуры", -{1,"ru","Имя основной процедуры"},""}, -{"Pattern", -{"S"} -} -},0, -{0}, -{0},0,"",0, -{"U"}, -{"U"},0,00000000-0000-0000-0000-000000000000,2,1, -{5004,0}, -{3,0,0}, -{0,0},0, -{0}, -{"S",""},0} -},0}, -{ -{0, -{25, -{2, -{0, -{0,0,c09837bd-5dd4-496b-b701-64bd41d091f3},"ГененироватьКодПодключенияККлиенту", -{1,"ru","Генерировать код подключения к клиенту"},""}, -{"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, -{25, -{2, -{0, -{0,0,b13ab8a6-288e-4a1c-80b4-b21a1b52b361},"ВариантВстроенногоЯзыка", -{1,"ru","Генерировать сценарий в варианте встроенного языка"},""}, -{"Pattern", -{"S"} -} -},0, -{0}, -{0},0,"",0, -{"U"}, -{"U"},0,00000000-0000-0000-0000-000000000000,2,1, -{5004,0}, -{3,0,0}, -{0,0},0, -{0}, -{"S",""},0} -},0}, -{ -{0, -{25, -{2, -{0, -{0,0,f338d2b7-c4a7-4e46-8e57-e557d0118edb},"ВариантПреобразования", -{1,"ru","Преобразовывать"},""}, -{"Pattern", -{"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, -{25, -{2, -{0, -{0,0,14b9c261-b0c2-46b1-acdb-8b7cc4971264},"РазделятьКодНаПроцедуры", -{1,"ru","Разбивать результат на процедуры по ""границам"" окон"},""}, -{"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, -{25, -{2, -{0, -{0,0,71b711bc-3325-4fa1-b378-33a7adbf97fa},"СтроитьПолнуюИерархию", -{1,"ru","Генерировать получение родительских объектов в иерархии"},""}, -{"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, -{25, -{2, -{0, -{0,0,698aff01-1ee8-452e-83e5-01bcfb3f6d9f},"ПоискОбъектов", -{1,"ru","Поиск объектов"},""}, -{"Pattern", -{"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} -} -} -} -} \ No newline at end of file diff --git a/src/Tests/Gui83/UILogToScript/und/b6e7785c-aad2-4c34-8c75-d98a7963dbaf b/src/Tests/Gui83/UILogToScript/und/b6e7785c-aad2-4c34-8c75-d98a7963dbaf deleted file mode 100644 index 9f7340ba..00000000 --- a/src/Tests/Gui83/UILogToScript/und/b6e7785c-aad2-4c34-8c75-d98a7963dbaf +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,1, -{0, -{0,0,b6e7785c-aad2-4c34-8c75-d98a7963dbaf},"zlib1", -{1,"ru","Zlib1"},""} -},0} \ No newline at end of file diff --git a/src/Tests/Gui83/UILogToScript/und/b6e7785c-aad2-4c34-8c75-d98a7963dbaf.0 b/src/Tests/Gui83/UILogToScript/und/b6e7785c-aad2-4c34-8c75-d98a7963dbaf.0 deleted file mode 100644 index b6fa4088..00000000 --- a/src/Tests/Gui83/UILogToScript/und/b6e7785c-aad2-4c34-8c75-d98a7963dbaf.0 +++ /dev/null @@ -1,1251 +0,0 @@ -{1, -{#base64:TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAEAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5v -dCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAAAFd2a9QRYI7kEWCO5BFgju -Iwkb7kMWCO5BFgnuVxYI7i4JDO5CFgjuLgkC7kQWCO7CCgbuQBYI7kQaa+5MFgju -RBoH7kAWCO69NhruQBYI7kQaVO5AFgjurR1W7kAWCO5EGlLuQBYI7lJpY2hBFgju -AAAAAAAAAAAAAAAAAAAAAFBFAABMAQUA2h3eQgAAAAAAAAAA4AAOIQsBBwoAlAAA -AFIAAAAAAABGoQAAABAAAACwAAAAAAAQABAAAAACAAAEAAAAAAAAAAQAAAAAAAAA -ADABAAAEAACH9QAAAgAAAAAAEAAAEAAAAAAQAAAQAAAAAAAAEAAAAPDxAABdBAAA -ZPAAADwAAAAAEAEAmAMAAAAAAAAAAAAAAAAAAAAAAAAAIAEAsAIAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAABYAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALnRleHQAAAA/kgAAABAAAACUAAAABAAA -AAAAAAAAAAAAAAAAIAAAYC5yZGF0YQAATUYAAACwAAAASAAAAJgAAAAAAAAAAAAA -AAAAAEAAAEAuZGF0YQAAAHQAAAAAAAEAAAIAAADgAAAAAAAAAAAAAAAAAABAAADA -LnJzcmMAAACYAwAAABABAAAEAAAA4gAAAAAAAAAAAAAAAAAAQAAAQC5yZWxvYwAA -aAMAAAAgAQAABAAAAOYAAAAAAAAAAAAAAAAAAEAAAEIAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAItMJARTi1wkEFeL+cHvEIHh//8AAIP7AXUxi0QkEA+2 -EAPKgfnx/wAAcgaB6fH/AAAD+YH/8f8AAHIGge/x/wAAi8fB4BBfC8Fbw1aLdCQU -hfZ1CV5fuAEAAABbw4P7EHMzhdt0Cw+2BgPIRgP5S3X1gfnx/wAAcgaB6fH/AACL -xzPSvvH/AAD39l5fW4vCweAQC8HDgfuwFQAAD4LKAAAAuK+pbl7341WL6sHtC4v/ -geuwFQAAuFsBAADrA41JAA+2FgPKD7ZWAQP5A8oPtlYCA/kDyg+2VgMD+QPKD7ZW -BAP5A8oPtlYFA/kDyg+2VgYD+QPKD7ZWBwP5A8oPtlYIA/kDyg+2VgkD+QPKD7ZW -CgP5A8oPtlYLA/kDyg+2VgwD+QPKD7ZWDQP5A8oPtlYOA/kDyg+2Vg8D+QPKA/mD -xhBID4V3////i8Ez0rnx/wAA9/GLx7/x/wAAi8oz0vf3TYv6D4VG////XYXbD4TD -AAAAg/sQD4KRAAAAi8PB6AQPthYDyg+2VgED+QPKD7ZWAgP5A8oPtlYDA/kDyg+2 -VgQD+QPKD7ZWBQP5A8oPtlYGA/kDyg+2VgcD+QPKD7ZWCAP5A8oPtlYJA/kDyg+2 -VgoD+QPKD7ZWCwP5A8oPtlYMA/kDyg+2Vg0D+QPKD7ZWDgP5A8oPtlYPA/kDyoPr -EAP5g8YQSA+FdP///4XbdAsPtgYDyEYD+Ut19YvBM9K58f8AAPfxi8e+8f8AAIvK -M9L39ov6i8deweAQXwvBW8PMzMzMzMzMzMzMzMzMzMyD7DiLTCRIi1QkPItEJERT -i1wkRGo4aFiwABBqAGoIag+JTCQci0wkZGoIiVQkKIlEJByLA1GNVCQgUolEJDTH -RCREAAAAAMdEJEgAAAAAx0QkTAAAAADo5AMAAIPEIIXAdUlWjUQkCGoEUOiwCQAA -i/CDxAiD/gF0Ho1MJAhR6NwRAACDxASF9rj7////dBuLxl5bg8Q4w4tUJByNRCQI -UIkT6LgRAACDxAReW4PEOMPMzMzMzMzMzMzMzMzMzMyLRCQQi0wkDItUJAhq/1CL -RCQMUVJQ6CX///+DxBTDzItEJASLyIvQwekOweoMA8iNRAoLw8zMzMzMzMzMzMzM -uGCwABDDzMzMzMzMzMzMzItMJAiFyXUDM8DDi1QkDItEJATpCAAAAMzMzMzMzMzM -UVNWi/KF9vfQdCbrA41JAPbBA3QcM9KKETPQgeL/AAAAixyVYLAAEMHoCDPDQU51 -34P+IFVXD4IbAgAAi/7B7wUzAYvQweoQD7bciyydYLgAEA+20osUlWC0ABAz1YvY -iUQkEMHrGIssnWCwABCLWQQz1SX/AAAAMxSFYLwAEDPTi8LB6BAPtt6LLJ1guAAQ -g8EED7bAiwSFYLQAEDPFi9qJVCQQwesYiyydYLAAEItZBDPFgeL/AAAAMwSVYLwA -EDPDg8EEi9DB6hAPttyLLJ1guAAQD7bSixSVYLQAEDPVi9iJRCQQwesYiyydYLAA -EItZBDPVJf8AAAAzFIVgvAAQM9ODwQSLwsHoEA+23ossnWC4ABAPtsCLBIVgtAAQ -i9ozxYlUJBDB6xiLLJ1gsAAQi1kEgeL/AAAAM8WLLJVgvAAQg8EEM8Uzw4vQg8EE -weoQD7bSixSVYLQAEIlEJBAPttwzFJ1guAAQi9jB6xiLLJ1gsAAQixkz1SX/AAAA -MxSFYLwAEDPTi8LB6BAPtt6LLJ1guAAQD7bAiwSFYLQAEDPFi9rB6xiLLJ1gsAAQ -i1kEM8WJVCQQgeL/AAAAMwSVYLwAEDPDg8EEi9APttyLLJ1guAAQweoQD7bSixSV -YLQAEIvYM9WJRCQQwesYiyydYLAAEItZBCX/AAAAM9WLLIVgvAAQg8EEM9Uz04vC -wegQD7beiyydYLgAEA+2wIsEhWC0ABCL2jPFwesYiyydYLAAEIlUJBCB4v8AAACL -HJVgvAAQM8WDwQQzw4PuIE8Pher9//+D/gRySIvWweoCMwEPttyLLJ1guAAQiUQk -EA+2fCQSizy9YLQAEIvYM/3B6xiLLJ1gsAAQJf8AAAAz/TM8hWC8ABCDwQSD7gRK -i8d1vYX2X110Io2bAAAAADPSihEz0IHi/wAAAIsclWCwABDB6Agzw0FOdeRe99Bb -WcPMzMzMzMzMzMzMzMzMzItEJBCLTCQMi1QkCFCLRCQIUWoAaghqD2oIUlDoDwAA -AIPEIMPMzMzMzMzMzMzMzItEJBwz0jvCVb0BAAAAD4QcAgAAgDgxD4UTAgAAg3wk -JDgPhQgCAABXi3wkDDv6dQhfuP7///9dwzlXIIlXGHUKx0cgwJEAEIlXKDlXJHUH -x0ck4JEAEItMJBCD+f91DMdEJBAGAAAAi0wkEFOLXCQcO9p9BjPt99vrDYP7D34I -vQIAAACD6xCLRCQgg/gBD4ySAQAAg/gJD4+JAQAAg3wkGAgPhX4BAACD+wgPjHUB -AACD+w8Pj2wBAAA7yg+MZAEAAIP5CQ+PWwEAAItEJCQ7wg+MTwEAAIP4BA+PRgEA -AIP7CHUFuwkAAACLRyhWaMAWAABqAVD/VyCL8IPEDIX2D4QWAQAAiXcciW4Yi8u9 -AQAAANPliV4wi1wkJLgBAAAAjU3/iU40jUsH0+CJTlCDwQJqAolGTEiJRlS4q6qq -qvfh0eqJPsdGHAAAAACJbiyJVliLVyhVUv9XIIlGOItGLItPKGoCUFH/VyCLVkxq -AolGQItHKFJQ/1cgiUZEjUsGuAEAAADT4GoEiYacFgAAi08oUFH/VyCLjpwWAACN -FI0AAAAAiVYMi1Y4g8QwhdKJRgh0UItWQIXSdEmLVkSF0nRChcB0PovR0eqNFFCN -BEgDwYtMJBiJlqQWAACLVCQoV4mGmBYAAImOhAAAAImWiAAAAMZGJAjoUgEAAIPE -BF5bX13Dx0YEmgIAAFfHRxgM8AAQ6AYMAACDxAReW1+4/P///13DW1+4/v///13D -uPr///9dw8zMzMzMzMzMzItEJASFwFNVVleLfCQci+8PhOcAAACLWByF2w+E3AAA -AIt0JBiF9g+E0AAAAItLGIP5Ag+ExAAAAIP5AXUKg3sEKg+FtQAAAItLGIXJdBWL -QDBXVlDo1vb//4tMJCCDxAyJQTCD/wMPgokAAACLQywF+v7//zv4dgaL6Cv9A/eL -eziLzYvRwekC86WLyoPhA/Oki1M4i0tYiWtsiWtcD7YCiUNI0+APtkoBM8EjQ1SJ -Q0gz0o11/Yt7SItLWItDOA+2RBACi2s00+eLS1QzxyPBi0tEiUNIZosEQYv6I/2L -a0BmiUR9AItLSItDRGaJFEhCO9Z2wV9eXTPAW8NfXl24/v///1vDzMzMzMzMzMzM -i0QkBFcz/zvHdGaLUBw713RfOXggdFo5eCR0VYl4FIl4CIl4GMdALAIAAACLSgiJ -ShCLShg7z4l6FH0F99mJShhWi3IYi8732RvJg+G5g8FxiUoEM8mD/gIPlcGJSDCJ -eijoGVwAAOjkDAAAXjPAX8O4/v///1/DzMzMzMzMzMyLRCQEhcB0LotIHIXJdCeL -0YtMJAiJirwWAACLQBy6AQAAANPii0wkDEoj0WaJkLgWAAAzwMO4/v///8PMzMzM -i1QkBDPAhdJXD4TDAAAAi3ochf8PhLgAAABTi1wkEIP7/1V1B7sGAAAA6xGF2w+M -lQAAAIP7CQ+PjAAAAItsJBiF7Q+MgAAAAIP9BH97i4+EAAAAVo00W40MSYsMjaDQ -ABDB5gI7jqDQABB0EotKCIXJdAtqAVLoVAEAAIPECDmfhAAAAHQ3iZ+EAAAAD7eW -mtAAEImXgAAAAA+3jpjQABCJj4wAAAAPt5ac0AAQiZeQAAAAD7eOntAAEIlPfF6J -r4gAAABdW1/DXVu4/v///1/DuP7///9fw8zMzMzMzMyLTCQIjUE/wegGjVEHweoD -A8GNRAILi1QkBIXSdCOLUhyF0nQcg3owD3UWg3pQD3UQi8HB6A6L0cHqDAPBjUQC -C8PMzMzMzMzMzMzMzMzMzFaLcAiL0VeLeBTB6giIFD6LUBSLcAhCiVAUiAwyi0gU -QV+JSBRew8zMzMzMzMzMzItIEFaLcByLVhQ70XYCi9GF0nROi3YQU1eLeAyLyovZ -wekC86WLy4PhA/Oki3gMi0gcA/qJeAwBURCLWBSLeBCLSBwD2olYFCv6iXgQKVEU -i0Aci0gUhclfW3UGi0gIiUgQXsPMzMzMzMzMzMzMzMxVi2wkCIXtVg+EHwgAAIt1 -HIX2D4QUCAAAi0wkEIP5BA+PBwgAAIXJD4z/BwAAi0UMhcAPhO0HAACDfQAAdQuL -RQSFwA+F3AcAAItGBD2aAgAAdQmD+QQPhckHAACLVRCF0nUPXsdFGPzvABC4+/// -/13Dg/gqi1YoU4lUJBBXiS6JTii6AgAAAA+FvwIAADlWGA+FJAIAAMdFMAAAAACL -RhSLTgjGBAgfi0YUi04IQIlGFMYECIuLXhSLTghDiV4Ui8PGBAgIi34Ui0YcR4XA -iX4UD4WXAAAAi0YIxgQHAIteFItOCEOJXhSLw8YECACLfhSLTghHiX4Ui8fGBAgA -i04UQYlOFIvBi04IxgQIAItGFItOCECJRhTGBAgAi14Ui4aEAAAAQ4P4CYleFIvL -dQSLwusVOZaIAAAAfQg7wnwEM8DrBbgEAAAAi1YIiAQRi04UQYlOFIvBi04IxgQI -C/9GFMdGBHEAAADp3gEAAItIJItYLIXJD5TB/smD4RCF2w+Uw/7LI9oCy4tYHIXb -D5TD/suD4wgCy4tYEIXbD5TD/suD4wQCy4M4AA+VwALIi0YIiAwHi14Ui04ci34I -Q4leFIpJBIvDiAw4i34Ui04cR4l+FIpJBYvHi34IiAw4i04Ui34IQYlOFIvBi04c -ikkGiAw4i0YUi04ci34IQIlGFIpJB4gMOIteFIuGhAAAAEOD+AmJXhSLy3UEi8Lr -FTmWiAAAAH0IO8J8BDPA6wW4BAAAAItWCIgEEYteFItOHItWCEOJXhSKSQyLw4gM -EIt+FItGHEeJfhSLUBCF0ovPdCeKQBSLVgiIBBGLThSLVghBiU4Ui8GLThyKSRWI -DBCLRhRAiUYUi8iLVhyLQiyFwHQUi0YIUYtNMFBR6E30//+DxAyJRTDHRiAAAAAA -x0YERQAAAOmSAAAAi04wi4aIAAAAg+kIweEMgcEACAAAO8J9JIuGhAAAADvCfBqD -+AZ9B7gBAAAA6xAz24P4Bg+VwwPai8PrAjPAweAGC8iLRmyFwHQDg8kgi8Ez0r8f -AAAA9/eLxsdGBHEAAAArygPP6Dn8//+LRmyFwHQZD7dNMovG6Cf8//+LTTCB4f// -AADoGfz//8dFMAEAAACDfgRFD4XbAAAAi0Yci0gQhckPhMYAAACLUBSLRiCLThSB -4v//AAA7wnN4jaQkAAAAAItGFDtGDHU3i1Yci3oshf90HDvBdhgrwVCLRggDwYtN -MFBR6Ejz//+DxAyJRTCLxejb+///i0YUO0YMi8h0MotWHItSEIt+IIoUOoteCIgU -GItGFIteIEBDiUYUiV4gi0Yci1AUgeL//wAAi8M7wnKPi0Yci1AshdJ0H4tGFDvB -dhiLVggrwVCLRTAD0VJQ6Nzy//+DxAyJRTCLThyLViA7URR1DsdGIAAAAADHRgRJ -AAAAg34ESQ+FsgAAAItGHItIHIXJD4SdAAAAi34Ui/+LRhQ7Rgx1N4tOHItRLIXS -dBw7x3YYi1YIK8dQi0UwA9dSUOh48v//g8QMiUUwi8XoC/v//4tGFDtGDIv4dCSL -TiCLVhyLUhwPthwKQYlOIItOCIgcCItOFEGF24lOFHWf6wW7AQAAAItWHItCLIXA -dB+LRhQ7x3YYi00wK8dQi0YIA8dQUegV8v//g8QMiUUwhdt1ColeIMdGBFsAAACD -fgRbD4WzAAAAi1Yci0IkhcAPhJ4AAACLfhSNmwAAAACLRhQ7Rgx1N4tOHItRLIXS -dBw7x3YYi1YIK8dQi0UwA9dSUOi48f//g8QMiUUwi8XoS/r//4tGFDtGDIv4dCSL -TiCLVhyLUiQPthwKQYlOIItOCIgcCItOFEGF24lOFHWf6wW7AQAAAItWHItCLIXA -dB+LRhQ7x3YYi00wK8dQi0YIA8dQUehV8f//g8QMiUUwhdt1B8dGBGcAAACDfgRn -dVeLVhyLQiyFwHRGi0YUi04Mg8ACO8F2B4vF6MD5//+LRhSLVgyNSAI7yncsik0w -i1YIiAwQi04Ui1YIQYlOFIvBik0xiAwQ/0YUx0UwAAAAAMdGBHEAAACLRhSFwHQc -i8Xoefn//4tFEIXAdSTHRij/////X1teM8Bdw4tFBIXAdQ+LRCQYO0QkFH8Fg/gE -dRGLRgQ9mgIAAItNBHUVhcl0FV9bXsdFGPzvABC4+////13Dhcl1HotOdIXJdReL -TCQYhckPhKUAAAA9mgIAAA+EmgAAAIt8JBiLhoQAAABXjRRAVv8UlaDQABCDxAiD -+AJ0BYP4A3UHx0YEmgIAAIXAD4RVAQAAg/gCD4RMAQAAg/gBdVqD/wGLxnUH6O5i -AADrOmoAagAzyehBYgAAg8QIg/8DdSeLRkyLTkRmx0RB/gAAi05Mi35EjUwJ/ovR -wekCM8Dzq4vKg+ED86qLxeh7+P//i0UQhcAPhP7+//+DfCQYBA+F+v7//4tGGIXA -fwpfW164AQAAAF3Dg/gCD4WNAAAAi0YUilUwi04IiBQIi1YUi04IQolWFIvCilUx -iBQIi04UQYlOFIpVMovBi04IiBQIi0YUi04IQIlGFIpVM4gUCIteFItOCEOJXhSK -VQiLw4gUCIt+FItOCEeJfhSKVQmLx4gUCItWFItOCEKJVhSLwopVCogUCItOFEGJ -ThSKVQuLwYtOCIgUCP9GFOsZD7dNMovG6IP3//+LTTCB4f//AADodff//4vF6J73 -//+LRhiFwH4F99iJRhiLThRfWzPAhcleD5TAXcOLRRCFwA+FDf7//19bx0Yo//// -/14zwF3Dx0UYLPAAEF64/v///13DzMzMzMzMzMzMzMxWi3QkCIX2D4SyAAAAi0Yc -hcAPhKcAAABXi3gEg/8qdCmD/0V0JIP/SXQfg/9bdBqD/2d0FYP/cXQQgf+aAgAA -dAhfuP7///9ew4tACIXAdAtQi0YoUP9WJIPECItOHItBRIXAdAuLVihQUv9WJIPE -CItGHItAQIXAdAuLTihQUf9WJIPECItWHItCOIXAdAtQi0YoUP9WJIPECItOHItW -KFFS/1Ykg8QIM8CD/3EPlcBfx0YcAAAAAF5Ig+D9w7j+////XsPMzMzMzMzMzMzM -VVaLdCQQhfYPhJEBAACLbCQMhe0PhIUBAACLRhyFwIlEJBAPhHYBAABTV7kOAAAA -i/1owBYAAPOli0UoagFQ/1Ugi9iDxAyF2w+ERgEAAIt0JBiJXRy5sAUAAIv786WL -SyxqAokri1UoUVL/VSCJQziLQyyLTShqAlBR/1Ugi1NMagKJQ0CLRShSUP9VIIuL -nBYAAGoEiUNEi1UoUVL/VSCLeziDxDCF/4lDCA+E2gAAAItLQIXJD4TPAAAAi0tE -hckPhMQAAACFwA+EvAAAAItLLItUJBiLcjjR4YvpwekC86WLzYPhA/Oki3JAi0ss -i3tA0eGL6cHpAvOli82D4QPzpItyRItLTIt7RNHhi+nB6QLzpYvNg+ED86SLcgiL -SwyLewiL6cHpAvOli82D4QPzpIt6CItKEItzCCvPA86JSxCLi5wWAACL0dHqjQRQ -jRROA9GJg6QWAACJk5gWAACNg5QAAACNi4gJAACNk3wKAABfiYMYCwAAiYskCwAA -iZMwCwAAW14zwF3DVeie/f//g8QEX1teuPz///9dw164/v///13DzMzMzMzMzMzM -i0Isi0pM0eCJQjyLQkRTVjP2Zol0SP6LSkyNTAn+i9nB6QIzwFeLekTzq4vLg+ED -86qLgoQAAACNBEDB4AIPt4ia0AAQiYqAAAAAD7eImNAAEImKjAAAAA+3iJzQABCJ -ipAAAAAPt4Ce0AAQiUJ8uAIAAACJcmyJclyJcnSJQniJQmCJcmiJckjoE28AACUA -DwAAPQAGAABfG8lBXokNUAABEFvDzMzMzMzMzMzMzMyLTjiLRmxTihwIVYtsJAyK -FCkDwQPNOtNXjbgCAQAAD4WSAAAAilEBOlABD4WGAAAAg8ACg8ECilABilkBQEE6 -03VYilABilkBQEE603VMilABilkBQEE603VAilABilkBQEE603U0ilABilkBQEE6 -03UoilABilkBQEE603UcilABilkBQEE603UQilABilkBQEE603UEO8dynCvHBQIB -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 -nZxYnTPBdBC4AQAAAA+iW8O4AAMAAOv3uAAEAADr8FVXVlOD7CSLVCQ4i0wkPItC -eIuajAAAADvDi0I0i1p8fAPB6wJLweMQC9iJHCSLgpAAAACLWnQ72HwCi9iJXCQY -i3I4iXQkBItqbI18NQCJfCQgi8f32IPgA4lEJBSLQiwtBgEAACvofwIz7YtCeIlE -JBwD8Il0JAgPtx+JXCQQD7dcOP+JXCQMi3pAixQk6xojyg+3DE87zQ+G4AAAAIHq -AAABAA+I1AAAAA+3RDH/O8N13YtEJAQPtwQBO0QkEHXPiRQki3QkBIt8JCAD8YtE -JBS6+P7//428OAgBAACNtDAIAQAAiwQyMwQ6dRSLRDIEM0Q6BHUHg8IIdenrcYPC -BKn//wAAdQaDwgLB6BAsAYPSAI0EOot8JCArxz0CAQAAfUyLVCQ4i1wkHDvDfxOL -dCQIi3pAi1wkDIsUJOlO////i1wkGIlEJByJSnA7w30ti3QkBAPwiXQkCA+3XDj/ -i3pAiVwkDIsUJOkh////i1QkOMdEJBwCAQAAiUpwi1QkOItcJByLQnQ72H8Ci8OD -xCRbXl9dww0KYXNtNjg2IHdpdGggbWFzbSwgb3B0aW1pc2VkIGFzc2VtYmx5IGNv -ZGUgZnJvbSBCcmlhbiBSYWl0ZXIsIHdyaXR0ZW4gMTk5OA0KzMzMzMzMzMzMzMzM -6QMBAACNSQBGYXN0IGRlY29kaW5nIENvZGUgZnJvbSBDaHJpcyBBbmRlcnNvbgCQ -aW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29k -ZQCL/2ludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrAIv/AAAAAAEAAAADAAAA -BwAAAA8AAAAfAAAAPwAAAH8AAAD/AAAA/wEAAP8DAAD/BwAA/w8AAP8fAAD/PwAA -/38AAP//AAD//wEA//8DAP//BwD//w8A//8fAP//PwD//38A////AP///wH///8D -////B////w////8f////P////3//////V1ZVU5yD7ED8i3QkWIt+HItWBIsGA9CD -6guJRCQsiVQkFItsJFyLThCLXgwr6ffdA+uB6QEBAAADy4lcJDyJbCQoiUwkEItH -TItPUIlEJAiJTCQMuAEAAACLT1TT4EiJBCS4AQAAAItPWNPgSIlEJASLRyiLTzCL -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 -EAcKAAAIYAAACCAAAAmgAAAIAAAACIAAAAhAAAAJ4AAQBwYAAAhYAAAIGAAACZAA -Ewc7AAAIeAAACDgAAAnQABEHEQAACGgAAAgoAAAJsAAACAgAAAiIAAAISAAACfAA -EAcEAAAIVAAACBQAFQjjABMHKwAACHQAAAg0AAAJyAARBw0AAAhkAAAIJAAACagA -AAgEAAAIhAAACEQAAAnoABAHCAAACFwAAAgcAAAJmAAUB1MAAAh8AAAIPAAACdgA -EgcXAAAIbAAACCwAAAm4AAAIDAAACIwAAAhMAAAJ+AAQBwMAAAhSAAAIEgAVCKMA -EwcjAAAIcgAACDIAAAnEABEHCwAACGIAAAgiAAAJpAAACAIAAAiCAAAIQgAACeQA -EAcHAAAIWgAACBoAAAmUABQHQwAACHoAAAg6AAAJ1AASBxMAAAhqAAAIKgAACbQA -AAgKAAAIigAACEoAAAn0ABAHBQAACFYAAAgWAEAIAAATBzMAAAh2AAAINgAACcwA -EQcPAAAIZgAACCYAAAmsAAAIBgAACIYAAAhGAAAJ7AAQBwkAAAheAAAIHgAACZwA -FAdjAAAIfgAACD4AAAncABIHGwAACG4AAAguAAAJvAAACA4AAAiOAAAITgAACfwA -YAcAAAAIUQAACBEAFQiDABIHHwAACHEAAAgxAAAJwgAQBwoAAAhhAAAIIQAACaIA -AAgBAAAIgQAACEEAAAniABAHBgAACFkAAAgZAAAJkgATBzsAAAh5AAAIOQAACdIA -EQcRAAAIaQAACCkAAAmyAAAICQAACIkAAAhJAAAJ8gAQBwQAAAhVAAAIFQAQCAIB -EwcrAAAIdQAACDUAAAnKABEHDQAACGUAAAglAAAJqgAACAUAAAiFAAAIRQAACeoA -EAcIAAAIXQAACB0AAAmaABQHUwAACH0AAAg9AAAJ2gASBxcAAAhtAAAILQAACboA -AAgNAAAIjQAACE0AAAn6ABAHAwAACFMAAAgTABUIwwATByMAAAhzAAAIMwAACcYA -EQcLAAAIYwAACCMAAAmmAAAIAwAACIMAAAhDAAAJ5gAQBwcAAAhbAAAIGwAACZYA -FAdDAAAIewAACDsAAAnWABIHEwAACGsAAAgrAAAJtgAACAsAAAiLAAAISwAACfYA -EAcFAAAIVwAACBcAQAgAABMHMwAACHcAAAg3AAAJzgARBw8AAAhnAAAIJwAACa4A -AAgHAAAIhwAACEcAAAnuABAHCQAACF8AAAgfAAAJngAUB2MAAAh/AAAIPwAACd4A -EgcbAAAIbwAACC8AAAm+AAAIDwAACI8AAAhPAAAJ/gBgBwAAAAhQAAAIEAAUCHMA -EgcfAAAIcAAACDAAAAnBABAHCgAACGAAAAggAAAJoQAACAAAAAiAAAAIQAAACeEA -EAcGAAAIWAAACBgAAAmRABMHOwAACHgAAAg4AAAJ0QARBxEAAAhoAAAIKAAACbEA -AAgIAAAIiAAACEgAAAnxABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACckA -EQcNAAAIZAAACCQAAAmpAAAIBAAACIQAAAhEAAAJ6QAQBwgAAAhcAAAIHAAACZkA -FAdTAAAIfAAACDwAAAnZABIHFwAACGwAAAgsAAAJuQAACAwAAAiMAAAITAAACfkA -EAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxQARBwsAAAhiAAAIIgAACaUA -AAgCAAAIggAACEIAAAnlABAHBwAACFoAAAgaAAAJlQAUB0MAAAh6AAAIOgAACdUA -EgcTAAAIagAACCoAAAm1AAAICgAACIoAAAhKAAAJ9QAQBwUAAAhWAAAIFgBACAAA -EwczAAAIdgAACDYAAAnNABEHDwAACGYAAAgmAAAJrQAACAYAAAiGAAAIRgAACe0A -EAcJAAAIXgAACB4AAAmdABQHYwAACH4AAAg+AAAJ3QASBxsAAAhuAAAILgAACb0A -AAgOAAAIjgAACE4AAAn9AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcMA -EAcKAAAIYQAACCEAAAmjAAAIAQAACIEAAAhBAAAJ4wAQBwYAAAhZAAAIGQAACZMA -Ewc7AAAIeQAACDkAAAnTABEHEQAACGkAAAgpAAAJswAACAkAAAiJAAAISQAACfMA -EAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJywARBw0AAAhlAAAIJQAACasA -AAgFAAAIhQAACEUAAAnrABAHCAAACF0AAAgdAAAJmwAUB1MAAAh9AAAIPQAACdsA -EgcXAAAIbQAACC0AAAm7AAAIDQAACI0AAAhNAAAJ+wAQBwMAAAhTAAAIEwAVCMMA -EwcjAAAIcwAACDMAAAnHABEHCwAACGMAAAgjAAAJpwAACAMAAAiDAAAIQwAACecA -EAcHAAAIWwAACBsAAAmXABQHQwAACHsAAAg7AAAJ1wASBxMAAAhrAAAIKwAACbcA -AAgLAAAIiwAACEsAAAn3ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc8A -EQcPAAAIZwAACCcAAAmvAAAIBwAACIcAAAhHAAAJ7wAQBwkAAAhfAAAIHwAACZ8A -FAdjAAAIfwAACD8AAAnfABIHGwAACG8AAAgvAAAJvwAACA8AAAiPAAAITwAACf8A -EAUBABcFAQETBREAGwUBEBEFBQAZBQEEFQVBAB0FAUAQBQMAGAUBAhQFIQAcBQEg -EgUJABoFAQgWBYEAQAUAABAFAgAXBYEBEwUZABsFARgRBQcAGQUBBhUFYQAdBQFg -EAUEABgFAQMUBTEAHAUBMBIFDQAaBQEMFgXBAEAFAAAQABEAEgAAAAgABwAJAAYA -CgAFAAsABAAMAAMADQACAA4AAQAPAAAAYAcAAAAIUAAACBAAFAhzABIHHwAACHAA -AAgwAAAJwAAQBwoAAAhgAAAIIAAACaAAAAgAAAAIgAAACEAAAAngABAHBgAACFgA -AAgYAAAJkAATBzsAAAh4AAAIOAAACdAAEQcRAAAIaAAACCgAAAmwAAAICAAACIgA -AAhIAAAJ8AAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnIABEHDQAACGQA -AAgkAAAJqAAACAQAAAiEAAAIRAAACegAEAcIAAAIXAAACBwAAAmYABQHUwAACHwA -AAg8AAAJ2AASBxcAAAhsAAAILAAACbgAAAgMAAAIjAAACEwAAAn4ABAHAwAACFIA -AAgSABUIowATByMAAAhyAAAIMgAACcQAEQcLAAAIYgAACCIAAAmkAAAIAgAACIIA -AAhCAAAJ5AAQBwcAAAhaAAAIGgAACZQAFAdDAAAIegAACDoAAAnUABIHEwAACGoA -AAgqAAAJtAAACAoAAAiKAAAISgAACfQAEAcFAAAIVgAACBYAQAgAABMHMwAACHYA -AAg2AAAJzAARBw8AAAhmAAAIJgAACawAAAgGAAAIhgAACEYAAAnsABAHCQAACF4A -AAgeAAAJnAAUB2MAAAh+AAAIPgAACdwAEgcbAAAIbgAACC4AAAm8AAAIDgAACI4A -AAhOAAAJ/ABgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnCABAHCgAACGEA -AAghAAAJogAACAEAAAiBAAAIQQAACeIAEAcGAAAIWQAACBkAAAmSABMHOwAACHkA -AAg5AAAJ0gARBxEAAAhpAAAIKQAACbIAAAgJAAAIiQAACEkAAAnyABAHBAAACFUA -AAgVABAIAgETBysAAAh1AAAINQAACcoAEQcNAAAIZQAACCUAAAmqAAAIBQAACIUA -AAhFAAAJ6gAQBwgAAAhdAAAIHQAACZoAFAdTAAAIfQAACD0AAAnaABIHFwAACG0A -AAgtAAAJugAACA0AAAiNAAAITQAACfoAEAcDAAAIUwAACBMAFQjDABMHIwAACHMA -AAgzAAAJxgARBwsAAAhjAAAIIwAACaYAAAgDAAAIgwAACEMAAAnmABAHBwAACFsA -AAgbAAAJlgAUB0MAAAh7AAAIOwAACdYAEgcTAAAIawAACCsAAAm2AAAICwAACIsA -AAhLAAAJ9gAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnOABEHDwAACGcA -AAgnAAAJrgAACAcAAAiHAAAIRwAACe4AEAcJAAAIXwAACB8AAAmeABQHYwAACH8A -AAg/AAAJ3gASBxsAAAhvAAAILwAACb4AAAgPAAAIjwAACE8AAAn+AGAHAAAACFAA -AAgQABQIcwASBx8AAAhwAAAIMAAACcEAEAcKAAAIYAAACCAAAAmhAAAIAAAACIAA -AAhAAAAJ4QAQBwYAAAhYAAAIGAAACZEAEwc7AAAIeAAACDgAAAnRABEHEQAACGgA -AAgoAAAJsQAACAgAAAiIAAAISAAACfEAEAcEAAAIVAAACBQAFQjjABMHKwAACHQA -AAg0AAAJyQARBw0AAAhkAAAIJAAACakAAAgEAAAIhAAACEQAAAnpABAHCAAACFwA -AAgcAAAJmQAUB1MAAAh8AAAIPAAACdkAEgcXAAAIbAAACCwAAAm5AAAIDAAACIwA -AAhMAAAJ+QAQBwMAAAhSAAAIEgAVCKMAEwcjAAAIcgAACDIAAAnFABEHCwAACGIA -AAgiAAAJpQAACAIAAAiCAAAIQgAACeUAEAcHAAAIWgAACBoAAAmVABQHQwAACHoA -AAg6AAAJ1QASBxMAAAhqAAAIKgAACbUAAAgKAAAIigAACEoAAAn1ABAHBQAACFYA -AAgWAEAIAAATBzMAAAh2AAAINgAACc0AEQcPAAAIZgAACCYAAAmtAAAIBgAACIYA -AAhGAAAJ7QAQBwkAAAheAAAIHgAACZ0AFAdjAAAIfgAACD4AAAndABIHGwAACG4A -AAguAAAJvQAACA4AAAiOAAAITgAACf0AYAcAAAAIUQAACBEAFQiDABIHHwAACHEA -AAgxAAAJwwAQBwoAAAhhAAAIIQAACaMAAAgBAAAIgQAACEEAAAnjABAHBgAACFkA -AAgZAAAJkwATBzsAAAh5AAAIOQAACdMAEQcRAAAIaQAACCkAAAmzAAAICQAACIkA -AAhJAAAJ8wAQBwQAAAhVAAAIFQAQCAIBEwcrAAAIdQAACDUAAAnLABEHDQAACGUA -AAglAAAJqwAACAUAAAiFAAAIRQAACesAEAcIAAAIXQAACB0AAAmbABQHUwAACH0A -AAg9AAAJ2wASBxcAAAhtAAAILQAACbsAAAgNAAAIjQAACE0AAAn7ABAHAwAACFMA -AAgTABUIwwATByMAAAhzAAAIMwAACccAEQcLAAAIYwAACCMAAAmnAAAIAwAACIMA -AAhDAAAJ5wAQBwcAAAhbAAAIGwAACZcAFAdDAAAIewAACDsAAAnXABIHEwAACGsA -AAgrAAAJtwAACAsAAAiLAAAISwAACfcAEAcFAAAIVwAACBcAQAgAABMHMwAACHcA -AAg3AAAJzwARBw8AAAhnAAAIJwAACa8AAAgHAAAIhwAACEcAAAnvABAHCQAACF8A -AAgfAAAJnwAUB2MAAAh/AAAIPwAACd8AEgcbAAAIbwAACC8AAAm/AAAIDwAACI8A -AAhPAAAJ/wAQBQEAFwUBARMFEQAbBQEQEQUFABkFAQQVBUEAHQUBQBAFAwAYBQEC -FAUhABwFASASBQkAGgUBCBYFgQBABQAAEAUCABcFgQETBRkAGwUBGBEFBwAZBQEG -FQVhAB0FAWAQBQQAGAUBAxQFMQAcBQEwEgUNABoFAQwWBcEAQAUAABAAEQASAAAA -CAAHAAkABgAKAAUACwAEAAwAAwANAAIADgABAA8AAAAgaW5mbGF0ZSAxLjIuMyBD -b3B5cmlnaHQgMTk5NS0yMDA1IE1hcmsgQWRsZXIgAAADAAQABQAGAAcACAAJAAoA -CwANAA8AEQATABcAGwAfACMAKwAzADsAQwBTAGMAcwCDAKMAwwDjAAIBAAAAAAAA -EAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgATABMAEwATABQAFAAUABQA -FQAVABUAFQAQAMkAxAAAAAEAAgADAAQABQAHAAkADQARABkAIQAxAEEAYQCBAMEA -AQGBAQECAQMBBAEGAQgBDAEQARgBIAEwAUABYAAAAAAQABAAEAAQABEAEQASABIA -EwATABQAFAAVABUAFgAWABcAFwAYABgAGQAZABoAGgAbABsAHAAcAB0AHQBAAEAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAABAAAA -AgAAAAIAAAACAAAAAgAAAAMAAAADAAAAAwAAAAMAAAAEAAAABAAAAAQAAAAEAAAA -BQAAAAUAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAA -AgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAUAAAAGAAAABgAAAAcAAAAHAAAA -CAAAAAgAAAAJAAAACQAAAAoAAAAKAAAACwAAAAsAAAAMAAAADAAAAA0AAAANAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAIAAAADAAAABwAAABAREgAIBwkGCgULBAwDDQIOAQ8A -DAAIAIwACABMAAgAzAAIACwACACsAAgAbAAIAOwACAAcAAgAnAAIAFwACADcAAgA -PAAIALwACAB8AAgA/AAIAAIACACCAAgAQgAIAMIACAAiAAgAogAIAGIACADiAAgA -EgAIAJIACABSAAgA0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgA -KgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgA -BgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgA -NgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgA -HgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgA -IQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgA -CQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgA -OQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgA -FQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgA -LQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgA -EwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkA -cwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkA -KwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkA -WwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkA -BwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkA -ZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkA -NwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkA -TwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkA -HwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkA -fwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcA -CAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcA -FAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgA -AAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUA -BgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUA -AwAFABMABQALAAUAGwAFAAcABQAXAAUAAAECAwQEBQUGBgYGBwcHBwgICAgICAgI -CQkJCQkJCQkKCgoKCgoKCgoKCgoKCgoKCwsLCwsLCwsLCwsLCwsLCwwMDAwMDAwM -DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0N -DQ0NDQ0NDQ0ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4O -Dg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8P -Dw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDwAAEBESEhMT -FBQUFBUVFRUWFhYWFhYWFhcXFxcXFxcXGBgYGBgYGBgYGBgYGBgYGBkZGRkZGRkZ -GRkZGRkZGRkaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhsbGxsbGxsb -GxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwc -HBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHB0dHR0dHR0d -HR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0d -HR0dHR0dHR0AAQIDBAUGBwgICQkKCgsLDAwMDA0NDQ0ODg4ODw8PDxAQEBAQEBAQ -ERERERERERESEhISEhISEhMTExMTExMTFBQUFBQUFBQUFBQUFBQUFBUVFRUVFRUV -FRUVFRUVFRUWFhYWFhYWFhYWFhYWFhYWFxcXFxcXFxcXFxcXFxcXFxgYGBgYGBgY -GBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZ -GRkZGRkZGRkaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhsbGxsbGxsb -GxsbGxsbGxsbGxsbGxsbGxsbGxsbGxscAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAA -BgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAA -MAAAADgAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAAAAAAAAAAAA -AAAAAAEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAA -QAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAA -ABAAAAAYAAAAIAAAADAAAABAAAAAYAAAVPAAEEjwABAD7gAQPPAAECzwABAg8AAQ -DPAAEPzvABDk7wAQA+4AEDogAAA8ZmQ6JWQ+ACVjJWMlYyVjJWMlYyVjJWMlYyVj -AAAAAGludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrAAAAaW52YWxpZCBkaXN0 -YW5jZSBjb2RlAAAAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQg -ZGlzdGFuY2VzIHNldAAAAGludmFsaWQgbGl0ZXJhbC9sZW5ndGhzIHNldABpbnZh -bGlkIGJpdCBsZW5ndGggcmVwZWF0AAAAaW52YWxpZCBjb2RlIGxlbmd0aHMgc2V0 -AAAAAHRvbyBtYW55IGxlbmd0aCBvciBkaXN0YW5jZSBzeW1ib2xzAGludmFsaWQg -c3RvcmVkIGJsb2NrIGxlbmd0aHMAAAAAaW52YWxpZCBibG9jayB0eXBlAABpbmNv -cnJlY3QgbGVuZ3RoIGNoZWNrAABpbmNvcnJlY3QgZGF0YSBjaGVjawAAAABoZWFk -ZXIgY3JjIG1pc21hdGNoAHVua25vd24gaGVhZGVyIGZsYWdzIHNldAAAAABpbnZh -bGlkIHdpbmRvdyBzaXplAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAABpbmNv -cnJlY3QgaGVhZGVyIGNoZWNrAABpbmNvbXBhdGlibGUgdmVyc2lvbgAAAABidWZm -ZXIgZXJyb3IAAAAAaW5zdWZmaWNpZW50IG1lbW9yeQBkYXRhIGVycm9yAABzdHJl -YW0gZXJyb3IAAAAAZmlsZSBlcnJvcgAAc3RyZWFtIGVuZAAAbmVlZCBkaWN0aW9u -YXJ5AKjwAAAAAAAAAAAAAJ7xAAAIsAAAoPAAAAAAAAAAAAAA4vEAAACwAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAMbxAAAAAAAACvEAABLxAAAc8QAAKPEAADLxAAA88QAA -RPEAAEzxAABW8QAAAPEAAG7xAAB28QAAfvEAAIjxAACU8QAAqvEAALbxAABk8QAA -+PAAAAAAAABZAmZwdXRjALICc3ByaW50ZgBeAmZyZWUAAJECbWFsbG9jAAC8AnN0 -cmVycm9yAABPAmZmbHVzaAAAyABfZXJybm8AAFcCZm9wZW4AXQJmcmVhZABYAmZw -cmludGYA4QFfdnNucHJpbnRmAABmAmZ3cml0ZQAAZAJmdGVsbABiAmZzZWVrAEwC -ZmNsb3NlAABCAmNsZWFyZXJyAADXAF9mZG9wZW4ATVNWQ1JULmRsbAAADwFfaW5p -dHRlcm0AnQBfYWRqdXN0X2ZkaXYAAF0ARGlzYWJsZVRocmVhZExpYnJhcnlDYWxs -cwBLRVJORUwzMi5kbGwAAAAAAADZHd5CAAAAABb0AAABAAAAMwAAADMAAAAY8gAA -5PIAALDzAAAAEAAAEBMAAFASAAAwEwAAYBMAAHAcAACAGwAAgCUAALAkAACQFgAA -YBYAAKAaAABgGgAA4BkAANAYAABQEwAAEEUAAKBDAAAwNwAAAEMAAPBDAACgQAAA -ED0AAJA9AAAQNwAA4D4AAGA/AACQPwAAYDoAAIBCAADgQAAAcDcAAOBCAABAPQAA -8D0AAKBXAAAgRgAA0FQAAEBFAABAcAAAgG0AAHBVAABAVgAAEFUAANBtAAAQbwAA -EHAAAICQAACgkQAAkJEAAICRAAAg9AAAKPQAADH0AAA79AAASfQAAE/0AABX9AAA -ZPQAAHD0AAB79AAAifQAAJb0AACk9AAAsfQAAL70AADT9AAA4fQAAOz0AAD09AAA -/PQAAAL1AAAK9QAAEvUAABn1AAAg9QAAJ/UAADD1AAA39QAAPvUAAEX1AABO9QAA -VfUAAGH1AABo9QAAcfUAAHn1AACB9QAAjfUAAJz1AACt9QAAufUAAMT1AADS9QAA -3/UAAOz1AAAB9gAADfYAAB72AAAp9gAAMPYAAEH2AAAAAAEAAgADAAQABQAGAAcA -CAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8A -IAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgB6bGliMS5kbGwA -YWRsZXIzMgBjb21wcmVzcwBjb21wcmVzczIAY29tcHJlc3NCb3VuZABjcmMzMgBk -ZWZsYXRlAGRlZmxhdGVCb3VuZABkZWZsYXRlQ29weQBkZWZsYXRlRW5kAGRlZmxh -dGVJbml0Ml8AZGVmbGF0ZUluaXRfAGRlZmxhdGVQYXJhbXMAZGVmbGF0ZVByaW1l -AGRlZmxhdGVSZXNldABkZWZsYXRlU2V0RGljdGlvbmFyeQBnZXRfY3JjX3RhYmxl -AGd6Y2xlYXJlcnIAZ3pjbG9zZQBnemRvcGVuAGd6ZW9mAGd6ZXJyb3IAZ3pmbHVz -aABnemdldGMAZ3pnZXRzAGd6b3BlbgBnenByaW50ZgBnenB1dGMAZ3pwdXRzAGd6 -cmVhZABnenJld2luZABnenNlZWsAZ3pzZXRwYXJhbXMAZ3p0ZWxsAGd6dW5nZXRj -AGd6d3JpdGUAaW5mbGF0ZQBpbmZsYXRlQmFjawBpbmZsYXRlQmFja0VuZABpbmZs -YXRlQmFja0luaXRfAGluZmxhdGVDb3B5AGluZmxhdGVFbmQAaW5mbGF0ZUluaXQy -XwBpbmZsYXRlSW5pdF8AaW5mbGF0ZVJlc2V0AGluZmxhdGVTZXREaWN0aW9uYXJ5 -AGluZmxhdGVTeW5jAGluZmxhdGVTeW5jUG9pbnQAdW5jb21wcmVzcwB6RXJyb3IA -emxpYkNvbXBpbGVGbGFncwB6bGliVmVyc2lvbgAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AQAAAPDkABCg4wAQAQEAAB4BAAAPAAAAcOkAEBjkABAAAAAAHgAAAA8AAAAAAAAA -kOQAEAAAAAATAAAABwAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAQAAAAGAAAgAAAAAAAAAAA -AAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAJBAAASAAAAGAQAQA4AwAA -AAAAAAAAAAAAAAAAAAAAADgDNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4A -RgBPAAAAAAC9BO/+AAABAAIAAQAAAAMAAgABAAAAAwA/AAAAAAAAAAQAAQACAAAA -AAAAAAAAAAAAAAAAlgIAAAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAA -cgIAAAEAMAA0ADAAOQAwADQARQA0AAAAZAAeAAEARgBpAGwAZQBEAGUAcwBjAHIA -aQBwAHQAaQBvAG4AAAAAAHoAbABpAGIAIABkAGEAdABhACAAYwBvAG0AcAByAGUA -cwBzAGkAbwBuACAAbABpAGIAcgBhAHIAeQAAACwABgABAEYAaQBsAGUAVgBlAHIA -cwBpAG8AbgAAAAAAMQAuADIALgAzAAAANAAKAAEASQBuAHQAZQByAG4AYQBsAE4A -YQBtAGUAAAB6AGwAaQBiADEALgBkAGwAbAAAAHwALAABAEwAZQBnAGEAbABDAG8A -cAB5AHIAaQBnAGgAdAAAACgAQwApACAAMQA5ADkANQAtADIAMAAwADQAIABKAGUA -YQBuAC0AbABvAHUAcAAgAEcAYQBpAGwAbAB5ACAAJgAgAE0AYQByAGsAIABBAGQA -bABlAHIAAAA8AAoAAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBuAGEAbQBlAAAA -egBsAGkAYgAxAC4AZABsAGwAAAAqAAUAAQBQAHIAbwBkAHUAYwB0AE4AYQBtAGUA -AAAAAHoAbABpAGIAAAAAADAABgABAFAAcgBvAGQAdQBjAHQAVgBlAHIAcwBpAG8A -bgAAADEALgAyAC4AMwAAAIIANQABAEMAbwBtAG0AZQBuAHQAcwAAAEQATABMACAA -cwB1AHAAcABvAHIAdAAgAGIAeQAgAEEAbABlAHMAcwBhAG4AZAByAG8AIABJAGEA -YwBvAHAAZQB0AHQAaQAgACYAIABHAGkAbABsAGUAcwAgAFYAbwBsAGwAYQBuAHQA -AAAAAEQAAAABAFYAYQByAEYAaQBsAGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEA -bgBzAGwAYQB0AGkAbwBuAAAAAAAJBOQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAbAAAAGcyUTOkM84z -2DPqM/szDDQZNCs0PTRRNFs0bTR+NJI0nDSuNMA02TTnNPM0AzUUNR41LDVCNVM1 -YDVyNYM1mTWjNbE1wjXpNfk1BzYVNj821DbjNqE4/joHOzA7PTtKO1c72DwAIAAA -IAAAAMkyCDOZNHE3fjeLN5g3zzf6PI49sj3BPQAwAABIAAAA8zDFMekx+DECNV01 -ATYcNkc2TjZ0No42lza9NsQ26TZJN1A3mjf0Nw84aziNOMY5AToOOgA7Nju0PCE+ -Dj/5PwBAAABMAAAAvjA7McMxAzLJMjMzBDQYNCY0LzRONGA0kTSiNMo00zQvNY81 -njUDNhE2kzaaNio3ezcROAM6RzqYOss94T33PT4+3T4AUAAAQAAAAMwwzTKFM5A0 -lDSYNJw0oDSkNKg0wDTENMg0zDSrNbo1YzZxNic4/jgrOXM5tznMOUs+ez/MPwAA -AGAAAGgAAAA3MJEx1zEuMj4yxzTXNOs0ODURN6k4MTkBO2M7+Dz8PAA9BD0IPQw9 -ED0UPRg9HD0gPSQ9KD0sPTA9ND04PTw9QD1EPUg9TD1QPVQ9WD1cPWA9ZD1oPWw9 -cD10PXg9AAAAcAAAGAAAAFszYzN5M4czhjaWNqA2AAAAgAAAIAAAAPMy3DTiOec5 -3jqIO5s7ITwvPNQ84zwAAACQAAAsAAAAuzDLMIExrDHMMecx4Do9O0k7/z1XPuA+ -BD+nP8M/0z/yPwAAAKAAADgAAABAMKUwrTCzML4wyzDTMOEw5jDrMPAw+zAIMRIx -JzEzMTkxWzFtMckx5jHzMQAyAAAA0AAAHAAAAKAwrDC4MMQw0DDcMOgw9DAAMQwx -AOAAABwAAADYPdw94D3kPeg97D3wPfQ9+D38PQAAAQAUAAAAFDAYMCgwLDBAMAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -} -} \ No newline at end of file diff --git a/src/Tests/Gui83/UILogToScript/und/copyinfo b/src/Tests/Gui83/UILogToScript/und/copyinfo deleted file mode 100644 index f8758104..00000000 --- a/src/Tests/Gui83/UILogToScript/und/copyinfo +++ /dev/null @@ -1,66 +0,0 @@ -{4, -{9, -{14b9c261-b0c2-46b1-acdb-8b7cc4971264,14b9c261-b0c2-46b1-acdb-8b7cc4971264,1, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"РазделятьКодНаПроцедуры"} -}, -{33910070-6792-45db-b776-a887080ffe7a,33910070-6792-45db-b776-a887080ffe7a,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"ОсновнаяФорма"} -}, -{6344d70f-6d22-465c-b456-63013e6bc378,6344d70f-6d22-465c-b456-63013e6bc378,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ПреобразованиеЖурналаДействийПользователя"} -}, -{69892737-fbf2-40d4-bdea-b49a9f341c96,69892737-fbf2-40d4-bdea-b49a9f341c96,1, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"ИмяОсновнойПроцедуры"} -}, -{698aff01-1ee8-452e-83e5-01bcfb3f6d9f,698aff01-1ee8-452e-83e5-01bcfb3f6d9f,1, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"ПоискОбъектов"} -}, -{71b711bc-3325-4fa1-b378-33a7adbf97fa,71b711bc-3325-4fa1-b378-33a7adbf97fa,1, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"СтроитьПолнуюИерархию"} -}, -{b13ab8a6-288e-4a1c-80b4-b21a1b52b361,b13ab8a6-288e-4a1c-80b4-b21a1b52b361,1, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"ВариантВстроенногоЯзыка"} -}, -{c09837bd-5dd4-496b-b701-64bd41d091f3,c09837bd-5dd4-496b-b701-64bd41d091f3,1, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"ГененироватьКодПодключенияККлиенту"} -}, -{f338d2b7-c4a7-4e46-8e57-e557d0118edb,f338d2b7-c4a7-4e46-8e57-e557d0118edb,1, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"ВариантПреобразования"} -} -}, -{1, -{d2dcbcfb-d38e-4fa3-996c-ad9a927c7fab,6344d70f-6d22-465c-b456-63013e6bc378,0} -}, -{7, -{ -{0,14b9c261-b0c2-46b1-acdb-8b7cc4971264},d2dcbcfb-d38e-4fa3-996c-ad9a927c7fab, -{-1} -}, -{ -{0,69892737-fbf2-40d4-bdea-b49a9f341c96},d2dcbcfb-d38e-4fa3-996c-ad9a927c7fab, -{-1} -}, -{ -{0,698aff01-1ee8-452e-83e5-01bcfb3f6d9f},d2dcbcfb-d38e-4fa3-996c-ad9a927c7fab, -{-1} -}, -{ -{0,71b711bc-3325-4fa1-b378-33a7adbf97fa},d2dcbcfb-d38e-4fa3-996c-ad9a927c7fab, -{-1} -}, -{ -{0,b13ab8a6-288e-4a1c-80b4-b21a1b52b361},d2dcbcfb-d38e-4fa3-996c-ad9a927c7fab, -{-1} -}, -{ -{0,c09837bd-5dd4-496b-b701-64bd41d091f3},d2dcbcfb-d38e-4fa3-996c-ad9a927c7fab, -{-1} -}, -{ -{0,f338d2b7-c4a7-4e46-8e57-e557d0118edb},d2dcbcfb-d38e-4fa3-996c-ad9a927c7fab, -{-1} -} -}, -{0,0}, -{0} -} \ No newline at end of file diff --git a/src/Tests/Gui83/UILogToScript/und/root b/src/Tests/Gui83/UILogToScript/und/root deleted file mode 100644 index 7c14b441..00000000 --- a/src/Tests/Gui83/UILogToScript/und/root +++ /dev/null @@ -1 +0,0 @@ -{2,9e7b2a13-3bf6-401a-be4a-0dbf0d48a43b,} \ No newline at end of file diff --git a/src/Tests/Gui83/UILogToScript/und/versions b/src/Tests/Gui83/UILogToScript/und/versions deleted file mode 100644 index c2ba3a55..00000000 --- a/src/Tests/Gui83/UILogToScript/und/versions +++ /dev/null @@ -1 +0,0 @@ -{1,16,"",211870ee-5fa2-4de1-94c7-2aaaf09e4784,"b6e7785c-aad2-4c34-8c75-d98a7963dbaf",481f19f9-5712-4870-9a1a-e57ad56aa043,"versions",7d815f1f-ce7f-45b0-b8b1-cffc74b3d32f,"6810777b-4151-4eba-b50d-4a2a08b5be5a",e0611e5c-3506-4d42-bea9-8e5a8be08f1b,"root",c9835fd8-ace9-4145-98f5-9920503ea7e5,"6810777b-4151-4eba-b50d-4a2a08b5be5a.0",2a2860ed-92f3-4765-9d9e-fa27fe63b3d5,"33910070-6792-45db-b776-a887080ffe7a",c0aecfc2-94a8-4c2c-88f8-6470459fd695,"version",07e34d8f-b0f0-4a86-80c5-d3721f8a7ccb,"b6e7785c-aad2-4c34-8c75-d98a7963dbaf.0",da038199-9e29-4e3e-8004-72c51196776e,"33910070-6792-45db-b776-a887080ffe7a.0",fd7f52bc-f444-4ab5-97e3-00c39d84a68e,"9e7b2a13-3bf6-401a-be4a-0dbf0d48a43b",2820f9f7-8eee-4839-9489-6f8f15f1e7f2,"0b790809-ec18-47a5-9ea4-f803fe85b870.0",82c52607-dfb7-4ec3-b4a6-87f954744a88,"6344d70f-6d22-465c-b456-63013e6bc378.1",e7db93ec-7089-4c96-9d10-eddf15e77295,"6344d70f-6d22-465c-b456-63013e6bc378.0",e197b79e-662c-4157-997e-38428cad69eb,"copyinfo",edc5eb4d-3e3c-4529-a6e8-39ecf01186d7,"0b790809-ec18-47a5-9ea4-f803fe85b870",65a89add-7c10-45de-a55b-1e94e029032a} \ No newline at end of file diff --git "a/src/Tests/Gui83/UILogToScript/\320\234\320\260\320\272\320\265\321\202\321\213/UnpackV8.txt" "b/src/Tests/Gui83/UILogToScript/\320\234\320\260\320\272\320\265\321\202\321\213/UnpackV8.txt" deleted file mode 100644 index 91178556..00000000 --- "a/src/Tests/Gui83/UILogToScript/\320\234\320\260\320\272\320\265\321\202\321\213/UnpackV8.txt" +++ /dev/null @@ -1,1368 +0,0 @@ -{1, -{#base64:TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAA2AAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5v -dCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAADecsL/mhOsrJoTrKyaE6ys -cgymrM8TrKwZD6KsiROsrJ8f8ayZE6ysmhOtrNwTrKz4DL+smBOsrHIMp6yLE6ys -UmljaJoTrKwAAAAAAAAAAAAAAAAAAAAAUEUAAEwBAwBR4vBHAAAAAAAAAADgAA8B -CwEGAACwAAAAUAAAAAAAADlWAAAAEAAAAMAAAAAAQAAAEAAAABAAAAQAAAAAAAAA -BAAAAAAAAAAAEAEAABAAAAAAAAADAAAAAAAQAAAQAAAAABAAABAAAAAAAAAQAAAA -AAAAAAAAAABwywAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AMAAABgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAudGV4dAAAAKauAAAAEAAA -ALAAAAAQAAAAAAAAAAAAAAAAAAAgAABgLnJkYXRhAAB6EQAAAMAAAAAgAAAAwAAA -AAAAAAAAAAAAAAAAQAAAQC5kYXRhAAAAmCkAAADgAAAAIAAAAOAAAAAAAAAAAAAA -AAAAAEAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAIoN+PVAALABhMh1CArIiA349UAA6QcAAACQkJCQkJCQ -aDAQQADoEzMAAFnDkJCQkMOQkJCQkJCQkJCQkJCQkJCLwTPJxwAYwUAAiUgUiUgc -xkAgAcOQkJCQkJCQkJCQkFaL8egYAAAA9kQkCAF0CVboXy0AAIPEBIvGXsIEAJCQ -Vovxi0YUxwYYwUAAhcB0CVDoPi0AAIPEBItGHIXAdB2LSPyNcPxowBBAAFFqOFDo -yjIAAFboGi0AAIPEBF7DkFaL8YsGhcB0CVDoBS0AAIPEBItGCIXAdAlQ6PUsAACD -xASNThDolv///17DkJCQkItEJARTVldoVOBAAIvZUOjkMwAAi/CDxAiF9nULX164 -uf///1vCCACLTCQUaFDgQABR6MEzAACL+IPECIX/dRRW6DwzAACDxAS4uP///19e -W8IIAFdWi8vo8wEAAFaL2OgdMwAAV+gXMwAAg8QIg/v9dQtfXri3////W8IIAIvD -X/fYG8BeJLpbwggAkJCQkItEJARTVldoVOBAAIvZUOhUMwAAi/CDxAiF9nULX164 -zf///1vCCACLTCQUaFDgQABR6DEzAACL+IPECIX/dRRW6KwyAACDxAS4zP///19e -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 -yf8zwPKu99FJi9mLyjvTcgKLy79M5kAAi/UzwPOmdAUbwIPY/4XAdRE703INO9MP -lcCFwA+E1QAAAGiw6UAAaIjgQADomRgAAGiw6UAAaAjmQADoihgAAGiw6UAAaIjg -QADoexgAAGiw6UAAaNDlQADobBgAAGiw6UAAaIjgQADoXRgAAGiw6UAAaMTlQADo -ThgAAGiw6UAAaJTlQADoPxgAAGiw6UAAaGDlQADoMBgAAIPEQGiw6UAAaCzlQADo -HhgAAGiw6UAAaPjkQADoDxgAAGiw6UAAaOjkQADoABgAAGiw6UAAaODkQADo8RcA -AGiw6UAAaLDkQADo4hcAAGiw6UAAaHzkQADp0AAAAGiw6UAAaIjgQADoxBcAAGiw -6UAAaIjgQADotRcAAGiw6UAAaHTkQADophcAAGiw6UAAaDDkQADolxcAAGiw6UAA -aNjjQADoiBcAAGiw6UAAaITjQADoeRcAAGiw6UAAaIjgQADoahcAAGiw6UAAaIjg -QADoWxcAAIPEQGiw6UAAaHzjQADoSRcAAGiw6UAAaCDjQADoOhcAAGiw6UAAaMzi -QADoKxcAAGiw6UAAaITiQADoHBcAAGiw6UAAaIjgQADoDRcAAGiw6UAAaIjgQADo -/hYAAItMJESDxDCFyQ+ENgIAAIpB/4TAdB48/3Qa/shfXohB/10zwFuLTCRYZIkN -AAAAAIPEZMNJUehFBgAAg8QEM8BfXl1bi0wkWGSJDQAAAACDxGTDjUwkIOiQ2P// -i1MMi0MIagBSUI1MJCzGRCR8Bug48v//i/DGRCRwAI1MJCDrS0lR6PgFAACDxASL -xl9eXVuLTCRYZIkNAAAAAIPEZMONTCQg6EPY//+LSwyLUwhqAFFSjUwkLMZEJHwF -6Ovr//+L8MZEJHAAjUwkIOhb2P//i0wkFIXJdLKKQf+EwHShPP90nf7IX4hB/4vG -Xl1bi0wkWGSJDQAAAACDxGTDjUwkIOjl1///i0MMi0sIUFGNTCQoxkQkeATo7+f/ -/41MJCCL8MZEJHAA6P/X//+LTCQUhckPhFL///+KQf+EwA+EPf///zz/D4Q1//// -65aNTCRE6JXX//+LUxCLQwyLSwhqAVJQUY1MJFTGhCSAAAAAA+g24v//jUwkRIvw -xkQkcADoptf//2oBjUwkFMdEJHT/////6IMBAACLxl9eXVuLTCRYZIkNAAAAAIPE -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 -9zPLA/AD+YPx/4Pw/zPPM8aDwgSB4QABAYF1HCUAAQGBdNMlAAEBAXUIgeYAAACA -dcReX1szwMOLQvw42HQ2hMB07zjcdCeE5HTnwegQONh0FYTAdNw43HQGhOR01OuW -Xl+NQv9bw41C/l5fW8ONQv1eX1vDjUL8Xl9bw/8lJMBAAMzMzMzMzMzMzMzMzMzM -i0XsUOhrgP//WcO4UMhAAOkajP//zMzMzMzMzMzMzMyLhaz8//9Q6EiA//9Zw7h4 -yEAA6feL///MzMzMzMzMzIuF0Pz//1DoKID//1nDuKDIQADp14v//8zMzMzMzMzM -jU2c6eh7//+NTazpsFL//41NrOmoUv//jU2s6aBS//+NTdDpmFL//41N0OmQUv// -jU3Q6YhS//+4yMhAAOmNi///zMzMzMzMzMzMzMzMzMy4IMlAAOl1i///zMyNTeDp -jHv//7j4yUAA6WGL///MzItN7OnMmf//uCDKQADpTYv//8zMi03w6biZ//+4aMpA -AOk5i///zMyLTfDppJn//7iQykAA6SWL///MzItN8OmQmf//uLjKQADpEYv//8zM -jU3g6Sh7//+4IMtAAOn9iv//zMyLTfDpaJn//7hIy0AA6emK//8AAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -6s4AAFLRAABA0QAALtEAAB7RAAAO0QAAHs0AACzNAAA4zQAARM0AAFDNAABezQAA -cs0AAIbNAACWzQAAqs0AALbNAADOzQAA6M0AAPjNAAAKzgAAGs4AACzOAAA6zgAA -TM4AAFjOAABmzgAAcs4AAH7OAACMzgAAms4AAKjOAAC4zgAAyM4AANrOAAD4zgAA -Cs8AAB7PAAA2zwAATM8AAGLPAAByzwAAgs8AAJ7PAAC0zwAAzs8AAOjPAAAA0AAA -GtAAADjQAABI0AAAXNAAAGrQAAB80AAAjNAAAJzQAACo0AAAstAAAL7QAADY0AAA -6tAAAPzQAAAAAAAABM0AAPrMAADszAAA3MwAANLMAADEzAAAAAAAAGAQQAA4x0AA -1z9AAJ0+QAC6P0AAc3RyaW5nIHRvbyBsb25nAHDHQAAEP0AAnT5AAKo+QAD///// -AAAAAAAAAADAx0AAv0BAAJ0+QACiQEAAaW52YWxpZCBzdHJpbmcgcG9zaXRpb24A -/////wAAAADmQ0AAAAAAAP////86REAARERAAAAAAAD/////AAAAANhIQAAuY29t -AAAAAC5iYXQAAAAALmNtZAAAAAAuZXhlAAAAAC4vXAA/KgAAAAAAAP/////5VkAA -DVdAAPDHQABhV0AAGlhAAFVua25vd24gZXhjZXB0aW9uAAAAOMhAADxYQAAAAAAA -Y3Nt4AEAAAAAAAAAAAAAAAMAAAAgBZMZAAAAAAAAAAD/////AAAAAIVhQAAAAAAA -cWFAAHVhQAD/////AAAAANthQAAAAAAAx2FAAMthQAD/////iHpAAJJ6QAAAAAAA -/////wAAAAD4e0AAAAAAANZ7QADge0AA/////yh+QAAsfkAAAAAAAP////+KfkAA -k35AAAYAAAYAAQAAEAADBgAGAhAERUVFBQUFBQU1MABQAAAAACAoOFBYBwgANzAw -V1AHAAAgIAgAAAAACGBoYGBgYAAAcHB4eHh4CAcIAAAHAAgICAAACAAIAAcIAAAA -KABuAHUAbABsACkAAAAAAChudWxsKQAAAAAAAAAAAAD/////TZBAAFGQQAD///// -AZFAAAWRQABydW50aW1lIGVycm9yIAAADQoAAFRMT1NTIGVycm9yDQoAAABTSU5H -IGVycm9yDQoAAAAARE9NQUlOIGVycm9yDQoAAFI2MDI4DQotIHVuYWJsZSB0byBp -bml0aWFsaXplIGhlYXANCgAAAABSNjAyNw0KLSBub3QgZW5vdWdoIHNwYWNlIGZv -ciBsb3dpbyBpbml0aWFsaXphdGlvbg0KAAAAAFI2MDI2DQotIG5vdCBlbm91Z2gg -c3BhY2UgZm9yIHN0ZGlvIGluaXRpYWxpemF0aW9uDQoAAAAAUjYwMjUNCi0gcHVy -ZSB2aXJ0dWFsIGZ1bmN0aW9uIGNhbGwNCgAAAFI2MDI0DQotIG5vdCBlbm91Z2gg -c3BhY2UgZm9yIF9vbmV4aXQvYXRleGl0IHRhYmxlDQoAAAAAUjYwMTkNCi0gdW5h -YmxlIHRvIG9wZW4gY29uc29sZSBkZXZpY2UNCgAAAABSNjAxOA0KLSB1bmV4cGVj -dGVkIGhlYXAgZXJyb3INCgAAAABSNjAxNw0KLSB1bmV4cGVjdGVkIG11bHRpdGhy -ZWFkIGxvY2sgZXJyb3INCgAAAABSNjAxNg0KLSBub3QgZW5vdWdoIHNwYWNlIGZv -ciB0aHJlYWQgZGF0YQ0KAA0KYWJub3JtYWwgcHJvZ3JhbSB0ZXJtaW5hdGlvbg0K -AAAAAFI2MDA5DQotIG5vdCBlbm91Z2ggc3BhY2UgZm9yIGVudmlyb25tZW50DQoA -UjYwMDgNCi0gbm90IGVub3VnaCBzcGFjZSBmb3IgYXJndW1lbnRzDQoAAABSNjAw -Mg0KLSBmbG9hdGluZyBwb2ludCBub3QgbG9hZGVkDQoAAAAATWljcm9zb2Z0IFZp -c3VhbCBDKysgUnVudGltZSBMaWJyYXJ5AAAAAAoKAABSdW50aW1lIEVycm9yIQoK -UHJvZ3JhbTogAAAALi4uADxwcm9ncmFtIG5hbWUgdW5rbm93bj4AAFN1bk1vblR1 -ZVdlZFRodUZyaVNhdAAAAEphbkZlYk1hckFwck1heUp1bkp1bEF1Z1NlcE9jdE5v -dkRlYwAAAABUWgAAAAAAAP/////zr0AA969AAEdldExhc3RBY3RpdmVQb3B1cAAA -R2V0QWN0aXZlV2luZG93AE1lc3NhZ2VCb3hBAHVzZXIzMi5kbGwAAP////+ouEAA -rLhAAP////8XuUAAG7lAAADpQAAAAAAAAAAAAP////8AAAAAAAAAABjpQAABAAAA -AAAAAP////8AAAAAAAAAADjpQAACAAAAAAAAAP////8AAAAAAAAAAADHQADoxkAA -0MZAAAAAAAAAAAAAAAAAAAMAAAAYx0AAAAAAAAAAAAAAAAAAOOlAACjHQAAAAAAA -6MZAANDGQAAAAAAAAAAAAAAAAAAAAAAAAgAAAFDHQAAAAAAAAAAAAAAAAAAY6UAA -YMdAAAAAAABY6UAAAgAAAAAAAAD/////AAAAAAAAAACIx0AA6MZAANDGQAAAAAAA -AAAAAAAAAAADAAAAoMdAAAAAAAAAAAAAAAAAAFjpQACwx0AA0MZAAAAAAAAAAAAA -AAAAAAAAAAABAAAA1MdAAAAAAAAAAAAAAAAAAADpQADgx0AAAAAAABjsQAAAAAAA -AAAAAP////8AAAAAAAAAAAjIQAAAAAAAAAAAAAAAAAABAAAAIMhAAAAAAAAAAAAA -AAAAABjsQAAoyEAAAAAAACAFkxkBAAAAcMhAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -/////2C9QAAgBZMZAQAAAJjIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////+AvUAA -IAWTGQEAAADAyEAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////oL1AACAFkxkHAAAA -6MhAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////8C9QAAAAAAA8L1AAAAAAADovUAA -AAAAAOC9QAAAAAAA2L1AAAAAAADQvUAAAAAAAMi9QAAgBZMZAgAAAEDJQAABAAAA -UMlAAAAAAAAAAAAAAAAAAP////8AAAAA/////wAAAAAAAAAAAAAAAAEAAAABAAAA -aMlAAAAAAAAAAAAAAAAAAAAAAABZPEAAAAAAAADpQAAAAAAA/////wAAAAAMAAAA -uldAAAAAAAAAAAAAGOlAAAAAAAD/////AAAAABwAAAAgP0AAAAAAAAAAAAA46UAA -AAAAAP////8AAAAAHAAAAPM/QAAAAAAAAwAAALjJQACYyUAAeMlAAAAAAAB9P0AA -AAAAANjJQAAgBZMZAQAAABjKQAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////8cvkAA -IAWTGQEAAABAykAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////ML5AAAIAAACYyUAA -eMlAAAAAAAAAAAAAxz5AAAAAAABIykAAIAWTGQEAAACIykAAAAAAAAAAAAAAAAAA -AAAAAAAAAAD/////RL5AACAFkxkBAAAAsMpAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -/////1i+QAAgBZMZAQAAANjKQAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////9svkAA -AAAAAFjpQAAAAAAA/////wAAAAAcAAAA20BAAAAAAAADAAAA4MpAAJjJQAB4yUAA -AAAAAGVAQAAAAAAAAMtAACAFkxkBAAAAQMtAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -/////4C+QAAgBZMZAQAAAGjLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////+UvkAA -qMwAAAAAAAAAAAAAFM0AAPzAAACsywAAAAAAAAAAAABs0QAAAMAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAA6s4AAFLRAABA0QAALtEAAB7RAAAO0QAAHs0AACzNAAA4zQAA -RM0AAFDNAABezQAAcs0AAIbNAACWzQAAqs0AALbNAADOzQAA6M0AAPjNAAAKzgAA -Gs4AACzOAAA6zgAATM4AAFjOAABmzgAAcs4AAH7OAACMzgAAms4AAKjOAAC4zgAA -yM4AANrOAAD4zgAACs8AAB7PAAA2zwAATM8AAGLPAAByzwAAgs8AAJ7PAAC0zwAA -zs8AAOjPAAAA0AAAGtAAADjQAABI0AAAXNAAAGrQAAB80AAAjNAAAJzQAACo0AAA -stAAAL7QAADY0AAA6tAAAPzQAAAAAAAABM0AAPrMAADszAAA3MwAANLMAADEzAAA -AAAAAAgAZGVmbGF0ZUVuZAAABQBkZWZsYXRlAAkAZGVmbGF0ZUluaXQyXwAoAGlu -ZmxhdGVFbmQAACMAaW5mbGF0ZQApAGluZmxhdGVJbml0Ml8AemxpYjEuZGxsAKIB -SGVhcFJlQWxsb2MAmQFIZWFwQWxsb2MAnwFIZWFwRnJlZQAALwJSdGxVbndpbmQA -fQBFeGl0UHJvY2VzcwCeAlRlcm1pbmF0ZVByb2Nlc3MAAPcAR2V0Q3VycmVudFBy -b2Nlc3MAGgFHZXRMYXN0RXJyb3IAAC0AQ3JlYXRlRGlyZWN0b3J5QQAAkABGaW5k -Q2xvc2UAigBGaWxlVGltZVRvU3lzdGVtVGltZQAAiQBGaWxlVGltZVRvTG9jYWxG -aWxlVGltZQAEAUdldERyaXZlVHlwZUEAlABGaW5kRmlyc3RGaWxlQQAAnQBGaW5k -TmV4dEZpbGVBAMoAR2V0Q29tbWFuZExpbmVBAHQBR2V0VmVyc2lvbgAACwJSYWlz -ZUV4Y2VwdGlvbgAAowFIZWFwU2l6ZQAAGwBDbG9zZUhhbmRsZQDfAldyaXRlRmls -ZQAYAlJlYWRGaWxlAACdAUhlYXBEZXN0cm95AJsBSGVhcENyZWF0ZQAAvwJWaXJ0 -dWFsRnJlZQC7AlZpcnR1YWxBbGxvYwAAuAFJc0JhZFdyaXRlUHRyAG0CU2V0SGFu -ZGxlQ291bnQAAFIBR2V0U3RkSGFuZGxlAAAVAUdldEZpbGVUeXBlAFABR2V0U3Rh -cnR1cEluZm9BABYBR2V0RnVsbFBhdGhOYW1lQQAA9QBHZXRDdXJyZW50RGlyZWN0 -b3J5QQAA0gJXaWRlQ2hhclRvTXVsdGlCeXRlAOQBTXVsdGlCeXRlVG9XaWRlQ2hh -cgC/AUxDTWFwU3RyaW5nQQAAwAFMQ01hcFN0cmluZ1cAAK0CVW5oYW5kbGVkRXhj -ZXB0aW9uRmlsdGVyAAAkAUdldE1vZHVsZUZpbGVOYW1lQQAAsgBGcmVlRW52aXJv -bm1lbnRTdHJpbmdzQQCzAEZyZWVFbnZpcm9ubWVudFN0cmluZ3NXAAYBR2V0RW52 -aXJvbm1lbnRTdHJpbmdzAAgBR2V0RW52aXJvbm1lbnRTdHJpbmdzVwAAiwJTZXRV -bmhhbmRsZWRFeGNlcHRpb25GaWx0ZXIAfAJTZXRTdGRIYW5kbGUAAKoARmx1c2hG -aWxlQnVmZmVycwAANABDcmVhdGVGaWxlQQBqAlNldEZpbGVQb2ludGVyAAC1AUlz -QmFkUmVhZFB0cgAAsgFJc0JhZENvZGVQdHIAAL8AR2V0Q1BJbmZvALkAR2V0QUNQ -AAAxAUdldE9FTUNQAABwAUdldFRpbWVab25lSW5mb3JtYXRpb24AAFMBR2V0U3Ry -aW5nVHlwZUEAAFYBR2V0U3RyaW5nVHlwZVcAAD4BR2V0UHJvY0FkZHJlc3MAAMIB -TG9hZExpYnJhcnlBAABhAlNldEVuZE9mRmlsZQAAIQBDb21wYXJlU3RyaW5nQQAA -IgBDb21wYXJlU3RyaW5nVwAAYgJTZXRFbnZpcm9ubWVudFZhcmlhYmxlQQBLRVJO -RUwzMi5kbGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBAAPAvQACAPUAA -jUJAAAAAAAAAAAAAT0NAAJVOQAC8pkAA6ppAAAAAAAAAAAAAOk9AAAAAAAAAAAAA -+5pAAAAAAAAAAAAAAAAAAHdiAAByYgAAMS4yLjMAAABVbnBhY2tUb0ZvbGRlci4g -RXJyb3IgaW4gY3JlYXRpbmcgZmlsZSEACgAAAGRhdGEAAAAAJXNcJXMuJXMAAAAA -aGVhZGVyAAAuAAAAfAAAAFByb2dyZXNzICg1MCBwb2ludHMpOiAAAFVucGFja1Rv -Rm9sZGVyLiBFcnJvciBpbiBjcmVhdGluZyBmaWxlIQoAAAAAJXNcJXMAAABGaWxl -SGVhZGVyAABVbnBhY2tUb0ZvbGRlci4gRXJyb3IgaW4gY3JlYXRpbmcgZGlyZWN0 -b3J5IQoAAABVbnBhY2tUb0ZvbGRlci4gVGhpcyBpcyBub3QgVjggZmlsZSEKAAAA -VW5wYWNrVG9Gb2xkZXIuIEVycm9yIGluIHJlYWRpbmcgZmlsZSEKAFVucGFja1Rv -Rm9sZGVyLiBOb3QgZW5vdWdoIG1lbW9yeSEKAFVucGFja1RvRm9sZGVyLiBJbnB1 -dCBmaWxlIG5vdCBmb3VuZCEKAABSZWFkQmxvY2tEYXRhLiBCbG9ja0RhdGEgPT0g -TlVMTC4AAAAuZGF0YQAAACVzXCouaGVhZGVyACVzXEZpbGVIZWFkZXIAAAAlMDh4 -AAAAAExvYWRGaWxlOiBvawoAAABTYXZlRmlsZS4gRXJyb3IgaW4gY3JlYXRpbmcg -ZmlsZSEAAAAlc1wqAAAAAFBhY2s6IG9rCgAAAExvYWRGaWxlRnJvbUZvbGRlcjog -b2sKAFY4VW5wYWNrLmV4ZSAtcGFjayAgICAgICAgMUN2OC51bmQgICAgICAgICAg -ICAgICAgICAgICAgICAxQ3Y4X25ldy5jZgoAAFY4VW5wYWNrLmV4ZSAtZGVmbGF0 -ZSAgICAgMUN2OC51bnBcbWV0YWRhdGFfbmV3LmRhdGEudW5kICAxQ3Y4LnVucFxt -ZXRhZGF0YS5kYXRhCgAAAFY4VW5wYWNrLmV4ZSAtcGFjayAgICAgICAgMUN2OC51 -bnBcbWV0YWRhdGEudW5wICAgICAgICAgICAxQ3Y4LnVucFxtZXRhZGF0YV9uZXcu -ZGF0YS51bmQKAAAAUEFDSwoAAABWOFVucGFjay5leGUgLXVucGFjayAgICAgIDFD -djgudW5wXG1ldGFkYXRhLmRhdGEudW5kICAgICAgMUN2OC51bnBcbWV0YWRhdGEu -dW5wCgAAAABWOFVucGFjay5leGUgLXVuZGVmbGF0ZSAgIDFDdjgudW5wXG1ldGFk -YXRhLmRhdGEgICAgICAgICAgMUN2OC51bnBcbWV0YWRhdGEuZGF0YS51bmQKAAAA -VjhVbnBhY2suZXhlIC11bnBhY2sgICAgICAxQ3Y4LmNmICAgICAgICAgICAgICAg -ICAgICAgICAgIDFDdjgudW5wCgBVTlBBQ0sKACAgLUJbVUlMRF0gICAgICBpbl9k -aXJuYW1lICAgICAgICAgb3V0X2ZpbGVuYW1lCgAAAAAgIC1QW0FSU0VdICAgICAg -aW5fZmlsZW5hbWUgICAgICAgIG91dF9kaXJuYW1lCgAgIC1CQVQKACAgLUVbWEFN -UExFXQoAAAAgIC1EW0VGTEFURV0gICAgaW5fZmlsZW5hbWUgICAgICAgIGZpbGVu -YW1lLmRhdGEKAAAAICAtSVtORkxBVEVdICAgIGluX2ZpbGVuYW1lLmRhdGEgICBv -dXRfZmlsZW5hbWUKAAAAACAgLVBBW0NLXSAgICAgICBpbl9kaXJuYW1lICAgICAg -ICAgb3V0X2ZpbGVuYW1lLmNmCgAgIC1VW05QQUNLXSAgICAgaW5fZmlsZW5hbWUu -Y2YgICAgIG91dF9kaXJuYW1lCgBWOFVOUEFDSwoAAABVbnBhY2ssIHBhY2ssIGRl -ZmxhdGUgYW5kIGluZmxhdGUgMUMgdjggZmlsZSAoKi5jZikKAAAAAFY4VXBhY2sg -VmVyc2lvbiAyLjAwIENvcHlyaWdodCAoYykgMjAwOCBEZW5pcyBEZW1pZG92IDIw -MDgtMDMtMzAKAAAALWUAAC1leGFtcGxlAAAAADpFTkQKAAAAVjhVbnBhY2suZXhl -IC1wYWNrICAgICAgICAlMi51bnAgICAgICAgICAgICAgICAgICAgICAgICAgJTIu -bmV3LmNmCgBWOFVucGFjay5leGUgLWRlZmxhdGUgICAgICUyLnVucFxtZXRhZGF0 -YV9uZXcuZGF0YS51bmQgICAlMi51bnBcbWV0YWRhdGEuZGF0YQoAAFY4VW5wYWNr -LmV4ZSAtcGFjayAgICAgICAgJTIudW5wXG1ldGFkYXRhLnVucCAgICAgICAgICAg -ICUyLnVucFxtZXRhZGF0YV9uZXcuZGF0YS51bmQKAAA6UEFDSwoAAEdPVE8gRU5E -CgAAAFY4VW5wYWNrLmV4ZSAtdW5wYWNrICAgICAgJTIudW5wXG1ldGFkYXRhLmRh -dGEudW5kICAgICAgICAlMi51bnBcbWV0YWRhdGEudW5wCgAAVjhVbnBhY2suZXhl -IC11bmRlZmxhdGUgICAlMi51bnBcbWV0YWRhdGEuZGF0YSAgICAgICAgICAgICUy -LnVucFxtZXRhZGF0YS5kYXRhLnVuZAoAVjhVbnBhY2suZXhlIC11bnBhY2sgICAg -ICAlMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUyLnVucAoAAAA6VU5Q -QUNLCgAAAABpZiAlMSA9PSBwIEdPVE8gUEFDSwoAAABpZiAlMSA9PSBQIEdPVE8g -UEFDSwoAAAAtYmF0AAAAAC1iAAAtYnVpbGQAAC1wAAAtcGFyc2UAAC1wYQAtcGFj -awAAAC11bnAAAAAALXUAAC11bnBhY2sALWQAAC1kZWZsYXRlAAAAAC11bmRlZmxh -dGUAAC11bmQAAAAALWkAAC1pbmZsYXRlAAAAAAAAAAAIwkAAAAAAAC4/QVZleGNl -cHRpb25AQAAIwkAAAAAAAC4/QVZsb2dpY19lcnJvckBzdGRAQAAAAAjCQAAAAAAA -Lj9BVmxlbmd0aF9lcnJvckBzdGRAQAAACMJAAAAAAAAuP0FWb3V0X29mX3Jhbmdl -QHN0ZEBAAAAAAAAAAAAAACAFkxkAAAAAAAAAAAAAAACA+UAAAAAAAID5QAABAQAA -AAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -Yk1AAAEAAAAIwkAAAAAAAC4/QVZ0eXBlX2luZm9AQACkmkAAAAAAAAAAAAAAAAAA -NGFAADRhQAAQAAAA+AMAAKSaQAAAAAAAAAAAAAAAAAAQw0AAAMNAAAEAAAAWAAAA -AgAAAAIAAAADAAAAAgAAAAQAAAAYAAAABQAAAA0AAAAGAAAACQAAAAcAAAAMAAAA -CAAAAAwAAAAJAAAADAAAAAoAAAAHAAAACwAAAAgAAAAMAAAAFgAAAA0AAAAWAAAA -DwAAAAIAAAAQAAAADQAAABEAAAASAAAAEgAAAAIAAAAhAAAADQAAADUAAAACAAAA -QQAAAA0AAABDAAAAAgAAAFAAAAARAAAAUgAAAA0AAABTAAAADQAAAFcAAAAWAAAA -WQAAAAsAAABsAAAADQAAAG0AAAAgAAAAcAAAABwAAAByAAAACQAAAAYAAAAWAAAA -gAAAAAoAAACBAAAACgAAAIIAAAAJAAAAgwAAABYAAACEAAAADQAAAJEAAAApAAAA -ngAAAA0AAAChAAAAAgAAAKQAAAALAAAApwAAAA0AAAC3AAAAEQAAAM4AAAACAAAA -1wAAAAsAAAAYBwAADAAAAP////8ACgAA4u1AAOLtQAAAACAAIAAgACAAIAAgACAA -IAAgACgAKAAoACgAKAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA -IABIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAIQAhACEAIQAhACEAIQA -hACEAIQAEAAQABAAEAAQABAAEACBAIEAgQCBAIEAgQABAAEAAQABAAEAAQABAAEA -AQABAAEAAQABAAEAAQABAAEAAQABAAEAEAAQABAAEAAQABAAggCCAIIAggCCAIIA -AgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAEAAQABAA -IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAABAAAALgAAAAEAAAAFAADACwAAAAAAAAAdAADA -BAAAAAAAAACWAADABAAAAAAAAACNAADACAAAAAAAAACOAADACAAAAAAAAACPAADA -CAAAAAAAAACQAADACAAAAAAAAACRAADACAAAAAAAAACSAADACAAAAAAAAACTAADA -CAAAAAAAAAADAAAABwAAAAoAAACMAAAAAgAAAJzFQAAIAAAAcMVAAAkAAABExUAA -CgAAACDFQAAQAAAA9MRAABEAAADExEAAEgAAAKDEQAATAAAAdMRAABgAAAA8xEAA -GQAAABTEQAAaAAAA3MNAABsAAACkw0AAHAAAAHzDQAB4AAAAbMNAAHkAAABcw0AA -egAAAEzDQAD8AAAASMNAAP8AAAA4w0AAAAAAAAAAAACGtEAAhrRAAIa0QACGtEAA -hrRAAIa0QAAAAAAAAAAAAAECBAgAAAAApAMAAGCCeYIhAAAAAAAAAKbfAAAAAAAA -oaUAAAAAAACBn+D8AAAAAEB+gPwAAAAAqAMAAMGj2qMgAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAACB/gAAAAAAAED+AAAAAAAAtQMAAMGj2qMgAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAACB/gAAAAAAAEH+AAAAAAAAtgMAAM+i5KIaAOWi6KJbAAAAAAAAAAAA -AAAAAAAAAACB/gAAAAAAAEB+of4AAAAAUQUAAFHaXtogAF/aatoyAAAAAAAAAAAA -AAAAAAAAAACB09je4PkAADF+gf4AAAAAAAAAAAAAAACAcAAAAQAAAPDx//9QU1QA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAUERUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADzyQAB88kAAAAAAAP////8AAAAA -AAAAAAAAAAD/////AAAAAAAAAAD/////HgAAADsAAABaAAAAeAAAAJcAAAC1AAAA -1AAAAPMAAAARAQAAMAEAAE4BAABtAQAA/////x4AAAA6AAAAWQAAAHcAAACWAAAA -tAAAANMAAADyAAAAEAEAAC8BAABNAQAAbAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAA==} -} \ No newline at end of file diff --git "a/src/Tests/Gui83/UILogToScript/\320\234\320\260\320\272\320\265\321\202\321\213/zlib1.txt" "b/src/Tests/Gui83/UILogToScript/\320\234\320\260\320\272\320\265\321\202\321\213/zlib1.txt" deleted file mode 100644 index b6fa4088..00000000 --- "a/src/Tests/Gui83/UILogToScript/\320\234\320\260\320\272\320\265\321\202\321\213/zlib1.txt" +++ /dev/null @@ -1,1251 +0,0 @@ -{1, -{#base64:TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAEAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5v -dCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAAAFd2a9QRYI7kEWCO5BFgju -Iwkb7kMWCO5BFgnuVxYI7i4JDO5CFgjuLgkC7kQWCO7CCgbuQBYI7kQaa+5MFgju -RBoH7kAWCO69NhruQBYI7kQaVO5AFgjurR1W7kAWCO5EGlLuQBYI7lJpY2hBFgju -AAAAAAAAAAAAAAAAAAAAAFBFAABMAQUA2h3eQgAAAAAAAAAA4AAOIQsBBwoAlAAA -AFIAAAAAAABGoQAAABAAAACwAAAAAAAQABAAAAACAAAEAAAAAAAAAAQAAAAAAAAA -ADABAAAEAACH9QAAAgAAAAAAEAAAEAAAAAAQAAAQAAAAAAAAEAAAAPDxAABdBAAA -ZPAAADwAAAAAEAEAmAMAAAAAAAAAAAAAAAAAAAAAAAAAIAEAsAIAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAABYAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALnRleHQAAAA/kgAAABAAAACUAAAABAAA -AAAAAAAAAAAAAAAAIAAAYC5yZGF0YQAATUYAAACwAAAASAAAAJgAAAAAAAAAAAAA -AAAAAEAAAEAuZGF0YQAAAHQAAAAAAAEAAAIAAADgAAAAAAAAAAAAAAAAAABAAADA -LnJzcmMAAACYAwAAABABAAAEAAAA4gAAAAAAAAAAAAAAAAAAQAAAQC5yZWxvYwAA -aAMAAAAgAQAABAAAAOYAAAAAAAAAAAAAAAAAAEAAAEIAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAItMJARTi1wkEFeL+cHvEIHh//8AAIP7AXUxi0QkEA+2 -EAPKgfnx/wAAcgaB6fH/AAAD+YH/8f8AAHIGge/x/wAAi8fB4BBfC8Fbw1aLdCQU -hfZ1CV5fuAEAAABbw4P7EHMzhdt0Cw+2BgPIRgP5S3X1gfnx/wAAcgaB6fH/AACL -xzPSvvH/AAD39l5fW4vCweAQC8HDgfuwFQAAD4LKAAAAuK+pbl7341WL6sHtC4v/ -geuwFQAAuFsBAADrA41JAA+2FgPKD7ZWAQP5A8oPtlYCA/kDyg+2VgMD+QPKD7ZW -BAP5A8oPtlYFA/kDyg+2VgYD+QPKD7ZWBwP5A8oPtlYIA/kDyg+2VgkD+QPKD7ZW -CgP5A8oPtlYLA/kDyg+2VgwD+QPKD7ZWDQP5A8oPtlYOA/kDyg+2Vg8D+QPKA/mD -xhBID4V3////i8Ez0rnx/wAA9/GLx7/x/wAAi8oz0vf3TYv6D4VG////XYXbD4TD -AAAAg/sQD4KRAAAAi8PB6AQPthYDyg+2VgED+QPKD7ZWAgP5A8oPtlYDA/kDyg+2 -VgQD+QPKD7ZWBQP5A8oPtlYGA/kDyg+2VgcD+QPKD7ZWCAP5A8oPtlYJA/kDyg+2 -VgoD+QPKD7ZWCwP5A8oPtlYMA/kDyg+2Vg0D+QPKD7ZWDgP5A8oPtlYPA/kDyoPr -EAP5g8YQSA+FdP///4XbdAsPtgYDyEYD+Ut19YvBM9K58f8AAPfxi8e+8f8AAIvK -M9L39ov6i8deweAQXwvBW8PMzMzMzMzMzMzMzMzMzMyD7DiLTCRIi1QkPItEJERT -i1wkRGo4aFiwABBqAGoIag+JTCQci0wkZGoIiVQkKIlEJByLA1GNVCQgUolEJDTH -RCREAAAAAMdEJEgAAAAAx0QkTAAAAADo5AMAAIPEIIXAdUlWjUQkCGoEUOiwCQAA -i/CDxAiD/gF0Ho1MJAhR6NwRAACDxASF9rj7////dBuLxl5bg8Q4w4tUJByNRCQI -UIkT6LgRAACDxAReW4PEOMPMzMzMzMzMzMzMzMzMzMyLRCQQi0wkDItUJAhq/1CL -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 -dAhfuP7///9ew4tACIXAdAtQi0YoUP9WJIPECItOHItBRIXAdAuLVihQUv9WJIPE -CItGHItAQIXAdAuLTihQUf9WJIPECItWHItCOIXAdAtQi0YoUP9WJIPECItOHItW -KFFS/1Ykg8QIM8CD/3EPlcBfx0YcAAAAAF5Ig+D9w7j+////XsPMzMzMzMzMzMzM -VVaLdCQQhfYPhJEBAACLbCQMhe0PhIUBAACLRhyFwIlEJBAPhHYBAABTV7kOAAAA -i/1owBYAAPOli0UoagFQ/1Ugi9iDxAyF2w+ERgEAAIt0JBiJXRy5sAUAAIv786WL -SyxqAokri1UoUVL/VSCJQziLQyyLTShqAlBR/1Ugi1NMagKJQ0CLRShSUP9VIIuL -nBYAAGoEiUNEi1UoUVL/VSCLeziDxDCF/4lDCA+E2gAAAItLQIXJD4TPAAAAi0tE -hckPhMQAAACFwA+EvAAAAItLLItUJBiLcjjR4YvpwekC86WLzYPhA/Oki3JAi0ss -i3tA0eGL6cHpAvOli82D4QPzpItyRItLTIt7RNHhi+nB6QLzpYvNg+ED86SLcgiL -SwyLewiL6cHpAvOli82D4QPzpIt6CItKEItzCCvPA86JSxCLi5wWAACL0dHqjQRQ -jRROA9GJg6QWAACJk5gWAACNg5QAAACNi4gJAACNk3wKAABfiYMYCwAAiYskCwAA -iZMwCwAAW14zwF3DVeie/f//g8QEX1teuPz///9dw164/v///13DzMzMzMzMzMzM -i0Isi0pM0eCJQjyLQkRTVjP2Zol0SP6LSkyNTAn+i9nB6QIzwFeLekTzq4vLg+ED -86qLgoQAAACNBEDB4AIPt4ia0AAQiYqAAAAAD7eImNAAEImKjAAAAA+3iJzQABCJ -ipAAAAAPt4Ce0AAQiUJ8uAIAAACJcmyJclyJcnSJQniJQmCJcmiJckjoE28AACUA -DwAAPQAGAABfG8lBXokNUAABEFvDzMzMzMzMzMzMzMyLTjiLRmxTihwIVYtsJAyK -FCkDwQPNOtNXjbgCAQAAD4WSAAAAilEBOlABD4WGAAAAg8ACg8ECilABilkBQEE6 -03VYilABilkBQEE603VMilABilkBQEE603VAilABilkBQEE603U0ilABilkBQEE6 -03UoilABilkBQEE603UcilABilkBQEE603UQilABilkBQEE603UEO8dynCvHBQIB -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 -nZxYnTPBdBC4AQAAAA+iW8O4AAMAAOv3uAAEAADr8FVXVlOD7CSLVCQ4i0wkPItC -eIuajAAAADvDi0I0i1p8fAPB6wJLweMQC9iJHCSLgpAAAACLWnQ72HwCi9iJXCQY -i3I4iXQkBItqbI18NQCJfCQgi8f32IPgA4lEJBSLQiwtBgEAACvofwIz7YtCeIlE -JBwD8Il0JAgPtx+JXCQQD7dcOP+JXCQMi3pAixQk6xojyg+3DE87zQ+G4AAAAIHq -AAABAA+I1AAAAA+3RDH/O8N13YtEJAQPtwQBO0QkEHXPiRQki3QkBIt8JCAD8YtE -JBS6+P7//428OAgBAACNtDAIAQAAiwQyMwQ6dRSLRDIEM0Q6BHUHg8IIdenrcYPC -BKn//wAAdQaDwgLB6BAsAYPSAI0EOot8JCArxz0CAQAAfUyLVCQ4i1wkHDvDfxOL -dCQIi3pAi1wkDIsUJOlO////i1wkGIlEJByJSnA7w30ti3QkBAPwiXQkCA+3XDj/ -i3pAiVwkDIsUJOkh////i1QkOMdEJBwCAQAAiUpwi1QkOItcJByLQnQ72H8Ci8OD -xCRbXl9dww0KYXNtNjg2IHdpdGggbWFzbSwgb3B0aW1pc2VkIGFzc2VtYmx5IGNv -ZGUgZnJvbSBCcmlhbiBSYWl0ZXIsIHdyaXR0ZW4gMTk5OA0KzMzMzMzMzMzMzMzM -6QMBAACNSQBGYXN0IGRlY29kaW5nIENvZGUgZnJvbSBDaHJpcyBBbmRlcnNvbgCQ -aW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29k -ZQCL/2ludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrAIv/AAAAAAEAAAADAAAA -BwAAAA8AAAAfAAAAPwAAAH8AAAD/AAAA/wEAAP8DAAD/BwAA/w8AAP8fAAD/PwAA -/38AAP//AAD//wEA//8DAP//BwD//w8A//8fAP//PwD//38A////AP///wH///8D -////B////w////8f////P////3//////V1ZVU5yD7ED8i3QkWIt+HItWBIsGA9CD -6guJRCQsiVQkFItsJFyLThCLXgwr6ffdA+uB6QEBAAADy4lcJDyJbCQoiUwkEItH -TItPUIlEJAiJTCQMuAEAAACLT1TT4EiJBCS4AQAAAItPWNPgSIlEJASLRyiLTzCL -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 -EAcKAAAIYAAACCAAAAmgAAAIAAAACIAAAAhAAAAJ4AAQBwYAAAhYAAAIGAAACZAA -Ewc7AAAIeAAACDgAAAnQABEHEQAACGgAAAgoAAAJsAAACAgAAAiIAAAISAAACfAA -EAcEAAAIVAAACBQAFQjjABMHKwAACHQAAAg0AAAJyAARBw0AAAhkAAAIJAAACagA -AAgEAAAIhAAACEQAAAnoABAHCAAACFwAAAgcAAAJmAAUB1MAAAh8AAAIPAAACdgA -EgcXAAAIbAAACCwAAAm4AAAIDAAACIwAAAhMAAAJ+AAQBwMAAAhSAAAIEgAVCKMA -EwcjAAAIcgAACDIAAAnEABEHCwAACGIAAAgiAAAJpAAACAIAAAiCAAAIQgAACeQA -EAcHAAAIWgAACBoAAAmUABQHQwAACHoAAAg6AAAJ1AASBxMAAAhqAAAIKgAACbQA -AAgKAAAIigAACEoAAAn0ABAHBQAACFYAAAgWAEAIAAATBzMAAAh2AAAINgAACcwA -EQcPAAAIZgAACCYAAAmsAAAIBgAACIYAAAhGAAAJ7AAQBwkAAAheAAAIHgAACZwA -FAdjAAAIfgAACD4AAAncABIHGwAACG4AAAguAAAJvAAACA4AAAiOAAAITgAACfwA -YAcAAAAIUQAACBEAFQiDABIHHwAACHEAAAgxAAAJwgAQBwoAAAhhAAAIIQAACaIA -AAgBAAAIgQAACEEAAAniABAHBgAACFkAAAgZAAAJkgATBzsAAAh5AAAIOQAACdIA -EQcRAAAIaQAACCkAAAmyAAAICQAACIkAAAhJAAAJ8gAQBwQAAAhVAAAIFQAQCAIB -EwcrAAAIdQAACDUAAAnKABEHDQAACGUAAAglAAAJqgAACAUAAAiFAAAIRQAACeoA -EAcIAAAIXQAACB0AAAmaABQHUwAACH0AAAg9AAAJ2gASBxcAAAhtAAAILQAACboA -AAgNAAAIjQAACE0AAAn6ABAHAwAACFMAAAgTABUIwwATByMAAAhzAAAIMwAACcYA -EQcLAAAIYwAACCMAAAmmAAAIAwAACIMAAAhDAAAJ5gAQBwcAAAhbAAAIGwAACZYA -FAdDAAAIewAACDsAAAnWABIHEwAACGsAAAgrAAAJtgAACAsAAAiLAAAISwAACfYA -EAcFAAAIVwAACBcAQAgAABMHMwAACHcAAAg3AAAJzgARBw8AAAhnAAAIJwAACa4A -AAgHAAAIhwAACEcAAAnuABAHCQAACF8AAAgfAAAJngAUB2MAAAh/AAAIPwAACd4A -EgcbAAAIbwAACC8AAAm+AAAIDwAACI8AAAhPAAAJ/gBgBwAAAAhQAAAIEAAUCHMA -EgcfAAAIcAAACDAAAAnBABAHCgAACGAAAAggAAAJoQAACAAAAAiAAAAIQAAACeEA -EAcGAAAIWAAACBgAAAmRABMHOwAACHgAAAg4AAAJ0QARBxEAAAhoAAAIKAAACbEA -AAgIAAAIiAAACEgAAAnxABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACckA -EQcNAAAIZAAACCQAAAmpAAAIBAAACIQAAAhEAAAJ6QAQBwgAAAhcAAAIHAAACZkA -FAdTAAAIfAAACDwAAAnZABIHFwAACGwAAAgsAAAJuQAACAwAAAiMAAAITAAACfkA -EAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxQARBwsAAAhiAAAIIgAACaUA -AAgCAAAIggAACEIAAAnlABAHBwAACFoAAAgaAAAJlQAUB0MAAAh6AAAIOgAACdUA -EgcTAAAIagAACCoAAAm1AAAICgAACIoAAAhKAAAJ9QAQBwUAAAhWAAAIFgBACAAA -EwczAAAIdgAACDYAAAnNABEHDwAACGYAAAgmAAAJrQAACAYAAAiGAAAIRgAACe0A -EAcJAAAIXgAACB4AAAmdABQHYwAACH4AAAg+AAAJ3QASBxsAAAhuAAAILgAACb0A -AAgOAAAIjgAACE4AAAn9AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcMA -EAcKAAAIYQAACCEAAAmjAAAIAQAACIEAAAhBAAAJ4wAQBwYAAAhZAAAIGQAACZMA -Ewc7AAAIeQAACDkAAAnTABEHEQAACGkAAAgpAAAJswAACAkAAAiJAAAISQAACfMA -EAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJywARBw0AAAhlAAAIJQAACasA -AAgFAAAIhQAACEUAAAnrABAHCAAACF0AAAgdAAAJmwAUB1MAAAh9AAAIPQAACdsA -EgcXAAAIbQAACC0AAAm7AAAIDQAACI0AAAhNAAAJ+wAQBwMAAAhTAAAIEwAVCMMA -EwcjAAAIcwAACDMAAAnHABEHCwAACGMAAAgjAAAJpwAACAMAAAiDAAAIQwAACecA -EAcHAAAIWwAACBsAAAmXABQHQwAACHsAAAg7AAAJ1wASBxMAAAhrAAAIKwAACbcA -AAgLAAAIiwAACEsAAAn3ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc8A -EQcPAAAIZwAACCcAAAmvAAAIBwAACIcAAAhHAAAJ7wAQBwkAAAhfAAAIHwAACZ8A -FAdjAAAIfwAACD8AAAnfABIHGwAACG8AAAgvAAAJvwAACA8AAAiPAAAITwAACf8A -EAUBABcFAQETBREAGwUBEBEFBQAZBQEEFQVBAB0FAUAQBQMAGAUBAhQFIQAcBQEg -EgUJABoFAQgWBYEAQAUAABAFAgAXBYEBEwUZABsFARgRBQcAGQUBBhUFYQAdBQFg -EAUEABgFAQMUBTEAHAUBMBIFDQAaBQEMFgXBAEAFAAAQABEAEgAAAAgABwAJAAYA -CgAFAAsABAAMAAMADQACAA4AAQAPAAAAYAcAAAAIUAAACBAAFAhzABIHHwAACHAA -AAgwAAAJwAAQBwoAAAhgAAAIIAAACaAAAAgAAAAIgAAACEAAAAngABAHBgAACFgA -AAgYAAAJkAATBzsAAAh4AAAIOAAACdAAEQcRAAAIaAAACCgAAAmwAAAICAAACIgA -AAhIAAAJ8AAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnIABEHDQAACGQA -AAgkAAAJqAAACAQAAAiEAAAIRAAACegAEAcIAAAIXAAACBwAAAmYABQHUwAACHwA -AAg8AAAJ2AASBxcAAAhsAAAILAAACbgAAAgMAAAIjAAACEwAAAn4ABAHAwAACFIA -AAgSABUIowATByMAAAhyAAAIMgAACcQAEQcLAAAIYgAACCIAAAmkAAAIAgAACIIA -AAhCAAAJ5AAQBwcAAAhaAAAIGgAACZQAFAdDAAAIegAACDoAAAnUABIHEwAACGoA -AAgqAAAJtAAACAoAAAiKAAAISgAACfQAEAcFAAAIVgAACBYAQAgAABMHMwAACHYA -AAg2AAAJzAARBw8AAAhmAAAIJgAACawAAAgGAAAIhgAACEYAAAnsABAHCQAACF4A -AAgeAAAJnAAUB2MAAAh+AAAIPgAACdwAEgcbAAAIbgAACC4AAAm8AAAIDgAACI4A -AAhOAAAJ/ABgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnCABAHCgAACGEA -AAghAAAJogAACAEAAAiBAAAIQQAACeIAEAcGAAAIWQAACBkAAAmSABMHOwAACHkA -AAg5AAAJ0gARBxEAAAhpAAAIKQAACbIAAAgJAAAIiQAACEkAAAnyABAHBAAACFUA -AAgVABAIAgETBysAAAh1AAAINQAACcoAEQcNAAAIZQAACCUAAAmqAAAIBQAACIUA -AAhFAAAJ6gAQBwgAAAhdAAAIHQAACZoAFAdTAAAIfQAACD0AAAnaABIHFwAACG0A -AAgtAAAJugAACA0AAAiNAAAITQAACfoAEAcDAAAIUwAACBMAFQjDABMHIwAACHMA -AAgzAAAJxgARBwsAAAhjAAAIIwAACaYAAAgDAAAIgwAACEMAAAnmABAHBwAACFsA -AAgbAAAJlgAUB0MAAAh7AAAIOwAACdYAEgcTAAAIawAACCsAAAm2AAAICwAACIsA -AAhLAAAJ9gAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnOABEHDwAACGcA -AAgnAAAJrgAACAcAAAiHAAAIRwAACe4AEAcJAAAIXwAACB8AAAmeABQHYwAACH8A -AAg/AAAJ3gASBxsAAAhvAAAILwAACb4AAAgPAAAIjwAACE8AAAn+AGAHAAAACFAA -AAgQABQIcwASBx8AAAhwAAAIMAAACcEAEAcKAAAIYAAACCAAAAmhAAAIAAAACIAA -AAhAAAAJ4QAQBwYAAAhYAAAIGAAACZEAEwc7AAAIeAAACDgAAAnRABEHEQAACGgA -AAgoAAAJsQAACAgAAAiIAAAISAAACfEAEAcEAAAIVAAACBQAFQjjABMHKwAACHQA -AAg0AAAJyQARBw0AAAhkAAAIJAAACakAAAgEAAAIhAAACEQAAAnpABAHCAAACFwA -AAgcAAAJmQAUB1MAAAh8AAAIPAAACdkAEgcXAAAIbAAACCwAAAm5AAAIDAAACIwA -AAhMAAAJ+QAQBwMAAAhSAAAIEgAVCKMAEwcjAAAIcgAACDIAAAnFABEHCwAACGIA -AAgiAAAJpQAACAIAAAiCAAAIQgAACeUAEAcHAAAIWgAACBoAAAmVABQHQwAACHoA -AAg6AAAJ1QASBxMAAAhqAAAIKgAACbUAAAgKAAAIigAACEoAAAn1ABAHBQAACFYA -AAgWAEAIAAATBzMAAAh2AAAINgAACc0AEQcPAAAIZgAACCYAAAmtAAAIBgAACIYA -AAhGAAAJ7QAQBwkAAAheAAAIHgAACZ0AFAdjAAAIfgAACD4AAAndABIHGwAACG4A -AAguAAAJvQAACA4AAAiOAAAITgAACf0AYAcAAAAIUQAACBEAFQiDABIHHwAACHEA -AAgxAAAJwwAQBwoAAAhhAAAIIQAACaMAAAgBAAAIgQAACEEAAAnjABAHBgAACFkA -AAgZAAAJkwATBzsAAAh5AAAIOQAACdMAEQcRAAAIaQAACCkAAAmzAAAICQAACIkA -AAhJAAAJ8wAQBwQAAAhVAAAIFQAQCAIBEwcrAAAIdQAACDUAAAnLABEHDQAACGUA -AAglAAAJqwAACAUAAAiFAAAIRQAACesAEAcIAAAIXQAACB0AAAmbABQHUwAACH0A -AAg9AAAJ2wASBxcAAAhtAAAILQAACbsAAAgNAAAIjQAACE0AAAn7ABAHAwAACFMA -AAgTABUIwwATByMAAAhzAAAIMwAACccAEQcLAAAIYwAACCMAAAmnAAAIAwAACIMA -AAhDAAAJ5wAQBwcAAAhbAAAIGwAACZcAFAdDAAAIewAACDsAAAnXABIHEwAACGsA -AAgrAAAJtwAACAsAAAiLAAAISwAACfcAEAcFAAAIVwAACBcAQAgAABMHMwAACHcA -AAg3AAAJzwARBw8AAAhnAAAIJwAACa8AAAgHAAAIhwAACEcAAAnvABAHCQAACF8A -AAgfAAAJnwAUB2MAAAh/AAAIPwAACd8AEgcbAAAIbwAACC8AAAm/AAAIDwAACI8A -AAhPAAAJ/wAQBQEAFwUBARMFEQAbBQEQEQUFABkFAQQVBUEAHQUBQBAFAwAYBQEC -FAUhABwFASASBQkAGgUBCBYFgQBABQAAEAUCABcFgQETBRkAGwUBGBEFBwAZBQEG -FQVhAB0FAWAQBQQAGAUBAxQFMQAcBQEwEgUNABoFAQwWBcEAQAUAABAAEQASAAAA -CAAHAAkABgAKAAUACwAEAAwAAwANAAIADgABAA8AAAAgaW5mbGF0ZSAxLjIuMyBD -b3B5cmlnaHQgMTk5NS0yMDA1IE1hcmsgQWRsZXIgAAADAAQABQAGAAcACAAJAAoA -CwANAA8AEQATABcAGwAfACMAKwAzADsAQwBTAGMAcwCDAKMAwwDjAAIBAAAAAAAA -EAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgATABMAEwATABQAFAAUABQA -FQAVABUAFQAQAMkAxAAAAAEAAgADAAQABQAHAAkADQARABkAIQAxAEEAYQCBAMEA -AQGBAQECAQMBBAEGAQgBDAEQARgBIAEwAUABYAAAAAAQABAAEAAQABEAEQASABIA -EwATABQAFAAVABUAFgAWABcAFwAYABgAGQAZABoAGgAbABsAHAAcAB0AHQBAAEAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAABAAAA -AgAAAAIAAAACAAAAAgAAAAMAAAADAAAAAwAAAAMAAAAEAAAABAAAAAQAAAAEAAAA -BQAAAAUAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAA -AgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAUAAAAGAAAABgAAAAcAAAAHAAAA -CAAAAAgAAAAJAAAACQAAAAoAAAAKAAAACwAAAAsAAAAMAAAADAAAAA0AAAANAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAIAAAADAAAABwAAABAREgAIBwkGCgULBAwDDQIOAQ8A -DAAIAIwACABMAAgAzAAIACwACACsAAgAbAAIAOwACAAcAAgAnAAIAFwACADcAAgA -PAAIALwACAB8AAgA/AAIAAIACACCAAgAQgAIAMIACAAiAAgAogAIAGIACADiAAgA -EgAIAJIACABSAAgA0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgA -KgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgA -BgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgA -NgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgA -HgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgA -IQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgA -CQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgA -OQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgA -FQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgA -LQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgA -EwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkA -cwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkA -KwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkA -WwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkA -BwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkA -ZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkA -NwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkA -TwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkA -HwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkA -fwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcA -CAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcA -FAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgA -AAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUA -BgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUA -AwAFABMABQALAAUAGwAFAAcABQAXAAUAAAECAwQEBQUGBgYGBwcHBwgICAgICAgI -CQkJCQkJCQkKCgoKCgoKCgoKCgoKCgoKCwsLCwsLCwsLCwsLCwsLCwwMDAwMDAwM -DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0N -DQ0NDQ0NDQ0ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4O -Dg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8P -Dw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDwAAEBESEhMT -FBQUFBUVFRUWFhYWFhYWFhcXFxcXFxcXGBgYGBgYGBgYGBgYGBgYGBkZGRkZGRkZ -GRkZGRkZGRkaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhsbGxsbGxsb -GxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwc -HBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHB0dHR0dHR0d -HR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0d -HR0dHR0dHR0AAQIDBAUGBwgICQkKCgsLDAwMDA0NDQ0ODg4ODw8PDxAQEBAQEBAQ -ERERERERERESEhISEhISEhMTExMTExMTFBQUFBQUFBQUFBQUFBQUFBUVFRUVFRUV -FRUVFRUVFRUWFhYWFhYWFhYWFhYWFhYWFxcXFxcXFxcXFxcXFxcXFxgYGBgYGBgY -GBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZ -GRkZGRkZGRkaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhsbGxsbGxsb -GxsbGxsbGxsbGxsbGxsbGxsbGxsbGxscAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAA -BgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAA -MAAAADgAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAAAAAAAAAAAA -AAAAAAEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAA -QAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAA -ABAAAAAYAAAAIAAAADAAAABAAAAAYAAAVPAAEEjwABAD7gAQPPAAECzwABAg8AAQ -DPAAEPzvABDk7wAQA+4AEDogAAA8ZmQ6JWQ+ACVjJWMlYyVjJWMlYyVjJWMlYyVj -AAAAAGludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrAAAAaW52YWxpZCBkaXN0 -YW5jZSBjb2RlAAAAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQg -ZGlzdGFuY2VzIHNldAAAAGludmFsaWQgbGl0ZXJhbC9sZW5ndGhzIHNldABpbnZh -bGlkIGJpdCBsZW5ndGggcmVwZWF0AAAAaW52YWxpZCBjb2RlIGxlbmd0aHMgc2V0 -AAAAAHRvbyBtYW55IGxlbmd0aCBvciBkaXN0YW5jZSBzeW1ib2xzAGludmFsaWQg -c3RvcmVkIGJsb2NrIGxlbmd0aHMAAAAAaW52YWxpZCBibG9jayB0eXBlAABpbmNv -cnJlY3QgbGVuZ3RoIGNoZWNrAABpbmNvcnJlY3QgZGF0YSBjaGVjawAAAABoZWFk -ZXIgY3JjIG1pc21hdGNoAHVua25vd24gaGVhZGVyIGZsYWdzIHNldAAAAABpbnZh -bGlkIHdpbmRvdyBzaXplAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAABpbmNv -cnJlY3QgaGVhZGVyIGNoZWNrAABpbmNvbXBhdGlibGUgdmVyc2lvbgAAAABidWZm -ZXIgZXJyb3IAAAAAaW5zdWZmaWNpZW50IG1lbW9yeQBkYXRhIGVycm9yAABzdHJl -YW0gZXJyb3IAAAAAZmlsZSBlcnJvcgAAc3RyZWFtIGVuZAAAbmVlZCBkaWN0aW9u -YXJ5AKjwAAAAAAAAAAAAAJ7xAAAIsAAAoPAAAAAAAAAAAAAA4vEAAACwAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAMbxAAAAAAAACvEAABLxAAAc8QAAKPEAADLxAAA88QAA -RPEAAEzxAABW8QAAAPEAAG7xAAB28QAAfvEAAIjxAACU8QAAqvEAALbxAABk8QAA -+PAAAAAAAABZAmZwdXRjALICc3ByaW50ZgBeAmZyZWUAAJECbWFsbG9jAAC8AnN0 -cmVycm9yAABPAmZmbHVzaAAAyABfZXJybm8AAFcCZm9wZW4AXQJmcmVhZABYAmZw -cmludGYA4QFfdnNucHJpbnRmAABmAmZ3cml0ZQAAZAJmdGVsbABiAmZzZWVrAEwC -ZmNsb3NlAABCAmNsZWFyZXJyAADXAF9mZG9wZW4ATVNWQ1JULmRsbAAADwFfaW5p -dHRlcm0AnQBfYWRqdXN0X2ZkaXYAAF0ARGlzYWJsZVRocmVhZExpYnJhcnlDYWxs -cwBLRVJORUwzMi5kbGwAAAAAAADZHd5CAAAAABb0AAABAAAAMwAAADMAAAAY8gAA -5PIAALDzAAAAEAAAEBMAAFASAAAwEwAAYBMAAHAcAACAGwAAgCUAALAkAACQFgAA -YBYAAKAaAABgGgAA4BkAANAYAABQEwAAEEUAAKBDAAAwNwAAAEMAAPBDAACgQAAA -ED0AAJA9AAAQNwAA4D4AAGA/AACQPwAAYDoAAIBCAADgQAAAcDcAAOBCAABAPQAA -8D0AAKBXAAAgRgAA0FQAAEBFAABAcAAAgG0AAHBVAABAVgAAEFUAANBtAAAQbwAA -EHAAAICQAACgkQAAkJEAAICRAAAg9AAAKPQAADH0AAA79AAASfQAAE/0AABX9AAA -ZPQAAHD0AAB79AAAifQAAJb0AACk9AAAsfQAAL70AADT9AAA4fQAAOz0AAD09AAA -/PQAAAL1AAAK9QAAEvUAABn1AAAg9QAAJ/UAADD1AAA39QAAPvUAAEX1AABO9QAA -VfUAAGH1AABo9QAAcfUAAHn1AACB9QAAjfUAAJz1AACt9QAAufUAAMT1AADS9QAA -3/UAAOz1AAAB9gAADfYAAB72AAAp9gAAMPYAAEH2AAAAAAEAAgADAAQABQAGAAcA -CAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8A -IAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgB6bGliMS5kbGwA -YWRsZXIzMgBjb21wcmVzcwBjb21wcmVzczIAY29tcHJlc3NCb3VuZABjcmMzMgBk -ZWZsYXRlAGRlZmxhdGVCb3VuZABkZWZsYXRlQ29weQBkZWZsYXRlRW5kAGRlZmxh -dGVJbml0Ml8AZGVmbGF0ZUluaXRfAGRlZmxhdGVQYXJhbXMAZGVmbGF0ZVByaW1l -AGRlZmxhdGVSZXNldABkZWZsYXRlU2V0RGljdGlvbmFyeQBnZXRfY3JjX3RhYmxl -AGd6Y2xlYXJlcnIAZ3pjbG9zZQBnemRvcGVuAGd6ZW9mAGd6ZXJyb3IAZ3pmbHVz -aABnemdldGMAZ3pnZXRzAGd6b3BlbgBnenByaW50ZgBnenB1dGMAZ3pwdXRzAGd6 -cmVhZABnenJld2luZABnenNlZWsAZ3pzZXRwYXJhbXMAZ3p0ZWxsAGd6dW5nZXRj -AGd6d3JpdGUAaW5mbGF0ZQBpbmZsYXRlQmFjawBpbmZsYXRlQmFja0VuZABpbmZs -YXRlQmFja0luaXRfAGluZmxhdGVDb3B5AGluZmxhdGVFbmQAaW5mbGF0ZUluaXQy -XwBpbmZsYXRlSW5pdF8AaW5mbGF0ZVJlc2V0AGluZmxhdGVTZXREaWN0aW9uYXJ5 -AGluZmxhdGVTeW5jAGluZmxhdGVTeW5jUG9pbnQAdW5jb21wcmVzcwB6RXJyb3IA -emxpYkNvbXBpbGVGbGFncwB6bGliVmVyc2lvbgAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AQAAAPDkABCg4wAQAQEAAB4BAAAPAAAAcOkAEBjkABAAAAAAHgAAAA8AAAAAAAAA -kOQAEAAAAAATAAAABwAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAQAAAAGAAAgAAAAAAAAAAA -AAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAJBAAASAAAAGAQAQA4AwAA -AAAAAAAAAAAAAAAAAAAAADgDNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4A -RgBPAAAAAAC9BO/+AAABAAIAAQAAAAMAAgABAAAAAwA/AAAAAAAAAAQAAQACAAAA -AAAAAAAAAAAAAAAAlgIAAAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAA -cgIAAAEAMAA0ADAAOQAwADQARQA0AAAAZAAeAAEARgBpAGwAZQBEAGUAcwBjAHIA -aQBwAHQAaQBvAG4AAAAAAHoAbABpAGIAIABkAGEAdABhACAAYwBvAG0AcAByAGUA -cwBzAGkAbwBuACAAbABpAGIAcgBhAHIAeQAAACwABgABAEYAaQBsAGUAVgBlAHIA -cwBpAG8AbgAAAAAAMQAuADIALgAzAAAANAAKAAEASQBuAHQAZQByAG4AYQBsAE4A -YQBtAGUAAAB6AGwAaQBiADEALgBkAGwAbAAAAHwALAABAEwAZQBnAGEAbABDAG8A -cAB5AHIAaQBnAGgAdAAAACgAQwApACAAMQA5ADkANQAtADIAMAAwADQAIABKAGUA -YQBuAC0AbABvAHUAcAAgAEcAYQBpAGwAbAB5ACAAJgAgAE0AYQByAGsAIABBAGQA -bABlAHIAAAA8AAoAAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBuAGEAbQBlAAAA -egBsAGkAYgAxAC4AZABsAGwAAAAqAAUAAQBQAHIAbwBkAHUAYwB0AE4AYQBtAGUA -AAAAAHoAbABpAGIAAAAAADAABgABAFAAcgBvAGQAdQBjAHQAVgBlAHIAcwBpAG8A -bgAAADEALgAyAC4AMwAAAIIANQABAEMAbwBtAG0AZQBuAHQAcwAAAEQATABMACAA -cwB1AHAAcABvAHIAdAAgAGIAeQAgAEEAbABlAHMAcwBhAG4AZAByAG8AIABJAGEA -YwBvAHAAZQB0AHQAaQAgACYAIABHAGkAbABsAGUAcwAgAFYAbwBsAGwAYQBuAHQA -AAAAAEQAAAABAFYAYQByAEYAaQBsAGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEA -bgBzAGwAYQB0AGkAbwBuAAAAAAAJBOQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAbAAAAGcyUTOkM84z -2DPqM/szDDQZNCs0PTRRNFs0bTR+NJI0nDSuNMA02TTnNPM0AzUUNR41LDVCNVM1 -YDVyNYM1mTWjNbE1wjXpNfk1BzYVNj821DbjNqE4/joHOzA7PTtKO1c72DwAIAAA -IAAAAMkyCDOZNHE3fjeLN5g3zzf6PI49sj3BPQAwAABIAAAA8zDFMekx+DECNV01 -ATYcNkc2TjZ0No42lza9NsQ26TZJN1A3mjf0Nw84aziNOMY5AToOOgA7Nju0PCE+ -Dj/5PwBAAABMAAAAvjA7McMxAzLJMjMzBDQYNCY0LzRONGA0kTSiNMo00zQvNY81 -njUDNhE2kzaaNio3ezcROAM6RzqYOss94T33PT4+3T4AUAAAQAAAAMwwzTKFM5A0 -lDSYNJw0oDSkNKg0wDTENMg0zDSrNbo1YzZxNic4/jgrOXM5tznMOUs+ez/MPwAA -AGAAAGgAAAA3MJEx1zEuMj4yxzTXNOs0ODURN6k4MTkBO2M7+Dz8PAA9BD0IPQw9 -ED0UPRg9HD0gPSQ9KD0sPTA9ND04PTw9QD1EPUg9TD1QPVQ9WD1cPWA9ZD1oPWw9 -cD10PXg9AAAAcAAAGAAAAFszYzN5M4czhjaWNqA2AAAAgAAAIAAAAPMy3DTiOec5 -3jqIO5s7ITwvPNQ84zwAAACQAAAsAAAAuzDLMIExrDHMMecx4Do9O0k7/z1XPuA+ -BD+nP8M/0z/yPwAAAKAAADgAAABAMKUwrTCzML4wyzDTMOEw5jDrMPAw+zAIMRIx -JzEzMTkxWzFtMckx5jHzMQAyAAAA0AAAHAAAAKAwrDC4MMQw0DDcMOgw9DAAMQwx -AOAAABwAAADYPdw94D3kPeg97D3wPfQ9+D38PQAAAQAUAAAAFDAYMCgwLDBAMAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -} -} \ No newline at end of file diff --git "a/src/Tests/Gui83/UILogToScript/\320\234\320\260\320\272\320\265\321\202\321\213/\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260_\320\222\320\275\320\265\321\210\320\275\321\217\321\217\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260.txt" "b/src/Tests/Gui83/UILogToScript/\320\234\320\260\320\272\320\265\321\202\321\213/\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260_\320\222\320\275\320\265\321\210\320\275\321\217\321\217\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260.txt" deleted file mode 100644 index 005941fa..00000000 --- "a/src/Tests/Gui83/UILogToScript/\320\234\320\260\320\272\320\265\321\202\321\213/\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260_\320\222\320\275\320\265\321\210\320\275\321\217\321\217\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260.txt" +++ /dev/null @@ -1,1591 +0,0 @@ -{1, -{#base64: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 -w45Qg4PJpHbjOMUh1utIYU25RFRUgEHMEg+7sp3rQ4dT7GidncKK5ku5SBGOchKK -F3URydclKYhAeiTR6kS286nThVZNrydrRKpHJ21GqzLOfOtMepnNVj5SJBmbeZHY -431EflT+mXfYpxZ/k9tTDhJ+/Ubya916SP0HatjSYfrvsnmCuoIpb+KtRFbVNUJU -gvvqtHTZwZrs4rmetOm2iXqthuG5vQezvMvP5dnN5aXhdG9FaRxYIymTo8YmPL5U -3kiZjRgaZOLfX2Dp3fg13CiS5OKQF1o3076luX+Id7q+sL6vPSr2bpLAxnux0pyX -0v2fRpUZHGeWdjBaokFjIwrrVa/i4Tnibp6yLsI6i3lb2MwDM+e6Q4c0apalSE/u -yufJuHRTOKn7rTUiMWtOtGt3dj73Isyqw7TfXNRiJmL73nbFs871kq2KsTGCqkll -W5eVDSewpnc27oqY+GhMrbpDM0nwDbFKV9ISIA1L49iy2GWsvfj1qApJGWGD8eUm -168lSLhVxMjLfakr7/vQGHv5wVyPc+fQqLRQeX8Fd0bjrGxMpJ5eQl6Ef6NMiWed -8NS6ISPtnXOh4d1U78KaCLvJz1Y49e8mGruLcdm5lwXSxmL06lUSZeYCF77bUuWl -zhzV6stkVLmDDZfZzVpX9YEldl8e1lzkCI+gZTFvk3Y8d/KRNq5to/24JdOu7B2J -Vhypihyc9sZkSdmr/lKDtcbLroQuXeoktVpCifP2kk+UC2K3eqvEPQu/Cqh9eSr4 -PWWeP1f2Bl+QWYKwjp2Q0E+CtEhxXLho+OBmjc1GfZrxa9q1a0/HaXFOlegZftbR -jY7i1HmgtZXMZEEl7RK1Vb+430+t6xFJVSwLQ7S5H0U4+zJfucX7vQo/5rWM99tT -K7PiM+RGiT9lFXfWSjtvNluRLrcXP3RuxXKZCWH5PQWrFEp7lq2edTJapcsRoBgg -Obkmf/ejtV+fnldSv3LH/3zsgwDbd9+Dlu7IDuxWOReauFJyt6W5QrDoeGDIywsb -Io537zmw6Z75fm52kX0NzsvDDgZf27NuaWI4S/qzvY+fzdHK1+b4RBge9dOY6fGd -OTXiXRhN8wr9uNODuJXJc0JDzfnuAXYXH2E9isItN6eRh5bUG+2trq4Vb9xWMJe6 -93nGmrTX4U2FL4tuslq2ZWNCSJh5j8vsFklcnZld0enNKa+vG1WfTzFmHbu7QX/L -N8PDMg8Nnisb6vPaBq0zHZJff+KklPW4h8U2FSZ3m5By3e1FbTirqQcnt2rdLLPY -JzRgWRnx0m5Ac3gn3qp3h9unaNtrR3MdPiSo2q/+wbzLb4Od4x0ln341iYN93wOK -BnIbPr8Jut45pJNv/+5np/fbYnflwXBu7KjsRo3Pg3jej1dSt39ymqQMKw0Mjnw6 -1vLhFinmvad9xZxg8dhsU/OTn8m01PltrFkzS/jW/OgIl5hOrV43ZZ8dMoGMmHyp -ijwwFkWWHTey4Z/EGZz5Wqdw9Xvs2Zlv5vPPO/c4OHWUqtt0zR7neaX7RrMn4Gt5 -b37aiddflzd3q2962+7N1dGW5TbaOtpx76Vi3qFG52ssTekvVFqG/L2aZZY41Oz6 -yVd98Yzc4y75iCdi+qZVNtvrH53V+fGw5fCVB/zDZ+s23818Fl+T9rR27+NaTv7x -ekO24OfRPusbHrQsecFUophwN0n/lM9s6GmFdWsTR1aJJ93QvZjsan3r7Ir3X870 -HaxJK38ylRpxp+GihmDSpZmwyymFfjLnQrGCF4hlG89PNO2PPa5GOLnJkS2Ou39X -fMMJz5iDlz6eWPf91XEW08PHHksXRp53PXbYluf+waU5Q4e6u5qiEuutj1jecDkq -KqYV/TKQO2ugMT0TX5p8043lxa1rvtPZH/bsu7taYNMdv9sCt+88XpkxfkjshsoH -pWsh23ZfL9IzSJ9aXX1Za/3E1X1zN69UJl8qrA5qLGAVf3dPP6Oy6PDz43nPX3Hl -8+Zq55ryOuecoG4ra1/hUSps4lhs9Y21JOEisbwnpqBCsi/yvt2ursoU1U8LvxFf -7k69iXt6QqDw7ud452Qb9Z4x5ZXejt2X2jVKagpWje5nN4/xq+hzbcccxWxsu1/8 -xavjdV9vqIqtC992C3GbtOHrhJkZvjShdbenAnr3Pnjq/iTjTkgg+/rnL/xkz945 -4K/ILyasd63ox1GxxtQlDcNyV4Li1+U8xt9mDzeuTVe+qysW93Qnh7Z7Yd5RpFHJ -QsMz+aMj15EdYwPkt8lHqdFHm15r9RU0xJvbhaqs0ns/yBe91Tb0jf6nDu4py/se -YwpTl02S06rtVhDkB1JtzA+Y+n178pU98aV+xn6f2QdiammNW2KlixTSksRq5OQP -pJfOGYszGeD38U3Gn840Gf5+QciWLJ2pZ0uUOnXv+OXvLUK7G7xuP8vkrTzA1s/6 -yClqV7p/85CkaNFkVvEOM+Fenaaqd0c8Iw727a1T4nkUauJdx817JSjX4wmF5cnq -zuJ0M0O/lK+zLfOnPrtZRGzvUpfgKZHbfA+rv+pazuhjSa5jVw+9ylmi6d5+QKF5 -T0Ki77JJbdnvzJHnT7klKOkdW51o+6nA0Mmaa4qNuHRzZu+N8YbSn6d7PxqtLT5u -fUHU/aOcP1PAmElZrZlSz6vpgwSXDe+2eeulX2yJfDL9kOQhGhbDGzjooF5n32+R -vcV6Xv/bcMrK7BPHgkTUR0VYDutPlevKXVo+skzm3LY9Bif62u+q2Oc8+7Tjnva2 -t027jC0icuY/ir901l5O6zpqhHuqPPLOPy7u8KpPqa2nLKdzDw9ud9SyJWplxOMi -l6n4DnFHP2Qv1LrhU6Hffw07G/1Q1HS10t2vWzYqr9g9EZPKn5SiULkHn9wptWey -dtMDk+y1zXOYB14Gbte/J+2SNJfXDHNIS0p+Kz3+ZbO3OPZre4TTO+emOMeeex+q -cHFbwwtH1D0Qo87G8uXlx3qJ7wku2+NXtE1TznulsrBV3Ki4j3nYcafAlyTMjrOS -Ctxy/vqL1fNFe6P5eZ/0B5/m63wuf7syU0Oc3+jg9d3SHY/dQpzCMXyBDdk/nwXV -XrC5Nr5iVCzJeO6OZtYG/l31uzd/Zn0xftyl21A21nXKYHhaKczSIHGpqpVsbteH -823386cfj3BuuHxSfIzH+bKZJ5vOBcvKKDnSq6TT59TWrv1pIWtdci51uGf2pEOA -gGq/SGgWae0L/hjTW8x6QxvKIg/h3/Ql7N5p/03QdGTH3Pg23RTaYdblrboUw8cn -XtyMUM9qaDtgoOH7SNZh3+7j+dXPPrftkGrz67+cyzEhtHRwU2bYIcE6z/ZboTx5 -JVWX7TERjzUvZv08KCN87i1M/znjJC19o91EMnS7AqrW+PWsOdNSYopjOTSWWzx0 -9iq36V6J3LVL1zfrmvzw3aE48urbI0v3hBv1OVnLgrlehLuVUM70YFnH8a5UNxol -mIpf+EIAfr2ff1igp7tHMPpVXDVFZQJBDb+RSvFVpPmF+OONKZ40Whj+9+8nEOQR -PhaEBWEH9NegcSzCB9ZinBXBw7YYZ4H9sBEQPnZQdP+v+EHYFuN49Hf5MGgcjTFh -EJbFOBMG4nxo/Nf3FtDv354AnNAv5LJbAHyIEHsQIsAGKez+AAFBcA8QPjYOiDsB -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} -} \ No newline at end of file diff --git "a/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index 69b30898..00000000 --- "a/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,373 +0,0 @@ -#Если Не ВебКлиент Тогда - -&НаКлиенте -Перем юТест; - -&НаКлиенте -Перем массивТестовыхПриложений; - -&НаКлиенте -Перем ЮнитТестированиеИмя; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - ЮнитТестированиеИмя = ЮнитТестирование.МетаданныеИмя(); - - СисИнфо = Новый СистемнаяИнформация; - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - Если СисИнфо.ВерсияПриложения < "8.3.0.0" Тогда - Возврат ВсеТесты; - КонецЕсли; - - ВсеТесты.Добавить("Тест_ГУИ_83"); - ВсеТесты.Добавить("Тест_ГУИ_83_ДваПриложения"); - - Возврат ВсеТесты; - -КонецФункции - -&НаКлиенте -Процедура ПередЗапускомТеста() Экспорт - ИмяПеременнойПользователь = "Пользователь12"; - ПользовательИмя = "ТестИмя12"; - ОбновитьПовторноИспользуемыеЗначения(); - - юТест.ВывестиСообщение("Перед запуском теста"); - массивТестовыхПриложений = Новый Массив; - - СоздатьТестовыеДанныеСервер(ЮнитТестированиеИмя); -КонецПроцедуры - -&НаКлиенте -Процедура ПослеЗапускаТеста() Экспорт - - юТест.ВывестиСообщение("После запуска теста"); - УдалитьТестовыеДанныеСервер(ЮнитТестированиеИмя); - - ЗавершитьВсеСеансыРаботыСТестовымиПриложениями(); -КонецПроцедуры - -&НаСервере -Процедура СоздатьТестовыеДанныеСервер(Знач ЮТестПуть) - - ЮТест = ВнешниеОбработки.Создать(ЮТестПуть); - - ИмяМакета = "СозданиеОдногоПользователяИБ"; - //ИмяМакета = "СозданиеОдногоПользователяИБ_УФ"; - - ОсновнойОбъект = Объект(); - МассивИменПользователей = МассивИменПользователейПоУмолчанию(); - Для каждого ИмяПользователя Из МассивИменПользователей Цикл - УдалитьПользователяИБ_ЕслиОнСуществует(ИмяПользователя); - КонецЦикла; - - КоллекцияПараметров = Новый Структура("ИмяПеременнойПользователь, ПользовательИмя", ИмяПеременнойПользователь, ПользовательИмя); - НовыйТабДок = ПолучитьМакетДанныхДоступа(ИмяМакета, КоллекцияПараметров); - - МассивМакетов = Новый Массив; - МассивМакетов.Добавить(НовыйТабДок); - - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(МассивМакетов); - - ТестовыеДанныеУФ.Очистить(); - - ТестовыеДанныеДляУФ = Новый ТаблицаЗначений; - Колонка = ТестовыеДанныеДляУФ.Колонки.Добавить("Ключ"); - Колонка = ТестовыеДанныеДляУФ.Колонки.Добавить("Значение"); - - Для каждого ключЗначение Из ТестовыеДанные Цикл - СписокВрем = Новый СписокЗначений; - Строка = ТестовыеДанныеДляУФ.Добавить(); - Если ТипЗнч(ключЗначение.Значение) = Тип("ПользовательИнформационнойБазы") Тогда - СписокВрем.Добавить(ключЗначение.Значение.Имя, ключЗначение.Ключ); - Строка.Ключ = "ПользовательИнформационнойБазы"; - Иначе - Строка.Ключ = ключЗначение.Ключ; - СписокВрем.Добавить(ключЗначение.Значение); - КонецЕсли; - Строка.Значение = СписокВрем; - КонецЦикла; - - ЗначениеВДанныеФормы(ТестовыеДанныеДляУФ, ТестовыеДанныеУФ); - -КонецПроцедуры - -&НаСервере -Процедура УдалитьТестовыеДанныеСервер(Знач ЮТестПуть) - - Если ТестовыеДанныеУФ.Количество() = 0 Тогда - Возврат; - КонецЕсли; - - ЮТест = ВнешниеОбработки.Создать(ЮТестПуть); - - ТестовыеДанные = Новый Структура; - Для каждого Строка Из ТестовыеДанныеУФ Цикл - Если Строка.Ключ = "ПользовательИнформационнойБазы" Тогда - ЭлементСпискаЗначений = Строка.Значение[0]; - лПользователь = ПользователиИнформационнойБазы.НайтиПоИмени(СокрЛП(ЭлементСпискаЗначений.Значение)); - ТестовыеДанные.Вставить(ЭлементСпискаЗначений.Представление, лПользователь); - Иначе - ТестовыеДанные.Вставить(Строка.Ключ, Строка.Значение[0].Значение); - КонецЕсли; - КонецЦикла; - - юТест.УдалитьСозданныеДанные(ТестовыеДанные); - - ТестовыеДанныеУФ.Очистить(); -КонецПроцедуры - -Функция МассивИменПользователейПоУмолчанию() - Рез = Новый Массив(); - Рез.Добавить(ПользовательИмя); - Возврат Рез; -КонецФункции - -&НаСервере -Функция Объект() - Возврат РеквизитФормыВЗначение("Объект"); -КонецФункции - -Функция ПолучитьМакетДанныхДоступа(ИмяМакета, КоллекцияПараметров) Экспорт - - Макет = Объект().ПолучитьМакет(ИмяМакета); - ЗаполнитьЗначенияСвойств(Макет.Параметры, КоллекцияПараметров); - - НовыйТабДок = Новый ТабличныйДокумент; - НовыйТабДок.Вывести(Макет); - - Возврат НовыйТабДок; -КонецФункции - -Процедура УдалитьПользователяИБ_ЕслиОнСуществует(лИмяПользователя) Экспорт - - лПользователь = ПользователиИнформационнойБазы.НайтиПоИмени(лИмяПользователя); - Если лПользователь <> Неопределено Тогда - лПользователь.Удалить(); - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ГУИ_83() Экспорт - имяПользователя = ПользовательИмя; - Пароль = ""; - Порт = 1577; - ТаймаутОжиданияПриложенияВСекундах = 60; - - тестовоеПриложение = ЗапуститьТестовоеПриложение(имяПользователя, Пароль, Порт, ТаймаутОжиданияПриложенияВСекундах); - - ТестовыйСценарий_25_09_2013(тестовоеПриложение); - -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ГУИ_83_ДваПриложения() Экспорт - имяПользователя = ПользовательИмя; - Пароль = ""; - Порт = 1577; - ТаймаутОжиданияПриложенияВСекундах = 20; - - Порт2 = Порт + 1; - - тестовоеПриложение = ЗапуститьТестовоеПриложение(имяПользователя, Пароль, Порт, ТаймаутОжиданияПриложенияВСекундах); - тестовоеПриложение2 = ЗапуститьТестовоеПриложение(имяПользователя, Пароль, Порт2, ТаймаутОжиданияПриложенияВСекундах); - - ТестовыйСценарий_25_09_2013(тестовоеПриложение); - ТестовыйСценарий_25_09_2013(тестовоеПриложение2); - -КонецПроцедуры - -&НаКлиенте -Функция ЗапуститьТестовоеПриложение(ИмяПользователя, Пароль, Порт, ТаймаутОжиданияПриложенияВСекундах) - Перем тестовоеПриложение; - строкаЗапуска = ПолучитьСтрокуЗапуска(ИмяПользователя, Пароль, Порт); - - ЗапуститьПриложение(строкаЗапуска); - тестовоеПриложение = Неопределено; - Попытка - Выполнить("тестовоеПриложение = Новый ТестируемоеПриложение(, XMLСтрока(Порт));"); - Исключение - тестовоеПриложение = Неопределено; - КонецПопытки; - Если тестовоеПриложение = Неопределено Тогда - ВызватьИсключение "Не удалось создать объект ТестируемоеПриложение."+Символы.ПС+ - "Возможно, что 1С:Предприятие 8 не было запущено в режиме Менеджера тестирования (ключ командной строки /TESTMANAGER)"+Символы.ПС+ - "При запуске Предприятия через Конфигуратор можно включить этот режим в параметрах конфигуратора Сервис -> Параметры -> Запуск 1С:Предприятия -> Дополнительные -> Автоматизированное тестирование -> пункт ""Запускать как менеджер тестирования""."; - КонецЕсли; - - Подключен = Ложь; - ВремяОкончанияОжидания = ТекущаяДата() + ТаймаутОжиданияПриложенияВСекундах; //60; - ОписаниеОшибкиСоединения = ""; - Пока Не ТекущаяДата() >= ВремяОкончанияОжидания Цикл - Попытка - тестовоеПриложение.УстановитьСоединение(); - Подключен = Истина; - Прервать; - Исключение - ОписаниеОшибкиСоединения = ОписаниеОшибки(); - КонецПопытки; - КонецЦикла; - - сообщениеОшибки = "Не смогли установить соединение с тестовым приложением для пользователя "+ИмяПользователя+" !" + Символы.ПС + ОписаниеОшибкиСоединения; - Если Не Подключен Тогда - тестовоеПриложение = Неопределено; - ВызватьИсключение сообщениеОшибки; - КонецЕсли; - - массивТестовыхПриложений.Добавить(тестовоеПриложение); - - Возврат тестовоеПриложение; -КонецФункции - -&НаКлиенте -Процедура ЗавершитьВсеСеансыРаботыСТестовымиПриложениями() - Если массивТестовыхПриложений.Количество() <> 0 Тогда - Для Каждого Подопытный Из массивТестовыхПриложений Цикл - Подопытный.РазорватьСоединение(); - КонецЦикла; - - ЗавершитьВсеТестовыеПриложенияПринудительно(); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ЗавершитьВсеТестовыеПриложенияПринудительно() - - юТест.ПроверитьЗаполненность(массивТестовыхПриложений.Количество(), "массивТестовыхПриложений.Количество()"); - - Если ЭтоLinux = Ложь Тогда - - Scr = Новый COMОбъект("MSScriptControl.ScriptControl"); - Scr.Language = "vbscript"; - Scr.AddCode(" - |Option Explicit - | - |Dim objWMIService, objProcess, colProcess - | - |Set objWMIService = GetObject(""winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2"") - | - |Set colProcess = objWMIService.ExecQuery(""Select * from Win32_Process Where (CommandLine Like '%/TESTCLIENT%' And ExecutablePath Like '%1cv8c%')"") - | - |For Each objProcess in colProcess - | objProcess.Terminate() - |Next - |"); - Иначе - СтрокаЗапуска = "kill -9 `ps aux | grep -ie TESTCLIENT | grep -ie 1cv8c | awk '{print $2}'`"; - ЗапуститьПриложение(СтрокаЗапуска); - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Функция ПолучитьСтрокуЗапуска(ИмяПользователя = "", Пароль = "", Порт = "") - //Если Не ЗначениеЗаполнено(ИмяПользователя) Тогда - // ИмяПользователя = "Администратор"; - //КонецЕсли; - - ЭтоLinux = Ложь; - СисИнфо = Новый СистемнаяИнформация; - ВерсияПриложения = СисИнфо.ВерсияПриложения; - - Если Найти(Строка(СисИнфо.ТипПлатформы), "Linux")>0 Тогда - ЭтоLinux = Истина; - КонецЕсли; - - СтрокаЗапуска1с = КаталогПрограммы() + "1cv8c"; - Если ЭтоLinux = Ложь Тогда - СтрокаЗапуска1с = СтрокаЗапуска1с + ".exe"; - КонецЕсли; - - - - Результат = СтрокаЗапуска1с + " ENTERPRISE " + - "/IBConnectionString""" + СтрЗаменить(СтрокаСоединенияИнформационнойБазы(), """", """""") + """" + - " /N""" + ИмяПользователя + """" + ?(ПустаяСтрока(Пароль), ""," /P""" + Пароль + """") + - " /TESTCLIENT -TPort" + XMLСтрока(Порт); - - Возврат Результат; -КонецФункции - -&НаКлиенте -Процедура ТестовыйСценарий_25_09_2013(ТестовоеПриложение) - - ОкноПриложенияОсновноеВыполнитьКоманду(ТестовоеПриложение); - ОкноПриложенияПоказатьГУИДЗакрыть(ТестовоеПриложение); - ОкноПриложенияОсновноеВыполнитьКоманду1(ТестовоеПриложение); - ОкноПриложенияПоказатьГУИДЗакрыть1(ТестовоеПриложение); - ОкноПриложенияОсновноеФормаПростойСправочникАктивизировать(ТестовоеПриложение); - -КонецПроцедуры - -&НаКлиенте -Процедура ОкноПриложенияОсновноеВыполнитьКоманду(ТестовоеПриложение) - - ОкноПриложенияОсновное = Неопределено; - КлиентсткиеОкнаТестируемогоПриложения = ТестовоеПриложение.ПолучитьПодчиненныеОбъекты(); - Для Каждого ТестируемоеОкно Из КлиентсткиеОкнаТестируемогоПриложения Цикл - Если ТестируемоеОкно.Основное Тогда - ОкноПриложенияОсновное = ТестируемоеОкно; - Прервать; - КонецЕсли; - КонецЦикла; - ОкноПриложенияОсновное.ВыполнитьКоманду("e1cib/command/Обработка.xddGuidShow.Команда.Открыть"); - -КонецПроцедуры - -&НаКлиенте -Процедура ОкноПриложенияПоказатьГУИДЗакрыть(ТестовоеПриложение) - - ОкноПриложенияПоказатьГУИД = ТестовоеПриложение.НайтиОбъект(Тип("ТестируемоеОкноКлиентскогоПриложения"), "Показать ГУИД", , 30); - ОкноПриложенияПоказатьГУИД.Закрыть(); - -КонецПроцедуры - -&НаКлиенте -Процедура ОкноПриложенияОсновноеВыполнитьКоманду1(ТестовоеПриложение) - - - ОкноПриложенияОсновное = Неопределено; - КлиентсткиеОкнаТестируемогоПриложения = ТестовоеПриложение.ПолучитьПодчиненныеОбъекты(); - Для Каждого ТестируемоеОкно Из КлиентсткиеОкнаТестируемогоПриложения Цикл - Если ТестируемоеОкно.Основное Тогда - ОкноПриложенияОсновное = ТестируемоеОкно; - Прервать; - КонецЕсли; - КонецЦикла; - ОкноПриложенияОсновное.ВыполнитьКоманду("e1cib/command/Справочник.ПростойСправочник.Команда.ОткрытьСписок"); - - ОкноПриложенияОсновное.ВыполнитьКоманду("e1cib/command/Обработка.xddGuidShow.Команда.Открыть"); - -КонецПроцедуры - -&НаКлиенте -Процедура ОкноПриложенияПоказатьГУИДЗакрыть1(ТестовоеПриложение) - - ОкноПриложенияПоказатьГУИД = ТестовоеПриложение.НайтиОбъект(Тип("ТестируемоеОкноКлиентскогоПриложения"), "Показать ГУИД", , 30); - ОкноПриложенияПоказатьГУИД.Закрыть(); - -КонецПроцедуры - -&НаКлиенте -Процедура ОкноПриложенияОсновноеФормаПростойСправочникАктивизировать(ТестовоеПриложение) - - - ОкноПриложенияОсновное = Неопределено; - КлиентсткиеОкнаТестируемогоПриложения = ТестовоеПриложение.ПолучитьПодчиненныеОбъекты(); - Для Каждого ТестируемоеОкно Из КлиентсткиеОкнаТестируемогоПриложения Цикл - Если ТестируемоеОкно.Основное Тогда - ОкноПриложенияОсновное = ТестируемоеОкно; - Прервать; - КонецЕсли; - КонецЦикла; - ОкноПриложенияОсновноеФормаПростойСправочник = ОкноПриложенияОсновное.НайтиОбъект(Тип("ТестируемаяФорма"), "Простой справочник"); - ОкноПриложенияОсновноеФормаПростойСправочник.Активизировать(); - -КонецПроцедуры - -#КонецЕсли diff --git "a/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/renames.txt" "b/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/renames.txt" deleted file mode 100644 index ba491f7b..00000000 --- "a/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/renames.txt" +++ /dev/null @@ -1,15 +0,0 @@ -1b3a3d0f-5dc6-47e8-bad6-38c097bc00d4-->und\1b3a3d0f-5dc6-47e8-bad6-38c097bc00d4 -1b3a3d0f-5dc6-47e8-bad6-38c097bc00d4.0-->D:\work\repository\repo\git\xUnitFor1C_pumbaEO\src\Tests\Gui83\юнитТест_UI_83\Макеты\Макет.txt -1b3a3d0f-5dc6-47e8-bad6-38c097bc00d4.0-->und\1b3a3d0f-5dc6-47e8-bad6-38c097bc00d4.0 -4e93fd08-5eda-44dd-92ef-b84867283b1e-->und\4e93fd08-5eda-44dd-92ef-b84867283b1e -8401ee62-68b8-43ea-8738-0c08cbc8c901-->und\8401ee62-68b8-43ea-8738-0c08cbc8c901 -8401ee62-68b8-43ea-8738-0c08cbc8c901.0-->D:\work\repository\repo\git\xUnitFor1C_pumbaEO\src\Tests\Gui83\юнитТест_UI_83\Form\Форма\Форма.txt -8401ee62-68b8-43ea-8738-0c08cbc8c901.0-->und\8401ee62-68b8-43ea-8738-0c08cbc8c901.0 -8401ee62-68b8-43ea-8738-0c08cbc8c901.0-->und\8401ee62-68b8-43ea-8738-0c08cbc8c901.0 -94428d21-9dd3-40d7-84be-7cee6ba1b8eb-->und\94428d21-9dd3-40d7-84be-7cee6ba1b8eb -94428d21-9dd3-40d7-84be-7cee6ba1b8eb.0-->D:\work\repository\repo\git\xUnitFor1C_pumbaEO\src\Tests\Gui83\юнитТест_UI_83\Макеты\СозданиеОдногоПользователяИБ.mxl -94428d21-9dd3-40d7-84be-7cee6ba1b8eb.0-->und\94428d21-9dd3-40d7-84be-7cee6ba1b8eb.0 -copyinfo-->und\copyinfo -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/1b3a3d0f-5dc6-47e8-bad6-38c097bc00d4" "b/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/1b3a3d0f-5dc6-47e8-bad6-38c097bc00d4" deleted file mode 100644 index 7eda6574..00000000 --- "a/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/1b3a3d0f-5dc6-47e8-bad6-38c097bc00d4" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,4, -{0, -{0,0,1b3a3d0f-5dc6-47e8-bad6-38c097bc00d4},"Макет", -{1,"ru","Макет"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/1b3a3d0f-5dc6-47e8-bad6-38c097bc00d4.0" "b/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/1b3a3d0f-5dc6-47e8-bad6-38c097bc00d4.0" deleted file mode 100644 index 9f800b01..00000000 --- "a/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/1b3a3d0f-5dc6-47e8-bad6-38c097bc00d4.0" +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - -
- - -
-
\ No newline at end of file diff --git "a/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/4e93fd08-5eda-44dd-92ef-b84867283b1e" "b/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/4e93fd08-5eda-44dd-92ef-b84867283b1e" deleted file mode 100644 index 6cec5006..00000000 --- "a/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/4e93fd08-5eda-44dd-92ef-b84867283b1e" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{4e93fd08-5eda-44dd-92ef-b84867283b1e},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,d4e55e33-fb7f-484e-bcf7-2a6d67753130,1112057b-82cb-47fc-b1bf-ac4d51be8b0b, -{0, -{0, -{0,0,84c18118-7744-4171-b86f-e605494b2083},"юнитТест_UI_83", -{1,"ru","Юнит-тест UI 8.3"},"Автор - Артур Аюханов aka artbear 2013"} -},8401ee62-68b8-43ea-8738-0c08cbc8c901,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,2,1b3a3d0f-5dc6-47e8-bad6-38c097bc00d4,94428d21-9dd3-40d7-84be-7cee6ba1b8eb}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,8401ee62-68b8-43ea-8738-0c08cbc8c901}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/8401ee62-68b8-43ea-8738-0c08cbc8c901" "b/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/8401ee62-68b8-43ea-8738-0c08cbc8c901" deleted file mode 100644 index 2b84c88c..00000000 --- "a/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/8401ee62-68b8-43ea-8738-0c08cbc8c901" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,8401ee62-68b8-43ea-8738-0c08cbc8c901},"Форма", -{1,"ru","Форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/8401ee62-68b8-43ea-8738-0c08cbc8c901.0" "b/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/8401ee62-68b8-43ea-8738-0c08cbc8c901.0" deleted file mode 100644 index 9225af63..00000000 --- "a/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/8401ee62-68b8-43ea-8738-0c08cbc8c901.0" +++ /dev/null @@ -1,556 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"#Если Не ВебКлиент Тогда - -&НаКлиенте -Перем юТест; - -&НаКлиенте -Перем массивТестовыхПриложений; - -&НаКлиенте -Перем ЮнитТестированиеИмя; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - ЮнитТестированиеИмя = ЮнитТестирование.МетаданныеИмя(); - - СисИнфо = Новый СистемнаяИнформация; - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - Если СисИнфо.ВерсияПриложения < ""8.3.0.0"" Тогда - Возврат ВсеТесты; - КонецЕсли; - - ВсеТесты.Добавить(""Тест_ГУИ_83""); - ВсеТесты.Добавить(""Тест_ГУИ_83_ДваПриложения""); - - Возврат ВсеТесты; - -КонецФункции - -&НаКлиенте -Процедура ПередЗапускомТеста() Экспорт - ИмяПеременнойПользователь = ""Пользователь12""; - ПользовательИмя = ""ТестИмя12""; - ОбновитьПовторноИспользуемыеЗначения(); - - юТест.ВывестиСообщение(""Перед запуском теста""); - массивТестовыхПриложений = Новый Массив; - - СоздатьТестовыеДанныеСервер(ЮнитТестированиеИмя); -КонецПроцедуры - -&НаКлиенте -Процедура ПослеЗапускаТеста() Экспорт - - юТест.ВывестиСообщение(""После запуска теста""); - УдалитьТестовыеДанныеСервер(ЮнитТестированиеИмя); - - ЗавершитьВсеСеансыРаботыСТестовымиПриложениями(); -КонецПроцедуры - -&НаСервере -Процедура СоздатьТестовыеДанныеСервер(Знач ЮТестПуть) - - ЮТест = ВнешниеОбработки.Создать(ЮТестПуть); - - ИмяМакета = ""СозданиеОдногоПользователяИБ""; - //ИмяМакета = ""СозданиеОдногоПользователяИБ_УФ""; - - ОсновнойОбъект = Объект(); - МассивИменПользователей = МассивИменПользователейПоУмолчанию(); - Для каждого ИмяПользователя Из МассивИменПользователей Цикл - УдалитьПользователяИБ_ЕслиОнСуществует(ИмяПользователя); - КонецЦикла; - - КоллекцияПараметров = Новый Структура(""ИмяПеременнойПользователь, ПользовательИмя"", ИмяПеременнойПользователь, ПользовательИмя); - НовыйТабДок = ПолучитьМакетДанныхДоступа(ИмяМакета, КоллекцияПараметров); - - МассивМакетов = Новый Массив; - МассивМакетов.Добавить(НовыйТабДок); - - ТестовыеДанные = ЮТест.СоздатьДанныеПоТабличномуДокументу(МассивМакетов); - - ТестовыеДанныеУФ.Очистить(); - - ТестовыеДанныеДляУФ = Новый ТаблицаЗначений; - Колонка = ТестовыеДанныеДляУФ.Колонки.Добавить(""Ключ""); - Колонка = ТестовыеДанныеДляУФ.Колонки.Добавить(""Значение""); - - Для каждого ключЗначение Из ТестовыеДанные Цикл - СписокВрем = Новый СписокЗначений; - Строка = ТестовыеДанныеДляУФ.Добавить(); - Если ТипЗнч(ключЗначение.Значение) = Тип(""ПользовательИнформационнойБазы"") Тогда - СписокВрем.Добавить(ключЗначение.Значение.Имя, ключЗначение.Ключ); - Строка.Ключ = ""ПользовательИнформационнойБазы""; - Иначе - Строка.Ключ = ключЗначение.Ключ; - СписокВрем.Добавить(ключЗначение.Значение); - КонецЕсли; - Строка.Значение = СписокВрем; - КонецЦикла; - - ЗначениеВДанныеФормы(ТестовыеДанныеДляУФ, ТестовыеДанныеУФ); - -КонецПроцедуры - -&НаСервере -Процедура УдалитьТестовыеДанныеСервер(Знач ЮТестПуть) - - Если ТестовыеДанныеУФ.Количество() = 0 Тогда - Возврат; - КонецЕсли; - - ЮТест = ВнешниеОбработки.Создать(ЮТестПуть); - - ТестовыеДанные = Новый Структура; - Для каждого Строка Из ТестовыеДанныеУФ Цикл - Если Строка.Ключ = ""ПользовательИнформационнойБазы"" Тогда - ЭлементСпискаЗначений = Строка.Значение[0]; - лПользователь = ПользователиИнформационнойБазы.НайтиПоИмени(СокрЛП(ЭлементСпискаЗначений.Значение)); - ТестовыеДанные.Вставить(ЭлементСпискаЗначений.Представление, лПользователь); - Иначе - ТестовыеДанные.Вставить(Строка.Ключ, Строка.Значение[0].Значение); - КонецЕсли; - КонецЦикла; - - юТест.УдалитьСозданныеДанные(ТестовыеДанные); - - ТестовыеДанныеУФ.Очистить(); -КонецПроцедуры - -Функция МассивИменПользователейПоУмолчанию() - Рез = Новый Массив(); - Рез.Добавить(ПользовательИмя); - Возврат Рез; -КонецФункции - -&НаСервере -Функция Объект() - Возврат РеквизитФормыВЗначение(""Объект""); -КонецФункции - -Функция ПолучитьМакетДанныхДоступа(ИмяМакета, КоллекцияПараметров) Экспорт - - Макет = Объект().ПолучитьМакет(ИмяМакета); - ЗаполнитьЗначенияСвойств(Макет.Параметры, КоллекцияПараметров); - - НовыйТабДок = Новый ТабличныйДокумент; - НовыйТабДок.Вывести(Макет); - - Возврат НовыйТабДок; -КонецФункции - -Процедура УдалитьПользователяИБ_ЕслиОнСуществует(лИмяПользователя) Экспорт - - лПользователь = ПользователиИнформационнойБазы.НайтиПоИмени(лИмяПользователя); - Если лПользователь <> Неопределено Тогда - лПользователь.Удалить(); - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ГУИ_83() Экспорт - имяПользователя = ПользовательИмя; - Пароль = """"; - Порт = 1577; - ТаймаутОжиданияПриложенияВСекундах = 60; - - тестовоеПриложение = ЗапуститьТестовоеПриложение(имяПользователя, Пароль, Порт, ТаймаутОжиданияПриложенияВСекундах); - - ТестовыйСценарий_25_09_2013(тестовоеПриложение); - -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ГУИ_83_ДваПриложения() Экспорт - имяПользователя = ПользовательИмя; - Пароль = """"; - Порт = 1577; - ТаймаутОжиданияПриложенияВСекундах = 20; - - Порт2 = Порт + 1; - - тестовоеПриложение = ЗапуститьТестовоеПриложение(имяПользователя, Пароль, Порт, ТаймаутОжиданияПриложенияВСекундах); - тестовоеПриложение2 = ЗапуститьТестовоеПриложение(имяПользователя, Пароль, Порт2, ТаймаутОжиданияПриложенияВСекундах); - - ТестовыйСценарий_25_09_2013(тестовоеПриложение); - ТестовыйСценарий_25_09_2013(тестовоеПриложение2); - -КонецПроцедуры - -&НаКлиенте -Функция ЗапуститьТестовоеПриложение(ИмяПользователя, Пароль, Порт, ТаймаутОжиданияПриложенияВСекундах) - Перем тестовоеПриложение; - строкаЗапуска = ПолучитьСтрокуЗапуска(ИмяПользователя, Пароль, Порт); - - ЗапуститьПриложение(строкаЗапуска); - тестовоеПриложение = Неопределено; - Попытка - Выполнить(""тестовоеПриложение = Новый ТестируемоеПриложение(, XMLСтрока(Порт));""); - Исключение - тестовоеПриложение = Неопределено; - КонецПопытки; - Если тестовоеПриложение = Неопределено Тогда - ВызватьИсключение ""Не удалось создать объект ТестируемоеПриложение.""+Символы.ПС+ - ""Возможно, что 1С:Предприятие 8 не было запущено в режиме Менеджера тестирования (ключ командной строки /TESTMANAGER)""+Символы.ПС+ - ""При запуске Предприятия через Конфигуратор можно включить этот режим в параметрах конфигуратора Сервис -> Параметры -> Запуск 1С:Предприятия -> Дополнительные -> Автоматизированное тестирование -> пункт """"Запускать как менеджер тестирования"""".""; - КонецЕсли; - - Подключен = Ложь; - ВремяОкончанияОжидания = ТекущаяДата() + ТаймаутОжиданияПриложенияВСекундах; //60; - ОписаниеОшибкиСоединения = """"; - Пока Не ТекущаяДата() >= ВремяОкончанияОжидания Цикл - Попытка - тестовоеПриложение.УстановитьСоединение(); - Подключен = Истина; - Прервать; - Исключение - ОписаниеОшибкиСоединения = ОписаниеОшибки(); - КонецПопытки; - КонецЦикла; - - сообщениеОшибки = ""Не смогли установить соединение с тестовым приложением для пользователя ""+ИмяПользователя+"" !"" + Символы.ПС + ОписаниеОшибкиСоединения; - Если Не Подключен Тогда - тестовоеПриложение = Неопределено; - ВызватьИсключение сообщениеОшибки; - КонецЕсли; - - массивТестовыхПриложений.Добавить(тестовоеПриложение); - - Возврат тестовоеПриложение; -КонецФункции - -&НаКлиенте -Процедура ЗавершитьВсеСеансыРаботыСТестовымиПриложениями() - Если массивТестовыхПриложений.Количество() <> 0 Тогда - Для Каждого Подопытный Из массивТестовыхПриложений Цикл - Подопытный.РазорватьСоединение(); - КонецЦикла; - - ЗавершитьВсеТестовыеПриложенияПринудительно(); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ЗавершитьВсеТестовыеПриложенияПринудительно() - - юТест.ПроверитьЗаполненность(массивТестовыхПриложений.Количество(), ""массивТестовыхПриложений.Количество()""); - - Если ЭтоLinux = Ложь Тогда - - Scr = Новый COMОбъект(""MSScriptControl.ScriptControl""); - Scr.Language = ""vbscript""; - Scr.AddCode("" - |Option Explicit - | - |Dim objWMIService, objProcess, colProcess - | - |Set objWMIService = GetObject(""""winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2"""") - | - |Set colProcess = objWMIService.ExecQuery(""""Select * from Win32_Process Where (CommandLine Like '%/TESTCLIENT%' And ExecutablePath Like '%1cv8c%')"""") - | - |For Each objProcess in colProcess - | objProcess.Terminate() - |Next - |""); - Иначе - СтрокаЗапуска = ""kill -9 `ps aux | grep -ie TESTCLIENT | grep -ie 1cv8c | awk '{print $2}'`""; - ЗапуститьПриложение(СтрокаЗапуска); - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Функция ПолучитьСтрокуЗапуска(ИмяПользователя = """", Пароль = """", Порт = """") - //Если Не ЗначениеЗаполнено(ИмяПользователя) Тогда - // ИмяПользователя = ""Администратор""; - //КонецЕсли; - - ЭтоLinux = Ложь; - СисИнфо = Новый СистемнаяИнформация; - ВерсияПриложения = СисИнфо.ВерсияПриложения; - - Если Найти(Строка(СисИнфо.ТипПлатформы), ""Linux"")>0 Тогда - ЭтоLinux = Истина; - КонецЕсли; - - СтрокаЗапуска1с = КаталогПрограммы() + ""1cv8c""; - Если ЭтоLinux = Ложь Тогда - СтрокаЗапуска1с = СтрокаЗапуска1с + "".exe""; - КонецЕсли; - - - - Результат = СтрокаЗапуска1с + "" ENTERPRISE "" + - ""/IBConnectionString"""""" + СтрЗаменить(СтрокаСоединенияИнформационнойБазы(), """""""", """""""""""") + """""""" + - "" /N"""""" + ИмяПользователя + """""""" + ?(ПустаяСтрока(Пароль), """","" /P"""""" + Пароль + """""""") + - "" /TESTCLIENT -TPort"" + XMLСтрока(Порт); - - Возврат Результат; -КонецФункции - -&НаКлиенте -Процедура ТестовыйСценарий_25_09_2013(ТестовоеПриложение) - - ОкноПриложенияОсновноеВыполнитьКоманду(ТестовоеПриложение); - ОкноПриложенияПоказатьГУИДЗакрыть(ТестовоеПриложение); - ОкноПриложенияОсновноеВыполнитьКоманду1(ТестовоеПриложение); - ОкноПриложенияПоказатьГУИДЗакрыть1(ТестовоеПриложение); - ОкноПриложенияОсновноеФормаПростойСправочникАктивизировать(ТестовоеПриложение); - -КонецПроцедуры - -&НаКлиенте -Процедура ОкноПриложенияОсновноеВыполнитьКоманду(ТестовоеПриложение) - - ОкноПриложенияОсновное = Неопределено; - КлиентсткиеОкнаТестируемогоПриложения = ТестовоеПриложение.ПолучитьПодчиненныеОбъекты(); - Для Каждого ТестируемоеОкно Из КлиентсткиеОкнаТестируемогоПриложения Цикл - Если ТестируемоеОкно.Основное Тогда - ОкноПриложенияОсновное = ТестируемоеОкно; - Прервать; - КонецЕсли; - КонецЦикла; - ОкноПриложенияОсновное.ВыполнитьКоманду(""e1cib/command/Обработка.xddGuidShow.Команда.Открыть""); - -КонецПроцедуры - -&НаКлиенте -Процедура ОкноПриложенияПоказатьГУИДЗакрыть(ТестовоеПриложение) - - ОкноПриложенияПоказатьГУИД = ТестовоеПриложение.НайтиОбъект(Тип(""ТестируемоеОкноКлиентскогоПриложения""), ""Показать ГУИД"", , 30); - ОкноПриложенияПоказатьГУИД.Закрыть(); - -КонецПроцедуры - -&НаКлиенте -Процедура ОкноПриложенияОсновноеВыполнитьКоманду1(ТестовоеПриложение) - - - ОкноПриложенияОсновное = Неопределено; - КлиентсткиеОкнаТестируемогоПриложения = ТестовоеПриложение.ПолучитьПодчиненныеОбъекты(); - Для Каждого ТестируемоеОкно Из КлиентсткиеОкнаТестируемогоПриложения Цикл - Если ТестируемоеОкно.Основное Тогда - ОкноПриложенияОсновное = ТестируемоеОкно; - Прервать; - КонецЕсли; - КонецЦикла; - ОкноПриложенияОсновное.ВыполнитьКоманду(""e1cib/command/Справочник.ПростойСправочник.Команда.ОткрытьСписок""); - - ОкноПриложенияОсновное.ВыполнитьКоманду(""e1cib/command/Обработка.xddGuidShow.Команда.Открыть""); - -КонецПроцедуры - -&НаКлиенте -Процедура ОкноПриложенияПоказатьГУИДЗакрыть1(ТестовоеПриложение) - - ОкноПриложенияПоказатьГУИД = ТестовоеПриложение.НайтиОбъект(Тип(""ТестируемоеОкноКлиентскогоПриложения""), ""Показать ГУИД"", , 30); - ОкноПриложенияПоказатьГУИД.Закрыть(); - -КонецПроцедуры - -&НаКлиенте -Процедура ОкноПриложенияОсновноеФормаПростойСправочникАктивизировать(ТестовоеПриложение) - - - ОкноПриложенияОсновное = Неопределено; - КлиентсткиеОкнаТестируемогоПриложения = ТестовоеПриложение.ПолучитьПодчиненныеОбъекты(); - Для Каждого ТестируемоеОкно Из КлиентсткиеОкнаТестируемогоПриложения Цикл - Если ТестируемоеОкно.Основное Тогда - ОкноПриложенияОсновное = ТестируемоеОкно; - Прервать; - КонецЕсли; - КонецЦикла; - ОкноПриложенияОсновноеФормаПростойСправочник = ОкноПриложенияОсновное.НайтиОбъект(Тип(""ТестируемаяФорма""), ""Простой справочник""); - ОкноПриложенияОсновноеФормаПростойСправочник.Активизировать(); - -КонецПроцедуры - -#КонецЕсли -", -{4,5, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",d4e55e33-fb7f-484e-bcf7-2a6d67753130} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},1,0,0,0, -{0,0}, -{0,0} -}, -{9, -{2},0,"ИмяПеременнойПользователь", -{1,1, -{"ru","Имя переменной пользователь"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{3},0,"ПользовательИмя", -{1,1, -{"ru","Пользователь имя"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{4},0,"ТестовыеДанныеУФ", -{1,1, -{"ru","Тестовые данные УФ"} -}, -{"Pattern", -{"#",acf6192e-81ca-46ef-93a6-5a6968b78663} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,2, -{5,1,0,"Ключ", -{1,1, -{"ru","Ключ"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,2,0,"Значение", -{1,1, -{"ru","Значение"} -}, -{"Pattern", -{"#",4772b3b4-f4a3-49c0-a1a5-8cb5961511a3} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{0,0}, -{0,0} -}, -{9, -{5},0,"ЭтоLinux", -{1,1, -{"ru","Это linux"} -}, -{"Pattern", -{"B"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -},0,0, -{#base64:77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxTZXR0 -aW5ncyB4bWxucz0iaHR0cDovL3Y4LjFjLnJ1LzguMS9kYXRhLWNvbXBvc2l0aW9u -LXN5c3RlbS9zZXR0aW5ncyIgeG1sbnM6ZGNzY29yPSJodHRwOi8vdjguMWMucnUv -OC4xL2RhdGEtY29tcG9zaXRpb24tc3lzdGVtL2NvcmUiIHhtbG5zOnN0eWxlPSJo -dHRwOi8vdjguMWMucnUvOC4xL2RhdGEvdWkvc3R5bGUiIHhtbG5zOnN5cz0iaHR0 -cDovL3Y4LjFjLnJ1LzguMS9kYXRhL3VpL2ZvbnRzL3N5c3RlbSIgeG1sbnM6djg9 -Imh0dHA6Ly92OC4xYy5ydS84LjEvZGF0YS9jb3JlIiB4bWxuczp2OHVpPSJodHRw -Oi8vdjguMWMucnUvOC4xL2RhdGEvdWkiIHhtbG5zOndlYj0iaHR0cDovL3Y4LjFj -LnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93ZWIiIHhtbG5zOndpbj0iaHR0cDovL3Y4 -LjFjLnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93aW5kb3dzIiB4bWxuczp4cz0iaHR0 -cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDov -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/94428d21-9dd3-40d7-84be-7cee6ba1b8eb" "b/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/94428d21-9dd3-40d7-84be-7cee6ba1b8eb" deleted file mode 100644 index 858879a8..00000000 --- "a/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/94428d21-9dd3-40d7-84be-7cee6ba1b8eb" +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,94428d21-9dd3-40d7-84be-7cee6ba1b8eb},"СозданиеОдногоПользователяИБ", -{1,"ru","Создание одного пользователя ИБ"},""} -},0} \ No newline at end of file diff --git "a/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/94428d21-9dd3-40d7-84be-7cee6ba1b8eb.0" "b/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/94428d21-9dd3-40d7-84be-7cee6ba1b8eb.0" deleted file mode 100644 index 33d0bbff..00000000 Binary files "a/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/94428d21-9dd3-40d7-84be-7cee6ba1b8eb.0" and /dev/null differ diff --git "a/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/copyinfo" "b/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/copyinfo" deleted file mode 100644 index aa01503e..00000000 --- "a/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{8401ee62-68b8-43ea-8738-0c08cbc8c901,8401ee62-68b8-43ea-8738-0c08cbc8c901,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -}, -{84c18118-7744-4171-b86f-e605494b2083,84c18118-7744-4171-b86f-e605494b2083,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"юнитТест_UI_83"} -} -}, -{1, -{d4e55e33-fb7f-484e-bcf7-2a6d67753130,84c18118-7744-4171-b86f-e605494b2083,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/root" "b/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/root" deleted file mode 100644 index 0c48dcf2..00000000 --- "a/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,4e93fd08-5eda-44dd-92ef-b84867283b1e,} \ No newline at end of file diff --git "a/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/versions" "b/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/versions" deleted file mode 100644 index 4525bdfe..00000000 --- "a/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,13,"",f1a6ab56-5f2e-4ab3-ac20-241e2735c7f0,"8401ee62-68b8-43ea-8738-0c08cbc8c901",fbc633da-e1e8-411d-9158-c08a47075e4b,"1b3a3d0f-5dc6-47e8-bad6-38c097bc00d4",3110ab04-2e2c-4d8a-9ef2-e6dcb85015f0,"versions",849b4ea3-cd94-486c-9263-64249d8d37b1,"94428d21-9dd3-40d7-84be-7cee6ba1b8eb.0",23d767f7-f2c2-4b20-b765-b6303c847215,"root",796a33e9-49bc-4f5e-bc8c-1a92e5eb8d93,"4e93fd08-5eda-44dd-92ef-b84867283b1e",e7e4a204-d45b-42fd-a5ae-61b2b20e8e2c,"version",55f06894-c284-4bc9-bfff-307374714575,"8401ee62-68b8-43ea-8738-0c08cbc8c901.0",490892ea-c929-47fc-8ba6-6017189d28ce,"1b3a3d0f-5dc6-47e8-bad6-38c097bc00d4.0",99e9064a-39c0-444c-8cf7-9fa8b1f4fbd9,"d4a3c1a2-cea4-4a1e-94ad-f965190737b3",f40234ef-cd44-48ee-a9b2-362711b5ca89,"94428d21-9dd3-40d7-84be-7cee6ba1b8eb",5d29e957-ec46-48dd-82a2-4dc2c1880e4f,"copyinfo",5133ab95-8fc1-4753-b984-12e5cc74db24} \ No newline at end of file diff --git "a/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/\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/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/\320\234\320\260\320\272\320\265\321\202\321\213/\320\234\320\260\320\272\320\265\321\202.txt" deleted file mode 100644 index 9f800b01..00000000 --- "a/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/\320\234\320\260\320\272\320\265\321\202\321\213/\320\234\320\260\320\272\320\265\321\202.txt" +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - -
- - -
-
\ No newline at end of file diff --git "a/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/\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/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/\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" deleted file mode 100644 index 33d0bbff..00000000 Binary files "a/src/Tests/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/\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 /dev/null differ diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/renames.txt" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/renames.txt" deleted file mode 100644 index 40e598dc..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/renames.txt" +++ /dev/null @@ -1,9 +0,0 @@ -064b90a2-eb02-4faf-b067-921eb4ee4d8f-->und\064b90a2-eb02-4faf-b067-921eb4ee4d8f -064b90a2-eb02-4faf-b067-921eb4ee4d8f.0-->Form\Форма\Форма.txt -064b90a2-eb02-4faf-b067-921eb4ee4d8f.0-->und\064b90a2-eb02-4faf-b067-921eb4ee4d8f.0 -064b90a2-eb02-4faf-b067-921eb4ee4d8f.0-->und\064b90a2-eb02-4faf-b067-921eb4ee4d8f.0 -copyinfo-->und\copyinfo -dbf4cba2-b5be-407a-9d46-ce44778e9e5b-->und\dbf4cba2-b5be-407a-9d46-ce44778e9e5b -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/064b90a2-eb02-4faf-b067-921eb4ee4d8f" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/064b90a2-eb02-4faf-b067-921eb4ee4d8f" deleted file mode 100644 index ab24aa10..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/064b90a2-eb02-4faf-b067-921eb4ee4d8f" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,064b90a2-eb02-4faf-b067-921eb4ee4d8f},"Форма", -{1,"ru","Форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/064b90a2-eb02-4faf-b067-921eb4ee4d8f.0" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/064b90a2-eb02-4faf-b067-921eb4ee4d8f.0" deleted file mode 100644 index c6e28ada..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/064b90a2-eb02-4faf-b067-921eb4ee4d8f.0" +++ /dev/null @@ -1,63 +0,0 @@ -{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}, -{0},1, -{17, -{-1,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,9,"", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",27c9cca0-57fd-40a6-bd05-00977dfd969c} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/copyinfo" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/copyinfo" deleted file mode 100644 index 88845290..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{064b90a2-eb02-4faf-b067-921eb4ee4d8f,064b90a2-eb02-4faf-b067-921eb4ee4d8f,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -}, -{d0c90ead-5864-4dfa-a8d0-d3fe408e2a7f,d0c90ead-5864-4dfa-a8d0-d3fe408e2a7f,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ТестПустой"} -} -}, -{1, -{27c9cca0-57fd-40a6-bd05-00977dfd969c,d0c90ead-5864-4dfa-a8d0-d3fe408e2a7f,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/dbf4cba2-b5be-407a-9d46-ce44778e9e5b" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/dbf4cba2-b5be-407a-9d46-ce44778e9e5b" deleted file mode 100644 index 745b6ff4..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/dbf4cba2-b5be-407a-9d46-ce44778e9e5b" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{dbf4cba2-b5be-407a-9d46-ce44778e9e5b},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,27c9cca0-57fd-40a6-bd05-00977dfd969c,54ce53d0-6990-4c7f-82e8-4d4e4a8321e3, -{0, -{0, -{0,0,d0c90ead-5864-4dfa-a8d0-d3fe408e2a7f},"ТестПустой", -{1,"ru","Тест пустой"},""} -},064b90a2-eb02-4faf-b067-921eb4ee4d8f,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,064b90a2-eb02-4faf-b067-921eb4ee4d8f}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/root" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/root" deleted file mode 100644 index 661908f2..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,dbf4cba2-b5be-407a-9d46-ce44778e9e5b,} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/versions" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/versions" deleted file mode 100644 index 42200c51..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,8,"",b035930d-64b3-45a5-b5dc-cab061113d1e,"versions",8c59993b-0cc8-4f0c-b749-6ae636850074,"064b90a2-eb02-4faf-b067-921eb4ee4d8f",5f9e00a3-ae48-45fc-a7e7-8952d70a6870,"dbf4cba2-b5be-407a-9d46-ce44778e9e5b",9d1443b2-5bef-4696-881d-5eb5a6109f8a,"064b90a2-eb02-4faf-b067-921eb4ee4d8f.0",6c875203-8ac3-4f50-82d9-101705e91683,"root",f8f0e169-c3d9-44e3-a74d-49d189bc3a4d,"version",5231c39c-4abf-4e61-853a-93b57d341e6b,"copyinfo",f01c4568-eda6-4afc-bd41-8e4d5aa738a9} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index a2fee8fe..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,46 +0,0 @@ -&НаКлиенте -Перем Я_Тест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - Я_Тест = ЮнитТестирование; - - Результат = Я_Тест.Новый_НаборТестов(); - - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьИстинуВыполнилось"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьИстинуПадает"); - - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьЛожьВыполнилось"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьЛожьПадает"); - - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьЛожьПадаетДопСообщениеОшибки"); - - Возврат Результат; - -КонецФункции - -&НаКлиенте -Процедура Тест_ПроверитьИстинуВыполнилось() Экспорт - Я_Тест.Проверить(Истина); -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьИстинуПадает() Экспорт - Я_Тест.ПроверитьНеВыполнилось("Проверить(Ложь)", "Переданный параметр (ложь) не является Истиной, а хотели, чтобы являлся."); -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьЛожьВыполнилось() Экспорт - Я_Тест.ПроверитьЛожь(Ложь); -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьЛожьПадает() Экспорт - Я_Тест.ПроверитьНеВыполнилось("ПроверитьЛожь(Истина)", "Переданный параметр (истина) не является Ложью, а хотели, чтобы являлся."); -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьЛожьПадаетДопСообщениеОшибки() Экспорт - Я_Тест.ПроверитьНеВыполнилось("Проверить(Ложь, ""Доп. сообщение ошибки"")", "Переданный параметр (ложь) не является Истиной, а хотели, чтобы являлся."+Символы.ПС+"Доп. сообщение ошибки"); -КонецПроцедуры diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/ObjectModule.txt" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/ObjectModule.txt" deleted file mode 100644 index 53874eca..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/ObjectModule.txt" +++ /dev/null @@ -1,39 +0,0 @@ -Перем Я_Тест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - Я_Тест = ЮнитТестирование; - - Результат = Я_Тест.Новый_НаборТестов(); - - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьИстинуВыполнилось"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьИстинуПадает"); - - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьЛожьВыполнилось"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьЛожьПадает"); - - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьЛожьПадаетДопСообщениеОшибки"); - - Возврат Результат; - -КонецФункции - -Процедура Тест_ПроверитьИстинуВыполнилось() Экспорт - Я_Тест.Проверить(Истина); -КонецПроцедуры - -Процедура Тест_ПроверитьИстинуПадает() Экспорт - Я_Тест.ПроверитьНеВыполнилось("Проверить(Ложь)", "Переданный параметр (ложь) не является Истиной, а хотели, чтобы являлся."); -КонецПроцедуры - -Процедура Тест_ПроверитьЛожьВыполнилось() Экспорт - Я_Тест.ПроверитьЛожь(Ложь); -КонецПроцедуры - -Процедура Тест_ПроверитьЛожьПадает() Экспорт - Я_Тест.ПроверитьНеВыполнилось("ПроверитьЛожь(Истина)", "Переданный параметр (истина) не является Ложью, а хотели, чтобы являлся."); -КонецПроцедуры - -Процедура Тест_ПроверитьЛожьПадаетДопСообщениеОшибки() Экспорт - Я_Тест.ПроверитьНеВыполнилось("Проверить(Ложь, ""Доп. сообщение ошибки"")", "Переданный параметр (ложь) не является Истиной, а хотели, чтобы являлся."+Символы.ПС+"Доп. сообщение ошибки"); -КонецПроцедуры diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/renames.txt" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/renames.txt" deleted file mode 100644 index 53e40a34..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/renames.txt" +++ /dev/null @@ -1,11 +0,0 @@ -03cb84ff-3bbd-4295-92cc-cf14b07cccaf-->und\03cb84ff-3bbd-4295-92cc-cf14b07cccaf -03cb84ff-3bbd-4295-92cc-cf14b07cccaf.0-->Form\Форма\Форма.txt -03cb84ff-3bbd-4295-92cc-cf14b07cccaf.0-->und\03cb84ff-3bbd-4295-92cc-cf14b07cccaf.0 -03cb84ff-3bbd-4295-92cc-cf14b07cccaf.0-->und\03cb84ff-3bbd-4295-92cc-cf14b07cccaf.0 -7b66680b-e180-4230-a526-5aff4cc52aae.0\info-->und\7b66680b-e180-4230-a526-5aff4cc52aae.0\info -7b66680b-e180-4230-a526-5aff4cc52aae.0\text-->ObjectModule.txt -984dfd94-7d1f-404b-b526-3a286429e361-->und\984dfd94-7d1f-404b-b526-3a286429e361 -copyinfo-->und\copyinfo -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/03cb84ff-3bbd-4295-92cc-cf14b07cccaf" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/03cb84ff-3bbd-4295-92cc-cf14b07cccaf" deleted file mode 100644 index ef076082..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/03cb84ff-3bbd-4295-92cc-cf14b07cccaf" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,03cb84ff-3bbd-4295-92cc-cf14b07cccaf},"Форма", -{1,"ru","Форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/03cb84ff-3bbd-4295-92cc-cf14b07cccaf.0" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/03cb84ff-3bbd-4295-92cc-cf14b07cccaf.0" deleted file mode 100644 index cd5ec1d7..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/03cb84ff-3bbd-4295-92cc-cf14b07cccaf.0" +++ /dev/null @@ -1,103 +0,0 @@ -{2, -{27,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1, -{1,0},0,0,1,1,1,0,1,0, -{0}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{0,0,1},0,1},0,"",""},"&НаКлиенте -Перем Я_Тест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - Я_Тест = ЮнитТестирование; - - Результат = Я_Тест.Новый_НаборТестов(); - - Я_Тест.НаборТестов_Добавить(Результат, ""Тест_ПроверитьИстинуВыполнилось""); - Я_Тест.НаборТестов_Добавить(Результат, ""Тест_ПроверитьИстинуПадает""); - - Я_Тест.НаборТестов_Добавить(Результат, ""Тест_ПроверитьЛожьВыполнилось""); - Я_Тест.НаборТестов_Добавить(Результат, ""Тест_ПроверитьЛожьПадает""); - - Я_Тест.НаборТестов_Добавить(Результат, ""Тест_ПроверитьЛожьПадаетДопСообщениеОшибки""); - - Возврат Результат; - -КонецФункции - -&НаКлиенте -Процедура Тест_ПроверитьИстинуВыполнилось() Экспорт - Я_Тест.Проверить(Истина); -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьИстинуПадает() Экспорт - Я_Тест.ПроверитьНеВыполнилось(""Проверить(Ложь)"", ""Переданный параметр (ложь) не является Истиной, а хотели, чтобы являлся.""); -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьЛожьВыполнилось() Экспорт - Я_Тест.ПроверитьЛожь(Ложь); -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьЛожьПадает() Экспорт - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьЛожь(Истина)"", ""Переданный параметр (истина) не является Ложью, а хотели, чтобы являлся.""); -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьЛожьПадаетДопСообщениеОшибки() Экспорт - Я_Тест.ПроверитьНеВыполнилось(""Проверить(Ложь, """"Доп. сообщение ошибки"""")"", ""Переданный параметр (ложь) не является Истиной, а хотели, чтобы являлся.""+Символы.ПС+""Доп. сообщение ошибки""); -КонецПроцедуры -", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",02fc0901-3cd2-4561-986b-96cdb0b4b42a} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/984dfd94-7d1f-404b-b526-3a286429e361" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/984dfd94-7d1f-404b-b526-3a286429e361" deleted file mode 100644 index 7194893c..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/984dfd94-7d1f-404b-b526-3a286429e361" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{984dfd94-7d1f-404b-b526-3a286429e361},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,02fc0901-3cd2-4561-986b-96cdb0b4b42a,6f4bccc5-a1a9-4ebd-b80a-6308244ade10, -{0, -{0, -{0,0,7b66680b-e180-4230-a526-5aff4cc52aae},"ПроверитьПроверить", -{1,"ru","Проверить проверить"},""} -},03cb84ff-3bbd-4295-92cc-cf14b07cccaf,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,03cb84ff-3bbd-4295-92cc-cf14b07cccaf}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/copyinfo" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/copyinfo" deleted file mode 100644 index 5240a59f..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{03cb84ff-3bbd-4295-92cc-cf14b07cccaf,03cb84ff-3bbd-4295-92cc-cf14b07cccaf,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -}, -{7b66680b-e180-4230-a526-5aff4cc52aae,7b66680b-e180-4230-a526-5aff4cc52aae,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ПроверитьПроверить"} -} -}, -{1, -{02fc0901-3cd2-4561-986b-96cdb0b4b42a,7b66680b-e180-4230-a526-5aff4cc52aae,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/root" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/root" deleted file mode 100644 index 37d75fc6..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,984dfd94-7d1f-404b-b526-3a286429e361,} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/versions" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/versions" deleted file mode 100644 index fa5c9769..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,10,"",0c304908-e680-438b-b563-b7003056ce8c,"versions",b47bf465-e5f4-4e35-a4b4-1a7cbe7394aa,"03cb84ff-3bbd-4295-92cc-cf14b07cccaf.0",1059f902-18a3-43e6-ab43-8461fa5d972b,"root",1e9c1c4b-3b38-4b0d-a9e6-a6844b9e0314,"7b66680b-e180-4230-a526-5aff4cc52aae",fa39057f-cd23-41d3-a68a-77ed63f6d42b,"version",4f6bced4-6e22-4cf7-aa01-366cd35c6d06,"7b66680b-e180-4230-a526-5aff4cc52aae.0",0c5fc5cd-68f5-48a1-b77d-1469f2cbb13d,"984dfd94-7d1f-404b-b526-3a286429e361",89f5bc6b-d679-4a6b-9c31-bdb87a5d0d2a,"03cb84ff-3bbd-4295-92cc-cf14b07cccaf",af3deabc-19ff-4177-a62e-412fea8c239c,"copyinfo",951f93fa-ab77-4245-a74d-13f3c3359f96} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index 447d6c8b..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,65 +0,0 @@ -&НаКлиенте -Перем Я_Тест; - -&НаКлиенте -Функция ПолучитьСписокТестов(юТест) Экспорт - - Я_Тест = юТест; - - Результат = Я_Тест.Новый_НаборТестов(); - - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьБольшеВыполняется"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьБольшеПадает"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьБольшеИлиРавноВыполняется"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьБольшеИлиРавноПадает"); - - Возврат Результат; - -КонецФункции - -&НаКлиенте -Процедура Тест_ПроверитьБольшеВыполняется() Экспорт - - Я_Тест.ПроверитьБольше(2, 1); - Я_Тест.ПроверитьБольше("2", "1"); - Я_Тест.ПроверитьБольше('20100102', '20100101'); - -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьБольшеПадает() Экспорт - - Я_Тест.ПроверитьНеВыполнилось("ПроверитьБольше(1, 2)", "Первый параметр (1) меньше или равен второму (2) а хотели, чтобы был больше."); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьБольше(1, 1)", "Первый параметр (1) меньше или равен второму (1) а хотели, чтобы был больше."); - - Я_Тест.ПроверитьНеВыполнилось("ПроверитьБольше(""1"", ""2"")", "Первый параметр (1) меньше или равен второму (2) а хотели, чтобы был больше."); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьБольше(""1"", ""1"")", "Первый параметр (1) меньше или равен второму (1) а хотели, чтобы был больше."); - - Я_Тест.ПроверитьНеВыполнилось("ПроверитьБольше('20100101', '20100102')", "Первый параметр (01.01.2010 0:00:00) меньше или равен второму (02.01.2010 0:00:00) а хотели, чтобы был больше."); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьБольше('20100101', '20100101')", "Первый параметр (01.01.2010 0:00:00) меньше или равен второму (01.01.2010 0:00:00) а хотели, чтобы был больше."); - -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьБольшеИлиРавноВыполняется() Экспорт - - Я_Тест.ПроверитьБольшеИлиРавно(2, 1); - Я_Тест.ПроверитьБольшеИлиРавно(2, 2); - - Я_Тест.ПроверитьБольшеИлиРавно("2", "1"); - Я_Тест.ПроверитьБольшеИлиРавно("2", "2"); - - Я_Тест.ПроверитьБольшеИлиРавно('20100102', '20100101'); - Я_Тест.ПроверитьБольшеИлиРавно('20100102', '20100102'); - -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьБольшеИлиРавноПадает() Экспорт - - Я_Тест.ПроверитьНеВыполнилось("ПроверитьБольшеИлиРавно(1, 2)", "Первый параметр (1) меньше второго (2) а хотели, чтобы был больше или равен."); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьБольшеИлиРавно(""1"", ""2"")", "Первый параметр (1) меньше второго (2) а хотели, чтобы был больше или равен."); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьБольшеИлиРавно('20100101', '20100102')", "Первый параметр (01.01.2010 0:00:00) меньше второго (02.01.2010 0:00:00) а хотели, чтобы был больше или равен."); - -КонецПроцедуры - diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/ObjectModule.txt" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/ObjectModule.txt" deleted file mode 100644 index 84380b34..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/ObjectModule.txt" +++ /dev/null @@ -1,59 +0,0 @@ -Перем Я_Тест; - -Функция ПолучитьСписокТестов(юТест) Экспорт - - Я_Тест = юТест; - - Результат = Я_Тест.Новый_НаборТестов(); - - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьБольшеВыполняется"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьБольшеПадает"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьБольшеИлиРавноВыполняется"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьБольшеИлиРавноПадает"); - - Возврат Результат; - -КонецФункции - -Процедура Тест_ПроверитьБольшеВыполняется() Экспорт - - Я_Тест.ПроверитьБольше(2, 1); - Я_Тест.ПроверитьБольше("2", "1"); - Я_Тест.ПроверитьБольше('20100102', '20100101'); - -КонецПроцедуры - -Процедура Тест_ПроверитьБольшеПадает() Экспорт - - Я_Тест.ПроверитьНеВыполнилось("ПроверитьБольше(1, 2)", "Первый параметр (1) меньше или равен второму (2) а хотели, чтобы был больше."); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьБольше(1, 1)", "Первый параметр (1) меньше или равен второму (1) а хотели, чтобы был больше."); - - Я_Тест.ПроверитьНеВыполнилось("ПроверитьБольше(""1"", ""2"")", "Первый параметр (1) меньше или равен второму (2) а хотели, чтобы был больше."); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьБольше(""1"", ""1"")", "Первый параметр (1) меньше или равен второму (1) а хотели, чтобы был больше."); - - Я_Тест.ПроверитьНеВыполнилось("ПроверитьБольше('20100101', '20100102')", "Первый параметр (01.01.2010 0:00:00) меньше или равен второму (02.01.2010 0:00:00) а хотели, чтобы был больше."); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьБольше('20100101', '20100101')", "Первый параметр (01.01.2010 0:00:00) меньше или равен второму (01.01.2010 0:00:00) а хотели, чтобы был больше."); - -КонецПроцедуры - -Процедура Тест_ПроверитьБольшеИлиРавноВыполняется() Экспорт - - Я_Тест.ПроверитьБольшеИлиРавно(2, 1); - Я_Тест.ПроверитьБольшеИлиРавно(2, 2); - - Я_Тест.ПроверитьБольшеИлиРавно("2", "1"); - Я_Тест.ПроверитьБольшеИлиРавно("2", "2"); - - Я_Тест.ПроверитьБольшеИлиРавно('20100102', '20100101'); - Я_Тест.ПроверитьБольшеИлиРавно('20100102', '20100102'); - -КонецПроцедуры - -Процедура Тест_ПроверитьБольшеИлиРавноПадает() Экспорт - - Я_Тест.ПроверитьНеВыполнилось("ПроверитьБольшеИлиРавно(1, 2)", "Первый параметр (1) меньше второго (2) а хотели, чтобы был больше или равен."); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьБольшеИлиРавно(""1"", ""2"")", "Первый параметр (1) меньше второго (2) а хотели, чтобы был больше или равен."); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьБольшеИлиРавно('20100101', '20100102')", "Первый параметр (01.01.2010 0:00:00) меньше второго (02.01.2010 0:00:00) а хотели, чтобы был больше или равен."); - -КонецПроцедуры - diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/renames.txt" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/renames.txt" deleted file mode 100644 index 0a87e03c..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/renames.txt" +++ /dev/null @@ -1,11 +0,0 @@ -2c7403d9-12d3-4793-8638-68665c64c197-->und\2c7403d9-12d3-4793-8638-68665c64c197 -6c74a597-6dc6-44ac-97bd-b8871cccb0b2.0\info-->und\6c74a597-6dc6-44ac-97bd-b8871cccb0b2.0\info -6c74a597-6dc6-44ac-97bd-b8871cccb0b2.0\text-->ObjectModule.txt -copyinfo-->und\copyinfo -d49f80c0-c58e-4b48-8973-419ee4adcc08-->und\d49f80c0-c58e-4b48-8973-419ee4adcc08 -d49f80c0-c58e-4b48-8973-419ee4adcc08.0-->Form\Форма\Форма.txt -d49f80c0-c58e-4b48-8973-419ee4adcc08.0-->und\d49f80c0-c58e-4b48-8973-419ee4adcc08.0 -d49f80c0-c58e-4b48-8973-419ee4adcc08.0-->und\d49f80c0-c58e-4b48-8973-419ee4adcc08.0 -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/2c7403d9-12d3-4793-8638-68665c64c197" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/2c7403d9-12d3-4793-8638-68665c64c197" deleted file mode 100644 index 4708a39f..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/2c7403d9-12d3-4793-8638-68665c64c197" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{2c7403d9-12d3-4793-8638-68665c64c197},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,bae2cfe0-259d-4f0e-809c-21b0d0e4fd9c,429f79b4-5172-49fc-b7d7-325fa840a1d6, -{0, -{0, -{0,0,6c74a597-6dc6-44ac-97bd-b8871cccb0b2},"ПроверитьПроверитьБольше", -{1,"ru","Проверить проверить больше"},""} -},d49f80c0-c58e-4b48-8973-419ee4adcc08,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,d49f80c0-c58e-4b48-8973-419ee4adcc08}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/copyinfo" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/copyinfo" deleted file mode 100644 index 2d3ab78c..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{6c74a597-6dc6-44ac-97bd-b8871cccb0b2,6c74a597-6dc6-44ac-97bd-b8871cccb0b2,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ПроверитьПроверитьБольше"} -}, -{d49f80c0-c58e-4b48-8973-419ee4adcc08,d49f80c0-c58e-4b48-8973-419ee4adcc08,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -} -}, -{1, -{bae2cfe0-259d-4f0e-809c-21b0d0e4fd9c,6c74a597-6dc6-44ac-97bd-b8871cccb0b2,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/d49f80c0-c58e-4b48-8973-419ee4adcc08" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/d49f80c0-c58e-4b48-8973-419ee4adcc08" deleted file mode 100644 index 97b3c001..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/d49f80c0-c58e-4b48-8973-419ee4adcc08" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,d49f80c0-c58e-4b48-8973-419ee4adcc08},"Форма", -{1,"ru","Форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/d49f80c0-c58e-4b48-8973-419ee4adcc08.0" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/d49f80c0-c58e-4b48-8973-419ee4adcc08.0" deleted file mode 100644 index b6a329a4..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/d49f80c0-c58e-4b48-8973-419ee4adcc08.0" +++ /dev/null @@ -1,132 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"&НаКлиенте -Перем Я_Тест; - -&НаКлиенте -Функция ПолучитьСписокТестов(юТест) Экспорт - - Я_Тест = юТест; - - Результат = Я_Тест.Новый_НаборТестов(); - - Я_Тест.НаборТестов_Добавить(Результат, ""Тест_ПроверитьБольшеВыполняется""); - Я_Тест.НаборТестов_Добавить(Результат, ""Тест_ПроверитьБольшеПадает""); - Я_Тест.НаборТестов_Добавить(Результат, ""Тест_ПроверитьБольшеИлиРавноВыполняется""); - Я_Тест.НаборТестов_Добавить(Результат, ""Тест_ПроверитьБольшеИлиРавноПадает""); - - Возврат Результат; - -КонецФункции - -&НаКлиенте -Процедура Тест_ПроверитьБольшеВыполняется() Экспорт - - Я_Тест.ПроверитьБольше(2, 1); - Я_Тест.ПроверитьБольше(""2"", ""1""); - Я_Тест.ПроверитьБольше('20100102', '20100101'); - -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьБольшеПадает() Экспорт - - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьБольше(1, 2)"", ""Первый параметр (1) меньше или равен второму (2) а хотели, чтобы был больше.""); - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьБольше(1, 1)"", ""Первый параметр (1) меньше или равен второму (1) а хотели, чтобы был больше.""); - - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьБольше(""""1"""", """"2"""")"", ""Первый параметр (1) меньше или равен второму (2) а хотели, чтобы был больше.""); - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьБольше(""""1"""", """"1"""")"", ""Первый параметр (1) меньше или равен второму (1) а хотели, чтобы был больше.""); - - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьБольше('20100101', '20100102')"", ""Первый параметр (01.01.2010 0:00:00) меньше или равен второму (02.01.2010 0:00:00) а хотели, чтобы был больше.""); - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьБольше('20100101', '20100101')"", ""Первый параметр (01.01.2010 0:00:00) меньше или равен второму (01.01.2010 0:00:00) а хотели, чтобы был больше.""); - -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьБольшеИлиРавноВыполняется() Экспорт - - Я_Тест.ПроверитьБольшеИлиРавно(2, 1); - Я_Тест.ПроверитьБольшеИлиРавно(2, 2); - - Я_Тест.ПроверитьБольшеИлиРавно(""2"", ""1""); - Я_Тест.ПроверитьБольшеИлиРавно(""2"", ""2""); - - Я_Тест.ПроверитьБольшеИлиРавно('20100102', '20100101'); - Я_Тест.ПроверитьБольшеИлиРавно('20100102', '20100102'); - -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьБольшеИлиРавноПадает() Экспорт - - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьБольшеИлиРавно(1, 2)"", ""Первый параметр (1) меньше второго (2) а хотели, чтобы был больше или равен.""); - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьБольшеИлиРавно(""""1"""", """"2"""")"", ""Первый параметр (1) меньше второго (2) а хотели, чтобы был больше или равен.""); - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьБольшеИлиРавно('20100101', '20100102')"", ""Первый параметр (01.01.2010 0:00:00) меньше второго (02.01.2010 0:00:00) а хотели, чтобы был больше или равен.""); - -КонецПроцедуры - -", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",bae2cfe0-259d-4f0e-809c-21b0d0e4fd9c} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/root" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/root" deleted file mode 100644 index c9367b87..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,2c7403d9-12d3-4793-8638-68665c64c197,} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/versions" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/versions" deleted file mode 100644 index d30617eb..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,10,"",c0884a8a-38a8-4b5e-9c62-9c661a9f63a4,"versions",e94d66e9-2b22-4f9c-9789-4af92e933d5f,"d49f80c0-c58e-4b48-8973-419ee4adcc08.0",d09b69cf-e1b9-431b-951f-833f312f85ed,"root",d32d0686-afe0-4587-a62c-26ff81d455bf,"6c74a597-6dc6-44ac-97bd-b8871cccb0b2",031d5ee2-034e-468f-a330-65734c021447,"6c74a597-6dc6-44ac-97bd-b8871cccb0b2.0",c8e4d2f7-0fe6-46fe-a75b-621aabc3f30d,"2c7403d9-12d3-4793-8638-68665c64c197",7b6d517c-2c29-4d73-ab0d-2dc7d2bc7d21,"version",b5571024-328c-4a8e-a1fd-b2a7f5137d46,"d49f80c0-c58e-4b48-8973-419ee4adcc08",c93104ea-b62d-4c05-bc3a-9a2a89ea5640,"copyinfo",69accbbd-ec10-4cd1-bfab-858e23259d99} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index 69941f10..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,77 +0,0 @@ -&НаКлиенте -Перем Я_Тест; - -&НаКлиенте -Функция ПолучитьСписокТестов(юТест) Экспорт - - Я_Тест = юТест; - - Результат = Я_Тест.Новый_НаборТестов(); - - Я_Тест.НаборТестов_Добавить(Результат, "Тесты_ПроверитьВыполнилось"); - Я_Тест.НаборТестов_Добавить(Результат, "Тесты_ПроверитьВыполнилосьУпал"); - - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьНеВыполнилось"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьНеВыполнилосьУпал"); - - Я_Тест.НаборТестов_Добавить(Результат, "Тесты_ПроверитьМетодВыполнился"); - Я_Тест.НаборТестов_Добавить(Результат, "Тесты_ПроверитьМетодВыполнилсяУпал"); - - Я_Тест.НаборТестов_Добавить(Результат, "Тесты_ПроверитьМетодНеВыполнился"); - Я_Тест.НаборТестов_Добавить(Результат, "Тесты_ПроверитьМетодНеВыполнилсяУпал"); - - Я_Тест.НаборТестов_Добавить(Результат, "Bug_4456"); - - Возврат Результат; - -КонецФункции - -&НаКлиенте -Процедура Тесты_ПроверитьВыполнилось() Экспорт - Я_Тест.ПроверитьВыполнилось("рез = 10"); -КонецПроцедуры - -&НаКлиенте -Процедура Тесты_ПроверитьВыполнилосьУпал() Экспорт - Я_Тест.ПроверитьНеВыполнилось("ПроверитьВыполнилось(""рез = 1/0"")", "Хотели, чтобы алгоритм ""рез = 1/0"" выполнился, а он упал с ошибкой ""{(1)}: Деление на 0"); -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьНеВыполнилось() Экспорт - Я_Тест.ПроверитьНеВыполнилось("рез = 1/0", "Деление на 0"); -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьНеВыполнилосьУпал() Экспорт - Я_Тест.ПроверитьНеВыполнилось("ПроверитьНеВыполнилось(""рез = 10"", ""Деление на 0"")", "Хотели, чтобы алгоритм ""рез = 10"" упал, а он выполнился"); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьНеВыполнилось(""рез = 1/0"", ""Другое сообщение об ошибке"")", "Хотели, чтобы алгоритм ""рез = 1/0"" упал с сообщением об ошибке ""Другое сообщение об ошибке"", а он упал с сообщением ""{(1)}: Деление на 0"); -КонецПроцедуры - -&НаКлиенте -Процедура Тесты_ПроверитьМетодВыполнился() Экспорт - Текст = Новый ТекстовыйДокумент; - Я_Тест.ПроверитьМетодВыполнился(Текст, "Очистить"); -КонецПроцедуры - -&НаКлиенте -Процедура Тесты_ПроверитьМетодВыполнилсяУпал() Экспорт - Я_Тест.ПроверитьНеВыполнилось("Текст = Новый ТекстовыйДокумент; ПроверитьМетодВыполнился(Текст, ""__Очистить"")", "Хотели, чтобы код ""Объект.__Очистить()"" выполнился, а он упал с ошибкой ""{(1)}: Метод объекта не обнаружен (__Очистить)"); -КонецПроцедуры - -&НаКлиенте -Процедура Тесты_ПроверитьМетодНеВыполнился() Экспорт - Текст = Новый ТекстовыйДокумент; - Я_Тест.ПроверитьМетодНеВыполнился(Текст, "__Очистить", "Метод объекта не обнаружен (__Очистить)"); -КонецПроцедуры - -&НаКлиенте -Процедура Тесты_ПроверитьМетодНеВыполнилсяУпал() Экспорт - Я_Тест.ПроверитьНеВыполнилось("Текст = Новый ТекстовыйДокумент;ПроверитьМетодНеВыполнился(Текст, ""Очистить"", ""Тут неважно, что"")", "Хотели, чтобы код ""Объект.Очистить()"" упал, а он выполнился"); - Я_Тест.ПроверитьНеВыполнилось("Текст = Новый ТекстовыйДокумент;ПроверитьМетодНеВыполнился(Текст, ""__Очистить"", ""Тут неважно, что"")", "Хотели, чтобы код ""Объект.__Очистить()"" упал с сообщением об ошибке ""Тут неважно, что"", а он упал с сообщением ""{(1)}: Метод объекта не обнаружен (__Очистить)"); -КонецПроцедуры - -&НаКлиенте -Процедура Bug_4456() Экспорт - Я_Тест.ПроверитьВыполнилось("Упало = Истина"); - Я_Тест.ПроверитьВыполнилось("Успех = Ложь"); -КонецПроцедуры \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/renames.txt" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/renames.txt" deleted file mode 100644 index 3d7f37ac..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/renames.txt" +++ /dev/null @@ -1,11 +0,0 @@ -498e7f98-0af6-4b64-81e4-2c1e28c56195.0\info-->und\498e7f98-0af6-4b64-81e4-2c1e28c56195.0\info -498e7f98-0af6-4b64-81e4-2c1e28c56195.0\text-->ObjectModule.txt -64d5f759-0d93-4d3c-9a38-2c95d18f7c27-->und\64d5f759-0d93-4d3c-9a38-2c95d18f7c27 -64d5f759-0d93-4d3c-9a38-2c95d18f7c27.0-->E:\projects\1c\xUnitFor1C\src\Tests\ManagedApp\selftests\ТестыПроверитьВыполнить\Form\Форма\Форма.txt -64d5f759-0d93-4d3c-9a38-2c95d18f7c27.0-->und\64d5f759-0d93-4d3c-9a38-2c95d18f7c27.0 -64d5f759-0d93-4d3c-9a38-2c95d18f7c27.0-->und\64d5f759-0d93-4d3c-9a38-2c95d18f7c27.0 -copyinfo-->und\copyinfo -db8c43bc-6c10-462b-ae61-3c7c1d32345a-->und\db8c43bc-6c10-462b-ae61-3c7c1d32345a -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/64d5f759-0d93-4d3c-9a38-2c95d18f7c27" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/64d5f759-0d93-4d3c-9a38-2c95d18f7c27" deleted file mode 100644 index d95aa956..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/64d5f759-0d93-4d3c-9a38-2c95d18f7c27" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,64d5f759-0d93-4d3c-9a38-2c95d18f7c27},"Форма", -{1,"ru","Форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/64d5f759-0d93-4d3c-9a38-2c95d18f7c27.0" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/64d5f759-0d93-4d3c-9a38-2c95d18f7c27.0" deleted file mode 100644 index 94564949..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/64d5f759-0d93-4d3c-9a38-2c95d18f7c27.0" +++ /dev/null @@ -1,143 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"&НаКлиенте -Перем Я_Тест; - -&НаКлиенте -Функция ПолучитьСписокТестов(юТест) Экспорт - - Я_Тест = юТест; - - Результат = Я_Тест.Новый_НаборТестов(); - - Я_Тест.НаборТестов_Добавить(Результат, ""Тесты_ПроверитьВыполнилось""); - Я_Тест.НаборТестов_Добавить(Результат, ""Тесты_ПроверитьВыполнилосьУпал""); - - Я_Тест.НаборТестов_Добавить(Результат, ""Тест_ПроверитьНеВыполнилось""); - Я_Тест.НаборТестов_Добавить(Результат, ""Тест_ПроверитьНеВыполнилосьУпал""); - - Я_Тест.НаборТестов_Добавить(Результат, ""Тесты_ПроверитьМетодВыполнился""); - Я_Тест.НаборТестов_Добавить(Результат, ""Тесты_ПроверитьМетодВыполнилсяУпал""); - - Я_Тест.НаборТестов_Добавить(Результат, ""Тесты_ПроверитьМетодНеВыполнился""); - Я_Тест.НаборТестов_Добавить(Результат, ""Тесты_ПроверитьМетодНеВыполнилсяУпал""); - - Я_Тест.НаборТестов_Добавить(Результат, ""Bug_4456""); - - Возврат Результат; - -КонецФункции - -&НаКлиенте -Процедура Тесты_ПроверитьВыполнилось() Экспорт - Я_Тест.ПроверитьВыполнилось(""рез = 10""); -КонецПроцедуры - -&НаКлиенте -Процедура Тесты_ПроверитьВыполнилосьУпал() Экспорт - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьВыполнилось(""""рез = 1/0"""")"", ""Хотели, чтобы алгоритм """"рез = 1/0"""" выполнился, а он упал с ошибкой """"{(1)}: Деление на 0""); -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьНеВыполнилось() Экспорт - Я_Тест.ПроверитьНеВыполнилось(""рез = 1/0"", ""Деление на 0""); -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьНеВыполнилосьУпал() Экспорт - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьНеВыполнилось(""""рез = 10"""", """"Деление на 0"""")"", ""Хотели, чтобы алгоритм """"рез = 10"""" упал, а он выполнился""); - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьНеВыполнилось(""""рез = 1/0"""", """"Другое сообщение об ошибке"""")"", ""Хотели, чтобы алгоритм """"рез = 1/0"""" упал с сообщением об ошибке """"Другое сообщение об ошибке"""", а он упал с сообщением """"{(1)}: Деление на 0""); -КонецПроцедуры - -&НаКлиенте -Процедура Тесты_ПроверитьМетодВыполнился() Экспорт - Текст = Новый ТекстовыйДокумент; - Я_Тест.ПроверитьМетодВыполнился(Текст, ""Очистить""); -КонецПроцедуры - -&НаКлиенте -Процедура Тесты_ПроверитьМетодВыполнилсяУпал() Экспорт - Я_Тест.ПроверитьНеВыполнилось(""Текст = Новый ТекстовыйДокумент; ПроверитьМетодВыполнился(Текст, """"__Очистить"""")"", ""Хотели, чтобы код """"Объект.__Очистить()"""" выполнился, а он упал с ошибкой """"{(1)}: Метод объекта не обнаружен (__Очистить)""); -КонецПроцедуры - -&НаКлиенте -Процедура Тесты_ПроверитьМетодНеВыполнился() Экспорт - Текст = Новый ТекстовыйДокумент; - Я_Тест.ПроверитьМетодНеВыполнился(Текст, ""__Очистить"", ""Метод объекта не обнаружен (__Очистить)""); -КонецПроцедуры - -&НаКлиенте -Процедура Тесты_ПроверитьМетодНеВыполнилсяУпал() Экспорт - Я_Тест.ПроверитьНеВыполнилось(""Текст = Новый ТекстовыйДокумент;ПроверитьМетодНеВыполнился(Текст, """"Очистить"""", """"Тут неважно, что"""")"", ""Хотели, чтобы код """"Объект.Очистить()"""" упал, а он выполнился""); - Я_Тест.ПроверитьНеВыполнилось(""Текст = Новый ТекстовыйДокумент;ПроверитьМетодНеВыполнился(Текст, """"__Очистить"""", """"Тут неважно, что"""")"", ""Хотели, чтобы код """"Объект.__Очистить()"""" упал с сообщением об ошибке """"Тут неважно, что"""", а он упал с сообщением """"{(1)}: Метод объекта не обнаружен (__Очистить)""); -КонецПроцедуры - -&НаКлиенте -Процедура Bug_4456() Экспорт - Я_Тест.ПроверитьВыполнилось(""Упало = Истина""); - Я_Тест.ПроверитьВыполнилось(""Успех = Ложь""); -КонецПроцедуры", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",ba5460d1-9861-4aa5-b6cb-88d26240fac8} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/copyinfo" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/copyinfo" deleted file mode 100644 index 45ce5f1b..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{498e7f98-0af6-4b64-81e4-2c1e28c56195,498e7f98-0af6-4b64-81e4-2c1e28c56195,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"Тесты_ПроверитьВыполнилось_и_ПроверитьНеВыполнилось"} -}, -{64d5f759-0d93-4d3c-9a38-2c95d18f7c27,64d5f759-0d93-4d3c-9a38-2c95d18f7c27,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -} -}, -{1, -{ba5460d1-9861-4aa5-b6cb-88d26240fac8,498e7f98-0af6-4b64-81e4-2c1e28c56195,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/db8c43bc-6c10-462b-ae61-3c7c1d32345a" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/db8c43bc-6c10-462b-ae61-3c7c1d32345a" deleted file mode 100644 index 4ff31d73..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/db8c43bc-6c10-462b-ae61-3c7c1d32345a" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{db8c43bc-6c10-462b-ae61-3c7c1d32345a},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,ba5460d1-9861-4aa5-b6cb-88d26240fac8,b2c5a111-d175-4d14-a391-a99f98dc2ad1, -{0, -{0, -{0,0,498e7f98-0af6-4b64-81e4-2c1e28c56195},"Тесты_ПроверитьВыполнилось_и_ПроверитьНеВыполнилось", -{1,"ru","Тесты ПроверитьВыполнилось и ПроверитьНеВыполнилось"},"Автор - Артур Аюханов aka artbear 2010"} -},64d5f759-0d93-4d3c-9a38-2c95d18f7c27,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,64d5f759-0d93-4d3c-9a38-2c95d18f7c27}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/root" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/root" deleted file mode 100644 index 927969f0..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,db8c43bc-6c10-462b-ae61-3c7c1d32345a,} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/versions" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/versions" deleted file mode 100644 index 681add01..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,10,"",24869de5-6434-4ffc-a31e-6ca96d6333f0,"versions",f4ebc8fb-fb01-4f3a-818f-5ded3b29ce7a,"498e7f98-0af6-4b64-81e4-2c1e28c56195.0",a8de6321-2cd0-4760-ba20-a7a494c0ad4d,"64d5f759-0d93-4d3c-9a38-2c95d18f7c27",41f9a99b-edbe-412b-9bce-7359adf61abc,"root",5a1a2066-2528-492b-92bc-0996e183dd60,"db8c43bc-6c10-462b-ae61-3c7c1d32345a",e1e1e3b4-cd54-4766-9868-841ff3594804,"64d5f759-0d93-4d3c-9a38-2c95d18f7c27.0",697e71d0-1cf6-424f-8cfb-3c53adb4d501,"version",8e93ba73-4c07-40e2-9b7f-0450f1c87977,"498e7f98-0af6-4b64-81e4-2c1e28c56195",65bd47e4-a012-4529-b35b-986912bf078c,"copyinfo",5509b13e-f829-4594-a70f-e62805c27acd} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index f4b672a4..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,126 +0,0 @@ -&НаКлиенте -Перем Я_Тест; - -&НаКлиенте -Функция ПолучитьСписокТестов(юТест) Экспорт - - Я_Тест = юТест; - - Результат = Я_Тест.Новый_НаборТестов(); - - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьЗаполненность"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьЗаполненностьПадает"); - - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьНеЗаполненность"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьНеЗаполненностьПадает"); - - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьЗаполненность_и_НеЗаполненность_Булево"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьЗаполненность_и_НеЗаполненность_Массивы"); - // TODO Другие коллекции значений - - Возврат Результат; - -КонецФункции - -&НаКлиенте -Процедура Тест_ПроверитьЗаполненность() Экспорт - Я_Тест.ПроверитьЗаполненность(1); - Я_Тест.ПроверитьЗаполненность(-1); - Я_Тест.ПроверитьЗаполненность(0.00000000000000000000000001); - Я_Тест.ПроверитьЗаполненность(-0.00000000000000000000000001); - - Я_Тест.ПроверитьЗаполненность('00010102'); - Я_Тест.ПроверитьЗаполненность(ТекущаяДата()); - - Я_Тест.ПроверитьЗаполненность("а"); - - //Если Метаданные.Отчеты.Количество() > 0 Тогда - // Я_Тест.ПроверитьЗаполненность(Отчеты[Метаданные.Отчеты[0].Имя].Создать()); - //КонецЕсли; - //Если Метаданные.Обработки.Количество() > 0 Тогда - // Я_Тест.ПроверитьЗаполненность(Обработки[Метаданные.Обработки[0].Имя].Создать()); - //КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьЗаполненностьПадает() Экспорт - Я_Тест.ПроверитьНеВыполнилось("ПроверитьЗаполненность(0)", "Значение (0) не заполнено, а ожидалась заполненность"); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьЗаполненность('00010101')", "Значение (01.01.0001 0:00:00) не заполнено, а ожидалась заполненность"); - - Я_Тест.ПроверитьНеВыполнилось("ПроверитьЗаполненность("""")", "Значение () не заполнено, а ожидалась заполненность"); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьЗаполненность("" "")", "Значение ( ) не заполнено, а ожидалась заполненность"); // один пробел - Я_Тест.ПроверитьНеВыполнилось("ПроверитьЗаполненность("" "")", "Значение ( ) не заполнено, а ожидалась заполненность"); // два пробела - Я_Тест.ПроверитьНеВыполнилось("ПроверитьЗаполненность("" "")", "Значение ( ) не заполнено, а ожидалась заполненность"); // табуляция - Я_Тест.ПроверитьНеВыполнилось("ПроверитьЗаполненность(NULL, ""NULL"")", "Значение () не заполнено, а ожидалась заполненность"+Символы.ПС+"NULL"); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьЗаполненность(Неопределено, ""Неопределено"")", "Значение () не заполнено, а ожидалась заполненность"+Символы.ПС+"Неопределено"); - - //Если Метаданные.Справочники.Количество() > 0 Тогда - // Я_Тест.ПроверитьНеВыполнилось("ПроверитьЗаполненность(Справочники[Метаданные.Справочники[0].Имя].ПустаяСсылка())", "Значение () не заполнено, а ожидалась заполненность"); - //КонецЕсли; - //Если Метаданные.Документы.Количество() > 0 Тогда - // Я_Тест.ПроверитьНеВыполнилось("ПроверитьЗаполненность(Документы[Метаданные.Документы[0].Имя].ПустаяСсылка())", "Значение () не заполнено, а ожидалась заполненность"); - //КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьНеЗаполненность() Экспорт - Я_Тест.ПроверитьНеЗаполненность(0); - Я_Тест.ПроверитьНеЗаполненность('00010101'); - - Я_Тест.ПроверитьНеЗаполненность(""); - Я_Тест.ПроверитьНеЗаполненность(" "); - Я_Тест.ПроверитьНеЗаполненность(" "); - Я_Тест.ПроверитьНеЗаполненность(" "); // там табуляция - Я_Тест.ПроверитьНеЗаполненность(NULL, "NULL"); - Я_Тест.ПроверитьНеЗаполненность(Неопределено, "Неопределено"); - - //Если Метаданные.Справочники.Количество() > 0 Тогда - // Я_Тест.ПроверитьНеЗаполненность(Справочники[Метаданные.Справочники[0].Имя].ПустаяСсылка()); - //КонецЕсли; - //Если Метаданные.Документы.Количество() > 0 Тогда - // Я_Тест.ПроверитьНеЗаполненность(Документы[Метаданные.Документы[0].Имя].ПустаяСсылка()); - //КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьНеЗаполненностьПадает() Экспорт - Я_Тест.ПроверитьНеВыполнилось("ПроверитьНеЗаполненность(1)", "Значение (1) заполнено, а ожидалась незаполненность"); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьНеЗаполненность(-1)", "Значение (-1) заполнено, а ожидалась незаполненность"); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьНеЗаполненность(0.00000000000000000000000001)", "Значение (0,00000000000000000000000001) заполнено, а ожидалась незаполненность"); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьНеЗаполненность(-0.00000000000000000000000001)", "Значение (-0,00000000000000000000000001) заполнено, а ожидалась незаполненность"); - - Я_Тест.ПроверитьНеВыполнилось("ПроверитьНеЗаполненность('00010102')", "Значение (02.01.0001 0:00:00) заполнено, а ожидалась незаполненность"); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьНеЗаполненность(ТекущаяДата())", "Значение ("+ТекущаяДата()+") заполнено, а ожидалась незаполненность"); - - Я_Тест.ПроверитьНеВыполнилось("ПроверитьНеЗаполненность(""а"")", "Значение (а) заполнено, а ожидалась незаполненность"); - - //Если Метаданные.Отчеты.Количество() > 0 Тогда - // Я_Тест.ПроверитьНеВыполнилось("ПроверитьНеЗаполненность(Отчеты[Метаданные.Отчеты[0].Имя].Создать())", "Значение (ОтчетОбъект."+Метаданные.Отчеты[0].Имя+") заполнено, а ожидалась незаполненность"); - //КонецЕсли; - //Если Метаданные.Обработки.Количество() > 0 Тогда - // Я_Тест.ПроверитьНеВыполнилось("ПроверитьНеЗаполненность(Обработки[Метаданные.Обработки[0].Имя].Создать())", "Значение (ОбработкаОбъект."+Метаданные.Обработки[0].Имя+") заполнено, а ожидалась незаполненность"); - //КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьЗаполненность_и_НеЗаполненность_Булево() Экспорт - Я_Тест.ПроверитьЗаполненность(Истина); - Я_Тест.ПроверитьЗаполненность(ЛОЖЬ); -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьЗаполненность_и_НеЗаполненность_Массивы() Экспорт - Массив = Новый Массив(1); - Я_Тест.ПроверитьЗаполненность(Массив); - Я_Тест.ПроверитьЗаполненность(Новый ФиксированныйМассив(Массив)); - - Массив = Новый Массив(2); - Я_Тест.ПроверитьЗаполненность(Массив); - Я_Тест.ПроверитьЗаполненность(Новый ФиксированныйМассив(Массив)); - - Я_Тест.ПроверитьНеЗаполненность(Новый Массив); - Массив = Новый Массив(1); - Массив.Очистить(); - Я_Тест.ПроверитьНеЗаполненность(Массив); - Я_Тест.ПроверитьНеЗаполненность(Новый ФиксированныйМассив(Массив)); -КонецПроцедуры diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/ObjectModule.txt" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/ObjectModule.txt" deleted file mode 100644 index 6effb8e4..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/ObjectModule.txt" +++ /dev/null @@ -1,118 +0,0 @@ -Перем Я_Тест; - -Функция ПолучитьСписокТестов(юТест) Экспорт - - Я_Тест = юТест; - - Результат = Я_Тест.Новый_НаборТестов(); - - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьЗаполненность"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьЗаполненностьПадает"); - - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьНеЗаполненность"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьНеЗаполненностьПадает"); - - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьЗаполненность_и_НеЗаполненность_Булево"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьЗаполненность_и_НеЗаполненность_Массивы"); - // TODO Другие коллекции значений - - Возврат Результат; - -КонецФункции - -Процедура Тест_ПроверитьЗаполненность() Экспорт - Я_Тест.ПроверитьЗаполненность(1); - Я_Тест.ПроверитьЗаполненность(-1); - Я_Тест.ПроверитьЗаполненность(0.00000000000000000000000001); - Я_Тест.ПроверитьЗаполненность(-0.00000000000000000000000001); - - Я_Тест.ПроверитьЗаполненность('00010102'); - Я_Тест.ПроверитьЗаполненность(ТекущаяДата()); - - Я_Тест.ПроверитьЗаполненность("а"); - - Если Метаданные.Отчеты.Количество() > 0 Тогда - Я_Тест.ПроверитьЗаполненность(Отчеты[Метаданные.Отчеты[0].Имя].Создать()); - КонецЕсли; - Если Метаданные.Обработки.Количество() > 0 Тогда - Я_Тест.ПроверитьЗаполненность(Обработки[Метаданные.Обработки[0].Имя].Создать()); - КонецЕсли; -КонецПроцедуры - -Процедура Тест_ПроверитьЗаполненностьПадает() Экспорт - Я_Тест.ПроверитьНеВыполнилось("ПроверитьЗаполненность(0)", "Значение (0) не заполнено, а ожидалась заполненность"); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьЗаполненность('00010101')", "Значение (01.01.0001 0:00:00) не заполнено, а ожидалась заполненность"); - - Я_Тест.ПроверитьНеВыполнилось("ПроверитьЗаполненность("""")", "Значение () не заполнено, а ожидалась заполненность"); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьЗаполненность("" "")", "Значение ( ) не заполнено, а ожидалась заполненность"); // один пробел - Я_Тест.ПроверитьНеВыполнилось("ПроверитьЗаполненность("" "")", "Значение ( ) не заполнено, а ожидалась заполненность"); // два пробела - Я_Тест.ПроверитьНеВыполнилось("ПроверитьЗаполненность("" "")", "Значение ( ) не заполнено, а ожидалась заполненность"); // табуляция - Я_Тест.ПроверитьНеВыполнилось("ПроверитьЗаполненность(NULL, ""NULL"")", "Значение () не заполнено, а ожидалась заполненность"+Символы.ПС+"NULL"); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьЗаполненность(Неопределено, ""Неопределено"")", "Значение () не заполнено, а ожидалась заполненность"+Символы.ПС+"Неопределено"); - - Если Метаданные.Справочники.Количество() > 0 Тогда - Я_Тест.ПроверитьНеВыполнилось("ПроверитьЗаполненность(Справочники[Метаданные.Справочники[0].Имя].ПустаяСсылка())", "Значение () не заполнено, а ожидалась заполненность"); - КонецЕсли; - Если Метаданные.Документы.Количество() > 0 Тогда - Я_Тест.ПроверитьНеВыполнилось("ПроверитьЗаполненность(Документы[Метаданные.Документы[0].Имя].ПустаяСсылка())", "Значение () не заполнено, а ожидалась заполненность"); - КонецЕсли; -КонецПроцедуры - -Процедура Тест_ПроверитьНеЗаполненность() Экспорт - Я_Тест.ПроверитьНеЗаполненность(0); - Я_Тест.ПроверитьНеЗаполненность('00010101'); - - Я_Тест.ПроверитьНеЗаполненность(""); - Я_Тест.ПроверитьНеЗаполненность(" "); - Я_Тест.ПроверитьНеЗаполненность(" "); - Я_Тест.ПроверитьНеЗаполненность(" "); // там табуляция - Я_Тест.ПроверитьНеЗаполненность(NULL, "NULL"); - Я_Тест.ПроверитьНеЗаполненность(Неопределено, "Неопределено"); - - Если Метаданные.Справочники.Количество() > 0 Тогда - Я_Тест.ПроверитьНеЗаполненность(Справочники[Метаданные.Справочники[0].Имя].ПустаяСсылка()); - КонецЕсли; - Если Метаданные.Документы.Количество() > 0 Тогда - Я_Тест.ПроверитьНеЗаполненность(Документы[Метаданные.Документы[0].Имя].ПустаяСсылка()); - КонецЕсли; -КонецПроцедуры - -Процедура Тест_ПроверитьНеЗаполненностьПадает() Экспорт - Я_Тест.ПроверитьНеВыполнилось("ПроверитьНеЗаполненность(1)", "Значение (1) заполнено, а ожидалась незаполненность"); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьНеЗаполненность(-1)", "Значение (-1) заполнено, а ожидалась незаполненность"); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьНеЗаполненность(0.00000000000000000000000001)", "Значение (0,00000000000000000000000001) заполнено, а ожидалась незаполненность"); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьНеЗаполненность(-0.00000000000000000000000001)", "Значение (-0,00000000000000000000000001) заполнено, а ожидалась незаполненность"); - - Я_Тест.ПроверитьНеВыполнилось("ПроверитьНеЗаполненность('00010102')", "Значение (02.01.0001 0:00:00) заполнено, а ожидалась незаполненность"); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьНеЗаполненность(ТекущаяДата())", "Значение ("+ТекущаяДата()+") заполнено, а ожидалась незаполненность"); - - Я_Тест.ПроверитьНеВыполнилось("ПроверитьНеЗаполненность(""а"")", "Значение (а) заполнено, а ожидалась незаполненность"); - - Если Метаданные.Отчеты.Количество() > 0 Тогда - Я_Тест.ПроверитьНеВыполнилось("ПроверитьНеЗаполненность(Отчеты[Метаданные.Отчеты[0].Имя].Создать())", "Значение (ОтчетОбъект."+Метаданные.Отчеты[0].Имя+") заполнено, а ожидалась незаполненность"); - КонецЕсли; - Если Метаданные.Обработки.Количество() > 0 Тогда - Я_Тест.ПроверитьНеВыполнилось("ПроверитьНеЗаполненность(Обработки[Метаданные.Обработки[0].Имя].Создать())", "Значение (ОбработкаОбъект."+Метаданные.Обработки[0].Имя+") заполнено, а ожидалась незаполненность"); - КонецЕсли; -КонецПроцедуры - -Процедура Тест_ПроверитьЗаполненность_и_НеЗаполненность_Булево() Экспорт - Я_Тест.ПроверитьЗаполненность(Истина); - Я_Тест.ПроверитьЗаполненность(ЛОЖЬ); -КонецПроцедуры - -Процедура Тест_ПроверитьЗаполненность_и_НеЗаполненность_Массивы() Экспорт - Массив = Новый Массив(1); - Я_Тест.ПроверитьЗаполненность(Массив); - Я_Тест.ПроверитьЗаполненность(Новый ФиксированныйМассив(Массив)); - - Массив = Новый Массив(2); - Я_Тест.ПроверитьЗаполненность(Массив); - Я_Тест.ПроверитьЗаполненность(Новый ФиксированныйМассив(Массив)); - - Я_Тест.ПроверитьНеЗаполненность(Новый Массив); - Массив = Новый Массив(1); - Массив.Очистить(); - Я_Тест.ПроверитьНеЗаполненность(Массив); - Я_Тест.ПроверитьНеЗаполненность(Новый ФиксированныйМассив(Массив)); -КонецПроцедуры diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/renames.txt" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/renames.txt" deleted file mode 100644 index 0a67165f..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/renames.txt" +++ /dev/null @@ -1,11 +0,0 @@ -498e7f98-0af6-4b64-81e4-2c1e28c56195.0\info-->und\498e7f98-0af6-4b64-81e4-2c1e28c56195.0\info -498e7f98-0af6-4b64-81e4-2c1e28c56195.0\text-->ObjectModule.txt -b5ba4408-4ca7-463c-8a93-74e29bdd8aa7-->und\b5ba4408-4ca7-463c-8a93-74e29bdd8aa7 -b5ba4408-4ca7-463c-8a93-74e29bdd8aa7.0-->Form\Форма\Форма.txt -b5ba4408-4ca7-463c-8a93-74e29bdd8aa7.0-->und\b5ba4408-4ca7-463c-8a93-74e29bdd8aa7.0 -b5ba4408-4ca7-463c-8a93-74e29bdd8aa7.0-->und\b5ba4408-4ca7-463c-8a93-74e29bdd8aa7.0 -copyinfo-->und\copyinfo -db8c43bc-6c10-462b-ae61-3c7c1d32345a-->und\db8c43bc-6c10-462b-ae61-3c7c1d32345a -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/b5ba4408-4ca7-463c-8a93-74e29bdd8aa7" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/b5ba4408-4ca7-463c-8a93-74e29bdd8aa7" deleted file mode 100644 index 58782562..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/b5ba4408-4ca7-463c-8a93-74e29bdd8aa7" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,b5ba4408-4ca7-463c-8a93-74e29bdd8aa7},"Форма", -{1,"ru","Форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/b5ba4408-4ca7-463c-8a93-74e29bdd8aa7.0" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/b5ba4408-4ca7-463c-8a93-74e29bdd8aa7.0" deleted file mode 100644 index d5012ef9..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/b5ba4408-4ca7-463c-8a93-74e29bdd8aa7.0" +++ /dev/null @@ -1,183 +0,0 @@ -{2, -{27,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1, -{1,0},0,0,1,1,1,0,1,0, -{0}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{0,0,1},0,1},0,"",""},"&НаКлиенте -Перем Я_Тест; - -&НаКлиенте -Функция ПолучитьСписокТестов(юТест) Экспорт - - Я_Тест = юТест; - - Результат = Я_Тест.Новый_НаборТестов(); - - Я_Тест.НаборТестов_Добавить(Результат, ""Тест_ПроверитьЗаполненность""); - Я_Тест.НаборТестов_Добавить(Результат, ""Тест_ПроверитьЗаполненностьПадает""); - - Я_Тест.НаборТестов_Добавить(Результат, ""Тест_ПроверитьНеЗаполненность""); - Я_Тест.НаборТестов_Добавить(Результат, ""Тест_ПроверитьНеЗаполненностьПадает""); - - Я_Тест.НаборТестов_Добавить(Результат, ""Тест_ПроверитьЗаполненность_и_НеЗаполненность_Булево""); - Я_Тест.НаборТестов_Добавить(Результат, ""Тест_ПроверитьЗаполненность_и_НеЗаполненность_Массивы""); - // TODO Другие коллекции значений - - Возврат Результат; - -КонецФункции - -&НаКлиенте -Процедура Тест_ПроверитьЗаполненность() Экспорт - Я_Тест.ПроверитьЗаполненность(1); - Я_Тест.ПроверитьЗаполненность(-1); - Я_Тест.ПроверитьЗаполненность(0.00000000000000000000000001); - Я_Тест.ПроверитьЗаполненность(-0.00000000000000000000000001); - - Я_Тест.ПроверитьЗаполненность('00010102'); - Я_Тест.ПроверитьЗаполненность(ТекущаяДата()); - - Я_Тест.ПроверитьЗаполненность(""а""); - - //Если Метаданные.Отчеты.Количество() > 0 Тогда - // Я_Тест.ПроверитьЗаполненность(Отчеты[Метаданные.Отчеты[0].Имя].Создать()); - //КонецЕсли; - //Если Метаданные.Обработки.Количество() > 0 Тогда - // Я_Тест.ПроверитьЗаполненность(Обработки[Метаданные.Обработки[0].Имя].Создать()); - //КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьЗаполненностьПадает() Экспорт - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьЗаполненность(0)"", ""Значение (0) не заполнено, а ожидалась заполненность""); - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьЗаполненность('00010101')"", ""Значение (01.01.0001 0:00:00) не заполнено, а ожидалась заполненность""); - - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьЗаполненность("""""""")"", ""Значение () не заполнено, а ожидалась заполненность""); - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьЗаполненность("""" """")"", ""Значение ( ) не заполнено, а ожидалась заполненность""); // один пробел - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьЗаполненность("""" """")"", ""Значение ( ) не заполнено, а ожидалась заполненность""); // два пробела - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьЗаполненность("""" """")"", ""Значение ( ) не заполнено, а ожидалась заполненность""); // табуляция - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьЗаполненность(NULL, """"NULL"""")"", ""Значение () не заполнено, а ожидалась заполненность""+Символы.ПС+""NULL""); - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьЗаполненность(Неопределено, """"Неопределено"""")"", ""Значение () не заполнено, а ожидалась заполненность""+Символы.ПС+""Неопределено""); - - //Если Метаданные.Справочники.Количество() > 0 Тогда - // Я_Тест.ПроверитьНеВыполнилось(""ПроверитьЗаполненность(Справочники[Метаданные.Справочники[0].Имя].ПустаяСсылка())"", ""Значение () не заполнено, а ожидалась заполненность""); - //КонецЕсли; - //Если Метаданные.Документы.Количество() > 0 Тогда - // Я_Тест.ПроверитьНеВыполнилось(""ПроверитьЗаполненность(Документы[Метаданные.Документы[0].Имя].ПустаяСсылка())"", ""Значение () не заполнено, а ожидалась заполненность""); - //КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьНеЗаполненность() Экспорт - Я_Тест.ПроверитьНеЗаполненность(0); - Я_Тест.ПроверитьНеЗаполненность('00010101'); - - Я_Тест.ПроверитьНеЗаполненность(""""); - Я_Тест.ПроверитьНеЗаполненность("" ""); - Я_Тест.ПроверитьНеЗаполненность("" ""); - Я_Тест.ПроверитьНеЗаполненность("" ""); // там табуляция - Я_Тест.ПроверитьНеЗаполненность(NULL, ""NULL""); - Я_Тест.ПроверитьНеЗаполненность(Неопределено, ""Неопределено""); - - //Если Метаданные.Справочники.Количество() > 0 Тогда - // Я_Тест.ПроверитьНеЗаполненность(Справочники[Метаданные.Справочники[0].Имя].ПустаяСсылка()); - //КонецЕсли; - //Если Метаданные.Документы.Количество() > 0 Тогда - // Я_Тест.ПроверитьНеЗаполненность(Документы[Метаданные.Документы[0].Имя].ПустаяСсылка()); - //КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьНеЗаполненностьПадает() Экспорт - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьНеЗаполненность(1)"", ""Значение (1) заполнено, а ожидалась незаполненность""); - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьНеЗаполненность(-1)"", ""Значение (-1) заполнено, а ожидалась незаполненность""); - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьНеЗаполненность(0.00000000000000000000000001)"", ""Значение (0,00000000000000000000000001) заполнено, а ожидалась незаполненность""); - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьНеЗаполненность(-0.00000000000000000000000001)"", ""Значение (-0,00000000000000000000000001) заполнено, а ожидалась незаполненность""); - - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьНеЗаполненность('00010102')"", ""Значение (02.01.0001 0:00:00) заполнено, а ожидалась незаполненность""); - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьНеЗаполненность(ТекущаяДата())"", ""Значение (""+ТекущаяДата()+"") заполнено, а ожидалась незаполненность""); - - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьНеЗаполненность(""""а"""")"", ""Значение (а) заполнено, а ожидалась незаполненность""); - - //Если Метаданные.Отчеты.Количество() > 0 Тогда - // Я_Тест.ПроверитьНеВыполнилось(""ПроверитьНеЗаполненность(Отчеты[Метаданные.Отчеты[0].Имя].Создать())"", ""Значение (ОтчетОбъект.""+Метаданные.Отчеты[0].Имя+"") заполнено, а ожидалась незаполненность""); - //КонецЕсли; - //Если Метаданные.Обработки.Количество() > 0 Тогда - // Я_Тест.ПроверитьНеВыполнилось(""ПроверитьНеЗаполненность(Обработки[Метаданные.Обработки[0].Имя].Создать())"", ""Значение (ОбработкаОбъект.""+Метаданные.Обработки[0].Имя+"") заполнено, а ожидалась незаполненность""); - //КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьЗаполненность_и_НеЗаполненность_Булево() Экспорт - Я_Тест.ПроверитьЗаполненность(Истина); - Я_Тест.ПроверитьЗаполненность(ЛОЖЬ); -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьЗаполненность_и_НеЗаполненность_Массивы() Экспорт - Массив = Новый Массив(1); - Я_Тест.ПроверитьЗаполненность(Массив); - Я_Тест.ПроверитьЗаполненность(Новый ФиксированныйМассив(Массив)); - - Массив = Новый Массив(2); - Я_Тест.ПроверитьЗаполненность(Массив); - Я_Тест.ПроверитьЗаполненность(Новый ФиксированныйМассив(Массив)); - - Я_Тест.ПроверитьНеЗаполненность(Новый Массив); - Массив = Новый Массив(1); - Массив.Очистить(); - Я_Тест.ПроверитьНеЗаполненность(Массив); - Я_Тест.ПроверитьНеЗаполненность(Новый ФиксированныйМассив(Массив)); -КонецПроцедуры -", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",ba5460d1-9861-4aa5-b6cb-88d26240fac8} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/copyinfo" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/copyinfo" deleted file mode 100644 index 7538c5f9..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{498e7f98-0af6-4b64-81e4-2c1e28c56195,498e7f98-0af6-4b64-81e4-2c1e28c56195,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"БазовыеТесты_Артур"} -}, -{b5ba4408-4ca7-463c-8a93-74e29bdd8aa7,b5ba4408-4ca7-463c-8a93-74e29bdd8aa7,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -} -}, -{1, -{ba5460d1-9861-4aa5-b6cb-88d26240fac8,498e7f98-0af6-4b64-81e4-2c1e28c56195,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/db8c43bc-6c10-462b-ae61-3c7c1d32345a" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/db8c43bc-6c10-462b-ae61-3c7c1d32345a" deleted file mode 100644 index ca6ac482..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/db8c43bc-6c10-462b-ae61-3c7c1d32345a" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{db8c43bc-6c10-462b-ae61-3c7c1d32345a},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,ba5460d1-9861-4aa5-b6cb-88d26240fac8,b2c5a111-d175-4d14-a391-a99f98dc2ad1, -{0, -{0, -{0,0,498e7f98-0af6-4b64-81e4-2c1e28c56195},"БазовыеТесты_Артур", -{1,"ru","Базовые тесты артур"},""} -},b5ba4408-4ca7-463c-8a93-74e29bdd8aa7,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,b5ba4408-4ca7-463c-8a93-74e29bdd8aa7}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/root" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/root" deleted file mode 100644 index 927969f0..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,db8c43bc-6c10-462b-ae61-3c7c1d32345a,} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/versions" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/versions" deleted file mode 100644 index ead5d2c1..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,10,"",55ef40ca-026a-4d21-998b-d58d4074aaf7,"versions",201b79d0-263d-47f0-bb5b-c770b48aa9ce,"498e7f98-0af6-4b64-81e4-2c1e28c56195.0",ff1bcc63-2654-4276-9175-68427d6b0956,"root",6ca7b258-3207-4a72-8f10-4856d087c7b9,"db8c43bc-6c10-462b-ae61-3c7c1d32345a",3534583e-81d4-4224-8311-68ed63297862,"b5ba4408-4ca7-463c-8a93-74e29bdd8aa7.0",b89b0001-23de-4f77-9742-352712d10d92,"b5ba4408-4ca7-463c-8a93-74e29bdd8aa7",ffd8761a-08dc-420e-8b32-607a852a2658,"version",14c52f02-1dbd-48f4-8480-a6e7b230ceea,"498e7f98-0af6-4b64-81e4-2c1e28c56195",3eb346f0-3d20-4fb7-9b8a-da7d5c29401f,"copyinfo",0cc8175b-ef3a-419e-be61-45fae58120e0} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index 0261561d..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,52 +0,0 @@ -&НаКлиенте -Перем Я_Тест; - -&НаКлиенте -Функция ПолучитьСписокТестов(юТест) Экспорт - - Я_Тест = юТест; - - Результат = Я_Тест.Новый_НаборТестов(); - - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьРавенствоУспех"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьРавенствоПадение"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьНеРавенствоУспех"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьНеРавенствоПадение"); - - Возврат Результат; - -КонецФункции - -&НаКлиенте -Процедура Тест_ПроверитьРавенствоУспех() Экспорт - Я_Тест.ПроверитьРавенство(2,2); - Я_Тест.ПроверитьРавенство("1","1"); - Я_Тест.ПроверитьРавенство(Неопределено, Неопределено); - Я_Тест.ПроверитьРавенство('20100203', '20100203'); -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьРавенствоПадение() Экспорт - Я_Тест.ПроверитьНеВыполнилось("ПроверитьРавенство(2, 3)", "Сравниваемые значения (2; 3) не равны, а хотели, чтобы были равны."); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьРавенство(""1"", 1)", "Сравниваемые значения (1; 1) не равны, а хотели, чтобы были равны."); // Сообщение об ошибке - Зачет !!! - Я_Тест.ПроверитьНеВыполнилось("ПроверитьРавенство(Неопределено, 0)", "Сравниваемые значения (; 0) не равны, а хотели, чтобы были равны."); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьРавенство(Неопределено, Null)", "Сравниваемые значения (; ) не равны, а хотели, чтобы были равны."); // А тут - зачет автоматом :)) - Я_Тест.ПроверитьНеВыполнилось("ПроверитьРавенство('20100203', '20100204')", "Сравниваемые значения (03.02.2010 0:00:00; 04.02.2010 0:00:00) не равны, а хотели, чтобы были равны."); -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьНеРавенствоУспех() Экспорт - Я_Тест.ПроверитьНеРавенство(2, 3); - Я_Тест.ПроверитьНеРавенство("1", 1); - Я_Тест.ПроверитьНеРавенство(Неопределено, 0); - Я_Тест.ПроверитьНеРавенство(Неопределено, Null); - Я_Тест.ПроверитьНеРавенство('20100203', '20100204'); -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьНеРавенствоПадение() Экспорт - Я_Тест.ПроверитьНеВыполнилось("ПроверитьНеРавенство(2,2)", "Сравниваемые значения (2; 2) равны, а хотели, чтобы были не равны."); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьНеРавенство(""1"",""1"")", "Сравниваемые значения (1; 1) равны, а хотели, чтобы были не равны."); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьНеРавенство(Неопределено, Неопределено)", "Сравниваемые значения (; ) равны, а хотели, чтобы были не равны."); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьНеРавенство('20100203', '20100203')", "Сравниваемые значения (03.02.2010 0:00:00; 03.02.2010 0:00:00) равны, а хотели, чтобы были не равны."); -КонецПроцедуры \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/ObjectModule.txt" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/ObjectModule.txt" deleted file mode 100644 index ee6eaa3a..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/ObjectModule.txt" +++ /dev/null @@ -1,46 +0,0 @@ -Перем Я_Тест; - -Функция ПолучитьСписокТестов(юТест) Экспорт - - Я_Тест = юТест; - - Результат = Я_Тест.Новый_НаборТестов(); - - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьРавенствоУспех"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьРавенствоПадение"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьНеРавенствоУспех"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьНеРавенствоПадение"); - - Возврат Результат; - -КонецФункции - -Процедура Тест_ПроверитьРавенствоУспех() Экспорт - Я_Тест.ПроверитьРавенство(2,2); - Я_Тест.ПроверитьРавенство("1","1"); - Я_Тест.ПроверитьРавенство(Неопределено, Неопределено); - Я_Тест.ПроверитьРавенство('20100203', '20100203'); -КонецПроцедуры - -Процедура Тест_ПроверитьРавенствоПадение() Экспорт - Я_Тест.ПроверитьНеВыполнилось("ПроверитьРавенство(2, 3)", "Сравниваемые значения (2; 3) не равны, а хотели, чтобы были равны."); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьРавенство(""1"", 1)", "Сравниваемые значения (1; 1) не равны, а хотели, чтобы были равны."); // Сообщение об ошибке - Зачет !!! - Я_Тест.ПроверитьНеВыполнилось("ПроверитьРавенство(Неопределено, 0)", "Сравниваемые значения (; 0) не равны, а хотели, чтобы были равны."); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьРавенство(Неопределено, Null)", "Сравниваемые значения (; ) не равны, а хотели, чтобы были равны."); // А тут - зачет автоматом :)) - Я_Тест.ПроверитьНеВыполнилось("ПроверитьРавенство('20100203', '20100204')", "Сравниваемые значения (03.02.2010 0:00:00; 04.02.2010 0:00:00) не равны, а хотели, чтобы были равны."); -КонецПроцедуры - -Процедура Тест_ПроверитьНеРавенствоУспех() Экспорт - Я_Тест.ПроверитьНеРавенство(2, 3); - Я_Тест.ПроверитьНеРавенство("1", 1); - Я_Тест.ПроверитьНеРавенство(Неопределено, 0); - Я_Тест.ПроверитьНеРавенство(Неопределено, Null); - Я_Тест.ПроверитьНеРавенство('20100203', '20100204'); -КонецПроцедуры - -Процедура Тест_ПроверитьНеРавенствоПадение() Экспорт - Я_Тест.ПроверитьНеВыполнилось("ПроверитьНеРавенство(2,2)", "Сравниваемые значения (2; 2) равны, а хотели, чтобы были не равны."); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьНеРавенство(""1"",""1"")", "Сравниваемые значения (1; 1) равны, а хотели, чтобы были не равны."); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьНеРавенство(Неопределено, Неопределено)", "Сравниваемые значения (; ) равны, а хотели, чтобы были не равны."); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьНеРавенство('20100203', '20100203')", "Сравниваемые значения (03.02.2010 0:00:00; 03.02.2010 0:00:00) равны, а хотели, чтобы были не равны."); -КонецПроцедуры \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/renames.txt" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/renames.txt" deleted file mode 100644 index b17938c4..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/renames.txt" +++ /dev/null @@ -1,11 +0,0 @@ -07573e7b-0512-47c2-8d9b-ad23810dfa3a-->und\07573e7b-0512-47c2-8d9b-ad23810dfa3a -164f86b3-6b0d-4640-ba21-1138c5c2fbfc.0\info-->und\164f86b3-6b0d-4640-ba21-1138c5c2fbfc.0\info -164f86b3-6b0d-4640-ba21-1138c5c2fbfc.0\text-->ObjectModule.txt -6568a075-35b8-40cb-8926-5d250300828c-->und\6568a075-35b8-40cb-8926-5d250300828c -6568a075-35b8-40cb-8926-5d250300828c.0-->Form\Форма\Форма.txt -6568a075-35b8-40cb-8926-5d250300828c.0-->und\6568a075-35b8-40cb-8926-5d250300828c.0 -6568a075-35b8-40cb-8926-5d250300828c.0-->und\6568a075-35b8-40cb-8926-5d250300828c.0 -copyinfo-->und\copyinfo -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/07573e7b-0512-47c2-8d9b-ad23810dfa3a" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/07573e7b-0512-47c2-8d9b-ad23810dfa3a" deleted file mode 100644 index 16e5d894..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/07573e7b-0512-47c2-8d9b-ad23810dfa3a" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{07573e7b-0512-47c2-8d9b-ad23810dfa3a},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,fabc541a-e1d4-402a-9fb9-cfd3b45871d1,8ffee35e-d269-44cd-8db4-903ef098f75c, -{0, -{0, -{0,0,164f86b3-6b0d-4640-ba21-1138c5c2fbfc},"ПроверитьРавенство", -{1,"ru","Проверить равенство"},""} -},6568a075-35b8-40cb-8926-5d250300828c,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,6568a075-35b8-40cb-8926-5d250300828c}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/6568a075-35b8-40cb-8926-5d250300828c" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/6568a075-35b8-40cb-8926-5d250300828c" deleted file mode 100644 index 3985fcd8..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/6568a075-35b8-40cb-8926-5d250300828c" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,6568a075-35b8-40cb-8926-5d250300828c},"Форма", -{1,"ru","Форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/6568a075-35b8-40cb-8926-5d250300828c.0" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/6568a075-35b8-40cb-8926-5d250300828c.0" deleted file mode 100644 index 7b9b35da..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/6568a075-35b8-40cb-8926-5d250300828c.0" +++ /dev/null @@ -1,108 +0,0 @@ -{2, -{27,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1, -{1,0},0,0,1,1,1,0,1,0, -{0}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{0,0,1},0,1},0,"",""},"&НаКлиенте -Перем Я_Тест; - -&НаКлиенте -Функция ПолучитьСписокТестов(юТест) Экспорт - - Я_Тест = юТест; - - Результат = Я_Тест.Новый_НаборТестов(); - - Я_Тест.НаборТестов_Добавить(Результат, ""Тест_ПроверитьРавенствоУспех""); - Я_Тест.НаборТестов_Добавить(Результат, ""Тест_ПроверитьРавенствоПадение""); - Я_Тест.НаборТестов_Добавить(Результат, ""Тест_ПроверитьНеРавенствоУспех""); - Я_Тест.НаборТестов_Добавить(Результат, ""Тест_ПроверитьНеРавенствоПадение""); - - Возврат Результат; - -КонецФункции - -&НаКлиенте -Процедура Тест_ПроверитьРавенствоУспех() Экспорт - Я_Тест.ПроверитьРавенство(2,2); - Я_Тест.ПроверитьРавенство(""1"",""1""); - Я_Тест.ПроверитьРавенство(Неопределено, Неопределено); - Я_Тест.ПроверитьРавенство('20100203', '20100203'); -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьРавенствоПадение() Экспорт - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьРавенство(2, 3)"", ""Сравниваемые значения (2; 3) не равны, а хотели, чтобы были равны.""); - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьРавенство(""""1"""", 1)"", ""Сравниваемые значения (1; 1) не равны, а хотели, чтобы были равны.""); // Сообщение об ошибке - Зачет !!! - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьРавенство(Неопределено, 0)"", ""Сравниваемые значения (; 0) не равны, а хотели, чтобы были равны.""); - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьРавенство(Неопределено, Null)"", ""Сравниваемые значения (; ) не равны, а хотели, чтобы были равны.""); // А тут - зачет автоматом :)) - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьРавенство('20100203', '20100204')"", ""Сравниваемые значения (03.02.2010 0:00:00; 04.02.2010 0:00:00) не равны, а хотели, чтобы были равны.""); -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьНеРавенствоУспех() Экспорт - Я_Тест.ПроверитьНеРавенство(2, 3); - Я_Тест.ПроверитьНеРавенство(""1"", 1); - Я_Тест.ПроверитьНеРавенство(Неопределено, 0); - Я_Тест.ПроверитьНеРавенство(Неопределено, Null); - Я_Тест.ПроверитьНеРавенство('20100203', '20100204'); -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьНеРавенствоПадение() Экспорт - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьНеРавенство(2,2)"", ""Сравниваемые значения (2; 2) равны, а хотели, чтобы были не равны.""); - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьНеРавенство(""""1"""",""""1"""")"", ""Сравниваемые значения (1; 1) равны, а хотели, чтобы были не равны.""); - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьНеРавенство(Неопределено, Неопределено)"", ""Сравниваемые значения (; ) равны, а хотели, чтобы были не равны.""); - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьНеРавенство('20100203', '20100203')"", ""Сравниваемые значения (03.02.2010 0:00:00; 03.02.2010 0:00:00) равны, а хотели, чтобы были не равны.""); -КонецПроцедуры", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",fabc541a-e1d4-402a-9fb9-cfd3b45871d1} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/copyinfo" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/copyinfo" deleted file mode 100644 index eb946b5e..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{164f86b3-6b0d-4640-ba21-1138c5c2fbfc,164f86b3-6b0d-4640-ba21-1138c5c2fbfc,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ПроверитьРавенство"} -}, -{6568a075-35b8-40cb-8926-5d250300828c,6568a075-35b8-40cb-8926-5d250300828c,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -} -}, -{1, -{fabc541a-e1d4-402a-9fb9-cfd3b45871d1,164f86b3-6b0d-4640-ba21-1138c5c2fbfc,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/root" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/root" deleted file mode 100644 index 016944d1..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,07573e7b-0512-47c2-8d9b-ad23810dfa3a,} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/versions" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/versions" deleted file mode 100644 index d33481b2..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,10,"",4fa93749-62a5-4d7b-a9d3-63d0031c6ef6,"versions",875f7aa7-974a-4d85-a891-d47b1f586ba5,"root",218d9f7f-775e-4704-a9cd-98a10c8e6503,"07573e7b-0512-47c2-8d9b-ad23810dfa3a",acbdeb75-907f-4d9b-88dd-5bd228dd6d47,"6568a075-35b8-40cb-8926-5d250300828c.0",05586bee-f6d1-4c72-b29b-f95e07893acf,"version",ab8e8dbc-c37a-4657-85b5-615cda6948c7,"6568a075-35b8-40cb-8926-5d250300828c",5ce107e9-ad17-441e-8b82-227799a570bd,"164f86b3-6b0d-4640-ba21-1138c5c2fbfc.0",d658e296-53c3-49ec-b781-0a6294ddd454,"164f86b3-6b0d-4640-ba21-1138c5c2fbfc",832eb0f2-6509-421e-b715-08fcfc0bc1c9,"copyinfo",cd7612a2-3955-4e6c-b1ad-41bbc6c7e16c} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index 3b650457..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,94 +0,0 @@ -&НаКлиенте -Перем Я_Тест; - -&НаКлиенте -Функция ПолучитьСписокТестов(юТест) Экспорт - - Я_Тест = юТест; - - Результат = Я_Тест.Новый_НаборТестов(); - - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьТип_НаименованиеТипа"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьТип_СамТип"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьТип_Ошибки"); - - Возврат Результат; - -КонецФункции - -&НаКлиенте -Процедура Тест_ПроверитьТип_НаименованиеТипа() Экспорт - - Я_Тест.ПроверитьТип(ТипЗнч(1), "Тип"); - - Я_Тест.ПроверитьТип(1, "Число"); - Я_Тест.ПроверитьТип(0, "Число"); - - Я_Тест.ПроверитьТип("", "Строка"); - Я_Тест.ПроверитьТип("12", "Строка"); - - Я_Тест.ПроверитьТип(Ложь, "Булево"); - Я_Тест.ПроверитьТип(Истина, "Булево"); - - Я_Тест.ПроверитьТип('00010101', "Дата"); - Я_Тест.ПроверитьТип(ТекущаяДата(), "Дата"); - - //Если Метаданные.Справочники.Количество() > 0 Тогда - // имяМетаданного = Метаданные.Справочники[0].Имя; - // Я_Тест.ПроверитьТип(Справочники[имяМетаданного].ПустаяСсылка(), "СправочникСсылка."+имяМетаданного); - //КонецЕсли; - //Если Метаданные.Документы.Количество() > 0 Тогда - // имяМетаданного = Метаданные.Документы[0].Имя; - // Я_Тест.ПроверитьТип(Документы[имяМетаданного].ПустаяСсылка(), "ДокументСсылка."+имяМетаданного); - //КонецЕсли; - //Если Метаданные.Отчеты.Количество() > 0 Тогда - // имяМетаданного = Метаданные.Отчеты[0].Имя; - // Я_Тест.ПроверитьТип(Отчеты[имяМетаданного].Создать(), "ОтчетОбъект."+имяМетаданного); - //КонецЕсли; - //Если Метаданные.Обработки.Количество() > 0 Тогда - // имяМетаданного = Метаданные.Обработки[0].Имя; - // Я_Тест.ПроверитьТип(Обработки[имяМетаданного].Создать(), "ОбработкаОбъект."+имяМетаданного); - //КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьТип_СамТип() Экспорт - Я_Тест.ПроверитьТип(1, Тип("Число")); - Я_Тест.ПроверитьТип(0, Тип("Число")); - - Я_Тест.ПроверитьТип("", Тип("Строка")); - Я_Тест.ПроверитьТип("12", Тип("Строка")); - - Я_Тест.ПроверитьТип(ЛОЖЬ, Тип("Булево")); - Я_Тест.ПроверитьТип(Истина, Тип("Булево")); - - Я_Тест.ПроверитьТип('00010101', Тип("Дата")); - Я_Тест.ПроверитьТип(ТекущаяДата(), Тип("Дата")); - - //Если Метаданные.Справочники.Количество() > 0 Тогда - // имяМетаданного = Метаданные.Справочники[0].Имя; - // Я_Тест.ПроверитьТип(Справочники[имяМетаданного].ПустаяСсылка(), Тип("СправочникСсылка."+имяМетаданного)); - //КонецЕсли; - //Если Метаданные.Документы.Количество() > 0 Тогда - // имяМетаданного = Метаданные.Документы[0].Имя; - // Я_Тест.ПроверитьТип(Документы[имяМетаданного].ПустаяСсылка(), Тип("ДокументСсылка."+имяМетаданного)); - //КонецЕсли; - //Если Метаданные.Отчеты.Количество() > 0 Тогда - // имяМетаданного = Метаданные.Отчеты[0].Имя; - // Я_Тест.ПроверитьТип(Отчеты[имяМетаданного].Создать(), Тип("ОтчетОбъект."+имяМетаданного)); - //КонецЕсли; - //Если Метаданные.Обработки.Количество() > 0 Тогда - // имяМетаданного = Метаданные.Обработки[0].Имя; - // Я_Тест.ПроверитьТип(Обработки[имяМетаданного].Создать(), Тип("ОбработкаОбъект."+имяМетаданного)); - //КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьТип_Ошибки() Экспорт - //Я_Тест.ПроверитьТип(1, Истина); - //Я_Тест.ПроверитьТип(1, "Строка"); - - Я_Тест.ПроверитьНеВыполнилось("ПроверитьТип(1, Истина)", "ПроверитьТип: Тип значения параметра ТипИлиИмяТипа должен быть <Тип> или <Строка>, а получили <Булево>"); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьТип(1, ""Строка"")", "Типом значения <1> является <Число>, а ожидался тип <Строка>."); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьТип(1, ТипЗнч(""Строка""))", "Типом значения <1> является <Число>, а ожидался тип <Строка>."); -КонецПроцедуры diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/ObjectModule.txt" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/ObjectModule.txt" deleted file mode 100644 index 84fa2b38..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/ObjectModule.txt" +++ /dev/null @@ -1,89 +0,0 @@ -Перем Я_Тест; - -Функция ПолучитьСписокТестов(юТест) Экспорт - - Я_Тест = юТест; - - Результат = Я_Тест.Новый_НаборТестов(); - - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьТип_НаименованиеТипа"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьТип_СамТип"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьТип_Ошибки"); - - Возврат Результат; - -КонецФункции - -Процедура Тест_ПроверитьТип_НаименованиеТипа() Экспорт - - Я_Тест.ПроверитьТип(ТипЗнч(1), "Тип"); - - Я_Тест.ПроверитьТип(1, "Число"); - Я_Тест.ПроверитьТип(0, "Число"); - - Я_Тест.ПроверитьТип("", "Строка"); - Я_Тест.ПроверитьТип("12", "Строка"); - - Я_Тест.ПроверитьТип(Ложь, "Булево"); - Я_Тест.ПроверитьТип(Истина, "Булево"); - - Я_Тест.ПроверитьТип('00010101', "Дата"); - Я_Тест.ПроверитьТип(ТекущаяДата(), "Дата"); - - Если Метаданные.Справочники.Количество() > 0 Тогда - имяМетаданного = Метаданные.Справочники[0].Имя; - Я_Тест.ПроверитьТип(Справочники[имяМетаданного].ПустаяСсылка(), "СправочникСсылка."+имяМетаданного); - КонецЕсли; - Если Метаданные.Документы.Количество() > 0 Тогда - имяМетаданного = Метаданные.Документы[0].Имя; - Я_Тест.ПроверитьТип(Документы[имяМетаданного].ПустаяСсылка(), "ДокументСсылка."+имяМетаданного); - КонецЕсли; - Если Метаданные.Отчеты.Количество() > 0 Тогда - имяМетаданного = Метаданные.Отчеты[0].Имя; - Я_Тест.ПроверитьТип(Отчеты[имяМетаданного].Создать(), "ОтчетОбъект."+имяМетаданного); - КонецЕсли; - Если Метаданные.Обработки.Количество() > 0 Тогда - имяМетаданного = Метаданные.Обработки[0].Имя; - Я_Тест.ПроверитьТип(Обработки[имяМетаданного].Создать(), "ОбработкаОбъект."+имяМетаданного); - КонецЕсли; -КонецПроцедуры - -Процедура Тест_ПроверитьТип_СамТип() Экспорт - Я_Тест.ПроверитьТип(1, Тип("Число")); - Я_Тест.ПроверитьТип(0, Тип("Число")); - - Я_Тест.ПроверитьТип("", Тип("Строка")); - Я_Тест.ПроверитьТип("12", Тип("Строка")); - - Я_Тест.ПроверитьТип(ЛОЖЬ, Тип("Булево")); - Я_Тест.ПроверитьТип(Истина, Тип("Булево")); - - Я_Тест.ПроверитьТип('00010101', Тип("Дата")); - Я_Тест.ПроверитьТип(ТекущаяДата(), Тип("Дата")); - - Если Метаданные.Справочники.Количество() > 0 Тогда - имяМетаданного = Метаданные.Справочники[0].Имя; - Я_Тест.ПроверитьТип(Справочники[имяМетаданного].ПустаяСсылка(), Тип("СправочникСсылка."+имяМетаданного)); - КонецЕсли; - Если Метаданные.Документы.Количество() > 0 Тогда - имяМетаданного = Метаданные.Документы[0].Имя; - Я_Тест.ПроверитьТип(Документы[имяМетаданного].ПустаяСсылка(), Тип("ДокументСсылка."+имяМетаданного)); - КонецЕсли; - Если Метаданные.Отчеты.Количество() > 0 Тогда - имяМетаданного = Метаданные.Отчеты[0].Имя; - Я_Тест.ПроверитьТип(Отчеты[имяМетаданного].Создать(), Тип("ОтчетОбъект."+имяМетаданного)); - КонецЕсли; - Если Метаданные.Обработки.Количество() > 0 Тогда - имяМетаданного = Метаданные.Обработки[0].Имя; - Я_Тест.ПроверитьТип(Обработки[имяМетаданного].Создать(), Тип("ОбработкаОбъект."+имяМетаданного)); - КонецЕсли; -КонецПроцедуры - -Процедура Тест_ПроверитьТип_Ошибки() Экспорт - //Я_Тест.ПроверитьТип(1, Истина); - //Я_Тест.ПроверитьТип(1, "Строка"); - - Я_Тест.ПроверитьНеВыполнилось("ПроверитьТип(1, Истина)", "ПроверитьТип: Тип значения параметра ТипИлиИмяТипа должен быть <Тип> или <Строка>, а получили <Булево>"); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьТип(1, ""Строка"")", "Типом значения <1> является <Число>, а ожидался тип <Строка>."); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьТип(1, ТипЗнч(""Строка""))", "Типом значения <1> является <Число>, а ожидался тип <Строка>."); -КонецПроцедуры diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/renames.txt" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/renames.txt" deleted file mode 100644 index 06e18775..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/renames.txt" +++ /dev/null @@ -1,11 +0,0 @@ -74b001c8-6be4-4e47-8bc9-538820412842.0\info-->und\74b001c8-6be4-4e47-8bc9-538820412842.0\info -74b001c8-6be4-4e47-8bc9-538820412842.0\text-->ObjectModule.txt -79484d08-04c6-46d8-8f77-43c6f3819dd9-->und\79484d08-04c6-46d8-8f77-43c6f3819dd9 -a46117c7-df6b-49f6-a421-1ae66f5926ef-->und\a46117c7-df6b-49f6-a421-1ae66f5926ef -a46117c7-df6b-49f6-a421-1ae66f5926ef.0-->Form\Форма\Форма.txt -a46117c7-df6b-49f6-a421-1ae66f5926ef.0-->und\a46117c7-df6b-49f6-a421-1ae66f5926ef.0 -a46117c7-df6b-49f6-a421-1ae66f5926ef.0-->und\a46117c7-df6b-49f6-a421-1ae66f5926ef.0 -copyinfo-->und\copyinfo -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/79484d08-04c6-46d8-8f77-43c6f3819dd9" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/79484d08-04c6-46d8-8f77-43c6f3819dd9" deleted file mode 100644 index 8b26f057..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/79484d08-04c6-46d8-8f77-43c6f3819dd9" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{79484d08-04c6-46d8-8f77-43c6f3819dd9},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,be3b4dc4-f783-49aa-b38f-f92991f424a5,7f3ef92c-d2e0-42b8-acab-f37b00a0f018, -{0, -{0, -{0,0,74b001c8-6be4-4e47-8bc9-538820412842},"ТестыПроверитьТип", -{1,"ru","Тесты проверить тип"},""} -},a46117c7-df6b-49f6-a421-1ae66f5926ef,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,a46117c7-df6b-49f6-a421-1ae66f5926ef}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/a46117c7-df6b-49f6-a421-1ae66f5926ef" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/a46117c7-df6b-49f6-a421-1ae66f5926ef" deleted file mode 100644 index 3a25aebd..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/a46117c7-df6b-49f6-a421-1ae66f5926ef" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,a46117c7-df6b-49f6-a421-1ae66f5926ef},"Форма", -{1,"ru","Форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/a46117c7-df6b-49f6-a421-1ae66f5926ef.0" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/a46117c7-df6b-49f6-a421-1ae66f5926ef.0" deleted file mode 100644 index 326855f6..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/a46117c7-df6b-49f6-a421-1ae66f5926ef.0" +++ /dev/null @@ -1,161 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"&НаКлиенте -Перем Я_Тест; - -&НаКлиенте -Функция ПолучитьСписокТестов(юТест) Экспорт - - Я_Тест = юТест; - - Результат = Я_Тест.Новый_НаборТестов(); - - Я_Тест.НаборТестов_Добавить(Результат, ""Тест_ПроверитьТип_НаименованиеТипа""); - Я_Тест.НаборТестов_Добавить(Результат, ""Тест_ПроверитьТип_СамТип""); - Я_Тест.НаборТестов_Добавить(Результат, ""Тест_ПроверитьТип_Ошибки""); - - Возврат Результат; - -КонецФункции - -&НаКлиенте -Процедура Тест_ПроверитьТип_НаименованиеТипа() Экспорт - - Я_Тест.ПроверитьТип(ТипЗнч(1), ""Тип""); - - Я_Тест.ПроверитьТип(1, ""Число""); - Я_Тест.ПроверитьТип(0, ""Число""); - - Я_Тест.ПроверитьТип("""", ""Строка""); - Я_Тест.ПроверитьТип(""12"", ""Строка""); - - Я_Тест.ПроверитьТип(Ложь, ""Булево""); - Я_Тест.ПроверитьТип(Истина, ""Булево""); - - Я_Тест.ПроверитьТип('00010101', ""Дата""); - Я_Тест.ПроверитьТип(ТекущаяДата(), ""Дата""); - - //Если Метаданные.Справочники.Количество() > 0 Тогда - // имяМетаданного = Метаданные.Справочники[0].Имя; - // Я_Тест.ПроверитьТип(Справочники[имяМетаданного].ПустаяСсылка(), ""СправочникСсылка.""+имяМетаданного); - //КонецЕсли; - //Если Метаданные.Документы.Количество() > 0 Тогда - // имяМетаданного = Метаданные.Документы[0].Имя; - // Я_Тест.ПроверитьТип(Документы[имяМетаданного].ПустаяСсылка(), ""ДокументСсылка.""+имяМетаданного); - //КонецЕсли; - //Если Метаданные.Отчеты.Количество() > 0 Тогда - // имяМетаданного = Метаданные.Отчеты[0].Имя; - // Я_Тест.ПроверитьТип(Отчеты[имяМетаданного].Создать(), ""ОтчетОбъект.""+имяМетаданного); - //КонецЕсли; - //Если Метаданные.Обработки.Количество() > 0 Тогда - // имяМетаданного = Метаданные.Обработки[0].Имя; - // Я_Тест.ПроверитьТип(Обработки[имяМетаданного].Создать(), ""ОбработкаОбъект.""+имяМетаданного); - //КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьТип_СамТип() Экспорт - Я_Тест.ПроверитьТип(1, Тип(""Число"")); - Я_Тест.ПроверитьТип(0, Тип(""Число"")); - - Я_Тест.ПроверитьТип("""", Тип(""Строка"")); - Я_Тест.ПроверитьТип(""12"", Тип(""Строка"")); - - Я_Тест.ПроверитьТип(ЛОЖЬ, Тип(""Булево"")); - Я_Тест.ПроверитьТип(Истина, Тип(""Булево"")); - - Я_Тест.ПроверитьТип('00010101', Тип(""Дата"")); - Я_Тест.ПроверитьТип(ТекущаяДата(), Тип(""Дата"")); - - //Если Метаданные.Справочники.Количество() > 0 Тогда - // имяМетаданного = Метаданные.Справочники[0].Имя; - // Я_Тест.ПроверитьТип(Справочники[имяМетаданного].ПустаяСсылка(), Тип(""СправочникСсылка.""+имяМетаданного)); - //КонецЕсли; - //Если Метаданные.Документы.Количество() > 0 Тогда - // имяМетаданного = Метаданные.Документы[0].Имя; - // Я_Тест.ПроверитьТип(Документы[имяМетаданного].ПустаяСсылка(), Тип(""ДокументСсылка.""+имяМетаданного)); - //КонецЕсли; - //Если Метаданные.Отчеты.Количество() > 0 Тогда - // имяМетаданного = Метаданные.Отчеты[0].Имя; - // Я_Тест.ПроверитьТип(Отчеты[имяМетаданного].Создать(), Тип(""ОтчетОбъект.""+имяМетаданного)); - //КонецЕсли; - //Если Метаданные.Обработки.Количество() > 0 Тогда - // имяМетаданного = Метаданные.Обработки[0].Имя; - // Я_Тест.ПроверитьТип(Обработки[имяМетаданного].Создать(), Тип(""ОбработкаОбъект.""+имяМетаданного)); - //КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ПроверитьТип_Ошибки() Экспорт - //Я_Тест.ПроверитьТип(1, Истина); - //Я_Тест.ПроверитьТип(1, ""Строка""); - - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьТип(1, Истина)"", ""ПроверитьТип: Тип значения параметра ТипИлиИмяТипа должен быть <Тип> или <Строка>, а получили <Булево>""); - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьТип(1, """"Строка"""")"", ""Типом значения <1> является <Число>, а ожидался тип <Строка>.""); - Я_Тест.ПроверитьНеВыполнилось(""ПроверитьТип(1, ТипЗнч(""""Строка""""))"", ""Типом значения <1> является <Число>, а ожидался тип <Строка>.""); -КонецПроцедуры -", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",be3b4dc4-f783-49aa-b38f-f92991f424a5} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/copyinfo" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/copyinfo" deleted file mode 100644 index a44e39a2..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{74b001c8-6be4-4e47-8bc9-538820412842,74b001c8-6be4-4e47-8bc9-538820412842,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ТестыПроверитьТип"} -}, -{a46117c7-df6b-49f6-a421-1ae66f5926ef,a46117c7-df6b-49f6-a421-1ae66f5926ef,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -} -}, -{1, -{be3b4dc4-f783-49aa-b38f-f92991f424a5,74b001c8-6be4-4e47-8bc9-538820412842,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/root" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/root" deleted file mode 100644 index 9746f31c..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,79484d08-04c6-46d8-8f77-43c6f3819dd9,} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/versions" "b/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/versions" deleted file mode 100644 index 32df3da2..00000000 --- "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,10,"",eb03b839-6894-40ea-81b1-f7fbedb5ed57,"versions",4259d3eb-5f4c-417e-b940-9279debb1233,"a46117c7-df6b-49f6-a421-1ae66f5926ef.0",23f52861-7194-4a62-8266-79fd9577de3a,"root",9ee1e2ed-e911-47dc-9464-1698b2a840e4,"74b001c8-6be4-4e47-8bc9-538820412842.0",08268245-5651-412c-9d52-3a817c73f53b,"a46117c7-df6b-49f6-a421-1ae66f5926ef",d8369999-34fe-4a9b-b5c9-d55f83a4bcd6,"79484d08-04c6-46d8-8f77-43c6f3819dd9",475c1d60-8d38-4a4c-9622-45dfc9acf6ef,"version",eee61cda-8885-4f3d-a4a2-f3d796d85eea,"74b001c8-6be4-4e47-8bc9-538820412842",ec722e06-0afe-4162-ba79-a2faa3b2c374,"copyinfo",56655aef-043c-4db2-ba0c-f29944e44032} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" "b/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" deleted file mode 100644 index 75b9d971..00000000 --- "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" +++ /dev/null @@ -1,36 +0,0 @@ - -Перем юТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - ВсеТесты.Добавить("Модуль_Тест_Обычный"); - - ПараметрыТеста = Новый Структура("ПредставлениеТеста,ИмяТеста,Транзакция,Параметр", "Тест с опциями", "Модуль_ТестСОпциями", Истина, "тест представления"); - ВсеТесты.Добавить(ПараметрыТеста); - - ПараметрыТестов = Новый Структура("ИмяТеста,Транзакция,Параметр", "Модуль_ТестСОпциями", Истина, 1); - ВсеТесты.Добавить(ПараметрыТестов); - - ПараметрыТестов = Новый Структура("ИмяТеста,Транзакция,Параметр", "Модуль_ТестСОпциями", Истина, 2); - ВсеТесты.Добавить(ПараметрыТестов); - - Возврат ВсеТесты; - -КонецФункции - -Процедура Модуль_ТестСОпциями(Парам) Экспорт - - //юТест.Проверить(Истина, "Значение ложно"); - //Сообщить("Модуль_ТестСОпциями "+Парам); - юТест.ПроверитьЗаполненность(Парам, "ТестСОпциями(Парам)"); - -КонецПроцедуры - -Процедура Модуль_Тест_Обычный() Экспорт - - юТест.Проверить(Истина, "Значение ложно"); - -КонецПроцедуры diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" "b/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" deleted file mode 100644 index 552b9732..00000000 --- "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" +++ /dev/null @@ -1,9 +0,0 @@ -2c227560-91b9-4172-a890-89cbeb09013a-->und\2c227560-91b9-4172-a890-89cbeb09013a -2c227560-91b9-4172-a890-89cbeb09013a.0-->und\2c227560-91b9-4172-a890-89cbeb09013a.0 -bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0\info-->C:\Users\aayuhanov\AppData\Local\Temp\Тест_ПараметрыТестов.epf.und\bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0\info -bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0\text-->ObjectModule.txt -c0334e99-c3c6-4bc5-a429-136a15e54924-->und\c0334e99-c3c6-4bc5-a429-136a15e54924 -copyinfo-->und\copyinfo -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/2c227560-91b9-4172-a890-89cbeb09013a" "b/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/2c227560-91b9-4172-a890-89cbeb09013a" deleted file mode 100644 index 018f27ea..00000000 --- "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/2c227560-91b9-4172-a890-89cbeb09013a" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,2c227560-91b9-4172-a890-89cbeb09013a},"Форма", -{1,"ru","Форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/2c227560-91b9-4172-a890-89cbeb09013a.0" "b/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/2c227560-91b9-4172-a890-89cbeb09013a.0" deleted file mode 100644 index b14f4884..00000000 --- "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/2c227560-91b9-4172-a890-89cbeb09013a.0" +++ /dev/null @@ -1,113 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"&НаКлиенте -Перем юТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ПараметрыТеста = Новый Структура(""ПредставлениеТеста,ИмяТеста,Транзакция,Параметр"", ""Тест с опциями"", ""ТестСОпциями"", Истина, ""тест представления""); - ВсеТесты.Добавить(ПараметрыТеста); - - ПараметрыТеста = Новый Структура(""ИмяТеста,Транзакция,Параметр"", ""ТестСОпциями"", Истина, 1); - ВсеТесты.Добавить(ПараметрыТеста); - - ПараметрыТеста = Новый Структура(""ИмяТеста,Транзакция,Параметр"", ""ТестСОпциями"", Истина, 2); - ВсеТесты.Добавить(ПараметрыТеста); - - ПараметрыТеста = Новый Структура(""ИмяТеста,Транзакция"", ""ТестСОпциями_БезПараметра"", Истина); - ВсеТесты.Добавить(ПараметрыТеста); - - ВсеТесты.Добавить(""ТестСОпциями_БезПараметра""); - ВсеТесты.Добавить(""Тест_Обычный""); - - Возврат ВсеТесты; -КонецФункции - -&НаКлиенте -Процедура ТестСОпциями(Парам) Экспорт - - //Предупреждение(""Парам теста <""+Парам+"">""); - юТест.ПроверитьЗаполненность(Парам, ""ТестСОпциями(Парам)""); - -КонецПроцедуры - -&НаКлиенте -Процедура ТестСОпциями_БезПараметра() Экспорт - -КонецПроцедуры - -&НаКлиенте -Процедура Тест_Обычный() Экспорт - - юТест.Проверить(Истина, ""Значение ложно""); - -КонецПроцедуры -", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",f5c382c7-4ddf-4d48-9acd-6889965b8283} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/c0334e99-c3c6-4bc5-a429-136a15e54924" "b/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/c0334e99-c3c6-4bc5-a429-136a15e54924" deleted file mode 100644 index 6e47e3c2..00000000 --- "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/c0334e99-c3c6-4bc5-a429-136a15e54924" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{c0334e99-c3c6-4bc5-a429-136a15e54924},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,f5c382c7-4ddf-4d48-9acd-6889965b8283,b0423280-0ae5-49d0-9744-a7f29f0e5b6b, -{0, -{0, -{0,0,bc48c7f8-c422-40cd-bccc-fcd2d13545c9},"Тест_ПараметрыТестов", -{1,"ru","Тест параметры тестов"},""} -},2c227560-91b9-4172-a890-89cbeb09013a,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,2c227560-91b9-4172-a890-89cbeb09013a}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/copyinfo" "b/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/copyinfo" deleted file mode 100644 index 57c5d603..00000000 --- "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{2c227560-91b9-4172-a890-89cbeb09013a,2c227560-91b9-4172-a890-89cbeb09013a,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -}, -{bc48c7f8-c422-40cd-bccc-fcd2d13545c9,bc48c7f8-c422-40cd-bccc-fcd2d13545c9,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"Тест_ПараметрыТестов"} -} -}, -{1, -{f5c382c7-4ddf-4d48-9acd-6889965b8283,bc48c7f8-c422-40cd-bccc-fcd2d13545c9,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/root" "b/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/root" deleted file mode 100644 index eb7b8af1..00000000 --- "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,c0334e99-c3c6-4bc5-a429-136a15e54924,} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" "b/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" deleted file mode 100644 index 9f9ff244..00000000 --- "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,10,"",90d5a0e6-76fb-4d62-8ece-491c3b2f4687,"versions",358305f2-c352-4597-a9af-d26b53f3d234,"root",22ecb165-fd15-4e11-ba11-f48b77a0033d,"c0334e99-c3c6-4bc5-a429-136a15e54924",9a8448a2-e7a7-4e1f-9c74-f553f09ac222,"2c227560-91b9-4172-a890-89cbeb09013a.0",236813cd-6ab7-4d38-908b-cc1c538f2c23,"2c227560-91b9-4172-a890-89cbeb09013a.1",699339f9-578c-4ee8-b7c3-9489b56f6954,"version",c41f1b37-77c4-4834-831d-e971b737fe33,"bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0",26c33a56-38b4-4d73-b6cc-c8bc6e8a5c50,"2c227560-91b9-4172-a890-89cbeb09013a",ae515a5f-44d6-4aca-ac95-274226852045,"copyinfo",eff40ebf-84ad-40f4-82a7-a34c4759dc96} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\235\320\260\320\232\320\273\320\270\320\265\320\275\321\202\320\265/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\235\320\260\320\232\320\273\320\270\320\265\320\275\321\202\320\265/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index 58fa6753..00000000 --- "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\235\320\260\320\232\320\273\320\270\320\265\320\275\321\202\320\265/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,52 +0,0 @@ -&НаКлиенте -Перем юТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("Тест_ПроверитьРавно"); - - Возврат ВсеТесты; -КонецФункции - -&НаКлиенте -Процедура Тест_ПроверитьРавно() Экспорт - юТест.ПроверитьРавенство(2, 2, "Ошибка неравенства"); -КонецПроцедуры - -&НаКлиенте -Процедура ПриОткрытии(Отказ) - - ПодключитьОбработчикОжидания("ОжиданиеЗапускТеста", 1, Истина); - -КонецПроцедуры - -&НаКлиенте -Процедура ОжиданиеЗапускТеста() - - - ФормуНашли = Ложь; - ФормаxUnitFor1c = Неопределено; - - Окна = ПолучитьОкна(); - Для каждого Окн Из Окна Цикл - Если ТипЗнч(Окн) = Тип("ОкноКлиентскогоПриложения") Тогда - Если Найти(Строка(Окн.Заголовок), "xUnitFor1C")>0 Тогда - ФормуНашли = Истина; - ФормаxUnitFor1c = Окн.ПолучитьСодержимое(); - КонецЕсли; - КонецЕсли; - - КонецЦикла; - - Если ФормуНашли Тогда - - МассивТестов = ПолучитьСписокТестов(ФормаxUnitFor1c); - Тест_ПроверитьРавно(); - - КонецЕсли; - -КонецПроцедуры diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\235\320\260\320\232\320\273\320\270\320\265\320\275\321\202\320\265/renames.txt" "b/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\235\320\260\320\232\320\273\320\270\320\265\320\275\321\202\320\265/renames.txt" deleted file mode 100644 index 0403f203..00000000 --- "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\235\320\260\320\232\320\273\320\270\320\265\320\275\321\202\320\265/renames.txt" +++ /dev/null @@ -1,9 +0,0 @@ -copyinfo-->und\copyinfo -d4b2b060-6fed-4f01-86f9-4a4b6be56520-->und\d4b2b060-6fed-4f01-86f9-4a4b6be56520 -ea4f0a24-1e0c-4dfc-b36c-9860001e62a0-->und\ea4f0a24-1e0c-4dfc-b36c-9860001e62a0 -ea4f0a24-1e0c-4dfc-b36c-9860001e62a0.0-->D:\work\repository\repo\git\xUnitFor1C\src\Tests\ManagedApp\ТестНаКлиенте\Form\Форма\Форма.txt -ea4f0a24-1e0c-4dfc-b36c-9860001e62a0.0-->und\ea4f0a24-1e0c-4dfc-b36c-9860001e62a0.0 -ea4f0a24-1e0c-4dfc-b36c-9860001e62a0.0-->und\ea4f0a24-1e0c-4dfc-b36c-9860001e62a0.0 -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\235\320\260\320\232\320\273\320\270\320\265\320\275\321\202\320\265/und/copyinfo" "b/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\235\320\260\320\232\320\273\320\270\320\265\320\275\321\202\320\265/und/copyinfo" deleted file mode 100644 index b889213c..00000000 --- "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\235\320\260\320\232\320\273\320\270\320\265\320\275\321\202\320\265/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{cac0c682-f459-45e2-bdff-d9e301039783,cac0c682-f459-45e2-bdff-d9e301039783,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ТестНаКлиенте"} -}, -{ea4f0a24-1e0c-4dfc-b36c-9860001e62a0,ea4f0a24-1e0c-4dfc-b36c-9860001e62a0,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -} -}, -{1, -{af9086e5-d887-4fe7-9d0e-c88215eecaf7,cac0c682-f459-45e2-bdff-d9e301039783,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\235\320\260\320\232\320\273\320\270\320\265\320\275\321\202\320\265/und/d4b2b060-6fed-4f01-86f9-4a4b6be56520" "b/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\235\320\260\320\232\320\273\320\270\320\265\320\275\321\202\320\265/und/d4b2b060-6fed-4f01-86f9-4a4b6be56520" deleted file mode 100644 index f8ab0c79..00000000 --- "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\235\320\260\320\232\320\273\320\270\320\265\320\275\321\202\320\265/und/d4b2b060-6fed-4f01-86f9-4a4b6be56520" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{d4b2b060-6fed-4f01-86f9-4a4b6be56520},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,af9086e5-d887-4fe7-9d0e-c88215eecaf7,236fc42f-1664-499b-9c59-46bf1c2077e3, -{0, -{0, -{0,0,cac0c682-f459-45e2-bdff-d9e301039783},"ТестНаКлиенте", -{1,"ru","Тест на клиенте"},""} -},ea4f0a24-1e0c-4dfc-b36c-9860001e62a0,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,ea4f0a24-1e0c-4dfc-b36c-9860001e62a0}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\235\320\260\320\232\320\273\320\270\320\265\320\275\321\202\320\265/und/ea4f0a24-1e0c-4dfc-b36c-9860001e62a0" "b/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\235\320\260\320\232\320\273\320\270\320\265\320\275\321\202\320\265/und/ea4f0a24-1e0c-4dfc-b36c-9860001e62a0" deleted file mode 100644 index 502c344e..00000000 --- "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\235\320\260\320\232\320\273\320\270\320\265\320\275\321\202\320\265/und/ea4f0a24-1e0c-4dfc-b36c-9860001e62a0" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,ea4f0a24-1e0c-4dfc-b36c-9860001e62a0},"Форма", -{1,"ru","Форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\235\320\260\320\232\320\273\320\270\320\265\320\275\321\202\320\265/und/ea4f0a24-1e0c-4dfc-b36c-9860001e62a0.0" "b/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\235\320\260\320\232\320\273\320\270\320\265\320\275\321\202\320\265/und/ea4f0a24-1e0c-4dfc-b36c-9860001e62a0.0" deleted file mode 100644 index b126689e..00000000 --- "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\235\320\260\320\232\320\273\320\270\320\265\320\275\321\202\320\265/und/ea4f0a24-1e0c-4dfc-b36c-9860001e62a0.0" +++ /dev/null @@ -1,119 +0,0 @@ -{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, -{1,3ccc650e-f631-4cae-8e33-3eaac610b5f9,"ПриОткрытии"}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"&НаКлиенте -Перем юТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить(""Тест_ПроверитьРавно""); - - Возврат ВсеТесты; -КонецФункции - -&НаКлиенте -Процедура Тест_ПроверитьРавно() Экспорт - юТест.ПроверитьРавенство(2, 2, ""Ошибка неравенства""); -КонецПроцедуры - -&НаКлиенте -Процедура ПриОткрытии(Отказ) - - ПодключитьОбработчикОжидания(""ОжиданиеЗапускТеста"", 1, Истина); - -КонецПроцедуры - -&НаКлиенте -Процедура ОжиданиеЗапускТеста() - - - ФормуНашли = Ложь; - ФормаxUnitFor1c = Неопределено; - - Окна = ПолучитьОкна(); - Для каждого Окн Из Окна Цикл - Если ТипЗнч(Окн) = Тип(""ОкноКлиентскогоПриложения"") Тогда - Если Найти(Строка(Окн.Заголовок), ""xUnitFor1C"")>0 Тогда - ФормуНашли = Истина; - ФормаxUnitFor1c = Окн.ПолучитьСодержимое(); - КонецЕсли; - КонецЕсли; - - КонецЦикла; - - Если ФормуНашли Тогда - - МассивТестов = ПолучитьСписокТестов(ФормаxUnitFor1c); - Тест_ПроверитьРавно(); - - КонецЕсли; - -КонецПроцедуры -", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",af9086e5-d887-4fe7-9d0e-c88215eecaf7} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\235\320\260\320\232\320\273\320\270\320\265\320\275\321\202\320\265/und/root" "b/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\235\320\260\320\232\320\273\320\270\320\265\320\275\321\202\320\265/und/root" deleted file mode 100644 index b22613c1..00000000 --- "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\235\320\260\320\232\320\273\320\270\320\265\320\275\321\202\320\265/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,d4b2b060-6fed-4f01-86f9-4a4b6be56520,} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\235\320\260\320\232\320\273\320\270\320\265\320\275\321\202\320\265/und/versions" "b/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\235\320\260\320\232\320\273\320\270\320\265\320\275\321\202\320\265/und/versions" deleted file mode 100644 index 54fa8eec..00000000 --- "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\235\320\260\320\232\320\273\320\270\320\265\320\275\321\202\320\265/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,8,"",09b4709c-78a2-4f05-a06d-4f6d6ec676d7,"versions",b8ba315f-713b-4a5f-88cb-26cd7e42c116,"root",b2e9f61a-8884-408a-b182-2e6afc003e3b,"d4b2b060-6fed-4f01-86f9-4a4b6be56520",0afe4717-b9e6-40f6-9fbe-adfc01429917,"version",e376ee56-c9a3-423e-84a7-9e55fc086879,"ea4f0a24-1e0c-4dfc-b36c-9860001e62a0",bccad7ec-6dd4-4d8e-8d32-26008896b524,"copyinfo",c887604f-2c50-4130-9e53-d129f561cb45,"ea4f0a24-1e0c-4dfc-b36c-9860001e62a0.0",511b7bf2-7a0c-4b6f-bd0a-7b43acc92632} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index cfb7a13f..00000000 --- "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,35 +0,0 @@ -&НаКлиенте -Перем юТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - ВсеТесты.Добавить("Тест_ДваПлюсДва"); - - Возврат ВсеТесты; - -КонецФункции - -&НаКлиенте -Процедура ПередЗапускомТеста() Экспорт - - юТест.ВывестиСообщение("Перед запуском теста"); - -КонецПроцедуры - -&НаКлиенте -Процедура ПослеЗапускаТеста() Экспорт - - юТест.ВывестиСообщение("После запуска теста"); - -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ДваПлюсДва() Экспорт - - юТест.Проверить(2 + 2 = 4, "Значение не верно"); - -КонецПроцедуры diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/ObjectModule.txt" "b/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/ObjectModule.txt" deleted file mode 100644 index 2251327a..00000000 --- "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/ObjectModule.txt" +++ /dev/null @@ -1,31 +0,0 @@ -Перем юТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - ВсеТесты.Добавить("Тест_ДваПлюсДва"); - //ВсеТесты.Добавить("Тест_ДваПлюсТри"); - - Возврат ВсеТесты; - -КонецФункции - -Процедура ПередЗапускомТеста() Экспорт - - юТест.ВывестиСообщение("Перед запуском теста"); - -КонецПроцедуры - -Процедура ПослеЗапускаТеста() Экспорт - - юТест.ВывестиСообщение("После запуска теста"); - -КонецПроцедуры - -Процедура Тест_ДваПлюсДва() Экспорт - - юТест.Проверить(2 + 2 = 4, "Значение не верно"); - -КонецПроцедуры diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/renames.txt" "b/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/renames.txt" deleted file mode 100644 index d4acc034..00000000 --- "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/renames.txt" +++ /dev/null @@ -1,11 +0,0 @@ -727eda5f-558c-428b-86d2-3421c52f4c50.0\info-->und\727eda5f-558c-428b-86d2-3421c52f4c50.0\info -727eda5f-558c-428b-86d2-3421c52f4c50.0\text-->ObjectModule.txt -98f37039-d79e-4d4f-8430-e26a4b5f9b4a-->und\98f37039-d79e-4d4f-8430-e26a4b5f9b4a -98f37039-d79e-4d4f-8430-e26a4b5f9b4a.0-->D:\work\repository\repo\git\xUnitFor1C\src\Tests\ManagedApp\ТестПримерТеста\Form\Форма\Форма.txt -98f37039-d79e-4d4f-8430-e26a4b5f9b4a.0-->und\98f37039-d79e-4d4f-8430-e26a4b5f9b4a.0 -98f37039-d79e-4d4f-8430-e26a4b5f9b4a.0-->und\98f37039-d79e-4d4f-8430-e26a4b5f9b4a.0 -copyinfo-->und\copyinfo -f38c7465-2120-4aeb-87fc-1cd6a72e4559-->und\f38c7465-2120-4aeb-87fc-1cd6a72e4559 -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/98f37039-d79e-4d4f-8430-e26a4b5f9b4a" "b/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/98f37039-d79e-4d4f-8430-e26a4b5f9b4a" deleted file mode 100644 index 30fdbe7f..00000000 --- "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/98f37039-d79e-4d4f-8430-e26a4b5f9b4a" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,98f37039-d79e-4d4f-8430-e26a4b5f9b4a},"Форма", -{1,"ru","Форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/98f37039-d79e-4d4f-8430-e26a4b5f9b4a.0" "b/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/98f37039-d79e-4d4f-8430-e26a4b5f9b4a.0" deleted file mode 100644 index 643755e7..00000000 --- "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/98f37039-d79e-4d4f-8430-e26a4b5f9b4a.0" +++ /dev/null @@ -1,102 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"&НаКлиенте -Перем юТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - ВсеТесты.Добавить(""Тест_ДваПлюсДва""); - - Возврат ВсеТесты; - -КонецФункции - -&НаКлиенте -Процедура ПередЗапускомТеста() Экспорт - - юТест.ВывестиСообщение(""Перед запуском теста""); - -КонецПроцедуры - -&НаКлиенте -Процедура ПослеЗапускаТеста() Экспорт - - юТест.ВывестиСообщение(""После запуска теста""); - -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ДваПлюсДва() Экспорт - - юТест.Проверить(2 + 2 = 4, ""Значение не верно""); - -КонецПроцедуры -", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",46282281-48b4-46da-8efa-b167f8b65d44} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/copyinfo" "b/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/copyinfo" deleted file mode 100644 index d2a1683d..00000000 --- "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{727eda5f-558c-428b-86d2-3421c52f4c50,727eda5f-558c-428b-86d2-3421c52f4c50,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ТестПримерТеста"} -}, -{98f37039-d79e-4d4f-8430-e26a4b5f9b4a,98f37039-d79e-4d4f-8430-e26a4b5f9b4a,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -} -}, -{1, -{46282281-48b4-46da-8efa-b167f8b65d44,727eda5f-558c-428b-86d2-3421c52f4c50,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" "b/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" deleted file mode 100644 index 950ec12d..00000000 --- "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{f38c7465-2120-4aeb-87fc-1cd6a72e4559},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,46282281-48b4-46da-8efa-b167f8b65d44,68c3abeb-66d9-445e-a617-90228868ace3, -{0, -{0, -{0,0,727eda5f-558c-428b-86d2-3421c52f4c50},"ТестПримерТеста", -{1,"ru","Пример теста"},""} -},98f37039-d79e-4d4f-8430-e26a4b5f9b4a,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,98f37039-d79e-4d4f-8430-e26a4b5f9b4a}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/root" "b/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/root" deleted file mode 100644 index 7a2de7c1..00000000 --- "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,f38c7465-2120-4aeb-87fc-1cd6a72e4559,} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/versions" "b/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/versions" deleted file mode 100644 index 3d89f3c3..00000000 --- "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,9,"",68f35b4a-eef0-4c5d-93fb-ff8b6801fc4f,"versions",39f171ea-3795-4a3f-b300-9be8bfdc3585,"98f37039-d79e-4d4f-8430-e26a4b5f9b4a",6df6ecf3-bc5b-4d6e-b14b-44abba5ae630,"root",07e9bc87-25a2-42df-b6eb-28220c002739,"version",4b067a1f-1296-4b91-9b3c-902a59962635,"727eda5f-558c-428b-86d2-3421c52f4c50.0",abf815b0-4aae-42e6-a378-139022691425,"98f37039-d79e-4d4f-8430-e26a4b5f9b4a.0",b2abf647-35da-4358-9eac-8250737b736e,"f38c7465-2120-4aeb-87fc-1cd6a72e4559",e7e7e59e-176f-440a-824c-132a233d2f65,"copyinfo",091eb15a-9761-4c8a-9f88-f8c503bd613e} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/ObjectModule.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/ObjectModule.txt" new file mode 100644 index 00000000..59e01bf3 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/ObjectModule.txt" @@ -0,0 +1,64 @@ +Перем КонтекстЯдра; +Перем Ожидаем; +Перем Утверждения; +Перем ГенераторТестовыхДанных; + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин("СериализаторMXL"); +КонецПроцедуры + +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + НаборТестов.Добавить("Тест_Проверить_ТочкуМаршрута_ОдинБП"); + НаборТестов.Добавить("Тест_Проверить_ТочкуМаршрута_ДваБП"); +КонецПроцедуры + + +Процедура ПередЗапускомТеста() Экспорт + //Размещение = "C:\1С базы\Белгипрозем 2015\Тесты\xUnitFor1C\Разрабатываемые\СозданиеЭлементовСправочников.epf"; + //ВнОбр = ВнешниеОбработки.Создать(Размещение); + + //КонтекстЯдра.ВывестиСообщение("Перед запуском теста"); + НачатьТранзакцию(); +КонецПроцедуры + +Процедура ПослеЗапускаТеста() Экспорт + + Если ТранзакцияАктивна() Тогда + ОтменитьТранзакцию(); + КонецЕсли; + //КонтекстЯдра.ВывестиСообщение("После запуска теста"); + +КонецПроцедуры + +Процедура Тест_Проверить_ТочкуМаршрута_ОдинБП() Экспорт + + ТестовыеДанные = ГенераторТестовыхДанных.СоздатьДанныеПоМакетам(ЭтотОбъект, "ТестовыеДанные"); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(5, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); + + // Проверим точку маршрута в задаче + Есть = ТестовыеДанные.Задача1БП1.ТочкаМаршрута; + Надо = БизнесПроцессы.БизнесПроцесс1.ТочкиМаршрута.Действие1; + Утверждения.ПроверитьРавенство(Есть, Надо, "Точка маршрута 1 БП"); + +КонецПроцедуры + +Процедура Тест_Проверить_ТочкуМаршрута_ДваБП() Экспорт + + ТестовыеДанные = ГенераторТестовыхДанных.СоздатьДанныеПоМакетам(ЭтотОбъект, "ТестовыеДанные"); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(5, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); + + // Проверим точку маршрута в задаче + Есть = ТестовыеДанные.Задача1БП2.ТочкаМаршрута; + Надо = БизнесПроцессы.БизнесПроцесс2.ТочкиМаршрута.Действие1; + Утверждения.ПроверитьРавенство(Есть, Надо, "ТочкаМаршрута"); + +КонецПроцедуры + + diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/maps.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/maps.txt" new file mode 100644 index 00000000..994580fe --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/maps.txt" @@ -0,0 +1 @@ +Макеты\ТестовыеДанные.mxl-->8509f5aa-e002-42bd-ace1-1478593bba7c.0 diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/renames.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/renames.txt" new file mode 100644 index 00000000..bc5e054d --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/renames.txt" @@ -0,0 +1,9 @@ +7fb0f271-ff7c-46cc-a4c6-061237913139.0\info-->und\7fb0f271-ff7c-46cc-a4c6-061237913139.0\info +7fb0f271-ff7c-46cc-a4c6-061237913139.0\text-->ObjectModule.txt +8509f5aa-e002-42bd-ace1-1478593bba7c-->und\8509f5aa-e002-42bd-ace1-1478593bba7c +8509f5aa-e002-42bd-ace1-1478593bba7c.0-->und\8509f5aa-e002-42bd-ace1-1478593bba7c.0 +copyinfo-->und\copyinfo +e052d18a-ee3e-4c43-8af0-dc23ded995cc-->und\e052d18a-ee3e-4c43-8af0-dc23ded995cc +root-->und\root +version-->und\version +versions-->und\versions diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/498e7f98-0af6-4b64-81e4-2c1e28c56195.0/info" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/und/7fb0f271-ff7c-46cc-a4c6-061237913139.0/info" similarity index 100% rename from "src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/498e7f98-0af6-4b64-81e4-2c1e28c56195.0/info" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/und/7fb0f271-ff7c-46cc-a4c6-061237913139.0/info" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/und/8509f5aa-e002-42bd-ace1-1478593bba7c" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/und/8509f5aa-e002-42bd-ace1-1478593bba7c" new file mode 100644 index 00000000..386177f7 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/und/8509f5aa-e002-42bd-ace1-1478593bba7c" @@ -0,0 +1,6 @@ +{1, +{2,0, +{0, +{0,0,8509f5aa-e002-42bd-ace1-1478593bba7c},"ТестовыеДанные", +{1,"ru","Тестовые данные"},""} +},0} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/und/8509f5aa-e002-42bd-ace1-1478593bba7c.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/und/8509f5aa-e002-42bd-ace1-1478593bba7c.0" new file mode 100644 index 00000000..3e813b56 Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/und/8509f5aa-e002-42bd-ace1-1478593bba7c.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\321\213\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\320\276\320\263\320\276\320\237\320\276\320\236\321\202\320\261\320\276\321\200\321\203/und/copyinfo" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/und/copyinfo" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\321\213\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\320\276\320\263\320\276\320\237\320\276\320\236\321\202\320\261\320\276\321\200\321\203/und/copyinfo" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/und/copyinfo" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/und/e052d18a-ee3e-4c43-8af0-dc23ded995cc" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/und/e052d18a-ee3e-4c43-8af0-dc23ded995cc" new file mode 100644 index 00000000..fa9812ac --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/und/e052d18a-ee3e-4c43-8af0-dc23ded995cc" @@ -0,0 +1,17 @@ +{1, +{e052d18a-ee3e-4c43-8af0-dc23ded995cc},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,4ae63f7b-b0a9-4eea-aea9-20eedfe06dcf,373c4eae-a466-4a72-9990-3756c11a19e5, +{0, +{0, +{0,0,7fb0f271-ff7c-46cc-a4c6-061237913139},"Тест_Проверить_ТочкуМаршрута", +{1,"ru","Тест проверить точку маршрута"},""} +},00000000-0000-0000-0000-000000000000,"",00000000-0000-0000-0000-000000000000},4, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, +{3daea016-69b7-4ed4-9453-127911372fe6,1,8509f5aa-e002-42bd-ace1-1478593bba7c}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} +} +} +} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/und/root" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/und/root" new file mode 100644 index 00000000..695e70f6 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/und/root" @@ -0,0 +1 @@ +{2,e052d18a-ee3e-4c43-8af0-dc23ded995cc,} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/version" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/und/version" similarity index 100% rename from "src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/version" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/und/version" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/und/versions" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/und/versions" new file mode 100644 index 00000000..48201c35 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/und/versions" @@ -0,0 +1 @@ +{1,9,"",6d616765-c64b-4c38-b259-640c5e2245b2,"e052d18a-ee3e-4c43-8af0-dc23ded995cc",6f18ee58-73fc-435b-bdd5-16c713d408d6,"versions",2d0af432-5569-41b6-9ed7-b340d5039b54,"root",bb4ff97a-b066-458f-9103-ba2f2a0ba763,"7fb0f271-ff7c-46cc-a4c6-061237913139.0",2c8219c6-f8b2-483b-9607-7b7ad50e312a,"version",ac38091c-20c1-43ef-8004-3c3208b0cf23,"8509f5aa-e002-42bd-ace1-1478593bba7c",4acafdf4-f07f-42b8-8787-f84c220b4cad,"copyinfo",407d664c-e5ce-4cfd-97ec-4641bf72771f,"8509f5aa-e002-42bd-ace1-1478593bba7c.0",91de246a-d91b-49a0-845e-8b4dff433538} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265.mxl" new file mode 100644 index 00000000..3e813b56 Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265.mxl" differ diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265_mxl.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265_mxl.txt" new file mode 100644 index 00000000..baf66ee5 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214_\320\242\320\276\321\207\320\272\321\203\320\234\320\260\321\200\321\210\321\200\321\203\321\202\320\260/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265_mxl.txt" @@ -0,0 +1,21 @@ +Тип Вид ИмяПеременной ТЧ Реквизит Значение Режим ДополнительныйТипЗначения +Справочник ПростойСправочник ПростойСправочник1 + Наименование ПростойСправочник +БизнесПроцесс БизнесПроцесс1 Процесс1 + Стартован Истина + Дата 20160120131033 + ПростойСправочник ПростойСправочник1 Перем +Задача Задача1 Задача1БП1 + Наименование Задача1 + ТочкаМаршрута Действие1 Предопределенный + БизнесПроцесс Процесс1 Перем + +БизнесПроцесс БизнесПроцесс2 Процесс2 + Стартован Истина + Дата 20160120131033 + ПростойСправочник ПростойСправочник1 Перем +Задача Задача1 Задача1БП2 + Наименование Задача2 + ТочкаМаршрута БизнесПроцессы.БизнесПроцесс2.ТочкиМаршрута.Действие1 Выражение + БизнесПроцесс Процесс2 Перем + \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/ObjectModule.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/ObjectModule.txt" new file mode 100644 index 00000000..e18e1e06 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/ObjectModule.txt" @@ -0,0 +1,84 @@ +Перем КонтекстЯдра; +Перем Утверждения; +Перем ГенераторТестовыхДанных; +Перем УтвержденияПроверкаТаблиц; + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин("СериализаторMXL"); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); +КонецПроцедуры + +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + НаборТестов.Добавить("Тест_ПроверитьОтчетНаСоответствиеЭталону"); +КонецПроцедуры + +Процедура ПередЗапускомТеста() Экспорт + + НачатьТранзакцию(); + +КонецПроцедуры + +Процедура ПослеЗапускаТеста() Экспорт + + Если ТранзакцияАктивна() Тогда + ОтменитьТранзакцию(); + КонецЕсли; + +КонецПроцедуры + +Процедура Тест_ПроверитьОтчетНаСоответствиеЭталону() Экспорт + Перем Расшифровка; // сюда будет передана информация расшифровки СКД, т.к. в эталоне она тоже есть + + // создание тестовых данных из табличного документа + МакетТестовыеДанные = ПолучитьМакет("ТестовыеДанные"); + ТестовыеДанные = ГенераторТестовыхДанных.СоздатьДанныеПоТабличномуДокументу(МакетТестовыеДанные); + + Утверждения.ПроверитьБольше(ТестовыеДанные.Количество(), 0, "Ожидали, что загрузка макета загрузит данные больше 0"); + + // Получение эталонного отчета + // Важно эталон получать именно так из-за плясок с кодом языка макета + МакетЭталона = ПолучитьМакет("Эталон"); + Эталон = Новый ТабличныйДокумент; + Эталон.Вывести(МакетЭталона); + + // Формирование отчета + РезультатОтчета = Новый ТабличныйДокумент; + Отчет = Отчеты.ТестовыйОтчетСКДДляСравнениеСЭталоном.Создать(); + Отчет.СкомпоноватьРезультат(РезультатОтчета, Расшифровка); + + #Если ТолстыйКлиентОбычноеПриложение или ТолстыйКлиентУправляемоеПриложение Тогда + + // Сохранение в файлы mxl + ИмяФайлаЭталона = ПолучитьИмяВременногоФайла("mxl"); + ИмяФайлаРезультатаОтчета = ПолучитьИмяВременногоФайла("mxl"); + Эталон.Записать(ИмяФайлаЭталона); + РезультатОтчета.Записать(ИмяФайлаРезультатаОтчета); + + // Сравнение файлов + + // Если Истина, то будет показано окно демонстрации различий, если файлы различны + // Использовать только для расследования ошибки, если тест падает на сравнении + ПоказатьРазличия = Истина; + + // ПараметрыСравнения заполняется по необходимости. Если не заполнены, то используются значения по умолчанию платформы + // Если не указан способ сравнения, будет попытка определить автоматически по расширению файла: + // mxl - ТабличныйДокумент + // txt,xml - ТекстовыйДокумент + ПараметрыСравнения = Новый Структура; + //ПараметрыСравнения.Вставить("ИгнорироватьПустоеПространство", Истина); + //ПараметрыСравнения.Вставить("УчитыватьРазделителиСтрок", Ложь); + //ПараметрыСравнения.Вставить("УчитыватьРегистр", Ложь); + //ПараметрыСравнения.Вставить("СпособСравнения", СпособСравненияФайлов.ТекстовыйДокумент); + + Утверждения.ПроверитьРавенствоФайлов(ИмяФайлаЭталона, ИмяФайлаРезультатаОтчета, + "Ожидали, что результат отчета соответствует эталону", ПараметрыСравнения, ПоказатьРазличия); + #Иначе + УтвержденияПроверкаТаблиц.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Эталон, РезультатОтчета, "Ожидали, что эталон (слева) совпадет с результатом (справа), а они различны!"); + + #КонецЕсли +КонецПроцедуры + + + diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/maps.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/maps.txt" new file mode 100644 index 00000000..7d151682 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/maps.txt" @@ -0,0 +1,2 @@ +Макеты\ТестовыеДанные.mxl-->5cc37847-6d61-47ed-ba39-1a055864214c.0 +Макеты\Эталон.mxl-->89274157-0f3f-45f1-80cb-6364f03a78f9.0 diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/renames.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/renames.txt" new file mode 100644 index 00000000..f7f2e1c3 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/renames.txt" @@ -0,0 +1,11 @@ +5cc37847-6d61-47ed-ba39-1a055864214c-->und\5cc37847-6d61-47ed-ba39-1a055864214c +5cc37847-6d61-47ed-ba39-1a055864214c.0-->und\5cc37847-6d61-47ed-ba39-1a055864214c.0 +89274157-0f3f-45f1-80cb-6364f03a78f9-->und\89274157-0f3f-45f1-80cb-6364f03a78f9 +89274157-0f3f-45f1-80cb-6364f03a78f9.0-->und\89274157-0f3f-45f1-80cb-6364f03a78f9.0 +915c368c-cc97-4756-8944-36659b177d1e-->und\915c368c-cc97-4756-8944-36659b177d1e +copyinfo-->und\copyinfo +f2d2060c-a875-4798-8c3a-7e5b14081428.0\info-->und\f2d2060c-a875-4798-8c3a-7e5b14081428.0\info +f2d2060c-a875-4798-8c3a-7e5b14081428.0\text-->ObjectModule.txt +root-->und\root +version-->und\version +versions-->und\versions diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/5cc37847-6d61-47ed-ba39-1a055864214c" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/5cc37847-6d61-47ed-ba39-1a055864214c" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/5cc37847-6d61-47ed-ba39-1a055864214c" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/5cc37847-6d61-47ed-ba39-1a055864214c" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/5cc37847-6d61-47ed-ba39-1a055864214c.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/5cc37847-6d61-47ed-ba39-1a055864214c.0" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/5cc37847-6d61-47ed-ba39-1a055864214c.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/5cc37847-6d61-47ed-ba39-1a055864214c.0" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/89274157-0f3f-45f1-80cb-6364f03a78f9" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/89274157-0f3f-45f1-80cb-6364f03a78f9" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/89274157-0f3f-45f1-80cb-6364f03a78f9" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/89274157-0f3f-45f1-80cb-6364f03a78f9" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/89274157-0f3f-45f1-80cb-6364f03a78f9.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/89274157-0f3f-45f1-80cb-6364f03a78f9.0" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/89274157-0f3f-45f1-80cb-6364f03a78f9.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/89274157-0f3f-45f1-80cb-6364f03a78f9.0" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/915c368c-cc97-4756-8944-36659b177d1e" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/915c368c-cc97-4756-8944-36659b177d1e" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/915c368c-cc97-4756-8944-36659b177d1e" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/915c368c-cc97-4756-8944-36659b177d1e" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/copyinfo" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/copyinfo" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/copyinfo" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/copyinfo" diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/498e7f98-0af6-4b64-81e4-2c1e28c56195.0/info" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/f2d2060c-a875-4798-8c3a-7e5b14081428.0/info" similarity index 100% rename from "src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/498e7f98-0af6-4b64-81e4-2c1e28c56195.0/info" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/f2d2060c-a875-4798-8c3a-7e5b14081428.0/info" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/root" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/root" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/root" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/root" diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/version" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/version" similarity index 100% rename from "src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/version" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/version" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/versions" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/versions" new file mode 100644 index 00000000..c0339feb --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/und/versions" @@ -0,0 +1 @@ +{1,11,"5cc37847-6d61-47ed-ba39-1a055864214c",525bd01c-3764-4aba-bc44-b1c34c1e5fc5,"5cc37847-6d61-47ed-ba39-1a055864214c.0",a230fe5e-8584-4425-9ad0-aee399503398,"",9e6d3ea6-c057-4f17-a169-6d8a830dccb3,"versions",e501a268-cbba-40b1-892e-a0ac068e0e9a,"root",383c99bb-f42b-4ba1-9794-8b5c239f9f71,"f2d2060c-a875-4798-8c3a-7e5b14081428.0",f57c6815-22bb-4935-acbc-e4fc277905c8,"89274157-0f3f-45f1-80cb-6364f03a78f9.0",4f6ab250-0983-4118-a44b-fb8294cbaf44,"version",29b64db9-069b-4f27-9105-6932b847585c,"915c368c-cc97-4756-8944-36659b177d1e",137fd408-7618-4f50-904b-061d938169f5,"89274157-0f3f-45f1-80cb-6364f03a78f9",5f5299e4-c78e-4109-8e26-68c61ac6beb0,"copyinfo",a9ed1e1a-1e0b-42f0-bbea-fa3ae70e682f} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265.mxl" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265.mxl" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265_mxl.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265_mxl.txt" new file mode 100644 index 00000000..d2fad315 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265_mxl.txt" @@ -0,0 +1,30 @@ +Тип Вид ИмяПеременной ТЧ Реквизит Значение Режим +Справочник ПростойСправочник ПростойСправочник1 + Наименование Простой справочник 1 +Справочник ПростойСправочник ПростойСправочник2 + Наименование Простой справочник 2 +Справочник ПростойСправочник ПростойСправочник3 + Наименование Простой справочник 3 +Справочник ПростойСправочник ПростойСправочник4 + Наименование Простой справочник 4 +Справочник ПростойСправочник2 ДругойСправочник1 + Наименование Другой справочник 1 +Справочник ПростойСправочник2 ДругойСправочник2 + Наименование Другой справочник 2 +Справочник ПростойСправочник2 ДругойСправочник3 + Наименование Другой справочник 3 +РегистрСведений РегистрСведений1 ЗаписьРегистра1 + ПростойСправочник ПростойСправочник1 Перем + ПростойСправочник2 ДругойСправочник1 Перем + РесурсЧисло 212,00 + РесурсБулево Ложь +РегистрСведений РегистрСведений1 ЗаписьРегистра2 + ПростойСправочник ПростойСправочник1 Перем + ПростойСправочник2 ДругойСправочник2 Перем + РесурсЧисло 5 457,00 + РесурсБулево Истина +РегистрСведений РегистрСведений1 ЗаписьРегистра3 + ПростойСправочник ПростойСправочник1 Перем + ПростойСправочник2 ДругойСправочник3 Перем + РесурсЧисло 875,00 + РесурсБулево Истина \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/\320\234\320\260\320\272\320\265\321\202\321\213/\320\255\321\202\320\260\320\273\320\276\320\275.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/\320\234\320\260\320\272\320\265\321\202\321\213/\320\255\321\202\320\260\320\273\320\276\320\275.mxl" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/\320\234\320\260\320\272\320\265\321\202\321\213/\320\255\321\202\320\260\320\273\320\276\320\275.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/\320\234\320\260\320\272\320\265\321\202\321\213/\320\255\321\202\320\260\320\273\320\276\320\275.mxl" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/\320\234\320\260\320\272\320\265\321\202\321\213/\320\255\321\202\320\260\320\273\320\276\320\275_mxl.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/\320\234\320\260\320\272\320\265\321\202\321\213/\320\255\321\202\320\260\320\273\320\276\320\275_mxl.txt" new file mode 100644 index 00000000..ddf5b0d4 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\236\321\202\321\207\320\265\321\202\320\235\320\260\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\255\321\202\320\260\320\273\320\276\320\275\321\203/\320\234\320\260\320\272\320\265\321\202\321\213/\320\255\321\202\320\260\320\273\320\276\320\275_mxl.txt" @@ -0,0 +1,6 @@ +Простой справочник Ресурс число +Простой справочник2 +Простой справочник 1 6 332,00 +Другой справочник 2 5 457,00 +Другой справочник 3 875,00 +Итого 6 332,00 \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/ObjectModule.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/ObjectModule.txt" new file mode 100644 index 00000000..55f76d58 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/ObjectModule.txt" @@ -0,0 +1,117 @@ +Перем КонтекстЯдра; +Перем Ожидаем; + +Перем ФайлОтчета; + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); +КонецПроцедуры + +Функция ПолучитьСписокТестов() Экспорт + ВсеТесты = Новый Массив; + ВсеТесты.Добавить("ТестДолжен_СоздатьОтчет"); + ВсеТесты.Добавить("ТестДолжен_Экспортировать_ОтчетОТестировании"); + + Возврат ВсеТесты; +КонецФункции + +Процедура ПередЗапускомТеста() Экспорт + +КонецПроцедуры + +Процедура ПослеЗапускаТеста() Экспорт + Если ФайлОтчета <> Неопределено Тогда + УдалитьФайлы(ФайлОтчета.ПолноеИмя); + КонецЕсли; +КонецПроцедуры + +Процедура ТестДолжен_СоздатьОтчет() Экспорт + РезультатТестирования = ПодготовитьРезультатТестирования(); + + ГенераторОтчета = КонтекстЯдра.Плагин("ГенераторОтчетаJUnitXML"); + Отчет = ГенераторОтчета.СоздатьОтчет(КонтекстЯдра, РезультатТестирования); + + Ожидаем.Что(Отчет).ИмеетТип("ТекстовыйДокумент"); + ТекстОтчета = ПолучитьТекстОтчета(Отчет); + + Эталон_ОтчетОТестировании = ПолучитьМакет("Эталон_ОтчетОТестировании"); + ТекстЭталона = ПолучитьТекстОтчета(Эталон_ОтчетОТестировании); + + Ожидаем.Что(ТекстОтчета).Равно(ТекстЭталона); +КонецПроцедуры + +Функция ПодготовитьРезультатТестирования() + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + УспешныйЭлемент = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "УспешныйМетод"); + ЭлементПадающийПоУтверждению = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "МетодПадающийПоУтверждению"); + ЭлементПадающийПоНеизвестнойОшибке = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "МетодПадающийПоНеизвестнойОшибке"); + ОтсутствующийЭлемент = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "ОтсутствующийМетод"); + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер"); + Контейнер.Строки.Добавить(УспешныйЭлемент); + Контейнер.Строки.Добавить(ЭлементПадающийПоУтверждению); + Контейнер.Строки.Добавить(ЭлементПадающийПоНеизвестнойОшибке); + Контейнер.Строки.Добавить(ОтсутствующийЭлемент); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Контейнер); + + РезультатТестирования.ВремяВыполнения = 0; // для упрощения сравнения не учитываю время выполнения, т.к. оно всегда разное + + Возврат РезультатТестирования; +КонецФункции + +Функция УбратьИзСтрокиТабуляцииИПереносыСтрок(Знач Результат) + Результат = СтрЗаменить(Результат, Символы.Таб, ""); + Результат = СтрЗаменить(Результат, Символы.ПС, ""); + + Возврат Результат; +КонецФункции + +Процедура ТестДолжен_Экспортировать_ОтчетОТестировании() Экспорт + РезультатТестирования = ПодготовитьРезультатТестирования(); + + ГенераторОтчета = КонтекстЯдра.Плагин("ГенераторОтчетаJUnitXML"); + Отчет = ГенераторОтчета.СоздатьОтчет(КонтекстЯдра, РезультатТестирования); + + ИмяФайла = ПолучитьИмяВременногоФайла("xml"); + ФайлОтчета = Новый Файл(ИмяФайла); + ГенераторОтчета.Экспортировать(Отчет, ФайлОтчета.ПолноеИмя); + + Ожидаем.Что(ФайлОтчета.Существует()).ЭтоИстина(); + + ТекстовыйДокумент = Новый ТекстовыйДокумент; + ТекстовыйДокумент.Прочитать(ФайлОтчета.ПолноеИмя); + ТекстОтчета = ПолучитьТекстОтчета(ТекстовыйДокумент); + + Эталон_ОтчетОТестировании = ПолучитьМакет("Эталон_ОтчетОТестировании"); + ТекстЭталона = ПолучитьТекстОтчета(Эталон_ОтчетОТестировании); + + Ожидаем.Что(ТекстОтчета).Равно(ТекстЭталона); +КонецПроцедуры + +Функция ПолучитьТекстОтчета(ТекстовыйДокумент) + ТекстОтчета = ТекстовыйДокумент.ПолучитьСтроку(1) + Символы.ПС + ТекстовыйДокумент.ПолучитьСтроку(2); + ТекстОтчета = УбратьИзСтрокиТабуляцииИПереносыСтрок(ТекстОтчета); + Возврат ТекстОтчета; +КонецФункции + +// Методы нужные для тестов +Функция ЗагрузчикЗаглушка() + Возврат ЭтотОбъект; +КонецФункции + +Функция ПолучитьКонтекстПоПути(КонтекстЯдра, Путь) Экспорт + Возврат ЭтотОбъект; +КонецФункции + +Процедура УспешныйМетод() Экспорт +КонецПроцедуры + +Процедура МетодПадающийПоУтверждению() Экспорт + КонтекстЯдра.ВызватьОшибкуПроверки("БАБАХ!!!"); +КонецПроцедуры + +Процедура МетодПадающийПоНеизвестнойОшибке() Экспорт + ВызватьИсключение "Ошибка!!!"; +КонецПроцедуры diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/maps.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/maps.txt" new file mode 100644 index 00000000..74a2adcb --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/maps.txt" @@ -0,0 +1 @@ +Макеты\Эталон_ОтчетОТестировании.txt-->d1b9a471-687e-4a8d-a08e-27df388fd7cd.0 diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/renames.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/renames.txt" new file mode 100644 index 00000000..b8035533 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/renames.txt" @@ -0,0 +1,9 @@ +aa3398ee-6203-44e1-9810-a0737f241f75-->und\aa3398ee-6203-44e1-9810-a0737f241f75 +copyinfo-->und\copyinfo +d1b9a471-687e-4a8d-a08e-27df388fd7cd-->und\d1b9a471-687e-4a8d-a08e-27df388fd7cd +d1b9a471-687e-4a8d-a08e-27df388fd7cd.0-->und\d1b9a471-687e-4a8d-a08e-27df388fd7cd.0 +ea75be97-b437-4750-a79f-478ea2e60f75.0\info-->und\ea75be97-b437-4750-a79f-478ea2e60f75.0\info +ea75be97-b437-4750-a79f-478ea2e60f75.0\text-->ObjectModule.txt +root-->und\root +version-->und\version +versions-->und\versions diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/und/aa3398ee-6203-44e1-9810-a0737f241f75" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/und/aa3398ee-6203-44e1-9810-a0737f241f75" new file mode 100644 index 00000000..1360c7e1 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/und/aa3398ee-6203-44e1-9810-a0737f241f75" @@ -0,0 +1,17 @@ +{1, +{aa3398ee-6203-44e1-9810-a0737f241f75},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,6fd23cfa-0426-4dc3-9927-aedb28bf29ae,0ff7877a-1835-4e16-a06f-627983be2f35, +{0, +{0, +{0,0,ea75be97-b437-4750-a79f-478ea2e60f75},"Тесты_ГенераторОтчетаJUnitXML", +{1,"ru","Тесты генератор отчета junit XML"},""} +},00000000-0000-0000-0000-000000000000,"",00000000-0000-0000-0000-000000000000},4, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, +{3daea016-69b7-4ed4-9453-127911372fe6,1,d1b9a471-687e-4a8d-a08e-27df388fd7cd}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} +} +} +} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\220\320\262\321\202\320\276\320\242\320\265\321\201\321\202\321\213\320\247\320\265\321\200\320\265\320\267\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/und/copyinfo" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/und/copyinfo" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\220\320\262\321\202\320\276\320\242\320\265\321\201\321\202\321\213\320\247\320\265\321\200\320\265\320\267\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/und/copyinfo" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/und/copyinfo" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/und/d1b9a471-687e-4a8d-a08e-27df388fd7cd" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/und/d1b9a471-687e-4a8d-a08e-27df388fd7cd" new file mode 100644 index 00000000..144ad33c --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/und/d1b9a471-687e-4a8d-a08e-27df388fd7cd" @@ -0,0 +1,6 @@ +{1, +{2,4, +{0, +{0,0,d1b9a471-687e-4a8d-a08e-27df388fd7cd},"Эталон_ОтчетОТестировании", +{1,"ru","Эталон отчет о тестировании"},""} +},0} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/und/d1b9a471-687e-4a8d-a08e-27df388fd7cd.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/und/d1b9a471-687e-4a8d-a08e-27df388fd7cd.0" new file mode 100644 index 00000000..3dedf658 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/und/d1b9a471-687e-4a8d-a08e-27df388fd7cd.0" @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/164f86b3-6b0d-4640-ba21-1138c5c2fbfc.0/info" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/und/ea75be97-b437-4750-a79f-478ea2e60f75.0/info" similarity index 100% rename from "src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/164f86b3-6b0d-4640-ba21-1138c5c2fbfc.0/info" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/und/ea75be97-b437-4750-a79f-478ea2e60f75.0/info" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/und/root" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/und/root" new file mode 100644 index 00000000..1286e33a --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/und/root" @@ -0,0 +1 @@ +{2,aa3398ee-6203-44e1-9810-a0737f241f75,} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/version" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/und/version" similarity index 100% rename from "src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/version" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/und/version" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/und/versions" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/und/versions" new file mode 100644 index 00000000..1393f9de --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/und/versions" @@ -0,0 +1 @@ +{1,11,"",47c296fa-615a-4aa2-85dc-b37e5129881a,"d1b9a471-687e-4a8d-a08e-27df388fd7cd.0",7a750443-b28c-4d37-8035-7d41c6eab836,"versions",76f01569-f690-4db2-a9db-0556804b77f4,"ea75be97-b437-4750-a79f-478ea2e60f75.0",5392ad51-1958-4506-aef3-6585184e06b0,"root",bf34f7c1-098d-4736-a028-7ff4b89790a2,"d277cc43-f0a9-4723-8f31-1184414687cb",d0fb0ba0-ca22-4fd0-ac62-fbde0d40e179,"aa3398ee-6203-44e1-9810-a0737f241f75",ec3dad7d-5b4b-444c-8012-1eb744b90ce7,"cc3dbe26-3080-4bf0-9ab1-ee85f142f7bc",398e9380-50e9-46e0-8c61-15026bb86cf2,"d1b9a471-687e-4a8d-a08e-27df388fd7cd",fff862e9-1349-4991-94bc-b1ff90d36882,"version",5930e94a-b972-4e9d-99c7-e1cec60de88c,"copyinfo",b69b4d78-1a4f-4b62-8e73-3028aa4dc077} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/\320\234\320\260\320\272\320\265\321\202\321\213/\320\255\321\202\320\260\320\273\320\276\320\275_\320\236\321\202\321\207\320\265\321\202\320\236\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/\320\234\320\260\320\272\320\265\321\202\321\213/\320\255\321\202\320\260\320\273\320\276\320\275_\320\236\321\202\321\207\320\265\321\202\320\236\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270.txt" new file mode 100644 index 00000000..3dedf658 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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\260JUnitXML/\320\234\320\260\320\272\320\265\321\202\321\213/\320\255\321\202\320\260\320\273\320\276\320\275_\320\236\321\202\321\207\320\265\321\202\320\236\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270.txt" @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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.txt" new file mode 100644 index 00000000..c97714a7 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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.txt" @@ -0,0 +1,70 @@ +Перем КонтекстЯдра; +Перем Ожидаем; + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); +КонецПроцедуры + +Функция ПолучитьСписокТестов() Экспорт + ВсеТесты = Новый Массив; + ВсеТесты.Добавить("ТестДолжен_ПолучитьОтчетОТестировании"); + + Возврат ВсеТесты; +КонецФункции + +Процедура ПередЗапускомТеста() Экспорт + +КонецПроцедуры + +Процедура ПослеЗапускаТеста() Экспорт + +КонецПроцедуры + +Процедура ТестДолжен_ПолучитьОтчетОТестировании() Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + УспешныйЭлемент = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "УспешныйМетод"); + ПадающийЭлемент = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "ПадающийМетод"); + ОтсутствующийЭлемент = ПостроительДереваТестов.СоздатьЭлемент(ЭтотОбъект.ИспользуемоеИмяФайла, "ОтсутствующийМетод"); + + Контейнер = ПостроительДереваТестов.СоздатьКонтейнер("Контейнер"); + Контейнер.Строки.Добавить(УспешныйЭлемент); + Контейнер.Строки.Добавить(ПадающийЭлемент); + Контейнер.Строки.Добавить(ОтсутствующийЭлемент); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикЗаглушка(), Контейнер); + + ГенераторОтчетаMXL = КонтекстЯдра.Плагин("ГенераторОтчетаMXL"); + Отчет = ГенераторОтчетаMXL.СоздатьОтчет(КонтекстЯдра, РезультатТестирования); + + Ожидаем.Что(Отчет).ИмеетТип("ТабличныйДокумент"); + + // Заголовок + ОбщаяСтатистикаЗапуска = "Запущено тестов - " + Контейнер.Строки.Количество() + ", ошибочных тестов - 1, не прошло проверку - 0, пропущено - 1"; + Ожидаем.Что(Отчет.НайтиТекст(ОбщаяСтатистикаЗапуска), "ОбщаяСтатистикаЗапуска").Существует(); + Ожидаем.Что(Отчет.НайтиТекст("Общее время выполнения"), "Заголовок").Существует(); + // Контейнер + Ожидаем.Что(Отчет.НайтиТекст(Контейнер.Имя), "Контейнер").Существует(); + // Тесты + Ожидаем.Что(Отчет.НайтиТекст(УспешныйЭлемент.ИмяМетода), "УспешныйЭлемент").Не_().Существует(); + Ожидаем.Что(Отчет.НайтиТекст(ПадающийЭлемент.ИмяМетода), "ПадающийЭлемент").Существует(); + Ожидаем.Что(Отчет.НайтиТекст(ОтсутствующийЭлемент.ИмяМетода), "ОтсутствующийЭлемент").Существует(); + //Ожидаем.Что(Отчет.НайтиТекст(ОтсутствующийЭлемент.ИмяМетода), "ОтсутствующийЭлемент").Не_().Существует(); +КонецПроцедуры + +// Методы нужные для тестов +Функция ЗагрузчикЗаглушка() + Возврат ЭтотОбъект; +КонецФункции + +Функция ПолучитьКонтекстПоПути(КонтекстЯдра, Путь) Экспорт + Возврат ЭтотОбъект; +КонецФункции + +Процедура УспешныйМетод() Экспорт +КонецПроцедуры + +Процедура ПадающийМетод() Экспорт + ВызватьИсключение "БАБАХ!!!"; +КонецПроцедуры + diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/ObjectModule.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/maps.txt" similarity index 100% rename from "src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/ObjectModule.txt" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/maps.txt" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/renames.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/renames.txt" new file mode 100644 index 00000000..86a3b021 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/renames.txt" @@ -0,0 +1,7 @@ +aa3398ee-6203-44e1-9810-a0737f241f75-->und\aa3398ee-6203-44e1-9810-a0737f241f75 +copyinfo-->und\copyinfo +ea75be97-b437-4750-a79f-478ea2e60f75.0\info-->und\ea75be97-b437-4750-a79f-478ea2e60f75.0\info +ea75be97-b437-4750-a79f-478ea2e60f75.0\text-->ObjectModule.txt +root-->und\root +version-->und\version +versions-->und\versions diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/aa3398ee-6203-44e1-9810-a0737f241f75" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/aa3398ee-6203-44e1-9810-a0737f241f75" new file mode 100644 index 00000000..c4b3a547 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/aa3398ee-6203-44e1-9810-a0737f241f75" @@ -0,0 +1,17 @@ +{1, +{aa3398ee-6203-44e1-9810-a0737f241f75},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,6fd23cfa-0426-4dc3-9927-aedb28bf29ae,0ff7877a-1835-4e16-a06f-627983be2f35, +{0, +{0, +{0,0,ea75be97-b437-4750-a79f-478ea2e60f75},"Тесты_ГенераторОтчетаMXL", +{1,"ru","Тесты генератор отчета MXL"},""} +},00000000-0000-0000-0000-000000000000,"",00000000-0000-0000-0000-000000000000},4, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, +{3daea016-69b7-4ed4-9453-127911372fe6,0}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} +} +} +} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/und/copyinfo" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/copyinfo" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\224\321\203\320\261\320\273\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\237\321\200\320\270\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\270\320\230\320\267\320\234\320\260\320\272\320\265\321\202\320\276\320\262/und/copyinfo" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/copyinfo" diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/74b001c8-6be4-4e47-8bc9-538820412842.0/info" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/ea75be97-b437-4750-a79f-478ea2e60f75.0/info" similarity index 100% rename from "src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/74b001c8-6be4-4e47-8bc9-538820412842.0/info" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/ea75be97-b437-4750-a79f-478ea2e60f75.0/info" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/root" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/root" new file mode 100644 index 00000000..1286e33a --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/root" @@ -0,0 +1 @@ +{2,aa3398ee-6203-44e1-9810-a0737f241f75,} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/version" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/version" similarity index 100% rename from "src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/version" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/version" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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" new file mode 100644 index 00000000..8f9cc14a --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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" @@ -0,0 +1 @@ +{1,8,"",bba77ce2-d9af-443c-bdb0-c1f56f8d7dbc,"versions",2686611b-a2e8-4023-95e3-dafa2e3393bf,"ea75be97-b437-4750-a79f-478ea2e60f75.0",a47d2c35-d98c-47a7-86d8-37d5b639c920,"root",b78ffa50-5004-414a-8102-a8552f70e735,"aa3398ee-6203-44e1-9810-a0737f241f75",6fbfcef9-df7a-443f-be77-a4d193aee075,"cc3dbe26-3080-4bf0-9ab1-ee85f142f7bc",398e9380-50e9-46e0-8c61-15026bb86cf2,"version",9f291d6f-b7a9-4b02-90b2-33bb2c01df8a,"copyinfo",1e85fddb-16d6-4ba8-bc59-60f6da3f3f78} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" new file mode 100644 index 00000000..679c8264 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" @@ -0,0 +1,135 @@ +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Ожидаем; + +&НаКлиенте +Перем ЗагрузчикИзПодсистемКонфигурации; +&НаКлиенте +Перем ТипыУзловДереваТестов; + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + ЗагрузчикИзПодсистемКонфигурации = КонтекстЯдра.Плагин("ЗагрузчикИзПодсистемКонфигурации"); + ТипыУзловДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов").Объект.ТипыУзловДереваТестов; +КонецПроцедуры + +&НаКлиенте +Функция ПолучитьСписокТестов() Экспорт + ВсеТесты = Новый Массив; + ВсеТесты.Добавить("ТестДолжен_Загрузить_Подсистему_Тестовая"); + ВсеТесты.Добавить("ТестДолжен_ВыполнитьТесты_Подсистемы_Тестовая"); + + // Проверка загрузки тестовых обработок с новым API + ВсеТесты.Добавить("ТестДолжен_Загрузить_ОбработкуСНовымAPI"); + ВсеТесты.Добавить("ТестДолжен_Сформировать_ПараметрыТеста_Простые"); + ВсеТесты.Добавить("ТестДолжен_Сформировать_ПараметрыТеста_СНеопределеноВСередине"); + ВсеТесты.Добавить("ТестДолжен_Сформировать_ПараметрыТеста_СНесколькимиНеопределеноВНачале"); + ВсеТесты.Добавить("ТестДолжен_Сформировать_ПараметрыТеста_СЕдинственнымПараметромНеопределено"); + + Возврат ВсеТесты; +КонецФункции + +&НаКлиенте +Процедура ТестДолжен_Загрузить_Подсистему_Тестовая() Экспорт + ИмяПодсистемы = "Тестовая"; + ДеревоТестов = ЗагрузчикИзПодсистемКонфигурации.Загрузить(КонтекстЯдра, "Метаданные.Подсистемы." + ИмяПодсистемы); + + Ожидаем.Что(ДеревоТестов).ИмеетТип("Структура"); + Ожидаем.Что(ДеревоТестов.Имя).Равно(ИмяПодсистемы); + Ожидаем.Что(ДеревоТестов.Тип).Равно(ТипыУзловДереваТестов.Контейнер); + + Ожидаем.Что(ДеревоТестов.Строки).ИмеетДлину(3); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ВыполнитьТесты_Подсистемы_Тестовая() Экспорт + ИмяПодсистемы = "Тестовая"; + ДеревоТестов = ЗагрузчикИзПодсистемКонфигурации.Загрузить(КонтекстЯдра, "Метаданные.Подсистемы." + ИмяПодсистемы); + + РезультатыТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикИзПодсистемКонфигурации, ДеревоТестов); + + Ожидаем.Что(РезультатыТестирования.КоличествоТестов, "КоличествоТестов").Равно(18); + Ожидаем.Что(РезультатыТестирования.КоличествоСломанныхТестов, "КоличествоСломанныхТестов").Равно(0); + Ожидаем.Что(РезультатыТестирования.КоличествоНеРеализованныхТестов, "КоличествоНеРеализованныхТестов").Равно(0); +КонецПроцедуры + +// { Проверка загрузки тестовых обработок с новым API +&НаКлиенте +Процедура ТестДолжен_Загрузить_ОбработкуСНовымAPI() Экспорт + ПутьОбработкиСНовымAPI = "Метаданные.Обработки.Тест_ЗагрузчикИзПодсистем_НовыйAPIОбъявленияТестов"; + ДеревоТестов = ЗагрузчикИзПодсистемКонфигурации.Загрузить(КонтекстЯдра, ПутьОбработкиСНовымAPI); + + ТестыОбработкиСНовымAPI = ДеревоТестов; + + Ожидаем.Что(ТестыОбработкиСНовымAPI.СлучайныйПорядокВыполнения, "ТестыОбработкиСНовымAPI порядок выполнения").ЭтоИстина(); + Ожидаем.Что(ТестыОбработкиСНовымAPI.Строки, "ТестыОбработкиСНовымAPI количество дочерних узлов").ИмеетДлину(5); + + Элемент1 = ТестыОбработкиСНовымAPI.Строки[0]; + Ожидаем.Что(Элемент1.Тип, "Элемент1.Тип").Равно(КонтекстЯдра.Объект.ТипыУзловДереваТестов.Элемент); + Ожидаем.Что(Элемент1.Путь, "Элемент1.Путь").Равно(ПутьОбработкиСНовымAPI); + Ожидаем.Что(Элемент1.ИмяМетода, "Элемент1.ИмяМетода").Равно("ТестДолжен_ПроверитьВыполнение_ПростогоТеста"); + + ДочернийКонтейнер1 = ТестыОбработкиСНовымAPI.Строки[1]; + Ожидаем.Что(ДочернийКонтейнер1.Тип, "ДочернийКонтейнер1.Тип").Равно(КонтекстЯдра.Объект.ТипыУзловДереваТестов.Контейнер); + Ожидаем.Что(ДочернийКонтейнер1.СлучайныйПорядокВыполнения, "ДочернийКонтейнер1 порядок выполнения").ЭтоИстина(); + Ожидаем.Что(ДочернийКонтейнер1.Имя, "ДочернийКонтейнер1.Имя").Равно("Группа со случайным порядком выполнения"); + Ожидаем.Что(ДочернийКонтейнер1.Строки, "ДочернийКонтейнер1.Строки").ИмеетТип("Массив").ИмеетДлину(2); + + ДочернийКонтейнер2 = ТестыОбработкиСНовымAPI.Строки[2]; + Ожидаем.Что(ДочернийКонтейнер2.Тип, "ДочернийКонтейнер2.Тип").Равно(КонтекстЯдра.Объект.ТипыУзловДереваТестов.Контейнер); + Ожидаем.Что(ДочернийКонтейнер2.СлучайныйПорядокВыполнения, "ДочернийКонтейнер2 порядок выполнения").ЭтоЛожь(); + Ожидаем.Что(ДочернийКонтейнер2.Имя, "ДочернийКонтейнер2.Имя").Равно("Группа со строгим порядком выполнения"); + Ожидаем.Что(ДочернийКонтейнер2.Строки, "ДочернийКонтейнер2.Строки").ИмеетТип("Массив").ИмеетДлину(2); + + ДочернийКонтейнер3 = ТестыОбработкиСНовымAPI.Строки[3]; + Ожидаем.Что(ДочернийКонтейнер3.Тип, "ДочернийКонтейнер3.Тип").Равно(КонтекстЯдра.Объект.ТипыУзловДереваТестов.Контейнер); + Ожидаем.Что(ДочернийКонтейнер3.СлучайныйПорядокВыполнения, "ДочернийКонтейнер3 порядок выполнения").ЭтоЛожь(); + Ожидаем.Что(ДочернийКонтейнер3.Имя, "ДочернийКонтейнер3.Имя").Равно("Группа параметризированных тестов со строгим порядком выполнения"); + Ожидаем.Что(ДочернийКонтейнер3.Строки, "ДочернийКонтейнер3.Строки").ИмеетТип("Массив").ИмеетДлину(2); + + ДочернийКонтейнер4_Форма = ТестыОбработкиСНовымAPI.Строки[4]; + Ожидаем.Что(ДочернийКонтейнер4_Форма.Тип, "ДочернийКонтейнер4_Форма.Тип").Равно(КонтекстЯдра.Объект.ТипыУзловДереваТестов.Контейнер); + Ожидаем.Что(ДочернийКонтейнер4_Форма.СлучайныйПорядокВыполнения, "ДочернийКонтейнер4_Форма порядок выполнения").ЭтоИстина(); + Ожидаем.Что(ДочернийКонтейнер4_Форма.Имя, "ДочернийКонтейнер4_Форма.Имя").Равно("УпрФорма # Тест_ЗагрузчикИзПодсистем_НовыйAPIОбъявленияТестов"); + Ожидаем.Что(ДочернийКонтейнер4_Форма.Строки, "ДочернийКонтейнер4_Форма.Строки").ИмеетТип("Массив").ИмеетДлину(4); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Сформировать_ПараметрыТеста_Простые() Экспорт + ПараметрыТеста = ЗагрузчикИзПодсистемКонфигурации.ПараметрыТеста(1, 2, 3, 4, 5, 6, 7, 8, 9); + Ожидаем.Что(ПараметрыТеста, "ПараметрыТеста").ИмеетТип("Массив").ИмеетДлину(9); + Ожидаем.Что(ПараметрыТеста[0], "ПараметрыТеста[0]").Равно(1); + Ожидаем.Что(ПараметрыТеста[4], "ПараметрыТеста[0]").Равно(5); + Ожидаем.Что(ПараметрыТеста[8], "ПараметрыТеста[0]").Равно(9); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Сформировать_ПараметрыТеста_СНеопределеноВСередине() Экспорт + ПараметрыТеста = ЗагрузчикИзПодсистемКонфигурации.ПараметрыТеста(Истина, , Ложь); + Ожидаем.Что(ПараметрыТеста, "ПараметрыТеста").ИмеетДлину(3); + Ожидаем.Что(ПараметрыТеста[0], "ПараметрыТеста[0]").ЭтоИстина(); + Ожидаем.Что(ПараметрыТеста[1], "ПараметрыТеста[1]").ЭтоНеопределено(); + Ожидаем.Что(ПараметрыТеста[2], "ПараметрыТеста[2]").ЭтоЛожь(); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Сформировать_ПараметрыТеста_СНесколькимиНеопределеноВНачале() Экспорт + ПараметрыТеста = ЗагрузчикИзПодсистемКонфигурации.ПараметрыТеста(, , Истина, Ложь); + Ожидаем.Что(ПараметрыТеста, "ПараметрыТеста").ИмеетДлину(4); + Ожидаем.Что(ПараметрыТеста[0], "ПараметрыТеста[0]").ЭтоНеопределено(); + Ожидаем.Что(ПараметрыТеста[1], "ПараметрыТеста[1]").ЭтоНеопределено(); + Ожидаем.Что(ПараметрыТеста[2], "ПараметрыТеста[2]").ЭтоИстина(); + Ожидаем.Что(ПараметрыТеста[3], "ПараметрыТеста[3]").ЭтоЛожь(); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Сформировать_ПараметрыТеста_СЕдинственнымПараметромНеопределено() Экспорт + ПараметрыТеста = ЗагрузчикИзПодсистемКонфигурации.ПараметрыТеста(Неопределено); + Ожидаем.Что(ПараметрыТеста, "ПараметрыТеста").ИмеетДлину(1); + Ожидаем.Что(ПараметрыТеста[0], "ПараметрыТеста[0]").ЭтоНеопределено(); +КонецПроцедуры +// } Проверка загрузки тестовых обработок с новым API + diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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.txt" new file mode 100644 index 00000000..4d85c539 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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.txt" @@ -0,0 +1,115 @@ +Перем КонтекстЯдра; +Перем Ожидаем; + +Перем ЗагрузчикИзПодсистемКонфигурации; +Перем ТипыУзловДереваТестов; + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + ЗагрузчикИзПодсистемКонфигурации = КонтекстЯдра.Плагин("ЗагрузчикИзПодсистемКонфигурации"); + ТипыУзловДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов").ТипыУзловДереваТестов; +КонецПроцедуры + +Функция ПолучитьСписокТестов() Экспорт + ВсеТесты = Новый Массив; + ВсеТесты.Добавить("ТестДолжен_Загрузить_Подсистему_Тестовая"); + ВсеТесты.Добавить("ТестДолжен_ВыполнитьТесты_Подсистемы_Тестовая"); + + // Проверка загрузки тестовых обработок с новым API + ВсеТесты.Добавить("ТестДолжен_Загрузить_ОбработкуСНовымAPI"); + ВсеТесты.Добавить("ТестДолжен_Сформировать_ПараметрыТеста_Простые"); + ВсеТесты.Добавить("ТестДолжен_Сформировать_ПараметрыТеста_СНеопределеноВСередине"); + ВсеТесты.Добавить("ТестДолжен_Сформировать_ПараметрыТеста_СНесколькимиНеопределеноВНачале"); + ВсеТесты.Добавить("ТестДолжен_Сформировать_ПараметрыТеста_СЕдинственнымПараметромНеопределено"); + + Возврат ВсеТесты; +КонецФункции + +Процедура ТестДолжен_Загрузить_Подсистему_Тестовая() Экспорт + ИмяПодсистемы = "Тестовая"; + ДеревоТестов = ЗагрузчикИзПодсистемКонфигурации.Загрузить(КонтекстЯдра, "Метаданные.Подсистемы." + ИмяПодсистемы); + + Ожидаем.Что(ДеревоТестов).ИмеетТип("Структура"); + Ожидаем.Что(ДеревоТестов.Имя).Равно(ИмяПодсистемы); + Ожидаем.Что(ДеревоТестов.Тип).Равно(ТипыУзловДереваТестов.Контейнер); + + Ожидаем.Что(ДеревоТестов.Строки).ИмеетДлину(3); +КонецПроцедуры + +Процедура ТестДолжен_ВыполнитьТесты_Подсистемы_Тестовая() Экспорт + ИмяПодсистемы = "Тестовая"; + ДеревоТестов = ЗагрузчикИзПодсистемКонфигурации.Загрузить(КонтекстЯдра, "Метаданные.Подсистемы." + ИмяПодсистемы); + + РезультатыТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикИзПодсистемКонфигурации, ДеревоТестов); + + Ожидаем.Что(РезультатыТестирования.КоличествоТестов, "КоличествоТестов").Равно(9); + Ожидаем.Что(РезультатыТестирования.КоличествоСломанныхТестов, "КоличествоСломанныхТестов").Равно(0); + Ожидаем.Что(РезультатыТестирования.КоличествоНеРеализованныхТестов, "КоличествоНеРеализованныхТестов").Равно(0); +КонецПроцедуры + +// { Проверка загрузки тестовых обработок с новым API +Процедура ТестДолжен_Загрузить_ОбработкуСНовымAPI() Экспорт + ПутьОбработкиСНовымAPI = "Метаданные.Обработки.Тест_ЗагрузчикИзПодсистем_НовыйAPIОбъявленияТестов"; + ДеревоТестов = ЗагрузчикИзПодсистемКонфигурации.Загрузить(КонтекстЯдра, ПутьОбработкиСНовымAPI); + + ТестыОбработкиСНовымAPI = ДеревоТестов; + + Ожидаем.Что(ТестыОбработкиСНовымAPI.СлучайныйПорядокВыполнения, "ТестыОбработкиСНовымAPI порядок выполнения").ЭтоИстина(); + Ожидаем.Что(ТестыОбработкиСНовымAPI.Строки, "ТестыОбработкиСНовымAPI количество дочерних узлов").ИмеетДлину(4); + + Элемент1 = ТестыОбработкиСНовымAPI.Строки[0]; + Ожидаем.Что(Элемент1.Тип, "Элемент1.Тип").Равно(КонтекстЯдра.ТипыУзловДереваТестов.Элемент); + Ожидаем.Что(Элемент1.Путь, "Элемент1.Путь").Равно(ПутьОбработкиСНовымAPI); + Ожидаем.Что(Элемент1.ИмяМетода, "Элемент1.ИмяМетода").Равно("ТестДолжен_ПроверитьВыполнение_ПростогоТеста"); + + ДочернийКонтейнер1 = ТестыОбработкиСНовымAPI.Строки[1]; + Ожидаем.Что(ДочернийКонтейнер1.Тип, "ДочернийКонтейнер1.Тип").Равно(КонтекстЯдра.ТипыУзловДереваТестов.Контейнер); + Ожидаем.Что(ДочернийКонтейнер1.СлучайныйПорядокВыполнения, "ДочернийКонтейнер1 порядок выполнения").ЭтоИстина(); + Ожидаем.Что(ДочернийКонтейнер1.Имя, "ДочернийКонтейнер1.Имя").Равно("Группа со случайным порядком выполнения"); + Ожидаем.Что(ДочернийКонтейнер1.Строки, "ДочернийКонтейнер1.Строки").ИмеетТип("Массив").ИмеетДлину(2); + + ДочернийКонтейнер2 = ТестыОбработкиСНовымAPI.Строки[2]; + Ожидаем.Что(ДочернийКонтейнер2.Тип, "ДочернийКонтейнер2.Тип").Равно(КонтекстЯдра.ТипыУзловДереваТестов.Контейнер); + Ожидаем.Что(ДочернийКонтейнер2.СлучайныйПорядокВыполнения, "ДочернийКонтейнер2 порядок выполнения").ЭтоЛожь(); + Ожидаем.Что(ДочернийКонтейнер2.Имя, "ДочернийКонтейнер2.Имя").Равно("Группа со строгим порядком выполнения"); + Ожидаем.Что(ДочернийКонтейнер2.Строки, "ДочернийКонтейнер2.Строки").ИмеетТип("Массив").ИмеетДлину(2); + + ДочернийКонтейнер3 = ТестыОбработкиСНовымAPI.Строки[3]; + Ожидаем.Что(ДочернийКонтейнер3.Тип, "ДочернийКонтейнер3.Тип").Равно(КонтекстЯдра.ТипыУзловДереваТестов.Контейнер); + Ожидаем.Что(ДочернийКонтейнер3.СлучайныйПорядокВыполнения, "ДочернийКонтейнер3 порядок выполнения").ЭтоЛожь(); + Ожидаем.Что(ДочернийКонтейнер3.Имя, "ДочернийКонтейнер3.Имя").Равно("Группа параметризированных тестов со строгим порядком выполнения"); + Ожидаем.Что(ДочернийКонтейнер3.Строки, "ДочернийКонтейнер3.Строки").ИмеетТип("Массив").ИмеетДлину(2); +КонецПроцедуры + +Процедура ТестДолжен_Сформировать_ПараметрыТеста_Простые() Экспорт + Параметры = ЗагрузчикИзПодсистемКонфигурации.ПараметрыТеста(1, 2, 3, 4, 5, 6, 7, 8, 9); + Ожидаем.Что(Параметры, "Параметры").ИмеетТип("Массив").ИмеетДлину(9); + Ожидаем.Что(Параметры[0], "Параметры[0]").Равно(1); + Ожидаем.Что(Параметры[4], "Параметры[0]").Равно(5); + Ожидаем.Что(Параметры[8], "Параметры[0]").Равно(9); +КонецПроцедуры + +Процедура ТестДолжен_Сформировать_ПараметрыТеста_СНеопределеноВСередине() Экспорт + Параметры = ЗагрузчикИзПодсистемКонфигурации.ПараметрыТеста(Истина, , Ложь); + Ожидаем.Что(Параметры, "Параметры").ИмеетДлину(3); + Ожидаем.Что(Параметры[0], "Параметры[0]").ЭтоИстина(); + Ожидаем.Что(Параметры[1], "Параметры[1]").ЭтоНеопределено(); + Ожидаем.Что(Параметры[2], "Параметры[2]").ЭтоЛожь(); +КонецПроцедуры + +Процедура ТестДолжен_Сформировать_ПараметрыТеста_СНесколькимиНеопределеноВНачале() Экспорт + Параметры = ЗагрузчикИзПодсистемКонфигурации.ПараметрыТеста(, , Истина, Ложь); + Ожидаем.Что(Параметры, "Параметры").ИмеетДлину(4); + Ожидаем.Что(Параметры[0], "Параметры[0]").ЭтоНеопределено(); + Ожидаем.Что(Параметры[1], "Параметры[1]").ЭтоНеопределено(); + Ожидаем.Что(Параметры[2], "Параметры[2]").ЭтоИстина(); + Ожидаем.Что(Параметры[3], "Параметры[3]").ЭтоЛожь(); +КонецПроцедуры + +Процедура ТестДолжен_Сформировать_ПараметрыТеста_СЕдинственнымПараметромНеопределено() Экспорт + Параметры = ЗагрузчикИзПодсистемКонфигурации.ПараметрыТеста(Неопределено); + Ожидаем.Что(Параметры, "Параметры").ИмеетДлину(1); + Ожидаем.Что(Параметры[0], "Параметры[0]").ЭтоНеопределено(); +КонецПроцедуры +// } Проверка загрузки тестовых обработок с новым API diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/renames.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/renames.txt" new file mode 100644 index 00000000..3f678554 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/renames.txt" @@ -0,0 +1,11 @@ +3ff08944-a004-49a6-bc1f-2c332c3d8712.0\info-->und\3ff08944-a004-49a6-bc1f-2c332c3d8712.0\info +3ff08944-a004-49a6-bc1f-2c332c3d8712.0\text-->ObjectModule.txt +6722f33c-a0c0-4fd3-a14e-3cb09ea508e0-->und\6722f33c-a0c0-4fd3-a14e-3cb09ea508e0 +6722f33c-a0c0-4fd3-a14e-3cb09ea508e0.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\Plugins\Тесты_ЗагрузчикИзПодсистемКонфигурации\Form\Форма\Форма.txt +6722f33c-a0c0-4fd3-a14e-3cb09ea508e0.0-->und\6722f33c-a0c0-4fd3-a14e-3cb09ea508e0.0 +6722f33c-a0c0-4fd3-a14e-3cb09ea508e0.0-->und\6722f33c-a0c0-4fd3-a14e-3cb09ea508e0.0 +90851520-10fe-4eef-9409-585f8222427b-->und\90851520-10fe-4eef-9409-585f8222427b +copyinfo-->und\copyinfo +root-->und\root +version-->und\version +versions-->und\versions diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0/info" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/3ff08944-a004-49a6-bc1f-2c332c3d8712.0/info" similarity index 100% rename from "src/Tests/ManagedApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0/info" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/3ff08944-a004-49a6-bc1f-2c332c3d8712.0/info" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/6722f33c-a0c0-4fd3-a14e-3cb09ea508e0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/6722f33c-a0c0-4fd3-a14e-3cb09ea508e0" new file mode 100644 index 00000000..06d36831 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/6722f33c-a0c0-4fd3-a14e-3cb09ea508e0" @@ -0,0 +1,10 @@ +{1, +{1, +{0, +{9, +{0, +{0,0,6722f33c-a0c0-4fd3-a14e-3cb09ea508e0},"Форма", +{1,"ru","Форма"},""},0,1}, +{0} +} +},0} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/6722f33c-a0c0-4fd3-a14e-3cb09ea508e0.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/6722f33c-a0c0-4fd3-a14e-3cb09ea508e0.0" new file mode 100644 index 00000000..ee35a00c --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/6722f33c-a0c0-4fd3-a14e-3cb09ea508e0.0" @@ -0,0 +1,202 @@ +{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}, +{0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},0,0,1} +},"&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Ожидаем; + +&НаКлиенте +Перем ЗагрузчикИзПодсистемКонфигурации; +&НаКлиенте +Перем ТипыУзловДереваТестов; + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин(""УтвержденияBDD""); + ЗагрузчикИзПодсистемКонфигурации = КонтекстЯдра.Плагин(""ЗагрузчикИзПодсистемКонфигурации""); + ТипыУзловДереваТестов = КонтекстЯдра.Плагин(""ПостроительДереваТестов"").Объект.ТипыУзловДереваТестов; +КонецПроцедуры + +&НаКлиенте +Функция ПолучитьСписокТестов() Экспорт + ВсеТесты = Новый Массив; + ВсеТесты.Добавить(""ТестДолжен_Загрузить_Подсистему_Тестовая""); + ВсеТесты.Добавить(""ТестДолжен_ВыполнитьТесты_Подсистемы_Тестовая""); + + // Проверка загрузки тестовых обработок с новым API + ВсеТесты.Добавить(""ТестДолжен_Загрузить_ОбработкуСНовымAPI""); + ВсеТесты.Добавить(""ТестДолжен_Сформировать_ПараметрыТеста_Простые""); + ВсеТесты.Добавить(""ТестДолжен_Сформировать_ПараметрыТеста_СНеопределеноВСередине""); + ВсеТесты.Добавить(""ТестДолжен_Сформировать_ПараметрыТеста_СНесколькимиНеопределеноВНачале""); + ВсеТесты.Добавить(""ТестДолжен_Сформировать_ПараметрыТеста_СЕдинственнымПараметромНеопределено""); + + Возврат ВсеТесты; +КонецФункции + +&НаКлиенте +Процедура ТестДолжен_Загрузить_Подсистему_Тестовая() Экспорт + ИмяПодсистемы = ""Тестовая""; + ДеревоТестов = ЗагрузчикИзПодсистемКонфигурации.Загрузить(КонтекстЯдра, ""Метаданные.Подсистемы."" + ИмяПодсистемы); + + Ожидаем.Что(ДеревоТестов).ИмеетТип(""Структура""); + Ожидаем.Что(ДеревоТестов.Имя).Равно(ИмяПодсистемы); + Ожидаем.Что(ДеревоТестов.Тип).Равно(ТипыУзловДереваТестов.Контейнер); + + Ожидаем.Что(ДеревоТестов.Строки).ИмеетДлину(3); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ВыполнитьТесты_Подсистемы_Тестовая() Экспорт + ИмяПодсистемы = ""Тестовая""; + ДеревоТестов = ЗагрузчикИзПодсистемКонфигурации.Загрузить(КонтекстЯдра, ""Метаданные.Подсистемы."" + ИмяПодсистемы); + + РезультатыТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикИзПодсистемКонфигурации, ДеревоТестов); + + Ожидаем.Что(РезультатыТестирования.КоличествоТестов, ""КоличествоТестов"").Равно(18); + Ожидаем.Что(РезультатыТестирования.КоличествоСломанныхТестов, ""КоличествоСломанныхТестов"").Равно(0); + Ожидаем.Что(РезультатыТестирования.КоличествоНеРеализованныхТестов, ""КоличествоНеРеализованныхТестов"").Равно(0); +КонецПроцедуры + +// { Проверка загрузки тестовых обработок с новым API +&НаКлиенте +Процедура ТестДолжен_Загрузить_ОбработкуСНовымAPI() Экспорт + ПутьОбработкиСНовымAPI = ""Метаданные.Обработки.Тест_ЗагрузчикИзПодсистем_НовыйAPIОбъявленияТестов""; + ДеревоТестов = ЗагрузчикИзПодсистемКонфигурации.Загрузить(КонтекстЯдра, ПутьОбработкиСНовымAPI); + + ТестыОбработкиСНовымAPI = ДеревоТестов; + + Ожидаем.Что(ТестыОбработкиСНовымAPI.СлучайныйПорядокВыполнения, ""ТестыОбработкиСНовымAPI порядок выполнения"").ЭтоИстина(); + Ожидаем.Что(ТестыОбработкиСНовымAPI.Строки, ""ТестыОбработкиСНовымAPI количество дочерних узлов"").ИмеетДлину(5); + + Элемент1 = ТестыОбработкиСНовымAPI.Строки[0]; + Ожидаем.Что(Элемент1.Тип, ""Элемент1.Тип"").Равно(КонтекстЯдра.Объект.ТипыУзловДереваТестов.Элемент); + Ожидаем.Что(Элемент1.Путь, ""Элемент1.Путь"").Равно(ПутьОбработкиСНовымAPI); + Ожидаем.Что(Элемент1.ИмяМетода, ""Элемент1.ИмяМетода"").Равно(""ТестДолжен_ПроверитьВыполнение_ПростогоТеста""); + + ДочернийКонтейнер1 = ТестыОбработкиСНовымAPI.Строки[1]; + Ожидаем.Что(ДочернийКонтейнер1.Тип, ""ДочернийКонтейнер1.Тип"").Равно(КонтекстЯдра.Объект.ТипыУзловДереваТестов.Контейнер); + Ожидаем.Что(ДочернийКонтейнер1.СлучайныйПорядокВыполнения, ""ДочернийКонтейнер1 порядок выполнения"").ЭтоИстина(); + Ожидаем.Что(ДочернийКонтейнер1.Имя, ""ДочернийКонтейнер1.Имя"").Равно(""Группа со случайным порядком выполнения""); + Ожидаем.Что(ДочернийКонтейнер1.Строки, ""ДочернийКонтейнер1.Строки"").ИмеетТип(""Массив"").ИмеетДлину(2); + + ДочернийКонтейнер2 = ТестыОбработкиСНовымAPI.Строки[2]; + Ожидаем.Что(ДочернийКонтейнер2.Тип, ""ДочернийКонтейнер2.Тип"").Равно(КонтекстЯдра.Объект.ТипыУзловДереваТестов.Контейнер); + Ожидаем.Что(ДочернийКонтейнер2.СлучайныйПорядокВыполнения, ""ДочернийКонтейнер2 порядок выполнения"").ЭтоЛожь(); + Ожидаем.Что(ДочернийКонтейнер2.Имя, ""ДочернийКонтейнер2.Имя"").Равно(""Группа со строгим порядком выполнения""); + Ожидаем.Что(ДочернийКонтейнер2.Строки, ""ДочернийКонтейнер2.Строки"").ИмеетТип(""Массив"").ИмеетДлину(2); + + ДочернийКонтейнер3 = ТестыОбработкиСНовымAPI.Строки[3]; + Ожидаем.Что(ДочернийКонтейнер3.Тип, ""ДочернийКонтейнер3.Тип"").Равно(КонтекстЯдра.Объект.ТипыУзловДереваТестов.Контейнер); + Ожидаем.Что(ДочернийКонтейнер3.СлучайныйПорядокВыполнения, ""ДочернийКонтейнер3 порядок выполнения"").ЭтоЛожь(); + Ожидаем.Что(ДочернийКонтейнер3.Имя, ""ДочернийКонтейнер3.Имя"").Равно(""Группа параметризированных тестов со строгим порядком выполнения""); + Ожидаем.Что(ДочернийКонтейнер3.Строки, ""ДочернийКонтейнер3.Строки"").ИмеетТип(""Массив"").ИмеетДлину(2); + + ДочернийКонтейнер4_Форма = ТестыОбработкиСНовымAPI.Строки[4]; + Ожидаем.Что(ДочернийКонтейнер4_Форма.Тип, ""ДочернийКонтейнер4_Форма.Тип"").Равно(КонтекстЯдра.Объект.ТипыУзловДереваТестов.Контейнер); + Ожидаем.Что(ДочернийКонтейнер4_Форма.СлучайныйПорядокВыполнения, ""ДочернийКонтейнер4_Форма порядок выполнения"").ЭтоИстина(); + Ожидаем.Что(ДочернийКонтейнер4_Форма.Имя, ""ДочернийКонтейнер4_Форма.Имя"").Равно(""УпрФорма # Тест_ЗагрузчикИзПодсистем_НовыйAPIОбъявленияТестов""); + Ожидаем.Что(ДочернийКонтейнер4_Форма.Строки, ""ДочернийКонтейнер4_Форма.Строки"").ИмеетТип(""Массив"").ИмеетДлину(4); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Сформировать_ПараметрыТеста_Простые() Экспорт + ПараметрыТеста = ЗагрузчикИзПодсистемКонфигурации.ПараметрыТеста(1, 2, 3, 4, 5, 6, 7, 8, 9); + Ожидаем.Что(ПараметрыТеста, ""ПараметрыТеста"").ИмеетТип(""Массив"").ИмеетДлину(9); + Ожидаем.Что(ПараметрыТеста[0], ""ПараметрыТеста[0]"").Равно(1); + Ожидаем.Что(ПараметрыТеста[4], ""ПараметрыТеста[0]"").Равно(5); + Ожидаем.Что(ПараметрыТеста[8], ""ПараметрыТеста[0]"").Равно(9); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Сформировать_ПараметрыТеста_СНеопределеноВСередине() Экспорт + ПараметрыТеста = ЗагрузчикИзПодсистемКонфигурации.ПараметрыТеста(Истина, , Ложь); + Ожидаем.Что(ПараметрыТеста, ""ПараметрыТеста"").ИмеетДлину(3); + Ожидаем.Что(ПараметрыТеста[0], ""ПараметрыТеста[0]"").ЭтоИстина(); + Ожидаем.Что(ПараметрыТеста[1], ""ПараметрыТеста[1]"").ЭтоНеопределено(); + Ожидаем.Что(ПараметрыТеста[2], ""ПараметрыТеста[2]"").ЭтоЛожь(); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Сформировать_ПараметрыТеста_СНесколькимиНеопределеноВНачале() Экспорт + ПараметрыТеста = ЗагрузчикИзПодсистемКонфигурации.ПараметрыТеста(, , Истина, Ложь); + Ожидаем.Что(ПараметрыТеста, ""ПараметрыТеста"").ИмеетДлину(4); + Ожидаем.Что(ПараметрыТеста[0], ""ПараметрыТеста[0]"").ЭтоНеопределено(); + Ожидаем.Что(ПараметрыТеста[1], ""ПараметрыТеста[1]"").ЭтоНеопределено(); + Ожидаем.Что(ПараметрыТеста[2], ""ПараметрыТеста[2]"").ЭтоИстина(); + Ожидаем.Что(ПараметрыТеста[3], ""ПараметрыТеста[3]"").ЭтоЛожь(); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Сформировать_ПараметрыТеста_СЕдинственнымПараметромНеопределено() Экспорт + ПараметрыТеста = ЗагрузчикИзПодсистемКонфигурации.ПараметрыТеста(Неопределено); + Ожидаем.Что(ПараметрыТеста, ""ПараметрыТеста"").ИмеетДлину(1); + Ожидаем.Что(ПараметрыТеста[0], ""ПараметрыТеста[0]"").ЭтоНеопределено(); +КонецПроцедуры +// } Проверка загрузки тестовых обработок с новым API + +", +{4,1, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",7784af5c-5725-445b-85cc-f9c2719ae216} +}, +{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 +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,0}, +{0,0}, +{0,0}, +{0,0} +} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/90851520-10fe-4eef-9409-585f8222427b" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/90851520-10fe-4eef-9409-585f8222427b" new file mode 100644 index 00000000..fbb0bf84 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/90851520-10fe-4eef-9409-585f8222427b" @@ -0,0 +1,17 @@ +{1, +{90851520-10fe-4eef-9409-585f8222427b},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,7784af5c-5725-445b-85cc-f9c2719ae216,0d8ed39a-8b21-4059-992c-4765be14b5ab, +{0, +{0, +{0,0,3ff08944-a004-49a6-bc1f-2c332c3d8712},"Тесты_ЗагрузчикИзПодсистемКонфигурации", +{1,"ru","Тесты загрузчик из подсистем конфигурации"},""} +},6722f33c-a0c0-4fd3-a14e-3cb09ea508e0,"",00000000-0000-0000-0000-000000000000},4, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, +{3daea016-69b7-4ed4-9453-127911372fe6,0}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,6722f33c-a0c0-4fd3-a14e-3cb09ea508e0}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} +} +} +} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/copyinfo" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/copyinfo" new file mode 100644 index 00000000..c9286cce --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/copyinfo" @@ -0,0 +1,16 @@ +{4, +{2, +{3ff08944-a004-49a6-bc1f-2c332c3d8712,3ff08944-a004-49a6-bc1f-2c332c3d8712,1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"Тесты_ЗагрузчикИзПодсистемКонфигурации"} +}, +{6722f33c-a0c0-4fd3-a14e-3cb09ea508e0,6722f33c-a0c0-4fd3-a14e-3cb09ea508e0,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} +} +}, +{1, +{7784af5c-5725-445b-85cc-f9c2719ae216,3ff08944-a004-49a6-bc1f-2c332c3d8712,0} +}, +{0}, +{0,0}, +{0} +} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/root" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/root" new file mode 100644 index 00000000..3bbd5ccd --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/root" @@ -0,0 +1 @@ +{2,90851520-10fe-4eef-9409-585f8222427b,} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/version" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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" similarity index 100% rename from "src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/version" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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" new file mode 100644 index 00000000..027723b5 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\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" @@ -0,0 +1 @@ +{1,9,"",5d2cc332-c4e8-43b6-99f4-69aae06e3592,"versions",2947b7a7-911c-4d2c-a182-3d8e11205bff,"root",599b9b09-5e27-41cc-a39d-99a4c8172191,"6722f33c-a0c0-4fd3-a14e-3cb09ea508e0.0",bca19527-bf4d-4843-a5ba-29d5ac679268,"3ff08944-a004-49a6-bc1f-2c332c3d8712.0",bbe44565-cd64-4e04-a66a-96e1fa0a7475,"6722f33c-a0c0-4fd3-a14e-3cb09ea508e0",4dc03a00-e5e4-4ae3-b48c-9b2db59485cf,"version",433c8417-a1da-4870-aea8-f28691fbc111,"90851520-10fe-4eef-9409-585f8222427b",460dd851-cd4e-42a5-9c11-4617bd586d70,"copyinfo",d08f7c6a-008d-47c5-bc23-5413ee24741e} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/ObjectModule.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/ObjectModule.txt" new file mode 100644 index 00000000..25c3ed15 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/ObjectModule.txt" @@ -0,0 +1,138 @@ +Перем КонтекстЯдра; +Перем Утверждения; +Перем ЗагрузчикКаталога; +Перем ВременныеФайлы; + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); +КонецПроцедуры + +Функция ПолучитьСписокТестов() Экспорт + ВсеТесты = Новый Массив; + ВсеТесты.Добавить("ТестДолжен_ЗагрузитьКаталогСОднимФайлом"); + ВсеТесты.Добавить("ТестДолжен_ЗагрузитьКаталогСДвумяФайлами"); + ВсеТесты.Добавить("ТестДолжен_ЗагрузитьКаталогСИерархией"); + + Возврат ВсеТесты; +КонецФункции + +Процедура ПередЗапускомТеста() Экспорт + ВременныеФайлы = Новый Массив; + ЗагрузчикКаталога = КонтекстЯдра.Плагин("ЗагрузчикКаталога"); +КонецПроцедуры + +Процедура ПослеЗапускаТеста() Экспорт + ЗагрузчикФайла = Неопределено; + УдалитьВременныеФайлы(); +КонецПроцедуры + +// { Helpers +Функция НовыйВременныйФайл(Расширение) Экспорт + ВременныйФайл = Новый Файл(ПолучитьИмяВременногоФайла(Расширение)); + ВременныеФайлы.Добавить(ВременныйФайл); + + Возврат ВременныйФайл; +КонецФункции + +Процедура УдалитьВременныеФайлы() + Для каждого ВременныйФайл Из ВременныеФайлы Цикл + Попытка + УдалитьФайлы(ВременныйФайл.ПолноеИмя); + Исключение + Сообщить("Не удален временный файл: " + ВременныйФайл.ПолноеИмя + " + |-" + ОписаниеОшибки()); + КонецПопытки; + КонецЦикла; + ВременныеФайлы.Очистить(); +КонецПроцедуры +// } Helpers + +Процедура ТестДолжен_ЗагрузитьКаталогСОднимФайлом() Экспорт + ВременныйКаталог = НовыйВременныйФайл(""); + СоздатьКаталог(ВременныйКаталог.ПолноеИмя); + + ФайлСТестами = Новый Файл(ВременныйКаталог.ПолноеИмя + "\ФайлСТестами.epf"); + ЭтотОбъект.ПолучитьМакет("ТестовыйНаборДляЗагрузчикаФС").Записать(ФайлСТестами.ПолноеИмя); + + ДеревоТестов = ЗагрузчикКаталога.Загрузить(КонтекстЯдра, ВременныйКаталог.ПолноеИмя); + + Утверждения.ПроверитьТип(ДеревоТестов, "Структура", "ДеревоТестов"); + Утверждения.ПроверитьРавенство(ДеревоТестов.Имя, ВременныйКаталог.ПолноеИмя, "ДеревоТестов.Имя"); + Утверждения.ПроверитьРавенство(ДеревоТестов.Строки.Количество(), 1, "Узлы верхнего уровня"); + + Контейнер = ДеревоТестов.Строки[0]; + ПроверитьКонтейнер(Контейнер, ФайлСТестами); +КонецПроцедуры + +Процедура ПроверитьКонтейнер(Контейнер, ФайлСТестами) + ТипыУзловДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов").ТипыУзловДереваТестов; + + Утверждения.ПроверитьРавенство(Контейнер.Тип, ТипыУзловДереваТестов.Контейнер, "Контейнер.Тип"); + Утверждения.ПроверитьРавенство(Контейнер.Имя, ФайлСТестами.ИмяБезРасширения, "Контейнер.Имя"); + Утверждения.ПроверитьТип(Контейнер.Строки, "Массив", "Контейнер.Строки"); + Утверждения.ПроверитьРавенство(Контейнер.Строки.Количество(), 3, "Контейнер.Строки.Количество()"); + + Элемент1 = Контейнер.Строки[0]; + Утверждения.ПроверитьРавенство(Элемент1.Тип, ТипыУзловДереваТестов.Элемент, "Элемент1.Тип"); + Утверждения.ПроверитьРавенство(Элемент1.Путь, ФайлСТестами.ПолноеИмя, "Элемент1.Путь"); + Утверждения.ПроверитьРавенство(Элемент1.ИмяМетода, "УспешныйТест", "Элемент1.ИмяМетода"); + + Элемент3 = Контейнер.Строки[2]; + Утверждения.ПроверитьРавенство(Элемент3.Тип, ТипыУзловДереваТестов.Элемент, "Элемент3.Тип"); + Утверждения.ПроверитьРавенство(Элемент3.Путь, ФайлСТестами.ПолноеИмя, "Элемент3.Путь"); + Утверждения.ПроверитьРавенство(Элемент3.ИмяМетода, "НесуществующийТест", "Элемент3.ИмяМетода"); +КонецПроцедуры + +Процедура ТестДолжен_ЗагрузитьКаталогСДвумяФайлами() Экспорт + ВременныйКаталог = НовыйВременныйФайл(""); + СоздатьКаталог(ВременныйКаталог.ПолноеИмя); + + ФайлСТестами1 = Новый Файл(ВременныйКаталог.ПолноеИмя + "\ФайлСТестами1.epf"); + ЭтотОбъект.ПолучитьМакет("ТестовыйНаборДляЗагрузчикаФС").Записать(ФайлСТестами1.ПолноеИмя); + + ФайлСТестами2 = Новый Файл(ВременныйКаталог.ПолноеИмя + "\ФайлСТестами2.epf"); + ЭтотОбъект.ПолучитьМакет("ТестовыйНаборДляЗагрузчикаФС").Записать(ФайлСТестами2.ПолноеИмя); + + ДеревоТестов = ЗагрузчикКаталога.Загрузить(КонтекстЯдра, ВременныйКаталог.ПолноеИмя); + + Утверждения.ПроверитьТип(ДеревоТестов, "Структура", "ДеревоТестов"); + Утверждения.ПроверитьРавенство(ДеревоТестов.Имя, ВременныйКаталог.ПолноеИмя, "ДеревоТестов.Имя"); + Утверждения.ПроверитьРавенство(ДеревоТестов.Строки.Количество(), 2, "Узлы верхнего уровня"); + + Контейнер1 = ДеревоТестов.Строки[0]; + ПроверитьКонтейнер(Контейнер1, ФайлСТестами1); + + Контейнер2 = ДеревоТестов.Строки[1]; + ПроверитьКонтейнер(Контейнер2, ФайлСТестами2); +КонецПроцедуры + +Процедура ТестДолжен_ЗагрузитьКаталогСИерархией() Экспорт + ВременныйКаталог = НовыйВременныйФайл(""); + СоздатьКаталог(ВременныйКаталог.ПолноеИмя); + + ФайлСТестами1 = Новый Файл(ВременныйКаталог.ПолноеИмя + "\ФайлСТестами1.epf"); + ЭтотОбъект.ПолучитьМакет("ТестовыйНаборДляЗагрузчикаФС").Записать(ФайлСТестами1.ПолноеИмя); + + ДочернийКаталог = Новый Файл(ВременныйКаталог.ПолноеИмя + "\ДочернийКаталог"); + СоздатьКаталог(ДочернийКаталог.ПолноеИмя); + + ФайлСТестами2 = Новый Файл(ДочернийКаталог.ПолноеИмя + "\ФайлСТестами2.epf"); + ЭтотОбъект.ПолучитьМакет("ТестовыйНаборДляЗагрузчикаФС").Записать(ФайлСТестами2.ПолноеИмя); + + ДеревоТестов = ЗагрузчикКаталога.Загрузить(КонтекстЯдра, ВременныйКаталог.ПолноеИмя); + + Утверждения.ПроверитьТип(ДеревоТестов, "Структура", "ДеревоТестов"); + Утверждения.ПроверитьРавенство(ДеревоТестов.Имя, ВременныйКаталог.ПолноеИмя, "ДеревоТестов.Имя"); + Утверждения.ПроверитьРавенство(ДеревоТестов.Строки.Количество(), 2, "Узлы верхнего уровня"); + + Контейнер1 = ДеревоТестов.Строки[0]; + Утверждения.ПроверитьТип(Контейнер1, "Структура", "ДеревоТестов"); + Утверждения.ПроверитьРавенство(Контейнер1.Имя, ДочернийКаталог.Имя, "ДеревоТестов.Имя"); + Утверждения.ПроверитьРавенство(Контейнер1.Строки.Количество(), 1, "Контейнер1.Строки.Количество()"); + Контейнер1_1 = Контейнер1.Строки[0]; + ПроверитьКонтейнер(Контейнер1_1, ФайлСТестами2); + + Контейнер2 = ДеревоТестов.Строки[1]; + ПроверитьКонтейнер(Контейнер2, ФайлСТестами1); +КонецПроцедуры diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/renames.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/renames.txt" new file mode 100644 index 00000000..2213782e --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/renames.txt" @@ -0,0 +1,10 @@ +68b835e4-e814-43b4-8a63-236ef399bcee-->und\68b835e4-e814-43b4-8a63-236ef399bcee +9d8959d3-fadc-451f-b28a-b1a2e1a6ad96.0\info-->und\9d8959d3-fadc-451f-b28a-b1a2e1a6ad96.0\info +9d8959d3-fadc-451f-b28a-b1a2e1a6ad96.0\text-->ObjectModule.txt +aa665d3a-fc64-4191-a6c3-74c56963f0b8-->und\aa665d3a-fc64-4191-a6c3-74c56963f0b8 +aa665d3a-fc64-4191-a6c3-74c56963f0b8.0-->Макеты\ТестовыйНаборДляЗагрузчикаФС.txt +aa665d3a-fc64-4191-a6c3-74c56963f0b8.0-->und\aa665d3a-fc64-4191-a6c3-74c56963f0b8.0 +copyinfo-->und\copyinfo +root-->und\root +version-->und\version +versions-->und\versions diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/68b835e4-e814-43b4-8a63-236ef399bcee" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/68b835e4-e814-43b4-8a63-236ef399bcee" new file mode 100644 index 00000000..a918db0c --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/68b835e4-e814-43b4-8a63-236ef399bcee" @@ -0,0 +1,17 @@ +{1, +{68b835e4-e814-43b4-8a63-236ef399bcee},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,9aed13e0-4aed-4fc8-96b1-1a667f2f3aed,d1b779ef-43b3-4ba5-8e62-18c31cbc1163, +{0, +{0, +{0,0,9d8959d3-fadc-451f-b28a-b1a2e1a6ad96},"Тесты_ЗагрузчикКаталога", +{1,"ru","Тесты загрузчик каталога"},""} +},00000000-0000-0000-0000-000000000000,"",00000000-0000-0000-0000-000000000000},4, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, +{3daea016-69b7-4ed4-9453-127911372fe6,1,aa665d3a-fc64-4191-a6c3-74c56963f0b8}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} +} +} +} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/9d8959d3-fadc-451f-b28a-b1a2e1a6ad96.0/info" similarity index 100% rename from "src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/9d8959d3-fadc-451f-b28a-b1a2e1a6ad96.0/info" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/aa665d3a-fc64-4191-a6c3-74c56963f0b8" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/aa665d3a-fc64-4191-a6c3-74c56963f0b8" new file mode 100644 index 00000000..c7d79e2c --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/aa665d3a-fc64-4191-a6c3-74c56963f0b8" @@ -0,0 +1,6 @@ +{1, +{2,1, +{0, +{0,0,aa665d3a-fc64-4191-a6c3-74c56963f0b8},"ТестовыйНаборДляЗагрузчикаФС", +{1,"ru","Тестовый набор для загрузчика ФС"},""} +},0} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/aa665d3a-fc64-4191-a6c3-74c56963f0b8.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/aa665d3a-fc64-4191-a6c3-74c56963f0b8.0" new file mode 100644 index 00000000..cc3361fa --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/aa665d3a-fc64-4191-a6c3-74c56963f0b8.0" @@ -0,0 +1,93 @@ +{1, +{#base64:////fwACAAAGAAAAAAAAAA0KMDAwMDAwNDggMDAwMDAyMDAgN2ZmZmZmZmYgDQov +AgAArgIAAP///3/NBAAAUAUAAP///39vBwAAtgcAAP///3/VCQAAFAoAAP///38z +DAAAeAwAAP///3+XDgAA3g4AAP///38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0KMDAwMDAwNjAgMDAwMDAw +NjAgN2ZmZmZmZmYgDQrAEbTCJ0ICAMARtMInQgIAAAAAADEAMwA0ADMAOAA5ADMA +NgAtAGMAMwAyADUALQA0ADAAMABkAC0AYgBiAGUAMQAtADQAYwBhAGUAZgA1AGYA +MgBhAGIAZgA3AAAAAAANCjAwMDAwMTdhIDAwMDAwMjAwIDdmZmZmZmZmIA0KjZI7 +al0xEIZ7g/dwObUG9JZmOZqRtIBAKnPAiQsXKdIEUqWw8QKcF05i4mxhzkqyhcy9 +voaAU0SIgYFvPiT9+n3/68yZ05MzF2KoGDJw8AmitR2IhoPIbcw0faNZVnNAOdTg +BlfotSs6MUBt3sNEmm3YEnyZB+W+RBOxNs6JIIXiIVYdxK6DOcdhaw7UOZga23TO +emiIDDE0BPQlKZk6JR/ITrvX/V2s4drZ+9whJ26qDh2aRw+cC/s4qGXG1SxyLV+3 +V9treZBP2xv5Lh/kVj7Kw3Yu7+R+eyvvtf+8nW8Xcrddyjf5of2NXC2Pt1hevFye +S3by88myky97zU7unnt2B5EeYllPT1Zjjwv+UZ6Wsv/FrSbuD+iJx7TdgcXqwLme +gZCqosmS5tEwdaOwoqG30azLkJEKxNEjYEwBnC/onMYzRz6iPZEdaXTwSd83WseA +rN9j5mC5zV5b9kd0cCZKIwGVViF2jY0Go4ZSnS0ta6JTUb3+4/4DAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANCjAwMDAwMDY0IDAwMDAwMDY0 +IDdmZmZmZmZmIA0KwBG0widCAgDAEbTCJ0ICAAAAAABjADgAZABjADIAMgA2AGQA +LQA2ADUAYwBhAC0ANAA4ADMAZAAtAGEAMgA5ADIALQBjADYANwBjADIANABlAGIA +YQA2AGMAOQAuADAAAAAAAA0KMDAwMDAxYWEgMDAwMDAyMDAgN2ZmZmZmZmYgDQrt +U8tKw0AUHbszkIV/MGShLQZJ60KhuHHjh0gLbnTjQhCxD6hKpFVxUaRFtLoUa2hw +bGkrgvs7/+Be/yCeSWxpSiulWx1IcmfmnDP3nrnxPO+QRRibYcHQNcsf8VXeD1bS +weC6tgFIAY8H2j1oH5Eg7tESFu8HA7Qv8b44vx5hr3ONtwV81dhi2yzNdkKnWmn+ +ww7RP1vd/WUzblqmYZjWga7N0oXMkku35MqszEmbr3GqUoccadMLpwrVsZ4lQU5y +BHqJLoF9ojo5JLBwGjWoBkgXgGNqK40e2IhNKnAtMyoBrLUAbU8rU/U38/IkAKGi +vCxiJobFfD3QnwHJoN4cH5YHiq6AaGOhQHcyj6iJSJDQNez5GWPuUgOHQIOPcyEa +4/QArtrsyIzMhZSHdKQ9Tv1Xi0acoQyzUeAU3bXLUmwP74HuSqQ2eT8Id9eoZMtI +UPhuqXQF0qirmSxFg9JxN65KF99HsMCJTeDKwC3IEhwBvIXto+D+6QbFC1jQoWbP +F+XYGG/+f4E/8ws4qjw0SBmbTbRMES2j+IJcbiCRMzqnGlWM5O9pfQMAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0KMDAwMDAwMjggMDAwMDAw +MjggN2ZmZmZmZmYgDQrwaLnCJ0ICAPBoucInQgIAAAAAAGMAbwBwAHkAaQBuAGYA +bwAAAAAADQowMDAwMDAxNSAwMDAwMDIwMCA3ZmZmZmZmZiANCnu/e3+1iQ4vV7VB +LQapA+PxctUCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAADQowMDAwMDAyMCAwMDAwMDAyMCA3ZmZmZmZm +ZiANCvBoucInQgIA8Gi5widCAgAAAAAAcgBvAG8AdAAAAAAADQowMDAwMDAyZSAw +MDAwMDIwMCA3ZmZmZmZmZiANCnu/e3+1kY6hsYmxhaWxmW6ysZGpromBQYpuUlKq +oa5JcmJqmmmaUWJSmrlOLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAADQowMDAwMDAyNiAwMDAwMDAyNiA3ZmZmZmZmZiANCvBoucInQgIA8Gi5widC +AgAAAAAAdgBlAHIAcwBpAG8AbgAAAAAADQowMDAwMDAxMiAwMDAwMDIwMCA3ZmZm +ZmZmZiANCnu/e381L1e1kaGZjkEtL1ctAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQowMDAwMDAy +OCAwMDAwMDAyOCA3ZmZmZmZmZiANCvBoucInQgIA8Gi5widCAgAAAAAAdgBlAHIA +cwBpAG8AbgBzAAAAAAANCjAwMDAwMTA0IDAwMDAwMjAwIDdmZmZmZmZmIA0KPZBJ +TkQxDETvknWMHGdwfJx4iNSb/ggQEkKcjAVH4gqkN+xL9erV7/fPZ8mcU8oeQxbW +gFbLgLbNYYkPMG+BuG2zYk4v1/WWspamPZRghDE0pAkqDaFxt74Eg4rnZNONaDiM +bgvarKeRhMAGG7XQNUye8JBdlKtXEOSTo71g1TGAncp2abJnP23X88ftvq+USZk6 +s4JZOfQlDdTHBqoFZ9HhC2dO7/Hyervurykfr64qDuWRaiUCJGICoSkKc2/z5Ett +dUo9wpX6cUIH1SjQbMXum5ZuPltrD7G54Myv5yVhEMMKw4L3YjGr/s9OuRzuwrVA +WY+aN3ucSnAeddpl73D/+gMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=} +} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\237\320\276\320\272\320\260\320\267\320\260\321\202\321\214GUID/und/copyinfo" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/copyinfo" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\237\320\276\320\272\320\260\320\267\320\260\321\202\321\214GUID/und/copyinfo" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/copyinfo" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/root" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/root" new file mode 100644 index 00000000..d48c8fe2 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/root" @@ -0,0 +1 @@ +{2,68b835e4-e814-43b4-8a63-236ef399bcee,} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/version" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/version" similarity index 100% rename from "src/Tests/ManagedApp/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/version" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/version" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/versions" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/versions" new file mode 100644 index 00000000..d432e8ab --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/und/versions" @@ -0,0 +1 @@ +{1,9,"",1cc93d10-253a-41eb-a832-09f8865f44d4,"aa665d3a-fc64-4191-a6c3-74c56963f0b8.0",078199d4-ca1d-4838-ab3b-5ea3c14acad8,"versions",f5378c82-125d-4696-a869-c2d0697ca273,"root",00ae61bf-570c-4e02-88c6-0308d0d7944e,"aa665d3a-fc64-4191-a6c3-74c56963f0b8",69d85dc4-f9da-4e6a-a675-c680b9237c53,"version",ec6e63df-eead-47d7-8e10-a04f6350f857,"9d8959d3-fadc-451f-b28a-b1a2e1a6ad96.0",dcd481a5-2c97-4fbc-bf07-f54c2a5335a8,"68b835e4-e814-43b4-8a63-236ef399bcee",5eaef8d1-7ea9-4536-b772-61e820f18df1,"copyinfo",2955ce2b-bbd1-4c81-b8f2-9c0c5155f1a4} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\224\320\273\321\217\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260\320\244\320\241.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\224\320\273\321\217\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260\320\244\320\241.txt" new file mode 100644 index 00000000..cc3361fa --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\224\320\273\321\217\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260\320\244\320\241.txt" @@ -0,0 +1,93 @@ +{1, +{#base64:////fwACAAAGAAAAAAAAAA0KMDAwMDAwNDggMDAwMDAyMDAgN2ZmZmZmZmYgDQov +AgAArgIAAP///3/NBAAAUAUAAP///39vBwAAtgcAAP///3/VCQAAFAoAAP///38z +DAAAeAwAAP///3+XDgAA3g4AAP///38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0KMDAwMDAwNjAgMDAwMDAw +NjAgN2ZmZmZmZmYgDQrAEbTCJ0ICAMARtMInQgIAAAAAADEAMwA0ADMAOAA5ADMA +NgAtAGMAMwAyADUALQA0ADAAMABkAC0AYgBiAGUAMQAtADQAYwBhAGUAZgA1AGYA +MgBhAGIAZgA3AAAAAAANCjAwMDAwMTdhIDAwMDAwMjAwIDdmZmZmZmZmIA0KjZI7 +al0xEIZ7g/dwObUG9JZmOZqRtIBAKnPAiQsXKdIEUqWw8QKcF05i4mxhzkqyhcy9 +voaAU0SIgYFvPiT9+n3/68yZ05MzF2KoGDJw8AmitR2IhoPIbcw0faNZVnNAOdTg +BlfotSs6MUBt3sNEmm3YEnyZB+W+RBOxNs6JIIXiIVYdxK6DOcdhaw7UOZga23TO +emiIDDE0BPQlKZk6JR/ITrvX/V2s4drZ+9whJ26qDh2aRw+cC/s4qGXG1SxyLV+3 +V9treZBP2xv5Lh/kVj7Kw3Yu7+R+eyvvtf+8nW8Xcrddyjf5of2NXC2Pt1hevFye +S3by88myky97zU7unnt2B5EeYllPT1Zjjwv+UZ6Wsv/FrSbuD+iJx7TdgcXqwLme +gZCqosmS5tEwdaOwoqG30azLkJEKxNEjYEwBnC/onMYzRz6iPZEdaXTwSd83WseA +rN9j5mC5zV5b9kd0cCZKIwGVViF2jY0Go4ZSnS0ta6JTUb3+4/4DAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANCjAwMDAwMDY0IDAwMDAwMDY0 +IDdmZmZmZmZmIA0KwBG0widCAgDAEbTCJ0ICAAAAAABjADgAZABjADIAMgA2AGQA +LQA2ADUAYwBhAC0ANAA4ADMAZAAtAGEAMgA5ADIALQBjADYANwBjADIANABlAGIA +YQA2AGMAOQAuADAAAAAAAA0KMDAwMDAxYWEgMDAwMDAyMDAgN2ZmZmZmZmYgDQrt +U8tKw0AUHbszkIV/MGShLQZJ60KhuHHjh0gLbnTjQhCxD6hKpFVxUaRFtLoUa2hw +bGkrgvs7/+Be/yCeSWxpSiulWx1IcmfmnDP3nrnxPO+QRRibYcHQNcsf8VXeD1bS +weC6tgFIAY8H2j1oH5Eg7tESFu8HA7Qv8b44vx5hr3ONtwV81dhi2yzNdkKnWmn+ +ww7RP1vd/WUzblqmYZjWga7N0oXMkku35MqszEmbr3GqUoccadMLpwrVsZ4lQU5y +BHqJLoF9ojo5JLBwGjWoBkgXgGNqK40e2IhNKnAtMyoBrLUAbU8rU/U38/IkAKGi +vCxiJobFfD3QnwHJoN4cH5YHiq6AaGOhQHcyj6iJSJDQNez5GWPuUgOHQIOPcyEa +4/QArtrsyIzMhZSHdKQ9Tv1Xi0acoQyzUeAU3bXLUmwP74HuSqQ2eT8Id9eoZMtI +UPhuqXQF0qirmSxFg9JxN65KF99HsMCJTeDKwC3IEhwBvIXto+D+6QbFC1jQoWbP +F+XYGG/+f4E/8ws4qjw0SBmbTbRMES2j+IJcbiCRMzqnGlWM5O9pfQMAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0KMDAwMDAwMjggMDAwMDAw +MjggN2ZmZmZmZmYgDQrwaLnCJ0ICAPBoucInQgIAAAAAAGMAbwBwAHkAaQBuAGYA +bwAAAAAADQowMDAwMDAxNSAwMDAwMDIwMCA3ZmZmZmZmZiANCnu/e3+1iQ4vV7VB +LQapA+PxctUCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAADQowMDAwMDAyMCAwMDAwMDAyMCA3ZmZmZmZm +ZiANCvBoucInQgIA8Gi5widCAgAAAAAAcgBvAG8AdAAAAAAADQowMDAwMDAyZSAw +MDAwMDIwMCA3ZmZmZmZmZiANCnu/e3+1kY6hsYmxhaWxmW6ysZGpromBQYpuUlKq +oa5JcmJqmmmaUWJSmrlOLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAADQowMDAwMDAyNiAwMDAwMDAyNiA3ZmZmZmZmZiANCvBoucInQgIA8Gi5widC +AgAAAAAAdgBlAHIAcwBpAG8AbgAAAAAADQowMDAwMDAxMiAwMDAwMDIwMCA3ZmZm +ZmZmZiANCnu/e381L1e1kaGZjkEtL1ctAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQowMDAwMDAy +OCAwMDAwMDAyOCA3ZmZmZmZmZiANCvBoucInQgIA8Gi5widCAgAAAAAAdgBlAHIA +cwBpAG8AbgBzAAAAAAANCjAwMDAwMTA0IDAwMDAwMjAwIDdmZmZmZmZmIA0KPZBJ +TkQxDETvknWMHGdwfJx4iNSb/ggQEkKcjAVH4gqkN+xL9erV7/fPZ8mcU8oeQxbW +gFbLgLbNYYkPMG+BuG2zYk4v1/WWspamPZRghDE0pAkqDaFxt74Eg4rnZNONaDiM +bgvarKeRhMAGG7XQNUye8JBdlKtXEOSTo71g1TGAncp2abJnP23X88ftvq+USZk6 +s4JZOfQlDdTHBqoFZ9HhC2dO7/Hyervurykfr64qDuWRaiUCJGICoSkKc2/z5Ett +dUo9wpX6cUIH1SjQbMXum5ZuPltrD7G54Myv5yVhEMMKw4L3YjGr/s9OuRzuwrVA +WY+aN3ucSnAeddpl73D/+gMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=} +} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" new file mode 100644 index 00000000..417eb2ed --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" @@ -0,0 +1,296 @@ +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем ЗагрузчикФайла; +&НаКлиенте +Перем ВременныеФайлы; +&НаКлиенте +Перем Ожидаем; + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); +КонецПроцедуры + +&НаКлиенте +Функция ПолучитьСписокТестов() Экспорт + ВсеТесты = Новый Массив; + // Loader interface + ВсеТесты.Добавить("ТестДолжен_Загрузить_ОдинФайл"); + ВсеТесты.Добавить("ТестДолжен_Загрузить_ДваФайла"); + + // Проверка работы старго интерфейса объявления параметризованных тестов + ВсеТесты.Добавить(Новый Структура("ИмяТеста", "ТестДолжен_ПроверитьОписаниеТестаЧерезСтруктуру_ЗаполненоТолькоИмяТеста")); + ВсеТесты.Добавить(Новый Структура("ПредставлениеТеста, ИмяТеста", "", "ТестДолжен_ПроверитьОписаниеТестаЧерезСтруктуру_ЗаполненоИмяИПредставлениеТеста")); + ВсеТесты.Добавить(Новый Структура("ПредставлениеТеста, ИмяТеста, Параметр", "Тест с параметрами должен сложить 7 и 5", "ТестСПараметрамиДолжен_ВыполнитьСложениеПереданныхЗначенийИСверитьСРезультатом", Новый Структура("Знач1, Знач2, Результат", 7, 5, 12))); + ВсеТесты.Добавить(Новый Структура("ПредставлениеТеста, ИмяТеста, Параметр", "Тест с параметрами должен сложить ""А"" и ""Б""", "ТестСПараметрамиДолжен_ВыполнитьСложениеПереданныхЗначенийИСверитьСРезультатом", Новый Структура("Знач1, Знач2, Результат", "А", "Б", "АБ"))); + + // Проверка режимов случайного или строгого порядка выполнения тестов + ВсеТесты.Добавить("ТестДолжен_ПроверитьРежим_СлучайногоПорядкаВыполнения"); + ВсеТесты.Добавить("ТестДолжен_ПроверитьРежим_СтрогогоПорядкаВыполнения_НаСервере"); + ВсеТесты.Добавить("ТестДолжен_ПроверитьРежим_СтрогогоПорядкаВыполнения_НаКлиенте"); + + // Проверка загрузки тестовых обработок с новым API + ВсеТесты.Добавить("ТестДолжен_Загрузить_ОбработкуСНовымAPI"); + ВсеТесты.Добавить("ТестДолжен_Сформировать_ПараметрыТеста_Простые"); + ВсеТесты.Добавить("ТестДолжен_Сформировать_ПараметрыТеста_СНеопределеноВСередине"); + ВсеТесты.Добавить("ТестДолжен_Сформировать_ПараметрыТеста_СНесколькимиНеопределеноВНачале"); + ВсеТесты.Добавить("ТестДолжен_Сформировать_ПараметрыТеста_СЕдинственнымПараметромНеопределено"); + + Возврат ВсеТесты; +КонецФункции + +&НаКлиенте +Процедура ПередЗапускомТеста() Экспорт + ВременныеФайлы = Новый Массив; + ЗагрузчикФайла = КонтекстЯдра.Плагин("ЗагрузчикФайла"); +КонецПроцедуры + +&НаКлиенте +Процедура ПослеЗапускаТеста() Экспорт + ЗагрузчикФайла = Неопределено; + УдалитьВременныеФайлы(); +КонецПроцедуры + +// { Helpers +&НаКлиенте +Функция НовыйВременныйФайл(Расширение) Экспорт + ИмяВременногоФайла = ПолучитьИмяВременногоФайла(Расширение); + ВременныйФайл = Новый Файл(ИмяВременногоФайла); + ВременныеФайлы.Добавить(ВременныйФайл); + + Возврат ВременныйФайл; +КонецФункции + +&НаКлиенте +Процедура УдалитьВременныеФайлы() + Для каждого ВременныйФайл Из ВременныеФайлы Цикл + Попытка + УдалитьФайлы(ВременныйФайл.ПолноеИмя); + Исключение + Сообщить("Не удален временный файл: " + ВременныйФайл.ПолноеИмя + " + |-" + ОписаниеОшибки()); + КонецПопытки; + КонецЦикла; + ВременныеФайлы.Очистить(); +КонецПроцедуры +// } Helpers + +// { Loader interface +&НаКлиенте +Процедура ТестДолжен_Загрузить_ОдинФайл() Экспорт + ФайлСТестами = НовыйВременныйФайл(".epf"); + ПолучитьМакет_НаСервере("ТестовыйНаборДляЗагрузчикаФС").Записать(ФайлСТестами.ПолноеИмя); + + ДеревоТестов = ЗагрузчикФайла.Загрузить(КонтекстЯдра, ФайлСТестами.ПолноеИмя); + + Ожидаем.Что(ДеревоТестов, "ДеревоТестов").ИмеетТип("Структура"); + Ожидаем.Что(ДеревоТестов.Строки, "Узлы верхнего уровня").ИмеетДлину(1); + + Контейнер = ДеревоТестов.Строки[0]; + ПроверитьКонтейнер(Контейнер, ФайлСТестами); +КонецПроцедуры + +&НаСервере +Функция ПолучитьМакет_НаСервере(ИмяМакета) + ОбъектНаСервере = РеквизитФормыВЗначение("Объект"); + Макет = ОбъектНаСервере.ПолучитьМакет(ИмяМакета); + + Возврат Макет; +КонецФункции + +&НаКлиенте +Процедура ПроверитьКонтейнер(Контейнер, ФайлСТестами) + ТипыУзловДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов").Объект.ТипыУзловДереваТестов; + + Ожидаем.Что(Контейнер.Тип, "Контейнер.Тип").Равно(ТипыУзловДереваТестов.Контейнер); + Ожидаем.Что(Контейнер.Имя, "Контейнер.Имя").Равно(ФайлСТестами.ИмяБезРасширения); + Ожидаем.Что(Контейнер.Строки, "Контейнер.Строки").ИмеетТип("Массив").ИмеетДлину(3); + + Элемент1 = Контейнер.Строки[0]; + Ожидаем.Что(Элемент1.Тип, "Элемент1.Тип").Равно(ТипыУзловДереваТестов.Элемент); + Ожидаем.Что(Элемент1.Путь, "Элемент1.Путь").Равно(ФайлСТестами.ПолноеИмя); + Ожидаем.Что(Элемент1.ИмяМетода, "Элемент1.ИмяМетода").Равно("УспешныйТест"); + + Элемент2 = Контейнер.Строки[1]; + Ожидаем.Что(Элемент2.Тип, "Элемент2.Тип").Равно(ТипыУзловДереваТестов.Элемент); + Ожидаем.Что(Элемент2.Путь, "Элемент2.Путь").Равно(ФайлСТестами.ПолноеИмя); + Ожидаем.Что(Элемент2.ИмяМетода, "Элемент2.ИмяМетода").Равно("ПроваленныйТест"); + + Элемент3 = Контейнер.Строки[2]; + Ожидаем.Что(Элемент3.Тип, "Элемент3.Тип").Равно(ТипыУзловДереваТестов.Элемент); + Ожидаем.Что(Элемент3.Путь, "Элемент3.Путь").Равно(ФайлСТестами.ПолноеИмя); + Ожидаем.Что(Элемент3.ИмяМетода, "Элемент3.ИмяМетода").Равно("НесуществующийТест"); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Загрузить_ДваФайла() Экспорт + ФайлСТестами1 = НовыйВременныйФайл(".epf"); + ПолучитьМакет_НаСервере("ТестовыйНаборДляЗагрузчикаФС").Записать(ФайлСТестами1.ПолноеИмя); + + ФайлСТестами2 = НовыйВременныйФайл(".epf"); + ПолучитьМакет_НаСервере("ТестовыйНаборДляЗагрузчикаФС").Записать(ФайлСТестами2.ПолноеИмя); + + ПутьКНесколькимФайлам = ФайлСТестами1.ПолноеИмя + Символы.ПС + ФайлСТестами2.ПолноеИмя; + + ДеревоТестов = ЗагрузчикФайла.Загрузить(КонтекстЯдра, ПутьКНесколькимФайлам); + + Ожидаем.Что(ДеревоТестов, "ДеревоТестов").ИмеетТип("Структура"); + Ожидаем.Что(ДеревоТестов.Строки, "Количество узлов верхнего уровня").ИмеетДлину(2); + + Контейнер = ДеревоТестов.Строки[0]; + ПроверитьКонтейнер(Контейнер, ФайлСТестами1); + + Контейнер = ДеревоТестов.Строки[1]; + ПроверитьКонтейнер(Контейнер, ФайлСТестами2); +КонецПроцедуры +// } Loader interface + +// { Проверка работы старго интерфейса объявления параметризованных тестов +&НаКлиенте +Процедура ТестДолжен_ПроверитьОписаниеТестаЧерезСтруктуру_ЗаполненоТолькоИмяТеста() Экспорт + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьОписаниеТестаЧерезСтруктуру_ЗаполненоИмяИПредставлениеТеста() Экспорт + // Визуальный контроль в дереве тестов +КонецПроцедуры + +&НаКлиенте +Процедура ТестСПараметрамиДолжен_ВыполнитьСложениеПереданныхЗначенийИСверитьСРезультатом(Параметр) Экспорт + Ожидаем.Что(Параметр).ИмеетТип("Структура"); + Ожидаем.Что(Параметр.Знач1 + Параметр.Знач2).Равно(Параметр.Результат); +КонецПроцедуры +// } Проверка работы старго интерфейса объявления параметризованных тестов + +// { Проверка режимов случайного или строгого порядка выполнения тестов +&НаКлиенте +Процедура ТестДолжен_ПроверитьРежим_СлучайногоПорядкаВыполнения() Экспорт + ФайлСТестами = НовыйВременныйФайл(".epf"); + ПолучитьМакет_НаСервере("ТестовыйНаборДляЗагрузчикаФС").Записать(ФайлСТестами.ПолноеИмя); + ДеревоТестов = ЗагрузчикФайла.Загрузить(КонтекстЯдра, ФайлСТестами.ПолноеИмя); + Контейнер = ДеревоТестов.Строки[0]; + + Ожидаем.Что(ДеревоТестов.СлучайныйПорядокВыполнения, "ДеревоТестов").ЭтоИстина(); + Ожидаем.Что(Контейнер.СлучайныйПорядокВыполнения, "Контейнер").ЭтоИстина(); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРежим_СтрогогоПорядкаВыполнения_НаСервере() Экспорт + ФайлСТестами = НовыйВременныйФайл(".epf"); + ПолучитьМакет_НаСервере("ТестовыйНаборСоСтрогимПорядкомВыполнения").Записать(ФайлСТестами.ПолноеИмя); + ДеревоТестов = ЗагрузчикФайла.Загрузить(КонтекстЯдра, ФайлСТестами.ПолноеИмя); + Контейнер = ДеревоТестов.Строки[0]; + + Ожидаем.Что(ДеревоТестов.СлучайныйПорядокВыполнения, "ДеревоТестов").ЭтоИстина(); + Ожидаем.Что(Контейнер.СлучайныйПорядокВыполнения, "Контейнер").ЭтоЛожь(); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРежим_СтрогогоПорядкаВыполнения_НаКлиенте() Экспорт + ФайлСТестами = НовыйВременныйФайл(".epf"); + ПолучитьМакет_НаСервере("ТестовыйНаборСоСтрогимПорядкомВыполнения").Записать(ФайлСТестами.ПолноеИмя); + ДеревоТестов = ЗагрузчикФайла.Загрузить(КонтекстЯдра, ФайлСТестами.ПолноеИмя); + КонтейнерОбработки = ДеревоТестов.Строки[0]; + КонтейнерФормыОбработки = НайтиПервыйДочернийКонтейнер(КонтейнерОбработки); + + Ожидаем.Что(ДеревоТестов.СлучайныйПорядокВыполнения, "ДеревоТестов").ЭтоИстина(); + Ожидаем.Что(КонтейнерОбработки.СлучайныйПорядокВыполнения, "КонтейнерОбработки").ЭтоЛожь(); + Ожидаем.Что(КонтейнерФормыОбработки.СлучайныйПорядокВыполнения, "КонтейнерФормыОбработки").ЭтоЛожь(); +КонецПроцедуры +// } Проверка режимов случайного или строгого порядка выполнения тестов + +// { Проверка загрузки тестовых обработок с новым API +&НаКлиенте +Процедура ТестДолжен_Загрузить_ОбработкуСНовымAPI() Экспорт + ФайлКонтекстаЯдра = Новый Файл(КонтекстЯдра.ИспользуемоеИмяФайла); + ФайлОбработкиСНовымAPI = Новый Файл(ФайлКонтекстаЯдра.Путь + "\Tests\Plugins\Тесты_ЗагрузчикФайла_НовыйAPIОбъявленияТестов.epf"); + ДеревоТестов = ЗагрузчикФайла.Загрузить(КонтекстЯдра, ФайлОбработкиСНовымAPI.ПолноеИмя); + + ТестыОбработкиСНовымAPI = ДеревоТестов.Строки[0]; + + Ожидаем.Что(ТестыОбработкиСНовымAPI.СлучайныйПорядокВыполнения, "ТестыОбработкиСНовымAPI порядок выполнения").ЭтоИстина(); + Ожидаем.Что(ТестыОбработкиСНовымAPI.Строки, "ТестыОбработкиСНовымAPI количество дочерних узлов").ИмеетДлину(5); + + Элемент1 = ТестыОбработкиСНовымAPI.Строки[0]; + Ожидаем.Что(Элемент1.Тип, "Элемент1.Тип").Равно(КонтекстЯдра.Объект.ТипыУзловДереваТестов.Элемент); + Ожидаем.Что(Элемент1.Путь, "Элемент1.Путь").Равно(ФайлОбработкиСНовымAPI.ПолноеИмя); + Ожидаем.Что(Элемент1.ИмяМетода, "Элемент1.ИмяМетода").Равно("ТестДолжен_ПроверитьВыполнение_ПростогоТеста"); + + ДочернийКонтейнер1 = ТестыОбработкиСНовымAPI.Строки[1]; + Ожидаем.Что(ДочернийКонтейнер1.Тип, "ДочернийКонтейнер1.Тип").Равно(КонтекстЯдра.Объект.ТипыУзловДереваТестов.Контейнер); + Ожидаем.Что(ДочернийКонтейнер1.СлучайныйПорядокВыполнения, "ДочернийКонтейнер1 порядок выполнения").ЭтоИстина(); + Ожидаем.Что(ДочернийКонтейнер1.Имя, "ДочернийКонтейнер1.Имя").Равно("Группа со случайным порядком выполнения"); + Ожидаем.Что(ДочернийКонтейнер1.Строки, "ДочернийКонтейнер1.Строки").ИмеетТип("Массив").ИмеетДлину(2); + + ДочернийКонтейнер2 = ТестыОбработкиСНовымAPI.Строки[2]; + Ожидаем.Что(ДочернийКонтейнер2.Тип, "ДочернийКонтейнер2.Тип").Равно(КонтекстЯдра.Объект.ТипыУзловДереваТестов.Контейнер); + Ожидаем.Что(ДочернийКонтейнер2.СлучайныйПорядокВыполнения, "ДочернийКонтейнер2 порядок выполнения").ЭтоЛожь(); + Ожидаем.Что(ДочернийКонтейнер2.Имя, "ДочернийКонтейнер2.Имя").Равно("Группа со строгим порядком выполнения"); + Ожидаем.Что(ДочернийКонтейнер2.Строки, "ДочернийКонтейнер2.Строки").ИмеетТип("Массив").ИмеетДлину(2); + + ДочернийКонтейнер3 = ТестыОбработкиСНовымAPI.Строки[3]; + Ожидаем.Что(ДочернийКонтейнер3.Тип, "ДочернийКонтейнер3.Тип").Равно(КонтекстЯдра.Объект.ТипыУзловДереваТестов.Контейнер); + Ожидаем.Что(ДочернийКонтейнер3.СлучайныйПорядокВыполнения, "ДочернийКонтейнер3 порядок выполнения").ЭтоЛожь(); + Ожидаем.Что(ДочернийКонтейнер3.Имя, "ДочернийКонтейнер3.Имя").Равно("Группа параметризированных тестов со строгим порядком выполнения"); + Ожидаем.Что(ДочернийКонтейнер3.Строки, "ДочернийКонтейнер3.Строки").ИмеетТип("Массив").ИмеетДлину(2); + + ДочернийКонтейнер4_Форма = ТестыОбработкиСНовымAPI.Строки[4]; + Ожидаем.Что(ДочернийКонтейнер4_Форма.Тип, "ДочернийКонтейнер4_Форма.Тип").Равно(КонтекстЯдра.Объект.ТипыУзловДереваТестов.Контейнер); + Ожидаем.Что(ДочернийКонтейнер4_Форма.СлучайныйПорядокВыполнения, "ДочернийКонтейнер4_Форма порядок выполнения").ЭтоИстина(); + Ожидаем.Что(ДочернийКонтейнер4_Форма.Имя, "ДочернийКонтейнер4_Форма.Имя").Равно("УпрФорма # Тесты_ЗагрузчикФайла_НовыйAPIОбъявленияТестов"); + Ожидаем.Что(ДочернийКонтейнер4_Форма.Строки, "ДочернийКонтейнер4_Форма.Строки").ИмеетТип("Массив").ИмеетДлину(4); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Сформировать_ПараметрыТеста_Простые() Экспорт + ПараметрыТеста = ЗагрузчикФайла.ПараметрыТеста(1, 2, 3, 4, 5, 6, 7, 8, 9); + Ожидаем.Что(ПараметрыТеста, "ПараметрыТеста").ИмеетТип("Массив").ИмеетДлину(9); + Ожидаем.Что(ПараметрыТеста[0], "ПараметрыТеста[0]").Равно(1); + Ожидаем.Что(ПараметрыТеста[4], "ПараметрыТеста[0]").Равно(5); + Ожидаем.Что(ПараметрыТеста[8], "ПараметрыТеста[0]").Равно(9); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Сформировать_ПараметрыТеста_СНеопределеноВСередине() Экспорт + ПараметрыТеста = ЗагрузчикФайла.ПараметрыТеста(Истина, , Ложь); + Ожидаем.Что(ПараметрыТеста, "ПараметрыТеста").ИмеетДлину(3); + Ожидаем.Что(ПараметрыТеста[0], "ПараметрыТеста[0]").ЭтоИстина(); + Ожидаем.Что(ПараметрыТеста[1], "ПараметрыТеста[1]").ЭтоНеопределено(); + Ожидаем.Что(ПараметрыТеста[2], "ПараметрыТеста[2]").ЭтоЛожь(); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Сформировать_ПараметрыТеста_СНесколькимиНеопределеноВНачале() Экспорт + ПараметрыТеста = ЗагрузчикФайла.ПараметрыТеста(, , Истина, Ложь); + Ожидаем.Что(ПараметрыТеста, "ПараметрыТеста").ИмеетДлину(4); + Ожидаем.Что(ПараметрыТеста[0], "ПараметрыТеста[0]").ЭтоНеопределено(); + Ожидаем.Что(ПараметрыТеста[1], "ПараметрыТеста[1]").ЭтоНеопределено(); + Ожидаем.Что(ПараметрыТеста[2], "ПараметрыТеста[2]").ЭтоИстина(); + Ожидаем.Что(ПараметрыТеста[3], "ПараметрыТеста[3]").ЭтоЛожь(); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Сформировать_ПараметрыТеста_СЕдинственнымПараметромНеопределено() Экспорт + ПараметрыТеста = ЗагрузчикФайла.ПараметрыТеста(Неопределено); + Ожидаем.Что(ПараметрыТеста, "ПараметрыТеста").ИмеетДлину(1); + Ожидаем.Что(ПараметрыТеста[0], "ПараметрыТеста[0]").ЭтоНеопределено(); +КонецПроцедуры +// } Проверка загрузки тестовых обработок с новым API + +// Helpers +&НаКлиенте +Функция НайтиПервыйДочернийКонтейнер(Знач Контейнер) + Перем ДочернийКонтейнер; + Для каждого ДочернийЭлементКонтейнера Из Контейнер.Строки Цикл + Если ДочернийЭлементКонтейнера.Тип = КонтекстЯдра.Объект.ТипыУзловДереваТестов.Контейнер Тогда + ДочернийКонтейнер = ДочернийЭлементКонтейнера; + Прервать; + КонецЕсли; + КонецЦикла; + + Возврат ДочернийКонтейнер; +КонецФункции diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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.txt" new file mode 100644 index 00000000..584cd643 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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.txt" @@ -0,0 +1,230 @@ +Перем КонтекстЯдра; +Перем Утверждения; +Перем Ожидаем; +Перем ЗагрузчикФайла; +Перем ВременныеФайлы; + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); +КонецПроцедуры + +Функция ПолучитьСписокТестов() Экспорт + ВсеТесты = Новый Массив; + // Loader interface + ВсеТесты.Добавить("ТестДолжен_Загрузить_ОдинФайл"); + ВсеТесты.Добавить("ТестДолжен_Загрузить_ДваФайла"); + + // Проверка работы старого интерфейса объявления параметризованных тестов + ВсеТесты.Добавить(Новый Структура("ИмяТеста", "ТестДолжен_ПроверитьОписаниеТестаЧерезСтруктуру_ЗаполненоТолькоИмяТеста")); + ВсеТесты.Добавить(Новый Структура("ПредставлениеТеста, ИмяТеста", "", "ТестДолжен_ПроверитьОписаниеТестаЧерезСтруктуру_ЗаполненоИмяИПредставлениеТеста")); + ВсеТесты.Добавить(Новый Структура("ПредставлениеТеста, ИмяТеста, Параметр", "Тест с параметрами должен сложить 7 и 5", "ТестСПараметрамиДолжен_ВыполнитьСложениеПереданныхЗначенийИСверитьСРезультатом", Новый Структура("Знач1, Знач2, Результат", 7, 5, 12))); + ВсеТесты.Добавить(Новый Структура("ПредставлениеТеста, ИмяТеста, Параметр", "Тест с параметрами должен сложить ""А"" и ""Б""", "ТестСПараметрамиДолжен_ВыполнитьСложениеПереданныхЗначенийИСверитьСРезультатом", Новый Структура("Знач1, Знач2, Результат", "А", "Б", "АБ"))); + + // Проверка режимов случайного или строгого порядка выполнения тестов + ВсеТесты.Добавить("ТестДолжен_ПроверитьРежим_СлучайногоПорядкаВыполнения"); + ВсеТесты.Добавить("ТестДолжен_ПроверитьРежим_СтрогогоПорядкаВыполнения"); + + // Проверка загрузки тестовых обработок с новым API + ВсеТесты.Добавить("ТестДолжен_Загрузить_ОбработкуСНовымAPI"); + ВсеТесты.Добавить("ТестДолжен_Сформировать_ПараметрыТеста_Простые"); + ВсеТесты.Добавить("ТестДолжен_Сформировать_ПараметрыТеста_СНеопределеноВСередине"); + ВсеТесты.Добавить("ТестДолжен_Сформировать_ПараметрыТеста_СНесколькимиНеопределеноВНачале"); + ВсеТесты.Добавить("ТестДолжен_Сформировать_ПараметрыТеста_СЕдинственнымПараметромНеопределено"); + + Возврат ВсеТесты; +КонецФункции + +Процедура ПередЗапускомТеста() Экспорт + ВременныеФайлы = Новый Массив; + ЗагрузчикФайла = КонтекстЯдра.Плагин("ЗагрузчикФайла"); +КонецПроцедуры + +Процедура ПослеЗапускаТеста() Экспорт + ЗагрузчикФайла = Неопределено; + УдалитьВременныеФайлы(); +КонецПроцедуры + +// { Helpers +Функция НовыйВременныйФайл(Расширение) Экспорт + ВременныйФайл = Новый Файл(ПолучитьИмяВременногоФайла(Расширение)); + ВременныеФайлы.Добавить(ВременныйФайл); + + Возврат ВременныйФайл; +КонецФункции + +Процедура УдалитьВременныеФайлы() + Для каждого ВременныйФайл Из ВременныеФайлы Цикл + Попытка + УдалитьФайлы(ВременныйФайл.ПолноеИмя); + Исключение + Сообщить("Не удален временный файл: " + ВременныйФайл.ПолноеИмя + " + |-" + ОписаниеОшибки()); + КонецПопытки; + КонецЦикла; + ВременныеФайлы.Очистить(); +КонецПроцедуры +// } Helpers + +// { Loader interface +Процедура ТестДолжен_Загрузить_ОдинФайл() Экспорт + ФайлСТестами = НовыйВременныйФайл(".epf"); + ЭтотОбъект.ПолучитьМакет("ТестовыйНаборДляЗагрузчикаФС").Записать(ФайлСТестами.ПолноеИмя); + + ДеревоТестов = ЗагрузчикФайла.Загрузить(КонтекстЯдра, ФайлСТестами.ПолноеИмя); + + Ожидаем.Что(ДеревоТестов, "ДеревоТестов").ИмеетТип("Структура"); + Ожидаем.Что(ДеревоТестов.Строки, "Узлы верхнего уровня").ИмеетДлину(1); + + Контейнер = ДеревоТестов.Строки[0]; + ПроверитьКонтейнер(Контейнер, ФайлСТестами); +КонецПроцедуры + +Процедура ПроверитьКонтейнер(Контейнер, ФайлСТестами) + ТипыУзловДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов").ТипыУзловДереваТестов; + + Ожидаем.Что(Контейнер.Тип, "Контейнер.Тип").Равно(ТипыУзловДереваТестов.Контейнер); + Ожидаем.Что(Контейнер.Имя, "Контейнер.Имя").Равно(ФайлСТестами.ИмяБезРасширения); + Ожидаем.Что(Контейнер.Строки, "Контейнер.Строки").ИмеетТип("Массив").ИмеетДлину(3); + + Элемент1 = Контейнер.Строки[0]; + Ожидаем.Что(Элемент1.Тип, "Элемент1.Тип").Равно(ТипыУзловДереваТестов.Элемент); + Ожидаем.Что(Элемент1.Путь, "Элемент1.Путь").Равно(ФайлСТестами.ПолноеИмя); + Ожидаем.Что(Элемент1.ИмяМетода, "Элемент1.ИмяМетода").Равно("УспешныйТест"); + + Элемент2 = Контейнер.Строки[1]; + Ожидаем.Что(Элемент2.Тип, "Элемент2.Тип").Равно(ТипыУзловДереваТестов.Элемент); + Ожидаем.Что(Элемент2.Путь, "Элемент2.Путь").Равно(ФайлСТестами.ПолноеИмя); + Ожидаем.Что(Элемент2.ИмяМетода, "Элемент2.ИмяМетода").Равно("ПроваленныйТест"); + + Элемент3 = Контейнер.Строки[2]; + Ожидаем.Что(Элемент3.Тип, "Элемент3.Тип").Равно(ТипыУзловДереваТестов.Элемент); + Ожидаем.Что(Элемент3.Путь, "Элемент3.Путь").Равно(ФайлСТестами.ПолноеИмя); + Ожидаем.Что(Элемент3.ИмяМетода, "Элемент3.ИмяМетода").Равно("НесуществующийТест"); +КонецПроцедуры + +Процедура ТестДолжен_Загрузить_ДваФайла() Экспорт + ФайлСТестами1 = НовыйВременныйФайл(".epf"); + ЭтотОбъект.ПолучитьМакет("ТестовыйНаборДляЗагрузчикаФС").Записать(ФайлСТестами1.ПолноеИмя); + + ФайлСТестами2 = НовыйВременныйФайл(".epf"); + ЭтотОбъект.ПолучитьМакет("ТестовыйНаборДляЗагрузчикаФС").Записать(ФайлСТестами2.ПолноеИмя); + + ПутьКНесколькимФайлам = ФайлСТестами1.ПолноеИмя + Символы.ПС + ФайлСТестами2.ПолноеИмя; + + ДеревоТестов = ЗагрузчикФайла.Загрузить(КонтекстЯдра, ПутьКНесколькимФайлам); + + Ожидаем.Что(ДеревоТестов, "ДеревоТестов").ИмеетТип("Структура"); + Ожидаем.Что(ДеревоТестов.Строки, "Количество узлов верхнего уровня").ИмеетДлину(2); + + Контейнер = ДеревоТестов.Строки[0]; + ПроверитьКонтейнер(Контейнер, ФайлСТестами1); + + Контейнер = ДеревоТестов.Строки[1]; + ПроверитьКонтейнер(Контейнер, ФайлСТестами2); +КонецПроцедуры +// } Loader interface + +// { Проверка работы старого интерфейса объявления параметризованных тестов +Процедура ТестДолжен_ПроверитьОписаниеТестаЧерезСтруктуру_ЗаполненоТолькоИмяТеста() Экспорт + // Визуальный контроль в дереве тестов +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьОписаниеТестаЧерезСтруктуру_ЗаполненоИмяИПредставлениеТеста() Экспорт + // Визуальный контроль в дереве тестов +КонецПроцедуры + +Процедура ТестСПараметрамиДолжен_ВыполнитьСложениеПереданныхЗначенийИСверитьСРезультатом(Параметр) Экспорт + Ожидаем.Что(Параметр).ИмеетТип("Структура"); + Ожидаем.Что(Параметр.Знач1 + Параметр.Знач2).Равно(Параметр.Результат); +КонецПроцедуры +// } Проверка работы старого интерфейса объявления параметризованных тестов + +// { Проверка режимов случайного или строгого порядка выполнения тестов +Процедура ТестДолжен_ПроверитьРежим_СлучайногоПорядкаВыполнения() Экспорт + ФайлСТестами = НовыйВременныйФайл(".epf"); + ЭтотОбъект.ПолучитьМакет("ТестовыйНаборДляЗагрузчикаФС").Записать(ФайлСТестами.ПолноеИмя); + ДеревоТестов = ЗагрузчикФайла.Загрузить(КонтекстЯдра, ФайлСТестами.ПолноеИмя); + Контейнер = ДеревоТестов.Строки[0]; + + Ожидаем.Что(ДеревоТестов.СлучайныйПорядокВыполнения, "ДеревоТестов").ЭтоИстина(); + Ожидаем.Что(Контейнер.СлучайныйПорядокВыполнения, "Контейнер").ЭтоИстина(); +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРежим_СтрогогоПорядкаВыполнения() Экспорт + ФайлСТестами = НовыйВременныйФайл(".epf"); + ЭтотОбъект.ПолучитьМакет("ТестовыйНаборСоСтрогимПорядкомВыполнения").Записать(ФайлСТестами.ПолноеИмя); + ДеревоТестов = ЗагрузчикФайла.Загрузить(КонтекстЯдра, ФайлСТестами.ПолноеИмя); + Контейнер = ДеревоТестов.Строки[0]; + + Ожидаем.Что(ДеревоТестов.СлучайныйПорядокВыполнения, "ДеревоТестов").ЭтоИстина(); + Ожидаем.Что(Контейнер.СлучайныйПорядокВыполнения, "Контейнер").ЭтоЛожь(); +КонецПроцедуры +// } Проверка режимов случайного или строгого порядка выполнения тестов + +// { Проверка загрузки тестовых обработок с новым API +Процедура ТестДолжен_Загрузить_ОбработкуСНовымAPI() Экспорт + ФайлКонтекстаЯдра = Новый Файл(КонтекстЯдра.ИспользуемоеИмяФайла); + ФайлОбработкиСНовымAPI = Новый Файл(ФайлКонтекстаЯдра.Путь + "\Tests\Plugins\Тесты_ЗагрузчикФайла_НовыйAPIОбъявленияТестов.epf"); + ДеревоТестов = ЗагрузчикФайла.Загрузить(КонтекстЯдра, ФайлОбработкиСНовымAPI.ПолноеИмя); + + ТестыОбработкиСНовымAPI = ДеревоТестов.Строки[0]; + + Ожидаем.Что(ТестыОбработкиСНовымAPI.СлучайныйПорядокВыполнения, "ТестыОбработкиСНовымAPI порядок выполнения").ЭтоИстина(); + Ожидаем.Что(ТестыОбработкиСНовымAPI.Строки, "ТестыОбработкиСНовымAPI количество дочерних узлов").ИмеетДлину(4); + + Элемент1 = ТестыОбработкиСНовымAPI.Строки[0]; + Ожидаем.Что(Элемент1.Тип, "Элемент1.Тип").Равно(КонтекстЯдра.ТипыУзловДереваТестов.Элемент); + Ожидаем.Что(Элемент1.Путь, "Элемент1.Путь").Равно(ФайлОбработкиСНовымAPI.ПолноеИмя); + Ожидаем.Что(Элемент1.ИмяМетода, "Элемент1.ИмяМетода").Равно("ТестДолжен_ПроверитьВыполнение_ПростогоТеста"); + + ДочернийКонтейнер1 = ТестыОбработкиСНовымAPI.Строки[1]; + Ожидаем.Что(ДочернийКонтейнер1.Тип, "ДочернийКонтейнер1.Тип").Равно(КонтекстЯдра.ТипыУзловДереваТестов.Контейнер); + Ожидаем.Что(ДочернийКонтейнер1.СлучайныйПорядокВыполнения, "ДочернийКонтейнер1 порядок выполнения").ЭтоИстина(); + Ожидаем.Что(ДочернийКонтейнер1.Имя, "ДочернийКонтейнер1.Имя").Равно("Группа со случайным порядком выполнения"); + Ожидаем.Что(ДочернийКонтейнер1.Строки, "ДочернийКонтейнер1.Строки").ИмеетТип("Массив").ИмеетДлину(2); + + ДочернийКонтейнер2 = ТестыОбработкиСНовымAPI.Строки[2]; + Ожидаем.Что(ДочернийКонтейнер2.Тип, "ДочернийКонтейнер2.Тип").Равно(КонтекстЯдра.ТипыУзловДереваТестов.Контейнер); + Ожидаем.Что(ДочернийКонтейнер2.СлучайныйПорядокВыполнения, "ДочернийКонтейнер2 порядок выполнения").ЭтоЛожь(); + Ожидаем.Что(ДочернийКонтейнер2.Имя, "ДочернийКонтейнер2.Имя").Равно("Группа со строгим порядком выполнения"); + Ожидаем.Что(ДочернийКонтейнер2.Строки, "ДочернийКонтейнер2.Строки").ИмеетТип("Массив").ИмеетДлину(2); + + ДочернийКонтейнер3 = ТестыОбработкиСНовымAPI.Строки[3]; + Ожидаем.Что(ДочернийКонтейнер3.Тип, "ДочернийКонтейнер3.Тип").Равно(КонтекстЯдра.ТипыУзловДереваТестов.Контейнер); + Ожидаем.Что(ДочернийКонтейнер3.СлучайныйПорядокВыполнения, "ДочернийКонтейнер3 порядок выполнения").ЭтоЛожь(); + Ожидаем.Что(ДочернийКонтейнер3.Имя, "ДочернийКонтейнер3.Имя").Равно("Группа параметризированных тестов со строгим порядком выполнения"); + Ожидаем.Что(ДочернийКонтейнер3.Строки, "ДочернийКонтейнер3.Строки").ИмеетТип("Массив").ИмеетДлину(2); +КонецПроцедуры + +Процедура ТестДолжен_Сформировать_ПараметрыТеста_Простые() Экспорт + Параметры = ЗагрузчикФайла.ПараметрыТеста(1, 2, 3, 4, 5, 6, 7, 8, 9); + Ожидаем.Что(Параметры, "Параметры").ИмеетТип("Массив").ИмеетДлину(9); + Ожидаем.Что(Параметры[0], "Параметры[0]").Равно(1); + Ожидаем.Что(Параметры[4], "Параметры[0]").Равно(5); + Ожидаем.Что(Параметры[8], "Параметры[0]").Равно(9); +КонецПроцедуры + +Процедура ТестДолжен_Сформировать_ПараметрыТеста_СНеопределеноВСередине() Экспорт + Параметры = ЗагрузчикФайла.ПараметрыТеста(Истина, , Ложь); + Ожидаем.Что(Параметры, "Параметры").ИмеетДлину(3); + Ожидаем.Что(Параметры[0], "Параметры[0]").ЭтоИстина(); + Ожидаем.Что(Параметры[1], "Параметры[1]").ЭтоНеопределено(); + Ожидаем.Что(Параметры[2], "Параметры[2]").ЭтоЛожь(); +КонецПроцедуры + +Процедура ТестДолжен_Сформировать_ПараметрыТеста_СНесколькимиНеопределеноВНачале() Экспорт + Параметры = ЗагрузчикФайла.ПараметрыТеста(, , Истина, Ложь); + Ожидаем.Что(Параметры, "Параметры").ИмеетДлину(4); + Ожидаем.Что(Параметры[0], "Параметры[0]").ЭтоНеопределено(); + Ожидаем.Что(Параметры[1], "Параметры[1]").ЭтоНеопределено(); + Ожидаем.Что(Параметры[2], "Параметры[2]").ЭтоИстина(); + Ожидаем.Что(Параметры[3], "Параметры[3]").ЭтоЛожь(); +КонецПроцедуры + +Процедура ТестДолжен_Сформировать_ПараметрыТеста_СЕдинственнымПараметромНеопределено() Экспорт + Параметры = ЗагрузчикФайла.ПараметрыТеста(Неопределено); + Ожидаем.Что(Параметры, "Параметры").ИмеетДлину(1); + Ожидаем.Что(Параметры[0], "Параметры[0]").ЭтоНеопределено(); +КонецПроцедуры +// } Проверка загрузки тестовых обработок с новым API diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/renames.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/renames.txt" new file mode 100644 index 00000000..241bc63a --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/renames.txt" @@ -0,0 +1,17 @@ +421a27d5-c2f1-4844-86c0-c04fb5a1001f-->und\421a27d5-c2f1-4844-86c0-c04fb5a1001f +794aea94-ea53-446d-8477-ce17f50c6825-->und\794aea94-ea53-446d-8477-ce17f50c6825 +794aea94-ea53-446d-8477-ce17f50c6825.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_ЗагрузчикФайла\Макеты\ТестовыйНаборСоСтрогимПорядкомВыполнения.txt +794aea94-ea53-446d-8477-ce17f50c6825.0-->und\794aea94-ea53-446d-8477-ce17f50c6825.0 +7df6502f-da6a-49fb-9624-65420db40a03-->und\7df6502f-da6a-49fb-9624-65420db40a03 +7df6502f-da6a-49fb-9624-65420db40a03.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_ЗагрузчикФайла\Form\Форма\Форма.txt +7df6502f-da6a-49fb-9624-65420db40a03.0-->und\7df6502f-da6a-49fb-9624-65420db40a03.0 +7df6502f-da6a-49fb-9624-65420db40a03.0-->und\7df6502f-da6a-49fb-9624-65420db40a03.0 +copyinfo-->und\copyinfo +ee4ff151-9500-4966-9c18-8499b60534d0.0\info-->und\ee4ff151-9500-4966-9c18-8499b60534d0.0\info +ee4ff151-9500-4966-9c18-8499b60534d0.0\text-->ObjectModule.txt +fd4bd0af-2a9a-4445-8a21-dfb7acb16080-->und\fd4bd0af-2a9a-4445-8a21-dfb7acb16080 +fd4bd0af-2a9a-4445-8a21-dfb7acb16080.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_ЗагрузчикФайла\Макеты\ТестовыйНаборДляЗагрузчикаФС.txt +fd4bd0af-2a9a-4445-8a21-dfb7acb16080.0-->und\fd4bd0af-2a9a-4445-8a21-dfb7acb16080.0 +root-->und\root +version-->und\version +versions-->und\versions diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/421a27d5-c2f1-4844-86c0-c04fb5a1001f" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/421a27d5-c2f1-4844-86c0-c04fb5a1001f" new file mode 100644 index 00000000..8d24ab8d --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/421a27d5-c2f1-4844-86c0-c04fb5a1001f" @@ -0,0 +1,17 @@ +{1, +{421a27d5-c2f1-4844-86c0-c04fb5a1001f},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,cd570446-fb13-4855-bb0e-5695a8e88940,7153cfd0-e9c6-4a51-b1f3-0db42c9f1c9a, +{0, +{0, +{0,0,ee4ff151-9500-4966-9c18-8499b60534d0},"Тесты_ЗагрузчикФайла", +{1,"ru","Тесты загрузчик файла"},""} +},7df6502f-da6a-49fb-9624-65420db40a03,"",00000000-0000-0000-0000-000000000000},4, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, +{3daea016-69b7-4ed4-9453-127911372fe6,2,fd4bd0af-2a9a-4445-8a21-dfb7acb16080,794aea94-ea53-446d-8477-ce17f50c6825}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,7df6502f-da6a-49fb-9624-65420db40a03}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} +} +} +} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/794aea94-ea53-446d-8477-ce17f50c6825" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/794aea94-ea53-446d-8477-ce17f50c6825" new file mode 100644 index 00000000..7f481200 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/794aea94-ea53-446d-8477-ce17f50c6825" @@ -0,0 +1,6 @@ +{1, +{2,1, +{0, +{0,0,794aea94-ea53-446d-8477-ce17f50c6825},"ТестовыйНаборСоСтрогимПорядкомВыполнения", +{1,"ru","Тестовый набор со строгим порядком выполнения"},""} +},0} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/794aea94-ea53-446d-8477-ce17f50c6825.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/794aea94-ea53-446d-8477-ce17f50c6825.0" new file mode 100644 index 00000000..559b9393 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/794aea94-ea53-446d-8477-ce17f50c6825.0" @@ -0,0 +1,135 @@ +{1, +{#base64:////fwACAAAIAAAAAAAAAA0KMDAwMDAwNjAgMDAwMDAyMDAgN2ZmZmZmZmYgDQov +AgAArgIAAP///3/NBAAAUAUAAP///39vBwAA7gcAAP///38NCgAAkAoAAP///39H +DwAAjg8AAP///3+tEQAA7BEAAP///38LFAAAUBQAAP///39vFgAAthYAAP///38A +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0KMDAwMDAwNjAgMDAwMDAw +NjAgN2ZmZmZmZmYgDQqwja/PNUICALCNr881QgIAAAAAADEAMwA0ADMAOAA5ADMA +NgAtAGMAMwAyADUALQA0ADAAMABkAC0AYgBiAGUAMQAtADQAYwBhAGUAZgA1AGYA +MgBhAGIAZgA3AAAAAAANCjAwMDAwMWE3IDAwMDAwMjAwIDdmZmZmZmZmIA0KjZJN +ah0xDMf3gdxhmPUI/CHL9nEs2T5Aoasw0GTbRaD7UtIT9CuQNunLFTwn6RWqeXml +oe2ixhZG/ukv29KP+8cLu5yfXViPPmVPIN4FQGMqMDcLKKX10F3hHtfliIpP3jZJ +UFNVtGcPqTgHPXMvzUTvYj9K7gYXzKkIBYbgowNMGpirBhJhM4k8V/FLwtKtNQ5K +zgLoS4bsYlAyVA7Os+lml3tuzCKpinNUgYIUlfYVissOhKI4bFxI8rrM4/243S63 +q3EYn7bX4+t4Oz6Mj+OwvRo36rvZrnR3GJ/H3XgY73b/dj2+jG/qexhvNOJRd/fj ++7jVdbddz0+vm1+8nP8Wn5Q5qU/b5ThM++Fv/WkXe55gOob9mUFvPa/nZ+sinS2X +jpA6EqAlD0UaQbAxJP2yig2VXcxpwD/Mr7EuuN/csbRuqgWTkwWVIODMSdFgWAtY +cqiLwor6WloxloAyR8BWETIGD9bFbK3Wszc6oTWwaaFVcEELgsYKZNF+6uSNlF5T +Iaf98z/vOeo1IebQAnAsCbBqM3CTrKVO1sRC2iddU+sfPc2fAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANCjAwMDAwMDY0IDAwMDAwMDY0 +IDdmZmZmZmZmIA0KENr7pDVCAgAQ2vukNUICAAAAAABjADgAZABjADIAMgA2AGQA +LQA2ADUAYwBhAC0ANAA4ADMAZAAtAGEAMgA5ADIALQBjADYANwBjADIANABlAGIA +YQA2AGMAOQAuADAAAAAAAA0KMDAwMDAxZGEgMDAwMDAyMDAgN2ZmZmZmZmYgDQrt +U89LAkEUnrwlCP0Jwx5CSWJNwkK6dOkvSehSlw5BRP4AK1a0ooOUYqUdIxM3V0U9 +dX9z7dy97h3sm1kVldXCaw3ovp353vfe983bbrd7zFyMzTF7edy6WoE1PghCEXtx +j3sLkCR+XaQ9IO3dZcf9tBWdD4KhtE/rdWlx08UW3r5Kq3jKtcN2WYTtjVTVI7yX +PZL+0ewcBv0Bv+7XNL9+JOIe9zxdihiZdE+miIm4MPgGpzy1qSIMqnPKURn7MbKo +EnZAL9MVsM9UpgpZ2Eh5NSoC0gHglFqSow/WfL8lKIiobAB7TUBbs9Lk1WFCnNkg +KEqINN6scTLFh/QaIFHojfNxeqDoGogWNpJUEglEDUQWWR43zoZ2RIbTLfqogUp6 +IAXcURO1T7Bb74kpUFtERYaqIG2gmgHH2pDbUniQ9GtLI7w+To9gl7bKtLhDwzd4 +fRGp6Y3OMF37bJsd4H9ouoLrIT4IRqcL1dXloaJJVWhGd5yySpJsQt6ohbbLtlNe +u1eoNKU8PJ+QhRzfiIwxSmE4eV6Q/imX1f3D8w6imPL3Ry//P4G/8gk4DuiE63Io ++uNUOrBPvcsJ82hIYVIWJjmLwwbsS8M+ZQ2ZXEMj53RBRcpp4eltfQMAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0KMDAwMDAwNjAgMDAwMDAw +NjAgN2ZmZmZmZmYgDQogN2qmNUICACA3aqY1QgIAAAAAAGMAZgBiADEAYgBhAGYA +NAAtADgAZgA0ADYALQA0ADEANgAzAC0AYQBjAGUANgAtADUAMQA3ADUAOABmADEA +MQBkADQAZQA0AAAAAAANCjAwMDAwMDkxIDAwMDAwMjAwIDdmZmZmZmZmIA0KlY9B +CgIxDEX3A3OJuk0gaTPTznHaTnsAwZUUPIwHcK+MV6gn8QqOHRRcCvnhET7/k+f1 +fmTou21RI/1FAoKYAwefBV2WEYVHgz6mEQe2g8vMsyQpoOq5Lo9TvdWL2uLU/qB+ +zqtpFUFrah1qp4AtuTx7jzHEhKLdhMFYg2T94K2ElCYGLn/Zdem797QXPkzlBQAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANCjAwMDAwMDY0IDAwMDAwMDY0 +IDdmZmZmZmZmIA0KIDdqpjVCAgAgN2qmNUICAAAAAABjAGYAYgAxAGIAYQBmADQA +LQA4AGYANAA2AC0ANAAxADYAMwAtAGEAYwBlADYALQA1ADEANwA1ADgAZgAxADEA +ZAA0AGUANAAuADAAAAAAAA0KMDAwMDA0OTggMDAwMDA0OTggN2ZmZmZmZmYgDQqt +VW1P21YU/rxI+Q+RK00g2Ztz/RJ7qB9KCwHkBJSEhOSbXwJJCEnUOiZxhTSCtDdQ +2ap9qLp2rGu/TqOoGRms8Beuf8n+ws69jiEhASq0QGzfc895znPOc3zz7+n5U8SG +Q08FmeX7f1H/3v9wYy7BB1whFPy3+oFRGky+YAerf/W9VHLlYA/xSJCFGBdTZIUT +dWmVU6SYzCmCpMfkIm+qhh7gkfiLCzPNsFHY2QqHtliVZfA7fOZ9jf/Bh/glPqP3 +j/gDfA+9fXxAV1186u0xFyQvyfZrZBHrV8+KPlcCDQ8xVvDr4ftFEOetgBBPafgY +5IFhyP9Alf1+8GyMZZK6U17T7frj/49GIBLNqAwl5AcSzrTsYs0qWpl6vWqXG6P5 +o3dtgUQDhUGZr4aPrvkLoiSvqAhRZPIqh6TYKicaSOUMpPAcUkTLUtTiqhkt0lji +jnzKF32j1dLdKOk8JcaEQ5/j13QWTnEPlP/odXA3HMIHMCNn3jdg+eDtwPNhBL+A +0eiBqQfuxPkYRgZW3v4EnSQaiU+8bbj/CVEQMwlAdAt3wfMKpLcbDl2X/Z23A0En +PnwExvIMRnLH+xaWHW8Pv8Hn8LQN1hP8O2CTlGf4aGIygv8gDGAbZtzrhEOf4eew +7AZe3m7kfgQygrO3i/+O4FdQwzZ49PDR1BjvL/DP4PseGB75qScYBr+lCbred0AX +QAJvhpn8ZAjaCjCQRkLVdwd6TXd3vO/7XTiC52ew6o3AUUQAOAYfkMbrRK4mmBpS +a0AC3PtkpX4Dl2PAJ90hhb3p63YIfPwiD6g0+3DkEPWeg+2cqEuPHTJf+7crOlzF +L7D8y9u7E/sxU36NumOY3G20x6S8cRquGepd0gLSAHgdXsDmCTT6GTSaNhF3IzAb +L/GP+Cf8Fr9imKmb2dJDTvRPKXoU05Oawb/i994P9KXuDJ2DzJJu28XHNWpk7jGs +qCq6KUsGJwkxxImKqXCqZUmcLItFXpEFwzKF4Ey75qfplh3+8h4c/1fs/rFHzfcM +/UlRFr+KxZpfLj1SRSO3uWZtZNsmqjpGhS8n0uLmfHm6amwknUK82iy4fDmbTcW1 +zFp5yRWTDyutTGElxYfDIT0n1cz2NEC0mia46XMp3nxUdzQhL2qV2YpWW4hq7loz +kVbX8yupkpZLOsbKtAOpeD2nNgFCW0lKppCqGmnVJag+5PxaMR59YtQSciGedPNI +bS+lF+rWXGpzsaw4VgUgc4mmWVt2AGLxodjSUKpkxWdscLXNuOrqK6mGgUTbFKqu +Fc/aGko65sZyeX6uZBtxyV2sJflirlUlsAAxDnkA1rFy6w6wlIz4EIQUFA0QN9Yt +ZBsaKjhGLeVqQlDwZZGQVgWI+Y0Sb809kLW2ikj2fFtqW2kFIGdAiVk+n1YrhrBQ +BXX6LW+gxblsI+gN6cXNRQyQt6r5yqhiRJGx5EG4uNo226pQyM0PwjSMKzAE4toe +XMKA0OuGYLkDxYgj7bQEqy0JibYE4plOovJgE+DymeVWJo9KVSM3M8Ck5OqZSyaE +xe3hNrCA+Zht5tFyWXPF+2PfqdF36T8NCjAwMDAwMDI4IDAwMDAwMDI4IDdmZmZm +ZmZmIA0KsI2vzzVCAgCwja/PNUICAAAAAABjAG8AcAB5AGkAbgBmAG8AAAAAAA0K +MDAwMDAxMGEgMDAwMDAyMDAgN2ZmZmZmZmYgDQqNUEluAjEQvCPxCc7Tktce+zl2 +2/4EQkq45oCUexSB8gCyIJFA4Avtl+QL8UzIfQ69qNQuV9XP6bo03Xy2VEMjl0gp +TICWAhinEwTlFRD2pEyOAcl3k47kSKedlpkcJJcsmOI1uKAUFB9LyKLXqi/dgnd8 +qPd1zRd+qw/8yU+851e+1DveNmxb12278Dsf+czPA143/MFfDTvzY3txbduJv/nQ +6lg3i9V8thq/L1HGUAy4YhCMRA2BMoKVvXVFymSy6SYdjW6SjSLbnEDZZt4ISeBJ +IxTUgkJJLqBqbl5G5WfejzpuUkYC410gtBGs7lULrgXjUwsG0WThUMdEelq64p9X +/PXuNgf4FwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAA0KMDAwMDAwMjAgMDAwMDAwMjAgN2ZmZmZmZmYgDQqwja/P +NUICALCNr881QgIAAAAAAHIAbwBvAHQAAAAAAA0KMDAwMDAwMmUgMDAwMDAyMDAg +N2ZmZmZmZmYgDQp7v3t/tZGOobGJsYWlsZlusrGRqa6JgUGKblJSqqGuSXJiappp +mlFiUpq5Ti0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0KMDAw +MDAwMjYgMDAwMDAwMjYgN2ZmZmZmZmYgDQqwja/PNUICALCNr881QgIAAAAAAHYA +ZQByAHMAaQBvAG4AAAAAAA0KMDAwMDAwMTIgMDAwMDAyMDAgN2ZmZmZmZmYgDQp7 +v3t/NS9XtZGhmY5BLS9XLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0KMDAwMDAwMjggMDAwMDAw +MjggN2ZmZmZmZmYgDQqwja/PNUICALCNr881QgIAAAAAAHYAZQByAHMAaQBvAG4A +cwAAAAAADQowMDAwMDE0NyAwMDAwMDIwMCA3ZmZmZmZmZiANCo2RQW4dMAgF7+K1 +iQzGGI5jMJayya+SqlJV9WRZ9Ei9Qv03XWfPm4HH388/v7BaLaE7iGSDjFjA2jcs +MoKQGcTpS8JeWqm6UFZkh4WxgddmsGENpudQb3LHZy2lZoSflQl4nIC7TVDcDuzq +kWpbR7/W4+jrMOhhAUa53EiBgXPoQdycXGo7dLZflhnxk2WwhC4Lm+8lfiSolh/5 +/vH6ePsoNYLOdTP02HdHppukVGjCaMtHqLRa3h+P76WisrOPCYJt3lmeYK4CGWKM +auqMtWDnrtYFotMAbm2DeyJwrDzj0PIzS925iQ92GBnndsj3rukGSX4TXZv2+X/P +q+Y0VJ/Q8gnl/aycCRbzUY7BW+bXKno+5lAgMgboGHHlaqBtJox7w+RjXVUv7fHt +5+vbeZTKzYnbUJjq195zgE87gDJkrSmtef7+BwAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAA} +} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/7df6502f-da6a-49fb-9624-65420db40a03" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/7df6502f-da6a-49fb-9624-65420db40a03" new file mode 100644 index 00000000..2ff0686d --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/7df6502f-da6a-49fb-9624-65420db40a03" @@ -0,0 +1,15 @@ +{1, +{1, +{0, +{12, +{0, +{0,0,7df6502f-da6a-49fb-9624-65420db40a03},"Форма", +{1,"ru","Форма"},""},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/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/7df6502f-da6a-49fb-9624-65420db40a03.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/7df6502f-da6a-49fb-9624-65420db40a03.0" new file mode 100644 index 00000000..bc309d2a --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/7df6502f-da6a-49fb-9624-65420db40a03.0" @@ -0,0 +1,385 @@ +{2, +{36,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1, +{1,0},0,0,1,1,1,0,1,0, +{0}, +{0},1, +{19, +{-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,"","",1, +{19, +{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, +{8, +{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}, +{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,"",2,0},"&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем ЗагрузчикФайла; +&НаКлиенте +Перем ВременныеФайлы; +&НаКлиенте +Перем Ожидаем; + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин(""БазовыеУтверждения""); + Ожидаем = КонтекстЯдра.Плагин(""УтвержденияBDD""); +КонецПроцедуры + +&НаКлиенте +Функция ПолучитьСписокТестов() Экспорт + ВсеТесты = Новый Массив; + // Loader interface + ВсеТесты.Добавить(""ТестДолжен_Загрузить_ОдинФайл""); + ВсеТесты.Добавить(""ТестДолжен_Загрузить_ДваФайла""); + + // Проверка работы старго интерфейса объявления параметризованных тестов + ВсеТесты.Добавить(Новый Структура(""ИмяТеста"", ""ТестДолжен_ПроверитьОписаниеТестаЧерезСтруктуру_ЗаполненоТолькоИмяТеста"")); + ВсеТесты.Добавить(Новый Структура(""ПредставлениеТеста, ИмяТеста"", """", ""ТестДолжен_ПроверитьОписаниеТестаЧерезСтруктуру_ЗаполненоИмяИПредставлениеТеста"")); + ВсеТесты.Добавить(Новый Структура(""ПредставлениеТеста, ИмяТеста, Параметр"", ""Тест с параметрами должен сложить 7 и 5"", ""ТестСПараметрамиДолжен_ВыполнитьСложениеПереданныхЗначенийИСверитьСРезультатом"", Новый Структура(""Знач1, Знач2, Результат"", 7, 5, 12))); + ВсеТесты.Добавить(Новый Структура(""ПредставлениеТеста, ИмяТеста, Параметр"", ""Тест с параметрами должен сложить """"А"""" и """"Б"""""", ""ТестСПараметрамиДолжен_ВыполнитьСложениеПереданныхЗначенийИСверитьСРезультатом"", Новый Структура(""Знач1, Знач2, Результат"", ""А"", ""Б"", ""АБ""))); + + // Проверка режимов случайного или строгого порядка выполнения тестов + ВсеТесты.Добавить(""ТестДолжен_ПроверитьРежим_СлучайногоПорядкаВыполнения""); + ВсеТесты.Добавить(""ТестДолжен_ПроверитьРежим_СтрогогоПорядкаВыполнения_НаСервере""); + ВсеТесты.Добавить(""ТестДолжен_ПроверитьРежим_СтрогогоПорядкаВыполнения_НаКлиенте""); + + // Проверка загрузки тестовых обработок с новым API + ВсеТесты.Добавить(""ТестДолжен_Загрузить_ОбработкуСНовымAPI""); + ВсеТесты.Добавить(""ТестДолжен_Сформировать_ПараметрыТеста_Простые""); + ВсеТесты.Добавить(""ТестДолжен_Сформировать_ПараметрыТеста_СНеопределеноВСередине""); + ВсеТесты.Добавить(""ТестДолжен_Сформировать_ПараметрыТеста_СНесколькимиНеопределеноВНачале""); + ВсеТесты.Добавить(""ТестДолжен_Сформировать_ПараметрыТеста_СЕдинственнымПараметромНеопределено""); + + Возврат ВсеТесты; +КонецФункции + +&НаКлиенте +Процедура ПередЗапускомТеста() Экспорт + ВременныеФайлы = Новый Массив; + ЗагрузчикФайла = КонтекстЯдра.Плагин(""ЗагрузчикФайла""); +КонецПроцедуры + +&НаКлиенте +Процедура ПослеЗапускаТеста() Экспорт + ЗагрузчикФайла = Неопределено; + УдалитьВременныеФайлы(); +КонецПроцедуры + +// { Helpers +&НаКлиенте +Функция НовыйВременныйФайл(Расширение) Экспорт + ИмяВременногоФайла = ПолучитьИмяВременногоФайла(Расширение); + ВременныйФайл = Новый Файл(ИмяВременногоФайла); + ВременныеФайлы.Добавить(ВременныйФайл); + + Возврат ВременныйФайл; +КонецФункции + +&НаКлиенте +Процедура УдалитьВременныеФайлы() + Для каждого ВременныйФайл Из ВременныеФайлы Цикл + Попытка + УдалитьФайлы(ВременныйФайл.ПолноеИмя); + Исключение + Сообщить(""Не удален временный файл: "" + ВременныйФайл.ПолноеИмя + "" + |-"" + ОписаниеОшибки()); + КонецПопытки; + КонецЦикла; + ВременныеФайлы.Очистить(); +КонецПроцедуры +// } Helpers + +// { Loader interface +&НаКлиенте +Процедура ТестДолжен_Загрузить_ОдинФайл() Экспорт + ФайлСТестами = НовыйВременныйФайл("".epf""); + ПолучитьМакет_НаСервере(""ТестовыйНаборДляЗагрузчикаФС"").Записать(ФайлСТестами.ПолноеИмя); + + ДеревоТестов = ЗагрузчикФайла.Загрузить(КонтекстЯдра, ФайлСТестами.ПолноеИмя); + + Ожидаем.Что(ДеревоТестов, ""ДеревоТестов"").ИмеетТип(""Структура""); + Ожидаем.Что(ДеревоТестов.Строки, ""Узлы верхнего уровня"").ИмеетДлину(1); + + Контейнер = ДеревоТестов.Строки[0]; + ПроверитьКонтейнер(Контейнер, ФайлСТестами); +КонецПроцедуры + +&НаСервере +Функция ПолучитьМакет_НаСервере(ИмяМакета) + ОбъектНаСервере = РеквизитФормыВЗначение(""Объект""); + Макет = ОбъектНаСервере.ПолучитьМакет(ИмяМакета); + + Возврат Макет; +КонецФункции + +&НаКлиенте +Процедура ПроверитьКонтейнер(Контейнер, ФайлСТестами) + ТипыУзловДереваТестов = КонтекстЯдра.Плагин(""ПостроительДереваТестов"").Объект.ТипыУзловДереваТестов; + + Ожидаем.Что(Контейнер.Тип, ""Контейнер.Тип"").Равно(ТипыУзловДереваТестов.Контейнер); + Ожидаем.Что(Контейнер.Имя, ""Контейнер.Имя"").Равно(ФайлСТестами.ИмяБезРасширения); + Ожидаем.Что(Контейнер.Строки, ""Контейнер.Строки"").ИмеетТип(""Массив"").ИмеетДлину(3); + + Элемент1 = Контейнер.Строки[0]; + Ожидаем.Что(Элемент1.Тип, ""Элемент1.Тип"").Равно(ТипыУзловДереваТестов.Элемент); + Ожидаем.Что(Элемент1.Путь, ""Элемент1.Путь"").Равно(ФайлСТестами.ПолноеИмя); + Ожидаем.Что(Элемент1.ИмяМетода, ""Элемент1.ИмяМетода"").Равно(""УспешныйТест""); + + Элемент2 = Контейнер.Строки[1]; + Ожидаем.Что(Элемент2.Тип, ""Элемент2.Тип"").Равно(ТипыУзловДереваТестов.Элемент); + Ожидаем.Что(Элемент2.Путь, ""Элемент2.Путь"").Равно(ФайлСТестами.ПолноеИмя); + Ожидаем.Что(Элемент2.ИмяМетода, ""Элемент2.ИмяМетода"").Равно(""ПроваленныйТест""); + + Элемент3 = Контейнер.Строки[2]; + Ожидаем.Что(Элемент3.Тип, ""Элемент3.Тип"").Равно(ТипыУзловДереваТестов.Элемент); + Ожидаем.Что(Элемент3.Путь, ""Элемент3.Путь"").Равно(ФайлСТестами.ПолноеИмя); + Ожидаем.Что(Элемент3.ИмяМетода, ""Элемент3.ИмяМетода"").Равно(""НесуществующийТест""); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Загрузить_ДваФайла() Экспорт + ФайлСТестами1 = НовыйВременныйФайл("".epf""); + ПолучитьМакет_НаСервере(""ТестовыйНаборДляЗагрузчикаФС"").Записать(ФайлСТестами1.ПолноеИмя); + + ФайлСТестами2 = НовыйВременныйФайл("".epf""); + ПолучитьМакет_НаСервере(""ТестовыйНаборДляЗагрузчикаФС"").Записать(ФайлСТестами2.ПолноеИмя); + + ПутьКНесколькимФайлам = ФайлСТестами1.ПолноеИмя + Символы.ПС + ФайлСТестами2.ПолноеИмя; + + ДеревоТестов = ЗагрузчикФайла.Загрузить(КонтекстЯдра, ПутьКНесколькимФайлам); + + Ожидаем.Что(ДеревоТестов, ""ДеревоТестов"").ИмеетТип(""Структура""); + Ожидаем.Что(ДеревоТестов.Строки, ""Количество узлов верхнего уровня"").ИмеетДлину(2); + + Контейнер = ДеревоТестов.Строки[0]; + ПроверитьКонтейнер(Контейнер, ФайлСТестами1); + + Контейнер = ДеревоТестов.Строки[1]; + ПроверитьКонтейнер(Контейнер, ФайлСТестами2); +КонецПроцедуры +// } Loader interface + +// { Проверка работы старго интерфейса объявления параметризованных тестов +&НаКлиенте +Процедура ТестДолжен_ПроверитьОписаниеТестаЧерезСтруктуру_ЗаполненоТолькоИмяТеста() Экспорт + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьОписаниеТестаЧерезСтруктуру_ЗаполненоИмяИПредставлениеТеста() Экспорт + // Визуальный контроль в дереве тестов +КонецПроцедуры + +&НаКлиенте +Процедура ТестСПараметрамиДолжен_ВыполнитьСложениеПереданныхЗначенийИСверитьСРезультатом(Параметр) Экспорт + Ожидаем.Что(Параметр).ИмеетТип(""Структура""); + Ожидаем.Что(Параметр.Знач1 + Параметр.Знач2).Равно(Параметр.Результат); +КонецПроцедуры +// } Проверка работы старго интерфейса объявления параметризованных тестов + +// { Проверка режимов случайного или строгого порядка выполнения тестов +&НаКлиенте +Процедура ТестДолжен_ПроверитьРежим_СлучайногоПорядкаВыполнения() Экспорт + ФайлСТестами = НовыйВременныйФайл("".epf""); + ПолучитьМакет_НаСервере(""ТестовыйНаборДляЗагрузчикаФС"").Записать(ФайлСТестами.ПолноеИмя); + ДеревоТестов = ЗагрузчикФайла.Загрузить(КонтекстЯдра, ФайлСТестами.ПолноеИмя); + Контейнер = ДеревоТестов.Строки[0]; + + Ожидаем.Что(ДеревоТестов.СлучайныйПорядокВыполнения, ""ДеревоТестов"").ЭтоИстина(); + Ожидаем.Что(Контейнер.СлучайныйПорядокВыполнения, ""Контейнер"").ЭтоИстина(); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРежим_СтрогогоПорядкаВыполнения_НаСервере() Экспорт + ФайлСТестами = НовыйВременныйФайл("".epf""); + ПолучитьМакет_НаСервере(""ТестовыйНаборСоСтрогимПорядкомВыполнения"").Записать(ФайлСТестами.ПолноеИмя); + ДеревоТестов = ЗагрузчикФайла.Загрузить(КонтекстЯдра, ФайлСТестами.ПолноеИмя); + Контейнер = ДеревоТестов.Строки[0]; + + Ожидаем.Что(ДеревоТестов.СлучайныйПорядокВыполнения, ""ДеревоТестов"").ЭтоИстина(); + Ожидаем.Что(Контейнер.СлучайныйПорядокВыполнения, ""Контейнер"").ЭтоЛожь(); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРежим_СтрогогоПорядкаВыполнения_НаКлиенте() Экспорт + ФайлСТестами = НовыйВременныйФайл("".epf""); + ПолучитьМакет_НаСервере(""ТестовыйНаборСоСтрогимПорядкомВыполнения"").Записать(ФайлСТестами.ПолноеИмя); + ДеревоТестов = ЗагрузчикФайла.Загрузить(КонтекстЯдра, ФайлСТестами.ПолноеИмя); + КонтейнерОбработки = ДеревоТестов.Строки[0]; + КонтейнерФормыОбработки = НайтиПервыйДочернийКонтейнер(КонтейнерОбработки); + + Ожидаем.Что(ДеревоТестов.СлучайныйПорядокВыполнения, ""ДеревоТестов"").ЭтоИстина(); + Ожидаем.Что(КонтейнерОбработки.СлучайныйПорядокВыполнения, ""КонтейнерОбработки"").ЭтоЛожь(); + Ожидаем.Что(КонтейнерФормыОбработки.СлучайныйПорядокВыполнения, ""КонтейнерФормыОбработки"").ЭтоЛожь(); +КонецПроцедуры +// } Проверка режимов случайного или строгого порядка выполнения тестов + +// { Проверка загрузки тестовых обработок с новым API +&НаКлиенте +Процедура ТестДолжен_Загрузить_ОбработкуСНовымAPI() Экспорт + ФайлКонтекстаЯдра = Новый Файл(КонтекстЯдра.ИспользуемоеИмяФайла); + ФайлОбработкиСНовымAPI = Новый Файл(ФайлКонтекстаЯдра.Путь + ""\Tests\Plugins\Тесты_ЗагрузчикФайла_НовыйAPIОбъявленияТестов.epf""); + ДеревоТестов = ЗагрузчикФайла.Загрузить(КонтекстЯдра, ФайлОбработкиСНовымAPI.ПолноеИмя); + + ТестыОбработкиСНовымAPI = ДеревоТестов.Строки[0]; + + Ожидаем.Что(ТестыОбработкиСНовымAPI.СлучайныйПорядокВыполнения, ""ТестыОбработкиСНовымAPI порядок выполнения"").ЭтоИстина(); + Ожидаем.Что(ТестыОбработкиСНовымAPI.Строки, ""ТестыОбработкиСНовымAPI количество дочерних узлов"").ИмеетДлину(5); + + Элемент1 = ТестыОбработкиСНовымAPI.Строки[0]; + Ожидаем.Что(Элемент1.Тип, ""Элемент1.Тип"").Равно(КонтекстЯдра.Объект.ТипыУзловДереваТестов.Элемент); + Ожидаем.Что(Элемент1.Путь, ""Элемент1.Путь"").Равно(ФайлОбработкиСНовымAPI.ПолноеИмя); + Ожидаем.Что(Элемент1.ИмяМетода, ""Элемент1.ИмяМетода"").Равно(""ТестДолжен_ПроверитьВыполнение_ПростогоТеста""); + + ДочернийКонтейнер1 = ТестыОбработкиСНовымAPI.Строки[1]; + Ожидаем.Что(ДочернийКонтейнер1.Тип, ""ДочернийКонтейнер1.Тип"").Равно(КонтекстЯдра.Объект.ТипыУзловДереваТестов.Контейнер); + Ожидаем.Что(ДочернийКонтейнер1.СлучайныйПорядокВыполнения, ""ДочернийКонтейнер1 порядок выполнения"").ЭтоИстина(); + Ожидаем.Что(ДочернийКонтейнер1.Имя, ""ДочернийКонтейнер1.Имя"").Равно(""Группа со случайным порядком выполнения""); + Ожидаем.Что(ДочернийКонтейнер1.Строки, ""ДочернийКонтейнер1.Строки"").ИмеетТип(""Массив"").ИмеетДлину(2); + + ДочернийКонтейнер2 = ТестыОбработкиСНовымAPI.Строки[2]; + Ожидаем.Что(ДочернийКонтейнер2.Тип, ""ДочернийКонтейнер2.Тип"").Равно(КонтекстЯдра.Объект.ТипыУзловДереваТестов.Контейнер); + Ожидаем.Что(ДочернийКонтейнер2.СлучайныйПорядокВыполнения, ""ДочернийКонтейнер2 порядок выполнения"").ЭтоЛожь(); + Ожидаем.Что(ДочернийКонтейнер2.Имя, ""ДочернийКонтейнер2.Имя"").Равно(""Группа со строгим порядком выполнения""); + Ожидаем.Что(ДочернийКонтейнер2.Строки, ""ДочернийКонтейнер2.Строки"").ИмеетТип(""Массив"").ИмеетДлину(2); + + ДочернийКонтейнер3 = ТестыОбработкиСНовымAPI.Строки[3]; + Ожидаем.Что(ДочернийКонтейнер3.Тип, ""ДочернийКонтейнер3.Тип"").Равно(КонтекстЯдра.Объект.ТипыУзловДереваТестов.Контейнер); + Ожидаем.Что(ДочернийКонтейнер3.СлучайныйПорядокВыполнения, ""ДочернийКонтейнер3 порядок выполнения"").ЭтоЛожь(); + Ожидаем.Что(ДочернийКонтейнер3.Имя, ""ДочернийКонтейнер3.Имя"").Равно(""Группа параметризированных тестов со строгим порядком выполнения""); + Ожидаем.Что(ДочернийКонтейнер3.Строки, ""ДочернийКонтейнер3.Строки"").ИмеетТип(""Массив"").ИмеетДлину(2); + + ДочернийКонтейнер4_Форма = ТестыОбработкиСНовымAPI.Строки[4]; + Ожидаем.Что(ДочернийКонтейнер4_Форма.Тип, ""ДочернийКонтейнер4_Форма.Тип"").Равно(КонтекстЯдра.Объект.ТипыУзловДереваТестов.Контейнер); + Ожидаем.Что(ДочернийКонтейнер4_Форма.СлучайныйПорядокВыполнения, ""ДочернийКонтейнер4_Форма порядок выполнения"").ЭтоИстина(); + Ожидаем.Что(ДочернийКонтейнер4_Форма.Имя, ""ДочернийКонтейнер4_Форма.Имя"").Равно(""УпрФорма # Тесты_ЗагрузчикФайла_НовыйAPIОбъявленияТестов""); + Ожидаем.Что(ДочернийКонтейнер4_Форма.Строки, ""ДочернийКонтейнер4_Форма.Строки"").ИмеетТип(""Массив"").ИмеетДлину(4); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Сформировать_ПараметрыТеста_Простые() Экспорт + ПараметрыТеста = ЗагрузчикФайла.ПараметрыТеста(1, 2, 3, 4, 5, 6, 7, 8, 9); + Ожидаем.Что(ПараметрыТеста, ""ПараметрыТеста"").ИмеетТип(""Массив"").ИмеетДлину(9); + Ожидаем.Что(ПараметрыТеста[0], ""ПараметрыТеста[0]"").Равно(1); + Ожидаем.Что(ПараметрыТеста[4], ""ПараметрыТеста[0]"").Равно(5); + Ожидаем.Что(ПараметрыТеста[8], ""ПараметрыТеста[0]"").Равно(9); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Сформировать_ПараметрыТеста_СНеопределеноВСередине() Экспорт + ПараметрыТеста = ЗагрузчикФайла.ПараметрыТеста(Истина, , Ложь); + Ожидаем.Что(ПараметрыТеста, ""ПараметрыТеста"").ИмеетДлину(3); + Ожидаем.Что(ПараметрыТеста[0], ""ПараметрыТеста[0]"").ЭтоИстина(); + Ожидаем.Что(ПараметрыТеста[1], ""ПараметрыТеста[1]"").ЭтоНеопределено(); + Ожидаем.Что(ПараметрыТеста[2], ""ПараметрыТеста[2]"").ЭтоЛожь(); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Сформировать_ПараметрыТеста_СНесколькимиНеопределеноВНачале() Экспорт + ПараметрыТеста = ЗагрузчикФайла.ПараметрыТеста(, , Истина, Ложь); + Ожидаем.Что(ПараметрыТеста, ""ПараметрыТеста"").ИмеетДлину(4); + Ожидаем.Что(ПараметрыТеста[0], ""ПараметрыТеста[0]"").ЭтоНеопределено(); + Ожидаем.Что(ПараметрыТеста[1], ""ПараметрыТеста[1]"").ЭтоНеопределено(); + Ожидаем.Что(ПараметрыТеста[2], ""ПараметрыТеста[2]"").ЭтоИстина(); + Ожидаем.Что(ПараметрыТеста[3], ""ПараметрыТеста[3]"").ЭтоЛожь(); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Сформировать_ПараметрыТеста_СЕдинственнымПараметромНеопределено() Экспорт + ПараметрыТеста = ЗагрузчикФайла.ПараметрыТеста(Неопределено); + Ожидаем.Что(ПараметрыТеста, ""ПараметрыТеста"").ИмеетДлину(1); + Ожидаем.Что(ПараметрыТеста[0], ""ПараметрыТеста[0]"").ЭтоНеопределено(); +КонецПроцедуры +// } Проверка загрузки тестовых обработок с новым API + +// Helpers +&НаКлиенте +Функция НайтиПервыйДочернийКонтейнер(Знач Контейнер) + Перем ДочернийКонтейнер; + Для каждого ДочернийЭлементКонтейнера Из Контейнер.Строки Цикл + Если ДочернийЭлементКонтейнера.Тип = КонтекстЯдра.Объект.ТипыУзловДереваТестов.Контейнер Тогда + ДочернийКонтейнер = ДочернийЭлементКонтейнера; + Прервать; + КонецЕсли; + КонецЦикла; + + Возврат ДочернийКонтейнер; +КонецФункции +", +{4,1, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",cd570446-fb13-4855-bb0e-5695a8e88940} +}, +{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 +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,0}, +{0,0}, +{0,0}, +{0,0} +} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/copyinfo" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/copyinfo" new file mode 100644 index 00000000..e2ba205e --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/copyinfo" @@ -0,0 +1,16 @@ +{4, +{2, +{7df6502f-da6a-49fb-9624-65420db40a03,7df6502f-da6a-49fb-9624-65420db40a03,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} +}, +{ee4ff151-9500-4966-9c18-8499b60534d0,ee4ff151-9500-4966-9c18-8499b60534d0,1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"Тесты_ЗагрузчикФайла"} +} +}, +{1, +{cd570446-fb13-4855-bb0e-5695a8e88940,ee4ff151-9500-4966-9c18-8499b60534d0,0} +}, +{0}, +{0,0}, +{0} +} \ No newline at end of file diff --git a/src/Tests/selftests/Tests_CmdLine/und/864a8a9a-a51f-4879-9673-64f8d6ed8eae.0/info "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/ee4ff151-9500-4966-9c18-8499b60534d0.0/info" similarity index 100% rename from src/Tests/selftests/Tests_CmdLine/und/864a8a9a-a51f-4879-9673-64f8d6ed8eae.0/info rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/ee4ff151-9500-4966-9c18-8499b60534d0.0/info" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/fd4bd0af-2a9a-4445-8a21-dfb7acb16080" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/fd4bd0af-2a9a-4445-8a21-dfb7acb16080" new file mode 100644 index 00000000..9aa13d54 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/fd4bd0af-2a9a-4445-8a21-dfb7acb16080" @@ -0,0 +1,6 @@ +{1, +{2,1, +{0, +{0,0,fd4bd0af-2a9a-4445-8a21-dfb7acb16080},"ТестовыйНаборДляЗагрузчикаФС", +{1,"ru","Тестовый набор для загрузчика ФС"},""} +},0} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/fd4bd0af-2a9a-4445-8a21-dfb7acb16080.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/fd4bd0af-2a9a-4445-8a21-dfb7acb16080.0" new file mode 100644 index 00000000..cc3361fa --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/fd4bd0af-2a9a-4445-8a21-dfb7acb16080.0" @@ -0,0 +1,93 @@ +{1, +{#base64:////fwACAAAGAAAAAAAAAA0KMDAwMDAwNDggMDAwMDAyMDAgN2ZmZmZmZmYgDQov +AgAArgIAAP///3/NBAAAUAUAAP///39vBwAAtgcAAP///3/VCQAAFAoAAP///38z +DAAAeAwAAP///3+XDgAA3g4AAP///38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0KMDAwMDAwNjAgMDAwMDAw +NjAgN2ZmZmZmZmYgDQrAEbTCJ0ICAMARtMInQgIAAAAAADEAMwA0ADMAOAA5ADMA +NgAtAGMAMwAyADUALQA0ADAAMABkAC0AYgBiAGUAMQAtADQAYwBhAGUAZgA1AGYA +MgBhAGIAZgA3AAAAAAANCjAwMDAwMTdhIDAwMDAwMjAwIDdmZmZmZmZmIA0KjZI7 +al0xEIZ7g/dwObUG9JZmOZqRtIBAKnPAiQsXKdIEUqWw8QKcF05i4mxhzkqyhcy9 +voaAU0SIgYFvPiT9+n3/68yZ05MzF2KoGDJw8AmitR2IhoPIbcw0faNZVnNAOdTg +BlfotSs6MUBt3sNEmm3YEnyZB+W+RBOxNs6JIIXiIVYdxK6DOcdhaw7UOZga23TO +emiIDDE0BPQlKZk6JR/ITrvX/V2s4drZ+9whJ26qDh2aRw+cC/s4qGXG1SxyLV+3 +V9treZBP2xv5Lh/kVj7Kw3Yu7+R+eyvvtf+8nW8Xcrddyjf5of2NXC2Pt1hevFye +S3by88myky97zU7unnt2B5EeYllPT1Zjjwv+UZ6Wsv/FrSbuD+iJx7TdgcXqwLme +gZCqosmS5tEwdaOwoqG30azLkJEKxNEjYEwBnC/onMYzRz6iPZEdaXTwSd83WseA +rN9j5mC5zV5b9kd0cCZKIwGVViF2jY0Go4ZSnS0ta6JTUb3+4/4DAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANCjAwMDAwMDY0IDAwMDAwMDY0 +IDdmZmZmZmZmIA0KwBG0widCAgDAEbTCJ0ICAAAAAABjADgAZABjADIAMgA2AGQA +LQA2ADUAYwBhAC0ANAA4ADMAZAAtAGEAMgA5ADIALQBjADYANwBjADIANABlAGIA +YQA2AGMAOQAuADAAAAAAAA0KMDAwMDAxYWEgMDAwMDAyMDAgN2ZmZmZmZmYgDQrt +U8tKw0AUHbszkIV/MGShLQZJ60KhuHHjh0gLbnTjQhCxD6hKpFVxUaRFtLoUa2hw +bGkrgvs7/+Be/yCeSWxpSiulWx1IcmfmnDP3nrnxPO+QRRibYcHQNcsf8VXeD1bS +weC6tgFIAY8H2j1oH5Eg7tESFu8HA7Qv8b44vx5hr3ONtwV81dhi2yzNdkKnWmn+ +ww7RP1vd/WUzblqmYZjWga7N0oXMkku35MqszEmbr3GqUoccadMLpwrVsZ4lQU5y +BHqJLoF9ojo5JLBwGjWoBkgXgGNqK40e2IhNKnAtMyoBrLUAbU8rU/U38/IkAKGi +vCxiJobFfD3QnwHJoN4cH5YHiq6AaGOhQHcyj6iJSJDQNez5GWPuUgOHQIOPcyEa +4/QArtrsyIzMhZSHdKQ9Tv1Xi0acoQyzUeAU3bXLUmwP74HuSqQ2eT8Id9eoZMtI +UPhuqXQF0qirmSxFg9JxN65KF99HsMCJTeDKwC3IEhwBvIXto+D+6QbFC1jQoWbP +F+XYGG/+f4E/8ws4qjw0SBmbTbRMES2j+IJcbiCRMzqnGlWM5O9pfQMAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0KMDAwMDAwMjggMDAwMDAw +MjggN2ZmZmZmZmYgDQrwaLnCJ0ICAPBoucInQgIAAAAAAGMAbwBwAHkAaQBuAGYA +bwAAAAAADQowMDAwMDAxNSAwMDAwMDIwMCA3ZmZmZmZmZiANCnu/e3+1iQ4vV7VB +LQapA+PxctUCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAADQowMDAwMDAyMCAwMDAwMDAyMCA3ZmZmZmZm +ZiANCvBoucInQgIA8Gi5widCAgAAAAAAcgBvAG8AdAAAAAAADQowMDAwMDAyZSAw +MDAwMDIwMCA3ZmZmZmZmZiANCnu/e3+1kY6hsYmxhaWxmW6ysZGpromBQYpuUlKq +oa5JcmJqmmmaUWJSmrlOLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAADQowMDAwMDAyNiAwMDAwMDAyNiA3ZmZmZmZmZiANCvBoucInQgIA8Gi5widC +AgAAAAAAdgBlAHIAcwBpAG8AbgAAAAAADQowMDAwMDAxMiAwMDAwMDIwMCA3ZmZm +ZmZmZiANCnu/e381L1e1kaGZjkEtL1ctAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQowMDAwMDAy +OCAwMDAwMDAyOCA3ZmZmZmZmZiANCvBoucInQgIA8Gi5widCAgAAAAAAdgBlAHIA +cwBpAG8AbgBzAAAAAAANCjAwMDAwMTA0IDAwMDAwMjAwIDdmZmZmZmZmIA0KPZBJ +TkQxDETvknWMHGdwfJx4iNSb/ggQEkKcjAVH4gqkN+xL9erV7/fPZ8mcU8oeQxbW +gFbLgLbNYYkPMG+BuG2zYk4v1/WWspamPZRghDE0pAkqDaFxt74Eg4rnZNONaDiM +bgvarKeRhMAGG7XQNUye8JBdlKtXEOSTo71g1TGAncp2abJnP23X88ftvq+USZk6 +s4JZOfQlDdTHBqoFZ9HhC2dO7/Hyervurykfr64qDuWRaiUCJGICoSkKc2/z5Ett +dUo9wpX6cUIH1SjQbMXum5ZuPltrD7G54Myv5yVhEMMKw4L3YjGr/s9OuRzuwrVA +WY+aN3ucSnAeddpl73D/+gMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=} +} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/root" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/root" new file mode 100644 index 00000000..ae3c7db6 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/root" @@ -0,0 +1 @@ +{2,421a27d5-c2f1-4844-86c0-c04fb5a1001f,} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/version" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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" similarity index 100% rename from "src/Tests/ManagedApp/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/version" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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" new file mode 100644 index 00000000..2a23c996 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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" @@ -0,0 +1 @@ +{1,13,"",2ac0017a-4858-4a00-aebf-4236420eaba5,"794aea94-ea53-446d-8477-ce17f50c6825.0",ba34d1db-8e84-4aca-a7e6-90a05bf803e8,"versions",27b8a56b-40f9-4ef0-906e-f8091c2045ef,"794aea94-ea53-446d-8477-ce17f50c6825",967b5f60-9706-460d-ad5e-6ae2ce8f0f48,"root",945e044b-e043-43b5-a0c6-a7a5c54ae2ba,"421a27d5-c2f1-4844-86c0-c04fb5a1001f",416eb34a-cd2f-4689-a35b-7570de3a1453,"7df6502f-da6a-49fb-9624-65420db40a03",fa682bc6-d32a-46d5-bde7-92c2b3ade1b6,"version",7008de8b-68a5-4388-a2a0-761af815047c,"7df6502f-da6a-49fb-9624-65420db40a03.0",aa2453de-6755-447c-acde-c6480fbf78e5,"fd4bd0af-2a9a-4445-8a21-dfb7acb16080.0",11a9cd85-334b-49a7-b276-e2a44deb8216,"ee4ff151-9500-4966-9c18-8499b60534d0.0",7ce1a6ee-4d04-4d96-859c-de026e75f6ee,"fd4bd0af-2a9a-4445-8a21-dfb7acb16080",8b261f73-f22d-4e2f-ad11-fbc297aed233,"copyinfo",1989114a-504b-4482-9e8e-c7fe467fef76} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\224\320\273\321\217\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260\320\244\320\241.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\224\320\273\321\217\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260\320\244\320\241.txt" new file mode 100644 index 00000000..cc3361fa --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\224\320\273\321\217\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260\320\244\320\241.txt" @@ -0,0 +1,93 @@ +{1, +{#base64:////fwACAAAGAAAAAAAAAA0KMDAwMDAwNDggMDAwMDAyMDAgN2ZmZmZmZmYgDQov +AgAArgIAAP///3/NBAAAUAUAAP///39vBwAAtgcAAP///3/VCQAAFAoAAP///38z +DAAAeAwAAP///3+XDgAA3g4AAP///38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0KMDAwMDAwNjAgMDAwMDAw +NjAgN2ZmZmZmZmYgDQrAEbTCJ0ICAMARtMInQgIAAAAAADEAMwA0ADMAOAA5ADMA +NgAtAGMAMwAyADUALQA0ADAAMABkAC0AYgBiAGUAMQAtADQAYwBhAGUAZgA1AGYA +MgBhAGIAZgA3AAAAAAANCjAwMDAwMTdhIDAwMDAwMjAwIDdmZmZmZmZmIA0KjZI7 +al0xEIZ7g/dwObUG9JZmOZqRtIBAKnPAiQsXKdIEUqWw8QKcF05i4mxhzkqyhcy9 +voaAU0SIgYFvPiT9+n3/68yZ05MzF2KoGDJw8AmitR2IhoPIbcw0faNZVnNAOdTg +BlfotSs6MUBt3sNEmm3YEnyZB+W+RBOxNs6JIIXiIVYdxK6DOcdhaw7UOZga23TO +emiIDDE0BPQlKZk6JR/ITrvX/V2s4drZ+9whJ26qDh2aRw+cC/s4qGXG1SxyLV+3 +V9treZBP2xv5Lh/kVj7Kw3Yu7+R+eyvvtf+8nW8Xcrddyjf5of2NXC2Pt1hevFye +S3by88myky97zU7unnt2B5EeYllPT1Zjjwv+UZ6Wsv/FrSbuD+iJx7TdgcXqwLme +gZCqosmS5tEwdaOwoqG30azLkJEKxNEjYEwBnC/onMYzRz6iPZEdaXTwSd83WseA +rN9j5mC5zV5b9kd0cCZKIwGVViF2jY0Go4ZSnS0ta6JTUb3+4/4DAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANCjAwMDAwMDY0IDAwMDAwMDY0 +IDdmZmZmZmZmIA0KwBG0widCAgDAEbTCJ0ICAAAAAABjADgAZABjADIAMgA2AGQA +LQA2ADUAYwBhAC0ANAA4ADMAZAAtAGEAMgA5ADIALQBjADYANwBjADIANABlAGIA +YQA2AGMAOQAuADAAAAAAAA0KMDAwMDAxYWEgMDAwMDAyMDAgN2ZmZmZmZmYgDQrt +U8tKw0AUHbszkIV/MGShLQZJ60KhuHHjh0gLbnTjQhCxD6hKpFVxUaRFtLoUa2hw +bGkrgvs7/+Be/yCeSWxpSiulWx1IcmfmnDP3nrnxPO+QRRibYcHQNcsf8VXeD1bS +weC6tgFIAY8H2j1oH5Eg7tESFu8HA7Qv8b44vx5hr3ONtwV81dhi2yzNdkKnWmn+ +ww7RP1vd/WUzblqmYZjWga7N0oXMkku35MqszEmbr3GqUoccadMLpwrVsZ4lQU5y +BHqJLoF9ojo5JLBwGjWoBkgXgGNqK40e2IhNKnAtMyoBrLUAbU8rU/U38/IkAKGi +vCxiJobFfD3QnwHJoN4cH5YHiq6AaGOhQHcyj6iJSJDQNez5GWPuUgOHQIOPcyEa +4/QArtrsyIzMhZSHdKQ9Tv1Xi0acoQyzUeAU3bXLUmwP74HuSqQ2eT8Id9eoZMtI +UPhuqXQF0qirmSxFg9JxN65KF99HsMCJTeDKwC3IEhwBvIXto+D+6QbFC1jQoWbP +F+XYGG/+f4E/8ws4qjw0SBmbTbRMES2j+IJcbiCRMzqnGlWM5O9pfQMAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0KMDAwMDAwMjggMDAwMDAw +MjggN2ZmZmZmZmYgDQrwaLnCJ0ICAPBoucInQgIAAAAAAGMAbwBwAHkAaQBuAGYA +bwAAAAAADQowMDAwMDAxNSAwMDAwMDIwMCA3ZmZmZmZmZiANCnu/e3+1iQ4vV7VB +LQapA+PxctUCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAADQowMDAwMDAyMCAwMDAwMDAyMCA3ZmZmZmZm +ZiANCvBoucInQgIA8Gi5widCAgAAAAAAcgBvAG8AdAAAAAAADQowMDAwMDAyZSAw +MDAwMDIwMCA3ZmZmZmZmZiANCnu/e3+1kY6hsYmxhaWxmW6ysZGpromBQYpuUlKq +oa5JcmJqmmmaUWJSmrlOLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAADQowMDAwMDAyNiAwMDAwMDAyNiA3ZmZmZmZmZiANCvBoucInQgIA8Gi5widC +AgAAAAAAdgBlAHIAcwBpAG8AbgAAAAAADQowMDAwMDAxMiAwMDAwMDIwMCA3ZmZm +ZmZmZiANCnu/e381L1e1kaGZjkEtL1ctAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQowMDAwMDAy +OCAwMDAwMDAyOCA3ZmZmZmZmZiANCvBoucInQgIA8Gi5widCAgAAAAAAdgBlAHIA +cwBpAG8AbgBzAAAAAAANCjAwMDAwMTA0IDAwMDAwMjAwIDdmZmZmZmZmIA0KPZBJ +TkQxDETvknWMHGdwfJx4iNSb/ggQEkKcjAVH4gqkN+xL9erV7/fPZ8mcU8oeQxbW +gFbLgLbNYYkPMG+BuG2zYk4v1/WWspamPZRghDE0pAkqDaFxt74Eg4rnZNONaDiM +bgvarKeRhMAGG7XQNUye8JBdlKtXEOSTo71g1TGAncp2abJnP23X88ftvq+USZk6 +s4JZOfQlDdTHBqoFZ9HhC2dO7/Hyervurykfr64qDuWRaiUCJGICoSkKc2/z5Ett +dUo9wpX6cUIH1SjQbMXum5ZuPltrD7G54Myv5yVhEMMKw4L3YjGr/s9OuRzuwrVA +WY+aN3ucSnAeddpl73D/+gMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=} +} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\241\320\276\320\241\321\202\321\200\320\276\320\263\320\270\320\274\320\237\320\276\321\200\321\217\320\264\320\272\320\276\320\274\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\241\320\276\320\241\321\202\321\200\320\276\320\263\320\270\320\274\320\237\320\276\321\200\321\217\320\264\320\272\320\276\320\274\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.txt" new file mode 100644 index 00000000..559b9393 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\241\320\276\320\241\321\202\321\200\320\276\320\263\320\270\320\274\320\237\320\276\321\200\321\217\320\264\320\272\320\276\320\274\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.txt" @@ -0,0 +1,135 @@ +{1, +{#base64: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 +NUICALCNr881QgIAAAAAAHIAbwBvAHQAAAAAAA0KMDAwMDAwMmUgMDAwMDAyMDAg +N2ZmZmZmZmYgDQp7v3t/tZGOobGJsYWlsZlusrGRqa6JgUGKblJSqqGuSXJiappp +mlFiUpq5Ti0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0KMDAw +MDAwMjYgMDAwMDAwMjYgN2ZmZmZmZmYgDQqwja/PNUICALCNr881QgIAAAAAAHYA +ZQByAHMAaQBvAG4AAAAAAA0KMDAwMDAwMTIgMDAwMDAyMDAgN2ZmZmZmZmYgDQp7 +v3t/NS9XtZGhmY5BLS9XLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0KMDAwMDAwMjggMDAwMDAw +MjggN2ZmZmZmZmYgDQqwja/PNUICALCNr881QgIAAAAAAHYAZQByAHMAaQBvAG4A +cwAAAAAADQowMDAwMDE0NyAwMDAwMDIwMCA3ZmZmZmZmZiANCo2RQW4dMAgF7+K1 +iQzGGI5jMJayya+SqlJV9WRZ9Ei9Qv03XWfPm4HH388/v7BaLaE7iGSDjFjA2jcs +MoKQGcTpS8JeWqm6UFZkh4WxgddmsGENpudQb3LHZy2lZoSflQl4nIC7TVDcDuzq +kWpbR7/W4+jrMOhhAUa53EiBgXPoQdycXGo7dLZflhnxk2WwhC4Lm+8lfiSolh/5 +/vH6ePsoNYLOdTP02HdHppukVGjCaMtHqLRa3h+P76WisrOPCYJt3lmeYK4CGWKM +auqMtWDnrtYFotMAbm2DeyJwrDzj0PIzS925iQ92GBnndsj3rukGSX4TXZv2+X/P +q+Y0VJ/Q8gnl/aycCRbzUY7BW+bXKno+5lAgMgboGHHlaqBtJox7w+RjXVUv7fHt +5+vbeZTKzYnbUJjq195zgE87gDJkrSmtef7+BwAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAA} +} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" new file mode 100644 index 00000000..66642f7a --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" @@ -0,0 +1,73 @@ +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Ожидаем; + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + // Устанавливает режим выполнения для контейнера обработки + НаборТестов.СлучайныйПорядокВыполнения(); + //НаборТестов.СтрогийПорядокВыполнения(); + + НаборТестов.Добавить("ТестДолжен_ПроверитьВыполнение_ПростогоТеста"); + + НаборТестов.НачатьГруппу("Группа со случайным порядком выполнения"); + НаборТестов.Добавить("ТестДолжен_ПроверитьВыполнение_ПростогоТеста_СПроизвольнымПредставлением", , "Тест с произвольным представлением"); + НаборТестов.Добавить("ТестДолжен_ПроверитьВыполнение_ТестаСПараметром", НаборТестов.ПараметрыТеста(Истина)); + + НаборТестов.НачатьГруппу("Группа со строгим порядком выполнения", Истина); + НаборТестов.Добавить("ТестДолжен_СохранитьКонтекст"); + НаборТестов.Добавить("ТестДолжен_ПроверитьСохраненныйКонтекст"); + + НаборТестов.НачатьГруппу("Группа параметризированных тестов со строгим порядком выполнения", Истина); + НаборТестов.Добавить("ТестДолжен_СохранитьРезультатСложенияВКонтекст", НаборТестов.ПараметрыТеста(5, 7), "Тест должен сохранить результат сложения (5 + 7) в контекст"); + Тест = НаборТестов.Добавить("ТестДолжен_СравнитьКонтекстСоСвоимПараметром"); + Тест.Параметры.Добавить(12); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьВыполнение_ПростогоТеста() Экспорт + Ожидаем.Что(Истина).ЭтоИстина(); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьВыполнение_ПростогоТеста_СПроизвольнымПредставлением() Экспорт + Ожидаем.Что(Истина).ЭтоИстина(); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьВыполнение_ТестаСПараметром(Параметр) Экспорт + Ожидаем.Что(Параметр).ЭтоИстина(); +КонецПроцедуры + +// { Группа со строгим режимом выполнения +&НаКлиенте +Процедура ТестДолжен_СохранитьКонтекст() Экспорт + КонтекстЯдра.СохранитьКонтекст(10); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьСохраненныйКонтекст() Экспорт + Контекст = КонтекстЯдра.ПолучитьКонтекст(); + Ожидаем.Что(Контекст).Равно(10); +КонецПроцедуры +// } Группа со строгим режимом выполнения + +// { Группа параметризированных тестов со строгим режимом выполнения +&НаКлиенте +Процедура ТестДолжен_СохранитьРезультатСложенияВКонтекст(Знач1, Знач2) Экспорт + КонтекстЯдра.СохранитьКонтекст(Знач1 + Знач2); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_СравнитьКонтекстСоСвоимПараметром(Результат) Экспорт + Контекст = КонтекстЯдра.ПолучитьКонтекст(); + Ожидаем.Что(Контекст).Равно(Результат); +КонецПроцедуры +// } Группа параметризированных тестов со строгим режимом выполнения diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" new file mode 100644 index 00000000..00f49e7d --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" @@ -0,0 +1,62 @@ +Перем КонтекстЯдра; +Перем Ожидаем; + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); +КонецПроцедуры + +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + // Устанавливает режим выполнения для контейнера обработки + НаборТестов.СлучайныйПорядокВыполнения(); + //НаборТестов.СтрогийПорядокВыполнения(); + + НаборТестов.Добавить("ТестДолжен_ПроверитьВыполнение_ПростогоТеста"); + + НаборТестов.НачатьГруппу("Группа со случайным порядком выполнения"); + НаборТестов.Добавить("ТестДолжен_ПроверитьВыполнение_ПростогоТеста_СПроизвольнымПредставлением", , "Тест с произвольным представлением"); + НаборТестов.Добавить("ТестДолжен_ПроверитьВыполнение_ТестаСПараметром", НаборТестов.ПараметрыТеста(Истина)); + + НаборТестов.НачатьГруппу("Группа со строгим порядком выполнения", Истина); + НаборТестов.Добавить("ТестДолжен_СохранитьКонтекст"); + НаборТестов.Добавить("ТестДолжен_ПроверитьСохраненныйКонтекст"); + + НаборТестов.НачатьГруппу("Группа параметризированных тестов со строгим порядком выполнения", Истина); + НаборТестов.Добавить("ТестДолжен_СохранитьРезультатСложенияВКонтекст", НаборТестов.ПараметрыТеста(5, 7), "Тест должен сохранить результат сложения (5 + 7) в контекст"); + Тест = НаборТестов.Добавить("ТестДолжен_СравнитьКонтекстСоСвоимПараметром"); + Тест.Параметры.Добавить(12); +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьВыполнение_ПростогоТеста() Экспорт + Ожидаем.Что(Истина).ЭтоИстина(); +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьВыполнение_ПростогоТеста_СПроизвольнымПредставлением() Экспорт + Ожидаем.Что(Истина).ЭтоИстина(); +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьВыполнение_ТестаСПараметром(Параметр) Экспорт + Ожидаем.Что(Параметр).ЭтоИстина(); +КонецПроцедуры + +// { Группа со строгим режимом выполнения +Процедура ТестДолжен_СохранитьКонтекст() Экспорт + КонтекстЯдра.СохранитьКонтекст(10); +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьСохраненныйКонтекст() Экспорт + Контекст = КонтекстЯдра.ПолучитьКонтекст(); + Ожидаем.Что(Контекст).Равно(10); +КонецПроцедуры +// } Группа со строгим режимом выполнения + +// { Группа параметризированных тестов со строгим режимом выполнения +Процедура ТестДолжен_СохранитьРезультатСложенияВКонтекст(Знач1, Знач2) Экспорт + КонтекстЯдра.СохранитьКонтекст(Знач1 + Знач2); +КонецПроцедуры + +Процедура ТестДолжен_СравнитьКонтекстСоСвоимПараметром(Результат) Экспорт + Контекст = КонтекстЯдра.ПолучитьКонтекст(); + Ожидаем.Что(Контекст).Равно(Результат); +КонецПроцедуры +// } Группа параметризированных тестов со строгим режимом выполнения diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" new file mode 100644 index 00000000..1bc2b905 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" @@ -0,0 +1,11 @@ +3ed246cc-b126-4dd4-b414-004043927717-->und\3ed246cc-b126-4dd4-b414-004043927717 +3ed246cc-b126-4dd4-b414-004043927717.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_ЗагрузчикФайла_НовыйAPIОбъявленияТестов\Form\Форма\Форма.txt +3ed246cc-b126-4dd4-b414-004043927717.0-->und\3ed246cc-b126-4dd4-b414-004043927717.0 +3ed246cc-b126-4dd4-b414-004043927717.0-->und\3ed246cc-b126-4dd4-b414-004043927717.0 +4a17bf09-a240-4cec-b0b0-8d45028bd3c0.0\info-->und\4a17bf09-a240-4cec-b0b0-8d45028bd3c0.0\info +4a17bf09-a240-4cec-b0b0-8d45028bd3c0.0\text-->ObjectModule.txt +copyinfo-->und\copyinfo +e55ff8fe-4c3c-46ec-af12-821e21292f5e-->und\e55ff8fe-4c3c-46ec-af12-821e21292f5e +root-->und\root +version-->und\version +versions-->und\versions diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/und/3ed246cc-b126-4dd4-b414-004043927717" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/und/3ed246cc-b126-4dd4-b414-004043927717" new file mode 100644 index 00000000..c562d368 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/und/3ed246cc-b126-4dd4-b414-004043927717" @@ -0,0 +1,15 @@ +{1, +{1, +{0, +{12, +{0, +{0,0,3ed246cc-b126-4dd4-b414-004043927717},"Форма", +{1,"ru","Форма"},""},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/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/und/3ed246cc-b126-4dd4-b414-004043927717.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/und/3ed246cc-b126-4dd4-b414-004043927717.0" new file mode 100644 index 00000000..468e0e6a --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/und/3ed246cc-b126-4dd4-b414-004043927717.0" @@ -0,0 +1,162 @@ +{2, +{36,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1, +{1,0},0,0,1,1,1,0,1,0, +{0}, +{0},1, +{19, +{-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,"","",1, +{19, +{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, +{8, +{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}, +{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},"&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Ожидаем; + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин(""УтвержденияBDD""); +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + // Устанавливает режим выполнения для контейнера обработки + НаборТестов.СлучайныйПорядокВыполнения(); + //НаборТестов.СтрогийПорядокВыполнения(); + + НаборТестов.Добавить(""ТестДолжен_ПроверитьВыполнение_ПростогоТеста""); + + НаборТестов.НачатьГруппу(""Группа со случайным порядком выполнения""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьВыполнение_ПростогоТеста_СПроизвольнымПредставлением"", , ""Тест с произвольным представлением""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьВыполнение_ТестаСПараметром"", НаборТестов.ПараметрыТеста(Истина)); + + НаборТестов.НачатьГруппу(""Группа со строгим порядком выполнения"", Истина); + НаборТестов.Добавить(""ТестДолжен_СохранитьКонтекст""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьСохраненныйКонтекст""); + + НаборТестов.НачатьГруппу(""Группа параметризированных тестов со строгим порядком выполнения"", Истина); + НаборТестов.Добавить(""ТестДолжен_СохранитьРезультатСложенияВКонтекст"", НаборТестов.ПараметрыТеста(5, 7), ""Тест должен сохранить результат сложения (5 + 7) в контекст""); + Тест = НаборТестов.Добавить(""ТестДолжен_СравнитьКонтекстСоСвоимПараметром""); + Тест.Параметры.Добавить(12); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьВыполнение_ПростогоТеста() Экспорт + Ожидаем.Что(Истина).ЭтоИстина(); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьВыполнение_ПростогоТеста_СПроизвольнымПредставлением() Экспорт + Ожидаем.Что(Истина).ЭтоИстина(); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьВыполнение_ТестаСПараметром(Параметр) Экспорт + Ожидаем.Что(Параметр).ЭтоИстина(); +КонецПроцедуры + +// { Группа со строгим режимом выполнения +&НаКлиенте +Процедура ТестДолжен_СохранитьКонтекст() Экспорт + КонтекстЯдра.СохранитьКонтекст(10); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьСохраненныйКонтекст() Экспорт + Контекст = КонтекстЯдра.ПолучитьКонтекст(); + Ожидаем.Что(Контекст).Равно(10); +КонецПроцедуры +// } Группа со строгим режимом выполнения + +// { Группа параметризированных тестов со строгим режимом выполнения +&НаКлиенте +Процедура ТестДолжен_СохранитьРезультатСложенияВКонтекст(Знач1, Знач2) Экспорт + КонтекстЯдра.СохранитьКонтекст(Знач1 + Знач2); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_СравнитьКонтекстСоСвоимПараметром(Результат) Экспорт + Контекст = КонтекстЯдра.ПолучитьКонтекст(); + Ожидаем.Что(Контекст).Равно(Результат); +КонецПроцедуры +// } Группа параметризированных тестов со строгим режимом выполнения +", +{4,1, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",2d7bfe0b-0904-4d21-82ea-b30d15c47004} +}, +{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 +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,0}, +{0,0}, +{0,0}, +{0,0} +} \ No newline at end of file diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/und/4a17bf09-a240-4cec-b0b0-8d45028bd3c0.0/info" similarity index 100% rename from "src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/und/4a17bf09-a240-4cec-b0b0-8d45028bd3c0.0/info" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/und/copyinfo" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/und/copyinfo" new file mode 100644 index 00000000..f892f8d1 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/und/copyinfo" @@ -0,0 +1,16 @@ +{4, +{2, +{3ed246cc-b126-4dd4-b414-004043927717,3ed246cc-b126-4dd4-b414-004043927717,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} +}, +{4a17bf09-a240-4cec-b0b0-8d45028bd3c0,4a17bf09-a240-4cec-b0b0-8d45028bd3c0,1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"Тесты_ЗагрузчикФайла_НовыйAPIОбъявленияТестов"} +} +}, +{1, +{2d7bfe0b-0904-4d21-82ea-b30d15c47004,4a17bf09-a240-4cec-b0b0-8d45028bd3c0,0} +}, +{0}, +{0,0}, +{0} +} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/und/e55ff8fe-4c3c-46ec-af12-821e21292f5e" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/und/e55ff8fe-4c3c-46ec-af12-821e21292f5e" new file mode 100644 index 00000000..665ea99e --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/und/e55ff8fe-4c3c-46ec-af12-821e21292f5e" @@ -0,0 +1,17 @@ +{1, +{e55ff8fe-4c3c-46ec-af12-821e21292f5e},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,2d7bfe0b-0904-4d21-82ea-b30d15c47004,08f261d9-b428-46de-b373-9a570a305966, +{0, +{0, +{0,0,4a17bf09-a240-4cec-b0b0-8d45028bd3c0},"Тесты_ЗагрузчикФайла_НовыйAPIОбъявленияТестов", +{1,"ru","Тесты - загрузчик файла - новый API объявления тестов"},""} +},3ed246cc-b126-4dd4-b414-004043927717,"",00000000-0000-0000-0000-000000000000},4, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, +{3daea016-69b7-4ed4-9453-127911372fe6,0}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,3ed246cc-b126-4dd4-b414-004043927717}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} +} +} +} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/und/root" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/und/root" new file mode 100644 index 00000000..c8b0bcc5 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/und/root" @@ -0,0 +1 @@ +{2,e55ff8fe-4c3c-46ec-af12-821e21292f5e,} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\235\320\260\320\232\320\273\320\270\320\265\320\275\321\202\320\265/und/version" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/und/version" similarity index 100% rename from "src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\235\320\260\320\232\320\273\320\270\320\265\320\275\321\202\320\265/und/version" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/und/version" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" new file mode 100644 index 00000000..d7b2f25a --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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_\320\235\320\276\320\262\321\213\320\271API\320\236\320\261\321\212\321\217\320\262\320\273\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" @@ -0,0 +1 @@ +{1,9,"",350bfe81-740b-4a88-a555-144eff449b6b,"versions",5174e7ea-34fc-49b5-b78c-4001e842bd60,"3ed246cc-b126-4dd4-b414-004043927717",18b9e819-ae59-4b9d-88e7-b05edf20b615,"root",774d6c8f-f414-4fca-9e4d-1279511f4eef,"version",fcb4a89d-f973-4c32-b6ca-6d90b1946858,"e55ff8fe-4c3c-46ec-af12-821e21292f5e",929035ae-1d3b-48e5-95c3-97b40e6573cd,"4a17bf09-a240-4cec-b0b0-8d45028bd3c0.0",1280c793-b4a6-4c07-a19a-5aec1aa4bddd,"3ed246cc-b126-4dd4-b414-004043927717.0",095cabcd-68c8-41ec-be5b-3f87c0fc65fa,"copyinfo",f5a89774-fe71-467b-8526-6ff055c1c8b2} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\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.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\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.txt" new file mode 100644 index 00000000..223e1820 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\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.txt" @@ -0,0 +1,87 @@ +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Ожидаем; + +&НаКлиенте +Перем ПарсерКоманднойСтроки; + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + ПарсерКоманднойСтроки = КонтекстЯдра.Плагин("ПарсерКоманднойСтроки"); +КонецПроцедуры + +&НаКлиенте +Функция ПолучитьСписокТестов() Экспорт + ВсеТесты = Новый Массив; + ВсеТесты.Добавить("ТестДолжен_Разобрать_ТиповыеПараметрыЗапуска"); + ВсеТесты.Добавить("ТестДолжен_Разобрать_ПутьСодержитПробелыИОбрамленКовычками"); + ВсеТесты.Добавить("ТестДолжен_Разобрать_ПутьНеСодержитПробелыНоОбрамленКавычками"); + + Возврат ВсеТесты; +КонецФункции + +&НаКлиенте +Процедура ТестДолжен_Разобрать_ТиповыеПараметрыЗапуска() Экспорт + СтрокаПараметров = "xddRun ЗагрузчикКаталога %ПутьКТестам%; xddShutdown; xddReport ГенераторОтчетаJUnitXML %ПутьОтчета%"; + + ПараметрыЗапуска = ПарсерКоманднойСтроки.Разобрать(СтрокаПараметров); + + Ожидаем.Что(ПараметрыЗапуска).ИмеетТип("ФиксированнаяСтруктура").ИмеетДлину(3); + + Параметры_xddRun = Неопределено; + Ожидаем.Что(ПараметрыЗапуска.Свойство("xddRun", Параметры_xddRun)).ЭтоИстина(); + Ожидаем.Что(Параметры_xddRun).ИмеетТип("ФиксированныйМассив").ИмеетДлину(2); + ИдентификаторЗагрузчика = Параметры_xddRun[0]; + Ожидаем.Что(НРег(ИдентификаторЗагрузчика)).Равно(НРег("ЗагрузчикКаталога")); + Путь = Параметры_xddRun[1]; + Ожидаем.Что(НРег(Путь)).Равно(НРег("%ПутьКТестам%")); + + Параметры_xddShutdown = Неопределено; + Ожидаем.Что(ПараметрыЗапуска.Свойство("xddShutdown", Параметры_xddShutdown)).ЭтоИстина(); + Ожидаем.Что(Параметры_xddShutdown, "Параметров у xddShutdown нет").ИмеетТип("ФиксированныйМассив").ИмеетДлину(0); + + Параметры_xddReport = Неопределено; + Ожидаем.Что(ПараметрыЗапуска.Свойство("xddReport", Параметры_xddReport)).ЭтоИстина(); + Ожидаем.Что(Параметры_xddReport).ИмеетТип("ФиксированныйМассив").ИмеетДлину(2); + ИдентификаторГенератораОтчета = Параметры_xddReport[0]; + Ожидаем.Что(НРег(ИдентификаторГенератораОтчета)).Равно(НРег("ГенераторОтчетаJUnitXML")); + Путь = Параметры_xddReport[1]; + Ожидаем.Что(НРег(Путь)).Равно(НРег("%ПутьОтчета%")); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Разобрать_ПутьСодержитПробелыИОбрамленКовычками() Экспорт + СтрокаПараметров = "xddRun ЗагрузчикКаталога ""C:\Program Files"""; + + ПараметрыЗапуска = ПарсерКоманднойСтроки.Разобрать(СтрокаПараметров); + + Ожидаем.Что(ПараметрыЗапуска).ИмеетТип("ФиксированнаяСтруктура").ИмеетДлину(1); + + Параметры_xddRun = Неопределено; + Ожидаем.Что(ПараметрыЗапуска.Свойство("xddRun", Параметры_xddRun)).ЭтоИстина(); + Ожидаем.Что(Параметры_xddRun).ИмеетТип("ФиксированныйМассив").ИмеетДлину(2); + ИдентификаторЗагрузчика = Параметры_xddRun[0]; + Ожидаем.Что(НРег(ИдентификаторЗагрузчика)).Равно(НРег("ЗагрузчикКаталога")); + Путь = Параметры_xddRun[1]; + Ожидаем.Что(НРег(Путь)).Равно(НРег("C:\Program Files")); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Разобрать_ПутьНеСодержитПробелыНоОбрамленКавычками() Экспорт + СтрокаПараметров = "xddRun ЗагрузчикКаталога ""C:\ProgramFiles"""; + + ПараметрыЗапуска = ПарсерКоманднойСтроки.Разобрать(СтрокаПараметров); + + Ожидаем.Что(ПараметрыЗапуска).ИмеетТип("ФиксированнаяСтруктура").ИмеетДлину(1); + + Параметры_xddRun = Неопределено; + Ожидаем.Что(ПараметрыЗапуска.Свойство("xddRun", Параметры_xddRun)).ЭтоИстина(); + Ожидаем.Что(Параметры_xddRun).ИмеетТип("ФиксированныйМассив").ИмеетДлину(2); + ИдентификаторЗагрузчика = Параметры_xddRun[0]; + Ожидаем.Что(НРег(ИдентификаторЗагрузчика)).Равно(НРег("ЗагрузчикКаталога")); + Путь = Параметры_xddRun[1]; + Ожидаем.Что(НРег(Путь)).Равно(НРег("C:\ProgramFiles")); +КонецПроцедуры diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/ObjectModule.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/ObjectModule.txt" new file mode 100644 index 00000000..e0b8e660 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/ObjectModule.txt" @@ -0,0 +1,92 @@ +Перем КонтекстЯдра; +Перем Ожидаем; + +Перем ПарсерКоманднойСтроки; + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + ПарсерКоманднойСтроки = КонтекстЯдра.Плагин("ПарсерКоманднойСтроки"); +КонецПроцедуры + +Функция ПолучитьСписокТестов() Экспорт + ВсеТесты = Новый Массив; + ВсеТесты.Добавить("ТестДолжен_Разобрать_ТиповыеПараметрыЗапуска"); + ВсеТесты.Добавить("ТестДолжен_Разобрать_ПутьСодержитПробелыИОбрамленКовычками"); + ВсеТесты.Добавить("ТестДолжен_Разобрать_ПутьНеСодержитПробелыНоОбрамленКавычками"); + ВсеТесты.Добавить("ТестДолжен_Разобрать_ПараметрыЗапускаСЗавершающейТочкойСЗапятойИПробелами"); + + Возврат ВсеТесты; +КонецФункции + +Процедура ТестДолжен_Разобрать_ТиповыеПараметрыЗапуска() Экспорт + СтрокаПараметров = "xddRun ЗагрузчикКаталога %ПутьКТестам%; xddShutdown; xddReport ГенераторОтчетаJUnitXML %ПутьОтчета%"; + + ПараметрыЗапуска = ПарсерКоманднойСтроки.Разобрать(СтрокаПараметров); + + Ожидаем.Что(ПараметрыЗапуска).ИмеетТип("ФиксированнаяСтруктура").ИмеетДлину(3); + + Параметры_xddRun = Неопределено; + Ожидаем.Что(ПараметрыЗапуска.Свойство("xddRun", Параметры_xddRun)).ЭтоИстина(); + Ожидаем.Что(Параметры_xddRun).ИмеетТип("ФиксированныйМассив").ИмеетДлину(2); + ИдентификаторЗагрузчика = Параметры_xddRun[0]; + Ожидаем.Что(НРег(ИдентификаторЗагрузчика)).Равно(НРег("ЗагрузчикКаталога")); + Плагин_Загрузчик = КонтекстЯдра.Плагин(ИдентификаторЗагрузчика); + Ожидаем.Что(Плагин_Загрузчик, "Плагин_Загрузчик").Существует(); + Путь = Параметры_xddRun[1]; + Ожидаем.Что(НРег(Путь)).Равно(НРег("%ПутьКТестам%")); + + Параметры_xddShutdown = Неопределено; + Ожидаем.Что(ПараметрыЗапуска.Свойство("xddShutdown", Параметры_xddShutdown)).ЭтоИстина(); + Ожидаем.Что(Параметры_xddShutdown, "Параметров у xddShutdown нет").ИмеетТип("ФиксированныйМассив").ИмеетДлину(0); + + Параметры_xddReport = Неопределено; + Ожидаем.Что(ПараметрыЗапуска.Свойство("xddReport", Параметры_xddReport)).ЭтоИстина(); + Ожидаем.Что(Параметры_xddReport).ИмеетТип("ФиксированныйМассив").ИмеетДлину(2); + ИдентификаторГенератораОтчета = Параметры_xddReport[0]; + Ожидаем.Что(НРег(ИдентификаторГенератораОтчета)).Равно(НРег("ГенераторОтчетаJUnitXML")); + Плагин_ГенераторОтчета = КонтекстЯдра.Плагин(ИдентификаторГенератораОтчета); + Ожидаем.Что(Плагин_ГенераторОтчета, "Плагин генератор отчета получен").Существует(); + Путь = Параметры_xddReport[1]; + Ожидаем.Что(НРег(Путь)).Равно(НРег("%ПутьОтчета%")); +КонецПроцедуры + +Процедура ТестДолжен_Разобрать_ПутьСодержитПробелыИОбрамленКовычками() Экспорт + СтрокаПараметров = "xddRun ЗагрузчикКаталога ""C:\Program Files"""; + + ПараметрыЗапуска = ПарсерКоманднойСтроки.Разобрать(СтрокаПараметров); + + Ожидаем.Что(ПараметрыЗапуска).ИмеетТип("ФиксированнаяСтруктура").ИмеетДлину(1); + + Параметры_xddRun = Неопределено; + Ожидаем.Что(ПараметрыЗапуска.Свойство("xddRun", Параметры_xddRun)).ЭтоИстина(); + Ожидаем.Что(Параметры_xddRun).ИмеетТип("ФиксированныйМассив").ИмеетДлину(2); + ИдентификаторЗагрузчика = Параметры_xddRun[0]; + Ожидаем.Что(НРег(ИдентификаторЗагрузчика)).Равно(НРег("ЗагрузчикКаталога")); + Путь = Параметры_xddRun[1]; + Ожидаем.Что(НРег(Путь)).Равно(НРег("C:\Program Files")); +КонецПроцедуры + +Процедура ТестДолжен_Разобрать_ПутьНеСодержитПробелыНоОбрамленКавычками() Экспорт + СтрокаПараметров = "xddRun ЗагрузчикКаталога ""C:\ProgramFiles"""; + + ПараметрыЗапуска = ПарсерКоманднойСтроки.Разобрать(СтрокаПараметров); + + Ожидаем.Что(ПараметрыЗапуска).ИмеетТип("ФиксированнаяСтруктура").ИмеетДлину(1); + + Параметры_xddRun = Неопределено; + Ожидаем.Что(ПараметрыЗапуска.Свойство("xddRun", Параметры_xddRun)).ЭтоИстина(); + Ожидаем.Что(Параметры_xddRun).ИмеетТип("ФиксированныйМассив").ИмеетДлину(2); + ИдентификаторЗагрузчика = Параметры_xddRun[0]; + Ожидаем.Что(НРег(ИдентификаторЗагрузчика)).Равно(НРег("ЗагрузчикКаталога")); + Путь = Параметры_xddRun[1]; + Ожидаем.Что(НРег(Путь)).Равно(НРег("C:\ProgramFiles")); +КонецПроцедуры + +Процедура ТестДолжен_Разобрать_ПараметрыЗапускаСЗавершающейТочкойСЗапятойИПробелами() Экспорт + СтрокаПараметров = "xddRun ЗагрузчикКаталога %ПутьКТестам%; xddReport ГенераторОтчетаJUnitXML %ПутьОтчета%; xddShutdown;"; + + ПараметрыЗапуска = ПарсерКоманднойСтроки.Разобрать(СтрокаПараметров); + + Ожидаем.Что(ПараметрыЗапуска).ИмеетТип("ФиксированнаяСтруктура").ИмеетДлину(3); +КонецПроцедуры diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/renames.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/renames.txt" new file mode 100644 index 00000000..6f8c8587 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/renames.txt" @@ -0,0 +1,11 @@ +2258d8fc-7195-4b5f-8a75-d8246742a221.0\info-->und\2258d8fc-7195-4b5f-8a75-d8246742a221.0\info +2258d8fc-7195-4b5f-8a75-d8246742a221.0\text-->ObjectModule.txt +a72de6ff-3337-4e2c-a61c-6d0f3ff8b0fe-->und\a72de6ff-3337-4e2c-a61c-6d0f3ff8b0fe +a72de6ff-3337-4e2c-a61c-6d0f3ff8b0fe.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_ПарсерКоманднойСтроки\Form\Форма\Форма.txt +a72de6ff-3337-4e2c-a61c-6d0f3ff8b0fe.0-->und\a72de6ff-3337-4e2c-a61c-6d0f3ff8b0fe.0 +a72de6ff-3337-4e2c-a61c-6d0f3ff8b0fe.0-->und\a72de6ff-3337-4e2c-a61c-6d0f3ff8b0fe.0 +copyinfo-->und\copyinfo +eff959e6-4f20-4a2b-b413-7cbed1281eae-->und\eff959e6-4f20-4a2b-b413-7cbed1281eae +root-->und\root +version-->und\version +versions-->und\versions diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/2258d8fc-7195-4b5f-8a75-d8246742a221.0/info" similarity index 100% rename from "src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/2258d8fc-7195-4b5f-8a75-d8246742a221.0/info" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/a72de6ff-3337-4e2c-a61c-6d0f3ff8b0fe" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/a72de6ff-3337-4e2c-a61c-6d0f3ff8b0fe" new file mode 100644 index 00000000..41141933 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/a72de6ff-3337-4e2c-a61c-6d0f3ff8b0fe" @@ -0,0 +1,15 @@ +{1, +{1, +{0, +{12, +{0, +{0,0,a72de6ff-3337-4e2c-a61c-6d0f3ff8b0fe},"Форма", +{1,"ru","Форма"},""},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/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/a72de6ff-3337-4e2c-a61c-6d0f3ff8b0fe.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/a72de6ff-3337-4e2c-a61c-6d0f3ff8b0fe.0" new file mode 100644 index 00000000..4140b5fd --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/a72de6ff-3337-4e2c-a61c-6d0f3ff8b0fe.0" @@ -0,0 +1,176 @@ +{2, +{36,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1, +{1,0},0,0,1,1,1,0,1,0, +{0}, +{0},1, +{19, +{-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,"","",1, +{19, +{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, +{8, +{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}, +{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},"&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Ожидаем; + +&НаКлиенте +Перем ПарсерКоманднойСтроки; + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин(""УтвержденияBDD""); + ПарсерКоманднойСтроки = КонтекстЯдра.Плагин(""ПарсерКоманднойСтроки""); +КонецПроцедуры + +&НаКлиенте +Функция ПолучитьСписокТестов() Экспорт + ВсеТесты = Новый Массив; + ВсеТесты.Добавить(""ТестДолжен_Разобрать_ТиповыеПараметрыЗапуска""); + ВсеТесты.Добавить(""ТестДолжен_Разобрать_ПутьСодержитПробелыИОбрамленКовычками""); + ВсеТесты.Добавить(""ТестДолжен_Разобрать_ПутьНеСодержитПробелыНоОбрамленКавычками""); + + Возврат ВсеТесты; +КонецФункции + +&НаКлиенте +Процедура ТестДолжен_Разобрать_ТиповыеПараметрыЗапуска() Экспорт + СтрокаПараметров = ""xddRun ЗагрузчикКаталога %ПутьКТестам%; xddShutdown; xddReport ГенераторОтчетаJUnitXML %ПутьОтчета%""; + + ПараметрыЗапуска = ПарсерКоманднойСтроки.Разобрать(СтрокаПараметров); + + Ожидаем.Что(ПараметрыЗапуска).ИмеетТип(""ФиксированнаяСтруктура"").ИмеетДлину(3); + + Параметры_xddRun = Неопределено; + Ожидаем.Что(ПараметрыЗапуска.Свойство(""xddRun"", Параметры_xddRun)).ЭтоИстина(); + Ожидаем.Что(Параметры_xddRun).ИмеетТип(""ФиксированныйМассив"").ИмеетДлину(2); + ИдентификаторЗагрузчика = Параметры_xddRun[0]; + Ожидаем.Что(НРег(ИдентификаторЗагрузчика)).Равно(НРег(""ЗагрузчикКаталога"")); + Путь = Параметры_xddRun[1]; + Ожидаем.Что(НРег(Путь)).Равно(НРег(""%ПутьКТестам%"")); + + Параметры_xddShutdown = Неопределено; + Ожидаем.Что(ПараметрыЗапуска.Свойство(""xddShutdown"", Параметры_xddShutdown)).ЭтоИстина(); + Ожидаем.Что(Параметры_xddShutdown, ""Параметров у xddShutdown нет"").ИмеетТип(""ФиксированныйМассив"").ИмеетДлину(0); + + Параметры_xddReport = Неопределено; + Ожидаем.Что(ПараметрыЗапуска.Свойство(""xddReport"", Параметры_xddReport)).ЭтоИстина(); + Ожидаем.Что(Параметры_xddReport).ИмеетТип(""ФиксированныйМассив"").ИмеетДлину(2); + ИдентификаторГенератораОтчета = Параметры_xddReport[0]; + Ожидаем.Что(НРег(ИдентификаторГенератораОтчета)).Равно(НРег(""ГенераторОтчетаJUnitXML"")); + Путь = Параметры_xddReport[1]; + Ожидаем.Что(НРег(Путь)).Равно(НРег(""%ПутьОтчета%"")); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Разобрать_ПутьСодержитПробелыИОбрамленКовычками() Экспорт + СтрокаПараметров = ""xddRun ЗагрузчикКаталога """"C:\Program Files""""""; + + ПараметрыЗапуска = ПарсерКоманднойСтроки.Разобрать(СтрокаПараметров); + + Ожидаем.Что(ПараметрыЗапуска).ИмеетТип(""ФиксированнаяСтруктура"").ИмеетДлину(1); + + Параметры_xddRun = Неопределено; + Ожидаем.Что(ПараметрыЗапуска.Свойство(""xddRun"", Параметры_xddRun)).ЭтоИстина(); + Ожидаем.Что(Параметры_xddRun).ИмеетТип(""ФиксированныйМассив"").ИмеетДлину(2); + ИдентификаторЗагрузчика = Параметры_xddRun[0]; + Ожидаем.Что(НРег(ИдентификаторЗагрузчика)).Равно(НРег(""ЗагрузчикКаталога"")); + Путь = Параметры_xddRun[1]; + Ожидаем.Что(НРег(Путь)).Равно(НРег(""C:\Program Files"")); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Разобрать_ПутьНеСодержитПробелыНоОбрамленКавычками() Экспорт + СтрокаПараметров = ""xddRun ЗагрузчикКаталога """"C:\ProgramFiles""""""; + + ПараметрыЗапуска = ПарсерКоманднойСтроки.Разобрать(СтрокаПараметров); + + Ожидаем.Что(ПараметрыЗапуска).ИмеетТип(""ФиксированнаяСтруктура"").ИмеетДлину(1); + + Параметры_xddRun = Неопределено; + Ожидаем.Что(ПараметрыЗапуска.Свойство(""xddRun"", Параметры_xddRun)).ЭтоИстина(); + Ожидаем.Что(Параметры_xddRun).ИмеетТип(""ФиксированныйМассив"").ИмеетДлину(2); + ИдентификаторЗагрузчика = Параметры_xddRun[0]; + Ожидаем.Что(НРег(ИдентификаторЗагрузчика)).Равно(НРег(""ЗагрузчикКаталога"")); + Путь = Параметры_xddRun[1]; + Ожидаем.Что(НРег(Путь)).Равно(НРег(""C:\ProgramFiles"")); +КонецПроцедуры +", +{4,1, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",ef331fc6-4852-4978-9c9b-37568b8a89e4} +}, +{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 +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,0}, +{0,0}, +{0,0}, +{0,0} +} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/copyinfo" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/copyinfo" new file mode 100644 index 00000000..df22c6f9 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/copyinfo" @@ -0,0 +1,16 @@ +{4, +{2, +{2258d8fc-7195-4b5f-8a75-d8246742a221,2258d8fc-7195-4b5f-8a75-d8246742a221,1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"Тесты_ПарсерКоманднойСтроки"} +}, +{a72de6ff-3337-4e2c-a61c-6d0f3ff8b0fe,a72de6ff-3337-4e2c-a61c-6d0f3ff8b0fe,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} +} +}, +{1, +{ef331fc6-4852-4978-9c9b-37568b8a89e4,2258d8fc-7195-4b5f-8a75-d8246742a221,0} +}, +{0}, +{0,0}, +{0} +} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/eff959e6-4f20-4a2b-b413-7cbed1281eae" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/eff959e6-4f20-4a2b-b413-7cbed1281eae" new file mode 100644 index 00000000..0b076731 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/eff959e6-4f20-4a2b-b413-7cbed1281eae" @@ -0,0 +1,17 @@ +{1, +{eff959e6-4f20-4a2b-b413-7cbed1281eae},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,ef331fc6-4852-4978-9c9b-37568b8a89e4,decdbe98-2c8a-45f2-9610-17dd9a3453a4, +{0, +{0, +{0,0,2258d8fc-7195-4b5f-8a75-d8246742a221},"Тесты_ПарсерКоманднойСтроки", +{1,"ru","Тесты парсер командной строки"},""} +},a72de6ff-3337-4e2c-a61c-6d0f3ff8b0fe,"",00000000-0000-0000-0000-000000000000},4, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, +{3daea016-69b7-4ed4-9453-127911372fe6,0}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,a72de6ff-3337-4e2c-a61c-6d0f3ff8b0fe}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} +} +} +} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/root" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/root" new file mode 100644 index 00000000..33f08b88 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/root" @@ -0,0 +1 @@ +{2,eff959e6-4f20-4a2b-b413-7cbed1281eae,} \ No newline at end of file diff --git "a/src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/version" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/version" similarity index 100% rename from "src/Tests/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/version" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/version" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/versions" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/versions" new file mode 100644 index 00000000..09bc52eb --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/und/versions" @@ -0,0 +1 @@ +{1,9,"",f444b52b-d6e9-44bb-9902-f783331a0bbc,"versions",0de6386f-e322-42b1-8063-8b41b4bd036a,"root",113ec7e6-502f-43bf-b053-6e9d3862c38a,"a72de6ff-3337-4e2c-a61c-6d0f3ff8b0fe.0",556ab12e-1cdc-49d0-8292-595e34239e03,"version",043eccae-f6dc-4210-92d1-6648678f0320,"eff959e6-4f20-4a2b-b413-7cbed1281eae",e2d9460c-7179-4368-b593-ff36a5388b01,"copyinfo",2e73c92c-5829-4010-902d-84287be5d04d,"2258d8fc-7195-4b5f-8a75-d8246742a221.0",d459fc6e-c0ab-4631-a5c0-ada015268eac,"a72de6ff-3337-4e2c-a61c-6d0f3ff8b0fe",9a44e269-ce47-4bbd-b002-e43c154b983d} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/ObjectModule.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/ObjectModule.txt" new file mode 100644 index 00000000..95093532 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/ObjectModule.txt" @@ -0,0 +1,1277 @@ +Перем КонтекстЯдра; +Перем Утверждения; +Перем СериализаторMXL; + +Перем _ГуидНовогоСправочника; + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СериализаторMXL = КонтекстЯдра.Плагин("СериализаторMXL"); +КонецПроцедуры + +Функция ПолучитьСписокТестов() Экспорт + ВсеТесты = Новый Массив; + + //ВсеТесты.Добавить("ТестДолжен_ПроверитьИзменениеПредопределенногоСправочникаПоГуид"); + + ВсеТесты.Добавить("ТестДолжен_СоздатьПростойСправочник"); + ВсеТесты.Добавить("ТестДолжен_СоздатьПростойСправочник_ПустыеСтроки"); + ВсеТесты.Добавить("ТестДолжен_СоздатьПростойСправочникЧерезМетод_СоздатьДанныеПоМакетам"); + ВсеТесты.Добавить("ТестДолжен_УбедитьсяЧтоНельзяСоздатьПростойСправочникСЗапрещеннымНаименованием"); + ВсеТесты.Добавить("ТестДолжен_СоздатьПростойСправочникВРежимеОбменДаннымиЗагрузка"); + ВсеТесты.Добавить("ТестДолжен_СоздатьПростойСправочникВРежимеОбменДаннымиЗагрузка_ТЧ"); + ВсеТесты.Добавить("ТестДолжен_СоздатьПростойСправочник_РежимВыражение"); + ВсеТесты.Добавить("ТестДолжен_СоздатьИерархическийСправочникСПомощьюДополнительныхСвойств"); + ВсеТесты.Добавить("ТестДолжен_СоздатьИерархическийСправочникСПомощьюДополнительныхСвойствПоНаименованию"); + ВсеТесты.Добавить("ТестДолжен_СоздатьСправочник2_СРеквизитом_ПланСчетов"); + ВсеТесты.Добавить("ТестДолжен_СоздатьЕщеНеЗаписанныйОбъектПростогоСправочника"); + ВсеТесты.Добавить("ТестДолжен_ПроверитьИзменениеПредопределенногоСправочника"); + ВсеТесты.Добавить("ТестДолжен_ПроверитьНаличиеОбъектаИБ"); + ВсеТесты.Добавить("ТестДолжен_СоздатьДваПростыхСправочника"); + ВсеТесты.Добавить("ТестДолжен_СоздатьДваПростыхСправочника_с_ОдинаковымИменемПеременной"); + ВсеТесты.Добавить("ТестДолжен_СоздатьСвязанныеСправочники"); + ВсеТесты.Добавить("ТестДолжен_СоздатьСправочникСРеквизитомПустаяСсылка"); + ВсеТесты.Добавить("ТестДолжен_СоздатьСправочник2_с_РеквизитомСоставногоТипа_и_ПустойСсылкойПеречисление"); + ВсеТесты.Добавить("ТестДолжен_СоздатьГруппуСправочникаИДочернийЭлемент"); + ВсеТесты.Добавить("ТестДолжен_СоздатьГруппуСЭлементамиТолькоДляГруппы"); + ВсеТесты.Добавить("ТестДолжен_СоздатьОбъектСДвумяСтрокамиВТабличнойЧасти"); + ВсеТесты.Добавить("ТестДолжен_СоздатьОбъектСЗаполненымРеквизитомТипаПеречисление"); + ВсеТесты.Добавить("ТестДолжен_СоздатьОбъектСЗаполненнымРеквизитомИзПредопределенныхЗначенийСправочника"); + ВсеТесты.Добавить("ТестДолжен_СоздатьДокументСДвумяСтрокамиВТабличнойЧасти"); + ВсеТесты.Добавить("ТестДолжен_СоздатьДокументНаТекущуюДату"); + ВсеТесты.Добавить("ТестДолжен_СоздатьДокумент_РежимЗаписи_Проведение"); + ВсеТесты.Добавить("ТестДолжен_СоздатьСправочникПослеДокументаСДвумяСтрокамиВТабличнойЧасти"); + ВсеТесты.Добавить("ТестДолжен_СоздатьДвеЗаписиВРегистреСведений"); + ВсеТесты.Добавить("Тест_НеДолженСоздатьДвеЗаписиСРазнымиИзмерениямиВРегистреСведенийЧерезНаборЗаписей"); + ВсеТесты.Добавить("ТестДолжен_СоздатьДваНабораЗаписейВРегистреСведенийЧерезНаборЗаписей"); + ВсеТесты.Добавить("ТестДолжен_СоздатьДвеЗаписиВРегистреСведений_ВыполнивПоискЭлементаПоНаименованию"); + ВсеТесты.Добавить("ТестДолжен_СоздатьПользователяИБ_ВКоде"); + ВсеТесты.Добавить("ТестДолжен_СоздатьПользователяИБ_ПоМакету"); + ВсеТесты.Добавить("ТестДолжен_СоздатьЭлементИЗаполнитьРеквизитНайденныйПоКоду"); + ВсеТесты.Добавить("ТестДолжен_СоздатьЭлементИЗаполнитьРеквизитНайденныйПоНаименованию"); + ВсеТесты.Добавить("ТестДолжен_СоздатьЭлементИЗаполнитьРеквизитПоискомПоГУИДу"); + ВсеТесты.Добавить("ТестДолжен_СоздатьПростойСправочникПоискомПоГуидуСсылки"); + ВсеТесты.Добавить("ТестДолжен_СоздатьПростойСправочникПоискомПоГуид"); + ВсеТесты.Добавить("ТестДолжен_НайтиИПерезаполнитьПростойСправочникПоискомПоГуидуСсылки"); + ВсеТесты.Добавить("ТестДолжен_УдалитьСозданныеДанные_ПростойСправочник"); + ВсеТесты.Добавить("ТестДолжен_УдалитьСозданныеДанные_ДваПростыхСправочника"); + ВсеТесты.Добавить("ТестДолжен_СоздатьИзДвухМакетовДваПростыхСправочника"); + ВсеТесты.Добавить("ТестДолжен_СоздатьИзДвухМакетовСвязанныеСправочники"); + ВсеТесты.Добавить("ТестДолжен_СоздатьИзДвухМакетовСвязанныеСправочникиЧерезМетод_СоздатьДанныеПоМакетам"); + ВсеТесты.Добавить("ТестДолжен_СоздатьОднуЗаписьРегистраНакопления"); + ВсеТесты.Добавить("ТестДолжен_СоздатьДвеЗаписиРегистраНакопления"); + ВсеТесты.Добавить("ТестДолжен_СоздатьДвеЗаписиРегистраНакопленияУКоторыхЯвноЗаданВидДвижения"); + ВсеТесты.Добавить("ТестДолжен_СоздатьДвеЗаписиРегистраСведенийПодчиненномРегистратору"); + ВсеТесты.Добавить("ТестДолжен_СоздатьПростойБизнесПроцесс"); + ВсеТесты.Добавить("ТестДолжен_ПолучитьИсключениеНеверныйРежимПоиска"); + ВсеТесты.Добавить("ТестДолжен_ПолучитьИсключениеПриПопыткеСоздатьЭлементИЗаполнитьРеквизитПоНеверномуКоду"); + ВсеТесты.Добавить("ТестДолжен_ПолучитьИсключениеПриПопыткеСоздатьЭлементИЗаполнитьРеквизитПоНеверномуНаименованию"); + ВсеТесты.Добавить("ТестДолжен_СоздатьСправочник2_с_РеквизитомСоставногоТипа"); + ВсеТесты.Добавить("ТестДолжен_СоздатьСправочник2_с_РеквизитомСоставногоТипа_и_ПустойСсылкой"); + ВсеТесты.Добавить("ТестДолжен_СоздатьОднуЗаписьРегистраНакопленияСПоискомДокументаПоНомеру"); + ВсеТесты.Добавить("ТестДолжен_СоздатьОднуЗаписьРегистраБухгалтерии"); + ВсеТесты.Добавить("ТестДолжен_СоздатьДвеЗаписиРегистраБухгалтерии"); + ВсеТесты.Добавить("ТестДолжен_СоздатьСправочникСоСсылкойНаСамогоСебя"); + ВсеТесты.Добавить("ТестДолжен_СоздатьСправочникиОбразующиеЦиклическуюЗависимость"); + ВсеТесты.Добавить("ТестДолжен_ЗагрузитьВсеДанныеВРежиме_ОбменДанными_Загрузка"); + ВсеТесты.Добавить("ТестДолжен_ВыполнитьНайтиИОбновитьСуществующийЭлемент"); + ВсеТесты.Добавить("ТестДолжен_СоздатьУзелПланаОбмена"); + + Возврат ВсеТесты; +КонецФункции + +Процедура ПередЗапускомТеста() Экспорт + НачатьТранзакцию(); + + _ГуидНовогоСправочника = "a72ec81b-d17d-4d2f-9a47-2ffb2e3234c4"; +КонецПроцедуры + +Процедура ПослеЗапускаТеста() Экспорт + Если ТранзакцияАктивна() Тогда + ОтменитьТранзакцию(); + КонецЕсли; +КонецПроцедуры + +Процедура ТестДолжен_СоздатьПростойСправочник() Экспорт + Макет = ПолучитьМакет("СозданиеПростогоСправочника"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + ПроверитьСозданиеПростогоСправочника(ТестовыеДанные); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьПростойСправочник_ПустыеСтроки() Экспорт + Макет = ПолучитьМакет("СозданиеПростогоСправочника_ПустыеСтроки"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + ПроверитьСозданиеПростогоСправочника(ТестовыеДанные); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьПростойСправочникЧерезМетод_СоздатьДанныеПоМакетам() Экспорт + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоМакетам(ЭтотОбъект, "СозданиеПростогоСправочника"); + + ПроверитьСозданиеПростогоСправочника(ТестовыеДанные); +КонецПроцедуры + +Процедура ПроверитьСозданиеПростогоСправочника(ТестовыеДанные) + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(1, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник"), "Ожидали, что есть переменная 'ПростойСправочник'"); + Утверждения.ПроверитьТип(ТестовыеДанные.ПростойСправочник, "СправочникСсылка.ПростойСправочник"); + Утверждения.ПроверитьРавенство("Тестовое наименование", ТестовыеДанные.ПростойСправочник.Наименование); + Утверждения.ПроверитьТип(ТестовыеДанные.ПростойСправочник.РеквизитБулево, "Булево"); + Утверждения.ПроверитьРавенство(Истина, ТестовыеДанные.ПростойСправочник.РеквизитБулево); +КонецПроцедуры + +Процедура ТестДолжен_УбедитьсяЧтоНельзяСоздатьПростойСправочникСЗапрещеннымНаименованием() Экспорт + + ЗапрещенноеНаименование = Справочники.ПростойСправочник.ПолучитьЗапрещенноеНаименование(0); + КоллекцияПараметров = Новый Структура("Наименование,РеквизитПеречисление", ЗапрещенноеНаименование, "ЗначениеПеречисления1" ); + Макет = ПолучитьМакетДанныхДоступа("СозданиеПростогоСправочника_Параметры", КоллекцияПараметров); + + ПараметрыМетода = Новый Массив; + ПараметрыМетода.Добавить(Макет); + Утверждения.ПроверитьМетодНеВыполнился(СериализаторMXL, "СоздатьДанныеПоТабличномуДокументу", ПараметрыМетода, "Не удалось записать: ""Простой справочник"""); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьПростойСправочникВРежимеОбменДаннымиЗагрузка() Экспорт + ЗапрещенноеНаименование = Справочники.ПростойСправочник.ПолучитьЗапрещенноеНаименование(0); + + КоллекцияПараметров = Новый Структура("Наименование", ЗапрещенноеНаименование); + НовыйТабДок = ПолучитьМакетДанныхДоступа("СозданиеСправочникаСПомощьюОбменДаннымиЗагрузка", КоллекцияПараметров); + + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(НовыйТабДок); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(1, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); + + //Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник"), "Ожидали, что есть переменная 'ПростойСправочник'"); + //Утверждения.ПроверитьТип(ТестовыеДанные.ПростойСправочник, "СправочникСсылка.ПростойСправочник"); + Утверждения.ПроверитьРавенство(ЗапрещенноеНаименование, ТестовыеДанные.ПростойСправочник.Наименование); + //Утверждения.ПроверитьТип(ТестовыеДанные.ПростойСправочник.РеквизитБулево, "Булево"); + //Утверждения.ПроверитьРавенство(Истина, ТестовыеДанные.ПростойСправочник.РеквизитБулево); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьПростойСправочникВРежимеОбменДаннымиЗагрузка_ТЧ() Экспорт + ЗапрещенноеНаименование = Справочники.ПростойСправочник.ПолучитьЗапрещенноеНаименование(0); + + КоллекцияПараметров = Новый Структура("Наименование", ЗапрещенноеНаименование); + НовыйТабДок = ПолучитьМакетДанныхДоступа("СозданиеСправочникаСПомощьюТЧ_ОбменДаннымиЗагрузка", КоллекцияПараметров); + + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(НовыйТабДок); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(1, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); + + //Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник"), "Ожидали, что есть переменная 'ПростойСправочник'"); + //Утверждения.ПроверитьТип(ТестовыеДанные.ПростойСправочник, "СправочникСсылка.ПростойСправочник"); + Утверждения.ПроверитьРавенство(ЗапрещенноеНаименование, ТестовыеДанные.ПростойСправочник.Наименование); + //Утверждения.ПроверитьТип(ТестовыеДанные.ПростойСправочник.РеквизитБулево, "Булево"); + //Утверждения.ПроверитьРавенство(Истина, ТестовыеДанные.ПростойСправочник.РеквизитБулево); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьПростойСправочник_РежимВыражение() Экспорт + Макет = ПолучитьМакет("СозданиеПростогоСправочника_РежимВыражение"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + ПроверитьСозданиеПростогоСправочника(ТестовыеДанные); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьИерархическийСправочникСПомощьюДополнительныхСвойств() Экспорт + Макет = ПолучитьМакет("СозданиеСправочникаСПомощьюДополнительныхСвойств"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(2, ТестовыеДанные.Количество()); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("ИерархическийСправочник"), "Ожидали, что есть переменная 'ИерархическийСправочник'"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.ИерархическийСправочник.ПростойСправочник); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьИерархическийСправочникСПомощьюДополнительныхСвойствПоНаименованию() Экспорт + Макет = ПолучитьМакет("СозданиеСправочникаСПомощьюДополнительныхСвойствПоНаименованию"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(2, ТестовыеДанные.Количество()); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("ИерархическийСправочник"), "Ожидали, что есть переменная 'ИерархическийСправочник'"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.ИерархическийСправочник.ПростойСправочник); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьСправочник2_СРеквизитом_ПланСчетов() Экспорт + Макет = ПолучитьМакет("СозданиеСправочникаСРеквизитом_ПланСчетов"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(1, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник2"), "Ожидали, что есть переменная 'ПростойСправочник'"); + Утверждения.ПроверитьТип(ТестовыеДанные.ПростойСправочник2, "СправочникСсылка.ПростойСправочник2"); + Утверждения.ПроверитьРавенство("Тест", ТестовыеДанные.ПростойСправочник2.Наименование); + Утверждения.ПроверитьТип(ТестовыеДанные.ПростойСправочник2.Счет, "ПланСчетовСсылка.ПланСчетов1"); + Утверждения.ПроверитьРавенство(ПланыСчетов.ПланСчетов1.Счет01, ТестовыеДанные.ПростойСправочник2.Счет, "ПланыСчетов.ПланСчетов1.Счет01, ТестовыеДанные.ПростойСправочник2.Счет"); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьЕщеНеЗаписанныйОбъектПростогоСправочника() Экспорт + Макет = ПолучитьМакет("СозданиеЕщеНеЗаписанногоОбъектаПростогоСправочника"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(1, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник"), "Ожидали, что есть переменная 'ПростойСправочник'"); + Утверждения.ПроверитьТип(ТестовыеДанные.ПростойСправочник, "СправочникОбъект.ПростойСправочник"); + Утверждения.ПроверитьРавенство("Тестовое наименование", ТестовыеДанные.ПростойСправочник.Наименование); + Утверждения.ПроверитьТип(ТестовыеДанные.ПростойСправочник.РеквизитБулево, "Булево"); + Утверждения.ПроверитьРавенство(Истина, ТестовыеДанные.ПростойСправочник.РеквизитБулево); +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьИзменениеПредопределенногоСправочника() Экспорт + Макет = ПолучитьМакет("ИзменениеПредопределенногоСправочника"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(1, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); + + Утверждения.ПроверитьРавенство(Справочники.ПростойСправочник.ПредопределенноеЗначение1, ТестовыеДанные.ПростойСправочник); + Утверждения.ПроверитьРавенство("Новое значение", ТестовыеДанные.ПростойСправочник.Наименование); +КонецПроцедуры + +//Процедура ТестДолжен_ПроверитьИзменениеПредопределенногоСправочникаПоГуид() Экспорт +// Макет = ПолучитьМакет("ИзменениеПредопределенногоСправочникаПоГуид"); +// ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); +// +// Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); +// Утверждения.ПроверитьРавенство(1, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); +// +// Утверждения.ПроверитьРавенство(Справочники.ПростойСправочник.ПредопределенноеЗначение1, ТестовыеДанные.ПростойСправочник); +// Утверждения.ПроверитьРавенство("Новое значение", ТестовыеДанные.ПростойСправочник.Наименование); +//КонецПроцедуры + +Процедура ТестДолжен_ПроверитьНаличиеОбъектаИБ() Экспорт + Макет = ПолучитьМакет("СозданиеПростогоСправочника"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + лСсылка = ТестовыеДанные.ПростойСправочник; + Утверждения.ПроверитьНаличиеОбъектаИБ(лСсылка, "ТестовыеДанные.ПростойСправочник"); + лОбъект = лСсылка.ПолучитьОбъект(); + лОбъект.Удалить(); + + стрОшибка = ""; + Попытка + Утверждения.ПроверитьНаличиеОбъектаИБ(лСсылка, "ТестовыеДанные.ПростойСправочник после удаления"); + былоИсключение = Ложь; + Исключение + былоИсключение = Истина; + стрОшибка = ОписаниеОшибки(); + КонецПопытки; + Утверждения.ПроверитьИстину(былоИсключение, "Ожидал исключение, а его не было"); + Утверждения.ПроверитьВхождение(стрОшибка, "Ожидали существование объекта в ИБ, а получили объект не найден <<Объект не найден>"); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьДваПростыхСправочника() Экспорт + Макет = ПолучитьМакет("СозданиеДвухПростыхСправочников"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(2, ТестовыеДанные.Количество()); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник"), "Ожидали, что есть переменная 'ПростойСправочник'"); + Утверждения.ПроверитьТип(ТестовыеДанные.ПростойСправочник, "СправочникСсылка.ПростойСправочник"); + Утверждения.ПроверитьРавенство("Тестовая группа товаров", ТестовыеДанные.ПростойСправочник.Наименование); + Утверждения.ПроверитьТип(ТестовыеДанные.ПростойСправочник.РеквизитБулево, "Булево"); + Утверждения.ПроверитьРавенство(Ложь, ТестовыеДанные.ПростойСправочник.РеквизитБулево); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник2"), "Ожидали, что есть переменная 'ПростойСправочник2'"); + Утверждения.ПроверитьТип(ТестовыеДанные.ПростойСправочник2, "СправочникСсылка.ПростойСправочник2"); + Утверждения.ПроверитьРавенство("Тест", ТестовыеДанные.ПростойСправочник2.Наименование); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьДваПростыхСправочника_с_ОдинаковымИменемПеременной() Экспорт + Макет = ПолучитьМакет("СозданиеДвухПростыхСправочников_с_ОдинаковымИменемПеременной"); + Попытка + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + Исключение + Возврат; + КонецПопытки; + ВызватьИсключение "Должны были получить исключение, а его не было"; +КонецПроцедуры + +Процедура ТестДолжен_СоздатьСвязанныеСправочники() Экспорт + Макет = ПолучитьМакет("СозданиеСвязанныхСправочников"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(2, ТестовыеДанные.Количество()); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("ИерархическийСправочник"), "Ожидали, что есть переменная 'ИерархическийСправочник'"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.ИерархическийСправочник.ПростойСправочник); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьСправочникСРеквизитомПустаяСсылка() Экспорт + Макет = ПолучитьМакет("СозданиеСправочникаСРеквизитомПустаяСсылка"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(1, ТестовыеДанные.Количество()); + + //Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("ИерархическийСправочник"), "Ожидали, что есть переменная 'ИерархическийСправочник'"); + Утверждения.ПроверитьРавенство(Справочники.ПростойСправочник.ПустаяСсылка(), ТестовыеДанные.ИерархическийСправочник.ПростойСправочник); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьГруппуСправочникаИДочернийЭлемент() Экспорт + Макет = ПолучитьМакет("СозданиеГруппыСправочникаИДочернегоЭлемента"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(2, ТестовыеДанные.Количество()); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("Группа"), "Ожидали, что есть переменная 'Группа'"); + Утверждения.ПроверитьИстину(ТестовыеДанные.Группа.ЭтоГруппа, "Ожидали, что созданный элемент является группой"); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("Элемент"), "Ожидали, что есть переменная 'Элемент'"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.Группа, ТестовыеДанные.Элемент.Родитель); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьГруппуСЭлементамиТолькоДляГруппы() Экспорт + Макет = ПолучитьМакет("СозданиеГруппыСЭлементамиТолькоДляГруппы"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(3, ТестовыеДанные.Количество()); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("Группа"), "Ожидали, что есть переменная 'Группа'"); + Утверждения.ПроверитьИстину(ТестовыеДанные.Группа.ЭтоГруппа, "Ожидали, что созданный элемент является группой"); + Утверждения.ПроверитьРавенство(1, ТестовыеДанные.Группа.ТабличнаяЧастьДляГруппы.Количество(), "Ожидали, что ТестовыеДанные.Группа.ТабличнаяЧастьДляГруппы.Количество() = 1"); +КонецПроцедуры + + +Процедура ТестДолжен_СоздатьОбъектСДвумяСтрокамиВТабличнойЧасти() Экспорт + Макет = ПолучитьМакет("СозданиеОбъектаСДвумяСтрокамиВТабличнойЧасти"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(4, ТестовыеДанные.Количество()); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("СправочникСТабЧастью"), "Ожидали, что есть переменная 'СправочникСТабЧастью'"); + Утверждения.ПроверитьРавенство(2, ТестовыеДанные.СправочникСТабЧастью.Состав.Количество()); + + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.СправочникСТабЧастью.Состав[0].ПростойСправочник); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник2_1, ТестовыеДанные.СправочникСТабЧастью.Состав[0].ПростойСправочник2); + Утверждения.ПроверитьИстину(ТестовыеДанные.СправочникСТабЧастью.Состав[0].РеквизитБулево); + + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.СправочникСТабЧастью.Состав[1].ПростойСправочник); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник2_2, ТестовыеДанные.СправочникСТабЧастью.Состав[1].ПростойСправочник2); + Утверждения.ПроверитьЛожь(ТестовыеДанные.СправочникСТабЧастью.Состав[1].РеквизитБулево); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьОбъектСЗаполненымРеквизитомТипаПеречисление() Экспорт + Макет = ПолучитьМакет("СозданиеОбъектаСЗаполненымРеквизитомТипаПеречисление"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(1, ТестовыеДанные.Количество()); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник"), "Ожидали, что есть переменная 'ПростойСправочник'"); + Утверждения.ПроверитьРавенство(Перечисления.Перечисление1.ЗначениеПеречисления1, ТестовыеДанные.ПростойСправочник.РеквизитПеречисление); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьОбъектСЗаполненнымРеквизитомИзПредопределенныхЗначенийСправочника() Экспорт + Макет = ПолучитьМакет("СозданиеОбъектаСЗаполненнымРеквизитомИзПредопределенныхЗначенийСправочника"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(1, ТестовыеДанные.Количество()); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("Элемент"), "Ожидали, что есть переменная 'Элемент'"); + Утверждения.ПроверитьРавенство(Справочники.ПростойСправочник.ПредопределенноеЗначение1, ТестовыеДанные.Элемент.ПростойСправочник); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьДокументСДвумяСтрокамиВТабличнойЧасти() Экспорт + Макет = ПолучитьМакет("СозданиеДокументаСДвумяСтрокамиВТабличнойЧасти"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(4, ТестовыеДанные.Количество()); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("Документ"), "Ожидали, что есть переменная 'Документ'"); + Утверждения.ПроверитьТип(ТестовыеДанные.Документ, "ДокументСсылка.Документ1"); + Утверждения.ПроверитьРавенство(Дата("20130801"), ТестовыеДанные.Документ.Дата); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.Документ.ПростойСправочник); + Утверждения.ПроверитьРавенство(2, ТестовыеДанные.Документ.Состав.Количество()); + + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, ТестовыеДанные.Документ.Состав[0].ПростойСправочник2); + Утверждения.ПроверитьРавенство(150, ТестовыеДанные.Документ.Состав[0].РеквизитЧисло); + Утверждения.ПроверитьЛожь(ТестовыеДанные.Документ.Состав[0].РеквизитБулево); + + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник22, ТестовыеДанные.Документ.Состав[1].ПростойСправочник2); + Утверждения.ПроверитьРавенство(0, ТестовыеДанные.Документ.Состав[1].РеквизитЧисло); + Утверждения.ПроверитьИстину(ТестовыеДанные.Документ.Состав[1].РеквизитБулево); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьДокументНаТекущуюДату() Экспорт + Макет = ПолучитьМакет("СозданиеДокументаНаТекущуюДату"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьРавенство(2, ТестовыеДанные.Количество()); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("Документ"), "Ожидали, что есть переменная 'Документ'"); + Утверждения.ПроверитьТип(ТестовыеДанные.Документ, "ДокументСсылка.Документ1"); + Утверждения.ПроверитьРавенствоДатСТочностью2Секунды(ТекущаяДата(), ТестовыеДанные.Документ.Дата, "Разница между ТекущаяДата() и ТестовыеДанные.Документ.Дата должна быть менее 2 секунд"); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьДокумент_РежимЗаписи_Проведение() Экспорт + Макет = ПолучитьМакет("СозданиеДокумента_РежимЗаписи_Проведение"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьРавенство(2, ТестовыеДанные.Количество()); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("Документ"), "Ожидали, что есть переменная 'Документ'"); + Утверждения.ПроверитьТип(ТестовыеДанные.Документ, "ДокументСсылка.Документ1"); + Утверждения.Проверить(ТестовыеДанные.Документ.Проведен, "ТестовыеДанные.Документ.Проведен"); + + Утверждения.Проверить(ТестовыеДанные.Документ2.Проведен, "ТестовыеДанные2.Документ.Проведен"); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьСправочникПослеДокументаСДвумяСтрокамиВТабличнойЧасти() Экспорт + Макет = ПолучитьМакет("СозданиеСправочникаПослеДокументаСДвумяСтрокамиВТабличнойЧасти"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(5, ТестовыеДанные.Количество()); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("Документ"), "Ожидали, что есть переменная 'Документ'"); + Утверждения.ПроверитьТип(ТестовыеДанные.Документ, "ДокументСсылка.Документ1"); + Утверждения.ПроверитьРавенство(Дата("20130801"), ТестовыеДанные.Документ.Дата); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.Документ.ПростойСправочник); + Утверждения.ПроверитьРавенство(2, ТестовыеДанные.Документ.Состав.Количество()); + + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, ТестовыеДанные.Документ.Состав[0].ПростойСправочник2); + Утверждения.ПроверитьРавенство(150, ТестовыеДанные.Документ.Состав[0].РеквизитЧисло); + Утверждения.ПроверитьЛожь(ТестовыеДанные.Документ.Состав[0].РеквизитБулево); + + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник22, ТестовыеДанные.Документ.Состав[1].ПростойСправочник2); + Утверждения.ПроверитьРавенство(0, ТестовыеДанные.Документ.Состав[1].РеквизитЧисло); + Утверждения.ПроверитьИстину(ТестовыеДанные.Документ.Состав[1].РеквизитБулево); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник23"), "Ожидали, что есть переменная 'ПростойСправочник23'"); + Утверждения.ПроверитьТип(ТестовыеДанные.ПростойСправочник23, "СправочникСсылка.ПростойСправочник2"); + Утверждения.ПроверитьРавенство("Тест3", ТестовыеДанные.ПростойСправочник23.Наименование); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьДвеЗаписиВРегистреСведений() Экспорт + Макет = ПолучитьМакет("СозданиеДвухЗаписейВРегистреСведений"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(5, ТестовыеДанные.Количество()); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("ЗаписьРегистра1"), "Ожидали, что есть переменная 'ЗаписьРегистра1'"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.ЗаписьРегистра1.ПростойСправочник); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, ТестовыеДанные.ЗаписьРегистра1.ПростойСправочник2); + Утверждения.ПроверитьРавенство(300, ТестовыеДанные.ЗаписьРегистра1.РесурсЧисло); + Утверждения.ПроверитьЛожь(ТестовыеДанные.ЗаписьРегистра1.РесурсБулево); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("ЗаписьРегистра2"), "Ожидали, что есть переменная 'ЗаписьРегистра2'"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.ЗаписьРегистра2.ПростойСправочник); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник22, ТестовыеДанные.ЗаписьРегистра2.ПростойСправочник2); + Утверждения.ПроверитьРавенство(400, ТестовыеДанные.ЗаписьРегистра2.РесурсЧисло); + Утверждения.ПроверитьИстину(ТестовыеДанные.ЗаписьРегистра2.РесурсБулево); +КонецПроцедуры + +Процедура Тест_НеДолженСоздатьДвеЗаписиСРазнымиИзмерениямиВРегистреСведенийЧерезНаборЗаписей() Экспорт + Макет = ПолучитьМакет("СозданиеДвухЗаписейВРегистреСведенийЧерезНаборЗаписей"); + МассивПараметров = Новый Массив; + МассивПараметров.Добавить(Макет); + Утверждения.ПроверитьМетодНеВыполнился(СериализаторMXL, "СоздатьДанныеПоТабличномуДокументу", МассивПараметров, "Запись не верна! Значение поля не соответствует установленному отбору: РегистрСведений1:"); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьДваНабораЗаписейВРегистреСведенийЧерезНаборЗаписей() Экспорт + ТипМетаданного = "РегистрСведений"; + ВидМетаданного = "РегистрСведений1"; + КоличествоДо = СериализаторMXL.ПолучитьКоличествоЭлементовРегистраПоОтбору(ТипМетаданного, ВидМетаданного); + + Макет = ПолучитьМакет("СозданиеДвухНаборовЗаписейВРегистреСведений"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(5, ТестовыеДанные.Количество()); + + КоличествоПосле = СериализаторMXL.ПолучитьКоличествоЭлементовРегистраПоОтбору(ТипМетаданного, ВидМетаданного); + Утверждения.ПроверитьРавенство(КоличествоДо + 2, КоличествоПосле, "КоличествоДо + 2, КоличествоПосле"); + + //Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("ЗаписьРегистра1"), "Ожидали, что есть переменная 'ЗаписьРегистра1'"); + //Утверждения.Проверить(ТестовыеДанные.ЗаписьРегистра1.Выбран(), "Ожидали, что ЗаписьРегистра1.Выбран() вернет Ложь, а вернулась Истина"); + //Утверждения.ПроверитьТип(ТестовыеДанные.ЗаписьРегистра1, "РегистрСведенийНаборЗаписей.РегистрСведений1"); + //Утверждения.ПроверитьРавенство(2, ТестовыеДанные.ЗаписьРегистра1.Количество(), "ТестовыеДанные.ЗаписьРегистра1.Количество()"); + // + //запись = ТестовыеДанные.ЗаписьРегистра1[0]; + //Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); + //Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, запись.ПростойСправочник2); + //Утверждения.ПроверитьРавенство(300, запись.РесурсЧисло); + //Утверждения.ПроверитьЛожь(запись.РесурсБулево); + // + //запись = ТестовыеДанные.ЗаписьРегистра1[1]; + ////Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("ЗаписьРегистра2"), "Ожидали, что есть переменная 'ЗаписьРегистра2'"); + //Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); + //Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник22, запись.ПростойСправочник2); + //Утверждения.ПроверитьРавенство(400, запись.РесурсЧисло); + //Утверждения.ПроверитьИстину(запись.РесурсБулево); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьДвеЗаписиВРегистреСведений_ВыполнивПоискЭлементаПоНаименованию() Экспорт + Макет = ПолучитьМакет("СозданиеДвухЗаписейВРегистреСведений_ПоискЭлементаПоНаименованию"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(5, ТестовыеДанные.Количество()); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("ЗаписьРегистра1"), "Ожидали, что есть переменная 'ЗаписьРегистра1'"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.ЗаписьРегистра1.ПростойСправочник); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, ТестовыеДанные.ЗаписьРегистра1.ПростойСправочник2); + Утверждения.ПроверитьРавенство(300, ТестовыеДанные.ЗаписьРегистра1.РесурсЧисло); + Утверждения.ПроверитьЛожь(ТестовыеДанные.ЗаписьРегистра1.РесурсБулево); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("ЗаписьРегистра2"), "Ожидали, что есть переменная 'ЗаписьРегистра2'"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.ЗаписьРегистра2.ПростойСправочник); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник22, ТестовыеДанные.ЗаписьРегистра2.ПростойСправочник2); + Утверждения.ПроверитьРавенство(400, ТестовыеДанные.ЗаписьРегистра2.РесурсЧисло); + Утверждения.ПроверитьИстину(ТестовыеДанные.ЗаписьРегистра2.РесурсБулево); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьПользователяИБ_ВКоде() Экспорт + лИмяПользователя = "ТестИмя"; + лПользователь = ПользователиИнформационнойБазы.НайтиПоИмени(лИмяПользователя); + Если лПользователь <> Неопределено Тогда + лПользователь.Удалить(); + КонецЕсли; + + массивПользователей = ПользователиИнформационнойБазы.ПолучитьПользователей(); + количествоДо = массивПользователей.Количество(); + + параметрыПользователя = Новый Структура; + параметрыПользователя.Вставить("Имя", лИмяПользователя); + параметрыПользователя.Вставить("ПолноеИмя", лИмяПользователя); + параметрыПользователя.Вставить("АутентификацияСтандартная", Истина); + параметрыПользователя.Вставить("ОсновнойИнтерфейс", ""); //Метаданные.Интерфейсы.Администратор); + //параметрыПользователя.Вставить("Пароль", "пароль"); + параметрыПользователя.Вставить("ПоказыватьВСпискеВыбора", Истина); + //параметрыПользователя.Вставить("Язык", Метаданные.Языки.Русский); + массивРолей = Новый Массив; + массивРолей.Добавить(Метаданные.Роли.Роль1); + параметрыПользователя.Вставить("Роли", массивРолей); + + лПользователь = СериализаторMXL.СоздатьПользователяИБ(параметрыПользователя); + Утверждения.ПроверитьТип(лПользователь, "ПользовательИнформационнойБазы", "лПользователь"); + Утверждения.ПроверитьИстину(лПользователь.Роли.Содержит(Метаданные.Роли.Роль1), "лПользователь.РолиПользователя.Содержить"); + + массивПользователей = ПользователиИнформационнойБазы.ПолучитьПользователей(); + количествоПосле = массивПользователей.Количество(); + Утверждения.ПроверитьРавенство(количествоДо + 1, количествоПосле, "количествоДо + 1, количествоПосле"); + + //лПользователь.Удалить(); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьПользователяИБ_ПоМакету() Экспорт + ИмяПеременнойПользователь = "Пользователь1"; + лИмяПользователя = "ТестИмя"; + лПользователь = ПользователиИнформационнойБазы.НайтиПоИмени(лИмяПользователя); + Если лПользователь <> Неопределено Тогда + лПользователь.Удалить(); + КонецЕсли; + + массивПользователей = ПользователиИнформационнойБазы.ПолучитьПользователей(); + количествоДо = массивПользователей.Количество(); + + //Макет = ПолучитьМакет("СозданиеОдногоПользователяИБ"); + //ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + КоллекцияПараметров = Новый Структура("ИмяПеременнойПользователь, ПользовательИмя", ИмяПеременнойПользователь, лИмяПользователя); + НовыйТабДок = ПолучитьМакетДанныхДоступа("СозданиеОдногоПользователяИБ", КоллекцияПараметров); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(НовыйТабДок); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(1, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство(ИмяПеременнойПользователь), "Ожидали, что есть переменная '"+ИмяПеременнойПользователь+"'"); + НовыйПользователь = ТестовыеДанные.Пользователь1; + Утверждения.ПроверитьТип(НовыйПользователь, "ПользовательИнформационнойБазы"); + Утверждения.ПроверитьРавенство(лИмяПользователя, НовыйПользователь.Имя); + Утверждения.ПроверитьРавенство(НовыйПользователь.РежимЗапуска, РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение); + Утверждения.ПроверитьИстину(НовыйПользователь.Роли.Содержит(Метаданные.Роли.Роль1), "лПользователь.РолиПользователя.Содержит"); + Утверждения.ПроверитьИстину(НовыйПользователь.Роли.Содержит(Метаданные.Роли.ПолныеПрава), "лПользователь.ПолныеПрава.Содержит"); + + массивПользователей = ПользователиИнформационнойБазы.ПолучитьПользователей(); + количествоПосле = массивПользователей.Количество(); + Утверждения.ПроверитьРавенство(количествоДо + 1, количествоПосле, "количествоДо + 1, количествоПосле"); + + лПользователь = ТестовыеДанные.Пользователь1; + //лПользователь.Удалить(); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьЭлементИЗаполнитьРеквизитНайденныйПоКоду() Экспорт + Макет = ПолучитьМакет("СозданиеЭлементаИЗаполнениеРеквизитаПоискомПоКоду"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(2, ТестовыеДанные.Количество()); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("ИерархическийСправочник"), "Ожидали, что есть переменная 'ИерархическийСправочник'"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.ИерархическийСправочник.ПростойСправочник); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьЭлементИЗаполнитьРеквизитНайденныйПоНаименованию() Экспорт + Макет = ПолучитьМакет("СозданиеЭлементаИЗаполнениеРеквизитаПоискомПоНаименованию"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(2, ТестовыеДанные.Количество()); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("ИерархическийСправочник"), "Ожидали, что есть переменная 'ИерархическийСправочник'"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.ИерархическийСправочник.ПростойСправочник); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьЭлементИЗаполнитьРеквизитПоискомПоГУИДу() Экспорт + Макет = ПолучитьМакет("СозданиеЭлементаИЗаполнениеРеквизитаПоискомПоГУИДу"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(1, ТестовыеДанные.Количество()); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("ИерархическийСправочник"), "Ожидали, что есть переменная 'ИерархическийСправочник'"); + Утверждения.ПроверитьРавенство(Справочники.ПростойСправочник.ПредопределенноеЗначение1, ТестовыеДанные.ИерархическийСправочник.ПростойСправочник); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьПростойСправочникПоискомПоГуидуСсылки() Экспорт + Макет = ПолучитьМакет("СозданиеПростогоСправочникаПоГуидСсылки"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(1, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник"), "Ожидали, что есть переменная 'ПростойСправочник'"); + Утверждения.ПроверитьТип(ТестовыеДанные.ПростойСправочник, "СправочникСсылка.ПростойСправочник"); + Утверждения.ПроверитьРавенство(Новый УникальныйИдентификатор(_ГуидНовогоСправочника), ТестовыеДанные.ПростойСправочник.УникальныйИдентификатор()); + Утверждения.ПроверитьТип(ТестовыеДанные.ПростойСправочник.РеквизитБулево, "Булево"); + Утверждения.ПроверитьРавенство(Истина, ТестовыеДанные.ПростойСправочник.РеквизитБулево, "ТестовыеДанные.ПростойСправочник.РеквизитБулево"); + + Утверждения.ПроверитьТип(ТестовыеДанные.ПростойСправочник.РеквизитПеречисление, "ПеречислениеСсылка.Перечисление1"); + Утверждения.ПроверитьРавенство(Перечисления.Перечисление1.ЗначениеПеречисления1, ТестовыеДанные.ПростойСправочник.РеквизитПеречисление, "ТестовыеДанные.ПростойСправочник.РеквизитПеречисление"); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьПростойСправочникПоискомПоГуид() Экспорт + Макет = ПолучитьМакет("СозданиеПростогоСправочникаПоГуид"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(1, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник"), "Ожидали, что есть переменная 'ПростойСправочник'"); + Утверждения.ПроверитьТип(ТестовыеДанные.ПростойСправочник, "СправочникСсылка.ПростойСправочник"); + Утверждения.ПроверитьРавенство(Новый УникальныйИдентификатор(_ГуидНовогоСправочника), ТестовыеДанные.ПростойСправочник.УникальныйИдентификатор()); + Утверждения.ПроверитьТип(ТестовыеДанные.ПростойСправочник.РеквизитБулево, "Булево"); + Утверждения.ПроверитьРавенство(Истина, ТестовыеДанные.ПростойСправочник.РеквизитБулево, "ТестовыеДанные.ПростойСправочник.РеквизитБулево"); + + Утверждения.ПроверитьТип(ТестовыеДанные.ПростойСправочник.РеквизитПеречисление, "ПеречислениеСсылка.Перечисление1"); + Утверждения.ПроверитьРавенство(Перечисления.Перечисление1.ЗначениеПеречисления1, ТестовыеДанные.ПростойСправочник.РеквизитПеречисление, "ТестовыеДанные.ПростойСправочник.РеквизитПеречисление"); +КонецПроцедуры + +Процедура ТестДолжен_НайтиИПерезаполнитьПростойСправочникПоискомПоГуидуСсылки() Экспорт + ГуидСправочника = Новый УникальныйИдентификатор; + Макет = ПолучитьМакет("СозданиеПростогоСправочникаПоГуидСсылки"); + Макет.НайтиТекст(_ГуидНовогоСправочника).Текст = Строка(ГуидСправочника); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + Утверждения.ПроверитьРавенство(Справочники.ПростойСправочник.ПолучитьСсылку(ГуидСправочника), ТестовыеДанные.ПростойСправочник, "Справочники.ПростойСправочник.ПолучитьСсылку(ГуидСправочника), ТестовыеДанные.ПростойСправочник)"); + + Макет = ПолучитьМакет("НайтиИПерезаполнитьПростойСправочникПоГуидСсылки"); + Макет.НайтиТекст(_ГуидНовогоСправочника).Текст = Строка(ГуидСправочника); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьРавенство(1, ТестовыеДанные.Количество(), "ТестовыеДанные.Количество()"); + + Утверждения.ПроверитьРавенство(ГуидСправочника, ТестовыеДанные.ПростойСправочник.УникальныйИдентификатор()); + Утверждения.ПроверитьРавенство(Ложь, ТестовыеДанные.ПростойСправочник.РеквизитБулево, "ТестовыеДанные.ПростойСправочник.РеквизитБулево"); + Утверждения.ПроверитьРавенство(Перечисления.Перечисление1.ЗначениеПеречисления2, ТестовыеДанные.ПростойСправочник.РеквизитПеречисление, "ТестовыеДанные.ПростойСправочник.РеквизитПеречисление"); +КонецПроцедуры + +Процедура ТестДолжен_УдалитьСозданныеДанные_ПростойСправочник() Экспорт + количествоДо = СериализаторMXL.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник"); + + Макет = ПолучитьМакет("СозданиеПростогоСправочника"); + + количествоСозданныхОбъектов = 1; + + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + количествоУдаленныхОбъектов = СериализаторMXL.УдалитьСозданныеДанные(тестовыеДанные); + + количествоПосле = СериализаторMXL.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник"); + Утверждения.ПроверитьРавенство(количествоПосле, количествоДо, "количествоПосле, количествоДо"); + + Утверждения.ПроверитьРавенство(количествоУдаленныхОбъектов, количествоСозданныхОбъектов, "количествоУдаленныхОбъектов, количествоСозданныхОбъектов"); +КонецПроцедуры + +Процедура ТестДолжен_УдалитьСозданныеДанные_ДваПростыхСправочника() Экспорт + количествоДо = СериализаторMXL.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник") + СериализаторMXL.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник2"); + + Макет = ПолучитьМакет("СозданиеДвухПростыхСправочников"); + + количествоСозданныхОбъектов = 2; + + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + //количествоСозданныхОбъектов = 0; + //ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет, количествоСозданныхОбъектов); + // Утверждения.ПроверитьРавенство(количествоСозданныхОбъектов, 2, "количествоСозданныхОбъектов"); + + количествоУдаленныхОбъектов = СериализаторMXL.УдалитьСозданныеДанные(тестовыеДанные); + + количествоПосле = СериализаторMXL.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник") + СериализаторMXL.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник2"); + Утверждения.ПроверитьРавенство(количествоПосле, количествоДо, "количествоПосле, количествоДо"); + + Утверждения.ПроверитьРавенство(количествоУдаленныхОбъектов, количествоСозданныхОбъектов, "количествоУдаленныхОбъектов, количествоСозданныхОбъектов"); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьИзДвухМакетовДваПростыхСправочника() Экспорт + Макет = ПолучитьМакет("СозданиеПростогоСправочника"); + КоллекцияПараметров = Новый Структура("Наименование", "Тест"); + Макет2 = ПолучитьМакетДанныхДоступа("СозданиеПростогоСправочника2", КоллекцияПараметров); + + МассивМакетов = Новый Массив(); + МассивМакетов.Добавить(Макет); + МассивМакетов.Добавить(Макет2); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(МассивМакетов); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(2, ТестовыеДанные.Количество()); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник"), "Ожидали, что есть переменная 'ПростойСправочник'"); + Утверждения.ПроверитьТип(ТестовыеДанные.ПростойСправочник, "СправочникСсылка.ПростойСправочник"); + Утверждения.ПроверитьРавенство("Тестовое наименование", ТестовыеДанные.ПростойСправочник.Наименование); + Утверждения.ПроверитьТип(ТестовыеДанные.ПростойСправочник.РеквизитБулево, "Булево"); + Утверждения.ПроверитьРавенство(Истина, ТестовыеДанные.ПростойСправочник.РеквизитБулево); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник2"), "Ожидали, что есть переменная 'ПростойСправочник2'"); + Утверждения.ПроверитьТип(ТестовыеДанные.ПростойСправочник2, "СправочникСсылка.ПростойСправочник2"); + Утверждения.ПроверитьРавенство("Тест", ТестовыеДанные.ПростойСправочник2.Наименование); + Утверждения.ПроверитьРавенство(Ложь, ТестовыеДанные.ПростойСправочник2.РеквизитБулево); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьИзДвухМакетовСвязанныеСправочники() Экспорт + Макет = ПолучитьМакет("СозданиеПростогоСправочника"); + Макет2 = ПолучитьМакет("СозданиеОдногоСправочникаВладельцаБезПодчиненногоСправочника"); + + МассивМакетов = Новый Массив(); + МассивМакетов.Добавить(Макет); + МассивМакетов.Добавить(Макет2); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(МассивМакетов); + + ПроверитьСозданиеИзДвухМакетовСвязанныеСправочники(ТестовыеДанные); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьИзДвухМакетовСвязанныеСправочникиЧерезМетод_СоздатьДанныеПоМакетам() Экспорт + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоМакетам(ЭтотОбъект, "СозданиеПростогоСправочника,СозданиеОдногоСправочникаВладельцаБезПодчиненногоСправочника"); + + ПроверитьСозданиеИзДвухМакетовСвязанныеСправочники(ТестовыеДанные); +КонецПроцедуры + +Процедура ПроверитьСозданиеИзДвухМакетовСвязанныеСправочники(ТестовыеДанные) + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(2, ТестовыеДанные.Количество()); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("ИерархическийСправочник"), "Ожидали, что есть переменная 'ИерархическийСправочник'"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.ИерархическийСправочник.ПростойСправочник); + Утверждения.ПроверитьРавенство("Тестовое наименование", ТестовыеДанные.ПростойСправочник.Наименование); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьОднуЗаписьРегистраНакопления() Экспорт + количествоДо = СериализаторMXL.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрНакопления", "РегистрНакопления2"); + + Макет = ПолучитьМакет("СозданиеОднойЗаписиВРегистреНакопления"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(4, ТестовыеДанные.Количество()); + Утверждения.ПроверитьТип(ТестовыеДанные.ЗаписьРегистра1, "РегистрНакопленияНаборЗаписей.РегистрНакопления2"); + + количествоПосле = СериализаторMXL.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрНакопления", "РегистрНакопления2"); + Утверждения.ПроверитьРавенство(количествоДо + 1, количествоПосле, "количество записей РН -> количествоДо + 2, количествоПосле"); + + наборЗаписей = РегистрыНакопления.РегистрНакопления2.СоздатьНаборЗаписей(); + наборЗаписей.Отбор.Регистратор.Установить(ТестовыеДанные.Документ); + наборЗаписей.Прочитать(); + Утверждения.ПроверитьРавенство(1, наборЗаписей.Количество(), "количество записей РН -> 1, наборЗаписей.Количество()"); + запись = наборЗаписей[0]; + Утверждения.ПроверитьРавенство(ВидДвиженияНакопления.Приход, запись.ВидДвижения, "ВидДвиженияНакопления.Приход, запись.ВидДвижения"); + Утверждения.ПроверитьРавенствоДатСТочностью2Секунды(ТестовыеДанные.Документ.Дата, запись.Период, "ТестовыеДанные.Документ.Дата, запись.Период"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, запись.ПростойСправочник2); + + строкаТчДокумента = ТестовыеДанные.Документ.Состав[0]; + Утверждения.ПроверитьРавенство(строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло, "строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло"); + Утверждения.ПроверитьРавенство(строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево, "строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево"); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьДвеЗаписиРегистраНакопления() Экспорт + количествоДо = СериализаторMXL.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрНакопления", "РегистрНакопления2"); + + Макет = ПолучитьМакет("СозданиеДвухЗаписейВРегистреНакопления"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(5, ТестовыеДанные.Количество()); + + количествоПосле = СериализаторMXL.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрНакопления", "РегистрНакопления2"); + Утверждения.ПроверитьРавенство(количествоДо + 2, количествоПосле, "количество записей РН -> количествоДо + 2, количествоПосле"); + + Утверждения.ПроверитьТип(ТестовыеДанные.ЗаписьРегистра1, "РегистрНакопленияНаборЗаписей.РегистрНакопления2"); + Утверждения.ПроверитьРавенство(2, ТестовыеДанные.ЗаписьРегистра1.Количество(), "ТестовыеДанные.ЗаписьРегистра1.Количество()"); + + наборЗаписей = РегистрыНакопления.РегистрНакопления2.СоздатьНаборЗаписей(); + наборЗаписей.Отбор.Регистратор.Установить(ТестовыеДанные.Документ); + наборЗаписей.Прочитать(); + Утверждения.ПроверитьРавенство(2, наборЗаписей.Количество(), "количество записей РН -> 2, наборЗаписей.Количество()"); + + наборЗаписей = РегистрыНакопления.РегистрНакопления2.СоздатьНаборЗаписей(); + наборЗаписей.Отбор.Регистратор.Установить(ТестовыеДанные.Документ); + наборЗаписей.Прочитать(); + Утверждения.ПроверитьРавенство(2, наборЗаписей.Количество(), "количество записей РН -> 2, наборЗаписей.Количество()"); + + запись = наборЗаписей[0]; + Утверждения.ПроверитьРавенство(ВидДвиженияНакопления.Приход, запись.ВидДвижения, "ВидДвиженияНакопления.Приход, запись.ВидДвижения"); + Утверждения.ПроверитьРавенствоДатСТочностью2Секунды(ТестовыеДанные.Документ.Дата, запись.Период, "ТестовыеДанные.Документ.Дата, запись.Период"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, запись.ПростойСправочник2); + + строкаТчДокумента = ТестовыеДанные.Документ.Состав[0]; + Утверждения.ПроверитьРавенство(строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло, "строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло"); + Утверждения.ПроверитьРавенство(строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево, "строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево"); + + запись = наборЗаписей[1]; + Утверждения.ПроверитьРавенство(ВидДвиженияНакопления.Приход, запись.ВидДвижения, "ВидДвиженияНакопления.Приход, запись.ВидДвижения"); + Утверждения.ПроверитьРавенствоДатСТочностью2Секунды(ТестовыеДанные.Документ.Дата, запись.Период, "ТестовыеДанные.Документ.Дата, запись.Период"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник22, запись.ПростойСправочник2); + + строкаТчДокумента = ТестовыеДанные.Документ.Состав[1]; + Утверждения.ПроверитьРавенство(строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло, "строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло"); + Утверждения.ПроверитьРавенство(строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево, "строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево"); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьДвеЗаписиРегистраНакопленияУКоторыхЯвноЗаданВидДвижения() Экспорт + количествоДо = СериализаторMXL.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрНакопления", "РегистрНакопления2"); + + Макет = ПолучитьМакет("СозданиеДвухЗаписейВРегистреНакопленияУКоторыхЯвноЗаданВидДвижения"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(5, ТестовыеДанные.Количество()); + + количествоПосле = СериализаторMXL.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрНакопления", "РегистрНакопления2"); + Утверждения.ПроверитьРавенство(количествоДо + 2, количествоПосле, "количество записей РН -> количествоДо + 2, количествоПосле"); + + Утверждения.ПроверитьТип(ТестовыеДанные.ЗаписьРегистра1, "РегистрНакопленияНаборЗаписей.РегистрНакопления2"); + Утверждения.ПроверитьРавенство(2, ТестовыеДанные.ЗаписьРегистра1.Количество(), "ТестовыеДанные.ЗаписьРегистра1.Количество()"); + + наборЗаписей = РегистрыНакопления.РегистрНакопления2.СоздатьНаборЗаписей(); + наборЗаписей.Отбор.Регистратор.Установить(ТестовыеДанные.Документ); + наборЗаписей.Прочитать(); + Утверждения.ПроверитьРавенство(2, наборЗаписей.Количество(), "количество записей РН -> 2, наборЗаписей.Количество()"); + + наборЗаписей = РегистрыНакопления.РегистрНакопления2.СоздатьНаборЗаписей(); + наборЗаписей.Отбор.Регистратор.Установить(ТестовыеДанные.Документ); + наборЗаписей.Прочитать(); + Утверждения.ПроверитьРавенство(2, наборЗаписей.Количество(), "количество записей РН -> 2, наборЗаписей.Количество()"); + + запись = наборЗаписей[0]; + Утверждения.ПроверитьРавенство(ВидДвиженияНакопления.Расход, запись.ВидДвижения, "ВидДвиженияНакопления.Расход, запись.ВидДвижения"); + Утверждения.ПроверитьРавенствоДатСТочностью2Секунды(запись.Период, ТестовыеДанные.Документ.Дата, "запись.Период - ТестовыеДанные.Документ.Дата"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, запись.ПростойСправочник2); + + строкаТчДокумента = ТестовыеДанные.Документ.Состав[0]; + Утверждения.ПроверитьРавенство(строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло, "строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло"); + Утверждения.ПроверитьРавенство(строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево, "строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево"); + + запись = наборЗаписей[1]; + Утверждения.ПроверитьРавенство(ВидДвиженияНакопления.Приход, запись.ВидДвижения, "ВидДвиженияНакопления.Приход, запись.ВидДвижения"); + Утверждения.ПроверитьРавенствоДатСТочностью2Секунды(ТестовыеДанные.Документ.Дата, запись.Период, "ТестовыеДанные.Документ.Дата, запись.Период"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник22, запись.ПростойСправочник2); + + строкаТчДокумента = ТестовыеДанные.Документ.Состав[1]; + Утверждения.ПроверитьРавенство(строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло, "строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло"); + Утверждения.ПроверитьРавенство(строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево, "строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево"); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьДвеЗаписиРегистраСведенийПодчиненномРегистратору() Экспорт + количествоДо = СериализаторMXL.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрСведений", "РСПодчиненныйРегистратору"); + + Макет = ПолучитьМакет("СозданиеДвухЗаписейВРегистреСведенийПодчиненномРегистратору"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(5, ТестовыеДанные.Количество()); + + количествоПосле = СериализаторMXL.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрСведений", "РСПодчиненныйРегистратору"); + Утверждения.ПроверитьРавенство(количествоДо + 2, количествоПосле, "количество записей РС -> количествоДо + 2, количествоПосле"); + + Утверждения.ПроверитьТип(ТестовыеДанные.ЗаписьРегистра1, "РегистрСведенийНаборЗаписей.РСПодчиненныйРегистратору"); + Утверждения.ПроверитьРавенство(2, ТестовыеДанные.ЗаписьРегистра1.Количество(), "ТестовыеДанные.ЗаписьРегистра1.Количество()"); + + наборЗаписей = РегистрыСведений.РСПодчиненныйРегистратору.СоздатьНаборЗаписей(); + наборЗаписей.Отбор.Регистратор.Установить(ТестовыеДанные.Документ); + наборЗаписей.Прочитать(); + Утверждения.ПроверитьРавенство(2, наборЗаписей.Количество(), "количество записей РС -> 2, наборЗаписей.Количество()"); + + наборЗаписей = РегистрыСведений.РСПодчиненныйРегистратору.СоздатьНаборЗаписей(); + наборЗаписей.Отбор.Регистратор.Установить(ТестовыеДанные.Документ); + наборЗаписей.Прочитать(); + Утверждения.ПроверитьРавенство(2, наборЗаписей.Количество(), "количество записей РС -> 2, наборЗаписей.Количество()"); + + запись = наборЗаписей[0]; + Утверждения.ПроверитьРавенствоДатСТочностью2Секунды(ТестовыеДанные.Документ.Дата, запись.Период, "ТестовыеДанные.Документ.Дата, запись.Период"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, запись.ПростойСправочник2); + + строкаТчДокумента = ТестовыеДанные.Документ.Состав[0]; + Утверждения.ПроверитьРавенство(строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло, "строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло"); + Утверждения.ПроверитьРавенство(строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево, "строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево"); + + запись = наборЗаписей[1]; + Утверждения.ПроверитьРавенствоДатСТочностью2Секунды(ТестовыеДанные.Документ.Дата, запись.Период, "ТестовыеДанные.Документ.Дата, запись.Период"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник22, запись.ПростойСправочник2); + + строкаТчДокумента = ТестовыеДанные.Документ.Состав[1]; + Утверждения.ПроверитьРавенство(строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло, "строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло"); + Утверждения.ПроверитьРавенство(строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево, "строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево"); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьПростойБизнесПроцесс() Экспорт + Макет = ПолучитьМакет("СозданиеПростогоБизнесПроцесса"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьРавенство(3, ТестовыеДанные.Количество()); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойБП"), "Ожидали, что есть переменная 'ПростойБП'"); + Утверждения.ПроверитьТип(ТестовыеДанные.ПростойБП, "БизнесПроцессСсылка.БизнесПроцесс1"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойБП.ПростойСправочник, ТестовыеДанные.ПростойСправочник); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойБП, ТестовыеДанные.Действие1.БизнесПроцесс); + Утверждения.ПроверитьРавенствоДатСТочностью2Секунды(ТекущаяДата(), ТестовыеДанные.ПростойБП.Дата, "Разница между ТекущаяДата() и ТестовыеДанные.ПростойБП.Дата должна быть менее 2 секунд"); + + Утверждения.ПроверитьРавенство(2, ТестовыеДанные.ПростойБП.ТабличнаяЧасть1.Количество()); + + строкаТч = ТестовыеДанные.ПростойБП.ТабличнаяЧасть1[0]; + Утверждения.ПроверитьРавенство("Значение1", строкаТч.Реквизит1, "строкаТч.Реквизит1"); + //Утверждения.ПроверитьРавенство(150, ТестовыеДанные.Документ.Состав[0].РеквизитЧисло); + + строкаТч = ТестовыеДанные.ПростойБП.ТабличнаяЧасть1[1]; + Утверждения.ПроверитьРавенство("Значение2", строкаТч.Реквизит1, "строкаТч.Реквизит1"); + //Утверждения.ПроверитьРавенство(150, ТестовыеДанные.Документ.Состав[0].РеквизитЧисло); +КонецПроцедуры + +// {Пессимистические тесты +Процедура ТестДолжен_ПолучитьИсключениеНеверныйРежимПоиска() Экспорт + Макет = ПолучитьМакет("ТестДолжен_ПолучитьИсключениеНеверныйРежимПоиска"); + ТекстИсключения = ""; + ОжидаемоеИсключение = "НеверныйРежимПоиска"; + Попытка + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + Исключение + ТекстИсключения = ОписаниеОшибки(); + КонецПопытки; + + Утверждения.ПроверитьВхождение(ТекстИсключения, ОжидаемоеИсключение, "Ожидали исключение <" + ОжидаемоеИсключение + ">"); +КонецПроцедуры + +Процедура ТестДолжен_ПолучитьИсключениеПриПопыткеСоздатьЭлементИЗаполнитьРеквизитПоНеверномуКоду() Экспорт + Макет = ПолучитьМакет("ТестДолжен_ПолучитьИсключениеПриПопыткеСоздатьЭлементИЗаполнитьРеквизитПоНеверномуКоду"); + ТекстИсключения = ""; + ОжидаемоеИсключение = "ЗначениеНеНайдено"; + Попытка + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + Исключение + ТекстИсключения = ОписаниеОшибки(); + КонецПопытки; + + Утверждения.ПроверитьВхождение(ТекстИсключения, ОжидаемоеИсключение, "Ожидали исключение <" + ОжидаемоеИсключение + ">"); +КонецПроцедуры + +Процедура ТестДолжен_ПолучитьИсключениеПриПопыткеСоздатьЭлементИЗаполнитьРеквизитПоНеверномуНаименованию() Экспорт + Макет = ПолучитьМакет("ТестДолжен_ПолучитьИсключениеПриПопыткеСоздатьЭлементИЗаполнитьРеквизитПоНеверномуНаименованию"); + ТекстИсключения = ""; + ОжидаемоеИсключение = "ЗначениеНеНайдено"; + Попытка + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + Исключение + ТекстИсключения = ОписаниеОшибки(); + КонецПопытки; + + Утверждения.ПроверитьВхождение(ТекстИсключения, ОжидаемоеИсключение, "Ожидали исключение <" + ОжидаемоеИсключение + ">"); +КонецПроцедуры + +// } + +Процедура ТестДолжен_СоздатьСправочник2_с_РеквизитомСоставногоТипа() Экспорт + Макет = ПолучитьМакет("СозданиеСправочника2_с_РеквизитомСоставногоТипа"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(2, ТестовыеДанные.Количество()); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("СправочникСТабЧастью"), "Ожидали, что есть переменная 'СправочникСТабЧастью'"); + Утверждения.ПроверитьРавенство(0, ТестовыеДанные.СправочникСТабЧастью.Состав.Количество()); + + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные.СправочникСТабЧастью.РеквизитСоставногоТипа); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьСправочник2_с_РеквизитомСоставногоТипа_и_ПустойСсылкой() Экспорт + Макет = ПолучитьМакет("СозданиеСправочника2_с_РеквизитомСоставногоТипа_и_ПустойСсылкой"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(1, ТестовыеДанные.Количество()); + + Утверждения.ПроверитьРавенство(Справочники.ПростойСправочник.ПустаяСсылка(), ТестовыеДанные.СправочникСТабЧастью.РеквизитСоставногоТипа); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьСправочник2_с_РеквизитомСоставногоТипа_и_ПустойСсылкойПеречисление() Экспорт + Макет = ПолучитьМакет("СозданиеСправочника2_с_РеквизитомСоставногоТипа_и_ПустойСсылкойПеречисление"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(1, ТестовыеДанные.Количество()); + + Утверждения.ПроверитьРавенство(Перечисления.Перечисление1.ПустаяСсылка(), ТестовыеДанные.СправочникСТабЧастью.РеквизитСоставногоТипа); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьОднуЗаписьРегистраНакопленияСПоискомДокументаПоНомеру() Экспорт + количествоДо = СериализаторMXL.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрНакопления", "РегистрНакопления2"); + + Макет = ПолучитьМакет("РегистрНакопления_ПоискРегистратора"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(2, ТестовыеДанные.Количество()); + Утверждения.ПроверитьТип(ТестовыеДанные.РегистрНакопления2, "РегистрНакопленияНаборЗаписей.РегистрНакопления2"); + + количествоПосле = СериализаторMXL.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрНакопления", "РегистрНакопления2"); + Утверждения.ПроверитьРавенство(количествоДо + 1, количествоПосле, "количество записей РН -> количествоДо + 2, количествоПосле"); + + наборЗаписей = РегистрыНакопления.РегистрНакопления2.СоздатьНаборЗаписей(); + наборЗаписей.Отбор.Регистратор.Установить(ТестовыеДанные.Документ); + наборЗаписей.Прочитать(); + Утверждения.ПроверитьРавенство(1, наборЗаписей.Количество(), "количество записей РН -> 1, наборЗаписей.Количество()"); + запись = наборЗаписей[0]; + //Утверждения.ПроверитьРавенство(ТестовыеДанные.Документ.Дата, запись.Период, "ТестовыеДанные.Документ.Дата, запись.Период"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.Документ, запись.Регистратор, "ТестовыеДанные.Документ, запись.Регистратор"); + //Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); + //Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, запись.ПростойСправочник2); + // + //строкаТчДокумента = ТестовыеДанные.Документ.Состав[0]; + //Утверждения.ПроверитьРавенство(строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло, "строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло"); + //Утверждения.ПроверитьРавенство(строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево, "строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево"); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьОднуЗаписьРегистраБухгалтерии() Экспорт + количествоДо = СериализаторMXL.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрБухгалтерии", "РегистрБухгалтерии1"); + + Макет = ПолучитьМакет("СозданиеОднойЗаписиВРегистреБухгалтерии"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(4, ТестовыеДанные.Количество()); + Утверждения.ПроверитьТип(ТестовыеДанные.ЗаписьРегистра1, "РегистрБухгалтерииНаборЗаписей.РегистрБухгалтерии1"); + + количествоПосле = СериализаторMXL.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрБухгалтерии", "РегистрБухгалтерии1"); + Утверждения.ПроверитьРавенство(количествоДо + 1, количествоПосле, "количество записей РН -> количествоДо + 2, количествоПосле"); + + наборЗаписей = РегистрыБухгалтерии.РегистрБухгалтерии1.СоздатьНаборЗаписей(); + наборЗаписей.Отбор.Регистратор.Установить(ТестовыеДанные.Документ); + наборЗаписей.Прочитать(); + Утверждения.ПроверитьРавенство(1, наборЗаписей.Количество(), "количество записей РН -> 1, наборЗаписей.Количество()"); + запись = наборЗаписей[0]; + + Утверждения.ПроверитьРавенствоДатСТочностью2Секунды(ТестовыеДанные.Документ.Дата, запись.Период, "ТестовыеДанные.Документ.Дата, запись.Период"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, запись.ПростойСправочник2Дт); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, запись.ПростойСправочник2Кт); + Утверждения.ПроверитьРавенство(ПланыСчетов.ПланСчетов1.Счет01, запись.СчетДт); + Утверждения.ПроверитьРавенство(ПланыСчетов.ПланСчетов1.Счет02, запись.СчетКт); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.СубконтоДт.Субконто1, "ТестовыеДанные.ПростойСправочник, запись.СубконтоДт.Субконто1"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, запись.СубконтоКт.Субконто2, "ТестовыеДанные.ПростойСправочник21, запись.СубконтоКт.Субконто2"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.СубконтоКт.Субконто1, "ТестовыеДанные.ПростойСправочник, запись.СубконтоКт.Субконто1"); + + строкаТчДокумента = ТестовыеДанные.Документ.Состав[0]; + Утверждения.ПроверитьРавенство(строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло, "строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло"); + Утверждения.ПроверитьРавенство(10, запись.РесурсЧисло1Дт, "10, запись.РесурсЧисло1Дт"); + Утверждения.ПроверитьРавенство(строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево, "строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево"); +КонецПроцедуры + +Процедура ТестДолжен_СоздатьДвеЗаписиРегистраБухгалтерии() Экспорт + количествоДо = СериализаторMXL.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрБухгалтерии", "РегистрБухгалтерии1"); + + Макет = ПолучитьМакет("СозданиеДвухЗаписейВРегистреБухгалтерии"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(6, ТестовыеДанные.Количество()); + + количествоПосле = СериализаторMXL.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрБухгалтерии", "РегистрБухгалтерии1"); + Утверждения.ПроверитьРавенство(количествоДо + 2, количествоПосле, "количество записей РБ -> количествоДо + 2, количествоПосле"); + + Утверждения.ПроверитьТип(ТестовыеДанные.ЗаписьРегистра1, "РегистрБухгалтерииНаборЗаписей.РегистрБухгалтерии1"); + Утверждения.ПроверитьРавенство(2, ТестовыеДанные.ЗаписьРегистра1.Количество(), "ТестовыеДанные.ЗаписьРегистра1.Количество()"); + + наборЗаписей = РегистрыБухгалтерии.РегистрБухгалтерии1.СоздатьНаборЗаписей(); + наборЗаписей.Отбор.Регистратор.Установить(ТестовыеДанные.Документ); + наборЗаписей.Прочитать(); + Утверждения.ПроверитьРавенство(2, наборЗаписей.Количество(), "количество записей РБ -> 2, наборЗаписей.Количество()"); + + наборЗаписей = РегистрыБухгалтерии.РегистрБухгалтерии1.СоздатьНаборЗаписей(); + наборЗаписей.Отбор.Регистратор.Установить(ТестовыеДанные.Документ); + наборЗаписей.Прочитать(); + Утверждения.ПроверитьРавенство(2, наборЗаписей.Количество(), "количество записей РБ -> 2, наборЗаписей.Количество()"); + + запись = наборЗаписей[0]; + Утверждения.ПроверитьРавенствоДатСТочностью2Секунды(ТестовыеДанные.Документ.Дата, запись.Период, "ТестовыеДанные.Документ.Дата, запись.Период"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, запись.ПростойСправочник2Дт); + Утверждения.ПроверитьРавенство(ПланыСчетов.ПланСчетов1.Счет01, запись.СчетДт); + Утверждения.ПроверитьРавенство(ПланыСчетов.ПланСчетов1.Счет02, запись.СчетКт); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.СубконтоДт.Субконто1, "ТестовыеДанные.ПростойСправочник, запись.СубконтоДт.Субконто1"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, запись.СубконтоКт.Субконто2, "ТестовыеДанные.ПростойСправочник21, запись.СубконтоКт.Субконто2"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.СубконтоКт.Субконто1, "ТестовыеДанные.ПростойСправочник, запись.СубконтоКт.Субконто1"); + + строкаТчДокумента = ТестовыеДанные.Документ.Состав[0]; + Утверждения.ПроверитьРавенство(строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло, "строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло"); + Утверждения.ПроверитьРавенство(10, запись.РесурсЧисло1Дт, "10, запись.РесурсЧисло1Дт"); + Утверждения.ПроверитьРавенство(строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево, "строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево"); + + запись = наборЗаписей[1]; + Утверждения.ПроверитьРавенствоДатСТочностью2Секунды(ТестовыеДанные.Документ.Дата, запись.Период, "ТестовыеДанные.Документ.Дата, запись1.Период"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.ПростойСправочник); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник22, запись.ПростойСправочник2Кт); + Утверждения.ПроверитьРавенство(ПланыСчетов.ПланСчетов1.Счет02, запись.СчетДт); + Утверждения.ПроверитьРавенство(ПланыСчетов.ПланСчетов1.Счет01, запись.СчетКт); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник21, запись.СубконтоДт.Субконто2, "ТестовыеДанные.ПростойСправочник21, запись1.СубконтоДт.Субконто2"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник0, запись.СубконтоДт.Субконто1, "ТестовыеДанные.ПростойСправочник0, запись.СубконтоДт.Субконто1"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, запись.СубконтоКт.Субконто1, "ТестовыеДанные.ПростойСправочник, запись1.СубконтоКт.Субконто1"); + + строкаТчДокумента = ТестовыеДанные.Документ.Состав[1]; + Утверждения.ПроверитьРавенство(строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло, "строкаТчДокумента.РеквизитЧисло, запись.РесурсЧисло"); + Утверждения.ПроверитьРавенство(20, запись.РесурсЧисло1Кт, "20, запись.РесурсЧисло1Кт"); + Утверждения.ПроверитьРавенство(строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево, "строкаТчДокумента.РеквизитБулево, запись.РеквизитБулево"); +КонецПроцедуры + +Функция ПолучитьМакетДанныхДоступа(ИмяМакета, КоллекцияПараметров) Экспорт + + Макет = ПолучитьМакет(ИмяМакета); + ЗаполнитьЗначенияСвойств(Макет.Параметры, КоллекцияПараметров); + //Если Не КоллекцияПараметров.Свойство("ИмяПользователя") Тогда + // Макет.Параметры.ИмяПользователя = ИмяНовогоПользователя; + //КонецЕсли; + + НовыйТабДок = Новый ТабличныйДокумент; + НовыйТабДок.Вывести(Макет); + + Возврат НовыйТабДок; +КонецФункции + +Процедура ТестДолжен_СоздатьСправочникСоСсылкойНаСамогоСебя() Экспорт + + Макет = ПолучитьМакет("СозданиеСправочникаСоСсылкойНаСамогоСебя"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьРавенство(ТестовыеДанные.ЭлементСоСсылкой, ТестовыеДанные.ЭлементСоСсылкой.СправочникСоСсылкойНаСамогоСебя); + +КонецПроцедуры + +Процедура ТестДолжен_СоздатьСправочникиОбразующиеЦиклическуюЗависимость() Экспорт + + Макет = ПолучитьМакет("СозданиеСправочниковОбразующихЦиклическуюЗависимость"); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьРавенство(ТестовыеДанные.ЭлементСоСсылкой1.СправочникСоСсылкойНаСамогоСебя, ТестовыеДанные.ЭлементСоСсылкой2); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ЭлементСоСсылкой2.СправочникСоСсылкойНаСамогоСебя, ТестовыеДанные.ЭлементСоСсылкой3); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ЭлементСоСсылкой3.СправочникСоСсылкойНаСамогоСебя, ТестовыеДанные.ЭлементСоСсылкой1); + +КонецПроцедуры + +Процедура ТестДолжен_ЗагрузитьВсеДанныеВРежиме_ОбменДанными_Загрузка() Экспорт + + ПараметрыСозданияДанных = Новый Структура("ОбменДанными", Истина); + + ЗапрещенноеНаименование = Справочники.ПростойСправочник.ПолучитьЗапрещенноеНаименование(0); + КоллекцияПараметров = Новый Структура("Наименование,РеквизитПеречисление", ЗапрещенноеНаименование, "ЗначениеПеречисления1" ); + + Макет = ПолучитьМакетДанныхДоступа("СозданиеПростогоСправочника_Параметры", КоллекцияПараметров); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет, ПараметрыСозданияДанных); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(1, ТестовыеДанные.Количество()); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("ПростойСправочник"), "Ожидали, что есть переменная 'ПростойСправочник'"); + Утверждения.ПроверитьТип(ТестовыеДанные.ПростойСправочник, "СправочникСсылка.ПростойСправочник"); + Утверждения.ПроверитьРавенство(ЗапрещенноеНаименование, ТестовыеДанные.ПростойСправочник.Наименование); + Утверждения.ПроверитьРавенство(Истина, ТестовыеДанные.ПростойСправочник.РеквизитБулево); + +КонецПроцедуры + +Процедура ТестДолжен_ВыполнитьНайтиИОбновитьСуществующийЭлемент() Экспорт + + НаименованиеЭлемента = "Имя146"; + ЗначениеПеречисления = Перечисления.Перечисление1.ЗначениеПеречисления1; + КоллекцияПараметров = Новый Структура("Наименование,РеквизитПеречисление", НаименованиеЭлемента, "ЗначениеПеречисления1" ); + + Макет = ПолучитьМакетДанныхДоступа("СозданиеПростогоСправочника_Параметры", КоллекцияПараметров); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + //НовоеНаименованиеЭлемента = НаименованиеЭлемента+"-Новое"; + НовоеЗначениеПеречисления = Перечисления.Перечисление1.ЗначениеПеречисления2; + КоллекцияПараметров = Новый Структура("Наименование,Ключ,РеквизитПеречисление", НаименованиеЭлемента, "Ключ", "ЗначениеПеречисления2"); + + Макет = ПолучитьМакетДанныхДоступа("СозданиеПростогоСправочника_Параметры", КоллекцияПараметров); + ТестовыеДанные2 = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + //Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + //Утверждения.ПроверитьРавенство(1, ТестовыеДанные.Количество()); + // + //Утверждения.ПроверитьТип(ТестовыеДанные.ПростойСправочник, "СправочникСсылка.ПростойСправочник", "ТестовыеДанные"); + //Утверждения.ПроверитьТип(ТестовыеДанные2.ПростойСправочник, "СправочникСсылка.ПростойСправочник", "ТестовыеДанные2"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, ТестовыеДанные2.ПростойСправочник, "ТестовыеДанные.ПростойСправочник, ТестовыеДанные2.ПростойСправочник"); + Утверждения.ПроверитьРавенство(НаименованиеЭлемента, ТестовыеДанные.ПростойСправочник.Наименование); + Утверждения.ПроверитьРавенство(НовоеЗначениеПеречисления, ТестовыеДанные.ПростойСправочник.ПолучитьОбъект().РеквизитПеречисление); + +КонецПроцедуры + +Процедура ТестДолжен_СоздатьУзелПланаОбмена() Экспорт + + КоллекцияПараметров = Новый Структура("РеквизитПеречисление", "ЗначениеПеречисления2"); + + Макет = ПолучитьМакетДанныхДоступа("СозданиеУзлаПланаОбмена", КоллекцияПараметров); + ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет); + + Утверждения.ПроверитьТип(ТестовыеДанные, "Структура"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.Количество(), 2, "Количество объектов в тестовых данных отличается от ожидаемого"); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("УзелЭтойИБ"), "В тестовых данных не обнаружено нужное свойство"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.УзелЭтойИБ, ПланыОбмена.ПланОбмена1.ЭтотУзел()); + Утверждения.ПроверитьРавенство(ТестовыеДанные.УзелЭтойИБ.Код, "000000001"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.УзелЭтойИБ.Наименование, "Эта информационная база"); + + Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("Узел1"), "В тестовых данных не обнаружено нужное свойство"); + Утверждения.ПроверитьТип(ТестовыеДанные.Узел1, "ПланОбменаСсылка.ПланОбмена1"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.Узел1.Наименование, "Узел обмена 1"); + + Утверждения.ПроверитьТип(ТестовыеДанные.Узел1.РеквизитБулево, "Булево"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.Узел1.РеквизитБулево, Истина); + + Утверждения.ПроверитьТип(ТестовыеДанные.Узел1.РеквизитПеречисление, "ПеречислениеСсылка.Перечисление1"); + Утверждения.ПроверитьРавенство(ТестовыеДанные.Узел1.РеквизитПеречисление, Перечисления.Перечисление1.ЗначениеПеречисления2); + +КонецПроцедуры + diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/renames.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/renames.txt" new file mode 100644 index 00000000..10a71700 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/renames.txt" @@ -0,0 +1,175 @@ +0afb6777-fe50-4b9c-b180-77d1ee3a3d54-->und\0afb6777-fe50-4b9c-b180-77d1ee3a3d54 +0afb6777-fe50-4b9c-b180-77d1ee3a3d54.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\ТестДолжен_ПолучитьИсключениеПриПопыткеСоздатьЭлементИЗаполнитьРеквизитПоНеверномуКоду.mxl +0afb6777-fe50-4b9c-b180-77d1ee3a3d54.0-->und\0afb6777-fe50-4b9c-b180-77d1ee3a3d54.0 +165eaf09-2e00-4e46-be94-35f3b4ede990-->und\165eaf09-2e00-4e46-be94-35f3b4ede990 +165eaf09-2e00-4e46-be94-35f3b4ede990.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеДвухЗаписейВРегистреСведенийПодчиненномРегистратору.mxl +165eaf09-2e00-4e46-be94-35f3b4ede990.0-->und\165eaf09-2e00-4e46-be94-35f3b4ede990.0 +1d971496-56ca-48b0-a34e-b5359e900090-->und\1d971496-56ca-48b0-a34e-b5359e900090 +1d971496-56ca-48b0-a34e-b5359e900090.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеПростогоСправочникаПоГуидСсылки.mxl +1d971496-56ca-48b0-a34e-b5359e900090.0-->und\1d971496-56ca-48b0-a34e-b5359e900090.0 +1e918707-941f-4288-9af0-070c155a8173-->und\1e918707-941f-4288-9af0-070c155a8173 +1e918707-941f-4288-9af0-070c155a8173.0-->und\1e918707-941f-4288-9af0-070c155a8173.0 +1e918707-941f-4288-9af0-070c155a8173.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеУзлаПланаОбмена.mxl +214520bb-70cc-4e3a-a1be-4c6a0f5d9c73-->und\214520bb-70cc-4e3a-a1be-4c6a0f5d9c73 +214520bb-70cc-4e3a-a1be-4c6a0f5d9c73.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеДвухЗаписейВРегистреСведений.mxl +214520bb-70cc-4e3a-a1be-4c6a0f5d9c73.0-->und\214520bb-70cc-4e3a-a1be-4c6a0f5d9c73.0 +2b4cbacc-14fa-4e57-bfab-9e9af6028901-->und\2b4cbacc-14fa-4e57-bfab-9e9af6028901 +2b4cbacc-14fa-4e57-bfab-9e9af6028901.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеДокумента_РежимЗаписи_Проведение.mxl +2b4cbacc-14fa-4e57-bfab-9e9af6028901.0-->und\2b4cbacc-14fa-4e57-bfab-9e9af6028901.0 +2bf29867-3e26-4d83-8667-da5f11442794-->und\2bf29867-3e26-4d83-8667-da5f11442794 +2bf29867-3e26-4d83-8667-da5f11442794.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеОбъектаСЗаполненымРеквизитомТипаПеречисление.mxl +2bf29867-3e26-4d83-8667-da5f11442794.0-->und\2bf29867-3e26-4d83-8667-da5f11442794.0 +2e398c8a-da05-4e85-9d97-c9680b935568-->und\2e398c8a-da05-4e85-9d97-c9680b935568 +2e398c8a-da05-4e85-9d97-c9680b935568.0-->und\2e398c8a-da05-4e85-9d97-c9680b935568.0 +2e398c8a-da05-4e85-9d97-c9680b935568.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеЭлементаИЗаполнениеРеквизитаПоискомПоГУИДу.mxl +451b28be-4cf6-4356-8c46-ad5cbc0deed0-->und\451b28be-4cf6-4356-8c46-ad5cbc0deed0 +451b28be-4cf6-4356-8c46-ad5cbc0deed0.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеОбъектаСЗаполненнымРеквизитомИзПредопределенныхЗначенийСправочника.mxl +451b28be-4cf6-4356-8c46-ad5cbc0deed0.0-->und\451b28be-4cf6-4356-8c46-ad5cbc0deed0.0 +4a875fe8-d6dd-4488-ab26-9f1d41d624bb-->und\4a875fe8-d6dd-4488-ab26-9f1d41d624bb +4a875fe8-d6dd-4488-ab26-9f1d41d624bb.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеПростогоСправочника_Параметры.mxl +4a875fe8-d6dd-4488-ab26-9f1d41d624bb.0-->und\4a875fe8-d6dd-4488-ab26-9f1d41d624bb.0 +4b3c529a-00d8-4aee-95a4-f20938cdebdd.0\info-->und\4b3c529a-00d8-4aee-95a4-f20938cdebdd.0\info +4b3c529a-00d8-4aee-95a4-f20938cdebdd.0\text-->ObjectModule.txt +4be1f7e9-0ba6-478f-88e1-190254fe6c6b-->und\4be1f7e9-0ba6-478f-88e1-190254fe6c6b +4be1f7e9-0ba6-478f-88e1-190254fe6c6b.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеДвухЗаписейВРегистреНакопления.mxl +4be1f7e9-0ba6-478f-88e1-190254fe6c6b.0-->und\4be1f7e9-0ba6-478f-88e1-190254fe6c6b.0 +4fd62a2d-c8b6-4576-aa63-50cc023990e1-->und\4fd62a2d-c8b6-4576-aa63-50cc023990e1 +4fd62a2d-c8b6-4576-aa63-50cc023990e1.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеСправочника2_с_РеквизитомСоставногоТипа_и_ПустойСсылкойПеречисление.mxl +4fd62a2d-c8b6-4576-aa63-50cc023990e1.0-->und\4fd62a2d-c8b6-4576-aa63-50cc023990e1.0 +509a10d9-9207-4066-a28d-978c04e34376-->und\509a10d9-9207-4066-a28d-978c04e34376 +509a10d9-9207-4066-a28d-978c04e34376.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеДвухЗаписейВРегистреСведений_ПоискЭлементаПоНаименованию.mxl +509a10d9-9207-4066-a28d-978c04e34376.0-->und\509a10d9-9207-4066-a28d-978c04e34376.0 +51a2c526-5e41-417b-a82e-0dd289a7974c-->und\51a2c526-5e41-417b-a82e-0dd289a7974c +51a2c526-5e41-417b-a82e-0dd289a7974c.0-->und\51a2c526-5e41-417b-a82e-0dd289a7974c.0 +51a2c526-5e41-417b-a82e-0dd289a7974c.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеПростогоСправочникаПоГуид.mxl +53c26b45-95ee-49f0-b946-d7b3e4fb2ff8-->und\53c26b45-95ee-49f0-b946-d7b3e4fb2ff8 +53c26b45-95ee-49f0-b946-d7b3e4fb2ff8.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеДвухЗаписейВРегистреНакопленияУКоторыхЯвноЗаданВидДвижения.mxl +53c26b45-95ee-49f0-b946-d7b3e4fb2ff8.0-->und\53c26b45-95ee-49f0-b946-d7b3e4fb2ff8.0 +60c6634b-14aa-466f-a884-82ed4cb98d0f-->und\60c6634b-14aa-466f-a884-82ed4cb98d0f +60c6634b-14aa-466f-a884-82ed4cb98d0f.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеПростогоСправочника.mxl +60c6634b-14aa-466f-a884-82ed4cb98d0f.0-->und\60c6634b-14aa-466f-a884-82ed4cb98d0f.0 +68803c49-0345-4f51-9184-079744379408-->und\68803c49-0345-4f51-9184-079744379408 +68803c49-0345-4f51-9184-079744379408.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеОдногоПользователяИБ.mxl +68803c49-0345-4f51-9184-079744379408.0-->und\68803c49-0345-4f51-9184-079744379408.0 +714a1e77-6f6d-4a2f-9881-9dbb862d24a0-->und\714a1e77-6f6d-4a2f-9881-9dbb862d24a0 +714a1e77-6f6d-4a2f-9881-9dbb862d24a0.0-->und\714a1e77-6f6d-4a2f-9881-9dbb862d24a0.0 +714a1e77-6f6d-4a2f-9881-9dbb862d24a0.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеДвухЗаписейВРегистреБухгалтерии.mxl +7617c188-4e70-484e-816e-20eda5229667-->und\7617c188-4e70-484e-816e-20eda5229667 +7617c188-4e70-484e-816e-20eda5229667.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеОднойЗаписиВРегистреБухгалтерии.mxl +7617c188-4e70-484e-816e-20eda5229667.0-->und\7617c188-4e70-484e-816e-20eda5229667.0 +7a41e200-05d3-4267-a721-5dbe73bf545e-->und\7a41e200-05d3-4267-a721-5dbe73bf545e +7a41e200-05d3-4267-a721-5dbe73bf545e.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеЭлементаИЗаполнениеРеквизитаПоискомПоКоду.mxl +7a41e200-05d3-4267-a721-5dbe73bf545e.0-->und\7a41e200-05d3-4267-a721-5dbe73bf545e.0 +7af53c68-a0ad-4144-85f4-d11d73853384-->und\7af53c68-a0ad-4144-85f4-d11d73853384 +7af53c68-a0ad-4144-85f4-d11d73853384.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\Пример.mxl +7af53c68-a0ad-4144-85f4-d11d73853384.0-->und\7af53c68-a0ad-4144-85f4-d11d73853384.0 +80a98912-c1e3-43b2-ae00-21118328107f-->und\80a98912-c1e3-43b2-ae00-21118328107f +80a98912-c1e3-43b2-ae00-21118328107f.0-->und\80a98912-c1e3-43b2-ae00-21118328107f.0 +80a98912-c1e3-43b2-ae00-21118328107f.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеГруппыСЭлементамиТолькоДляГруппы.mxl +834d10a6-75f9-4eac-ae53-66a3704bddbc-->und\834d10a6-75f9-4eac-ae53-66a3704bddbc +834d10a6-75f9-4eac-ae53-66a3704bddbc.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеСправочникаСПомощьюТЧ_ОбменДаннымиЗагрузка.mxl +834d10a6-75f9-4eac-ae53-66a3704bddbc.0-->und\834d10a6-75f9-4eac-ae53-66a3704bddbc.0 +8b1a6140-f7e3-4151-adce-db0a2046364e-->und\8b1a6140-f7e3-4151-adce-db0a2046364e +8b1a6140-f7e3-4151-adce-db0a2046364e.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеЕщеНеЗаписанногоОбъектаПростогоСправочника.mxl +8b1a6140-f7e3-4151-adce-db0a2046364e.0-->und\8b1a6140-f7e3-4151-adce-db0a2046364e.0 +8c5a9e9d-a3b1-4e65-ac06-1b4ae36468d1-->und\8c5a9e9d-a3b1-4e65-ac06-1b4ae36468d1 +8c5a9e9d-a3b1-4e65-ac06-1b4ae36468d1.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеДвухЗаписейВРегистреСведенийЧерезНаборЗаписей.mxl +8c5a9e9d-a3b1-4e65-ac06-1b4ae36468d1.0-->und\8c5a9e9d-a3b1-4e65-ac06-1b4ae36468d1.0 +8cda2b2d-c64b-4e21-9de6-dd49a12576e0-->und\8cda2b2d-c64b-4e21-9de6-dd49a12576e0 +8cda2b2d-c64b-4e21-9de6-dd49a12576e0.0-->und\8cda2b2d-c64b-4e21-9de6-dd49a12576e0.0 +8cda2b2d-c64b-4e21-9de6-dd49a12576e0.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\РегистрНакопления_ПоискРегистратора.mxl +8e915235-e32d-4205-bb26-918ba63bb0f5-->und\8e915235-e32d-4205-bb26-918ba63bb0f5 +8e915235-e32d-4205-bb26-918ba63bb0f5.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\ТестДолжен_ПолучитьИсключениеНеверныйРежимПоиска.mxl +8e915235-e32d-4205-bb26-918ba63bb0f5.0-->und\8e915235-e32d-4205-bb26-918ba63bb0f5.0 +902d78a5-fdd6-4652-9714-414d8ad6ece3-->und\902d78a5-fdd6-4652-9714-414d8ad6ece3 +902d78a5-fdd6-4652-9714-414d8ad6ece3.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеСправочникаСПомощьюОбменДаннымиЗагрузка.mxl +902d78a5-fdd6-4652-9714-414d8ad6ece3.0-->und\902d78a5-fdd6-4652-9714-414d8ad6ece3.0 +91470bcf-5031-4550-8470-113df7855131-->und\91470bcf-5031-4550-8470-113df7855131 +91470bcf-5031-4550-8470-113df7855131.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеДокументаНаТекущуюДату.mxl +91470bcf-5031-4550-8470-113df7855131.0-->und\91470bcf-5031-4550-8470-113df7855131.0 +924914a6-730c-45fb-838b-ce5d93b80394-->und\924914a6-730c-45fb-838b-ce5d93b80394 +924914a6-730c-45fb-838b-ce5d93b80394.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеСправочникаСоСсылкойНаСамогоСебя.mxl +924914a6-730c-45fb-838b-ce5d93b80394.0-->und\924914a6-730c-45fb-838b-ce5d93b80394.0 +96faf09e-5646-4b0f-8601-e72057dbe7f7-->und\96faf09e-5646-4b0f-8601-e72057dbe7f7 +96faf09e-5646-4b0f-8601-e72057dbe7f7.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеСправочника2_с_РеквизитомСоставногоТипа_и_ПустойСсылкой.mxl +96faf09e-5646-4b0f-8601-e72057dbe7f7.0-->und\96faf09e-5646-4b0f-8601-e72057dbe7f7.0 +9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e-->und\9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e +9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеГруппыСправочникаИДочернегоЭлемента.mxl +9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e.0-->und\9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e.0 +9d5cc378-50c8-49c6-a45d-fceefcc4a5c5-->und\9d5cc378-50c8-49c6-a45d-fceefcc4a5c5 +9d5cc378-50c8-49c6-a45d-fceefcc4a5c5.0-->und\9d5cc378-50c8-49c6-a45d-fceefcc4a5c5.0 +9d5cc378-50c8-49c6-a45d-fceefcc4a5c5.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеСправочникаСРеквизитом_ПланСчетов.mxl +a1a3092f-ed45-44ca-9854-834abd352cd4-->und\a1a3092f-ed45-44ca-9854-834abd352cd4 +a1a3092f-ed45-44ca-9854-834abd352cd4.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеСправочника2_с_РеквизитомСоставногоТипа.mxl +a1a3092f-ed45-44ca-9854-834abd352cd4.0-->und\a1a3092f-ed45-44ca-9854-834abd352cd4.0 +a5026b9b-d215-4c30-9de1-c54424949e4a-->und\a5026b9b-d215-4c30-9de1-c54424949e4a +a5026b9b-d215-4c30-9de1-c54424949e4a.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеПростогоСправочника2.mxl +a5026b9b-d215-4c30-9de1-c54424949e4a.0-->und\a5026b9b-d215-4c30-9de1-c54424949e4a.0 +b0adb70d-1e31-4637-8c1d-7f6f33baaa7b-->und\b0adb70d-1e31-4637-8c1d-7f6f33baaa7b +b0adb70d-1e31-4637-8c1d-7f6f33baaa7b.0-->und\b0adb70d-1e31-4637-8c1d-7f6f33baaa7b.0 +b0adb70d-1e31-4637-8c1d-7f6f33baaa7b.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\НайтиИПерезаполнитьПростойСправочникПоГуидСсылки.mxl +bdaf3325-bb9b-4677-ba6e-56a642df2687-->und\bdaf3325-bb9b-4677-ba6e-56a642df2687 +bdaf3325-bb9b-4677-ba6e-56a642df2687.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\ИзменениеПредопределенногоСправочника.mxl +bdaf3325-bb9b-4677-ba6e-56a642df2687.0-->und\bdaf3325-bb9b-4677-ba6e-56a642df2687.0 +c0731e2c-fd73-4143-8a60-52e72c809569-->und\c0731e2c-fd73-4143-8a60-52e72c809569 +c0731e2c-fd73-4143-8a60-52e72c809569.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеОдногоСправочникаВладельцаБезПодчиненногоСправочника.mxl +c0731e2c-fd73-4143-8a60-52e72c809569.0-->und\c0731e2c-fd73-4143-8a60-52e72c809569.0 +c1e853ea-3959-486e-aff1-5ccaf10f6c48-->und\c1e853ea-3959-486e-aff1-5ccaf10f6c48 +c1e853ea-3959-486e-aff1-5ccaf10f6c48.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеПростогоСправочника_РежимВыражение.mxl +c1e853ea-3959-486e-aff1-5ccaf10f6c48.0-->und\c1e853ea-3959-486e-aff1-5ccaf10f6c48.0 +c698bb5e-86eb-40ec-96d7-b8badc816715-->und\c698bb5e-86eb-40ec-96d7-b8badc816715 +c698bb5e-86eb-40ec-96d7-b8badc816715.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеДвухНаборовЗаписейВРегистреСведений.mxl +c698bb5e-86eb-40ec-96d7-b8badc816715.0-->und\c698bb5e-86eb-40ec-96d7-b8badc816715.0 +c7efc6f1-5a5e-4278-9b62-9cf796fb363e-->und\c7efc6f1-5a5e-4278-9b62-9cf796fb363e +c7efc6f1-5a5e-4278-9b62-9cf796fb363e.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеПростогоБизнесПроцесса.mxl +c7efc6f1-5a5e-4278-9b62-9cf796fb363e.0-->und\c7efc6f1-5a5e-4278-9b62-9cf796fb363e.0 +copyinfo-->und\copyinfo +d28a1211-a8c4-425c-87f2-c429f96d426f-->und\d28a1211-a8c4-425c-87f2-c429f96d426f +d28a1211-a8c4-425c-87f2-c429f96d426f.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеДвухПростыхСправочников.mxl +d28a1211-a8c4-425c-87f2-c429f96d426f.0-->und\d28a1211-a8c4-425c-87f2-c429f96d426f.0 +d2e225b3-d6f9-485c-9304-31c9c31fa8f7-->und\d2e225b3-d6f9-485c-9304-31c9c31fa8f7 +d2e225b3-d6f9-485c-9304-31c9c31fa8f7.0-->und\d2e225b3-d6f9-485c-9304-31c9c31fa8f7.0 +d2e225b3-d6f9-485c-9304-31c9c31fa8f7.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеСправочникаСПомощьюДополнительныхСвойствПоНаименованию.mxl +d51f673a-a707-44d6-9610-d58ad958de44-->und\d51f673a-a707-44d6-9610-d58ad958de44 +d764edfb-6285-4f77-ba58-4f8321a489a4-->und\d764edfb-6285-4f77-ba58-4f8321a489a4 +d764edfb-6285-4f77-ba58-4f8321a489a4.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеСправочникаПослеДокументаСДвумяСтрокамиВТабличнойЧасти.mxl +d764edfb-6285-4f77-ba58-4f8321a489a4.0-->und\d764edfb-6285-4f77-ba58-4f8321a489a4.0 +d7807508-2ab6-4c4d-bc1c-d30f8932565f-->und\d7807508-2ab6-4c4d-bc1c-d30f8932565f +d7807508-2ab6-4c4d-bc1c-d30f8932565f.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеЭлементаИЗаполнениеРеквизитаПоискомПоНаименованию.mxl +d7807508-2ab6-4c4d-bc1c-d30f8932565f.0-->und\d7807508-2ab6-4c4d-bc1c-d30f8932565f.0 +dac1badd-b7ee-41a1-ab54-f227e08f2cb8-->und\dac1badd-b7ee-41a1-ab54-f227e08f2cb8 +dac1badd-b7ee-41a1-ab54-f227e08f2cb8.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеПростогоСправочника_ПустыеСтроки.mxl +dac1badd-b7ee-41a1-ab54-f227e08f2cb8.0-->und\dac1badd-b7ee-41a1-ab54-f227e08f2cb8.0 +e27b2c46-7b76-4b8d-a3e8-e1b0562943ca-->und\e27b2c46-7b76-4b8d-a3e8-e1b0562943ca +e27b2c46-7b76-4b8d-a3e8-e1b0562943ca.0-->und\e27b2c46-7b76-4b8d-a3e8-e1b0562943ca.0 +e27b2c46-7b76-4b8d-a3e8-e1b0562943ca.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\ИзменениеПредопределенногоСправочникаПоГуид.mxl +e893fd06-6ba8-4dd4-93be-d0810d679876-->und\e893fd06-6ba8-4dd4-93be-d0810d679876 +e893fd06-6ba8-4dd4-93be-d0810d679876.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеДокументаСДвумяСтрокамиВТабличнойЧасти.mxl +e893fd06-6ba8-4dd4-93be-d0810d679876.0-->und\e893fd06-6ba8-4dd4-93be-d0810d679876.0 +eec85b86-f35e-4612-83c9-7b4ba86f7cb0-->und\eec85b86-f35e-4612-83c9-7b4ba86f7cb0 +eec85b86-f35e-4612-83c9-7b4ba86f7cb0.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеСправочникаСРеквизитомПустаяСсылка.mxl +eec85b86-f35e-4612-83c9-7b4ba86f7cb0.0-->und\eec85b86-f35e-4612-83c9-7b4ba86f7cb0.0 +f175b23c-5152-4613-96dd-f6623676046d-->und\f175b23c-5152-4613-96dd-f6623676046d +f175b23c-5152-4613-96dd-f6623676046d.0-->und\f175b23c-5152-4613-96dd-f6623676046d.0 +f175b23c-5152-4613-96dd-f6623676046d.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеОбъектаСДвумяСтрокамиВТабличнойЧасти.mxl +f519cbc0-1404-4ef3-9377-16955dc46254-->und\f519cbc0-1404-4ef3-9377-16955dc46254 +f519cbc0-1404-4ef3-9377-16955dc46254.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\ТестДолжен_ПолучитьИсключениеПриПопыткеСоздатьЭлементИЗаполнитьРеквизитПоНеверномуНаименованию.mxl +f519cbc0-1404-4ef3-9377-16955dc46254.0-->und\f519cbc0-1404-4ef3-9377-16955dc46254.0 +f7694620-94c9-4acf-9617-83108e92a57e-->und\f7694620-94c9-4acf-9617-83108e92a57e +f7694620-94c9-4acf-9617-83108e92a57e.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеСправочникаСПомощьюДополнительныхСвойств.mxl +f7694620-94c9-4acf-9617-83108e92a57e.0-->und\f7694620-94c9-4acf-9617-83108e92a57e.0 +f7717042-aa60-4d5f-b166-8403fa143e74-->und\f7717042-aa60-4d5f-b166-8403fa143e74 +f7717042-aa60-4d5f-b166-8403fa143e74.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеСправочниковОбразующихЦиклическуюЗависимость.mxl +f7717042-aa60-4d5f-b166-8403fa143e74.0-->und\f7717042-aa60-4d5f-b166-8403fa143e74.0 +fb359264-55de-49ae-ae08-ff3931a4ec2f-->und\fb359264-55de-49ae-ae08-ff3931a4ec2f +fb359264-55de-49ae-ae08-ff3931a4ec2f.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеСвязанныхСправочников.mxl +fb359264-55de-49ae-ae08-ff3931a4ec2f.0-->und\fb359264-55de-49ae-ae08-ff3931a4ec2f.0 +fc5337e1-f68d-4b0c-82d4-2eedfe89178c-->und\fc5337e1-f68d-4b0c-82d4-2eedfe89178c +fc5337e1-f68d-4b0c-82d4-2eedfe89178c.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеОднойЗаписиВРегистреНакопления.mxl +fc5337e1-f68d-4b0c-82d4-2eedfe89178c.0-->und\fc5337e1-f68d-4b0c-82d4-2eedfe89178c.0 +fca00537-610e-40cf-aaf4-fb5faab4fda1-->und\fca00537-610e-40cf-aaf4-fb5faab4fda1 +fca00537-610e-40cf-aaf4-fb5faab4fda1.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_СериализаторMXL\Макеты\СозданиеДвухПростыхСправочников_с_ОдинаковымИменемПеременной.mxl +fca00537-610e-40cf-aaf4-fb5faab4fda1.0-->und\fca00537-610e-40cf-aaf4-fb5faab4fda1.0 +root-->und\root +version-->und\version +versions-->und\versions diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/0afb6777-fe50-4b9c-b180-77d1ee3a3d54" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/0afb6777-fe50-4b9c-b180-77d1ee3a3d54" new file mode 100644 index 00000000..fde5e85a --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/0afb6777-fe50-4b9c-b180-77d1ee3a3d54" @@ -0,0 +1,6 @@ +{1, +{2,0, +{0, +{0,0,0afb6777-fe50-4b9c-b180-77d1ee3a3d54},"ТестДолжен_ПолучитьИсключениеПриПопыткеСоздатьЭлементИЗаполнитьРеквизитПоНеверномуКоду", +{1,"ru","Тест должен получить исключение при попытке создать элемент и заполнить реквизит по неверному коду"},""} +},0} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/0afb6777-fe50-4b9c-b180-77d1ee3a3d54.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/0afb6777-fe50-4b9c-b180-77d1ee3a3d54.0" new file mode 100644 index 00000000..f0c2d37f Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/0afb6777-fe50-4b9c-b180-77d1ee3a3d54.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/165eaf09-2e00-4e46-be94-35f3b4ede990" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/165eaf09-2e00-4e46-be94-35f3b4ede990" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/165eaf09-2e00-4e46-be94-35f3b4ede990" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/165eaf09-2e00-4e46-be94-35f3b4ede990" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/165eaf09-2e00-4e46-be94-35f3b4ede990.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/165eaf09-2e00-4e46-be94-35f3b4ede990.0" similarity index 98% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/165eaf09-2e00-4e46-be94-35f3b4ede990.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/165eaf09-2e00-4e46-be94-35f3b4ede990.0" index a2addbb6..4e17c640 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/165eaf09-2e00-4e46-be94-35f3b4ede990.0" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/165eaf09-2e00-4e46-be94-35f3b4ede990.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/1d971496-56ca-48b0-a34e-b5359e900090" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/1d971496-56ca-48b0-a34e-b5359e900090" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/1d971496-56ca-48b0-a34e-b5359e900090" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/1d971496-56ca-48b0-a34e-b5359e900090" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/1d971496-56ca-48b0-a34e-b5359e900090.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/1d971496-56ca-48b0-a34e-b5359e900090.0" new file mode 100644 index 00000000..c8f9088f Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/1d971496-56ca-48b0-a34e-b5359e900090.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/1e918707-941f-4288-9af0-070c155a8173" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/1e918707-941f-4288-9af0-070c155a8173" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/1e918707-941f-4288-9af0-070c155a8173" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/1e918707-941f-4288-9af0-070c155a8173" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/1e918707-941f-4288-9af0-070c155a8173.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/1e918707-941f-4288-9af0-070c155a8173.0" similarity index 96% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/1e918707-941f-4288-9af0-070c155a8173.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/1e918707-941f-4288-9af0-070c155a8173.0" index 3edb1426..7a50adf6 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/1e918707-941f-4288-9af0-070c155a8173.0" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/1e918707-941f-4288-9af0-070c155a8173.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/214520bb-70cc-4e3a-a1be-4c6a0f5d9c73" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/214520bb-70cc-4e3a-a1be-4c6a0f5d9c73" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/214520bb-70cc-4e3a-a1be-4c6a0f5d9c73" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/214520bb-70cc-4e3a-a1be-4c6a0f5d9c73" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/214520bb-70cc-4e3a-a1be-4c6a0f5d9c73.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/214520bb-70cc-4e3a-a1be-4c6a0f5d9c73.0" new file mode 100644 index 00000000..dbd5d175 Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/214520bb-70cc-4e3a-a1be-4c6a0f5d9c73.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/2b4cbacc-14fa-4e57-bfab-9e9af6028901" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/2b4cbacc-14fa-4e57-bfab-9e9af6028901" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/2b4cbacc-14fa-4e57-bfab-9e9af6028901" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/2b4cbacc-14fa-4e57-bfab-9e9af6028901" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/2b4cbacc-14fa-4e57-bfab-9e9af6028901.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/2b4cbacc-14fa-4e57-bfab-9e9af6028901.0" new file mode 100644 index 00000000..8f317003 Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/2b4cbacc-14fa-4e57-bfab-9e9af6028901.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/2bf29867-3e26-4d83-8667-da5f11442794" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/2bf29867-3e26-4d83-8667-da5f11442794" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/2bf29867-3e26-4d83-8667-da5f11442794" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/2bf29867-3e26-4d83-8667-da5f11442794" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/2bf29867-3e26-4d83-8667-da5f11442794.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/2bf29867-3e26-4d83-8667-da5f11442794.0" new file mode 100644 index 00000000..ec1420d3 Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/2bf29867-3e26-4d83-8667-da5f11442794.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/2e398c8a-da05-4e85-9d97-c9680b935568" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/2e398c8a-da05-4e85-9d97-c9680b935568" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/2e398c8a-da05-4e85-9d97-c9680b935568" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/2e398c8a-da05-4e85-9d97-c9680b935568" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/2e398c8a-da05-4e85-9d97-c9680b935568.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/2e398c8a-da05-4e85-9d97-c9680b935568.0" new file mode 100644 index 00000000..98b1d65a Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/2e398c8a-da05-4e85-9d97-c9680b935568.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/451b28be-4cf6-4356-8c46-ad5cbc0deed0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/451b28be-4cf6-4356-8c46-ad5cbc0deed0" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/451b28be-4cf6-4356-8c46-ad5cbc0deed0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/451b28be-4cf6-4356-8c46-ad5cbc0deed0" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/451b28be-4cf6-4356-8c46-ad5cbc0deed0.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/451b28be-4cf6-4356-8c46-ad5cbc0deed0.0" new file mode 100644 index 00000000..e629ba75 Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/451b28be-4cf6-4356-8c46-ad5cbc0deed0.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/4a875fe8-d6dd-4488-ab26-9f1d41d624bb" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/4a875fe8-d6dd-4488-ab26-9f1d41d624bb" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/4a875fe8-d6dd-4488-ab26-9f1d41d624bb" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/4a875fe8-d6dd-4488-ab26-9f1d41d624bb" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/4a875fe8-d6dd-4488-ab26-9f1d41d624bb.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/4a875fe8-d6dd-4488-ab26-9f1d41d624bb.0" similarity index 94% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/4a875fe8-d6dd-4488-ab26-9f1d41d624bb.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/4a875fe8-d6dd-4488-ab26-9f1d41d624bb.0" index e0a3e2fb..85c7c230 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/4a875fe8-d6dd-4488-ab26-9f1d41d624bb.0" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/4a875fe8-d6dd-4488-ab26-9f1d41d624bb.0" differ diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/ae6662fb-90ac-432a-b3e3-1a666faafb75.0/info" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/4b3c529a-00d8-4aee-95a4-f20938cdebdd.0/info" similarity index 100% rename from "src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/ae6662fb-90ac-432a-b3e3-1a666faafb75.0/info" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/4b3c529a-00d8-4aee-95a4-f20938cdebdd.0/info" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/4be1f7e9-0ba6-478f-88e1-190254fe6c6b" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/4be1f7e9-0ba6-478f-88e1-190254fe6c6b" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/4be1f7e9-0ba6-478f-88e1-190254fe6c6b" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/4be1f7e9-0ba6-478f-88e1-190254fe6c6b" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/4be1f7e9-0ba6-478f-88e1-190254fe6c6b.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/4be1f7e9-0ba6-478f-88e1-190254fe6c6b.0" new file mode 100644 index 00000000..ec5707ec Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/4be1f7e9-0ba6-478f-88e1-190254fe6c6b.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/4fd62a2d-c8b6-4576-aa63-50cc023990e1" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/4fd62a2d-c8b6-4576-aa63-50cc023990e1" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/4fd62a2d-c8b6-4576-aa63-50cc023990e1" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/4fd62a2d-c8b6-4576-aa63-50cc023990e1" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/4fd62a2d-c8b6-4576-aa63-50cc023990e1.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/4fd62a2d-c8b6-4576-aa63-50cc023990e1.0" similarity index 94% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/4fd62a2d-c8b6-4576-aa63-50cc023990e1.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/4fd62a2d-c8b6-4576-aa63-50cc023990e1.0" index 1cfddb0a..a3741b33 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/4fd62a2d-c8b6-4576-aa63-50cc023990e1.0" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/4fd62a2d-c8b6-4576-aa63-50cc023990e1.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/509a10d9-9207-4066-a28d-978c04e34376" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/509a10d9-9207-4066-a28d-978c04e34376" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/509a10d9-9207-4066-a28d-978c04e34376" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/509a10d9-9207-4066-a28d-978c04e34376" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/509a10d9-9207-4066-a28d-978c04e34376.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/509a10d9-9207-4066-a28d-978c04e34376.0" new file mode 100644 index 00000000..f06a614d Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/509a10d9-9207-4066-a28d-978c04e34376.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/51a2c526-5e41-417b-a82e-0dd289a7974c" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/51a2c526-5e41-417b-a82e-0dd289a7974c" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/51a2c526-5e41-417b-a82e-0dd289a7974c" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/51a2c526-5e41-417b-a82e-0dd289a7974c" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/51a2c526-5e41-417b-a82e-0dd289a7974c.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/51a2c526-5e41-417b-a82e-0dd289a7974c.0" similarity index 94% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/51a2c526-5e41-417b-a82e-0dd289a7974c.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/51a2c526-5e41-417b-a82e-0dd289a7974c.0" index a2b6149f..f1f52c35 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/51a2c526-5e41-417b-a82e-0dd289a7974c.0" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/51a2c526-5e41-417b-a82e-0dd289a7974c.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/53c26b45-95ee-49f0-b946-d7b3e4fb2ff8" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/53c26b45-95ee-49f0-b946-d7b3e4fb2ff8" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/53c26b45-95ee-49f0-b946-d7b3e4fb2ff8" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/53c26b45-95ee-49f0-b946-d7b3e4fb2ff8" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/53c26b45-95ee-49f0-b946-d7b3e4fb2ff8.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/53c26b45-95ee-49f0-b946-d7b3e4fb2ff8.0" similarity index 98% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/53c26b45-95ee-49f0-b946-d7b3e4fb2ff8.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/53c26b45-95ee-49f0-b946-d7b3e4fb2ff8.0" index e4b61f45..0176125f 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/53c26b45-95ee-49f0-b946-d7b3e4fb2ff8.0" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/53c26b45-95ee-49f0-b946-d7b3e4fb2ff8.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/60c6634b-14aa-466f-a884-82ed4cb98d0f" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/60c6634b-14aa-466f-a884-82ed4cb98d0f" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/60c6634b-14aa-466f-a884-82ed4cb98d0f" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/60c6634b-14aa-466f-a884-82ed4cb98d0f" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/60c6634b-14aa-466f-a884-82ed4cb98d0f.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/60c6634b-14aa-466f-a884-82ed4cb98d0f.0" new file mode 100644 index 00000000..408398a0 Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/60c6634b-14aa-466f-a884-82ed4cb98d0f.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/68803c49-0345-4f51-9184-079744379408" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/68803c49-0345-4f51-9184-079744379408" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/68803c49-0345-4f51-9184-079744379408" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/68803c49-0345-4f51-9184-079744379408" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/68803c49-0345-4f51-9184-079744379408.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/68803c49-0345-4f51-9184-079744379408.0" new file mode 100644 index 00000000..c26c8c6e Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/68803c49-0345-4f51-9184-079744379408.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/714a1e77-6f6d-4a2f-9881-9dbb862d24a0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/714a1e77-6f6d-4a2f-9881-9dbb862d24a0" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/714a1e77-6f6d-4a2f-9881-9dbb862d24a0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/714a1e77-6f6d-4a2f-9881-9dbb862d24a0" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/714a1e77-6f6d-4a2f-9881-9dbb862d24a0.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/714a1e77-6f6d-4a2f-9881-9dbb862d24a0.0" similarity index 98% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/714a1e77-6f6d-4a2f-9881-9dbb862d24a0.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/714a1e77-6f6d-4a2f-9881-9dbb862d24a0.0" index 71bb31a0..5e3dad27 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/714a1e77-6f6d-4a2f-9881-9dbb862d24a0.0" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/714a1e77-6f6d-4a2f-9881-9dbb862d24a0.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/7617c188-4e70-484e-816e-20eda5229667" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/7617c188-4e70-484e-816e-20eda5229667" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/7617c188-4e70-484e-816e-20eda5229667" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/7617c188-4e70-484e-816e-20eda5229667" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/7617c188-4e70-484e-816e-20eda5229667.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/7617c188-4e70-484e-816e-20eda5229667.0" similarity index 98% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/7617c188-4e70-484e-816e-20eda5229667.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/7617c188-4e70-484e-816e-20eda5229667.0" index 00478fa8..31ef0c5e 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/7617c188-4e70-484e-816e-20eda5229667.0" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/7617c188-4e70-484e-816e-20eda5229667.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/7a41e200-05d3-4267-a721-5dbe73bf545e" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/7a41e200-05d3-4267-a721-5dbe73bf545e" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/7a41e200-05d3-4267-a721-5dbe73bf545e" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/7a41e200-05d3-4267-a721-5dbe73bf545e" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/7a41e200-05d3-4267-a721-5dbe73bf545e.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/7a41e200-05d3-4267-a721-5dbe73bf545e.0" new file mode 100644 index 00000000..48fef663 Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/7a41e200-05d3-4267-a721-5dbe73bf545e.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/7af53c68-a0ad-4144-85f4-d11d73853384" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/7af53c68-a0ad-4144-85f4-d11d73853384" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/7af53c68-a0ad-4144-85f4-d11d73853384" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/7af53c68-a0ad-4144-85f4-d11d73853384" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/7af53c68-a0ad-4144-85f4-d11d73853384.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/7af53c68-a0ad-4144-85f4-d11d73853384.0" new file mode 100644 index 00000000..aa31ae9c Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/7af53c68-a0ad-4144-85f4-d11d73853384.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/80a98912-c1e3-43b2-ae00-21118328107f" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/80a98912-c1e3-43b2-ae00-21118328107f" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/80a98912-c1e3-43b2-ae00-21118328107f" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/80a98912-c1e3-43b2-ae00-21118328107f" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/80a98912-c1e3-43b2-ae00-21118328107f.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/80a98912-c1e3-43b2-ae00-21118328107f.0" similarity index 97% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/80a98912-c1e3-43b2-ae00-21118328107f.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/80a98912-c1e3-43b2-ae00-21118328107f.0" index 1ee36ea4..8a219223 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/80a98912-c1e3-43b2-ae00-21118328107f.0" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/80a98912-c1e3-43b2-ae00-21118328107f.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/834d10a6-75f9-4eac-ae53-66a3704bddbc" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/834d10a6-75f9-4eac-ae53-66a3704bddbc" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/834d10a6-75f9-4eac-ae53-66a3704bddbc" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/834d10a6-75f9-4eac-ae53-66a3704bddbc" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/834d10a6-75f9-4eac-ae53-66a3704bddbc.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/834d10a6-75f9-4eac-ae53-66a3704bddbc.0" similarity index 94% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/834d10a6-75f9-4eac-ae53-66a3704bddbc.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/834d10a6-75f9-4eac-ae53-66a3704bddbc.0" index ab698ba3..a57d6007 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/834d10a6-75f9-4eac-ae53-66a3704bddbc.0" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/834d10a6-75f9-4eac-ae53-66a3704bddbc.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/8b1a6140-f7e3-4151-adce-db0a2046364e" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/8b1a6140-f7e3-4151-adce-db0a2046364e" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/8b1a6140-f7e3-4151-adce-db0a2046364e" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/8b1a6140-f7e3-4151-adce-db0a2046364e" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/8b1a6140-f7e3-4151-adce-db0a2046364e.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/8b1a6140-f7e3-4151-adce-db0a2046364e.0" new file mode 100644 index 00000000..4d97460c Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/8b1a6140-f7e3-4151-adce-db0a2046364e.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/8c5a9e9d-a3b1-4e65-ac06-1b4ae36468d1" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/8c5a9e9d-a3b1-4e65-ac06-1b4ae36468d1" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/8c5a9e9d-a3b1-4e65-ac06-1b4ae36468d1" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/8c5a9e9d-a3b1-4e65-ac06-1b4ae36468d1" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/8c5a9e9d-a3b1-4e65-ac06-1b4ae36468d1.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/8c5a9e9d-a3b1-4e65-ac06-1b4ae36468d1.0" similarity index 97% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/8c5a9e9d-a3b1-4e65-ac06-1b4ae36468d1.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/8c5a9e9d-a3b1-4e65-ac06-1b4ae36468d1.0" index eb7d375a..03595e9e 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/8c5a9e9d-a3b1-4e65-ac06-1b4ae36468d1.0" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/8c5a9e9d-a3b1-4e65-ac06-1b4ae36468d1.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/8cda2b2d-c64b-4e21-9de6-dd49a12576e0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/8cda2b2d-c64b-4e21-9de6-dd49a12576e0" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/8cda2b2d-c64b-4e21-9de6-dd49a12576e0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/8cda2b2d-c64b-4e21-9de6-dd49a12576e0" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/8cda2b2d-c64b-4e21-9de6-dd49a12576e0.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/8cda2b2d-c64b-4e21-9de6-dd49a12576e0.0" similarity index 96% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/8cda2b2d-c64b-4e21-9de6-dd49a12576e0.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/8cda2b2d-c64b-4e21-9de6-dd49a12576e0.0" index 936244a3..a58008a7 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/8cda2b2d-c64b-4e21-9de6-dd49a12576e0.0" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/8cda2b2d-c64b-4e21-9de6-dd49a12576e0.0" differ diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/8e915235-e32d-4205-bb26-918ba63bb0f5" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/8e915235-e32d-4205-bb26-918ba63bb0f5" new file mode 100644 index 00000000..80a1017b --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/8e915235-e32d-4205-bb26-918ba63bb0f5" @@ -0,0 +1,6 @@ +{1, +{2,0, +{0, +{0,0,8e915235-e32d-4205-bb26-918ba63bb0f5},"ТестДолжен_ПолучитьИсключениеНеверныйРежимПоиска", +{1,"ru","Тест должен получить исключение неверный режим поиска"},""} +},0} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/8e915235-e32d-4205-bb26-918ba63bb0f5.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/8e915235-e32d-4205-bb26-918ba63bb0f5.0" new file mode 100644 index 00000000..253afb52 Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/8e915235-e32d-4205-bb26-918ba63bb0f5.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/902d78a5-fdd6-4652-9714-414d8ad6ece3" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/902d78a5-fdd6-4652-9714-414d8ad6ece3" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/902d78a5-fdd6-4652-9714-414d8ad6ece3" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/902d78a5-fdd6-4652-9714-414d8ad6ece3" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/902d78a5-fdd6-4652-9714-414d8ad6ece3.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/902d78a5-fdd6-4652-9714-414d8ad6ece3.0" similarity index 93% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/902d78a5-fdd6-4652-9714-414d8ad6ece3.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/902d78a5-fdd6-4652-9714-414d8ad6ece3.0" index 6ed1e4d1..8bb44673 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/902d78a5-fdd6-4652-9714-414d8ad6ece3.0" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/902d78a5-fdd6-4652-9714-414d8ad6ece3.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/91470bcf-5031-4550-8470-113df7855131" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/91470bcf-5031-4550-8470-113df7855131" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/91470bcf-5031-4550-8470-113df7855131" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/91470bcf-5031-4550-8470-113df7855131" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/91470bcf-5031-4550-8470-113df7855131.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/91470bcf-5031-4550-8470-113df7855131.0" new file mode 100644 index 00000000..b0cc99e7 Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/91470bcf-5031-4550-8470-113df7855131.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/924914a6-730c-45fb-838b-ce5d93b80394" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/924914a6-730c-45fb-838b-ce5d93b80394" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/924914a6-730c-45fb-838b-ce5d93b80394" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/924914a6-730c-45fb-838b-ce5d93b80394" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/924914a6-730c-45fb-838b-ce5d93b80394.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/924914a6-730c-45fb-838b-ce5d93b80394.0" similarity index 94% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/924914a6-730c-45fb-838b-ce5d93b80394.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/924914a6-730c-45fb-838b-ce5d93b80394.0" index 2c12bfd5..7bdbea7b 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/924914a6-730c-45fb-838b-ce5d93b80394.0" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/924914a6-730c-45fb-838b-ce5d93b80394.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/96faf09e-5646-4b0f-8601-e72057dbe7f7" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/96faf09e-5646-4b0f-8601-e72057dbe7f7" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/96faf09e-5646-4b0f-8601-e72057dbe7f7" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/96faf09e-5646-4b0f-8601-e72057dbe7f7" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/96faf09e-5646-4b0f-8601-e72057dbe7f7.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/96faf09e-5646-4b0f-8601-e72057dbe7f7.0" similarity index 94% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/96faf09e-5646-4b0f-8601-e72057dbe7f7.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/96faf09e-5646-4b0f-8601-e72057dbe7f7.0" index e1354883..b836128c 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/96faf09e-5646-4b0f-8601-e72057dbe7f7.0" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/96faf09e-5646-4b0f-8601-e72057dbe7f7.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e.0" new file mode 100644 index 00000000..1c82c29b Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/9d5cc378-50c8-49c6-a45d-fceefcc4a5c5" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/9d5cc378-50c8-49c6-a45d-fceefcc4a5c5" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/9d5cc378-50c8-49c6-a45d-fceefcc4a5c5" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/9d5cc378-50c8-49c6-a45d-fceefcc4a5c5" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/9d5cc378-50c8-49c6-a45d-fceefcc4a5c5.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/9d5cc378-50c8-49c6-a45d-fceefcc4a5c5.0" new file mode 100644 index 00000000..51ca26dd Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/9d5cc378-50c8-49c6-a45d-fceefcc4a5c5.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/a1a3092f-ed45-44ca-9854-834abd352cd4" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/a1a3092f-ed45-44ca-9854-834abd352cd4" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/a1a3092f-ed45-44ca-9854-834abd352cd4" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/a1a3092f-ed45-44ca-9854-834abd352cd4" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/a1a3092f-ed45-44ca-9854-834abd352cd4.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/a1a3092f-ed45-44ca-9854-834abd352cd4.0" new file mode 100644 index 00000000..fc030aff Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/a1a3092f-ed45-44ca-9854-834abd352cd4.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/a5026b9b-d215-4c30-9de1-c54424949e4a" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/a5026b9b-d215-4c30-9de1-c54424949e4a" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/a5026b9b-d215-4c30-9de1-c54424949e4a" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/a5026b9b-d215-4c30-9de1-c54424949e4a" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/a5026b9b-d215-4c30-9de1-c54424949e4a.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/a5026b9b-d215-4c30-9de1-c54424949e4a.0" new file mode 100644 index 00000000..1560efd9 Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/a5026b9b-d215-4c30-9de1-c54424949e4a.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/b0adb70d-1e31-4637-8c1d-7f6f33baaa7b" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/b0adb70d-1e31-4637-8c1d-7f6f33baaa7b" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/b0adb70d-1e31-4637-8c1d-7f6f33baaa7b" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/b0adb70d-1e31-4637-8c1d-7f6f33baaa7b" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/b0adb70d-1e31-4637-8c1d-7f6f33baaa7b.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/b0adb70d-1e31-4637-8c1d-7f6f33baaa7b.0" new file mode 100644 index 00000000..d1546b5d Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/b0adb70d-1e31-4637-8c1d-7f6f33baaa7b.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/bdaf3325-bb9b-4677-ba6e-56a642df2687" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/bdaf3325-bb9b-4677-ba6e-56a642df2687" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/bdaf3325-bb9b-4677-ba6e-56a642df2687" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/bdaf3325-bb9b-4677-ba6e-56a642df2687" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/bdaf3325-bb9b-4677-ba6e-56a642df2687.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/bdaf3325-bb9b-4677-ba6e-56a642df2687.0" similarity index 94% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/bdaf3325-bb9b-4677-ba6e-56a642df2687.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/bdaf3325-bb9b-4677-ba6e-56a642df2687.0" index 6b6b2643..1f31d4d0 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/bdaf3325-bb9b-4677-ba6e-56a642df2687.0" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/bdaf3325-bb9b-4677-ba6e-56a642df2687.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/c0731e2c-fd73-4143-8a60-52e72c809569" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/c0731e2c-fd73-4143-8a60-52e72c809569" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/c0731e2c-fd73-4143-8a60-52e72c809569" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/c0731e2c-fd73-4143-8a60-52e72c809569" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/c0731e2c-fd73-4143-8a60-52e72c809569.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/c0731e2c-fd73-4143-8a60-52e72c809569.0" new file mode 100644 index 00000000..2fdc4b82 Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/c0731e2c-fd73-4143-8a60-52e72c809569.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/c1e853ea-3959-486e-aff1-5ccaf10f6c48" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/c1e853ea-3959-486e-aff1-5ccaf10f6c48" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/c1e853ea-3959-486e-aff1-5ccaf10f6c48" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/c1e853ea-3959-486e-aff1-5ccaf10f6c48" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/c1e853ea-3959-486e-aff1-5ccaf10f6c48.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/c1e853ea-3959-486e-aff1-5ccaf10f6c48.0" similarity index 94% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/c1e853ea-3959-486e-aff1-5ccaf10f6c48.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/c1e853ea-3959-486e-aff1-5ccaf10f6c48.0" index d3eaf2d4..49659873 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/c1e853ea-3959-486e-aff1-5ccaf10f6c48.0" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/c1e853ea-3959-486e-aff1-5ccaf10f6c48.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/c698bb5e-86eb-40ec-96d7-b8badc816715" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/c698bb5e-86eb-40ec-96d7-b8badc816715" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/c698bb5e-86eb-40ec-96d7-b8badc816715" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/c698bb5e-86eb-40ec-96d7-b8badc816715" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/c698bb5e-86eb-40ec-96d7-b8badc816715.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/c698bb5e-86eb-40ec-96d7-b8badc816715.0" similarity index 97% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/c698bb5e-86eb-40ec-96d7-b8badc816715.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/c698bb5e-86eb-40ec-96d7-b8badc816715.0" index da1883fd..2f4d5e3a 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/c698bb5e-86eb-40ec-96d7-b8badc816715.0" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/c698bb5e-86eb-40ec-96d7-b8badc816715.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/c7efc6f1-5a5e-4278-9b62-9cf796fb363e" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/c7efc6f1-5a5e-4278-9b62-9cf796fb363e" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/c7efc6f1-5a5e-4278-9b62-9cf796fb363e" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/c7efc6f1-5a5e-4278-9b62-9cf796fb363e" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/c7efc6f1-5a5e-4278-9b62-9cf796fb363e.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/c7efc6f1-5a5e-4278-9b62-9cf796fb363e.0" similarity index 97% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/c7efc6f1-5a5e-4278-9b62-9cf796fb363e.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/c7efc6f1-5a5e-4278-9b62-9cf796fb363e.0" index b86f2736..2900c24d 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/c7efc6f1-5a5e-4278-9b62-9cf796fb363e.0" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/c7efc6f1-5a5e-4278-9b62-9cf796fb363e.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/copyinfo" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/copyinfo" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/copyinfo" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/copyinfo" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/d28a1211-a8c4-425c-87f2-c429f96d426f" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/d28a1211-a8c4-425c-87f2-c429f96d426f" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/d28a1211-a8c4-425c-87f2-c429f96d426f" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/d28a1211-a8c4-425c-87f2-c429f96d426f" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/d28a1211-a8c4-425c-87f2-c429f96d426f.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/d28a1211-a8c4-425c-87f2-c429f96d426f.0" new file mode 100644 index 00000000..0f2d8b9a Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/d28a1211-a8c4-425c-87f2-c429f96d426f.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/d2e225b3-d6f9-485c-9304-31c9c31fa8f7" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/d2e225b3-d6f9-485c-9304-31c9c31fa8f7" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/d2e225b3-d6f9-485c-9304-31c9c31fa8f7" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/d2e225b3-d6f9-485c-9304-31c9c31fa8f7" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/d2e225b3-d6f9-485c-9304-31c9c31fa8f7.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/d2e225b3-d6f9-485c-9304-31c9c31fa8f7.0" similarity index 96% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/d2e225b3-d6f9-485c-9304-31c9c31fa8f7.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/d2e225b3-d6f9-485c-9304-31c9c31fa8f7.0" index d8f4606c..47cc51d7 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/d2e225b3-d6f9-485c-9304-31c9c31fa8f7.0" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/d2e225b3-d6f9-485c-9304-31c9c31fa8f7.0" differ diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/d51f673a-a707-44d6-9610-d58ad958de44" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/d51f673a-a707-44d6-9610-d58ad958de44" new file mode 100644 index 00000000..54ad545d --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/d51f673a-a707-44d6-9610-d58ad958de44" @@ -0,0 +1,17 @@ +{1, +{d51f673a-a707-44d6-9610-d58ad958de44},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,c303cfea-5e87-4f36-bd34-286c1fc6cc41,5f300b26-59c4-448c-81dc-220c36897d84, +{0, +{0, +{0,0,4b3c529a-00d8-4aee-95a4-f20938cdebdd},"Тесты_СериализаторMXL", +{1,"ru","Тесты сериализатор MXL"},""} +},00000000-0000-0000-0000-000000000000,"",00000000-0000-0000-0000-000000000000},4, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, +{3daea016-69b7-4ed4-9453-127911372fe6,56,7af53c68-a0ad-4144-85f4-d11d73853384,60c6634b-14aa-466f-a884-82ed4cb98d0f,4a875fe8-d6dd-4488-ab26-9f1d41d624bb,dac1badd-b7ee-41a1-ab54-f227e08f2cb8,902d78a5-fdd6-4652-9714-414d8ad6ece3,834d10a6-75f9-4eac-ae53-66a3704bddbc,f7694620-94c9-4acf-9617-83108e92a57e,d2e225b3-d6f9-485c-9304-31c9c31fa8f7,c1e853ea-3959-486e-aff1-5ccaf10f6c48,bdaf3325-bb9b-4677-ba6e-56a642df2687,e27b2c46-7b76-4b8d-a3e8-e1b0562943ca,a5026b9b-d215-4c30-9de1-c54424949e4a,8b1a6140-f7e3-4151-adce-db0a2046364e,d28a1211-a8c4-425c-87f2-c429f96d426f,fca00537-610e-40cf-aaf4-fb5faab4fda1,fb359264-55de-49ae-ae08-ff3931a4ec2f,eec85b86-f35e-4612-83c9-7b4ba86f7cb0,9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e,f175b23c-5152-4613-96dd-f6623676046d,2bf29867-3e26-4d83-8667-da5f11442794,451b28be-4cf6-4356-8c46-ad5cbc0deed0,e893fd06-6ba8-4dd4-93be-d0810d679876,91470bcf-5031-4550-8470-113df7855131,2b4cbacc-14fa-4e57-bfab-9e9af6028901,c7efc6f1-5a5e-4278-9b62-9cf796fb363e,d764edfb-6285-4f77-ba58-4f8321a489a4,214520bb-70cc-4e3a-a1be-4c6a0f5d9c73,8c5a9e9d-a3b1-4e65-ac06-1b4ae36468d1,c698bb5e-86eb-40ec-96d7-b8badc816715,509a10d9-9207-4066-a28d-978c04e34376,68803c49-0345-4f51-9184-079744379408,7a41e200-05d3-4267-a721-5dbe73bf545e,0afb6777-fe50-4b9c-b180-77d1ee3a3d54,8e915235-e32d-4205-bb26-918ba63bb0f5,d7807508-2ab6-4c4d-bc1c-d30f8932565f,f519cbc0-1404-4ef3-9377-16955dc46254,2e398c8a-da05-4e85-9d97-c9680b935568,1d971496-56ca-48b0-a34e-b5359e900090,51a2c526-5e41-417b-a82e-0dd289a7974c,b0adb70d-1e31-4637-8c1d-7f6f33baaa7b,9d5cc378-50c8-49c6-a45d-fceefcc4a5c5,a1a3092f-ed45-44ca-9854-834abd352cd4,96faf09e-5646-4b0f-8601-e72057dbe7f7,4fd62a2d-c8b6-4576-aa63-50cc023990e1,c0731e2c-fd73-4143-8a60-52e72c809569,fc5337e1-f68d-4b0c-82d4-2eedfe89178c,4be1f7e9-0ba6-478f-88e1-190254fe6c6b,53c26b45-95ee-49f0-b946-d7b3e4fb2ff8,165eaf09-2e00-4e46-be94-35f3b4ede990,8cda2b2d-c64b-4e21-9de6-dd49a12576e0,7617c188-4e70-484e-816e-20eda5229667,714a1e77-6f6d-4a2f-9881-9dbb862d24a0,924914a6-730c-45fb-838b-ce5d93b80394,f7717042-aa60-4d5f-b166-8403fa143e74,80a98912-c1e3-43b2-ae00-21118328107f,1e918707-941f-4288-9af0-070c155a8173}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} +} +} +} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/d764edfb-6285-4f77-ba58-4f8321a489a4" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/d764edfb-6285-4f77-ba58-4f8321a489a4" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/d764edfb-6285-4f77-ba58-4f8321a489a4" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/d764edfb-6285-4f77-ba58-4f8321a489a4" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/d764edfb-6285-4f77-ba58-4f8321a489a4.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/d764edfb-6285-4f77-ba58-4f8321a489a4.0" new file mode 100644 index 00000000..03096696 Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/d764edfb-6285-4f77-ba58-4f8321a489a4.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/d7807508-2ab6-4c4d-bc1c-d30f8932565f" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/d7807508-2ab6-4c4d-bc1c-d30f8932565f" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/d7807508-2ab6-4c4d-bc1c-d30f8932565f" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/d7807508-2ab6-4c4d-bc1c-d30f8932565f" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/d7807508-2ab6-4c4d-bc1c-d30f8932565f.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/d7807508-2ab6-4c4d-bc1c-d30f8932565f.0" new file mode 100644 index 00000000..c004a73e Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/d7807508-2ab6-4c4d-bc1c-d30f8932565f.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/dac1badd-b7ee-41a1-ab54-f227e08f2cb8" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/dac1badd-b7ee-41a1-ab54-f227e08f2cb8" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/dac1badd-b7ee-41a1-ab54-f227e08f2cb8" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/dac1badd-b7ee-41a1-ab54-f227e08f2cb8" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/dac1badd-b7ee-41a1-ab54-f227e08f2cb8.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/dac1badd-b7ee-41a1-ab54-f227e08f2cb8.0" similarity index 94% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/dac1badd-b7ee-41a1-ab54-f227e08f2cb8.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/dac1badd-b7ee-41a1-ab54-f227e08f2cb8.0" index 59d7073e..d6d0f3ee 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/dac1badd-b7ee-41a1-ab54-f227e08f2cb8.0" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/dac1badd-b7ee-41a1-ab54-f227e08f2cb8.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/e27b2c46-7b76-4b8d-a3e8-e1b0562943ca" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/e27b2c46-7b76-4b8d-a3e8-e1b0562943ca" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/e27b2c46-7b76-4b8d-a3e8-e1b0562943ca" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/e27b2c46-7b76-4b8d-a3e8-e1b0562943ca" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/e27b2c46-7b76-4b8d-a3e8-e1b0562943ca.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/e27b2c46-7b76-4b8d-a3e8-e1b0562943ca.0" similarity index 94% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/e27b2c46-7b76-4b8d-a3e8-e1b0562943ca.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/e27b2c46-7b76-4b8d-a3e8-e1b0562943ca.0" index 36c52e59..8752ceaf 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/e27b2c46-7b76-4b8d-a3e8-e1b0562943ca.0" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/e27b2c46-7b76-4b8d-a3e8-e1b0562943ca.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/e893fd06-6ba8-4dd4-93be-d0810d679876" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/e893fd06-6ba8-4dd4-93be-d0810d679876" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/e893fd06-6ba8-4dd4-93be-d0810d679876" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/e893fd06-6ba8-4dd4-93be-d0810d679876" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/e893fd06-6ba8-4dd4-93be-d0810d679876.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/e893fd06-6ba8-4dd4-93be-d0810d679876.0" new file mode 100644 index 00000000..34c4d6f1 Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/e893fd06-6ba8-4dd4-93be-d0810d679876.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/eec85b86-f35e-4612-83c9-7b4ba86f7cb0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/eec85b86-f35e-4612-83c9-7b4ba86f7cb0" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/eec85b86-f35e-4612-83c9-7b4ba86f7cb0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/eec85b86-f35e-4612-83c9-7b4ba86f7cb0" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/eec85b86-f35e-4612-83c9-7b4ba86f7cb0.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/eec85b86-f35e-4612-83c9-7b4ba86f7cb0.0" similarity index 94% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/eec85b86-f35e-4612-83c9-7b4ba86f7cb0.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/eec85b86-f35e-4612-83c9-7b4ba86f7cb0.0" index 05fd6254..892afe59 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/eec85b86-f35e-4612-83c9-7b4ba86f7cb0.0" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/eec85b86-f35e-4612-83c9-7b4ba86f7cb0.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/f175b23c-5152-4613-96dd-f6623676046d" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/f175b23c-5152-4613-96dd-f6623676046d" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/f175b23c-5152-4613-96dd-f6623676046d" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/f175b23c-5152-4613-96dd-f6623676046d" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/f175b23c-5152-4613-96dd-f6623676046d.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/f175b23c-5152-4613-96dd-f6623676046d.0" new file mode 100644 index 00000000..867c1e71 Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/f175b23c-5152-4613-96dd-f6623676046d.0" differ diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/f519cbc0-1404-4ef3-9377-16955dc46254" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/f519cbc0-1404-4ef3-9377-16955dc46254" new file mode 100644 index 00000000..f77e7725 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/f519cbc0-1404-4ef3-9377-16955dc46254" @@ -0,0 +1,6 @@ +{1, +{2,0, +{0, +{0,0,f519cbc0-1404-4ef3-9377-16955dc46254},"ТестДолжен_ПолучитьИсключениеПриПопыткеСоздатьЭлементИЗаполнитьРеквизитПоНеверномуНаименованию", +{1,"ru","Тест должен получить исключение при попытке создать элемент и заполнить реквизит по неверному наименованию"},""} +},0} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/f519cbc0-1404-4ef3-9377-16955dc46254.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/f519cbc0-1404-4ef3-9377-16955dc46254.0" new file mode 100644 index 00000000..5a1c0e7a Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/f519cbc0-1404-4ef3-9377-16955dc46254.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/f7694620-94c9-4acf-9617-83108e92a57e" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/f7694620-94c9-4acf-9617-83108e92a57e" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/f7694620-94c9-4acf-9617-83108e92a57e" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/f7694620-94c9-4acf-9617-83108e92a57e" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/f7694620-94c9-4acf-9617-83108e92a57e.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/f7694620-94c9-4acf-9617-83108e92a57e.0" similarity index 96% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/f7694620-94c9-4acf-9617-83108e92a57e.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/f7694620-94c9-4acf-9617-83108e92a57e.0" index 62f0871c..d95b869c 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/f7694620-94c9-4acf-9617-83108e92a57e.0" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/f7694620-94c9-4acf-9617-83108e92a57e.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/f7717042-aa60-4d5f-b166-8403fa143e74" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/f7717042-aa60-4d5f-b166-8403fa143e74" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/f7717042-aa60-4d5f-b166-8403fa143e74" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/f7717042-aa60-4d5f-b166-8403fa143e74" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/f7717042-aa60-4d5f-b166-8403fa143e74.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/f7717042-aa60-4d5f-b166-8403fa143e74.0" similarity index 96% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/f7717042-aa60-4d5f-b166-8403fa143e74.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/f7717042-aa60-4d5f-b166-8403fa143e74.0" index bd90b9ce..f271084d 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/f7717042-aa60-4d5f-b166-8403fa143e74.0" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/f7717042-aa60-4d5f-b166-8403fa143e74.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/fb359264-55de-49ae-ae08-ff3931a4ec2f" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/fb359264-55de-49ae-ae08-ff3931a4ec2f" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/fb359264-55de-49ae-ae08-ff3931a4ec2f" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/fb359264-55de-49ae-ae08-ff3931a4ec2f" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/fb359264-55de-49ae-ae08-ff3931a4ec2f.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/fb359264-55de-49ae-ae08-ff3931a4ec2f.0" new file mode 100644 index 00000000..0a4c734a Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/fb359264-55de-49ae-ae08-ff3931a4ec2f.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/fc5337e1-f68d-4b0c-82d4-2eedfe89178c" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/fc5337e1-f68d-4b0c-82d4-2eedfe89178c" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/fc5337e1-f68d-4b0c-82d4-2eedfe89178c" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/fc5337e1-f68d-4b0c-82d4-2eedfe89178c" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/fc5337e1-f68d-4b0c-82d4-2eedfe89178c.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/fc5337e1-f68d-4b0c-82d4-2eedfe89178c.0" new file mode 100644 index 00000000..48f35ca7 Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/fc5337e1-f68d-4b0c-82d4-2eedfe89178c.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/fca00537-610e-40cf-aaf4-fb5faab4fda1" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/fca00537-610e-40cf-aaf4-fb5faab4fda1" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/fca00537-610e-40cf-aaf4-fb5faab4fda1" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/fca00537-610e-40cf-aaf4-fb5faab4fda1" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/fca00537-610e-40cf-aaf4-fb5faab4fda1.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/fca00537-610e-40cf-aaf4-fb5faab4fda1.0" new file mode 100644 index 00000000..3ec75fd7 Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/fca00537-610e-40cf-aaf4-fb5faab4fda1.0" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/root" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/root" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/und/root" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/root" diff --git a/src/Tests/selftests/Tests_CmdLine/und/version "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/version" similarity index 100% rename from src/Tests/selftests/Tests_CmdLine/und/version rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/version" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/versions" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/versions" new file mode 100644 index 00000000..c115e259 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/und/versions" @@ -0,0 +1 @@ +{1,123,"8cda2b2d-c64b-4e21-9de6-dd49a12576e0.0",d5a04b5b-a8eb-46d8-b28c-74b360dcce47,"",eaf0f192-5610-40e6-bd42-dac71fbd0110,"d764edfb-6285-4f77-ba58-4f8321a489a4",cddee156-ac92-4f26-b9a7-9a376d0dc281,"165eaf09-2e00-4e46-be94-35f3b4ede990.0",1f04fc90-3be6-4835-ad98-521196e53053,"834d10a6-75f9-4eac-ae53-66a3704bddbc.0",1fb3f59f-ff36-441e-8645-0910def52f88,"8b1a6140-f7e3-4151-adce-db0a2046364e.0",a50fe478-2433-4d45-abf3-d05350c4ebd3,"0afb6777-fe50-4b9c-b180-77d1ee3a3d54",323e384f-96b3-4423-82b3-8cf9e00b0049,"dac1badd-b7ee-41a1-ab54-f227e08f2cb8.0",0ba2f244-f58a-4855-9876-6e062b411ad2,"d28a1211-a8c4-425c-87f2-c429f96d426f",797eaa7d-a4c4-445e-a053-7ca877325faa,"c0731e2c-fd73-4143-8a60-52e72c809569",860c8abd-fec1-40f7-bcc5-e3ce045e9b6b,"2b4cbacc-14fa-4e57-bfab-9e9af6028901.0",421b184a-4736-4402-9811-47030fe2c3a9,"60c6634b-14aa-466f-a884-82ed4cb98d0f",eec2a1f5-422c-40fe-a497-b176245213a9,"c7efc6f1-5a5e-4278-9b62-9cf796fb363e.0",0025c2a8-032c-4463-b032-c677d2484509,"509a10d9-9207-4066-a28d-978c04e34376.0",20e1ed8b-3c1f-4c53-8da4-eccfdb360c60,"9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e",568c9c2f-7343-457e-a6c2-aef68b0c627e,"924914a6-730c-45fb-838b-ce5d93b80394.0",c217add8-3dfb-4759-9c0f-8e89a0118d94,"53c26b45-95ee-49f0-b946-d7b3e4fb2ff8",1b6a1f95-541c-48bd-ab6c-34965c2be569,"dac1badd-b7ee-41a1-ab54-f227e08f2cb8",9d53c169-9560-4230-a10b-d494c10befe3,"f175b23c-5152-4613-96dd-f6623676046d.0",f14f2a6e-6a28-4ea8-9cb5-d7e7dbd16edb,"451b28be-4cf6-4356-8c46-ad5cbc0deed0.0",064ea6ba-8165-4d87-b7d4-30da630b7dca,"c0731e2c-fd73-4143-8a60-52e72c809569.0",35bca642-28bb-4a04-9bc7-701666d39dcb,"3937886f-642a-44c1-83c7-44dbead5abbf",409ecbe7-fc8a-4163-ae5b-571a476890bb,"e7f935fc-34ab-4e41-b308-92605f8d191d",1c644324-c24b-456c-a01a-e3e9142a08af,"fca00537-610e-40cf-aaf4-fb5faab4fda1",2d0b2f4e-f9d5-4f4e-b4f8-6b372e1c93ba,"f7717042-aa60-4d5f-b166-8403fa143e74.0",505be7fc-1d03-453c-ba08-efb8c2c7f686,"f7694620-94c9-4acf-9617-83108e92a57e",e16049f6-ffc9-4049-8ba3-e0127be9da43,"eec85b86-f35e-4612-83c9-7b4ba86f7cb0",88b58269-9e5a-43ea-9691-beaabcea36dd,"2e398c8a-da05-4e85-9d97-c9680b935568.0",401d8d84-81d0-40ef-b6ac-b50111be9b0b,"91470bcf-5031-4550-8470-113df7855131.0",e538c3dd-1f50-4766-957d-26b90c1c2f90,"96faf09e-5646-4b0f-8601-e72057dbe7f7.0",093356b1-760e-491e-91ca-80b87aedc3c6,"c1e853ea-3959-486e-aff1-5ccaf10f6c48.0",3fb13a04-e65f-4dcf-9cfc-c92dfe16a579,"bdaf3325-bb9b-4677-ba6e-56a642df2687",3dca6f8e-c0a3-4074-9d93-7bfb0a6f361c,"2b4cbacc-14fa-4e57-bfab-9e9af6028901",f9d6921c-152c-4875-8369-1bc5c49727b8,"d51f673a-a707-44d6-9610-d58ad958de44",d93aa524-45bd-4ec2-9a46-79309666df47,"834d10a6-75f9-4eac-ae53-66a3704bddbc",e4a43aaa-0c82-4d26-94c3-d66d5f6e0e67,"68803c49-0345-4f51-9184-079744379408.0",ddeaf50b-b242-48e5-9180-c4f82ba28d0d,"902d78a5-fdd6-4652-9714-414d8ad6ece3.0",632c51d5-459c-4b81-ac2e-30a81003f341,"a1a3092f-ed45-44ca-9854-834abd352cd4",20a26321-2f50-41cf-94dc-8656b3963175,"4b3c529a-00d8-4aee-95a4-f20938cdebdd.0",a7b6847e-fc2b-4e64-ae3f-3d57d905a1a9,"9cdde6cb-0ea6-4850-ba3c-c7872ceaf52e.0",d2cfeab8-5dc7-47bc-81a2-7ed1849b7027,"d2e225b3-d6f9-485c-9304-31c9c31fa8f7.0",5aff69d6-874d-42f8-9c36-2b8c75bfd017,"a5026b9b-d215-4c30-9de1-c54424949e4a.0",a9727352-3a9e-4966-a5b6-70bd59951da9,"d2e225b3-d6f9-485c-9304-31c9c31fa8f7",d91da3f9-d980-4428-a19f-a8c7743bd4c8,"4fd62a2d-c8b6-4576-aa63-50cc023990e1.0",e7b5dfa2-de93-4d56-ad3e-00b8c14228ab,"60c6634b-14aa-466f-a884-82ed4cb98d0f.0",f2719566-9a6e-4dbe-a601-108781e0c62d,"509a10d9-9207-4066-a28d-978c04e34376",12bbdb27-471e-4274-9773-54120b926f04,"902d78a5-fdd6-4652-9714-414d8ad6ece3",c02eba39-9abe-47dd-ba59-3fa687b15ada,"80a98912-c1e3-43b2-ae00-21118328107f",f6779c69-f4ca-4746-89de-92d5014e50fb,"1e918707-941f-4288-9af0-070c155a8173.0",278fea42-1a6d-4805-a88b-958a66d08995,"9d5cc378-50c8-49c6-a45d-fceefcc4a5c5.0",c9da13de-d9cd-4af1-8a1e-8757d40a6fec,"7617c188-4e70-484e-816e-20eda5229667.0",6ddea4d0-1087-4eae-bd82-4fae1ffd19e0,"0afb6777-fe50-4b9c-b180-77d1ee3a3d54.0",aac63096-ec27-4015-9d12-d9bc5df98bea,"8cda2b2d-c64b-4e21-9de6-dd49a12576e0",bbce8395-e445-4287-b988-68dec55404a0,"a1a3092f-ed45-44ca-9854-834abd352cd4.0",d3eee948-e84a-4de3-b994-3285dd6acd97,"d7807508-2ab6-4c4d-bc1c-d30f8932565f.0",131b8028-ed39-4545-93e7-8a6f27d7a72f,"7a41e200-05d3-4267-a721-5dbe73bf545e",72b1e07e-a5aa-406f-9c15-bf3ee0f71f93,"8c5a9e9d-a3b1-4e65-ac06-1b4ae36468d1",76c46938-7a44-4f67-822e-a547435c774e,"d764edfb-6285-4f77-ba58-4f8321a489a4.0",01768122-cfb0-4d4f-bfc3-86608f39ddd5,"451b28be-4cf6-4356-8c46-ad5cbc0deed0",2d593990-5b68-4803-ad8e-5ec8569a4a6c,"e893fd06-6ba8-4dd4-93be-d0810d679876",68cdc6db-e8b0-46c1-a0a1-b4e0ea0fb51b,"2bf29867-3e26-4d83-8667-da5f11442794",42327a52-7ad0-46db-bd79-fa00028bc77c,"f519cbc0-1404-4ef3-9377-16955dc46254",92be7c60-9779-4cb9-80c9-b2d1613ced1a,"80a98912-c1e3-43b2-ae00-21118328107f.0",8b73593c-0234-4a14-8ab8-6bdfda0703d8,"c698bb5e-86eb-40ec-96d7-b8badc816715.0",0da34b88-a9a0-433e-956e-1e504de73baa,"bdaf3325-bb9b-4677-ba6e-56a642df2687.0",90cea538-ca0f-4037-b55c-c4447304683b,"c7efc6f1-5a5e-4278-9b62-9cf796fb363e",6c482b76-ad80-456f-96f5-0cbab0d3511c,"fb359264-55de-49ae-ae08-ff3931a4ec2f.0",0f2c6684-9dd6-46fe-9fc7-8e295d92976a,"96faf09e-5646-4b0f-8601-e72057dbe7f7",3de32a5f-81fd-48cf-b6df-4fd6377def16,"c1e853ea-3959-486e-aff1-5ccaf10f6c48",603c081d-c923-4498-8fed-1b25b28a253c,"versions",e08e4ba9-2fbe-444a-b643-f94c50223f95,"e27b2c46-7b76-4b8d-a3e8-e1b0562943ca",e5183d23-6421-4385-85b5-4d0a726b29a2,"1e918707-941f-4288-9af0-070c155a8173",20f9376d-0efd-4571-a75f-746885bf691e,"fca00537-610e-40cf-aaf4-fb5faab4fda1.0",6d15342d-cce3-42d9-b957-24ddff0fd5c9,"f7694620-94c9-4acf-9617-83108e92a57e.0",2eb81228-2ca1-46f5-b620-2bafeffab961,"b0adb70d-1e31-4637-8c1d-7f6f33baaa7b.0",a29168ea-d4c7-49d0-a9f4-3f3f05edb4c8,"56462dd1-4628-4b19-ae51-8c504e7e9137",fbbf8598-3504-4e5e-9f21-2035cf0fd884,"root",ff6847c8-53ce-4caa-9177-47ce79e90d6d,"fc5337e1-f68d-4b0c-82d4-2eedfe89178c",ae2939a2-0169-42e7-b4b4-ed765ec4e4e0,"165eaf09-2e00-4e46-be94-35f3b4ede990",682796ca-e428-4b54-adcd-c43759ed40ea,"7af53c68-a0ad-4144-85f4-d11d73853384.0",588831ec-45db-45d9-9f29-660ef4007491,"51a2c526-5e41-417b-a82e-0dd289a7974c",70018423-c9a4-44af-9530-21973b43bfa5,"e893fd06-6ba8-4dd4-93be-d0810d679876.0",d82c91ea-3c53-45d6-a0ee-ad44ff409545,"68803c49-0345-4f51-9184-079744379408",473fe6a6-d56f-4555-b5c6-f48d2671ec10,"copyinfo",c6c9209d-e6f8-43ff-8419-034db635dba3,"1d971496-56ca-48b0-a34e-b5359e900090.0",fb1c4e6f-c911-4fa7-8306-2588039fb36b,"eec85b86-f35e-4612-83c9-7b4ba86f7cb0.0",3a559d78-de13-4fde-ac10-f83febcb39cd,"version",10609be3-88ec-41f5-ae6a-4e698de3b429,"214520bb-70cc-4e3a-a1be-4c6a0f5d9c73.0",982477dd-fb9a-4676-b6b7-e0bc367ee41e,"8e915235-e32d-4205-bb26-918ba63bb0f5.0",c4a541ac-3243-4060-9ec7-63efa40d6132,"8c5a9e9d-a3b1-4e65-ac06-1b4ae36468d1.0",050c3bc3-32a5-43be-9121-8eafe5c21dbf,"7a41e200-05d3-4267-a721-5dbe73bf545e.0",7bb0d5cd-79f9-4b81-aa61-b4d374191138,"2e398c8a-da05-4e85-9d97-c9680b935568",5665324e-4f4c-4223-9459-c0d5d26e53dd,"91470bcf-5031-4550-8470-113df7855131",d83dce73-f089-4bc2-adec-d5824c0ceb87,"7617c188-4e70-484e-816e-20eda5229667",11287d43-7025-4f57-a45a-fae2284b086b,"9d5cc378-50c8-49c6-a45d-fceefcc4a5c5",8e557e4d-e26a-4458-a2e0-9745efc7859e,"8e915235-e32d-4205-bb26-918ba63bb0f5",4fd6c1c8-21f0-4898-8c36-794059fa1af8,"214520bb-70cc-4e3a-a1be-4c6a0f5d9c73",af812878-1b91-466e-b65d-0d75502c0f4f,"4be1f7e9-0ba6-478f-88e1-190254fe6c6b",25fd6aca-e369-4c1b-9161-9fec9f5d5ef2,"f175b23c-5152-4613-96dd-f6623676046d",d0688483-3876-4a79-ac85-71e35fdcf399,"4fd62a2d-c8b6-4576-aa63-50cc023990e1",131d7368-f7ab-474b-ba70-ca53b26f41c2,"fc5337e1-f68d-4b0c-82d4-2eedfe89178c.0",9b801e84-6636-491a-b65a-a74c88567d6c,"fb359264-55de-49ae-ae08-ff3931a4ec2f",50d3e430-531b-44cb-91e7-80f8c9e6c6c6,"53c26b45-95ee-49f0-b946-d7b3e4fb2ff8.0",ca576bd0-e9b9-449a-8ffe-e2e87f01353f,"8b1a6140-f7e3-4151-adce-db0a2046364e",e46c2b1d-ab5a-47dd-ad88-14b872c4f65e,"51a2c526-5e41-417b-a82e-0dd289a7974c.0",db01ac23-b05b-48d3-8231-5c321170d144,"d7807508-2ab6-4c4d-bc1c-d30f8932565f",80472e8c-f570-41e9-b03d-758233c29320,"714a1e77-6f6d-4a2f-9881-9dbb862d24a0.0",821a5989-bac6-41db-b4e4-085a4604a029,"b0adb70d-1e31-4637-8c1d-7f6f33baaa7b",f5d70bd7-238a-4338-ab53-f035d7561e23,"4a875fe8-d6dd-4488-ab26-9f1d41d624bb",f77cc8a3-6075-4f9b-827b-5d578c591aeb,"2bf29867-3e26-4d83-8667-da5f11442794.0",b02a3567-42dd-4dcc-b684-d46a5288d2cb,"f519cbc0-1404-4ef3-9377-16955dc46254.0",1650f2ca-8692-46b0-9462-45286f9b316c,"f7717042-aa60-4d5f-b166-8403fa143e74",7211359c-7332-48d5-9ff2-aa5312b8d2d3,"4b4f7c2d-d158-42a5-89b6-06bf7449b85d",6f76e4bb-9186-48b0-b812-eee7f91282b0,"1d971496-56ca-48b0-a34e-b5359e900090",642d73ac-85ac-45d3-94c3-f71adf56dc2d,"a5026b9b-d215-4c30-9de1-c54424949e4a",cd86332e-0454-4b82-874e-496b58435484,"4be1f7e9-0ba6-478f-88e1-190254fe6c6b.0",c3f15099-266a-498e-a2ba-2a2f54f9e60c,"d28a1211-a8c4-425c-87f2-c429f96d426f.0",2e3f617a-cdbf-45c2-b117-bc3ea9595404,"714a1e77-6f6d-4a2f-9881-9dbb862d24a0",a3d41e23-fe17-4cdd-ac9a-c468395af405,"924914a6-730c-45fb-838b-ce5d93b80394",a4415703-280f-474c-8872-f68f7e166290,"c698bb5e-86eb-40ec-96d7-b8badc816715",1cf5fbb1-dfd4-4a32-887a-f2f31e0ae0f2,"4a875fe8-d6dd-4488-ab26-9f1d41d624bb.0",173c8925-8b6d-48c7-8fdc-6b7a1c842541,"7af53c68-a0ad-4144-85f4-d11d73853384",8cc29b0e-17b4-4fef-83b8-206cae628258,"e27b2c46-7b76-4b8d-a3e8-e1b0562943ca.0",a0f4d934-4a3b-49c4-b9eb-466bd5e1f89b} \ No newline at end of file diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\320\234\320\260\320\272\320\265\321\202\321\213/\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\270\320\265\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\270\320\265\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" similarity index 94% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\320\234\320\260\320\272\320\265\321\202\321\213/\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\270\320\265\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\270\320\265\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" index 6b6b2643..1f31d4d0 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\320\234\320\260\320\272\320\265\321\202\321\213/\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\270\320\265\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\270\320\265\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\320\234\320\260\320\272\320\265\321\202\321\213/\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\270\320\265\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\237\320\276\320\223\321\203\320\270\320\264.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\270\320\265\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\237\320\276\320\223\321\203\320\270\320\264.mxl" similarity index 94% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\320\234\320\260\320\272\320\265\321\202\321\213/\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\270\320\265\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\237\320\276\320\223\321\203\320\270\320\264.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\270\320\265\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\237\320\276\320\223\321\203\320\270\320\264.mxl" index 36c52e59..8752ceaf 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\320\234\320\260\320\272\320\265\321\202\321\213/\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\270\320\265\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\237\320\276\320\223\321\203\320\270\320\264.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\270\320\265\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\237\320\276\320\223\321\203\320\270\320\264.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\320\234\320\260\320\272\320\265\321\202\321\213/\320\235\320\260\320\271\321\202\320\270\320\230\320\237\320\265\321\200\320\265\320\267\320\260\320\277\320\276\320\273\320\275\320\270\321\202\321\214\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\237\320\276\320\223\321\203\320\270\320\264\320\241\321\201\321\213\320\273\320\272\320\270.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\235\320\260\320\271\321\202\320\270\320\230\320\237\320\265\321\200\320\265\320\267\320\260\320\277\320\276\320\273\320\275\320\270\321\202\321\214\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\237\320\276\320\223\321\203\320\270\320\264\320\241\321\201\321\213\320\273\320\272\320\270.mxl" similarity index 94% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\320\234\320\260\320\272\320\265\321\202\321\213/\320\235\320\260\320\271\321\202\320\270\320\230\320\237\320\265\321\200\320\265\320\267\320\260\320\277\320\276\320\273\320\275\320\270\321\202\321\214\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\237\320\276\320\223\321\203\320\270\320\264\320\241\321\201\321\213\320\273\320\272\320\270.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\235\320\260\320\271\321\202\320\270\320\230\320\237\320\265\321\200\320\265\320\267\320\260\320\277\320\276\320\273\320\275\320\270\321\202\321\214\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\237\320\276\320\223\321\203\320\270\320\264\320\241\321\201\321\213\320\273\320\272\320\270.mxl" index fd8346ef..d1546b5d 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\320\234\320\260\320\272\320\265\321\202\321\213/\320\235\320\260\320\271\321\202\320\270\320\230\320\237\320\265\321\200\320\265\320\267\320\260\320\277\320\276\320\273\320\275\320\270\321\202\321\214\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\237\320\276\320\223\321\203\320\270\320\264\320\241\321\201\321\213\320\273\320\272\320\270.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\235\320\260\320\271\321\202\320\270\320\230\320\237\320\265\321\200\320\265\320\267\320\260\320\277\320\276\320\273\320\275\320\270\321\202\321\214\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\237\320\276\320\223\321\203\320\270\320\264\320\241\321\201\321\213\320\273\320\272\320\270.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\320\234\320\260\320\272\320\265\321\202\321\213/\320\237\321\200\320\270\320\274\320\265\321\200.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\237\321\200\320\270\320\274\320\265\321\200.mxl" similarity index 99% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\320\234\320\260\320\272\320\265\321\202\321\213/\320\237\321\200\320\270\320\274\320\265\321\200.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\237\321\200\320\270\320\274\320\265\321\200.mxl" index 7605a65a..aa31ae9c 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\320\234\320\260\320\272\320\265\321\202\321\213/\320\237\321\200\320\270\320\274\320\265\321\200.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\237\321\200\320\270\320\274\320\265\321\200.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\320\234\320\260\320\272\320\265\321\202\321\213/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217_\320\237\320\276\320\270\321\201\320\272\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217_\320\237\320\276\320\270\321\201\320\272\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260.mxl" similarity index 96% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\320\234\320\260\320\272\320\265\321\202\321\213/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217_\320\237\320\276\320\270\321\201\320\272\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217_\320\237\320\276\320\270\321\201\320\272\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260.mxl" index 936244a3..a58008a7 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\320\234\320\260\320\272\320\265\321\202\321\213/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217_\320\237\320\276\320\270\321\201\320\272\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217_\320\237\320\276\320\270\321\201\320\272\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\223\321\200\321\203\320\277\320\277\321\213\320\241\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\274\320\270\320\242\320\276\320\273\321\214\320\272\320\276\320\224\320\273\321\217\320\223\321\200\321\203\320\277\320\277\321\213.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\223\321\200\321\203\320\277\320\277\321\213\320\241\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\274\320\270\320\242\320\276\320\273\321\214\320\272\320\276\320\224\320\273\321\217\320\223\321\200\321\203\320\277\320\277\321\213.mxl" similarity index 97% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\223\321\200\321\203\320\277\320\277\321\213\320\241\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\274\320\270\320\242\320\276\320\273\321\214\320\272\320\276\320\224\320\273\321\217\320\223\321\200\321\203\320\277\320\277\321\213.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\223\321\200\321\203\320\277\320\277\321\213\320\241\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\274\320\270\320\242\320\276\320\273\321\214\320\272\320\276\320\224\320\273\321\217\320\223\321\200\321\203\320\277\320\277\321\213.mxl" index 1ee36ea4..8a219223 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\223\321\200\321\203\320\277\320\277\321\213\320\241\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\274\320\270\320\242\320\276\320\273\321\214\320\272\320\276\320\224\320\273\321\217\320\223\321\200\321\203\320\277\320\277\321\213.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\223\321\200\321\203\320\277\320\277\321\213\320\241\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\274\320\270\320\242\320\276\320\273\321\214\320\272\320\276\320\224\320\273\321\217\320\223\321\200\321\203\320\277\320\277\321\213.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\223\321\200\321\203\320\277\320\277\321\213\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\230\320\224\320\276\321\207\320\265\321\200\320\275\320\265\320\263\320\276\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\223\321\200\321\203\320\277\320\277\321\213\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\230\320\224\320\276\321\207\320\265\321\200\320\275\320\265\320\263\320\276\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.mxl" similarity index 95% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\223\321\200\321\203\320\277\320\277\321\213\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\230\320\224\320\276\321\207\320\265\321\200\320\275\320\265\320\263\320\276\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\223\321\200\321\203\320\277\320\277\321\213\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\230\320\224\320\276\321\207\320\265\321\200\320\275\320\265\320\263\320\276\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.mxl" index 4b29e009..1c82c29b 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\223\321\200\321\203\320\277\320\277\321\213\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\230\320\224\320\276\321\207\320\265\321\200\320\275\320\265\320\263\320\276\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\223\321\200\321\203\320\277\320\277\321\213\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\230\320\224\320\276\321\207\320\265\321\200\320\275\320\265\320\263\320\276\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\221\321\203\321\205\320\263\320\260\320\273\321\202\320\265\321\200\320\270\320\270.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\221\321\203\321\205\320\263\320\260\320\273\321\202\320\265\321\200\320\270\320\270.mxl" similarity index 98% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\221\321\203\321\205\320\263\320\260\320\273\321\202\320\265\321\200\320\270\320\270.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\221\321\203\321\205\320\263\320\260\320\273\321\202\320\265\321\200\320\270\320\270.mxl" index 71bb31a0..5e3dad27 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\221\321\203\321\205\320\263\320\260\320\273\321\202\320\265\321\200\320\270\320\270.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\221\321\203\321\205\320\263\320\260\320\273\321\202\320\265\321\200\320\270\320\270.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217.mxl" similarity index 98% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217.mxl" index c0761f47..ec5707ec 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217\320\243\320\232\320\276\321\202\320\276\321\200\321\213\321\205\320\257\320\262\320\275\320\276\320\227\320\260\320\264\320\260\320\275\320\222\320\270\320\264\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217\320\243\320\232\320\276\321\202\320\276\321\200\321\213\321\205\320\257\320\262\320\275\320\276\320\227\320\260\320\264\320\260\320\275\320\222\320\270\320\264\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217.mxl" similarity index 98% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217\320\243\320\232\320\276\321\202\320\276\321\200\321\213\321\205\320\257\320\262\320\275\320\276\320\227\320\260\320\264\320\260\320\275\320\222\320\270\320\264\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217\320\243\320\232\320\276\321\202\320\276\321\200\321\213\321\205\320\257\320\262\320\275\320\276\320\227\320\260\320\264\320\260\320\275\320\222\320\270\320\264\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217.mxl" index e4b61f45..0176125f 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217\320\243\320\232\320\276\321\202\320\276\321\200\321\213\321\205\320\257\320\262\320\275\320\276\320\227\320\260\320\264\320\260\320\275\320\222\320\270\320\264\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217\320\243\320\232\320\276\321\202\320\276\321\200\321\213\321\205\320\257\320\262\320\275\320\276\320\227\320\260\320\264\320\260\320\275\320\222\320\270\320\264\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217.mxl" differ diff --git "a/src/xddDataFixtureGen/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271.mxl" similarity index 97% rename from "src/xddDataFixtureGen/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271.mxl" index d7f77d65..dbd5d175 100644 Binary files "a/src/xddDataFixtureGen/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271_\320\237\320\276\320\270\321\201\320\272\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\237\320\276\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\216.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271_\320\237\320\276\320\270\321\201\320\272\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\237\320\276\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\216.mxl" similarity index 97% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271_\320\237\320\276\320\270\321\201\320\272\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\237\320\276\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\216.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271_\320\237\320\276\320\270\321\201\320\272\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\237\320\276\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\216.mxl" index a30181b9..f06a614d 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271_\320\237\320\276\320\270\321\201\320\272\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\237\320\276\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\216.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271_\320\237\320\276\320\270\321\201\320\272\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\237\320\276\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\216.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271\320\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\320\276\320\274\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\321\203.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271\320\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\320\276\320\274\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\321\203.mxl" similarity index 98% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271\320\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\320\276\320\274\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\321\203.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271\320\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\320\276\320\274\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\321\203.mxl" index a2addbb6..4e17c640 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271\320\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\320\276\320\274\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\321\203.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271\320\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\320\276\320\274\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\321\203.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271\320\247\320\265\321\200\320\265\320\267\320\235\320\260\320\261\320\276\321\200\320\227\320\260\320\277\320\270\321\201\320\265\320\271.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271\320\247\320\265\321\200\320\265\320\267\320\235\320\260\320\261\320\276\321\200\320\227\320\260\320\277\320\270\321\201\320\265\320\271.mxl" similarity index 97% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271\320\247\320\265\321\200\320\265\320\267\320\235\320\260\320\261\320\276\321\200\320\227\320\260\320\277\320\270\321\201\320\265\320\271.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271\320\247\320\265\321\200\320\265\320\267\320\235\320\260\320\261\320\276\321\200\320\227\320\260\320\277\320\270\321\201\320\265\320\271.mxl" index eb7d375a..03595e9e 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271\320\247\320\265\321\200\320\265\320\267\320\235\320\260\320\261\320\276\321\200\320\227\320\260\320\277\320\270\321\201\320\265\320\271.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271\320\247\320\265\321\200\320\265\320\267\320\235\320\260\320\261\320\276\321\200\320\227\320\260\320\277\320\270\321\201\320\265\320\271.mxl" differ diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\235\320\260\320\261\320\276\321\200\320\276\320\262\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\235\320\260\320\261\320\276\321\200\320\276\320\262\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271.mxl" new file mode 100644 index 00000000..2f4d5e3a Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\235\320\260\320\261\320\276\321\200\320\276\320\262\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\271.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\262\321\203\321\205\320\237\321\200\320\276\321\201\321\202\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\237\321\200\320\276\321\201\321\202\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262.mxl" similarity index 95% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\262\321\203\321\205\320\237\321\200\320\276\321\201\321\202\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\237\321\200\320\276\321\201\321\202\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262.mxl" index 81fc9db2..0f2d8b9a 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\262\321\203\321\205\320\237\321\200\320\276\321\201\321\202\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\237\321\200\320\276\321\201\321\202\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\262\321\203\321\205\320\237\321\200\320\276\321\201\321\202\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262_\321\201_\320\236\320\264\320\270\320\275\320\260\320\272\320\276\320\262\321\213\320\274\320\230\320\274\320\265\320\275\320\265\320\274\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\320\276\320\271.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\237\321\200\320\276\321\201\321\202\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262_\321\201_\320\236\320\264\320\270\320\275\320\260\320\272\320\276\320\262\321\213\320\274\320\230\320\274\320\265\320\275\320\265\320\274\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\320\276\320\271.mxl" similarity index 95% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\262\321\203\321\205\320\237\321\200\320\276\321\201\321\202\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262_\321\201_\320\236\320\264\320\270\320\275\320\260\320\272\320\276\320\262\321\213\320\274\320\230\320\274\320\265\320\275\320\265\320\274\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\320\276\320\271.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\237\321\200\320\276\321\201\321\202\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262_\321\201_\320\236\320\264\320\270\320\275\320\260\320\272\320\276\320\262\321\213\320\274\320\230\320\274\320\265\320\275\320\265\320\274\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\320\276\320\271.mxl" index de1a503d..3ec75fd7 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\262\321\203\321\205\320\237\321\200\320\276\321\201\321\202\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262_\321\201_\320\236\320\264\320\270\320\275\320\260\320\272\320\276\320\262\321\213\320\274\320\230\320\274\320\265\320\275\320\265\320\274\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\320\276\320\271.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\262\321\203\321\205\320\237\321\200\320\276\321\201\321\202\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262_\321\201_\320\236\320\264\320\270\320\275\320\260\320\272\320\276\320\262\321\213\320\274\320\230\320\274\320\265\320\275\320\265\320\274\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\320\276\320\271.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260_\320\240\320\265\320\266\320\270\320\274\320\227\320\260\320\277\320\270\321\201\320\270_\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260_\320\240\320\265\320\266\320\270\320\274\320\227\320\260\320\277\320\270\321\201\320\270_\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265.mxl" similarity index 96% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260_\320\240\320\265\320\266\320\270\320\274\320\227\320\260\320\277\320\270\321\201\320\270_\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260_\320\240\320\265\320\266\320\270\320\274\320\227\320\260\320\277\320\270\321\201\320\270_\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265.mxl" index 04a848c6..8f317003 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260_\320\240\320\265\320\266\320\270\320\274\320\227\320\260\320\277\320\270\321\201\320\270_\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260_\320\240\320\265\320\266\320\270\320\274\320\227\320\260\320\277\320\270\321\201\320\270_\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\235\320\260\320\242\320\265\320\272\321\203\321\211\321\203\321\216\320\224\320\260\321\202\321\203.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\235\320\260\320\242\320\265\320\272\321\203\321\211\321\203\321\216\320\224\320\260\321\202\321\203.mxl" similarity index 95% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\235\320\260\320\242\320\265\320\272\321\203\321\211\321\203\321\216\320\224\320\260\321\202\321\203.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\235\320\260\320\242\320\265\320\272\321\203\321\211\321\203\321\216\320\224\320\260\321\202\321\203.mxl" index a0fcb939..b0cc99e7 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\235\320\260\320\242\320\265\320\272\321\203\321\211\321\203\321\216\320\224\320\260\321\202\321\203.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\235\320\260\320\242\320\265\320\272\321\203\321\211\321\203\321\216\320\224\320\260\321\202\321\203.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270.mxl" similarity index 97% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270.mxl" index 7bf2fcec..34c4d6f1 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\225\321\211\320\265\320\235\320\265\320\227\320\260\320\277\320\270\321\201\320\260\320\275\320\275\320\276\320\263\320\276\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\225\321\211\320\265\320\235\320\265\320\227\320\260\320\277\320\270\321\201\320\260\320\275\320\275\320\276\320\263\320\276\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" similarity index 93% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\225\321\211\320\265\320\235\320\265\320\227\320\260\320\277\320\270\321\201\320\260\320\275\320\275\320\276\320\263\320\276\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\225\321\211\320\265\320\235\320\265\320\227\320\260\320\277\320\270\321\201\320\260\320\275\320\275\320\276\320\263\320\276\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" index 2e6ec94d..4d97460c 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\225\321\211\320\265\320\235\320\265\320\227\320\260\320\277\320\270\321\201\320\260\320\275\320\275\320\276\320\263\320\276\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\225\321\211\320\265\320\235\320\265\320\227\320\260\320\277\320\270\321\201\320\260\320\275\320\275\320\276\320\263\320\276\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\261\321\212\320\265\320\272\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\261\321\212\320\265\320\272\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270.mxl" similarity index 97% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\261\321\212\320\265\320\272\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\261\321\212\320\265\320\272\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270.mxl" index ba3a15dc..867c1e71 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\261\321\212\320\265\320\272\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\261\321\212\320\265\320\272\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\261\321\212\320\265\320\272\321\202\320\260\320\241\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\321\213\320\274\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\230\320\267\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\321\205\320\227\320\275\320\260\321\207\320\265\320\275\320\270\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\261\321\212\320\265\320\272\321\202\320\260\320\241\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\321\213\320\274\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\230\320\267\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\321\205\320\227\320\275\320\260\321\207\320\265\320\275\320\270\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" similarity index 94% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\261\321\212\320\265\320\272\321\202\320\260\320\241\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\321\213\320\274\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\230\320\267\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\321\205\320\227\320\275\320\260\321\207\320\265\320\275\320\270\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\261\321\212\320\265\320\272\321\202\320\260\320\241\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\321\213\320\274\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\230\320\267\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\321\205\320\227\320\275\320\260\321\207\320\265\320\275\320\270\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" index 569bec38..e629ba75 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\261\321\212\320\265\320\272\321\202\320\260\320\241\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\321\213\320\274\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\230\320\267\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\321\205\320\227\320\275\320\260\321\207\320\265\320\275\320\270\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\261\321\212\320\265\320\272\321\202\320\260\320\241\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\321\213\320\274\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\230\320\267\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\321\205\320\227\320\275\320\260\321\207\320\265\320\275\320\270\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\261\321\212\320\265\320\272\321\202\320\260\320\241\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\321\213\320\274\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\242\320\270\320\277\320\260\320\237\320\265\321\200\320\265\321\207\320\270\321\201\320\273\320\265\320\275\320\270\320\265.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\261\321\212\320\265\320\272\321\202\320\260\320\241\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\321\213\320\274\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\242\320\270\320\277\320\260\320\237\320\265\321\200\320\265\321\207\320\270\321\201\320\273\320\265\320\275\320\270\320\265.mxl" similarity index 94% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\261\321\212\320\265\320\272\321\202\320\260\320\241\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\321\213\320\274\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\242\320\270\320\277\320\260\320\237\320\265\321\200\320\265\321\207\320\270\321\201\320\273\320\265\320\275\320\270\320\265.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\261\321\212\320\265\320\272\321\202\320\260\320\241\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\321\213\320\274\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\242\320\270\320\277\320\260\320\237\320\265\321\200\320\265\321\207\320\270\321\201\320\273\320\265\320\275\320\270\320\265.mxl" index 307b1f75..ec1420d3 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\261\321\212\320\265\320\272\321\202\320\260\320\241\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\321\213\320\274\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\242\320\270\320\277\320\260\320\237\320\265\321\200\320\265\321\207\320\270\321\201\320\273\320\265\320\275\320\270\320\265.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\261\321\212\320\265\320\272\321\202\320\260\320\241\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\321\213\320\274\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\242\320\270\320\277\320\260\320\237\320\265\321\200\320\265\321\207\320\270\321\201\320\273\320\265\320\275\320\270\320\265.mxl" differ diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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" new file mode 100644 index 00000000..c26c8c6e Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\222\320\273\320\260\320\264\320\265\320\273\321\214\321\206\320\260\320\221\320\265\320\267\320\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\222\320\273\320\260\320\264\320\265\320\273\321\214\321\206\320\260\320\221\320\265\320\267\320\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" similarity index 94% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\222\320\273\320\260\320\264\320\265\320\273\321\214\321\206\320\260\320\221\320\265\320\267\320\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\222\320\273\320\260\320\264\320\265\320\273\321\214\321\206\320\260\320\221\320\265\320\267\320\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" index 47c33ba0..2fdc4b82 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\222\320\273\320\260\320\264\320\265\320\273\321\214\321\206\320\260\320\221\320\265\320\267\320\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\222\320\273\320\260\320\264\320\265\320\273\321\214\321\206\320\260\320\221\320\265\320\267\320\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\271\320\227\320\260\320\277\320\270\321\201\320\270\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\221\321\203\321\205\320\263\320\260\320\273\321\202\320\265\321\200\320\270\320\270.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\271\320\227\320\260\320\277\320\270\321\201\320\270\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\221\321\203\321\205\320\263\320\260\320\273\321\202\320\265\321\200\320\270\320\270.mxl" similarity index 98% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\271\320\227\320\260\320\277\320\270\321\201\320\270\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\221\321\203\321\205\320\263\320\260\320\273\321\202\320\265\321\200\320\270\320\270.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\271\320\227\320\260\320\277\320\270\321\201\320\270\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\221\321\203\321\205\320\263\320\260\320\273\321\202\320\265\321\200\320\270\320\270.mxl" index 00478fa8..31ef0c5e 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\271\320\227\320\260\320\277\320\270\321\201\320\270\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\221\321\203\321\205\320\263\320\260\320\273\321\202\320\265\321\200\320\270\320\270.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\271\320\227\320\260\320\277\320\270\321\201\320\270\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\221\321\203\321\205\320\263\320\260\320\273\321\202\320\265\321\200\320\270\320\270.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\271\320\227\320\260\320\277\320\270\321\201\320\270\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\271\320\227\320\260\320\277\320\270\321\201\320\270\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217.mxl" similarity index 97% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\271\320\227\320\260\320\277\320\270\321\201\320\270\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\271\320\227\320\260\320\277\320\270\321\201\320\270\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217.mxl" index b18757fa..48f35ca7 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\271\320\227\320\260\320\277\320\270\321\201\320\270\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\271\320\227\320\260\320\277\320\270\321\201\320\270\320\222\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\265\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\221\320\270\320\267\320\275\320\265\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\260.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\221\320\270\320\267\320\275\320\265\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\260.mxl" similarity index 97% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\221\320\270\320\267\320\275\320\265\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\260.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\221\320\270\320\267\320\275\320\265\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\260.mxl" index b86f2736..2900c24d 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\221\320\270\320\267\320\275\320\265\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\260.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\221\320\270\320\267\320\275\320\265\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\260.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" similarity index 93% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" index adbe5642..408398a0 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\2602.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\2602.mxl" similarity index 93% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\2602.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\2602.mxl" index 6d5e1554..1560efd9 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\2602.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\2602.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213.mxl" similarity index 94% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213.mxl" index e0a3e2fb..85c7c230 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_\320\237\321\203\321\201\321\202\321\213\320\265\320\241\321\202\321\200\320\276\320\272\320\270.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_\320\237\321\203\321\201\321\202\321\213\320\265\320\241\321\202\321\200\320\276\320\272\320\270.mxl" similarity index 94% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_\320\237\321\203\321\201\321\202\321\213\320\265\320\241\321\202\321\200\320\276\320\272\320\270.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_\320\237\321\203\321\201\321\202\321\213\320\265\320\241\321\202\321\200\320\276\320\272\320\270.mxl" index 59d7073e..d6d0f3ee 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_\320\237\321\203\321\201\321\202\321\213\320\265\320\241\321\202\321\200\320\276\320\272\320\270.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_\320\237\321\203\321\201\321\202\321\213\320\265\320\241\321\202\321\200\320\276\320\272\320\270.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_\320\240\320\265\320\266\320\270\320\274\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\320\265.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_\320\240\320\265\320\266\320\270\320\274\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\320\265.mxl" similarity index 94% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_\320\240\320\265\320\266\320\270\320\274\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\320\265.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_\320\240\320\265\320\266\320\270\320\274\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\320\265.mxl" index d3eaf2d4..49659873 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_\320\240\320\265\320\266\320\270\320\274\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\320\265.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260_\320\240\320\265\320\266\320\270\320\274\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\320\265.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\237\320\276\320\223\321\203\320\270\320\264.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\237\320\276\320\223\321\203\320\270\320\264.mxl" similarity index 94% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\237\320\276\320\223\321\203\320\270\320\264.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\237\320\276\320\223\321\203\320\270\320\264.mxl" index a2b6149f..f1f52c35 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\237\320\276\320\223\321\203\320\270\320\264.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\237\320\276\320\223\321\203\320\270\320\264.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\237\320\276\320\223\321\203\320\270\320\264\320\241\321\201\321\213\320\273\320\272\320\270.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\237\320\276\320\223\321\203\320\270\320\264\320\241\321\201\321\213\320\273\320\272\320\270.mxl" similarity index 94% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\237\320\276\320\223\321\203\320\270\320\264\320\241\321\201\321\213\320\273\320\272\320\270.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\237\320\276\320\223\321\203\320\270\320\264\320\241\321\201\321\213\320\273\320\272\320\270.mxl" index 653d7e2d..c8f9088f 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\237\320\276\320\223\321\203\320\270\320\264\320\241\321\201\321\213\320\273\320\272\320\270.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\237\321\200\320\276\321\201\321\202\320\276\320\263\320\276\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\237\320\276\320\223\321\203\320\270\320\264\320\241\321\201\321\213\320\273\320\272\320\270.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\262\321\217\320\267\320\260\320\275\320\275\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\262\321\217\320\267\320\260\320\275\320\275\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262.mxl" similarity index 95% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\262\321\217\320\267\320\260\320\275\320\275\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\262\321\217\320\267\320\260\320\275\320\275\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262.mxl" index 558b5143..0a4c734a 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\262\321\217\320\267\320\260\320\275\320\275\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\262\321\217\320\267\320\260\320\275\320\275\321\213\321\205\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\2602_\321\201_\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\241\320\276\321\201\321\202\320\260\320\262\320\275\320\276\320\263\320\276\320\242\320\270\320\277\320\260.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\2602_\321\201_\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\241\320\276\321\201\321\202\320\260\320\262\320\275\320\276\320\263\320\276\320\242\320\270\320\277\320\260.mxl" similarity index 95% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\2602_\321\201_\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\241\320\276\321\201\321\202\320\260\320\262\320\275\320\276\320\263\320\276\320\242\320\270\320\277\320\260.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\2602_\321\201_\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\241\320\276\321\201\321\202\320\260\320\262\320\275\320\276\320\263\320\276\320\242\320\270\320\277\320\260.mxl" index 7ae64129..fc030aff 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\2602_\321\201_\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\241\320\276\321\201\321\202\320\260\320\262\320\275\320\276\320\263\320\276\320\242\320\270\320\277\320\260.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\2602_\321\201_\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\241\320\276\321\201\321\202\320\260\320\262\320\275\320\276\320\263\320\276\320\242\320\270\320\277\320\260.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\2602_\321\201_\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\241\320\276\321\201\321\202\320\260\320\262\320\275\320\276\320\263\320\276\320\242\320\270\320\277\320\260_\320\270_\320\237\321\203\321\201\321\202\320\276\320\271\320\241\321\201\321\213\320\273\320\272\320\276\320\271.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\2602_\321\201_\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\241\320\276\321\201\321\202\320\260\320\262\320\275\320\276\320\263\320\276\320\242\320\270\320\277\320\260_\320\270_\320\237\321\203\321\201\321\202\320\276\320\271\320\241\321\201\321\213\320\273\320\272\320\276\320\271.mxl" similarity index 94% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\2602_\321\201_\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\241\320\276\321\201\321\202\320\260\320\262\320\275\320\276\320\263\320\276\320\242\320\270\320\277\320\260_\320\270_\320\237\321\203\321\201\321\202\320\276\320\271\320\241\321\201\321\213\320\273\320\272\320\276\320\271.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\2602_\321\201_\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\241\320\276\321\201\321\202\320\260\320\262\320\275\320\276\320\263\320\276\320\242\320\270\320\277\320\260_\320\270_\320\237\321\203\321\201\321\202\320\276\320\271\320\241\321\201\321\213\320\273\320\272\320\276\320\271.mxl" index e1354883..b836128c 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\2602_\321\201_\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\241\320\276\321\201\321\202\320\260\320\262\320\275\320\276\320\263\320\276\320\242\320\270\320\277\320\260_\320\270_\320\237\321\203\321\201\321\202\320\276\320\271\320\241\321\201\321\213\320\273\320\272\320\276\320\271.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\2602_\321\201_\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\241\320\276\321\201\321\202\320\260\320\262\320\275\320\276\320\263\320\276\320\242\320\270\320\277\320\260_\320\270_\320\237\321\203\321\201\321\202\320\276\320\271\320\241\321\201\321\213\320\273\320\272\320\276\320\271.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\2602_\321\201_\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\241\320\276\321\201\321\202\320\260\320\262\320\275\320\276\320\263\320\276\320\242\320\270\320\277\320\260_\320\270_\320\237\321\203\321\201\321\202\320\276\320\271\320\241\321\201\321\213\320\273\320\272\320\276\320\271\320\237\320\265\321\200\320\265\321\207\320\270\321\201\320\273\320\265\320\275\320\270\320\265.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\2602_\321\201_\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\241\320\276\321\201\321\202\320\260\320\262\320\275\320\276\320\263\320\276\320\242\320\270\320\277\320\260_\320\270_\320\237\321\203\321\201\321\202\320\276\320\271\320\241\321\201\321\213\320\273\320\272\320\276\320\271\320\237\320\265\321\200\320\265\321\207\320\270\321\201\320\273\320\265\320\275\320\270\320\265.mxl" similarity index 94% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\2602_\321\201_\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\241\320\276\321\201\321\202\320\260\320\262\320\275\320\276\320\263\320\276\320\242\320\270\320\277\320\260_\320\270_\320\237\321\203\321\201\321\202\320\276\320\271\320\241\321\201\321\213\320\273\320\272\320\276\320\271\320\237\320\265\321\200\320\265\321\207\320\270\321\201\320\273\320\265\320\275\320\270\320\265.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\2602_\321\201_\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\241\320\276\321\201\321\202\320\260\320\262\320\275\320\276\320\263\320\276\320\242\320\270\320\277\320\260_\320\270_\320\237\321\203\321\201\321\202\320\276\320\271\320\241\321\201\321\213\320\273\320\272\320\276\320\271\320\237\320\265\321\200\320\265\321\207\320\270\321\201\320\273\320\265\320\275\320\270\320\265.mxl" index 1cfddb0a..a3741b33 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\2602_\321\201_\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\241\320\276\321\201\321\202\320\260\320\262\320\275\320\276\320\263\320\276\320\242\320\270\320\277\320\260_\320\270_\320\237\321\203\321\201\321\202\320\276\320\271\320\241\321\201\321\213\320\273\320\272\320\276\320\271\320\237\320\265\321\200\320\265\321\207\320\270\321\201\320\273\320\265\320\275\320\270\320\265.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\2602_\321\201_\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\241\320\276\321\201\321\202\320\260\320\262\320\275\320\276\320\263\320\276\320\242\320\270\320\277\320\260_\320\270_\320\237\321\203\321\201\321\202\320\276\320\271\320\241\321\201\321\213\320\273\320\272\320\276\320\271\320\237\320\265\321\200\320\265\321\207\320\270\321\201\320\273\320\265\320\275\320\270\320\265.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\237\320\276\321\201\320\273\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\237\320\276\321\201\320\273\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270.mxl" similarity index 97% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\237\320\276\321\201\320\273\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\237\320\276\321\201\320\273\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270.mxl" index 4f87e69c..03096696 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\237\320\276\321\201\320\273\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\237\320\276\321\201\320\273\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\320\241\320\224\320\262\321\203\320\274\321\217\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\320\276\320\274\320\276\321\211\321\214\321\216\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\321\205\320\241\320\262\320\276\320\271\321\201\321\202\320\262.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\320\276\320\274\320\276\321\211\321\214\321\216\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\321\205\320\241\320\262\320\276\320\271\321\201\321\202\320\262.mxl" similarity index 96% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\320\276\320\274\320\276\321\211\321\214\321\216\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\321\205\320\241\320\262\320\276\320\271\321\201\321\202\320\262.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\320\276\320\274\320\276\321\211\321\214\321\216\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\321\205\320\241\320\262\320\276\320\271\321\201\321\202\320\262.mxl" index 62f0871c..d95b869c 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\320\276\320\274\320\276\321\211\321\214\321\216\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\321\205\320\241\320\262\320\276\320\271\321\201\321\202\320\262.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\320\276\320\274\320\276\321\211\321\214\321\216\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\321\205\320\241\320\262\320\276\320\271\321\201\321\202\320\262.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\320\276\320\274\320\276\321\211\321\214\321\216\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\321\205\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\237\320\276\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\216.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\320\276\320\274\320\276\321\211\321\214\321\216\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\321\205\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\237\320\276\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\216.mxl" similarity index 96% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\320\276\320\274\320\276\321\211\321\214\321\216\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\321\205\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\237\320\276\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\216.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\320\276\320\274\320\276\321\211\321\214\321\216\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\321\205\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\237\320\276\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\216.mxl" index d8f4606c..47cc51d7 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\320\276\320\274\320\276\321\211\321\214\321\216\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\321\205\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\237\320\276\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\216.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\320\276\320\274\320\276\321\211\321\214\321\216\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\321\205\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\237\320\276\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\216.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\320\276\320\274\320\276\321\211\321\214\321\216\320\236\320\261\320\274\320\265\320\275\320\224\320\260\320\275\320\275\321\213\320\274\320\270\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\260.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\320\276\320\274\320\276\321\211\321\214\321\216\320\236\320\261\320\274\320\265\320\275\320\224\320\260\320\275\320\275\321\213\320\274\320\270\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\260.mxl" similarity index 93% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\320\276\320\274\320\276\321\211\321\214\321\216\320\236\320\261\320\274\320\265\320\275\320\224\320\260\320\275\320\275\321\213\320\274\320\270\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\260.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\320\276\320\274\320\276\321\211\321\214\321\216\320\236\320\261\320\274\320\265\320\275\320\224\320\260\320\275\320\275\321\213\320\274\320\270\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\260.mxl" index 6ed1e4d1..8bb44673 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\320\276\320\274\320\276\321\211\321\214\321\216\320\236\320\261\320\274\320\265\320\275\320\224\320\260\320\275\320\275\321\213\320\274\320\270\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\260.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\320\276\320\274\320\276\321\211\321\214\321\216\320\236\320\261\320\274\320\265\320\275\320\224\320\260\320\275\320\275\321\213\320\274\320\270\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\260.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\320\276\320\274\320\276\321\211\321\214\321\216\320\242\320\247_\320\236\320\261\320\274\320\265\320\275\320\224\320\260\320\275\320\275\321\213\320\274\320\270\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\260.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\320\276\320\274\320\276\321\211\321\214\321\216\320\242\320\247_\320\236\320\261\320\274\320\265\320\275\320\224\320\260\320\275\320\275\321\213\320\274\320\270\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\260.mxl" similarity index 94% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\320\276\320\274\320\276\321\211\321\214\321\216\320\242\320\247_\320\236\320\261\320\274\320\265\320\275\320\224\320\260\320\275\320\275\321\213\320\274\320\270\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\260.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\320\276\320\274\320\276\321\211\321\214\321\216\320\242\320\247_\320\236\320\261\320\274\320\265\320\275\320\224\320\260\320\275\320\275\321\213\320\274\320\270\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\260.mxl" index ab698ba3..a57d6007 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\320\276\320\274\320\276\321\211\321\214\321\216\320\242\320\247_\320\236\320\261\320\274\320\265\320\275\320\224\320\260\320\275\320\275\321\213\320\274\320\270\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\260.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\237\320\276\320\274\320\276\321\211\321\214\321\216\320\242\320\247_\320\236\320\261\320\274\320\265\320\275\320\224\320\260\320\275\320\275\321\213\320\274\320\270\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\260.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274_\320\237\320\273\320\260\320\275\320\241\321\207\320\265\321\202\320\276\320\262.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274_\320\237\320\273\320\260\320\275\320\241\321\207\320\265\321\202\320\276\320\262.mxl" similarity index 94% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274_\320\237\320\273\320\260\320\275\320\241\321\207\320\265\321\202\320\276\320\262.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274_\320\237\320\273\320\260\320\275\320\241\321\207\320\265\321\202\320\276\320\262.mxl" index 61fad81a..51ca26dd 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274_\320\237\320\273\320\260\320\275\320\241\321\207\320\265\321\202\320\276\320\262.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274_\320\237\320\273\320\260\320\275\320\241\321\207\320\265\321\202\320\276\320\262.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\237\321\203\321\201\321\202\320\260\321\217\320\241\321\201\321\213\320\273\320\272\320\260.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\237\321\203\321\201\321\202\320\260\321\217\320\241\321\201\321\213\320\273\320\272\320\260.mxl" similarity index 94% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\237\321\203\321\201\321\202\320\260\321\217\320\241\321\201\321\213\320\273\320\272\320\260.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\237\321\203\321\201\321\202\320\260\321\217\320\241\321\201\321\213\320\273\320\272\320\260.mxl" index 05fd6254..892afe59 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\237\321\203\321\201\321\202\320\260\321\217\320\241\321\201\321\213\320\273\320\272\320\260.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274\320\237\321\203\321\201\321\202\320\260\321\217\320\241\321\201\321\213\320\273\320\272\320\260.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\276\320\241\321\201\321\213\320\273\320\272\320\276\320\271\320\235\320\260\320\241\320\260\320\274\320\276\320\263\320\276\320\241\320\265\320\261\321\217.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\276\320\241\321\201\321\213\320\273\320\272\320\276\320\271\320\235\320\260\320\241\320\260\320\274\320\276\320\263\320\276\320\241\320\265\320\261\321\217.mxl" similarity index 94% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\276\320\241\321\201\321\213\320\273\320\272\320\276\320\271\320\235\320\260\320\241\320\260\320\274\320\276\320\263\320\276\320\241\320\265\320\261\321\217.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\276\320\241\321\201\321\213\320\273\320\272\320\276\320\271\320\235\320\260\320\241\320\260\320\274\320\276\320\263\320\276\320\241\320\265\320\261\321\217.mxl" index 2c12bfd5..7bdbea7b 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\276\320\241\321\201\321\213\320\273\320\272\320\276\320\271\320\235\320\260\320\241\320\260\320\274\320\276\320\263\320\276\320\241\320\265\320\261\321\217.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260\320\241\320\276\320\241\321\201\321\213\320\273\320\272\320\276\320\271\320\235\320\260\320\241\320\260\320\274\320\276\320\263\320\276\320\241\320\265\320\261\321\217.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262\320\236\320\261\321\200\320\260\320\267\321\203\321\216\321\211\320\270\321\205\320\246\320\270\320\272\320\273\320\270\321\207\320\265\321\201\320\272\321\203\321\216\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262\320\236\320\261\321\200\320\260\320\267\321\203\321\216\321\211\320\270\321\205\320\246\320\270\320\272\320\273\320\270\321\207\320\265\321\201\320\272\321\203\321\216\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214.mxl" similarity index 96% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262\320\236\320\261\321\200\320\260\320\267\321\203\321\216\321\211\320\270\321\205\320\246\320\270\320\272\320\273\320\270\321\207\320\265\321\201\320\272\321\203\321\216\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262\320\236\320\261\321\200\320\260\320\267\321\203\321\216\321\211\320\270\321\205\320\246\320\270\320\272\320\273\320\270\321\207\320\265\321\201\320\272\321\203\321\216\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214.mxl" index bd90b9ce..f271084d 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262\320\236\320\261\321\200\320\260\320\267\321\203\321\216\321\211\320\270\321\205\320\246\320\270\320\272\320\273\320\270\321\207\320\265\321\201\320\272\321\203\321\216\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262\320\236\320\261\321\200\320\260\320\267\321\203\321\216\321\211\320\270\321\205\320\246\320\270\320\272\320\273\320\270\321\207\320\265\321\201\320\272\321\203\321\216\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\243\320\267\320\273\320\260\320\237\320\273\320\260\320\275\320\260\320\236\320\261\320\274\320\265\320\275\320\260.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\243\320\267\320\273\320\260\320\237\320\273\320\260\320\275\320\260\320\236\320\261\320\274\320\265\320\275\320\260.mxl" similarity index 96% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\243\320\267\320\273\320\260\320\237\320\273\320\260\320\275\320\260\320\236\320\261\320\274\320\265\320\275\320\260.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\243\320\267\320\273\320\260\320\237\320\273\320\260\320\275\320\260\320\236\320\261\320\274\320\265\320\275\320\260.mxl" index 3edb1426..7a50adf6 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\243\320\267\320\273\320\260\320\237\320\273\320\260\320\275\320\260\320\236\320\261\320\274\320\265\320\275\320\260.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\243\320\267\320\273\320\260\320\237\320\273\320\260\320\275\320\260\320\236\320\261\320\274\320\265\320\275\320\260.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\320\237\320\276\320\270\321\201\320\272\320\276\320\274\320\237\320\276\320\223\320\243\320\230\320\224\321\203.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\320\237\320\276\320\270\321\201\320\272\320\276\320\274\320\237\320\276\320\223\320\243\320\230\320\224\321\203.mxl" similarity index 94% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\320\237\320\276\320\270\321\201\320\272\320\276\320\274\320\237\320\276\320\223\320\243\320\230\320\224\321\203.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\320\237\320\276\320\270\321\201\320\272\320\276\320\274\320\237\320\276\320\223\320\243\320\230\320\224\321\203.mxl" index 3bc9e83a..98b1d65a 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\320\237\320\276\320\270\321\201\320\272\320\276\320\274\320\237\320\276\320\223\320\243\320\230\320\224\321\203.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\320\237\320\276\320\270\321\201\320\272\320\276\320\274\320\237\320\276\320\223\320\243\320\230\320\224\321\203.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\320\237\320\276\320\270\321\201\320\272\320\276\320\274\320\237\320\276\320\232\320\276\320\264\321\203.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\320\237\320\276\320\270\321\201\320\272\320\276\320\274\320\237\320\276\320\232\320\276\320\264\321\203.mxl" similarity index 96% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\320\237\320\276\320\270\321\201\320\272\320\276\320\274\320\237\320\276\320\232\320\276\320\264\321\203.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\320\237\320\276\320\270\321\201\320\272\320\276\320\274\320\237\320\276\320\232\320\276\320\264\321\203.mxl" index 5cf5bf21..48fef663 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\320\237\320\276\320\270\321\201\320\272\320\276\320\274\320\237\320\276\320\232\320\276\320\264\321\203.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\320\237\320\276\320\270\321\201\320\272\320\276\320\274\320\237\320\276\320\232\320\276\320\264\321\203.mxl" differ diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\320\237\320\276\320\270\321\201\320\272\320\276\320\274\320\237\320\276\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\216.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\320\237\320\276\320\270\321\201\320\272\320\276\320\274\320\237\320\276\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\216.mxl" similarity index 96% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\320\237\320\276\320\270\321\201\320\272\320\276\320\274\320\237\320\276\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\216.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\320\237\320\276\320\270\321\201\320\272\320\276\320\274\320\237\320\276\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\216.mxl" index d97acebe..c004a73e 100644 Binary files "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\205/\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\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\320\237\320\276\320\270\321\201\320\272\320\276\320\274\320\237\320\276\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\216.mxl" and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\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\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\320\237\320\276\320\270\321\201\320\272\320\276\320\274\320\237\320\276\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\216.mxl" differ diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\230\321\201\320\272\320\273\321\216\321\207\320\265\320\275\320\270\320\265\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\240\320\265\320\266\320\270\320\274\320\237\320\276\320\270\321\201\320\272\320\260.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\230\321\201\320\272\320\273\321\216\321\207\320\265\320\275\320\270\320\265\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\240\320\265\320\266\320\270\320\274\320\237\320\276\320\270\321\201\320\272\320\260.mxl" new file mode 100644 index 00000000..253afb52 Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\230\321\201\320\272\320\273\321\216\321\207\320\265\320\275\320\270\320\265\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\240\320\265\320\266\320\270\320\274\320\237\320\276\320\270\321\201\320\272\320\260.mxl" differ diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\230\321\201\320\272\320\273\321\216\321\207\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\237\320\276\320\277\321\213\321\202\320\272\320\265\320\241\320\276\320\267\320\264\320\260\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\270\321\202\321\214\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\237\320\276\320\235\320\265\320\262\320\265\321\200\320\275\320\276\320\274\321\203\320\232\320\276\320\264\321\203.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\230\321\201\320\272\320\273\321\216\321\207\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\237\320\276\320\277\321\213\321\202\320\272\320\265\320\241\320\276\320\267\320\264\320\260\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\270\321\202\321\214\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\237\320\276\320\235\320\265\320\262\320\265\321\200\320\275\320\276\320\274\321\203\320\232\320\276\320\264\321\203.mxl" new file mode 100644 index 00000000..f0c2d37f Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\230\321\201\320\272\320\273\321\216\321\207\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\237\320\276\320\277\321\213\321\202\320\272\320\265\320\241\320\276\320\267\320\264\320\260\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\270\321\202\321\214\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\237\320\276\320\235\320\265\320\262\320\265\321\200\320\275\320\276\320\274\321\203\320\232\320\276\320\264\321\203.mxl" differ diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\230\321\201\320\272\320\273\321\216\321\207\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\237\320\276\320\277\321\213\321\202\320\272\320\265\320\241\320\276\320\267\320\264\320\260\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\270\321\202\321\214\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\237\320\276\320\235\320\265\320\262\320\265\321\200\320\275\320\276\320\274\321\203\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\216.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\230\321\201\320\272\320\273\321\216\321\207\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\237\320\276\320\277\321\213\321\202\320\272\320\265\320\241\320\276\320\267\320\264\320\260\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\270\321\202\321\214\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\237\320\276\320\235\320\265\320\262\320\265\321\200\320\275\320\276\320\274\321\203\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\216.mxl" new file mode 100644 index 00000000..5a1c0e7a Binary files /dev/null and "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\230\321\201\320\272\320\273\321\216\321\207\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\237\320\276\320\277\321\213\321\202\320\272\320\265\320\241\320\276\320\267\320\264\320\260\321\202\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\230\320\227\320\260\320\277\320\276\320\273\320\275\320\270\321\202\321\214\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\237\320\276\320\235\320\265\320\262\320\265\321\200\320\275\320\276\320\274\321\203\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\216.mxl" differ diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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.txt" new file mode 100644 index 00000000..feb78342 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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.txt" @@ -0,0 +1,415 @@ +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Ожидаем; +&НаКлиенте +Перем СтроковыеУтилиты; + +// { интерфейс тестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + + НаборТестов.НачатьГруппу("Функции парсинга текста и подстановки параметров", Ложь); + + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ВставитьПараметрыВСтроку", , "Проверка работы функции ВставитьПараметрыВСтроку"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ИзвлечьТекстИзHTML", , "Проверка работы функции ИзвлечьТекстИзHTML"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_НайтиСимволСКонца", , "Проверка работы функции НайтиСимволСКонца"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ПодставитьПараметрыВСтроку", , "Проверка работы функции ПодставитьПараметрыВСтроку"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ПодставитьПараметрыВСтрокуАльтернативныйАлгоритм", , "Проверка работы функции ПодставитьПараметрыВСтрокуАльтернативныйАлгоритм"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ПодставитьПараметрыВСтрокуИзМассива", , "Проверка работы функции ПодставитьПараметрыВСтрокуИзМассива"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ПолучитьПараметрыИзСтроки", , "Проверка работы функции ПолучитьПараметрыИзСтроки"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_РазложитьСтрокуВМассивПодстрок", , "Проверка работы функции РазложитьСтрокуВМассивПодстрок"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_РазложитьСтрокуВМассивСлов", , "Проверка работы функции РазложитьСтрокуВМассивСлов"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_СтрокаИзМассиваПодстрок", , "Проверка работы функции СтрокаИзМассиваПодстрок"); + + НаборТестов.НачатьГруппу("Функции преобразования текста и символов", Ложь); + + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ДополнитьСтроку", , "Проверка работы функции ДополнитьСтроку"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ЗаменитьОдниСимволыДругими", , "Проверка работы функции ЗаменитьОдниСимволыДругими"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ПреобразоватьЧислоВРимскуюНотацию", , "Проверка работы функции ПреобразоватьЧислоВРимскуюНотацию"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ПреобразоватьЧислоВАрабскуюНотацию", , "Проверка работы функции ПреобразоватьЧислоВАрабскуюНотацию"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_СократитьДвойныеКавычки", , "Проверка работы функции СократитьДвойныеКавычки"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_СтрокаВЧисло", , "Проверка работы функции СтрокаВЧисло"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_СтрокаЛатиницей", , "Проверка работы функции СтрокаЛатиницей"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_СформироватьСтрокуСимволов", , "Проверка работы функции СформироватьСтрокуСимволов"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_УдалитьПовторяющиесяСимволы", , "Проверка работы функции УдалитьПовторяющиесяСимволы"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_УдалитьПоследнийСимволВСтроке", , "Проверка работы функции УдалитьПоследнийСимволВСтроке"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ФорматированнаяСтрока", , "Проверка работы функции ФорматированнаяСтрока"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ЧислоЦифрамиПредметИсчисленияПрописью", , "Проверка работы функции ЧислоЦифрамиПредметИсчисленияПрописью"); + + НаборТестов.НачатьГруппу("Функции проверки на соответствие критериям", Ложь); + + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ТолькоКириллицаВСтроке", , "Проверка работы функции ТолькоКириллицаВСтроке"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ТолькоЛатиницаВСтроке", , "Проверка работы функции ТолькоЛатиницаВСтроке"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ТолькоЦифрыВСтроке", , "Проверка работы функции ТолькоЦифрыВСтроке"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ЭтоРазделительСлов", , "Проверка работы функции ЭтоРазделительСлов"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ЭтоУникальныйИдентификатор", , "Проверка работы функции ЭтоУникальныйИдентификатор"); + +КонецПроцедуры + +// } интерфейс тестирования + + +// { блок юнит-тестов - сами тесты + +// { Тесты функций парсинга текста и подстановки параметров + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ВставитьПараметрыВСтроку() Экспорт + + // Функция должна возвратить массив из 5 элементов, три из которых - пустые. + РезультатПодстановки = СтроковыеУтилиты.ВставитьПараметрыВСтроку( + "Здравствуй, [Имя] [Фамилия].", Новый Структура("Фамилия,Имя", "Пупкин", "Вася")); + + Ожидаем.Что(РезультатПодстановки).Равно("Здравствуй, Вася Пупкин."); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ИзвлечьТекстИзHTML() Экспорт + + // Результат должен быть очищен от тегов и возвращать неформатированный текст. + ТекстHTML = + " + | + | + |
Неформатированный текст.
+ | + |"; + + РезультатИзвлечения = СтроковыеУтилиты.ИзвлечьТекстИзHTML(ТекстHTML); + Ожидаем.Что(РезультатИзвлечения).Равно("Неформатированный текст."); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_НайтиСимволСКонца() Экспорт + + СтрокаСимволов = "й1ц2_й1ц2"; + + // Функция должна вернуть позицию символа в строке. + ПозицияСимвола = СтроковыеУтилиты.НайтиСимволСКонца(СтрокаСимволов, "ц"); + Ожидаем.Что(ПозицияСимвола).Равно(8); + + // Функция должна вернуть 0, если строка не позицию символа в строке. + ПозицияСимвола = СтроковыеУтилиты.НайтиСимволСКонца(СтрокаСимволов, "я"); + Ожидаем.Что(ПозицияСимвола).Равно(0); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ПодставитьПараметрыВСтроку() Экспорт + + РезультатПодстановки = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 пошел в %2", "Вася", "Зоопарк"); + Ожидаем.Что(РезультатПодстановки).Равно("Вася пошел в Зоопарк"); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ПодставитьПараметрыВСтрокуАльтернативныйАлгоритм() Экспорт + + РезультатПодстановки = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 пошел в %2", "%username%", "Зоопарк"); + Ожидаем.Что(РезультатПодстановки).Равно("%username% пошел в Зоопарк"); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ПодставитьПараметрыВСтрокуИзМассива() Экспорт + + МассивПараметров = Новый Массив; + МассивПараметров.Добавить("Вася"); + МассивПараметров.Добавить("Зоопарк"); + + РезультатПодстановки = СтроковыеУтилиты.ПодставитьПараметрыВСтрокуИзМассива("%1 пошел в %2", МассивПараметров); + Ожидаем.Что(РезультатПодстановки).Равно("Вася пошел в Зоопарк"); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ПолучитьПараметрыИзСтроки() Экспорт + + ПроверяемыеПараметры = СтроковыеУтилиты.ПолучитьПараметрыИзСтроки("File=""c:\InfoBases\Trade""; Usr=""Director"";"); + Ожидаем.Что(ПроверяемыеПараметры).ИмеетТип("Структура") + .Что(ПроверяемыеПараметры.Свойство("File")).ЭтоИстина() + .Что(ПроверяемыеПараметры.File).Равно("c:\InfoBases\Trade"); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_РазложитьСтрокуВМассивПодстрок() Экспорт + + // Функция должна вернуть массив из 5 элементов, три из которых - пустые. + МассивСтрок = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(",один,,два,", ","); + Ожидаем.Что(МассивСтрок, "Утверждение 1").ИмеетТип("Массив").ИмеетДлину(5); + + // Функция должна вернуть массив из двух элементов. + МассивСтрок = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(",один,,два,", ",", Истина); + Ожидаем.Что(МассивСтрок, "Утверждение 2").ИмеетТип("Массив").ИмеетДлину(2); + + // Функция должна вернуть пустой массив. + МассивСтрок = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(""); + Ожидаем.Что(МассивСтрок, "Утверждение 3").ИмеетТип("Массив").ИмеетДлину(0); + + // Функция должна вернуть массив с одним пустым элементом. + МассивСтрок = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок("",, Ложь); + Ожидаем.Что(МассивСтрок, "Утверждение 4").ИмеетТип("Массив").ИмеетДлину(1); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_РазложитьСтрокуВМассивСлов() Экспорт + + // Функция должна вернуть массив значений: "один", "два2_", "три". + МассивСлов = СтроковыеУтилиты.РазложитьСтрокуВМассивСлов("один-@#два2_!три"); + Ожидаем.Что(МассивСлов, "Утверждение 1").ИмеетТип("Массив").ИмеетДлину(3); + Ожидаем.Что(МассивСлов[0], "Утверждение 1, слово 1").Равно("один"); + Ожидаем.Что(МассивСлов[1], "Утверждение 1, слово 2").Равно("два2_"); + + // Функция должна вернуть массив значений: "один-", "два2", "три". + МассивСлов = СтроковыеУтилиты.РазложитьСтрокуВМассивСлов("один-@#два2_!три", "#@!_"); + Ожидаем.Что(МассивСлов, "Утверждение 2").ИмеетТип("Массив").ИмеетДлину(3); + Ожидаем.Что(МассивСлов[0], "Утверждение 2, слово 1").Равно("один-"); + Ожидаем.Что(МассивСлов[1], "Утверждение 2, слово 2").Равно("два2"); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_СтрокаИзМассиваПодстрок() Экспорт + + МассивСтрок = Новый Массив; + МассивСтрок.Добавить("Вася"); + МассивСтрок.Добавить("пошел в"); + МассивСтрок.Добавить("Зоопарк."); + + // Функция должна объединить строки из массива в строку с разделителями + РезультатСоединения = СтроковыеУтилиты.СтрокаИзМассиваПодстрок(МассивСтрок, " "); + Ожидаем.Что(РезультатСоединения).Равно("Вася пошел в Зоопарк."); + +КонецПроцедуры + +// } Тесты функций парсинга текста и подстановки параметров + +// { Тесты функций преобразования текста и символов + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ДополнитьСтроку() Экспорт + + // Функция должна дополнить строку до 10-ти символов. По умолчанию функция дополняет строку символами "0" (ноль) слева. + РезультатДополнения = СтроковыеУтилиты.ДополнитьСтроку("1234", 10); + Ожидаем.Что(РезультатДополнения).Равно("0000001234"); + + // Функция должна дополнить строку до 10-ти символов, использую символ "#". Незначащие символы слева и справа удаляются. + РезультатДополнения = СтроковыеУтилиты.ДополнитьСтроку(" 1234 ", 10, "#", "Справа"); + Ожидаем.Что(РезультатДополнения).Равно("1234######"); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ЗаменитьОдниСимволыДругими() Экспорт + + // Функция должна выполнить замену одних символов в строке на другие. + РезультатЗамены = СтроковыеУтилиты.ЗаменитьОдниСимволыДругими("ABC","ABCxyz", "АБВ"); + Ожидаем.Что(РезультатЗамены).Равно("АБВxyz"); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ПреобразоватьЧислоВРимскуюНотацию() Экспорт + + // Функция должна выполнить преобразование арабского числа от 0 до 999 в римское. + РезультатПреобразования = СтроковыеУтилиты.ПреобразоватьЧислоВРимскуюНотацию(117, Ложь); + Ожидаем.Что(РезультатПреобразования).Равно("CXVII"); + + // То же самое но используя кириллицу. + РезультатПреобразования = СтроковыеУтилиты.ПреобразоватьЧислоВРимскуюНотацию(117); + Ожидаем.Что(РезультатПреобразования).Равно("СХУ11"); + + // Казус следующей проверки в том, что в римской системе счисления не было нуля. + // Функция, в данном случае, возвращает пустую строку (по всей видимости, римскую). + РезультатПреобразования = СтроковыеУтилиты.ПреобразоватьЧислоВРимскуюНотацию(0); + Ожидаем.Что(РезультатПреобразования).Равно(""); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ПреобразоватьЧислоВАрабскуюНотацию() Экспорт + + // Функция должна выполнить преобразование римского числа в арабское. + РезультатПреобразования = СтроковыеУтилиты.ПреобразоватьЧислоВАрабскуюНотацию("CXVII", Ложь); + Ожидаем.Что(РезультатПреобразования).Равно(117); + + // То же самое но используя кириллицу. + РезультатПреобразования = СтроковыеУтилиты.ПреобразоватьЧислоВАрабскуюНотацию("СХУ11"); + Ожидаем.Что(РезультатПреобразования).Равно(117); + + // Казус следующей проверки в том, что в римской системе счисления не было нуля. + // Функция, в данном случае, принимает пустую строку и возвращает арабский ноль. + РезультатПреобразования = СтроковыеУтилиты.ПреобразоватьЧислоВАрабскуюНотацию(""); + Ожидаем.Что(РезультатПреобразования).Равно(0); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_СократитьДвойныеКавычки() Экспорт + + РезультатЗамены = СтроковыеУтилиты.СократитьДвойныеКавычки("""АБВ"""""); + Ожидаем.Что(РезультатЗамены).Равно("АБВ"); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_СтрокаВЧисло() Экспорт + + // Функция должна выполнить преобразование строки в число без вызова исключения. + РезультатПреобразования = СтроковыеУтилиты.СтрокаВЧисло("- 123 456,789 "); + Ожидаем.Что(РезультатПреобразования).Равно(-123456.789); + + // Функция должна выполнить преобразование строки в число без вызова исключения. + РезультатПреобразования = СтроковыеУтилиты.СтрокаВЧисло("123а"); + Ожидаем.Что(РезультатПреобразования).Равно(Неопределено); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_СтрокаЛатиницей() Экспорт + + // Функция должна выполнить замену одних символов в строке на другие. + РезультатЗамены = СтроковыеУтилиты.СтрокаЛатиницей("Съешь ещё этих мягких французских булок, да выпей же чаю."); + Ожидаем.Что(РезультатЗамены).Равно("S""esh eshche etikh myagkikh frantsuzskikh bulok, da vypey zhe chayu."); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_СформироватьСтрокуСимволов() Экспорт + + Результат = СтроковыеУтилиты.СформироватьСтрокуСимволов("#", 5); + Ожидаем.Что(Результат).Равно("#####"); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_УдалитьПовторяющиесяСимволы() Экспорт + + // Функция должна удалить крайние повторяющиеся символы слева в строке. + РезультатЗамены = СтроковыеУтилиты.УдалитьПовторяющиесяСимволы("...АБВ...", "."); + Ожидаем.Что(РезультатЗамены).Равно("АБВ..."); + + // Функция должна удалить крайние повторяющиеся символы справа в строке. + РезультатЗамены = СтроковыеУтилиты.УдалитьПовторяющиесяСимволы("...АБВ...", ".", "Справа"); + Ожидаем.Что(РезультатЗамены).Равно("...АБВ"); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_УдалитьПоследнийСимволВСтроке() Экспорт + + СтрокаДляЗамены = "Привет!!!"; + СтроковыеУтилиты.УдалитьПоследнийСимволВСтроке(СтрокаДляЗамены, 2); + Ожидаем.Что(СтрокаДляЗамены).Равно("Привет!"); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ФорматированнаяСтрока() Экспорт + + МассивСтроки = Новый Массив; + МассивСтроки.Добавить(Новый ФорматированнаяСтрока("1.1", Новый Шрифт(,,Истина))); + МассивСтроки.Добавить(". "); + МассивСтроки.Добавить(Новый ФорматированнаяСтрока("Обновите",,,, "Обновление")); + МассивСтроки.Добавить(" программу."); + + РезультатПреобразования = СтроковыеУтилиты.ФорматированнаяСтрока("1.1.
Обновите программу."); + Ожидаем.Что(РезультатПреобразования).Равно(Новый ФорматированнаяСтрока(МассивСтроки)); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ЧислоЦифрамиПредметИсчисленияПрописью() Экспорт + + РезультатПреобразования = СтроковыеУтилиты.ЧислоЦифрамиПредметИсчисленияПрописью(21, "минуту,минуты,минут"); + Ожидаем.Что(РезультатПреобразования).Равно("21 минуту"); + + РезультатПреобразования = СтроковыеУтилиты.ЧислоЦифрамиПредметИсчисленияПрописью(33, "минуту,минуты,минут"); + Ожидаем.Что(РезультатПреобразования).Равно("33 минуты"); + + РезультатПреобразования = СтроковыеУтилиты.ЧислоЦифрамиПредметИсчисленияПрописью(45, "минуту,минуты,минут"); + Ожидаем.Что(РезультатПреобразования).Равно("45 минут"); + +КонецПроцедуры + +// } Тесты функций преобразования текста и символов + +// { Тесты функций проверки на соответствие критериям + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ТолькоКириллицаВСтроке() Экспорт + + РезультатПроверки = СтроковыеУтилиты.ТолькоКириллицаВСтроке("Съешь ещё этих мягких французских булок, да выпей же чаю.",, " ,."); + Ожидаем.Что(РезультатПроверки, "В строке только кириллица.").ЭтоИстина(); + + РезультатПроверки = СтроковыеУтилиты.ТолькоКириллицаВСтроке("АБВ z эюя",, " "); + Ожидаем.Что(РезультатПроверки, "В строке присутствует не кириллический символ").ЭтоЛожь(); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ТолькоЛатиницаВСтроке() Экспорт + + РезультатПроверки = СтроковыеУтилиты.ТолькоЛатиницаВСтроке("The quick brown fox jumps over the lazy dog.",, " ."); + Ожидаем.Что(РезультатПроверки, "В строке только латиница.").ЭтоИстина(); + + РезультатПроверки = СтроковыеУтилиты.ТолькоЛатиницаВСтроке("ABC я xyz",, " "); + Ожидаем.Что(РезультатПроверки, "В строке присутствует не латинский символ").ЭтоЛожь(); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ТолькоЦифрыВСтроке() Экспорт + + РезультатПроверки = СтроковыеУтилиты.ТолькоЦифрыВСтроке("001 234", Ложь, Ложь); + Ожидаем.Что(РезультатПроверки).ЭтоИстина(); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ЭтоРазделительСлов() Экспорт + + РезультатПроверки = СтроковыеУтилиты.ЭтоРазделительСлов(КодСимвола("5")); + Ожидаем.Что(РезультатПроверки, "Проверка цифрового символа.").ЭтоЛожь(); + + РезультатПроверки = СтроковыеУтилиты.ЭтоРазделительСлов(КодСимвола("d")); + Ожидаем.Что(РезультатПроверки, "Проверка латинского символа.").ЭтоЛожь(); + + РезультатПроверки = СтроковыеУтилиты.ЭтоРазделительСлов(КодСимвола("Ш")); + Ожидаем.Что(РезультатПроверки, "Проверка кириллического символа.").ЭтоЛожь(); + + РезультатПроверки = СтроковыеУтилиты.ЭтоРазделительСлов(КодСимвола(" ")); + Ожидаем.Что(РезультатПроверки, "Проверка символа пробел.").ЭтоИстина(); + + РезультатПроверки = СтроковыеУтилиты.ЭтоРазделительСлов(КодСимвола(",")); + Ожидаем.Что(РезультатПроверки, "Проверка запятой символа.").ЭтоИстина(); + + РезультатПроверки = СтроковыеУтилиты.ЭтоРазделительСлов(КодСимвола("$"), "$"); + Ожидаем.Что(РезультатПроверки, "Проверка собственного символа.").ЭтоИстина(); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ЭтоУникальныйИдентификатор() Экспорт + + РезультатПроверки = СтроковыеУтилиты.ЭтоУникальныйИдентификатор(Новый УникальныйИдентификатор); + Ожидаем.Что(РезультатПроверки).ЭтоИстина(); + +КонецПроцедуры + +// } Тесты функций проверки на соответствие критериям + +// } блок юнит-тестов - сами тесты diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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.txt" new file mode 100644 index 00000000..f668fb9d --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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.txt" @@ -0,0 +1,383 @@ +Перем КонтекстЯдра; +Перем Ожидаем; +Перем СтроковыеУтилиты; + +// { интерфейс тестирования + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); +КонецПроцедуры + +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + + НаборТестов.НачатьГруппу("Функции парсинга текста и подстановки параметров", Ложь); + + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ВставитьПараметрыВСтроку", , "Проверка работы функции ВставитьПараметрыВСтроку"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ИзвлечьТекстИзHTML", , "Проверка работы функции ИзвлечьТекстИзHTML"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_НайтиСимволСКонца", , "Проверка работы функции НайтиСимволСКонца"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ПодставитьПараметрыВСтроку", , "Проверка работы функции ПодставитьПараметрыВСтроку"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ПодставитьПараметрыВСтрокуАльтернативныйАлгоритм", , "Проверка работы функции ПодставитьПараметрыВСтрокуАльтернативныйАлгоритм"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ПодставитьПараметрыВСтрокуИзМассива", , "Проверка работы функции ПодставитьПараметрыВСтрокуИзМассива"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ПолучитьПараметрыИзСтроки", , "Проверка работы функции ПолучитьПараметрыИзСтроки"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_РазложитьСтрокуВМассивПодстрок", , "Проверка работы функции РазложитьСтрокуВМассивПодстрок"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_РазложитьСтрокуВМассивСлов", , "Проверка работы функции РазложитьСтрокуВМассивСлов"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_СтрокаИзМассиваПодстрок", , "Проверка работы функции СтрокаИзМассиваПодстрок"); + + НаборТестов.НачатьГруппу("Функции преобразования текста и символов", Ложь); + + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ДополнитьСтроку", , "Проверка работы функции ДополнитьСтроку"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ЗаменитьОдниСимволыДругими", , "Проверка работы функции ЗаменитьОдниСимволыДругими"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ПреобразоватьЧислоВРимскуюНотацию", , "Проверка работы функции ПреобразоватьЧислоВРимскуюНотацию"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ПреобразоватьЧислоВАрабскуюНотацию", , "Проверка работы функции ПреобразоватьЧислоВАрабскуюНотацию"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_СократитьДвойныеКавычки", , "Проверка работы функции СократитьДвойныеКавычки"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_СтрокаВЧисло", , "Проверка работы функции СтрокаВЧисло"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_СтрокаЛатиницей", , "Проверка работы функции СтрокаЛатиницей"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_СформироватьСтрокуСимволов", , "Проверка работы функции СформироватьСтрокуСимволов"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_УдалитьПовторяющиесяСимволы", , "Проверка работы функции УдалитьПовторяющиесяСимволы"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_УдалитьПоследнийСимволВСтроке", , "Проверка работы функции УдалитьПоследнийСимволВСтроке"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ФорматированнаяСтрока", , "Проверка работы функции ФорматированнаяСтрока"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ЧислоЦифрамиПредметИсчисленияПрописью", , "Проверка работы функции ЧислоЦифрамиПредметИсчисленияПрописью"); + + НаборТестов.НачатьГруппу("Функции проверки на соответствие критериям", Ложь); + + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ТолькоКириллицаВСтроке", , "Проверка работы функции ТолькоКириллицаВСтроке"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ТолькоЛатиницаВСтроке", , "Проверка работы функции ТолькоЛатиницаВСтроке"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ТолькоЦифрыВСтроке", , "Проверка работы функции ТолькоЦифрыВСтроке"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ЭтоРазделительСлов", , "Проверка работы функции ЭтоРазделительСлов"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ЭтоУникальныйИдентификатор", , "Проверка работы функции ЭтоУникальныйИдентификатор"); + +КонецПроцедуры + +// } интерфейс тестирования + + +// { блок юнит-тестов - сами тесты + +// { Тесты функций парсинга текста и подстановки параметров + +Процедура ТестДолжен_ПроверитьРаботуФункции_ВставитьПараметрыВСтроку() Экспорт + + // Функция должна возвратить массив из 5 элементов, три из которых - пустые. + РезультатПодстановки = СтроковыеУтилиты.ВставитьПараметрыВСтроку( + "Здравствуй, [Имя] [Фамилия].", Новый Структура("Фамилия,Имя", "Пупкин", "Вася")); + + Ожидаем.Что(РезультатПодстановки).Равно("Здравствуй, Вася Пупкин."); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_ИзвлечьТекстИзHTML() Экспорт + + // Результат должен быть очищен от тегов и возвращать неформатированный текст. + ТекстHTML = + " + | + | + |
Неформатированный текст.
+ | + |"; + + РезультатИзвлечения = СтроковыеУтилиты.ИзвлечьТекстИзHTML(ТекстHTML); + Ожидаем.Что(РезультатИзвлечения).Равно("Неформатированный текст."); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_НайтиСимволСКонца() Экспорт + + СтрокаСимволов = "й1ц2_й1ц2"; + + // Функция должна вернуть позицию символа в строке. + ПозицияСимвола = СтроковыеУтилиты.НайтиСимволСКонца(СтрокаСимволов, "ц"); + Ожидаем.Что(ПозицияСимвола).Равно(8); + + // Функция должна вернуть 0, если строка не позицию символа в строке. + ПозицияСимвола = СтроковыеУтилиты.НайтиСимволСКонца(СтрокаСимволов, "я"); + Ожидаем.Что(ПозицияСимвола).Равно(0); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_ПодставитьПараметрыВСтроку() Экспорт + + РезультатПодстановки = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 пошел в %2", "Вася", "Зоопарк"); + Ожидаем.Что(РезультатПодстановки).Равно("Вася пошел в Зоопарк"); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_ПодставитьПараметрыВСтрокуАльтернативныйАлгоритм() Экспорт + + РезультатПодстановки = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 пошел в %2", "%username%", "Зоопарк"); + Ожидаем.Что(РезультатПодстановки).Равно("%username% пошел в Зоопарк"); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_ПодставитьПараметрыВСтрокуИзМассива() Экспорт + + МассивПараметров = Новый Массив; + МассивПараметров.Добавить("Вася"); + МассивПараметров.Добавить("Зоопарк"); + + РезультатПодстановки = СтроковыеУтилиты.ПодставитьПараметрыВСтрокуИзМассива("%1 пошел в %2", МассивПараметров); + Ожидаем.Что(РезультатПодстановки).Равно("Вася пошел в Зоопарк"); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_ПолучитьПараметрыИзСтроки() Экспорт + + ПроверяемыеПараметры = СтроковыеУтилиты.ПолучитьПараметрыИзСтроки("File=""c:\InfoBases\Trade""; Usr=""Director"";"); + Ожидаем.Что(ПроверяемыеПараметры).ИмеетТип("Структура") + .Что(ПроверяемыеПараметры.Свойство("File")).ЭтоИстина() + .Что(ПроверяемыеПараметры.File).Равно("c:\InfoBases\Trade"); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_РазложитьСтрокуВМассивПодстрок() Экспорт + + // Функция должна вернуть массив из 5 элементов, три из которых - пустые. + МассивСтрок = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(",один,,два,", ","); + Ожидаем.Что(МассивСтрок, "Утверждение 1").ИмеетТип("Массив").ИмеетДлину(5); + + // Функция должна вернуть массив из двух элементов. + МассивСтрок = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(",один,,два,", ",", Истина); + Ожидаем.Что(МассивСтрок, "Утверждение 2").ИмеетТип("Массив").ИмеетДлину(2); + + // Функция должна вернуть пустой массив. + МассивСтрок = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(""); + Ожидаем.Что(МассивСтрок, "Утверждение 3").ИмеетТип("Массив").ИмеетДлину(0); + + // Функция должна вернуть массив с одним пустым элементом. + МассивСтрок = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок("",, Ложь); + Ожидаем.Что(МассивСтрок, "Утверждение 4").ИмеетТип("Массив").ИмеетДлину(1); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_РазложитьСтрокуВМассивСлов() Экспорт + + // Функция должна вернуть массив значений: "один", "два2_", "три". + МассивСлов = СтроковыеУтилиты.РазложитьСтрокуВМассивСлов("один-@#два2_!три"); + Ожидаем.Что(МассивСлов, "Утверждение 1").ИмеетТип("Массив").ИмеетДлину(3); + Ожидаем.Что(МассивСлов[0], "Утверждение 1, слово 1").Равно("один"); + Ожидаем.Что(МассивСлов[1], "Утверждение 1, слово 2").Равно("два2_"); + + // Функция должна вернуть массив значений: "один-", "два2", "три". + МассивСлов = СтроковыеУтилиты.РазложитьСтрокуВМассивСлов("один-@#два2_!три", "#@!_"); + Ожидаем.Что(МассивСлов, "Утверждение 2").ИмеетТип("Массив").ИмеетДлину(3); + Ожидаем.Что(МассивСлов[0], "Утверждение 2, слово 1").Равно("один-"); + Ожидаем.Что(МассивСлов[1], "Утверждение 2, слово 2").Равно("два2"); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_СтрокаИзМассиваПодстрок() Экспорт + + МассивСтрок = Новый Массив; + МассивСтрок.Добавить("Вася"); + МассивСтрок.Добавить("пошел в"); + МассивСтрок.Добавить("Зоопарк."); + + // Функция должна объединить строки из массива в строку с разделителями + РезультатСоединения = СтроковыеУтилиты.СтрокаИзМассиваПодстрок(МассивСтрок, " "); + Ожидаем.Что(РезультатСоединения).Равно("Вася пошел в Зоопарк."); + +КонецПроцедуры + +// } Тесты функций парсинга текста и подстановки параметров + +// { Тесты функций преобразования текста и символов + +Процедура ТестДолжен_ПроверитьРаботуФункции_ДополнитьСтроку() Экспорт + + // Функция должна дополнить строку до 10-ти символов. По умолчанию функция дополняет строку символами "0" (ноль) слева. + РезультатДополнения = СтроковыеУтилиты.ДополнитьСтроку("1234", 10); + Ожидаем.Что(РезультатДополнения).Равно("0000001234"); + + // Функция должна дополнить строку до 10-ти символов, использую символ "#". Незначащие символы слева и справа удаляются. + РезультатДополнения = СтроковыеУтилиты.ДополнитьСтроку(" 1234 ", 10, "#", "Справа"); + Ожидаем.Что(РезультатДополнения).Равно("1234######"); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_ЗаменитьОдниСимволыДругими() Экспорт + + // Функция должна выполнить замену одних символов в строке на другие. + РезультатЗамены = СтроковыеУтилиты.ЗаменитьОдниСимволыДругими("ABC","ABCxyz", "АБВ"); + Ожидаем.Что(РезультатЗамены).Равно("АБВxyz"); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_ПреобразоватьЧислоВРимскуюНотацию() Экспорт + + // Функция должна выполнить преобразование арабского числа от 0 до 999 в римское. + РезультатПреобразования = СтроковыеУтилиты.ПреобразоватьЧислоВРимскуюНотацию(117, Ложь); + Ожидаем.Что(РезультатПреобразования).Равно("CXVII"); + + // То же самое но используя кириллицу. + РезультатПреобразования = СтроковыеУтилиты.ПреобразоватьЧислоВРимскуюНотацию(117); + Ожидаем.Что(РезультатПреобразования).Равно("СХУ11"); + + // Казус следующей проверки в том, что в римской системе счисления не было нуля. + // Функция, в данном случае, возвращает пустую строку (по всей видимости, римскую). + РезультатПреобразования = СтроковыеУтилиты.ПреобразоватьЧислоВРимскуюНотацию(0); + Ожидаем.Что(РезультатПреобразования).Равно(""); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_ПреобразоватьЧислоВАрабскуюНотацию() Экспорт + + // Функция должна выполнить преобразование римского числа в арабское. + РезультатПреобразования = СтроковыеУтилиты.ПреобразоватьЧислоВАрабскуюНотацию("CXVII", Ложь); + Ожидаем.Что(РезультатПреобразования).Равно(117); + + // То же самое но используя кириллицу. + РезультатПреобразования = СтроковыеУтилиты.ПреобразоватьЧислоВАрабскуюНотацию("СХУ11"); + Ожидаем.Что(РезультатПреобразования).Равно(117); + + // Казус следующей проверки в том, что в римской системе счисления не было нуля. + // Функция, в данном случае, принимает пустую строку и возвращает арабский ноль. + РезультатПреобразования = СтроковыеУтилиты.ПреобразоватьЧислоВАрабскуюНотацию(""); + Ожидаем.Что(РезультатПреобразования).Равно(0); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_СократитьДвойныеКавычки() Экспорт + + РезультатЗамены = СтроковыеУтилиты.СократитьДвойныеКавычки("""АБВ"""""); + Ожидаем.Что(РезультатЗамены).Равно("АБВ"); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_СтрокаВЧисло() Экспорт + + // Функция должна выполнить преобразование строки в число без вызова исключения. + РезультатПреобразования = СтроковыеУтилиты.СтрокаВЧисло("- 123 456,789 "); + Ожидаем.Что(РезультатПреобразования).Равно(-123456.789); + + // Функция должна выполнить преобразование строки в число без вызова исключения. + РезультатПреобразования = СтроковыеУтилиты.СтрокаВЧисло("123а"); + Ожидаем.Что(РезультатПреобразования).Равно(Неопределено); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_СтрокаЛатиницей() Экспорт + + // Функция должна выполнить замену одних символов в строке на другие. + РезультатЗамены = СтроковыеУтилиты.СтрокаЛатиницей("Съешь ещё этих мягких французских булок, да выпей же чаю."); + Ожидаем.Что(РезультатЗамены).Равно("S""esh eshche etikh myagkikh frantsuzskikh bulok, da vypey zhe chayu."); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_СформироватьСтрокуСимволов() Экспорт + + Результат = СтроковыеУтилиты.СформироватьСтрокуСимволов("#", 5); + Ожидаем.Что(Результат).Равно("#####"); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_УдалитьПовторяющиесяСимволы() Экспорт + + // Функция должна удалить крайние повторяющиеся символы слева в строке. + РезультатЗамены = СтроковыеУтилиты.УдалитьПовторяющиесяСимволы("...АБВ...", "."); + Ожидаем.Что(РезультатЗамены).Равно("АБВ..."); + + // Функция должна удалить крайние повторяющиеся символы справа в строке. + РезультатЗамены = СтроковыеУтилиты.УдалитьПовторяющиесяСимволы("...АБВ...", ".", "Справа"); + Ожидаем.Что(РезультатЗамены).Равно("...АБВ"); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_УдалитьПоследнийСимволВСтроке() Экспорт + + СтрокаДляЗамены = "Привет!!!"; + СтроковыеУтилиты.УдалитьПоследнийСимволВСтроке(СтрокаДляЗамены, 2); + Ожидаем.Что(СтрокаДляЗамены).Равно("Привет!"); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_ФорматированнаяСтрока() Экспорт + + МассивСтроки = Новый Массив; + МассивСтроки.Добавить(Новый ФорматированнаяСтрока("1.1", Новый Шрифт(,,Истина))); + МассивСтроки.Добавить(". "); + МассивСтроки.Добавить(Новый ФорматированнаяСтрока("Обновите",,,, "Обновление")); + МассивСтроки.Добавить(" программу."); + + РезультатПреобразования = СтроковыеУтилиты.ФорматированнаяСтрока("1.1. Обновите программу."); + Ожидаем.Что(РезультатПреобразования).Равно(Новый ФорматированнаяСтрока(МассивСтроки)); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_ЧислоЦифрамиПредметИсчисленияПрописью() Экспорт + + РезультатПреобразования = СтроковыеУтилиты.ЧислоЦифрамиПредметИсчисленияПрописью(21, "минуту,минуты,минут"); + Ожидаем.Что(РезультатПреобразования).Равно("21 минуту"); + + РезультатПреобразования = СтроковыеУтилиты.ЧислоЦифрамиПредметИсчисленияПрописью(33, "минуту,минуты,минут"); + Ожидаем.Что(РезультатПреобразования).Равно("33 минуты"); + + РезультатПреобразования = СтроковыеУтилиты.ЧислоЦифрамиПредметИсчисленияПрописью(45, "минуту,минуты,минут"); + Ожидаем.Что(РезультатПреобразования).Равно("45 минут"); + +КонецПроцедуры + +// } Тесты функций преобразования текста и символов + +// { Тесты функций проверки на соответствие критериям + +Процедура ТестДолжен_ПроверитьРаботуФункции_ТолькоКириллицаВСтроке() Экспорт + + РезультатПроверки = СтроковыеУтилиты.ТолькоКириллицаВСтроке("Съешь ещё этих мягких французских булок, да выпей же чаю.",, " ,."); + Ожидаем.Что(РезультатПроверки, "В строке только кириллица.").ЭтоИстина(); + + РезультатПроверки = СтроковыеУтилиты.ТолькоКириллицаВСтроке("АБВ z эюя",, " "); + Ожидаем.Что(РезультатПроверки, "В строке присутствует не кириллический символ").ЭтоЛожь(); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_ТолькоЛатиницаВСтроке() Экспорт + + РезультатПроверки = СтроковыеУтилиты.ТолькоЛатиницаВСтроке("The quick brown fox jumps over the lazy dog.",, " ."); + Ожидаем.Что(РезультатПроверки, "В строке только латиница.").ЭтоИстина(); + + РезультатПроверки = СтроковыеУтилиты.ТолькоЛатиницаВСтроке("ABC я xyz",, " "); + Ожидаем.Что(РезультатПроверки, "В строке присутствует не латинский символ").ЭтоЛожь(); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_ТолькоЦифрыВСтроке() Экспорт + + РезультатПроверки = СтроковыеУтилиты.ТолькоЦифрыВСтроке("001 234", Ложь, Ложь); + Ожидаем.Что(РезультатПроверки).ЭтоИстина(); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_ЭтоРазделительСлов() Экспорт + + РезультатПроверки = СтроковыеУтилиты.ЭтоРазделительСлов(КодСимвола("5")); + Ожидаем.Что(РезультатПроверки, "Проверка цифрового символа.").ЭтоЛожь(); + + РезультатПроверки = СтроковыеУтилиты.ЭтоРазделительСлов(КодСимвола("d")); + Ожидаем.Что(РезультатПроверки, "Проверка латинского символа.").ЭтоЛожь(); + + РезультатПроверки = СтроковыеУтилиты.ЭтоРазделительСлов(КодСимвола("Ш")); + Ожидаем.Что(РезультатПроверки, "Проверка кириллического символа.").ЭтоЛожь(); + + РезультатПроверки = СтроковыеУтилиты.ЭтоРазделительСлов(КодСимвола(" ")); + Ожидаем.Что(РезультатПроверки, "Проверка символа пробел.").ЭтоИстина(); + + РезультатПроверки = СтроковыеУтилиты.ЭтоРазделительСлов(КодСимвола(",")); + Ожидаем.Что(РезультатПроверки, "Проверка запятой символа.").ЭтоИстина(); + + РезультатПроверки = СтроковыеУтилиты.ЭтоРазделительСлов(КодСимвола("$"), "$"); + Ожидаем.Что(РезультатПроверки, "Проверка собственного символа.").ЭтоИстина(); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_ЭтоУникальныйИдентификатор() Экспорт + + РезультатПроверки = СтроковыеУтилиты.ЭтоУникальныйИдентификатор(Новый УникальныйИдентификатор); + Ожидаем.Что(РезультатПроверки).ЭтоИстина(); + +КонецПроцедуры + +// } Тесты функций проверки на соответствие критериям + +// } блок юнит-тестов - сами тесты diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/renames.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/renames.txt" new file mode 100644 index 00000000..26d35e1b --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/renames.txt" @@ -0,0 +1,11 @@ +aa3398ee-6203-44e1-9810-a0737f241f75-->und\aa3398ee-6203-44e1-9810-a0737f241f75 +c1213115-2d8e-4dbf-9687-e353391331cc-->und\c1213115-2d8e-4dbf-9687-e353391331cc +c1213115-2d8e-4dbf-9687-e353391331cc.0-->Form\Форма\Форма.txt +c1213115-2d8e-4dbf-9687-e353391331cc.0-->und\c1213115-2d8e-4dbf-9687-e353391331cc.0 +c1213115-2d8e-4dbf-9687-e353391331cc.0-->und\c1213115-2d8e-4dbf-9687-e353391331cc.0 +copyinfo-->und\copyinfo +ea75be97-b437-4750-a79f-478ea2e60f75.0\info-->und\ea75be97-b437-4750-a79f-478ea2e60f75.0\info +ea75be97-b437-4750-a79f-478ea2e60f75.0\text-->ObjectModule.txt +root-->und\root +version-->und\version +versions-->und\versions diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/aa3398ee-6203-44e1-9810-a0737f241f75" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/aa3398ee-6203-44e1-9810-a0737f241f75" new file mode 100644 index 00000000..fac22080 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/aa3398ee-6203-44e1-9810-a0737f241f75" @@ -0,0 +1,17 @@ +{1, +{aa3398ee-6203-44e1-9810-a0737f241f75},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,6fd23cfa-0426-4dc3-9927-aedb28bf29ae,0ff7877a-1835-4e16-a06f-627983be2f35, +{0, +{1, +{0,0,ea75be97-b437-4750-a79f-478ea2e60f75},"Тесты_СтроковыеУтилиты", +{1,"ru","Тесты строковые утилиты"},"",0,0} +},00000000-0000-0000-0000-000000000000,"",00000000-0000-0000-0000-000000000000},4, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, +{3daea016-69b7-4ed4-9453-127911372fe6,0}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,c1213115-2d8e-4dbf-9687-e353391331cc}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} +} +} +} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/c1213115-2d8e-4dbf-9687-e353391331cc" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/c1213115-2d8e-4dbf-9687-e353391331cc" new file mode 100644 index 00000000..dd61f920 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/c1213115-2d8e-4dbf-9687-e353391331cc" @@ -0,0 +1,15 @@ +{1, +{1, +{0, +{12, +{1, +{0,0,c1213115-2d8e-4dbf-9687-e353391331cc},"Форма", +{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/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/c1213115-2d8e-4dbf-9687-e353391331cc.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/c1213115-2d8e-4dbf-9687-e353391331cc.0" new file mode 100644 index 00000000..7b270a48 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/c1213115-2d8e-4dbf-9687-e353391331cc.0" @@ -0,0 +1,502 @@ +{3, +{42,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1, +{1,0},0,0,1,1,1,0,1,0, +{0,0,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,"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,0,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},"&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Ожидаем; +&НаКлиенте +Перем СтроковыеУтилиты; + +// { интерфейс тестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин(""УтвержденияBDD""); + СтроковыеУтилиты = КонтекстЯдра.Плагин(""СтроковыеУтилиты""); +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + + НаборТестов.НачатьГруппу(""Функции парсинга текста и подстановки параметров"", Ложь); + + НаборТестов.Добавить(""ТестДолжен_ПроверитьРаботуФункции_ВставитьПараметрыВСтроку"", , ""Проверка работы функции ВставитьПараметрыВСтроку""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьРаботуФункции_ИзвлечьТекстИзHTML"", , ""Проверка работы функции ИзвлечьТекстИзHTML""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьРаботуФункции_НайтиСимволСКонца"", , ""Проверка работы функции НайтиСимволСКонца""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьРаботуФункции_ПодставитьПараметрыВСтроку"", , ""Проверка работы функции ПодставитьПараметрыВСтроку""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьРаботуФункции_ПодставитьПараметрыВСтрокуАльтернативныйАлгоритм"", , ""Проверка работы функции ПодставитьПараметрыВСтрокуАльтернативныйАлгоритм""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьРаботуФункции_ПодставитьПараметрыВСтрокуИзМассива"", , ""Проверка работы функции ПодставитьПараметрыВСтрокуИзМассива""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьРаботуФункции_ПолучитьПараметрыИзСтроки"", , ""Проверка работы функции ПолучитьПараметрыИзСтроки""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьРаботуФункции_РазложитьСтрокуВМассивПодстрок"", , ""Проверка работы функции РазложитьСтрокуВМассивПодстрок""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьРаботуФункции_РазложитьСтрокуВМассивСлов"", , ""Проверка работы функции РазложитьСтрокуВМассивСлов""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьРаботуФункции_СтрокаИзМассиваПодстрок"", , ""Проверка работы функции СтрокаИзМассиваПодстрок""); + + НаборТестов.НачатьГруппу(""Функции преобразования текста и символов"", Ложь); + + НаборТестов.Добавить(""ТестДолжен_ПроверитьРаботуФункции_ДополнитьСтроку"", , ""Проверка работы функции ДополнитьСтроку""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьРаботуФункции_ЗаменитьОдниСимволыДругими"", , ""Проверка работы функции ЗаменитьОдниСимволыДругими""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьРаботуФункции_ПреобразоватьЧислоВРимскуюНотацию"", , ""Проверка работы функции ПреобразоватьЧислоВРимскуюНотацию""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьРаботуФункции_ПреобразоватьЧислоВАрабскуюНотацию"", , ""Проверка работы функции ПреобразоватьЧислоВАрабскуюНотацию""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьРаботуФункции_СократитьДвойныеКавычки"", , ""Проверка работы функции СократитьДвойныеКавычки""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьРаботуФункции_СтрокаВЧисло"", , ""Проверка работы функции СтрокаВЧисло""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьРаботуФункции_СтрокаЛатиницей"", , ""Проверка работы функции СтрокаЛатиницей""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьРаботуФункции_СформироватьСтрокуСимволов"", , ""Проверка работы функции СформироватьСтрокуСимволов""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьРаботуФункции_УдалитьПовторяющиесяСимволы"", , ""Проверка работы функции УдалитьПовторяющиесяСимволы""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьРаботуФункции_УдалитьПоследнийСимволВСтроке"", , ""Проверка работы функции УдалитьПоследнийСимволВСтроке""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьРаботуФункции_ФорматированнаяСтрока"", , ""Проверка работы функции ФорматированнаяСтрока""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьРаботуФункции_ЧислоЦифрамиПредметИсчисленияПрописью"", , ""Проверка работы функции ЧислоЦифрамиПредметИсчисленияПрописью""); + + НаборТестов.НачатьГруппу(""Функции проверки на соответствие критериям"", Ложь); + + НаборТестов.Добавить(""ТестДолжен_ПроверитьРаботуФункции_ТолькоКириллицаВСтроке"", , ""Проверка работы функции ТолькоКириллицаВСтроке""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьРаботуФункции_ТолькоЛатиницаВСтроке"", , ""Проверка работы функции ТолькоЛатиницаВСтроке""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьРаботуФункции_ТолькоЦифрыВСтроке"", , ""Проверка работы функции ТолькоЦифрыВСтроке""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьРаботуФункции_ЭтоРазделительСлов"", , ""Проверка работы функции ЭтоРазделительСлов""); + НаборТестов.Добавить(""ТестДолжен_ПроверитьРаботуФункции_ЭтоУникальныйИдентификатор"", , ""Проверка работы функции ЭтоУникальныйИдентификатор""); + +КонецПроцедуры + +// } интерфейс тестирования + + +// { блок юнит-тестов - сами тесты + +// { Тесты функций парсинга текста и подстановки параметров + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ВставитьПараметрыВСтроку() Экспорт + + // Функция должна возвратить массив из 5 элементов, три из которых - пустые. + РезультатПодстановки = СтроковыеУтилиты.ВставитьПараметрыВСтроку( + ""Здравствуй, [Имя] [Фамилия]."", Новый Структура(""Фамилия,Имя"", ""Пупкин"", ""Вася"")); + + Ожидаем.Что(РезультатПодстановки).Равно(""Здравствуй, Вася Пупкин.""); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ИзвлечьТекстИзHTML() Экспорт + + // Результат должен быть очищен от тегов и возвращать неформатированный текст. + ТекстHTML = + "" + | + | + |
Неформатированный текст.
+ | + |""; + + РезультатИзвлечения = СтроковыеУтилиты.ИзвлечьТекстИзHTML(ТекстHTML); + Ожидаем.Что(РезультатИзвлечения).Равно(""Неформатированный текст.""); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_НайтиСимволСКонца() Экспорт + + СтрокаСимволов = ""й1ц2_й1ц2""; + + // Функция должна вернуть позицию символа в строке. + ПозицияСимвола = СтроковыеУтилиты.НайтиСимволСКонца(СтрокаСимволов, ""ц""); + Ожидаем.Что(ПозицияСимвола).Равно(8); + + // Функция должна вернуть 0, если строка не позицию символа в строке. + ПозицияСимвола = СтроковыеУтилиты.НайтиСимволСКонца(СтрокаСимволов, ""я""); + Ожидаем.Что(ПозицияСимвола).Равно(0); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ПодставитьПараметрыВСтроку() Экспорт + + РезультатПодстановки = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(""%1 пошел в %2"", ""Вася"", ""Зоопарк""); + Ожидаем.Что(РезультатПодстановки).Равно(""Вася пошел в Зоопарк""); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ПодставитьПараметрыВСтрокуАльтернативныйАлгоритм() Экспорт + + РезультатПодстановки = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(""%1 пошел в %2"", ""%username%"", ""Зоопарк""); + Ожидаем.Что(РезультатПодстановки).Равно(""%username% пошел в Зоопарк""); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ПодставитьПараметрыВСтрокуИзМассива() Экспорт + + МассивПараметров = Новый Массив; + МассивПараметров.Добавить(""Вася""); + МассивПараметров.Добавить(""Зоопарк""); + + РезультатПодстановки = СтроковыеУтилиты.ПодставитьПараметрыВСтрокуИзМассива(""%1 пошел в %2"", МассивПараметров); + Ожидаем.Что(РезультатПодстановки).Равно(""Вася пошел в Зоопарк""); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ПолучитьПараметрыИзСтроки() Экспорт + + ПроверяемыеПараметры = СтроковыеУтилиты.ПолучитьПараметрыИзСтроки(""File=""""c:\InfoBases\Trade""""; Usr=""""Director"""";""); + Ожидаем.Что(ПроверяемыеПараметры).ИмеетТип(""Структура"") + .Что(ПроверяемыеПараметры.Свойство(""File"")).ЭтоИстина() + .Что(ПроверяемыеПараметры.File).Равно(""c:\InfoBases\Trade""); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_РазложитьСтрокуВМассивПодстрок() Экспорт + + // Функция должна вернуть массив из 5 элементов, три из которых - пустые. + МассивСтрок = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок("",один,,два,"", "",""); + Ожидаем.Что(МассивСтрок, ""Утверждение 1"").ИмеетТип(""Массив"").ИмеетДлину(5); + + // Функция должна вернуть массив из двух элементов. + МассивСтрок = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок("",один,,два,"", "","", Истина); + Ожидаем.Что(МассивСтрок, ""Утверждение 2"").ИмеетТип(""Массив"").ИмеетДлину(2); + + // Функция должна вернуть пустой массив. + МассивСтрок = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(""""); + Ожидаем.Что(МассивСтрок, ""Утверждение 3"").ИмеетТип(""Массив"").ИмеетДлину(0); + + // Функция должна вернуть массив с одним пустым элементом. + МассивСтрок = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок("""",, Ложь); + Ожидаем.Что(МассивСтрок, ""Утверждение 4"").ИмеетТип(""Массив"").ИмеетДлину(1); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_РазложитьСтрокуВМассивСлов() Экспорт + + // Функция должна вернуть массив значений: ""один"", ""два2_"", ""три"". + МассивСлов = СтроковыеУтилиты.РазложитьСтрокуВМассивСлов(""один-@#два2_!три""); + Ожидаем.Что(МассивСлов, ""Утверждение 1"").ИмеетТип(""Массив"").ИмеетДлину(3); + Ожидаем.Что(МассивСлов[0], ""Утверждение 1, слово 1"").Равно(""один""); + Ожидаем.Что(МассивСлов[1], ""Утверждение 1, слово 2"").Равно(""два2_""); + + // Функция должна вернуть массив значений: ""один-"", ""два2"", ""три"". + МассивСлов = СтроковыеУтилиты.РазложитьСтрокуВМассивСлов(""один-@#два2_!три"", ""#@!_""); + Ожидаем.Что(МассивСлов, ""Утверждение 2"").ИмеетТип(""Массив"").ИмеетДлину(3); + Ожидаем.Что(МассивСлов[0], ""Утверждение 2, слово 1"").Равно(""один-""); + Ожидаем.Что(МассивСлов[1], ""Утверждение 2, слово 2"").Равно(""два2""); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_СтрокаИзМассиваПодстрок() Экспорт + + МассивСтрок = Новый Массив; + МассивСтрок.Добавить(""Вася""); + МассивСтрок.Добавить(""пошел в""); + МассивСтрок.Добавить(""Зоопарк.""); + + // Функция должна объединить строки из массива в строку с разделителями + РезультатСоединения = СтроковыеУтилиты.СтрокаИзМассиваПодстрок(МассивСтрок, "" ""); + Ожидаем.Что(РезультатСоединения).Равно(""Вася пошел в Зоопарк.""); + +КонецПроцедуры + +// } Тесты функций парсинга текста и подстановки параметров + +// { Тесты функций преобразования текста и символов + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ДополнитьСтроку() Экспорт + + // Функция должна дополнить строку до 10-ти символов. По умолчанию функция дополняет строку символами ""0"" (ноль) слева. + РезультатДополнения = СтроковыеУтилиты.ДополнитьСтроку(""1234"", 10); + Ожидаем.Что(РезультатДополнения).Равно(""0000001234""); + + // Функция должна дополнить строку до 10-ти символов, использую символ ""#"". Незначащие символы слева и справа удаляются. + РезультатДополнения = СтроковыеУтилиты.ДополнитьСтроку("" 1234 "", 10, ""#"", ""Справа""); + Ожидаем.Что(РезультатДополнения).Равно(""1234######""); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ЗаменитьОдниСимволыДругими() Экспорт + + // Функция должна выполнить замену одних символов в строке на другие. + РезультатЗамены = СтроковыеУтилиты.ЗаменитьОдниСимволыДругими(""ABC"",""ABCxyz"", ""АБВ""); + Ожидаем.Что(РезультатЗамены).Равно(""АБВxyz""); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ПреобразоватьЧислоВРимскуюНотацию() Экспорт + + // Функция должна выполнить преобразование арабского числа от 0 до 999 в римское. + РезультатПреобразования = СтроковыеУтилиты.ПреобразоватьЧислоВРимскуюНотацию(117, Ложь); + Ожидаем.Что(РезультатПреобразования).Равно(""CXVII""); + + // То же самое но используя кириллицу. + РезультатПреобразования = СтроковыеУтилиты.ПреобразоватьЧислоВРимскуюНотацию(117); + Ожидаем.Что(РезультатПреобразования).Равно(""СХУ11""); + + // Казус следующей проверки в том, что в римской системе счисления не было нуля. + // Функция, в данном случае, возвращает пустую строку (по всей видимости, римскую). + РезультатПреобразования = СтроковыеУтилиты.ПреобразоватьЧислоВРимскуюНотацию(0); + Ожидаем.Что(РезультатПреобразования).Равно(""""); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ПреобразоватьЧислоВАрабскуюНотацию() Экспорт + + // Функция должна выполнить преобразование римского числа в арабское. + РезультатПреобразования = СтроковыеУтилиты.ПреобразоватьЧислоВАрабскуюНотацию(""CXVII"", Ложь); + Ожидаем.Что(РезультатПреобразования).Равно(117); + + // То же самое но используя кириллицу. + РезультатПреобразования = СтроковыеУтилиты.ПреобразоватьЧислоВАрабскуюНотацию(""СХУ11""); + Ожидаем.Что(РезультатПреобразования).Равно(117); + + // Казус следующей проверки в том, что в римской системе счисления не было нуля. + // Функция, в данном случае, принимает пустую строку и возвращает арабский ноль. + РезультатПреобразования = СтроковыеУтилиты.ПреобразоватьЧислоВАрабскуюНотацию(""""); + Ожидаем.Что(РезультатПреобразования).Равно(0); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_СократитьДвойныеКавычки() Экспорт + + РезультатЗамены = СтроковыеУтилиты.СократитьДвойныеКавычки(""""""АБВ""""""""""); + Ожидаем.Что(РезультатЗамены).Равно(""АБВ""); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_СтрокаВЧисло() Экспорт + + // Функция должна выполнить преобразование строки в число без вызова исключения. + РезультатПреобразования = СтроковыеУтилиты.СтрокаВЧисло(""- 123 456,789 ""); + Ожидаем.Что(РезультатПреобразования).Равно(-123456.789); + + // Функция должна выполнить преобразование строки в число без вызова исключения. + РезультатПреобразования = СтроковыеУтилиты.СтрокаВЧисло(""123а""); + Ожидаем.Что(РезультатПреобразования).Равно(Неопределено); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_СтрокаЛатиницей() Экспорт + + // Функция должна выполнить замену одних символов в строке на другие. + РезультатЗамены = СтроковыеУтилиты.СтрокаЛатиницей(""Съешь ещё этих мягких французских булок, да выпей же чаю.""); + Ожидаем.Что(РезультатЗамены).Равно(""S""""esh eshche etikh myagkikh frantsuzskikh bulok, da vypey zhe chayu.""); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_СформироватьСтрокуСимволов() Экспорт + + Результат = СтроковыеУтилиты.СформироватьСтрокуСимволов(""#"", 5); + Ожидаем.Что(Результат).Равно(""#####""); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_УдалитьПовторяющиесяСимволы() Экспорт + + // Функция должна удалить крайние повторяющиеся символы слева в строке. + РезультатЗамены = СтроковыеУтилиты.УдалитьПовторяющиесяСимволы(""...АБВ..."", "".""); + Ожидаем.Что(РезультатЗамены).Равно(""АБВ...""); + + // Функция должна удалить крайние повторяющиеся символы справа в строке. + РезультатЗамены = СтроковыеУтилиты.УдалитьПовторяющиесяСимволы(""...АБВ..."", ""."", ""Справа""); + Ожидаем.Что(РезультатЗамены).Равно(""...АБВ""); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_УдалитьПоследнийСимволВСтроке() Экспорт + + СтрокаДляЗамены = ""Привет!!!""; + СтроковыеУтилиты.УдалитьПоследнийСимволВСтроке(СтрокаДляЗамены, 2); + Ожидаем.Что(СтрокаДляЗамены).Равно(""Привет!""); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ФорматированнаяСтрока() Экспорт + + МассивСтроки = Новый Массив; + МассивСтроки.Добавить(Новый ФорматированнаяСтрока(""1.1"", Новый Шрифт(,,Истина))); + МассивСтроки.Добавить("". ""); + МассивСтроки.Добавить(Новый ФорматированнаяСтрока(""Обновите"",,,, ""Обновление"")); + МассивСтроки.Добавить("" программу.""); + + РезультатПреобразования = СтроковыеУтилиты.ФорматированнаяСтрока(""1.1. Обновите программу.""); + Ожидаем.Что(РезультатПреобразования).Равно(Новый ФорматированнаяСтрока(МассивСтроки)); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ЧислоЦифрамиПредметИсчисленияПрописью() Экспорт + + РезультатПреобразования = СтроковыеУтилиты.ЧислоЦифрамиПредметИсчисленияПрописью(21, ""минуту,минуты,минут""); + Ожидаем.Что(РезультатПреобразования).Равно(""21 минуту""); + + РезультатПреобразования = СтроковыеУтилиты.ЧислоЦифрамиПредметИсчисленияПрописью(33, ""минуту,минуты,минут""); + Ожидаем.Что(РезультатПреобразования).Равно(""33 минуты""); + + РезультатПреобразования = СтроковыеУтилиты.ЧислоЦифрамиПредметИсчисленияПрописью(45, ""минуту,минуты,минут""); + Ожидаем.Что(РезультатПреобразования).Равно(""45 минут""); + +КонецПроцедуры + +// } Тесты функций преобразования текста и символов + +// { Тесты функций проверки на соответствие критериям + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ТолькоКириллицаВСтроке() Экспорт + + РезультатПроверки = СтроковыеУтилиты.ТолькоКириллицаВСтроке(""Съешь ещё этих мягких французских булок, да выпей же чаю."",, "" ,.""); + Ожидаем.Что(РезультатПроверки, ""В строке только кириллица."").ЭтоИстина(); + + РезультатПроверки = СтроковыеУтилиты.ТолькоКириллицаВСтроке(""АБВ z эюя"",, "" ""); + Ожидаем.Что(РезультатПроверки, ""В строке присутствует не кириллический символ"").ЭтоЛожь(); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ТолькоЛатиницаВСтроке() Экспорт + + РезультатПроверки = СтроковыеУтилиты.ТолькоЛатиницаВСтроке(""The quick brown fox jumps over the lazy dog."",, "" .""); + Ожидаем.Что(РезультатПроверки, ""В строке только латиница."").ЭтоИстина(); + + РезультатПроверки = СтроковыеУтилиты.ТолькоЛатиницаВСтроке(""ABC я xyz"",, "" ""); + Ожидаем.Что(РезультатПроверки, ""В строке присутствует не латинский символ"").ЭтоЛожь(); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ТолькоЦифрыВСтроке() Экспорт + + РезультатПроверки = СтроковыеУтилиты.ТолькоЦифрыВСтроке(""001 234"", Ложь, Ложь); + Ожидаем.Что(РезультатПроверки).ЭтоИстина(); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ЭтоРазделительСлов() Экспорт + + РезультатПроверки = СтроковыеУтилиты.ЭтоРазделительСлов(КодСимвола(""5"")); + Ожидаем.Что(РезультатПроверки, ""Проверка цифрового символа."").ЭтоЛожь(); + + РезультатПроверки = СтроковыеУтилиты.ЭтоРазделительСлов(КодСимвола(""d"")); + Ожидаем.Что(РезультатПроверки, ""Проверка латинского символа."").ЭтоЛожь(); + + РезультатПроверки = СтроковыеУтилиты.ЭтоРазделительСлов(КодСимвола(""Ш"")); + Ожидаем.Что(РезультатПроверки, ""Проверка кириллического символа."").ЭтоЛожь(); + + РезультатПроверки = СтроковыеУтилиты.ЭтоРазделительСлов(КодСимвола("" "")); + Ожидаем.Что(РезультатПроверки, ""Проверка символа пробел."").ЭтоИстина(); + + РезультатПроверки = СтроковыеУтилиты.ЭтоРазделительСлов(КодСимвола("","")); + Ожидаем.Что(РезультатПроверки, ""Проверка запятой символа."").ЭтоИстина(); + + РезультатПроверки = СтроковыеУтилиты.ЭтоРазделительСлов(КодСимвола(""$""), ""$""); + Ожидаем.Что(РезультатПроверки, ""Проверка собственного символа."").ЭтоИстина(); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ЭтоУникальныйИдентификатор() Экспорт + + РезультатПроверки = СтроковыеУтилиты.ЭтоУникальныйИдентификатор(Новый УникальныйИдентификатор); + Ожидаем.Что(РезультатПроверки).ЭтоИстина(); + +КонецПроцедуры + +// } Тесты функций проверки на соответствие критериям + +// } блок юнит-тестов - сами тесты +", +{4,1, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",6fd23cfa-0426-4dc3-9927-aedb28bf29ae} +}, +{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 +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,0}, +{0,0}, +{0,0}, +{0,0},0,0} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/copyinfo" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/copyinfo" new file mode 100644 index 00000000..03d97f7c --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/copyinfo" @@ -0,0 +1,13 @@ +{4, +{1, +{ea75be97-b437-4750-a79f-478ea2e60f75,ea75be97-b437-4750-a79f-478ea2e60f75,1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"Тесты_СтроковыеУтилиты"} +} +}, +{1, +{6fd23cfa-0426-4dc3-9927-aedb28bf29ae,ea75be97-b437-4750-a79f-478ea2e60f75,0} +}, +{0}, +{0,0}, +{0} +} \ No newline at end of file diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/ea75be97-b437-4750-a79f-478ea2e60f75.0/info" similarity index 100% rename from "src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/ea75be97-b437-4750-a79f-478ea2e60f75.0/info" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/root" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/root" new file mode 100644 index 00000000..1286e33a --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/root" @@ -0,0 +1 @@ +{2,aa3398ee-6203-44e1-9810-a0737f241f75,} \ No newline at end of file diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/version" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/version" similarity index 100% rename from "src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/version" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/version" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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" new file mode 100644 index 00000000..ef8899cf --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\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" @@ -0,0 +1 @@ +{1,11,"",0d25f772-63fa-437b-ac02-3d43b13cee3d,"aa3398ee-6203-44e1-9810-a0737f241f75",1899f848-0944-4b68-b2c8-a47841ce2382,"c1213115-2d8e-4dbf-9687-e353391331cc",3ca1ba3c-df24-44c7-9a26-b1f622814a1e,"c1213115-2d8e-4dbf-9687-e353391331cc.0",761125f9-a4c5-4175-826f-bba1092e3f4b,"c1213115-2d8e-4dbf-9687-e353391331cc.1",6ea21ecc-ca53-4a7b-902f-46566bfc3216,"cc3dbe26-3080-4bf0-9ab1-ee85f142f7bc",398e9380-50e9-46e0-8c61-15026bb86cf2,"copyinfo",faa5343c-fd44-4000-9eea-6506a2d2631b,"ea75be97-b437-4750-a79f-478ea2e60f75.0",f0c188f8-0a93-4e66-99d9-1b973981ff63,"root",f29f977f-5b78-4505-bdbd-60f7d4b55c0a,"version",64ea2a59-dc17-431f-8cf7-05ce604da109,"versions",10708b6f-1152-4e10-9fb1-0273c72d6427} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" new file mode 100644 index 00000000..38543acb --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" @@ -0,0 +1,87 @@ +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Ожидаем; + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); +КонецПроцедуры + +&НаКлиенте +Функция ПолучитьСписокТестов() Экспорт + ВсеТесты = Новый Массив; + ВсеТесты.Добавить("ТестДолжен_Проверить_РаботуУтвержденийBDD_НаКлиенте"); + ВсеТесты.Добавить("ТестДолжен_Проверить_РаботуКомпозитныхУтвержденийBDD_НаКлиенте"); + ВсеТесты.Добавить("ТестДолжен_Проверить_ВыбрасываемыеСообщения_НаКлиенте"); + + Возврат ВсеТесты; +КонецФункции + +&НаКлиенте +Процедура ПередЗапускомТеста() Экспорт + +КонецПроцедуры + +&НаКлиенте +Процедура ПослеЗапускаТеста() Экспорт + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Проверить_РаботуУтвержденийBDD_НаКлиенте() Экспорт + Ожидаем.Что(1 > 0, "ЭтоИстина").ЭтоИстина(); + Ожидаем.Что(13 = 2, "Не ЭтоИстина").Не_().ЭтоИстина(); + Ожидаем.Что(Неопределено, "Неопределено <> Истина").Не_().ЭтоИстина(); + Ожидаем.Что(5 = 7, "ЭтоЛожь").ЭтоЛожь(); + Ожидаем.Что(Неопределено, "Неопределено <> Ложь").Не_().ЭтоЛожь(); + Ожидаем.Что(5, "Равно").Равно(5); + Ожидаем.Что(4, "Больше").Больше(2); + Ожидаем.Что(7, "БольшеИлиРавно").БольшеИлиРавно(7); + Ожидаем.Что(15, "Минимум").Минимум(9); + Ожидаем.Что(90, "МеньшеИлиРавно").МеньшеИлиРавно(100); + Ожидаем.Что(90, "Максимум").Максимум(90); + Ожидаем.Что(55, "Меньше").Меньше(56); + Ожидаем.Что(1, "Заполнено").Заполнено(); + Ожидаем.Что(Новый Массив, "Существует").Существует(); + Ожидаем.Что(Неопределено, "ЭтоНеопределено").ЭтоНеопределено(); + Ожидаем.Что(Null, "ЭтоNull").ЭтоNull(); + Ожидаем.Что("", "ИмеетТип").ИмеетТип("Строка"); + Ожидаем.Что(7, "Между").Между(1, 10); + Ожидаем.Что("Некая строка", "Содержит").Содержит("стр"); + Ожидаем.Что("Некая строка", "ИмеетДлину").ИмеетДлину(12); + Ожидаем.Что(Новый Структура).Метод("Вставить").ВыбрасываетИсключение("Недостаточно фактических параметров"); + Ожидаем.Что(Истина, "ЕстьИстина").ЕстьИстина().Существует(); + Ожидаем.Что(Ложь, "ЕстьЛожь").ЕстьЛожь().Существует(); + Ожидаем.Что(Неопределено, "ЕстьНеопределено и ЭтоНе").ЕстьНеопределено().ЭтоНе().Существует(); + Ожидаем.Что(Null, "ЕстьNull и ЭтоНе").ЕстьNull().ЭтоНе().Существует(); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Проверить_РаботуКомпозитныхУтвержденийBDD_НаКлиенте() Экспорт + Ожидаем.Что(Новый Массив, "Пустой массив") + .Существует() + .Не_().Заполнено() + .ИмеетДлину(0) + .Не_().Содержит(5); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Проверить_ВыбрасываемыеСообщения_НаКлиенте() Экспорт + ТекстИсключения = ""; + Попытка + Ожидаем.Что(Ложь).ЭтоИстина(); + Исключение + ТекстИсключения = ОписаниеОшибки(); + КонецПопытки; + Ожидаем.Что(ТекстИсключения).Не_().Содержит("НЕ"); + + ТекстИсключения = ""; + Попытка + Ожидаем.Что(Истина).Не_().ЭтоИстина(); + Исключение + ТекстИсключения = ОписаниеОшибки(); + КонецПопытки; + Ожидаем.Что(ТекстИсключения).Содержит("НЕ"); +КонецПроцедуры diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/ObjectModule.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/ObjectModule.txt" new file mode 100644 index 00000000..6c6cc55d --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/ObjectModule.txt" @@ -0,0 +1,347 @@ +Перем КонтекстЯдра; +Перем Ожидаем; + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); +КонецПроцедуры + +Функция ПолучитьСписокТестов() Экспорт + ВсеТесты = Новый Массив; + ВсеТесты.Добавить("ТестДолжен_Проверить_ЭтоИстина"); + ВсеТесты.Добавить("ТестДолжен_Проверить_Отрицание_ЭтоИстина"); + ВсеТесты.Добавить("ТестДолжен_Проверить_ЭтоЛожь"); + ВсеТесты.Добавить("ТестДолжен_Проверить_Отрицание_ЭтоЛожь"); + ВсеТесты.Добавить("ТестДолжен_Проверить_Равно"); + ВсеТесты.Добавить("ТестДолжен_Проверить_Отрицание_Равно"); + ВсеТесты.Добавить("ТестДолжен_Проверить_Больше"); + ВсеТесты.Добавить("ТестДолжен_Проверить_Отрицание_Больше"); + ВсеТесты.Добавить("ТестДолжен_Проверить_БольшеИлиРавно_И_Минимум"); + ВсеТесты.Добавить("ТестДолжен_Проверить_Отрицание_БольшеИлиРавно_И_Минимум"); + ВсеТесты.Добавить("ТестДолжен_Проверить_МеньшеИлиРавно_И_Максимум"); + ВсеТесты.Добавить("ТестДолжен_Проверить_Отрицание_МеньшеИлиРавно_И_Максимум"); + ВсеТесты.Добавить("ТестДолжен_Проверить_Меньше"); + ВсеТесты.Добавить("ТестДолжен_Проверить_Отрицание_Меньше"); + ВсеТесты.Добавить("ТестДолжен_Проверить_Заполнено"); + ВсеТесты.Добавить("ТестДолжен_Проверить_Отрицание_Заполнено"); + ВсеТесты.Добавить("ТестДолжен_Проверить_Существует"); + ВсеТесты.Добавить("ТестДолжен_Проверить_Отрицание_Существует"); + ВсеТесты.Добавить("ТестДолжен_Проверить_ЭтоНеопределено"); + ВсеТесты.Добавить("ТестДолжен_Проверить_Отрицание_ЭтоНеопределено"); + ВсеТесты.Добавить("ТестДолжен_Проверить_ЭтоNull"); + ВсеТесты.Добавить("ТестДолжен_Проверить_Отрицание_ЭтоNull"); + ВсеТесты.Добавить("ТестДолжен_Проверить_ИмеетТип"); + ВсеТесты.Добавить("ТестДолжен_Проверить_Отрицание_ИмеетТип"); + ВсеТесты.Добавить("ТестДолжен_Проверить_Между"); + ВсеТесты.Добавить("ТестДолжен_Проверить_Отрицание_Между"); + ВсеТесты.Добавить("ТестДолжен_Проверить_Содержит"); + ВсеТесты.Добавить("ТестДолжен_Проверить_Отрицание_Содержит"); + ВсеТесты.Добавить("ТестДолжен_Проверить_ИмеетДлину"); + ВсеТесты.Добавить("ТестДолжен_Проверить_Отрицание_ИмеетДлину"); + ВсеТесты.Добавить("ТестДолжен_Проверить_КомпозитныеУтверждения"); + ВсеТесты.Добавить("ТестДолжен_Проверить_КомпозитныеУтверждения_ВПеремешкуС_Отрицаниями"); + ВсеТесты.Добавить("ТестДолжен_Проверить_ВыбрасываетИсключение"); + ВсеТесты.Добавить("ТестДолжен_Проверить_Отрицание_ВыбрасываетИсключение"); + ВсеТесты.Добавить("ТестДолжен_Проверить_ВыбрасываемыеСообщения"); + ВсеТесты.Добавить("ТестДолжен_Проверить_ЭтоНе"); + ВсеТесты.Добавить("ТестДолжен_Проверить_ЕстьИстина"); + ВсеТесты.Добавить("ТестДолжен_Проверить_ЕстьЛожь"); + ВсеТесты.Добавить("ТестДолжен_Проверить_ЕстьНеопределено"); + ВсеТесты.Добавить("ТестДолжен_Проверить_ЕстьNull"); + + Возврат ВсеТесты; +КонецФункции + +Процедура ТестДолжен_Проверить_ЭтоИстина() Экспорт + Ожидаем.Что(5 > 1).ЭтоИстина(); + Ожидаем.Что(Истина).ЭтоИстина(); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_Отрицание_ЭтоИстина() Экспорт + Ожидаем.Что(5 < 1).Не_().ЭтоИстина(); + Ожидаем.Что(Ложь).Не_().ЭтоИстина(); + Ожидаем.Что(Неопределено).Не_().ЭтоИстина(); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_ЭтоЛожь() Экспорт + Ожидаем.Что(5 < 1).ЭтоЛожь(); + Ожидаем.Что(Ложь).ЭтоЛожь(); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_Отрицание_ЭтоЛожь() Экспорт + Ожидаем.Что(5 > 1).Не_().ЭтоЛожь(); + Ожидаем.Что(Истина).Не_().ЭтоЛожь(); + Ожидаем.Что(Неопределено).Не_().ЭтоЛожь(); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_Равно() Экспорт + Ожидаем.Что(5).Равно(5); + Ожидаем.Что("некая строка").Равно("некая строка"); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_Отрицание_Равно() Экспорт + Ожидаем.Что(5).Не_().Равно(7); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_Больше() Экспорт + Ожидаем.Что(4).Больше(2); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_Отрицание_Больше() Экспорт + Ожидаем.Что(7).Не_().Больше(11); + Ожидаем.Что(7).Не_().Больше(7); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_БольшеИлиРавно_И_Минимум() Экспорт + НекоеЧисло = 9; + Ожидаем.Что(НекоеЧисло).БольшеИлиРавно(5); + Ожидаем.Что(НекоеЧисло).БольшеИлиРавно(9); + + Ожидаем.Что(НекоеЧисло).Минимум(1); + Ожидаем.Что(НекоеЧисло).Минимум(9); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_Отрицание_БольшеИлиРавно_И_Минимум() Экспорт + НекоеЧисло = 15; + Ожидаем.Что(НекоеЧисло).Не_().БольшеИлиРавно(20); + Ожидаем.Что(НекоеЧисло).Не_().Минимум(16); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_МеньшеИлиРавно_И_Максимум() Экспорт + НекоеЧисло = 30; + Ожидаем.Что(НекоеЧисло).МеньшеИлиРавно(32); + Ожидаем.Что(НекоеЧисло).МеньшеИлиРавно(30); + + Ожидаем.Что(НекоеЧисло).Максимум(37); + Ожидаем.Что(НекоеЧисло).Максимум(30); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_Отрицание_МеньшеИлиРавно_И_Максимум() Экспорт + НекоеЧисло = 17; + Ожидаем.Что(НекоеЧисло).Не_().МеньшеИлиРавно(16); + Ожидаем.Что(НекоеЧисло).Не_().Максимум(11); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_Меньше() Экспорт + Ожидаем.Что(5).Меньше(10); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_Отрицание_Меньше() Экспорт + Ожидаем.Что(5).Не_().Меньше(3); + Ожидаем.Что(5).Не_().Меньше(5); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_Заполнено() Экспорт + Ожидаем.Что(7).Заполнено(); + Ожидаем.Что("!!!").Заполнено(); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_Отрицание_Заполнено() Экспорт + Ожидаем.Что(0).Не_().Заполнено(); + Ожидаем.Что("").Не_().Заполнено(); + Ожидаем.Что(Новый Массив).Не_().Заполнено(); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_Существует() Экспорт + Ожидаем.Что(0).Существует(); + Ожидаем.Что("").Существует(); + Ожидаем.Что(Новый Массив).Существует(); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_Отрицание_Существует() Экспорт + Ожидаем.Что(Неопределено).Не_().Существует(); + Ожидаем.Что(Null).Не_().Существует(); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_ЭтоНеопределено() Экспорт + Перем Переменная; + Ожидаем.Что(Переменная).ЭтоНеопределено(); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_Отрицание_ЭтоНеопределено() Экспорт + Ожидаем.Что(0).Не_().ЭтоНеопределено(); + Ожидаем.Что(Null).Не_().ЭтоНеопределено(); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_ЭтоNull() Экспорт + Ссылка = Null; + Ожидаем.Что(Ссылка).ЭтоNull(); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_Отрицание_ЭтоNull() Экспорт + Ожидаем.Что("").Не_().ЭтоNull(); + Ожидаем.Что(Неопределено).Не_().ЭтоNull(); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_ИмеетТип() Экспорт + Ожидаем.Что(Новый Массив).ИмеетТип("Массив"); + Ожидаем.Что(5).ИмеетТип(Тип("Число")); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_Отрицание_ИмеетТип() Экспорт + Ожидаем.Что("").Не_().ИмеетТип("Массив"); + Ожидаем.Что(5).Не_().ИмеетТип(Тип("Дата")); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_Между() Экспорт + Ожидаем.Что(5).Между(3, 7); + Ожидаем.Что(3).Между(3, 7); + Ожидаем.Что(7).Между(3, 7); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_Отрицание_Между() Экспорт + Ожидаем.Что(1).Не_().Между(3, 7); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_Содержит() Экспорт + Ожидаем.Что("Некая строка", "Строка").Содержит("ока"); + + НекийМассив = Новый Массив; + НекийМассив.Добавить(1); + НекийМассив.Добавить(2); + Ожидаем.Что(НекийМассив, "НекийМассив").Содержит(2); + + НекийФиксированныйМассив = Новый ФиксированныйМассив(НекийМассив); + Ожидаем.Что(НекийМассив, "НекийФиксированныйМассив").Содержит(1); + + НекаяСтруктура = Новый Структура("Ключ1, Ключ2", "Значение1", "Значение2"); + Ожидаем.Что(НекаяСтруктура, "НекаяСтруктура").Содержит("Значение1"); + + НекаяФиксированнаяСтруктура = Новый ФиксированнаяСтруктура(НекаяСтруктура); + Ожидаем.Что(НекаяФиксированнаяСтруктура, "НекаяФиксированнаяСтруктура").Содержит("Значение2"); + + НекоеСоответствие = Новый Соответствие; + НекоеСоответствие.Вставить(1, НекийМассив); + НекоеСоответствие.Вставить(2, НекаяСтруктура); + Ожидаем.Что(НекоеСоответствие, "НекоеСоответствие").Содержит(НекийМассив); + + НекоеФиксированноеСоответствие = Новый ФиксированноеСоответствие(НекоеСоответствие); + Ожидаем.Что(НекоеФиксированноеСоответствие, "НекоеФиксированноеСоответствие").Содержит(НекаяСтруктура); + + НекийСписокЗначений = Новый СписокЗначений; + НекийСписокЗначений.Добавить("знач1"); + НекийСписокЗначений.Добавить("знач2"); + Ожидаем.Что(НекийСписокЗначений, "НекийСписокЗначений").Содержит("знач1"); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_Отрицание_Содержит() Экспорт + Ожидаем.Что("Некая строка").Не_().Содержит("!!!"); + + НекийМассив = Новый Массив; + НекийМассив.Добавить(1); + НекийМассив.Добавить(2); + Ожидаем.Что(НекийМассив).Не_().Содержит(7); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_ИмеетДлину() Экспорт + Ожидаем.Что("Некая строка", "Строка").ИмеетДлину(12); + + НекийМассив = Новый Массив; + НекийМассив.Добавить(1); + НекийМассив.Добавить(2); + Ожидаем.Что(НекийМассив, "НекийМассив").ИмеетДлину(2); + + НекийФиксированныйМассив = Новый ФиксированныйМассив(НекийМассив); + Ожидаем.Что(НекийМассив, "НекийФиксированныйМассив").ИмеетДлину(2); + + НекаяСтруктура = Новый Структура("Ключ1, Ключ2, Ключ3", "Значение1", "Значение2"); + Ожидаем.Что(НекаяСтруктура, "НекаяСтруктура").ИмеетДлину(3); + + НекаяФиксированнаяСтруктура = Новый ФиксированнаяСтруктура(НекаяСтруктура); + Ожидаем.Что(НекаяФиксированнаяСтруктура, "НекаяФиксированнаяСтруктура").ИмеетДлину(3); + + НекоеСоответствие = Новый Соответствие; + НекоеСоответствие.Вставить(1, НекийМассив); + НекоеСоответствие.Вставить(2, НекаяСтруктура); + Ожидаем.Что(НекоеСоответствие, "НекоеСоответствие").ИмеетДлину(2); + + НекоеФиксированноеСоответствие = Новый ФиксированноеСоответствие(НекоеСоответствие); + Ожидаем.Что(НекоеФиксированноеСоответствие, "НекоеФиксированноеСоответствие").ИмеетДлину(2); + + НекийСписокЗначений = Новый СписокЗначений; + НекийСписокЗначений.ЗагрузитьЗначения(НекийМассив); + НекийСписокЗначений.Добавить("знач1"); + НекийСписокЗначений.Добавить("знач2"); + Ожидаем.Что(НекийСписокЗначений, "НекийСписокЗначений").ИмеетДлину(4); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_Отрицание_ИмеетДлину() Экспорт + Ожидаем.Что("Некая строка", "Строка").Не_().ИмеетДлину(1); + + НекаяСтруктура = Новый Структура("Ключ1, Ключ2, Ключ3", "Значение1", "Значение2"); + Ожидаем.Что(НекаяСтруктура, "НекаяСтруктура").Не_().ИмеетДлину(4); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_КомпозитныеУтверждения() Экспорт + Ожидаем.Что("Некая строка") + .Существует() + .ИмеетТип("Строка") + .ИмеетДлину(12) + .Содержит("стр"); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_КомпозитныеУтверждения_ВПеремешкуС_Отрицаниями() Экспорт + Ожидаем.Что("Некая строка") + .Существует() + .Не_().ИмеетТип("Число") + .ИмеетДлину(12) + .Не_().Содержит("!!!"); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_ВыбрасываетИсключение() Экспорт + Контекст = Новый Структура; + + Ожидаем.Что(Контекст).Метод("Вставить").ВыбрасываетИсключение(); + Ожидаем.Что(Контекст).Метод("Вставить").ВыбрасываетИсключение("Недостаточно фактических параметров"); + + Параметры = Новый Массив; + Параметры.Добавить("Плохой Ключ"); + Параметры.Добавить(5); + Ожидаем.Что(Контекст).Метод("Вставить", Параметры).ВыбрасываетИсключение("Задано неправильное имя атрибута структуры"); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_Отрицание_ВыбрасываетИсключение() Экспорт + Контекст = Новый Структура; + Параметры = Новый Массив; + Параметры.Добавить("Ключ"); + Параметры.Добавить("Значение"); + Ожидаем.Что(Контекст).Метод("Вставить", Параметры).Не_().ВыбрасываетИсключение(); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_ВыбрасываемыеСообщения() Экспорт + ТекстИсключения = ""; + Попытка + Ожидаем.Что(Ложь).ЭтоИстина(); + Исключение + ТекстИсключения = ОписаниеОшибки(); + КонецПопытки; + Ожидаем.Что(ТекстИсключения).Не_().Содержит("НЕ"); + + ТекстИсключения = ""; + Попытка + Ожидаем.Что(Истина).Не_().ЭтоИстина(); + Исключение + ТекстИсключения = ОписаниеОшибки(); + КонецПопытки; + Ожидаем.Что(ТекстИсключения).Содержит("НЕ"); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_ЭтоНе() Экспорт + Ожидаем.Что(5).ЭтоНе().Равно(7); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_ЕстьИстина() Экспорт + Ожидаем.Что(5 > 1).ЕстьИстина().Существует(); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_ЕстьЛожь() Экспорт + Ожидаем.Что(4 > 6).ЕстьЛожь().Существует(); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_ЕстьНеопределено() Экспорт + Ожидаем.Что(Неопределено).ЕстьНеопределено().ЭтоНе().Существует(); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_ЕстьNull() Экспорт + Ожидаем.Что(Null).ЕстьNull().ЭтоНе().Существует(); +КонецПроцедуры diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/renames.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/renames.txt" new file mode 100644 index 00000000..63314c4d --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/renames.txt" @@ -0,0 +1,11 @@ +53e66096-e66b-4bde-869e-c750bc34751b-->und\53e66096-e66b-4bde-869e-c750bc34751b +53e66096-e66b-4bde-869e-c750bc34751b.0-->C:\Projects\xUnitFor1C_plugins\src\Tests\Plugins\Тесты_УтвержденияBDD\Form\Форма\Форма.txt +53e66096-e66b-4bde-869e-c750bc34751b.0-->und\53e66096-e66b-4bde-869e-c750bc34751b.0 +53e66096-e66b-4bde-869e-c750bc34751b.0-->und\53e66096-e66b-4bde-869e-c750bc34751b.0 +9cb5b204-7281-47bd-aa1c-5f9a6a950513-->und\9cb5b204-7281-47bd-aa1c-5f9a6a950513 +b9fd794e-c598-414d-9858-603393d7d912.0\info-->und\b9fd794e-c598-414d-9858-603393d7d912.0\info +b9fd794e-c598-414d-9858-603393d7d912.0\text-->ObjectModule.txt +copyinfo-->und\copyinfo +root-->und\root +version-->und\version +versions-->und\versions diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/53e66096-e66b-4bde-869e-c750bc34751b" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/53e66096-e66b-4bde-869e-c750bc34751b" new file mode 100644 index 00000000..659b42dd --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/53e66096-e66b-4bde-869e-c750bc34751b" @@ -0,0 +1,15 @@ +{1, +{1, +{0, +{12, +{0, +{0,0,53e66096-e66b-4bde-869e-c750bc34751b},"Форма", +{1,"ru","Форма"},""},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/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/53e66096-e66b-4bde-869e-c750bc34751b.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/53e66096-e66b-4bde-869e-c750bc34751b.0" new file mode 100644 index 00000000..588e6a08 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/53e66096-e66b-4bde-869e-c750bc34751b.0" @@ -0,0 +1,176 @@ +{2, +{36,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1, +{1,0},0,0,1,1,1,0,1,0, +{0}, +{0},1, +{19, +{-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,"","",1, +{19, +{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, +{8, +{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}, +{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},"&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Ожидаем; + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин(""УтвержденияBDD""); +КонецПроцедуры + +&НаКлиенте +Функция ПолучитьСписокТестов() Экспорт + ВсеТесты = Новый Массив; + ВсеТесты.Добавить(""ТестДолжен_Проверить_РаботуУтвержденийBDD_НаКлиенте""); + ВсеТесты.Добавить(""ТестДолжен_Проверить_РаботуКомпозитныхУтвержденийBDD_НаКлиенте""); + ВсеТесты.Добавить(""ТестДолжен_Проверить_ВыбрасываемыеСообщения_НаКлиенте""); + + Возврат ВсеТесты; +КонецФункции + +&НаКлиенте +Процедура ПередЗапускомТеста() Экспорт + +КонецПроцедуры + +&НаКлиенте +Процедура ПослеЗапускаТеста() Экспорт + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Проверить_РаботуУтвержденийBDD_НаКлиенте() Экспорт + Ожидаем.Что(1 > 0, ""ЭтоИстина"").ЭтоИстина(); + Ожидаем.Что(13 = 2, ""Не ЭтоИстина"").Не_().ЭтоИстина(); + Ожидаем.Что(Неопределено, ""Неопределено <> Истина"").Не_().ЭтоИстина(); + Ожидаем.Что(5 = 7, ""ЭтоЛожь"").ЭтоЛожь(); + Ожидаем.Что(Неопределено, ""Неопределено <> Ложь"").Не_().ЭтоЛожь(); + Ожидаем.Что(5, ""Равно"").Равно(5); + Ожидаем.Что(4, ""Больше"").Больше(2); + Ожидаем.Что(7, ""БольшеИлиРавно"").БольшеИлиРавно(7); + Ожидаем.Что(15, ""Минимум"").Минимум(9); + Ожидаем.Что(90, ""МеньшеИлиРавно"").МеньшеИлиРавно(100); + Ожидаем.Что(90, ""Максимум"").Максимум(90); + Ожидаем.Что(55, ""Меньше"").Меньше(56); + Ожидаем.Что(1, ""Заполнено"").Заполнено(); + Ожидаем.Что(Новый Массив, ""Существует"").Существует(); + Ожидаем.Что(Неопределено, ""ЭтоНеопределено"").ЭтоНеопределено(); + Ожидаем.Что(Null, ""ЭтоNull"").ЭтоNull(); + Ожидаем.Что("""", ""ИмеетТип"").ИмеетТип(""Строка""); + Ожидаем.Что(7, ""Между"").Между(1, 10); + Ожидаем.Что(""Некая строка"", ""Содержит"").Содержит(""стр""); + Ожидаем.Что(""Некая строка"", ""ИмеетДлину"").ИмеетДлину(12); + Ожидаем.Что(Новый Структура).Метод(""Вставить"").ВыбрасываетИсключение(""Недостаточно фактических параметров""); + Ожидаем.Что(Истина, ""ЕстьИстина"").ЕстьИстина().Существует(); + Ожидаем.Что(Ложь, ""ЕстьЛожь"").ЕстьЛожь().Существует(); + Ожидаем.Что(Неопределено, ""ЕстьНеопределено и ЭтоНе"").ЕстьНеопределено().ЭтоНе().Существует(); + Ожидаем.Что(Null, ""ЕстьNull и ЭтоНе"").ЕстьNull().ЭтоНе().Существует(); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Проверить_РаботуКомпозитныхУтвержденийBDD_НаКлиенте() Экспорт + Ожидаем.Что(Новый Массив, ""Пустой массив"") + .Существует() + .Не_().Заполнено() + .ИмеетДлину(0) + .Не_().Содержит(5); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_Проверить_ВыбрасываемыеСообщения_НаКлиенте() Экспорт + ТекстИсключения = """"; + Попытка + Ожидаем.Что(Ложь).ЭтоИстина(); + Исключение + ТекстИсключения = ОписаниеОшибки(); + КонецПопытки; + Ожидаем.Что(ТекстИсключения).Не_().Содержит(""НЕ""); + + ТекстИсключения = """"; + Попытка + Ожидаем.Что(Истина).Не_().ЭтоИстина(); + Исключение + ТекстИсключения = ОписаниеОшибки(); + КонецПопытки; + Ожидаем.Что(ТекстИсключения).Содержит(""НЕ""); +КонецПроцедуры +", +{4,1, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",dac151e7-68b1-453c-bf3b-a39dc0c46fb5} +}, +{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 +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,0}, +{0,0}, +{0,0}, +{0,0} +} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/9cb5b204-7281-47bd-aa1c-5f9a6a950513" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/9cb5b204-7281-47bd-aa1c-5f9a6a950513" new file mode 100644 index 00000000..85242f96 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/9cb5b204-7281-47bd-aa1c-5f9a6a950513" @@ -0,0 +1,17 @@ +{1, +{9cb5b204-7281-47bd-aa1c-5f9a6a950513},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,dac151e7-68b1-453c-bf3b-a39dc0c46fb5,8ae0a7af-562a-4634-92a9-6f32ae1fb3ac, +{0, +{0, +{0,0,b9fd794e-c598-414d-9858-603393d7d912},"Тесты_УтвержденияBDD", +{1,"ru","Тесты утверждения BDD"},""} +},53e66096-e66b-4bde-869e-c750bc34751b,"",00000000-0000-0000-0000-000000000000},4, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, +{3daea016-69b7-4ed4-9453-127911372fe6,0}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,53e66096-e66b-4bde-869e-c750bc34751b}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} +} +} +} \ No newline at end of file diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/b9fd794e-c598-414d-9858-603393d7d912.0/info" similarity index 100% rename from "src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/b9fd794e-c598-414d-9858-603393d7d912.0/info" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/copyinfo" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/copyinfo" new file mode 100644 index 00000000..6b38cc0c --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/copyinfo" @@ -0,0 +1,16 @@ +{4, +{2, +{53e66096-e66b-4bde-869e-c750bc34751b,53e66096-e66b-4bde-869e-c750bc34751b,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} +}, +{b9fd794e-c598-414d-9858-603393d7d912,b9fd794e-c598-414d-9858-603393d7d912,1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"Тесты_УтвержденияBDD"} +} +}, +{1, +{dac151e7-68b1-453c-bf3b-a39dc0c46fb5,b9fd794e-c598-414d-9858-603393d7d912,0} +}, +{0}, +{0,0}, +{0} +} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/root" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/root" new file mode 100644 index 00000000..67f5a94c --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/root" @@ -0,0 +1 @@ +{2,9cb5b204-7281-47bd-aa1c-5f9a6a950513,} \ No newline at end of file diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/version" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/version" similarity index 100% rename from "src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/version" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/version" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/versions" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/versions" new file mode 100644 index 00000000..8ee61146 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/und/versions" @@ -0,0 +1 @@ +{1,9,"",f5ede439-7b83-4f05-af69-d69a994a2d48,"versions",96c2dbc3-4dcf-4567-959e-3cdc124db6bd,"b9fd794e-c598-414d-9858-603393d7d912.0",d2f1fcaf-547d-4475-9b05-a12e22f69337,"root",61f08788-9cee-4fd3-9d18-d32481f829af,"53e66096-e66b-4bde-869e-c750bc34751b.0",01110ec9-c3d4-4064-8165-d6c14012b79d,"53e66096-e66b-4bde-869e-c750bc34751b",42430595-1449-4205-b286-89b7dc4d6295,"version",29699cd0-ab57-40d3-b7dc-630dceb5b913,"9cb5b204-7281-47bd-aa1c-5f9a6a950513",7fd6fe31-f171-49e9-abac-07594783988f,"copyinfo",ce8817c7-d25d-44b7-8448-84d1641dfb26} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" new file mode 100644 index 00000000..19a259f2 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" @@ -0,0 +1 @@ + //{ основная процедура для юнит-тестирования xUnitFor1C &НаКлиенте Перем КонтекстЯдра; &НаКлиенте Перем Ожидаем; &НаКлиенте Перем Утверждения; &НаКлиенте Перем УтвержденияПроверкаТаблиц; &НаКлиенте Процедура Инициализация(КонтекстЯдраПараметр) Экспорт КонтекстЯдра = КонтекстЯдраПараметр; Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); КонецПроцедуры &НаКлиенте Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт НаборТестов.Добавить("Тест_ДолженПроверитьНеРавенствоТабличныхДокументов"); НаборТестов.Добавить("Тест_ДолженПроверитьРавенствоТабличныхДокументов"); НаборТестов.Добавить("Тест_ДолженПроверитьРавенствоТабличныхДокументовСоСкрытымиКолонками"); НаборТестов.Добавить("Тест_ДолженПроверитьРавенствоТабличныхДокументовСоСкрытымиСтроками"); КонецПроцедуры //} //{ блок юнит-тестов - сами тесты &НаКлиенте Процедура Тест_ДолженПроверитьНеРавенствоТабличныхДокументов() Экспорт Макет1 = ПолучитьМакет("СозданиеОдногоПользователяИБ"); Макет2 = ПолучитьМакет("СозданиеОдногоПользователяИБ_УФ"); БылоИсключение = Ложь; Попытка УтвержденияПроверкаТаблиц.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет2, "Таблицы 1 и 2 не должны совпадать, а они одинаковы!"); Исключение Ошибка = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); БылоИсключение = Истина; КонецПопытки; Утверждения.Проверить(БылоИсключение, "Должны были получить исключение из-за неравенства таблиц, а его не было"); СтрокаОшибки = "Таблицы должны совпадать, а они различны |Различия в таблицах: |Ожидали статус <ТаблицыСовпадают>, а получили <НеСовпадаютЗначенияВЯчейкеТаблицы> |Значение [К6:6]. Ожидали <Обычное приложение>, а получили <Управляемое приложение> | |Таблицы 1 и 2 не должны совпадать, а они одинаковы!"; Утверждения.ПроверитьВхождение(Ошибка, СтрокаОшибки, "Должны были получить исключение из-за неравенства таблиц, а его не было"); КонецПроцедуры &НаКлиенте Процедура Тест_ДолженПроверитьРавенствоТабличныхДокументов() Экспорт Макет1 = ПолучитьМакет("СозданиеОдногоПользователяИБ_УФ"); Макет2 = ПолучитьМакет("СозданиеОдногоПользователяИБ_УФ"); УтвержденияПроверкаТаблиц.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет2, "Таблицы 1 и 2 должны совпадать, а они различны!"); КонецПроцедуры &НаКлиенте Процедура Тест_ДолженПроверитьРавенствоТабличныхДокументовСоСкрытымиКолонками() Экспорт Макет1 = ПолучитьМакет("СозданиеОдногоПользователяИБ"); Макет2 = ПолучитьМакет("СозданиеОдногоПользователяИБ_СоСкрытойКолонкой"); УтвержденияПроверкаТаблиц.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет2, Истина, "Таблицы 1 и 2 должны совпадать, а они различны!"); Макет3 = ПолучитьМакет("СозданиеОдногоПользователяИБ"); Макет3.Область(0, 1, 1, 1).Видимость = Ложь; УтвержденияПроверкаТаблиц.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет3, "Таблицы 1 и 3 должны совпадать, а они различны!"); Макет4 = ПолучитьМакет("СозданиеОдногоПользователяИБ_УФ"); Макет4.Область(0, 6, 1, 6).Видимость = Ложь; Макет5 = ПолучитьМакет("СозданиеОдногоПользователяИБ"); Макет5.Область(0, 6, 1, 6).Видимость = Ложь; УтвержденияПроверкаТаблиц.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет4, Макет5, Истина, "Таблицы 4 и 5 должны совпадать, а они различны!"); КонецПроцедуры &НаКлиенте Процедура Тест_ДолженПроверитьРавенствоТабличныхДокументовСоСкрытымиСтроками() Экспорт Макет1 = ПолучитьМакет("СозданиеОдногоПользователяИБ"); Макет2 = ПолучитьМакет("СозданиеОдногоПользователяИБ_УФ"); Макет1.Область(6,, 6).Видимость = Ложь; Макет2.Область(6,, 6).Видимость = Ложь; УтвержденияПроверкаТаблиц.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет2,, Истина, "Таблицы 1 и 2 должны совпадать, а они различны!"); //Макет3 = ПолучитьМакет("СозданиеОдногоПользователяИБ"); //Макет3.ВставитьОбласть(Макет2.Область(2,, 2), Макет3.Область(1,, 1), ТипСмещенияТабличногоДокумента.ПоВертикали); //Макет3.Область(1,, 1).Видимость = Ложь; // //УтвержденияПроверкаТаблиц.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет3,, Истина, "Таблицы 1 и 3 должны совпадать, а они различны!"); Макет4 = ПолучитьМакет("СозданиеОдногоПользователяИБ"); Макет4.Область(1,, 1).Видимость = Ложь; УтвержденияПроверкаТаблиц.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет4, "Таблицы 1 и 4 должны совпадать, а они различны!"); КонецПроцедуры &НаСервере Функция ПолучитьМакет(ИмяМакета) ОсновнойОбъект = ОсновнойОбъект(); Макет = ОсновнойОбъект.ПолучитьМакет(ИмяМакета); Макет2 = Новый ТабличныйДокумент; Макет2.Вывести(Макет); Возврат Макет2; КонецФункции &НаСервере Функция ОсновнойОбъект() Возврат РеквизитФормыВЗначение("Объект"); КонецФункции //} \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/ObjectModule.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/ObjectModule.txt" new file mode 100644 index 00000000..c098d7c1 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/ObjectModule.txt" @@ -0,0 +1,178 @@ +//{ основная процедура для юнит-тестирования xUnitFor1C +Перем КонтекстЯдра; +Перем Ожидаем; +Перем Утверждения; +Перем УтвержденияПроверкаТаблиц; + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); +КонецПроцедуры + +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + НаборТестов.Добавить("ТестДолжен_ПроверитьРавенствоТаблиц"); + НаборТестов.Добавить("ТестДолжен_ПроверитьНеРавенствоТаблиц"); + НаборТестов.Добавить("Тест_ДолженПроверитьНеРавенствоТабличныхДокументов"); + НаборТестов.Добавить("Тест_ДолженПроверитьРавенствоТабличныхДокументов"); + НаборТестов.Добавить("Тест_ДолженПроверитьРавенствоТабличныхДокументовСоСкрытымиКолонками"); + НаборТестов.Добавить("Тест_ДолженПроверитьРавенствоТабличныхДокументовСоСкрытымиСтроками"); +КонецПроцедуры + +//} + +//{ блок юнит-тестов - сами тесты + +Процедура ТестДолжен_ПроверитьРавенствоТаблиц() Экспорт + Таблицы = Создать2ТаблицыСДанными(); + Таб1 = Таблицы.Таблица1; + Таб2 = Таблицы.Таблица2; + + УтвержденияПроверкаТаблиц.ПроверитьРавенствоТаблиц(Таб1, Таб2, "Таблицы 1 и 2 должны совпадать, а они различны!"); +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьНеРавенствоТаблиц() Экспорт + Таблицы = Создать2ТаблицыСДанными(); + Таб1 = Таблицы.Таблица1; + Таб2 = Таблицы.Таблица2; + + Строка = Таб2[0]; + Строка.Колонка1 = 21; + Строка.Колонка2 = "строка21"; + + Строка = Таб2[1]; + Строка.Колонка1 = 22; + Строка.Колонка2 = "строка22"; + + БылоИсключение = Ложь; + Попытка + УтвержденияПроверкаТаблиц.ПроверитьРавенствоТаблиц(Таб1, Таб2, "Таблицы 1 и 2 не должны совпадать, а они одинаковы!"); + Исключение + Ошибка = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + БылоИсключение = Истина; + КонецПопытки; + Утверждения.Проверить(БылоИсключение, "Должны были получить исключение из-за неравенства таблиц, а его не было"); + + СтрокаОшибки = + "Таблицы должны совпадать, а они различны + |Различия в таблицах: + |Ожидали статус <ТаблицыСовпадают>, а получили <НеСовпадаютЗначенияВЯчейкеТаблицы> + |Значение [Колонка1:1]. Ожидали <11>, а получили <21> + |Значение [Колонка2:1]. Ожидали <строка11>, а получили <строка21> + |Значение [Колонка1:2]. Ожидали <12>, а получили <22> + |Значение [Колонка2:2]. Ожидали <строка12>, а получили <строка22> + | + |Таблицы 1 и 2 не должны совпадать, а они одинаковы!"; + + Утверждения.ПроверитьВхождение(Ошибка, СтрокаОшибки, "Должны были получить исключение из-за неравенства таблиц, а его не было"); +КонецПроцедуры + +Функция Создать2ТаблицыСДанными() + Таб1 = Новый ТаблицаЗначений; + Таб1.Колонки.Добавить("Колонка1",, "Колонка1"); + Таб1.Колонки.Добавить("Колонка2",, "Колонка2"); + Строка = Таб1.Добавить(); + Строка.Колонка1 = 11; + Строка.Колонка2 = "строка11"; + + Строка = Таб1.Добавить(); + Строка.Колонка1 = 12; + Строка.Колонка2 = "строка12"; + + Таб2 = Новый ТаблицаЗначений; + Таб2.Колонки.Добавить("Колонка1",, "Колонка1"); + Таб2.Колонки.Добавить("Колонка2",, "Колонка2"); + Строка = Таб2.Добавить(); + Строка.Колонка1 = 11; + Строка.Колонка2 = "строка11"; + + Строка = Таб2.Добавить(); + Строка.Колонка1 = 12; + Строка.Колонка2 = "строка12"; + + Рез = Новый Структура("Таблица1, Таблица2", Таб1, Таб2); + Возврат Рез; + +КонецФункции + +Процедура Тест_ДолженПроверитьНеРавенствоТабличныхДокументов() Экспорт + Макет1 = ПолучитьМакет("СозданиеОдногоПользователяИБ"); + Макет2 = ПолучитьМакет("СозданиеОдногоПользователяИБ_УФ"); + + БылоИсключение = Ложь; + Попытка + УтвержденияПроверкаТаблиц.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет2, "Таблицы 1 и 2 не должны совпадать, а они одинаковы!"); + Исключение + Ошибка = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + БылоИсключение = Истина; + КонецПопытки; + Утверждения.Проверить(БылоИсключение, "Должны были получить исключение из-за неравенства таблиц, а его не было"); + + СтрокаОшибки = + "Таблицы должны совпадать, а они различны + |Различия в таблицах: + |Ожидали статус <ТаблицыСовпадают>, а получили <НеСовпадаютЗначенияВЯчейкеТаблицы> + |Значение [К6:6]. Ожидали <Обычное приложение>, а получили <Управляемое приложение> + | + |Таблицы 1 и 2 не должны совпадать, а они одинаковы!"; + + Утверждения.ПроверитьВхождение(Ошибка, СтрокаОшибки, "Должны были получить исключение из-за неравенства таблиц, а его не было"); +КонецПроцедуры + +Процедура Тест_ДолженПроверитьРавенствоТабличныхДокументов() Экспорт + Макет1 = ПолучитьМакет("СозданиеОдногоПользователяИБ_УФ"); + Макет2 = Новый ТабличныйДокумент; + Макет2.Вывести(ПолучитьМакет("СозданиеОдногоПользователяИБ_УФ")); + + УтвержденияПроверкаТаблиц.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет2, "Таблицы 1 и 2 должны совпадать, а они различны!"); +КонецПроцедуры + +Процедура Тест_ДолженПроверитьРавенствоТабличныхДокументовСоСкрытымиКолонками() Экспорт + + Макет1 = ПолучитьМакет("СозданиеОдногоПользователяИБ"); + Макет2 = ПолучитьМакет("СозданиеОдногоПользователяИБ_СоСкрытойКолонкой"); + + УтвержденияПроверкаТаблиц.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет2, Истина, "Таблицы 1 и 2 должны совпадать, а они различны!"); + + Макет3 = Новый ТабличныйДокумент; + Макет3.Вывести(Макет1); + Макет3.Область(0, 1, 1, 1).Видимость = Ложь; + + УтвержденияПроверкаТаблиц.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет3, "Таблицы 1 и 3 должны совпадать, а они различны!"); + + Макет4 = ПолучитьМакет("СозданиеОдногоПользователяИБ_УФ"); + Макет4.Область(0, 6, 1, 6).Видимость = Ложь; + Макет5 = ПолучитьМакет("СозданиеОдногоПользователяИБ"); + Макет5.Область(0, 6, 1, 6).Видимость = Ложь; + + УтвержденияПроверкаТаблиц.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет4, Макет5, Истина, "Таблицы 4 и 5 должны совпадать, а они различны!"); + +КонецПроцедуры + +Процедура Тест_ДолженПроверитьРавенствоТабличныхДокументовСоСкрытымиСтроками() Экспорт + + Макет1 = ПолучитьМакет("СозданиеОдногоПользователяИБ"); + Макет2 = ПолучитьМакет("СозданиеОдногоПользователяИБ_УФ"); + + Макет1.Область(6,, 6).Видимость = Ложь; + Макет2.Область(6,, 6).Видимость = Ложь; + + УтвержденияПроверкаТаблиц.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет2,, Истина, "Таблицы 1 и 2 должны совпадать, а они различны!"); + + Макет3 = Новый ТабличныйДокумент; + Макет3.Вывести(Макет1); + Макет3.ВставитьОбласть(Макет2.Область(2,, 2), Макет3.Область(1,, 1), ТипСмещенияТабличногоДокумента.ПоВертикали); + Макет3.Область(1,, 1).Видимость = Ложь; + + УтвержденияПроверкаТаблиц.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет3,, Истина, "Таблицы 1 и 3 должны совпадать, а они различны!"); + + Макет4 = Новый ТабличныйДокумент; + Макет4.Вывести(Макет1); + Макет4.Область(1,, 1).Видимость = Ложь; + + УтвержденияПроверкаТаблиц.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет4, "Таблицы 1 и 4 должны совпадать, а они различны!"); + +КонецПроцедуры + +//} diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/maps.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/maps.txt" new file mode 100644 index 00000000..49648942 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/maps.txt" @@ -0,0 +1,4 @@ +Form\Форма\Форма.txt-->fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0 (29, 154) +Макеты\СозданиеОдногоПользователяИБ_СоСкрытойКолонкой.mxl-->e91aafdf-ef58-4ed3-b426-4baf984d368e.0 +Макеты\СозданиеОдногоПользователяИБ_УФ.mxl-->21e58e83-24b5-4a1b-81aa-940391b10b11.0 +Макеты\СозданиеОдногоПользователяИБ.mxl-->6baf118e-696d-404d-9ad0-3b66c2730177.0 diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/renames.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/renames.txt" new file mode 100644 index 00000000..168bc9c0 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/renames.txt" @@ -0,0 +1,15 @@ +21e58e83-24b5-4a1b-81aa-940391b10b11-->und\21e58e83-24b5-4a1b-81aa-940391b10b11 +21e58e83-24b5-4a1b-81aa-940391b10b11.0-->und\21e58e83-24b5-4a1b-81aa-940391b10b11.0 +6baf118e-696d-404d-9ad0-3b66c2730177-->und\6baf118e-696d-404d-9ad0-3b66c2730177 +6baf118e-696d-404d-9ad0-3b66c2730177.0-->und\6baf118e-696d-404d-9ad0-3b66c2730177.0 +7fee0032-60d2-407f-8cb4-61ed1c95ba08-->und\7fee0032-60d2-407f-8cb4-61ed1c95ba08 +81c30b94-2b30-4e2d-b046-69aa3fc912ab.0\info-->und\81c30b94-2b30-4e2d-b046-69aa3fc912ab.0\info +81c30b94-2b30-4e2d-b046-69aa3fc912ab.0\text-->ObjectModule.txt +copyinfo-->und\copyinfo +e91aafdf-ef58-4ed3-b426-4baf984d368e-->und\e91aafdf-ef58-4ed3-b426-4baf984d368e +e91aafdf-ef58-4ed3-b426-4baf984d368e.0-->und\e91aafdf-ef58-4ed3-b426-4baf984d368e.0 +fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa-->und\fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa +fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0-->und\fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0 +root-->und\root +version-->und\version +versions-->und\versions diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/21e58e83-24b5-4a1b-81aa-940391b10b11" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/21e58e83-24b5-4a1b-81aa-940391b10b11" similarity index 100% rename from "src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/21e58e83-24b5-4a1b-81aa-940391b10b11" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/21e58e83-24b5-4a1b-81aa-940391b10b11" diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/21e58e83-24b5-4a1b-81aa-940391b10b11.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/21e58e83-24b5-4a1b-81aa-940391b10b11.0" similarity index 100% rename from "src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/21e58e83-24b5-4a1b-81aa-940391b10b11.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/21e58e83-24b5-4a1b-81aa-940391b10b11.0" diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/6baf118e-696d-404d-9ad0-3b66c2730177" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/6baf118e-696d-404d-9ad0-3b66c2730177" similarity index 100% rename from "src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/6baf118e-696d-404d-9ad0-3b66c2730177" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/6baf118e-696d-404d-9ad0-3b66c2730177" diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/6baf118e-696d-404d-9ad0-3b66c2730177.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/6baf118e-696d-404d-9ad0-3b66c2730177.0" similarity index 100% rename from "src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/6baf118e-696d-404d-9ad0-3b66c2730177.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/6baf118e-696d-404d-9ad0-3b66c2730177.0" diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/7fee0032-60d2-407f-8cb4-61ed1c95ba08" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/7fee0032-60d2-407f-8cb4-61ed1c95ba08" similarity index 100% rename from "src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/7fee0032-60d2-407f-8cb4-61ed1c95ba08" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/7fee0032-60d2-407f-8cb4-61ed1c95ba08" diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/7b66680b-e180-4230-a526-5aff4cc52aae.0/info" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/81c30b94-2b30-4e2d-b046-69aa3fc912ab.0/info" similarity index 100% rename from "src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/7b66680b-e180-4230-a526-5aff4cc52aae.0/info" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/81c30b94-2b30-4e2d-b046-69aa3fc912ab.0/info" diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/copyinfo" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/copyinfo" similarity index 100% rename from "src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/copyinfo" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/copyinfo" diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/e91aafdf-ef58-4ed3-b426-4baf984d368e" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/e91aafdf-ef58-4ed3-b426-4baf984d368e" similarity index 100% rename from "src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/e91aafdf-ef58-4ed3-b426-4baf984d368e" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/e91aafdf-ef58-4ed3-b426-4baf984d368e" diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/e91aafdf-ef58-4ed3-b426-4baf984d368e.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/e91aafdf-ef58-4ed3-b426-4baf984d368e.0" similarity index 100% rename from "src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/e91aafdf-ef58-4ed3-b426-4baf984d368e.0" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/e91aafdf-ef58-4ed3-b426-4baf984d368e.0" diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/und/fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa" similarity index 100% rename from "src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/und/fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0" new file mode 100644 index 00000000..2440f7ff --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0" @@ -0,0 +1,192 @@ +{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}, +{0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},0,0,1} +}," +//{ основная процедура для юнит-тестирования xUnitFor1C + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Ожидаем; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем УтвержденияПроверкаТаблиц; + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин(""УтвержденияBDD""); + Утверждения = КонтекстЯдра.Плагин(""БазовыеУтверждения""); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин(""УтвержденияПроверкаТаблиц""); +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + НаборТестов.Добавить(""Тест_ДолженПроверитьНеРавенствоТабличныхДокументов""); + НаборТестов.Добавить(""Тест_ДолженПроверитьРавенствоТабличныхДокументов""); + НаборТестов.Добавить(""Тест_ДолженПроверитьРавенствоТабличныхДокументовСоСкрытымиКолонками""); + НаборТестов.Добавить(""Тест_ДолженПроверитьРавенствоТабличныхДокументовСоСкрытымиСтроками""); +КонецПроцедуры + +//} + +//{ блок юнит-тестов - сами тесты +&НаКлиенте +Процедура Тест_ДолженПроверитьНеРавенствоТабличныхДокументов() Экспорт + Макет1 = ПолучитьМакет(""СозданиеОдногоПользователяИБ""); + Макет2 = ПолучитьМакет(""СозданиеОдногоПользователяИБ_УФ""); + + БылоИсключение = Ложь; + Попытка + УтвержденияПроверкаТаблиц.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет2, ""Таблицы 1 и 2 не должны совпадать, а они одинаковы!""); + Исключение + Ошибка = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + БылоИсключение = Истина; + КонецПопытки; + Утверждения.Проверить(БылоИсключение, ""Должны были получить исключение из-за неравенства таблиц, а его не было""); + + СтрокаОшибки = + ""Таблицы должны совпадать, а они различны + |Различия в таблицах: + |Ожидали статус <ТаблицыСовпадают>, а получили <НеСовпадаютЗначенияВЯчейкеТаблицы> + |Значение [К6:6]. Ожидали <Обычное приложение>, а получили <Управляемое приложение> + | + |Таблицы 1 и 2 не должны совпадать, а они одинаковы!""; + + Утверждения.ПроверитьВхождение(Ошибка, СтрокаОшибки, ""Должны были получить исключение из-за неравенства таблиц, а его не было""); +КонецПроцедуры + +&НаКлиенте +Процедура Тест_ДолженПроверитьРавенствоТабличныхДокументов() Экспорт + Макет1 = ПолучитьМакет(""СозданиеОдногоПользователяИБ_УФ""); + Макет2 = ПолучитьМакет(""СозданиеОдногоПользователяИБ_УФ""); + + УтвержденияПроверкаТаблиц.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет2, ""Таблицы 1 и 2 должны совпадать, а они различны!""); +КонецПроцедуры + +&НаКлиенте +Процедура Тест_ДолженПроверитьРавенствоТабличныхДокументовСоСкрытымиКолонками() Экспорт + + Макет1 = ПолучитьМакет(""СозданиеОдногоПользователяИБ""); + Макет2 = ПолучитьМакет(""СозданиеОдногоПользователяИБ_СоСкрытойКолонкой""); + + УтвержденияПроверкаТаблиц.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет2, Истина, ""Таблицы 1 и 2 должны совпадать, а они различны!""); + + Макет3 = ПолучитьМакет(""СозданиеОдногоПользователяИБ""); + Макет3.Область(0, 1, 1, 1).Видимость = Ложь; + + УтвержденияПроверкаТаблиц.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет3, ""Таблицы 1 и 3 должны совпадать, а они различны!""); + + Макет4 = ПолучитьМакет(""СозданиеОдногоПользователяИБ_УФ""); + Макет4.Область(0, 6, 1, 6).Видимость = Ложь; + Макет5 = ПолучитьМакет(""СозданиеОдногоПользователяИБ""); + Макет5.Область(0, 6, 1, 6).Видимость = Ложь; + + УтвержденияПроверкаТаблиц.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет4, Макет5, Истина, ""Таблицы 4 и 5 должны совпадать, а они различны!""); + +КонецПроцедуры + +&НаКлиенте +Процедура Тест_ДолженПроверитьРавенствоТабличныхДокументовСоСкрытымиСтроками() Экспорт + + Макет1 = ПолучитьМакет(""СозданиеОдногоПользователяИБ""); + Макет2 = ПолучитьМакет(""СозданиеОдногоПользователяИБ_УФ""); + + Макет1.Область(6,, 6).Видимость = Ложь; + Макет2.Область(6,, 6).Видимость = Ложь; + + УтвержденияПроверкаТаблиц.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет2,, Истина, ""Таблицы 1 и 2 должны совпадать, а они различны!""); + + //Макет3 = ПолучитьМакет(""СозданиеОдногоПользователяИБ""); + //Макет3.ВставитьОбласть(Макет2.Область(2,, 2), Макет3.Область(1,, 1), ТипСмещенияТабличногоДокумента.ПоВертикали); + //Макет3.Область(1,, 1).Видимость = Ложь; + // + //УтвержденияПроверкаТаблиц.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет3,, Истина, ""Таблицы 1 и 3 должны совпадать, а они различны!""); + + Макет4 = ПолучитьМакет(""СозданиеОдногоПользователяИБ""); + Макет4.Область(1,, 1).Видимость = Ложь; + + УтвержденияПроверкаТаблиц.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет4, ""Таблицы 1 и 4 должны совпадать, а они различны!""); + +КонецПроцедуры + +&НаСервере +Функция ПолучитьМакет(ИмяМакета) + ОсновнойОбъект = ОсновнойОбъект(); + Макет = ОсновнойОбъект.ПолучитьМакет(ИмяМакета); + + Макет2 = Новый ТабличныйДокумент; + Макет2.Вывести(Макет); + Возврат Макет2; +КонецФункции + +&НаСервере +Функция ОсновнойОбъект() + Возврат РеквизитФормыВЗначение(""Объект""); +КонецФункции + +//} ", +{4,1, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",ba46524a-1f27-4008-8686-2703897f6737} +}, +{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 +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,0}, +{0,0}, +{0,0}, +{0,0} +} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/und/root" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/root" similarity index 100% rename from "src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/und/root" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/root" diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/version" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/version" similarity index 100% rename from "src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/version" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/version" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/versions" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/versions" new file mode 100644 index 00000000..90c00814 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/versions" @@ -0,0 +1 @@ +{1,15,"",a7300a78-e98d-4d3e-84ef-16c39a6ce40a,"versions",e0c22bc6-0733-4149-862d-d69540b0a7f0,"root",b15619ad-c881-4a2c-aa39-2f9af1e2c35e,"e91aafdf-ef58-4ed3-b426-4baf984d368e",5934eeba-aeb2-4a6a-8d7c-cfe8ac8cd9dc,"81c30b94-2b30-4e2d-b046-69aa3fc912ab.0",23d883b5-832a-4541-952d-5dfb5bc367c2,"6baf118e-696d-404d-9ad0-3b66c2730177",8c251174-88d5-469f-8a96-a5c55217aa8d,"version",f88e125f-239e-4baa-930f-6de0b570e889,"7fee0032-60d2-407f-8cb4-61ed1c95ba08",ed44a079-00c2-4226-a7ce-050db51d61bf,"e91aafdf-ef58-4ed3-b426-4baf984d368e.0",69be044a-15be-46f6-b7ad-773af8474b86,"21e58e83-24b5-4a1b-81aa-940391b10b11.0",38ef9569-adca-437f-aa49-0e0b353bc080,"fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0",8bfffdb5-4693-4448-a035-bef607b7b65c,"6baf118e-696d-404d-9ad0-3b66c2730177.0",7001e881-dd45-4045-bf58-899a5643be64,"21e58e83-24b5-4a1b-81aa-940391b10b11",88467dbe-1c31-4266-b620-1e629973aba9,"fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa",eb25b3e4-3858-4fdd-b2cc-bd8ca9c6c53e,"copyinfo",60c33df7-85e9-43b1-9d7f-8beb167ed50d} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/\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/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/\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" similarity index 100% rename from "src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/\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" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/\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" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/\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.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/\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.txt" new file mode 100644 index 00000000..5b94fff1 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/\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.txt" @@ -0,0 +1,9 @@ +Тип Вид ИмяПеременной ТЧ Реквизит Значение Режим +ПользовательИБ Пользователь1 + Имя ТестИмя + ОсновнойИнтерфейс + Пароль + РежимЗапуска Обычное приложение + Роли + Роль Роль1 + Роль ПраваНеобходимыеДляТестирования \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/\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_\320\241\320\276\320\241\320\272\321\200\321\213\321\202\320\276\320\271\320\232\320\276\320\273\320\276\320\275\320\272\320\276\320\271.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/\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_\320\241\320\276\320\241\320\272\321\200\321\213\321\202\320\276\320\271\320\232\320\276\320\273\320\276\320\275\320\272\320\276\320\271.mxl" similarity index 100% rename from "src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/\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_\320\241\320\276\320\241\320\272\321\200\321\213\321\202\320\276\320\271\320\232\320\276\320\273\320\276\320\275\320\272\320\276\320\271.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/\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_\320\241\320\276\320\241\320\272\321\200\321\213\321\202\320\276\320\271\320\232\320\276\320\273\320\276\320\275\320\272\320\276\320\271.mxl" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/\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_\320\241\320\276\320\241\320\272\321\200\321\213\321\202\320\276\320\271\320\232\320\276\320\273\320\276\320\275\320\272\320\276\320\271_mxl.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/\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_\320\241\320\276\320\241\320\272\321\200\321\213\321\202\320\276\320\271\320\232\320\276\320\273\320\276\320\275\320\272\320\276\320\271_mxl.txt" new file mode 100644 index 00000000..18196cf9 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/\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_\320\241\320\276\320\241\320\272\321\200\321\213\321\202\320\276\320\271\320\232\320\276\320\273\320\276\320\275\320\272\320\276\320\271_mxl.txt" @@ -0,0 +1,9 @@ +Тип Вид ИмяПеременной ТЧ Реквизит Значение Режим +ПользовательИБ Пользователь1 То что скрыто + Имя ТестИмя + ОсновнойИнтерфейс + Пароль + РежимЗапуска Обычное приложение + Роли + Роль Роль1 + Роль ПраваНеобходимыеДляТестирования \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/\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_\320\243\320\244.mxl" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/\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_\320\243\320\244.mxl" similarity index 100% rename from "src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/\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_\320\243\320\244.mxl" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/\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_\320\243\320\244.mxl" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/\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_\320\243\320\244_mxl.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/\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_\320\243\320\244_mxl.txt" new file mode 100644 index 00000000..30a54ed3 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/\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_\320\243\320\244_mxl.txt" @@ -0,0 +1,9 @@ +Тип Вид ИмяПеременной ТЧ Реквизит Значение Режим +ПользовательИБ Пользователь1 + Имя ТестИмя + ОсновнойИнтерфейс + Пароль + РежимЗапуска Управляемое приложение + Роли + Роль Роль1 + Роль ПраваНеобходимыеДляТестирования \ No newline at end of file diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/ObjectModule.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/ObjectModule.txt" new file mode 100644 index 00000000..821475c8 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/ObjectModule.txt" @@ -0,0 +1,94 @@ +#Если ТолстыйКлиентОбычноеПриложение или ТолстыйКлиентУправляемоеПриложение Тогда + +Перем ПутьФайла1; +Перем ПутьФайла2; + +//{ основная процедура для юнит-тестирования xUnitFor1C +Перем КонтекстЯдра; +Перем Ожидаем; +Перем Утверждения; + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин("СериализаторMXL"); + ЗапросыИзБД = КонтекстЯдра.Плагин("ЗапросыИзБД"); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); +КонецПроцедуры + +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + НаборТестов.Добавить("ТестДолжен_ПроверитьРавенствоФайлов"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРавенствоФайловСУчетомПереданныхПараметровСравнения"); +КонецПроцедуры + +//} + +//{ блок юнит-тестов - сами тесты + +Процедура ПередЗапускомТеста() Экспорт +КонецПроцедуры + +Процедура ПослеЗапускаТеста() Экспорт + Попытка + УдалитьФайлы(ПутьФайла1); + УдалитьФайлы(ПутьФайла2); + Исключение + КонецПопытки; +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРавенствоФайлов() Экспорт + МассивСтрок = Новый Массив(); + Для к = 1 По 10 Цикл + МассивСтрок.Добавить("строка "+к); + КонецЦикла; + ПутьФайла1 = ПолучитьИмяВременногоФайла("txt"); + СоздатьТекстовыйФайл(ПутьФайла1, МассивСтрок); + + ПутьФайла2 = ПолучитьИмяВременногоФайла("txt"); + СоздатьТекстовыйФайл(ПутьФайла2, МассивСтрок); + + ПоказатьРазличия = Ложь; + Утверждения.ПроверитьРавенствоФайлов(ПутьФайла1, ПутьФайла2, "ПутьФайла1, ПутьФайла2",, ПоказатьРазличия); +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРавенствоФайловСУчетомПереданныхПараметровСравнения() //Экспорт // тест есть, а функционала пока нет + СравнениеФайлов = Новый СравнениеФайлов; + СравнениеФайлов.УчитыватьРегистр = Ложь; + СравнениеФайлов.СпособСравнения = СпособСравненияФайлов.ТекстовыйДокумент; + + МассивСтрок = Новый Массив(); + Для к = 1 По 10 Цикл + МассивСтрок.Добавить("строка "+к); + КонецЦикла; + ПутьФайла1 = ПолучитьИмяВременногоФайла(); + СоздатьТекстовыйФайл(ПутьФайла1, МассивСтрок); + + МассивСтрок2 = Новый Массив(); + Для каждого Строка Из МассивСтрок Цикл + МассивСтрок2.Добавить(ВРег(Строка)); + КонецЦикла; + + ПутьФайла2 = ПолучитьИмяВременногоФайла(); + СоздатьТекстовыйФайл(ПутьФайла2, МассивСтрок2); + + БылаПопытка = Ложь; + Попытка + Утверждения.ПроверитьРавенствоФайловСУчетомПереданныхПараметровСравнения(СравнениеФайлов, ПутьФайла1, ПутьФайла2, "ПутьФайла1, ПутьФайла2"); + Исключение + БылаПопытка = Истина; + КонецПопытки; + Утверждения.ПроверитьЛожь(БылаПопытка, "Ожидали исключение на утверждении сравнения файлов, а его не было"); +КонецПроцедуры + +Процедура СоздатьТекстовыйФайл(ПутьФайла, МассивСтрок) + Текст = Новый ТекстовыйДокумент; + Для каждого Строка Из МассивСтрок Цикл + Текст.ДобавитьСтроку(Строка); + КонецЦикла; + Текст.Записать(ПутьФайла); +КонецПроцедуры + +//} +#КонецЕсли + diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/ObjectModule.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/maps.txt" similarity index 100% rename from "src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/ObjectModule.txt" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/maps.txt" diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/renames.txt" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/renames.txt" similarity index 100% rename from "src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/renames.txt" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/renames.txt" diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/7b66680b-e180-4230-a526-5aff4cc52aae.0/info" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/und/14b97335-3f44-42ce-84bd-44eecba0fb30.0/info" similarity index 100% rename from "src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/7b66680b-e180-4230-a526-5aff4cc52aae.0/info" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/und/14b97335-3f44-42ce-84bd-44eecba0fb30.0/info" diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/und/ce88669a-4b6f-4a4b-89c6-bd7db1a4961b" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/und/ce88669a-4b6f-4a4b-89c6-bd7db1a4961b" similarity index 100% rename from "src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/und/ce88669a-4b6f-4a4b-89c6-bd7db1a4961b" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/und/ce88669a-4b6f-4a4b-89c6-bd7db1a4961b" diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260\320\236\321\202\320\273\320\260\320\264\320\272\320\260\320\243\320\244/und/copyinfo" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/und/copyinfo" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260\320\236\321\202\320\273\320\260\320\264\320\272\320\260\320\243\320\244/und/copyinfo" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/und/copyinfo" diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/und/root" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/und/root" similarity index 100% rename from "src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/und/root" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/und/root" diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/version" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/und/version" similarity index 100% rename from "src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/version" rename to "src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/und/version" diff --git "a/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/und/versions" "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/und/versions" new file mode 100644 index 00000000..b9284461 --- /dev/null +++ "b/src/Tests/Plugins/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/und/versions" @@ -0,0 +1 @@ +{1,7,"ce88669a-4b6f-4a4b-89c6-bd7db1a4961b",aba7f0db-8b73-49d7-bed2-1493300e6e79,"",e37f9e28-842f-406f-939d-3da4c3f1eea2,"root",43e60e8c-755c-4ebc-a550-ca18a38dd910,"14b97335-3f44-42ce-84bd-44eecba0fb30.0",4b9d60af-d009-4c60-b163-d5331b8a8272,"copyinfo",20289d2e-3b42-41b9-8947-2a65ff6cd3c5,"versions",093ebe21-645c-454b-b477-843db5aed272,"version",923a3ded-e80a-4741-9cd4-351f54c36e11} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/ObjectModule.txt" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/ObjectModule.txt" new file mode 100644 index 00000000..7666ecd1 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/ObjectModule.txt" @@ -0,0 +1,337 @@ +Перем КонтекстЯдра; +Перем Ожидаем; +Перем ВременныеФайлы; +Перем КомандныйФайл; + +Перем Конвертер; + +//{ интерфейс тестирования + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + ВременныеФайлы = КонтекстЯдра.Плагин("ВременныеФайлы"); + КомандныйФайл = КонтекстЯдра.Плагин("КомандныйФайл"); +КонецПроцедуры + +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + НаборТестов.НачатьГруппу("Проверка преобразования текстов", Ложь); + НаборТестов.Добавить("ТестДолжен_ПолучитьУтилитуКонвертации", , "Получить утилиту конвертации"); + НаборТестов.Добавить("ТестДолжен_ПроверитьЧтоТекстНеМеняетсяЕслиВТекстеНетПолучитьСписокТестов", , "Проверить, что текст не меняется, если в тексте нет ""ПолучитьСписокТестов"""); + + НаборТестов.Добавить("ТестДолжен_ПроверитьПолучениеИмениПараметра_КонтекстЯдраИзОписанияМетода_ПолучитьСписокТестов", , "Получить имя параметра ""Контекст ядра"" из описания метода ""ПолучитьСписокТестов"""); + НаборТестов.Добавить("ТестДолжен_ПроверитьПолучениеТела_КонтекстЯдраИзОписанияМетода_ПолучитьСписокТестов", , "Получить тело из описания метода ""ПолучитьСписокТестов"""); + НаборТестов.Добавить("ТестДолжен_ПроверитьПолучениеИмениГлобальнойПеременнойКонтекстаЯдра", , "Получить имя глобальной переменной контекста ядра"); + НаборТестов.Добавить("ТестДолжен_ПроверитьПолучениеКоллекцииТестов", , "Получить коллекцию тестов"); + + НаборТестов.Добавить("ТестДолжен_ПроверитьКонвертацию", НаборТестов.ПараметрыТеста("БазовыйТест_v3", "БазовыйТест_v3_Результат", Истина, Ложь), "Проверить конвертацию простейшего базового теста"); + НаборТестов.Добавить("ТестДолжен_ПроверитьКонвертацию", НаборТестов.ПараметрыТеста("БазовыйТест_v3_ДваТеста", "БазовыйТест_v3_ДваТеста_Результат", Истина, Ложь), "Проверить конвертацию, когда определено 2 теста"); + НаборТестов.Добавить("ТестДолжен_ПроверитьКонвертацию", НаборТестов.ПараметрыТеста("БазовыйТест_v3_ДваТеста_ИКодВокруг", "БазовыйТест_v3_ДваТеста_ИКодВокруг_Результат", Истина, Ложь), "Проверить конвертацию, когда определено 2 теста и есть код вокруг них"); + + НаборТестов.Добавить("ТестДолжен_ПроверитьКонвертацию", НаборТестов.ПараметрыТеста("БазовыйТест_v3_ЕстьУтверждения", "БазовыйТест_v3_ЕстьУтверждения_Результат", Истина, Ложь), "Проверить конвертацию, когда есть утверждения через юТест.Проверить..."); + НаборТестов.Добавить("ТестДолжен_ПроверитьКонвертацию", НаборТестов.ПараметрыТеста("БазовыйТест_v3_ЕстьУтверждения_УФ", "БазовыйТест_v3_ЕстьУтверждения_УФ_Результат", Ложь, Ложь), "Проверить конвертацию (УФ), когда есть утверждения через юТест.Проверить..."); + + НаборТестов.Добавить("ТестДолжен_ПроверитьКонвертацию", НаборТестов.ПараметрыТеста("БазовыйТест_v3_УФ", "БазовыйТест_v3_УФ_Результат", Ложь, Ложь), "Проверить конвертацию простейшего базового теста (УФ)"); + НаборТестов.Добавить("ТестДолжен_ПроверитьКонвертацию", НаборТестов.ПараметрыТеста("БазовыйТест_v3_УФ_ДвеКавычки", "БазовыйТест_v3_УФ_ДвеКавычки_Результат", Ложь, Истина), "Проверить конвертацию простейшего базового теста (УФ), когда две двойные кавычки (бывают внутри декодированного файла)"); + НаборТестов.Добавить("ТестДолжен_ПроверитьКонвертацию", НаборТестов.ПараметрыТеста("БазовыйТест_v3_УФ_ДваТеста", "БазовыйТест_v3_УФ_ДваТеста_Результат", Ложь, Ложь), "Проверить конвертацию, когда определено 2 теста (УФ)"); + НаборТестов.Добавить("ТестДолжен_ПроверитьКонвертацию", НаборТестов.ПараметрыТеста("БазовыйТест_v3_УФ_ДваТеста_ИКодВокруг", "БазовыйТест_v3_УФ_ДваТеста_ИКодВокруг_Результат", Ложь, Ложь), "Проверить конвертацию, когда определено 2 теста и есть код вокруг них (УФ)"); + + НаборТестов.Добавить("ТестДолжен_ПроверитьКонвертацию", НаборТестов.ПараметрыТеста("РазныйРегистр", "РазныйРегистр_Результат", Истина, Ложь), "Проверить конвертацию, когда используется разный регистр символов"); + + НаборТестов.НачатьГруппу("Преобразование файла с одним тестом ОФ", Истина); + НаборТестов.Добавить("ТестДолжен_ВыполнитьИнициализацию", , "Инициализация"); + НаборТестов.Добавить("ТестДолжен_ПодготовитьВременныйКаталогДляСборкиРазборки", , "Подготовить временный каталог"); + НаборТестов.Добавить("ТестДолжен_ПолучитьФайлТестаИзМакета", НаборТестов.ПараметрыТеста("ФайлСОднимТестом"), "Получить файл теста из макета ""ФайлСОднимТестом"" "); + НаборТестов.Добавить("ТестДолжен_УбедитьсяЧтоФайлТестаСоСтарымAPI", , "Убедиться, что файл теста со старым API"); + НаборТестов.Добавить("ТестДолжен_ПреобразоватьФайл", , "Преобразовать полученный файл"); + НаборТестов.Добавить("ТестДолжен_ПроверитьНаличиеИсходнойКопииФайлаТеста", , "Проверить наличие исходной копии файла теста"); + НаборТестов.Добавить("ТестДолжен_ВыполнитьТестированиеПолученногоТестаСНовымAPI", , "Выполнить тестирование полученного теста"); + НаборТестов.Добавить("ТестДолжен_УдалитьВременныеФайлы", , "Удалить временные файлы"); + + НаборТестов.НачатьГруппу("Преобразование файла с одним тестом УФ", Истина); + НаборТестов.Добавить("ТестДолжен_ВыполнитьИнициализацию", , "Инициализация"); + НаборТестов.Добавить("ТестДолжен_ПодготовитьВременныйКаталогДляСборкиРазборки", , "Подготовить временный каталог"); + НаборТестов.Добавить("ТестДолжен_ПолучитьФайлТестаИзМакета", НаборТестов.ПараметрыТеста("ФайлСОднимТестомУФ"), "Получить файл теста из макета ""ФайлСОднимТестом"" "); + НаборТестов.Добавить("ТестДолжен_УбедитьсяЧтоФайлТестаСоСтарымAPI", , "Убедиться, что файл теста со старым API"); + НаборТестов.Добавить("ТестДолжен_ПреобразоватьФайл", , "Преобразовать полученный файл"); + НаборТестов.Добавить("ТестДолжен_ПроверитьНаличиеИсходнойКопииФайлаТеста", , "Проверить наличие исходной копии файла теста"); + НаборТестов.Добавить("ТестДолжен_ВыполнитьТестированиеПолученногоТестаСНовымAPI", , "Выполнить тестирование полученного теста"); + НаборТестов.Добавить("ТестДолжен_УдалитьВременныеФайлы", , "Удалить временные файлы"); + + НаборТестов.НачатьГруппу("Преобразование файлов из каталога", Истина); + НаборТестов.Добавить("ТестДолжен_ВыполнитьИнициализацию", , "Инициализация"); + НаборТестов.Добавить("ТестДолжен_ПодготовитьВременныйКаталогДляСборкиРазборки", , "Подготовить временный каталог"); + НаборТестов.Добавить("ТестДолжен_ПолучитьФайлТестаИзМакета", НаборТестов.ПараметрыТеста("ФайлСОднимТестом"), "Получить файл теста из макета ""ФайлСОднимТестом"" "); + НаборТестов.Добавить("ТестДолжен_ПолучитьФайлТестаИзМакета", НаборТестов.ПараметрыТеста("ФайлСОднимТестомУФ"), "Получить файл теста из макета ""ФайлСОднимТестомУФ"" "); + НаборТестов.Добавить("ТестДолжен_УбедитьсяЧтоФайлТестаСоСтарымAPI", , "Убедиться, что файлы теста со старым API"); + НаборТестов.Добавить("ТестДолжен_ПреобразоватьФайлыИзВременногоКаталога", НаборТестов.ПараметрыТеста(Ложь), "Преобразовать файлы из каталога"); + НаборТестов.Добавить("ТестДолжен_ПроверитьНаличиеИсходнойКопииФайлаТеста", , "Проверить наличие исходной копии файлов тестов"); + НаборТестов.Добавить("ТестДолжен_ВыполнитьТестированиеПолученногоТестаСНовымAPI", , "Выполнить тестирование полученных тестов"); + НаборТестов.Добавить("ТестДолжен_УдалитьВременныеФайлы", , "Удалить временные файлы"); + + НаборТестов.НачатьГруппу("Преобразование файлов из каталога и подкаталога", Истина); + НаборТестов.Добавить("ТестДолжен_ВыполнитьИнициализацию", , "Инициализация"); + НаборТестов.Добавить("ТестДолжен_ПодготовитьВременныйКаталогДляСборкиРазборки", , "Подготовить временный каталог"); + НаборТестов.Добавить("ТестДолжен_ПодготовитьВременныйПодКаталогДляСборкиРазборки", , "Подготовить временный подкаталог"); + НаборТестов.Добавить("ТестДолжен_ПолучитьФайлТестаИзМакета", НаборТестов.ПараметрыТеста("ФайлСОднимТестом"), "Получить файл теста из макета ""ФайлСОднимТестом"" "); + НаборТестов.Добавить("ТестДолжен_ПолучитьФайлТестаИзМакета", НаборТестов.ПараметрыТеста("ФайлСОднимТестомУФ"), "Получить файл теста из макета ""ФайлСОднимТестомУФ"" "); + НаборТестов.Добавить("ТестДолжен_ПеренестиВторойФайлТестаВПодкаталог", , "Перенести второй файл теста в подкаталог"); + НаборТестов.Добавить("ТестДолжен_УбедитьсяЧтоФайлТестаСоСтарымAPI", , "Убедиться, что файлы теста со старым API"); + НаборТестов.Добавить("ТестДолжен_ПреобразоватьФайлыИзВременногоКаталога", НаборТестов.ПараметрыТеста(Истина), "Преобразовать файлы из каталога рекурсивно"); + НаборТестов.Добавить("ТестДолжен_ПроверитьНаличиеИсходнойКопииФайлаТеста", , "Проверить наличие исходной копии файлов тестов"); + НаборТестов.Добавить("ТестДолжен_ВыполнитьТестированиеПолученногоТестаСНовымAPI", , "Выполнить тестирование полученных тестов"); + НаборТестов.Добавить("ТестДолжен_УдалитьВременныеФайлы", , "Удалить временные файлы"); +КонецПроцедуры + +//} + + +//{ блок юнит-тестов - сами тесты + +Процедура ПередЗапускомТеста() Экспорт + Конвертер = ВнешниеОбработки.Создать(ПутьКонвертера(), Ложь); + Конвертер.Инициализация(); +КонецПроцедуры + +Процедура ТестДолжен_ВыполнитьИнициализацию() Экспорт + Контекст = Новый Структура; + КонтекстЯдра.СохранитьКонтекст(Контекст); + ДобавитьВКонтекст("НаборФайлов", Новый Массив); +КонецПроцедуры + +Процедура ТестДолжен_УдалитьВременныеФайлы() Экспорт + Конвертер.УдалитьВременныеФайлы(); + Конвертер = Неопределено; + ВременныеФайлы.Удалить(); +КонецПроцедуры + +Процедура ТестДолжен_ПодготовитьВременныйКаталогДляСборкиРазборки() Экспорт + ИмяКаталогаСборки = ВременныеФайлы.СоздатьКаталог_(); + ДобавитьВКонтекст("ИмяКаталогаСборки", ИмяКаталогаСборки); +КонецПроцедуры + +Процедура ТестДолжен_ПодготовитьВременныйПодКаталогДляСборкиРазборки() Экспорт + Контекст = КонтекстЯдра.ПолучитьКонтекст(); + + ВременныйФайл = Новый Файл(ПолучитьИмяВременногоФайла("")); + Подкаталог = Новый Файл(Контекст.ИмяКаталогаСборки+"/"+ВременныйФайл.Имя); + СоздатьКаталог(Подкаталог.ПолноеИмя); + ДобавитьВКонтекст("ИмяПодКаталогаСборки", Подкаталог.ПолноеИмя); +КонецПроцедуры + +Процедура ТестДолжен_ПеренестиВторойФайлТестаВПодкаталог() Экспорт + Контекст = КонтекстЯдра.ПолучитьКонтекст(); + ФайлТеста = Новый Файл(Контекст.НаборФайлов[1]); + + ФайлПодКаталога = Новый Файл(Контекст.ИмяПодКаталогаСборки); + ФайлКонечный = Новый Файл(ФайлПодКаталога.ПолноеИмя+"/"+ФайлТеста.Имя); + + ПереместитьФайл(ФайлТеста.ПолноеИмя, ФайлКонечный.ПолноеИмя); + + Ожидаем.Что(ФайлКонечный.Существует(), "Файл должен быть перенесен, а его нет."+ФайлКонечный.ПолноеИмя).ЭтоИстина(); + Ожидаем.Что(ФайлТеста.Существует(), "Файл-исходный должен быть уничтожен, а он существует."+ФайлТеста.ПолноеИмя).ЭтоЛожь(); + + Контекст.НаборФайлов[1] = ФайлКонечный.ПолноеИмя; + ДобавитьВКонтекст("НаборФайлов", Контекст.НаборФайлов); // иначе в УФ тесты не будут работать +КонецПроцедуры + +Процедура ТестДолжен_ПолучитьФайлТестаИзМакета(ИмяМакета) Экспорт + МакетФайлаТеста = ПолучитьМакет(ИмяМакета); + + Контекст = КонтекстЯдра.ПолучитьКонтекст(); + ВременныйФайл = Новый Файл(ПолучитьИмяВременногоФайла("epf")); + ФайлТеста = Новый Файл(Контекст.ИмяКаталогаСборки+"/"+ВременныйФайл.Имя); + + НаборФайлов = Контекст.НаборФайлов; + НаборФайлов.Добавить(ФайлТеста.ПолноеИмя); + + МакетФайлаТеста.Записать(ФайлТеста.ПолноеИмя); + + КонтекстЯдра.СохранитьКонтекст(Контекст); +КонецПроцедуры + +Процедура ТестДолжен_ПреобразоватьФайл() Экспорт + Контекст = КонтекстЯдра.ПолучитьКонтекст(); + Для Каждого ФайлТеста Из Контекст.НаборФайлов Цикл + ФайлТеста = Новый Файл(ФайлТеста); + РезультатыПреобразования = Конвертер.ПреобразоватьФайл(ФайлТеста, Истина); + + Ожидаем.Что(РезультатыПреобразования.НайденоВнешнихОбработок, "РезультатыПреобразования.НайденоВнешнихОбработок").Равно(1); + Ожидаем.Что(РезультатыПреобразования.НайденоФайловТестов, "РезультатыПреобразования.НайденоФайловТестов").Равно(1); + Ожидаем.Что(РезультатыПреобразования.КонвертированоТестов, "РезультатыПреобразования.КонвертированоТестов").Равно(1); + КонецЦикла; +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьНаличиеИсходнойКопииФайлаТеста() Экспорт + Контекст = КонтекстЯдра.ПолучитьКонтекст(); + Для Каждого ФайлТеста Из Контекст.НаборФайлов Цикл + ФайлТеста = Новый Файл(ФайлТеста); + ФайлКопии = Новый Файл(ФайлТеста.Путь+"/"+ФайлТеста.ИмяБезРасширения +".orig.epf"); + Ожидаем.Что(ФайлКопии.Существует(), "не удалось сделать копию-файла для файла "+ФайлТеста.ПолноеИмя +", ожидали файл копии "+ФайлКопии.ПолноеИмя).ЭтоИстина(); + КонецЦикла; +КонецПроцедуры + +Процедура ТестДолжен_УбедитьсяЧтоФайлТестаСоСтарымAPI() Экспорт + Контекст = КонтекстЯдра.ПолучитьКонтекст(); + ЗагрузчикФайла = КонтекстЯдра.Плагин("ЗагрузчикФайла"); + + Для Каждого ФайлТеста Из Контекст.НаборФайлов Цикл + ФайлТеста = Новый Файл(ФайлТеста); + + ФайлОбработкиСНовымAPI = Новый Файл(ФайлТеста.ПолноеИмя); + Попытка + ДеревоТестов = ЗагрузчикФайла.Загрузить(КонтекстЯдра, ФайлОбработкиСНовымAPI.ПолноеИмя); + Исключение + ТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке()); + Сообщить(ТекстОшибки); + Если НайтиФайлы(ТекстОшибки, "Старый формат тестов в обработке тестов") = 0 Тогда + ВызватьИсключение ТекстОшибки; + КонецЕсли; + КонецПопытки; + КонецЦикла; + +КонецПроцедуры + +Процедура ТестДолжен_ВыполнитьТестированиеПолученногоТестаСНовымAPI() Экспорт + Контекст = КонтекстЯдра.ПолучитьКонтекст(); + ЗагрузчикФайла = КонтекстЯдра.Плагин("ЗагрузчикФайла"); + Для Каждого ФайлТеста Из Контекст.НаборФайлов Цикл + ФайлТеста = Новый Файл(ФайлТеста); + + ФайлОбработкиСНовымAPI = Новый Файл(ФайлТеста.ПолноеИмя); + ДеревоТестов = ЗагрузчикФайла.Загрузить(КонтекстЯдра, ФайлОбработкиСНовымAPI.ПолноеИмя); + + ТестыОбработкиСНовымAPI = ДеревоТестов.Строки[0]; + + Ожидаем.Что(ТестыОбработкиСНовымAPI.СлучайныйПорядокВыполнения, "ТестыОбработкиСНовымAPI порядок выполнения").ЭтоИстина(); + Ожидаем.Что(ТестыОбработкиСНовымAPI.Строки, "ТестыОбработкиСНовымAPI количество дочерних узлов").ИмеетДлину(1); + + Элемент1 = ТестыОбработкиСНовымAPI.Строки[0]; + Ожидаем.Что(Элемент1.Тип, "Элемент1.Тип").Равно(КонтекстЯдра.ТипыУзловДереваТестов.Элемент); + Ожидаем.Что(Элемент1.Путь, "Элемент1.Путь").Равно(ФайлОбработкиСНовымAPI.ПолноеИмя); + Ожидаем.Что(Элемент1.ИмяМетода, "Элемент1.ИмяМетода").Равно("Тест_ДваПлюсДва"); + + РезультатТестирования = КонтекстЯдра.ВыполнитьТесты(ЗагрузчикФайла, ДеревоТестов); + + Ожидаем.Что(РезультатТестирования.Состояние, "Состояние всех результатов тестирования").Равно(КонтекстЯдра.СостоянияТестов.Пройден); + Ожидаем.Что(РезультатТестирования.КоличествоТестов, "Количество тестов по результатам тестирования").Равно(ДеревоТестов.Строки.Количество()); + КонецЦикла; +КонецПроцедуры + +Процедура ТестДолжен_ПреобразоватьФайлыИзВременногоКаталога(ИскатьВПодкаталогах) Экспорт + Контекст = КонтекстЯдра.ПолучитьКонтекст(); + РезультатыПреобразования = Конвертер.ПреобразоватьКаталог(Контекст.ИмяКаталогаСборки, ИскатьВПодкаталогах); + + Ожидаем.Что(РезультатыПреобразования.НайденоВнешнихОбработок, "РезультатыПреобразования.НайденоВнешнихОбработок").Равно(2); + Ожидаем.Что(РезультатыПреобразования.НайденоФайловТестов, "РезультатыПреобразования.НайденоФайловТестов").Равно(2); + Ожидаем.Что(РезультатыПреобразования.КонвертированоТестов, "РезультатыПреобразования.КонвертированоТестов").Равно(2); +КонецПроцедуры + +Процедура ТестДолжен_ПолучитьУтилитуКонвертации() Экспорт + Ожидаем.Что(Конвертер, "Ожидали конвертер не равен Неопределено, а получили другое").ЭтоНе().Равно(Неопределено); +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьЧтоТекстНеМеняетсяЕслиВТекстеНетПолучитьСписокТестов() Экспорт + ИсходныйТекст = "Какой-то текст"; + + ТекстРезультата = Конвертер.ПреобразоватьТекст(ИсходныйТекст, Истина, Ложь); + Ожидаем.Что(ТекстРезультата, "Ожидали, что текст результата будет равен образцу, а это не так").Равно(""); +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьПолучениеИмениПараметра_КонтекстЯдраИзОписанияМетода_ПолучитьСписокТестов() Экспорт + ИсходныйТекст = ПолучитьМакет("БазовыйТест_v3").ПолучитьТекст(); + + ОписаниеМетода = Конвертер.ПолучитьОписаниеМетода_ПолучитьСписокТестов(ИсходныйТекст); + + Ожидаем.Что(ОписаниеМетода.ИмяПараметра_КонтекстЯдра, "Ожидали, что ОписаниеМетода.ИмяПараметра_КонтекстЯдра равен образцу, а это не так").Равно("ЮнитТестирование1"); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьПолучениеТела_КонтекстЯдраИзОписанияМетода_ПолучитьСписокТестов() Экспорт + ИсходныйТекст = ПолучитьМакет("БазовыйТест_v3").ПолучитьТекст(); + + ОписаниеМетода = Конвертер.ПолучитьОписаниеМетода_ПолучитьСписокТестов(ИсходныйТекст); + + Образец = " юТест1 = ЮнитТестирование1; + | ВсеТесты1 = Новый Массив; + | ВсеТесты1.Добавить(""Тест_ДваПлюсДва""); + | Возврат ВсеТесты1;"; + + Ожидаем.Что(ОписаниеМетода.ТелоМетода, "Ожидали, что тело метода равно образцу, а это не так").Равно(Образец); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьПолучениеИмениГлобальнойПеременнойКонтекстаЯдра() Экспорт + ИсходныйТекст = ПолучитьМакет("БазовыйТест_v3").ПолучитьТекст(); + + ОписаниеМетода = Конвертер.ПолучитьОписаниеМетода_ПолучитьСписокТестов(ИсходныйТекст); + + ОписаниеГлобальнойПеременнойКонтекстаЯдра = ОписаниеМетода.ОписаниеГлобальнойПеременнойКонтекстаЯдра; + ИмяГлобальнойПеременнойКонтекстаЯдра = ОписаниеГлобальнойПеременнойКонтекстаЯдра.Имя; + + Ожидаем.Что(ИмяГлобальнойПеременнойКонтекстаЯдра, "Ожидали, что ИмяГлобальнойПеременнойКонтекстаЯдра равно образцу, а это не так").Равно("юТест1"); + + ТекстОписания = Сред(ИсходныйТекст, ОписаниеГлобальнойПеременнойКонтекстаЯдра.НачалоОписания, ОписаниеГлобальнойПеременнойКонтекстаЯдра.КонецОписания); + Ожидаем.Что(ОписаниеГлобальнойПеременнойКонтекстаЯдра.НачалоОписания, "Ожидали, что ОписаниеГлобальнойПеременнойКонтекстаЯдра.КонецОписания равно образцу, а это не так").Равно(0); + Ожидаем.Что(ОписаниеГлобальнойПеременнойКонтекстаЯдра.КонецОписания, "Ожидали, что ОписаниеГлобальнойПеременнойКонтекстаЯдра.КонецОписания равно образцу, а это не так").Равно(13); + Ожидаем.Что(ТекстОписания, "Ожидали, что ТекстОписания ГлобальнойПеременнойКонтекстаЯдра равно образцу, а это не так").Равно("Перем юТест1;"); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьПолучениеКоллекцииТестов() Экспорт + ИсходныйТекст = ПолучитьМакет("БазовыйТест_v3").ПолучитьТекст(); + + ОписаниеМетода = Конвертер.ПолучитьОписаниеМетода_ПолучитьСписокТестов(ИсходныйТекст); + + КоллекцияТестов = ОписаниеМетода.КоллекцияТестов; + + Ожидаем.Что(КоллекцияТестов.Количество(), "Ожидали, что КоллекцияТестов.Количество() равно образцу, а это не так").Равно(1); + Ожидаем.Что(КоллекцияТестов[0], "Ожидали, что имя добавляемого теста равно образцу, а это не так").Равно("Тест_ДваПлюсДва"); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьКонвертацию(ИсходныйМакет, МакетОбразецРезультата, ЭтоОбычнаяФорма, ЕстьДвеДвойныеКавычки) Экспорт + //Конвертер.ВключитьЛог(Истина); + + ИсходныйТекст = ПолучитьМакет(ИсходныйМакет).ПолучитьТекст(); + ОбразецРезультата = ПолучитьМакет(МакетОбразецРезультата).ПолучитьТекст(); + + ТекстРезультата = Конвертер.ПреобразоватьТекст(ИсходныйТекст, ЭтоОбычнаяФорма, ЕстьДвеДвойныеКавычки); + + ПоказатьНепустойЛогКонвертера(); + + СравнитьДлинныеСтроки(ОбразецРезультата, ТекстРезультата); +КонецПроцедуры + +Процедура СравнитьДлинныеСтроки(Образец, Значение) + Для к = 1 По Мин(СтрЧислоСтрок(Значение), СтрЧислоСтрок(Образец)) Цикл + Ожидаем.Что(СтрПолучитьСтроку(Значение, к), "Ожидали, что СтрПолучитьСтроку(текст результата, "+к+") будет равен образцу, а это не так").Равно(СтрПолучитьСтроку(Образец, к)); + КонецЦикла; + Ожидаем.Что(СтрЧислоСтрок(Значение), "Ожидали, что СтрЧислоСтрок(текст результата) будет равен образцу, а это не так").Равно(СтрЧислоСтрок(Образец)); + Ожидаем.Что(Значение, "Ожидали, что текст результата будет равен образцу, а это не так").Равно(Образец); + Ожидаем.Что(СтрДлина(Значение), "Ожидали, что СтрДлина(текст результата) будет равен образцу, а это не так").Равно(СтрДлина(Образец)); +КонецПроцедуры + +Процедура ПоказатьНепустойЛогКонвертера() + Лог = Конвертер.ПолучитьЛог(); + Если Не ПустаяСтрока(Лог) Тогда + Сообщить("Лог <" + Символы.ПС + Лог + Символы.ПС + ">"); + КонецЕсли; +КонецПроцедуры + +Процедура ДобавитьВКонтекст(Ключ, Значение) + Контекст = КонтекстЯдра.ПолучитьКонтекст(); + Контекст.Вставить(Ключ, Значение); + КонтекстЯдра.СохранитьКонтекст(Контекст); +КонецПроцедуры + +Функция КаталогПроекта() + Файл = Новый Файл(КонтекстЯдра.ИспользуемоеИмяФайла); + Возврат Файл.Путь; +КонецФункции + +Функция ПутьКонвертера() + Возврат КаталогПроекта() + "\utils\xddTestsConvertIntoRebornFormat.epf"; +КонецФункции + +//} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/maps.txt" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/maps.txt" new file mode 100644 index 00000000..ace3a492 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/maps.txt" @@ -0,0 +1,23 @@ +Макеты\v8unpack.txt-->e71cb439-e78b-48d4-90ca-3055c334364b.0 +Макеты\БазовыйТест_v3_ДваТеста_ИКодВокруг_Результат.txt-->9445dc5b-81cf-4d1e-9e20-07042b93755a.0 +Макеты\БазовыйТест_v3_ДваТеста_ИКодВокруг.txt-->0820522a-cd7b-498a-8767-4a1a17c6a313.0 +Макеты\БазовыйТест_v3_ДваТеста_Результат.txt-->dc252f32-bece-4b36-a154-7e1456abc42b.0 +Макеты\БазовыйТест_v3_ДваТеста.txt-->594174ed-87e8-4b21-b5c2-4b9936964fbe.0 +Макеты\БазовыйТест_v3_ЕстьУтверждения_Результат.txt-->0074f89e-172f-4cb5-9d37-90f51ebfdf83.0 +Макеты\БазовыйТест_v3_ЕстьУтверждения_УФ_Результат.txt-->1facde36-00e4-442d-b52c-0c8e26d731fe.0 +Макеты\БазовыйТест_v3_ЕстьУтверждения_УФ.txt-->267c63bb-1a07-4f2a-80b7-e1ed526a9d8e.0 +Макеты\БазовыйТест_v3_ЕстьУтверждения.txt-->5bea2e8a-f556-4c03-8234-4590f8041b1d.0 +Макеты\БазовыйТест_v3_Результат.txt-->165fbf6e-41ca-41fa-9329-f226fbf60fcf.0 +Макеты\БазовыйТест_v3_УФ_ДваТеста_ИКодВокруг_Результат.txt-->aa6a8c8d-aaf9-45a8-8df1-0acd6747775e.0 +Макеты\БазовыйТест_v3_УФ_ДваТеста_ИКодВокруг.txt-->eaaa971d-cd10-4a58-ac2c-453a08f3e31c.0 +Макеты\БазовыйТест_v3_УФ_ДваТеста_Результат.txt-->5b867d65-eb17-4da4-9cbd-850c1dd2585b.0 +Макеты\БазовыйТест_v3_УФ_ДваТеста.txt-->e9fbe396-a267-46f4-8472-0e03be464c2a.0 +Макеты\БазовыйТест_v3_УФ_ДвеКавычки_Результат.txt-->bc8ef2c0-98ae-4f7b-9b02-f680f8384843.0 +Макеты\БазовыйТест_v3_УФ_ДвеКавычки.txt-->da854782-15ef-4d88-8ea7-9606248465ef.0 +Макеты\БазовыйТест_v3_УФ_Результат.txt-->5f1fcb9b-1780-4484-8c6f-b54997875be3.0 +Макеты\БазовыйТест_v3_УФ.txt-->945f1fbd-df8f-41cd-b30a-803da0bb591a.0 +Макеты\БазовыйТест_v3.txt-->908b5599-e977-4e6c-8401-3f12bf12e2a3.0 +Макеты\РазныйРегистр_Результат.txt-->ca759f78-0cac-471b-972d-06c9844ad3a2.0 +Макеты\РазныйРегистр.txt-->7763d64e-6a6b-4a34-af48-d041bc88e244.0 +Макеты\ФайлСОднимТестом.txt-->8b6e0649-e316-4007-95d6-0240e751b4e0.0 +Макеты\ФайлСОднимТестомУФ.txt-->94ed5fcb-e54f-4e79-9818-d9c006e798df.0 diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/renames.txt" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/renames.txt" new file mode 100644 index 00000000..c61ad6fb --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/renames.txt" @@ -0,0 +1,53 @@ +0074f89e-172f-4cb5-9d37-90f51ebfdf83-->und\0074f89e-172f-4cb5-9d37-90f51ebfdf83 +0074f89e-172f-4cb5-9d37-90f51ebfdf83.0-->und\0074f89e-172f-4cb5-9d37-90f51ebfdf83.0 +0820522a-cd7b-498a-8767-4a1a17c6a313-->und\0820522a-cd7b-498a-8767-4a1a17c6a313 +0820522a-cd7b-498a-8767-4a1a17c6a313.0-->und\0820522a-cd7b-498a-8767-4a1a17c6a313.0 +165fbf6e-41ca-41fa-9329-f226fbf60fcf-->und\165fbf6e-41ca-41fa-9329-f226fbf60fcf +165fbf6e-41ca-41fa-9329-f226fbf60fcf.0-->und\165fbf6e-41ca-41fa-9329-f226fbf60fcf.0 +1facde36-00e4-442d-b52c-0c8e26d731fe-->und\1facde36-00e4-442d-b52c-0c8e26d731fe +1facde36-00e4-442d-b52c-0c8e26d731fe.0-->und\1facde36-00e4-442d-b52c-0c8e26d731fe.0 +267c63bb-1a07-4f2a-80b7-e1ed526a9d8e-->und\267c63bb-1a07-4f2a-80b7-e1ed526a9d8e +267c63bb-1a07-4f2a-80b7-e1ed526a9d8e.0-->und\267c63bb-1a07-4f2a-80b7-e1ed526a9d8e.0 +594174ed-87e8-4b21-b5c2-4b9936964fbe-->und\594174ed-87e8-4b21-b5c2-4b9936964fbe +594174ed-87e8-4b21-b5c2-4b9936964fbe.0-->und\594174ed-87e8-4b21-b5c2-4b9936964fbe.0 +5b867d65-eb17-4da4-9cbd-850c1dd2585b-->und\5b867d65-eb17-4da4-9cbd-850c1dd2585b +5b867d65-eb17-4da4-9cbd-850c1dd2585b.0-->und\5b867d65-eb17-4da4-9cbd-850c1dd2585b.0 +5bea2e8a-f556-4c03-8234-4590f8041b1d-->und\5bea2e8a-f556-4c03-8234-4590f8041b1d +5bea2e8a-f556-4c03-8234-4590f8041b1d.0-->und\5bea2e8a-f556-4c03-8234-4590f8041b1d.0 +5f1fcb9b-1780-4484-8c6f-b54997875be3-->und\5f1fcb9b-1780-4484-8c6f-b54997875be3 +5f1fcb9b-1780-4484-8c6f-b54997875be3.0-->und\5f1fcb9b-1780-4484-8c6f-b54997875be3.0 +7763d64e-6a6b-4a34-af48-d041bc88e244-->und\7763d64e-6a6b-4a34-af48-d041bc88e244 +7763d64e-6a6b-4a34-af48-d041bc88e244.0-->und\7763d64e-6a6b-4a34-af48-d041bc88e244.0 +8b6e0649-e316-4007-95d6-0240e751b4e0-->und\8b6e0649-e316-4007-95d6-0240e751b4e0 +8b6e0649-e316-4007-95d6-0240e751b4e0.0-->und\8b6e0649-e316-4007-95d6-0240e751b4e0.0 +908b5599-e977-4e6c-8401-3f12bf12e2a3-->und\908b5599-e977-4e6c-8401-3f12bf12e2a3 +908b5599-e977-4e6c-8401-3f12bf12e2a3.0-->und\908b5599-e977-4e6c-8401-3f12bf12e2a3.0 +9445dc5b-81cf-4d1e-9e20-07042b93755a-->und\9445dc5b-81cf-4d1e-9e20-07042b93755a +9445dc5b-81cf-4d1e-9e20-07042b93755a.0-->und\9445dc5b-81cf-4d1e-9e20-07042b93755a.0 +945f1fbd-df8f-41cd-b30a-803da0bb591a-->und\945f1fbd-df8f-41cd-b30a-803da0bb591a +945f1fbd-df8f-41cd-b30a-803da0bb591a.0-->und\945f1fbd-df8f-41cd-b30a-803da0bb591a.0 +94ed5fcb-e54f-4e79-9818-d9c006e798df-->und\94ed5fcb-e54f-4e79-9818-d9c006e798df +94ed5fcb-e54f-4e79-9818-d9c006e798df.0-->und\94ed5fcb-e54f-4e79-9818-d9c006e798df.0 +aa6a8c8d-aaf9-45a8-8df1-0acd6747775e-->und\aa6a8c8d-aaf9-45a8-8df1-0acd6747775e +aa6a8c8d-aaf9-45a8-8df1-0acd6747775e.0-->und\aa6a8c8d-aaf9-45a8-8df1-0acd6747775e.0 +aad28daf-f05d-42da-9bf6-51e89ff6a46b.0\info-->und\aad28daf-f05d-42da-9bf6-51e89ff6a46b.0\info +aad28daf-f05d-42da-9bf6-51e89ff6a46b.0\text-->ObjectModule.txt +bc8ef2c0-98ae-4f7b-9b02-f680f8384843-->und\bc8ef2c0-98ae-4f7b-9b02-f680f8384843 +bc8ef2c0-98ae-4f7b-9b02-f680f8384843.0-->und\bc8ef2c0-98ae-4f7b-9b02-f680f8384843.0 +ca759f78-0cac-471b-972d-06c9844ad3a2-->und\ca759f78-0cac-471b-972d-06c9844ad3a2 +ca759f78-0cac-471b-972d-06c9844ad3a2.0-->und\ca759f78-0cac-471b-972d-06c9844ad3a2.0 +copyinfo-->und\copyinfo +da854782-15ef-4d88-8ea7-9606248465ef-->und\da854782-15ef-4d88-8ea7-9606248465ef +da854782-15ef-4d88-8ea7-9606248465ef.0-->und\da854782-15ef-4d88-8ea7-9606248465ef.0 +dc252f32-bece-4b36-a154-7e1456abc42b-->und\dc252f32-bece-4b36-a154-7e1456abc42b +dc252f32-bece-4b36-a154-7e1456abc42b.0-->und\dc252f32-bece-4b36-a154-7e1456abc42b.0 +e5530449-dd2d-4841-821e-38808447be38-->und\e5530449-dd2d-4841-821e-38808447be38 +e71cb439-e78b-48d4-90ca-3055c334364b-->und\e71cb439-e78b-48d4-90ca-3055c334364b +e71cb439-e78b-48d4-90ca-3055c334364b.0-->und\e71cb439-e78b-48d4-90ca-3055c334364b.0 +e9fbe396-a267-46f4-8472-0e03be464c2a-->und\e9fbe396-a267-46f4-8472-0e03be464c2a +e9fbe396-a267-46f4-8472-0e03be464c2a.0-->und\e9fbe396-a267-46f4-8472-0e03be464c2a.0 +eaaa971d-cd10-4a58-ac2c-453a08f3e31c-->und\eaaa971d-cd10-4a58-ac2c-453a08f3e31c +eaaa971d-cd10-4a58-ac2c-453a08f3e31c.0-->und\eaaa971d-cd10-4a58-ac2c-453a08f3e31c.0 +root-->und\root +version-->und\version +versions-->und\versions diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/0074f89e-172f-4cb5-9d37-90f51ebfdf83" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/0074f89e-172f-4cb5-9d37-90f51ebfdf83" new file mode 100644 index 00000000..8c7f3fc8 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/0074f89e-172f-4cb5-9d37-90f51ebfdf83" @@ -0,0 +1,6 @@ +{1, +{2,4, +{0, +{0,0,0074f89e-172f-4cb5-9d37-90f51ebfdf83},"БазовыйТест_v3_ЕстьУтверждения_Результат", +{1,"ru","Базовый тест v3 есть утверждения результат"},""} +},0} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/0074f89e-172f-4cb5-9d37-90f51ebfdf83.0" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/0074f89e-172f-4cb5-9d37-90f51ebfdf83.0" new file mode 100644 index 00000000..7f78e181 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/0074f89e-172f-4cb5-9d37-90f51ebfdf83.0" @@ -0,0 +1,38 @@ +Перем КонтекстЯдра; +Перем Ожидаем; +Перем Утверждения; +Перем ГенераторТестовыхДанных; +Перем ЗапросыИзБД; +Перем УтвержденияПроверкаТаблиц; + +//Перем юТест1; +//Функция ПолучитьСписокТестов(ЮнитТестирование1) Экспорт +// юТест1 = ЮнитТестирование1; +// ВсеТесты1 = Новый Массив; +// ВсеТесты1.Добавить("Тест_ДваПлюсДва"); +// Возврат ВсеТесты1; +//КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин("СериализаторMXL"); + ЗапросыИзБД = КонтекстЯдра.Плагин("ЗапросыИзБД"); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); +КонецПроцедуры + +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + НаборТестов.Добавить("Тест_ДваПлюсДва"); +КонецПроцедуры + +Процедура Тест_ДваПлюсДва() Экспорт + Утверждения.ПроверитьРавенство(2+2, 4, "2+2 = 4"); + Утверждения.ПроверитьНеРавенство(2+2, 5); + ГенераторТестовыхДанных.СоздатьДанныеПоМакетам(Объект, "Макет"); + Рез = ЗапросыИзБД.ПолучитьКоличествоЭлементовСправочникаПоОтбору("Спр", Новый Структура); + КонтекстЯдра.ВывестиСообщение("Текст сообщения"); + УтвержденияПроверкаТаблиц.ПроверитьРавенствоТаблиц(Таб1, Таб2, "Текст сообщения"); + КонтекстЯдра.ВызватьОшибкуПроверки("Текст сообщения"); +КонецПроцедуры + diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/0820522a-cd7b-498a-8767-4a1a17c6a313" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/0820522a-cd7b-498a-8767-4a1a17c6a313" new file mode 100644 index 00000000..42696d8f --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/0820522a-cd7b-498a-8767-4a1a17c6a313" @@ -0,0 +1,6 @@ +{1, +{2,4, +{0, +{0,0,0820522a-cd7b-498a-8767-4a1a17c6a313},"БазовыйТест_v3_ДваТеста_ИКодВокруг", +{1,"ru","Базовый тест v3 два теста и код вокруг"},""} +},0} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/0820522a-cd7b-498a-8767-4a1a17c6a313.0" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/0820522a-cd7b-498a-8767-4a1a17c6a313.0" new file mode 100644 index 00000000..c5c6c81b --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/0820522a-cd7b-498a-8767-4a1a17c6a313.0" @@ -0,0 +1,29 @@ +Перем Перем1; +Перем юТест; +Перем Перем2; + +Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт + + юТест = ЮнитТестирование; + + ВсеТесты = Новый Массив; + ВсеТесты.Добавить("Тест_ДваПлюсДва"); + ВсеТесты.Добавить("Тест_ДваПлюсТри"); + + Возврат ВсеТесты; + +КонецФункции + +Процедура Публичная() Экспорт +КонецПроцедуры + +Процедура Тест_ДваПлюсДва() Экспорт + +КонецПроцедуры + +Процедура Тест_ДваПлюсТри() Экспорт + +КонецПроцедуры + +Процедура Приватная() +КонецПроцедуры diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/165fbf6e-41ca-41fa-9329-f226fbf60fcf" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/165fbf6e-41ca-41fa-9329-f226fbf60fcf" new file mode 100644 index 00000000..0f861a4c --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/165fbf6e-41ca-41fa-9329-f226fbf60fcf" @@ -0,0 +1,6 @@ +{1, +{2,4, +{0, +{0,0,165fbf6e-41ca-41fa-9329-f226fbf60fcf},"БазовыйТест_v3_Результат", +{1,"ru","Базовый тест v3 результат"},""} +},0} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/165fbf6e-41ca-41fa-9329-f226fbf60fcf.0" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/165fbf6e-41ca-41fa-9329-f226fbf60fcf.0" new file mode 100644 index 00000000..d3847c01 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/165fbf6e-41ca-41fa-9329-f226fbf60fcf.0" @@ -0,0 +1,31 @@ +Перем КонтекстЯдра; +Перем Ожидаем; +Перем Утверждения; +Перем ГенераторТестовыхДанных; +Перем ЗапросыИзБД; +Перем УтвержденияПроверкаТаблиц; + +//Перем юТест1; +//Функция ПолучитьСписокТестов(ЮнитТестирование1) Экспорт +// юТест1 = ЮнитТестирование1; +// ВсеТесты1 = Новый Массив; +// ВсеТесты1.Добавить("Тест_ДваПлюсДва"); +// Возврат ВсеТесты1; +//КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин("СериализаторMXL"); + ЗапросыИзБД = КонтекстЯдра.Плагин("ЗапросыИзБД"); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); +КонецПроцедуры + +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + НаборТестов.Добавить("Тест_ДваПлюсДва"); +КонецПроцедуры + +Процедура Тест_ДваПлюсДва() Экспорт +КонецПроцедуры + diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/1facde36-00e4-442d-b52c-0c8e26d731fe" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/1facde36-00e4-442d-b52c-0c8e26d731fe" new file mode 100644 index 00000000..1c63d4e6 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/1facde36-00e4-442d-b52c-0c8e26d731fe" @@ -0,0 +1,6 @@ +{1, +{2,4, +{0, +{0,0,1facde36-00e4-442d-b52c-0c8e26d731fe},"БазовыйТест_v3_ЕстьУтверждения_УФ_Результат", +{1,"ru","Базовый тест v3 есть утверждения у ф результат"},""} +},0} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/1facde36-00e4-442d-b52c-0c8e26d731fe.0" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/1facde36-00e4-442d-b52c-0c8e26d731fe.0" new file mode 100644 index 00000000..7c1dcfe2 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/1facde36-00e4-442d-b52c-0c8e26d731fe.0" @@ -0,0 +1,47 @@ +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Ожидаем; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем ГенераторТестовыхДанных; +&НаКлиенте +Перем ЗапросыИзБД; +&НаКлиенте +Перем УтвержденияПроверкаТаблиц; + +//Перем юТест1; +//Функция ПолучитьСписокТестов(ЮнитТестирование1) Экспорт +// юТест1 = ЮнитТестирование1; +// ВсеТесты1 = Новый Массив; +// ВсеТесты1.Добавить("Тест_ДваПлюсДва"); +// Возврат ВсеТесты1; +//КонецФункции + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин("СериализаторMXL"); + ЗапросыИзБД = КонтекстЯдра.Плагин("ЗапросыИзБД"); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + НаборТестов.Добавить("Тест_ДваПлюсДва"); +КонецПроцедуры + +&НаКлиенте +Процедура Тест_ДваПлюсДва() Экспорт + Утверждения.ПроверитьРавенство(2+2, 4, "2+2 = 4"); + Утверждения.ПроверитьНеРавенство(2+2, 5); + ГенераторТестовыхДанных.СоздатьДанныеПоМакетам(Объект, "Макет"); + Рез = ЗапросыИзБД.ПолучитьКоличествоЭлементовСправочникаПоОтбору("Спр", Новый Структура); + КонтекстЯдра.ВывестиСообщение("Текст сообщения"); + УтвержденияПроверкаТаблиц.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Таб1, Таб2, "Текст сообщения"); + КонтекстЯдра.ВызватьОшибкуПроверки("Текст сообщения"); +КонецПроцедуры + diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/267c63bb-1a07-4f2a-80b7-e1ed526a9d8e" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/267c63bb-1a07-4f2a-80b7-e1ed526a9d8e" new file mode 100644 index 00000000..512f7146 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/267c63bb-1a07-4f2a-80b7-e1ed526a9d8e" @@ -0,0 +1,6 @@ +{1, +{2,4, +{0, +{0,0,267c63bb-1a07-4f2a-80b7-e1ed526a9d8e},"БазовыйТест_v3_ЕстьУтверждения_УФ", +{1,"ru","Базовый тест v3 есть утверждения УФ"},""} +},0} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/267c63bb-1a07-4f2a-80b7-e1ed526a9d8e.0" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/267c63bb-1a07-4f2a-80b7-e1ed526a9d8e.0" new file mode 100644 index 00000000..fad949c1 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/267c63bb-1a07-4f2a-80b7-e1ed526a9d8e.0" @@ -0,0 +1,21 @@ +&НаКлиенте +Перем юТест1; + +&НаКлиенте +Функция ПолучитьСписокТестов(ЮнитТестирование1) Экспорт + юТест1 = ЮнитТестирование1; + ВсеТесты1 = Новый Массив; + ВсеТесты1.Добавить("Тест_ДваПлюсДва"); + Возврат ВсеТесты1; +КонецФункции + +&НаКлиенте +Процедура Тест_ДваПлюсДва() Экспорт + юТест1.ПроверитьРавенство(2+2, 4, "2+2 = 4"); + юТест1.ПроверитьНеРавенство(2+2, 5); + юТест1.СоздатьДанныеПоМакетам(Объект, "Макет"); + Рез = юТест1.ПолучитьКоличествоЭлементовСправочникаПоОтбору("Спр", Новый Структура); + юТест1.ВывестиСообщение("Текст сообщения"); + юТест1.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Таб1, Таб2, "Текст сообщения"); + юТест1.ПрерватьТест("Текст сообщения"); +КонецПроцедуры diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/594174ed-87e8-4b21-b5c2-4b9936964fbe" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/594174ed-87e8-4b21-b5c2-4b9936964fbe" new file mode 100644 index 00000000..b1701741 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/594174ed-87e8-4b21-b5c2-4b9936964fbe" @@ -0,0 +1,6 @@ +{1, +{2,4, +{0, +{0,0,594174ed-87e8-4b21-b5c2-4b9936964fbe},"БазовыйТест_v3_ДваТеста", +{1,"ru","Базовый тест v3 два теста"},""} +},0} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/594174ed-87e8-4b21-b5c2-4b9936964fbe.0" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/594174ed-87e8-4b21-b5c2-4b9936964fbe.0" new file mode 100644 index 00000000..8172a52e --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/594174ed-87e8-4b21-b5c2-4b9936964fbe.0" @@ -0,0 +1,21 @@ +Перем юТест; + +Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт + + юТест = ЮнитТестирование; + + ВсеТесты = Новый Массив; + ВсеТесты.Добавить("Тест_ДваПлюсДва"); + ВсеТесты.Добавить("Тест_ДваПлюсТри"); + + Возврат ВсеТесты; + +КонецФункции + +Процедура Тест_ДваПлюсДва() Экспорт + +КонецПроцедуры + +Процедура Тест_ДваПлюсТри() Экспорт + +КонецПроцедуры diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/5b867d65-eb17-4da4-9cbd-850c1dd2585b" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/5b867d65-eb17-4da4-9cbd-850c1dd2585b" new file mode 100644 index 00000000..d1ab2e12 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/5b867d65-eb17-4da4-9cbd-850c1dd2585b" @@ -0,0 +1,6 @@ +{1, +{2,4, +{0, +{0,0,5b867d65-eb17-4da4-9cbd-850c1dd2585b},"БазовыйТест_v3_УФ_ДваТеста_Результат", +{1,"ru","Базовый тест v3 у ф два теста результат"},""} +},0} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/5b867d65-eb17-4da4-9cbd-850c1dd2585b.0" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/5b867d65-eb17-4da4-9cbd-850c1dd2585b.0" new file mode 100644 index 00000000..4b8ad768 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/5b867d65-eb17-4da4-9cbd-850c1dd2585b.0" @@ -0,0 +1,52 @@ +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Ожидаем; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем ГенераторТестовыхДанных; +&НаКлиенте +Перем ЗапросыИзБД; +&НаКлиенте +Перем УтвержденияПроверкаТаблиц; + +//Перем юТест; +//Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт +// +// юТест = ЮнитТестирование; +// +// ВсеТесты = Новый Массив; +// ВсеТесты.Добавить("Тест_ДваПлюсДва"); +// ВсеТесты.Добавить("Тест_ДваПлюсТри"); +// +// Возврат ВсеТесты; +// +//КонецФункции + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин("СериализаторMXL"); + ЗапросыИзБД = КонтекстЯдра.Плагин("ЗапросыИзБД"); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + НаборТестов.Добавить("Тест_ДваПлюсДва"); + НаборТестов.Добавить("Тест_ДваПлюсТри"); +КонецПроцедуры + +&НаКлиенте +Процедура Тест_ДваПлюсДва() Экспорт + +КонецПроцедуры + +&НаКлиенте +Процедура Тест_ДваПлюсТри() Экспорт + +КонецПроцедуры + diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/5bea2e8a-f556-4c03-8234-4590f8041b1d" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/5bea2e8a-f556-4c03-8234-4590f8041b1d" new file mode 100644 index 00000000..5e2ea60c --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/5bea2e8a-f556-4c03-8234-4590f8041b1d" @@ -0,0 +1,6 @@ +{1, +{2,4, +{0, +{0,0,5bea2e8a-f556-4c03-8234-4590f8041b1d},"БазовыйТест_v3_ЕстьУтверждения", +{1,"ru","Базовый тест v3 есть утверждения"},""} +},0} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/5bea2e8a-f556-4c03-8234-4590f8041b1d.0" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/5bea2e8a-f556-4c03-8234-4590f8041b1d.0" new file mode 100644 index 00000000..99ab79ee --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/5bea2e8a-f556-4c03-8234-4590f8041b1d.0" @@ -0,0 +1,18 @@ +Перем юТест1; + +Функция ПолучитьСписокТестов(ЮнитТестирование1) Экспорт + юТест1 = ЮнитТестирование1; + ВсеТесты1 = Новый Массив; + ВсеТесты1.Добавить("Тест_ДваПлюсДва"); + Возврат ВсеТесты1; +КонецФункции + +Процедура Тест_ДваПлюсДва() Экспорт + юТест1.ПроверитьРавенство(2+2, 4, "2+2 = 4"); + юТест1.ПроверитьНеРавенство(2+2, 5); + юТест1.СоздатьДанныеПоМакетам(Объект, "Макет"); + Рез = юТест1.ПолучитьКоличествоЭлементовСправочникаПоОтбору("Спр", Новый Структура); + юТест1.ВывестиСообщение("Текст сообщения"); + юТест1.ПроверитьРавенствоТаблиц(Таб1, Таб2, "Текст сообщения"); + юТест1.ПрерватьТест("Текст сообщения"); +КонецПроцедуры diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/5f1fcb9b-1780-4484-8c6f-b54997875be3" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/5f1fcb9b-1780-4484-8c6f-b54997875be3" new file mode 100644 index 00000000..1bffe8eb --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/5f1fcb9b-1780-4484-8c6f-b54997875be3" @@ -0,0 +1,6 @@ +{1, +{2,4, +{0, +{0,0,5f1fcb9b-1780-4484-8c6f-b54997875be3},"БазовыйТест_v3_УФ_Результат", +{1,"ru","Базовый тест v3 у ф результат"},""} +},0} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/5f1fcb9b-1780-4484-8c6f-b54997875be3.0" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/5f1fcb9b-1780-4484-8c6f-b54997875be3.0" new file mode 100644 index 00000000..e574944d --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/5f1fcb9b-1780-4484-8c6f-b54997875be3.0" @@ -0,0 +1,40 @@ +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Ожидаем; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем ГенераторТестовыхДанных; +&НаКлиенте +Перем ЗапросыИзБД; +&НаКлиенте +Перем УтвержденияПроверкаТаблиц; + +//Перем юТест1; +//Функция ПолучитьСписокТестов(ЮнитТестирование1) Экспорт +// юТест1 = ЮнитТестирование1; +// ВсеТесты1 = Новый Массив; +// ВсеТесты1.Добавить("Тест_ДваПлюсДва"); +// Возврат ВсеТесты1; +//КонецФункции + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин("СериализаторMXL"); + ЗапросыИзБД = КонтекстЯдра.Плагин("ЗапросыИзБД"); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + НаборТестов.Добавить("Тест_ДваПлюсДва"); +КонецПроцедуры + +&НаКлиенте +Процедура Тест_ДваПлюсДва() Экспорт +КонецПроцедуры + diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/7763d64e-6a6b-4a34-af48-d041bc88e244" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/7763d64e-6a6b-4a34-af48-d041bc88e244" new file mode 100644 index 00000000..16cbb64f --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/7763d64e-6a6b-4a34-af48-d041bc88e244" @@ -0,0 +1,6 @@ +{1, +{2,4, +{0, +{0,0,7763d64e-6a6b-4a34-af48-d041bc88e244},"РазныйРегистр", +{1,"ru","Разный регистр"},""} +},0} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/7763d64e-6a6b-4a34-af48-d041bc88e244.0" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/7763d64e-6a6b-4a34-af48-d041bc88e244.0" new file mode 100644 index 00000000..f4d48616 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/7763d64e-6a6b-4a34-af48-d041bc88e244.0" @@ -0,0 +1,15 @@ +Перем ЮТест1; + +Функция ПолучитьСписокТестов(ЮнитТестирование1) Экспорт + ЮТест1 = ЮнитТестирование1; + ВсеТесты1 = Новый Массив; + ВсеТесты1.Добавить("Тест_ДваПлюсДва"); + Возврат ВсеТесты1; +КонецФункции + +Процедура Тест_ДваПлюсДва() Экспорт + юТест1.ПроверитьРавенство(2+2, 4, "2+2 = 4"); + юТест1.ПроверитьНеРавенство(2+2, 5); + юТест1.СоздатьДанныеПоМакетам(Объект, "Макет"); + Рез = юТест1.ПолучитьКоличествоЭлементовСправочникаПоОтбору("Спр", Новый Структура); +КонецПроцедуры diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/8b6e0649-e316-4007-95d6-0240e751b4e0" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/8b6e0649-e316-4007-95d6-0240e751b4e0" new file mode 100644 index 00000000..5ec7a924 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/8b6e0649-e316-4007-95d6-0240e751b4e0" @@ -0,0 +1,6 @@ +{1, +{2,1, +{1, +{0,0,8b6e0649-e316-4007-95d6-0240e751b4e0},"ФайлСОднимТестом", +{1,"ru","Файл с одним тестом"},"",0,0} +},0} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/8b6e0649-e316-4007-95d6-0240e751b4e0.0" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/8b6e0649-e316-4007-95d6-0240e751b4e0.0" new file mode 100644 index 00000000..bbd27e48 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/8b6e0649-e316-4007-95d6-0240e751b4e0.0" @@ -0,0 +1,93 @@ +{1, +{#base64:////fwACAAAGAAAAAAAAAA0KMDAwMDAwNDggMDAwMDAyMDAgN2ZmZmZmZmYgDQov +AgAAsgIAAP///3/RBAAAGAUAAP///383BwAAtgcAAP///3/VCQAAFAoAAP///38z +DAAAeAwAAP///3+XDgAA3g4AAP///38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0KMDAwMDAwNjQgMDAwMDAw +NjQgN2ZmZmZmZmYgDQrAZesLTkICAMBl6wtOQgIAAAAAADcAMgA3AGUAZABhADUA +ZgAtADUANQA4AGMALQA0ADIAOABiAC0AOAA2AGQAMgAtADMANAAyADEAYwA1ADIA +ZgA0AGMANQAwAC4AMAAAAAAADQowMDAwMDE5MyAwMDAwMDIwMCA3ZmZmZmZmZiAN +Cu1SzUoCURS+za6JeYfDrJQGHTUoEhe1ademB2il0KY2LYKIHAVbGAYRBFFIUcvC +pCHT/HmEc9+hXYsewb7rdXSUKGhbh5nhnHO/7zs/d/r9/qEwhJgR2izTHVhiiUbO +Yk4bWeYaICW8fdDuQHsztB/Qki6NnBCtt2EvZ1YM0cu+z62vGoNKW2Jb5MTORFU3 +R0P2BP2j1d1POQnHdWzbcQ/Ev/0t+8XftSuyYg/fED2ZGtKVM/l3cZV9mWefX0lW ++AaBJwtpy7RMvpVFbnNTlrghTwjADrdkUR4hLMhjvuYuPA/ZZsCDX4/wA1iAjJIN +6OOAayrPfpT4Hqoe6B2ZlwXLnMUzLk4Z+kkirTl8ChU/AMmyYl4pnCzzC/El15D3 +QKinv0DH+AzYR2jW9UQROzjcxJEqVsXAFbAGkR0dlQXvGVXyKFCgaV2N4guA2siV +wnvkxmCzVTUOYp+fsFDI0LeVI1+vLB4fLy2mNYFWt6nHSdI8JbGTBYdsPkcLNdyd +rzdIqjcawtvcCYYLtT3VpCxb5icAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQowMDAwMDAyOCAwMDAw +MDAyOCA3ZmZmZmZmZiANCgAi1JlOQgIAACLUmU5CAgAAAAAAYwBvAHAAeQBpAG4A +ZgBvAAAAAAANCjAwMDAwMDE1IDAwMDAwMjAwIDdmZmZmZmZmIA0Ke797f7WJDi9X +tUEtBqkD4/Fy1QIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANCjAwMDAwMDYwIDAwMDAwMDYwIDdmZmZm +ZmZmIA0KACLUmU5CAgAAItSZTkICAAAAAABmADMAOABjADcANAA2ADUALQAyADEA +MgAwAC0ANABhAGUAYgAtADgANwBmAGMALQAxAGMAZAA2AGEANwAyAGUANAA1ADUA +OQAAAAAADQowMDAwMDE0OCAwMDAwMDIwMCA3ZmZmZmZmZiANCo2QTYqXMQzG9wNz +B3nXDbRpkqbHSZv2AIKr4V3oUVy5HBeuBvUKnZN4Bfv/GEFwYSgl0F+eJ31+vfx8 +SuHx4Wlm7YWEARNGIBsNtMwOqbtYwUHM9QxXtGfNaXQFV2egWTOoIcKsbdqIJWOZ +F+4KUyBBRdQEpI2AxA10TIOWpExtwk4URHu2tk1FvAIRDzBJBWrcoypqfeSLXPwj +HEMMBctw4wnM2oFQ99LiCJkwdcZJneMZjvVlPa+v62X9WN/X5/Xt9ePrp/V83KSO +9x+Ov5F3+/WN2dPHNorn48MZ4r3gH9dbXfn/4M5AF39sfczoCWLdCaXkAq023SjH +tsO0yr7dL2h2GxaTgNRWgIYTVOIMCUtNKRecQ+6oc4uDhwOyOFBMHWrPAlNy7DZd +TfCOji6t8WBoxRTIy+5GryCsKRaTWvu8ff92fgMAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAADQowMDAwMDAyMCAwMDAwMDAyMCA3ZmZmZmZm +ZiANCgAi1JlOQgIAACLUmU5CAgAAAAAAcgBvAG8AdAAAAAAADQowMDAwMDAyZSAw +MDAwMDIwMCA3ZmZmZmZmZiANCnu/e3+1kU6asUWyuYmZqa6RoZGBrkliapKuhXla +sq5hcopZorlRqompqaVOLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAADQowMDAwMDAyNiAwMDAwMDAyNiA3ZmZmZmZmZiANCgAi1JlOQgIAACLUmU5C +AgAAAAAAdgBlAHIAcwBpAG8AbgAAAAAADQowMDAwMDAxMiAwMDAwMDIwMCA3ZmZm +ZmZmZiANCnu/e381L1e1kaGZjkEtL1ctAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQowMDAwMDAy +OCAwMDAwMDAyOCA3ZmZmZmZmZiANCgAi1JlOQgIAACLUmU5CAgAAAAAAdgBlAHIA +cwBpAG8AbgBzAAAAAAANCjAwMDAwMTAyIDAwMDAwMjAwIDdmZmZmZmZmIA0KPY8x +TkQxDAXvkjpGcRzHznESO5a22Y92ERJCnIyCI3EFUtGP3sz7/f75xCw5pbw8SKVW +WHMGNBQGDVcImoVoRQRRTlJl++QAZjVoVRdo9wrUKhrXaMblpaRsTrR73wcZDI2a +wnTpsK34YTBYW052vX7c7nGl7GJmMxqIGh17NxhLEDoh7rAdq2JOp9CkdYaKtUCb ++9glDNC8T6m7MY+UD+U6JIBCKrQyEZQOT7x0IK0xvOT0uK630xnivZrDbnZiCxZY +igK6NWzELtSP930/nrfrfjKPZXRcJ24ptE4Mo64KYyszuZ4X9I8/U27N11Bk8B1n +PghhcRngIdEXWcGxvv4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=} +} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/908b5599-e977-4e6c-8401-3f12bf12e2a3" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/908b5599-e977-4e6c-8401-3f12bf12e2a3" new file mode 100644 index 00000000..6db064d6 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/908b5599-e977-4e6c-8401-3f12bf12e2a3" @@ -0,0 +1,6 @@ +{1, +{2,4, +{0, +{0,0,908b5599-e977-4e6c-8401-3f12bf12e2a3},"БазовыйТест_v3", +{1,"ru","Базовый тест v3"},""} +},0} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/908b5599-e977-4e6c-8401-3f12bf12e2a3.0" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/908b5599-e977-4e6c-8401-3f12bf12e2a3.0" new file mode 100644 index 00000000..ce897714 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/908b5599-e977-4e6c-8401-3f12bf12e2a3.0" @@ -0,0 +1,11 @@ +Перем юТест1; + +Функция ПолучитьСписокТестов(ЮнитТестирование1) Экспорт + юТест1 = ЮнитТестирование1; + ВсеТесты1 = Новый Массив; + ВсеТесты1.Добавить("Тест_ДваПлюсДва"); + Возврат ВсеТесты1; +КонецФункции + +Процедура Тест_ДваПлюсДва() Экспорт +КонецПроцедуры diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/9445dc5b-81cf-4d1e-9e20-07042b93755a" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/9445dc5b-81cf-4d1e-9e20-07042b93755a" new file mode 100644 index 00000000..25de7534 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/9445dc5b-81cf-4d1e-9e20-07042b93755a" @@ -0,0 +1,6 @@ +{1, +{2,4, +{0, +{0,0,9445dc5b-81cf-4d1e-9e20-07042b93755a},"БазовыйТест_v3_ДваТеста_ИКодВокруг_Результат", +{1,"ru","Базовый тест v3 два теста и код вокруг результат"},""} +},0} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/9445dc5b-81cf-4d1e-9e20-07042b93755a.0" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/9445dc5b-81cf-4d1e-9e20-07042b93755a.0" new file mode 100644 index 00000000..9b161c3a --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/9445dc5b-81cf-4d1e-9e20-07042b93755a.0" @@ -0,0 +1,51 @@ +Перем Перем1; +Перем КонтекстЯдра; +Перем Ожидаем; +Перем Утверждения; +Перем ГенераторТестовыхДанных; +Перем ЗапросыИзБД; +Перем УтвержденияПроверкаТаблиц; + +Перем Перем2; + +//Перем юТест; +//Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт +// +// юТест = ЮнитТестирование; +// +// ВсеТесты = Новый Массив; +// ВсеТесты.Добавить("Тест_ДваПлюсДва"); +// ВсеТесты.Добавить("Тест_ДваПлюсТри"); +// +// Возврат ВсеТесты; +// +//КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин("СериализаторMXL"); + ЗапросыИзБД = КонтекстЯдра.Плагин("ЗапросыИзБД"); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); +КонецПроцедуры + +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + НаборТестов.Добавить("Тест_ДваПлюсДва"); + НаборТестов.Добавить("Тест_ДваПлюсТри"); +КонецПроцедуры + +Процедура Публичная() Экспорт +КонецПроцедуры + +Процедура Тест_ДваПлюсДва() Экспорт + +КонецПроцедуры + +Процедура Тест_ДваПлюсТри() Экспорт + +КонецПроцедуры + +Процедура Приватная() +КонецПроцедуры + diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/945f1fbd-df8f-41cd-b30a-803da0bb591a" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/945f1fbd-df8f-41cd-b30a-803da0bb591a" new file mode 100644 index 00000000..d0df2cd4 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/945f1fbd-df8f-41cd-b30a-803da0bb591a" @@ -0,0 +1,6 @@ +{1, +{2,4, +{1, +{0,0,945f1fbd-df8f-41cd-b30a-803da0bb591a},"БазовыйТест_v3_УФ", +{1,"ru","Базовый тест v3 УФ"},"",0,0} +},0} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/945f1fbd-df8f-41cd-b30a-803da0bb591a.0" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/945f1fbd-df8f-41cd-b30a-803da0bb591a.0" new file mode 100644 index 00000000..c8fa01dd --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/945f1fbd-df8f-41cd-b30a-803da0bb591a.0" @@ -0,0 +1,14 @@ +&НаКлиенте +Перем юТест1; + +&НаКлиенте +Функция ПолучитьСписокТестов(ЮнитТестирование1) Экспорт + юТест1 = ЮнитТестирование1; + ВсеТесты1 = Новый Массив; + ВсеТесты1.Добавить("Тест_ДваПлюсДва"); + Возврат ВсеТесты1; +КонецФункции + +&НаКлиенте +Процедура Тест_ДваПлюсДва() Экспорт +КонецПроцедуры diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/94ed5fcb-e54f-4e79-9818-d9c006e798df" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/94ed5fcb-e54f-4e79-9818-d9c006e798df" new file mode 100644 index 00000000..6c74990c --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/94ed5fcb-e54f-4e79-9818-d9c006e798df" @@ -0,0 +1,6 @@ +{1, +{2,1, +{1, +{0,0,94ed5fcb-e54f-4e79-9818-d9c006e798df},"ФайлСОднимТестомУФ", +{1,"ru","Файл с одним тестом УФ"},"",0,0} +},0} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/94ed5fcb-e54f-4e79-9818-d9c006e798df.0" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/94ed5fcb-e54f-4e79-9818-d9c006e798df.0" new file mode 100644 index 00000000..ac66e2b6 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/94ed5fcb-e54f-4e79-9818-d9c006e798df.0" @@ -0,0 +1,132 @@ +{1, +{#base64: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 +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANCjAwMDAwMDI2IDAwMDAwMDI2IDdmZmZm +ZmZmIA0KEJ6UDE5CAgAQnpQMTkICAAAAAAB2AGUAcgBzAGkAbwBuAAAAAAANCjAw +MDAwMDEyIDAwMDAwMjAwIDdmZmZmZmZmIA0Ke797fzUvV7WRoZmOQS0vVy0AAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAANCjAwMDAwMDI4IDAwMDAwMDI4IDdmZmZmZmZmIA0KEJ6UDE5C +AgAQnpQMTkICAAAAAAB2AGUAcgBzAGkAbwBuAHMAAAAAAA0KMDAwMDAxNDYgMDAw +MDAyMDAgN2ZmZmZmZmYgDQqNkDGOUDEMRO+SOkZOYsfOcRwnlrbZj3YREkKcjIIj +cQW8FNTUmYzfm98/f31vddVSqm1VxOjANDrQxgl254bRt3RdTKazlq/37f3leX0v +dXETa8zQ+s083wu7BQLyYr/zKgfW8vY8X0odLVimC8jAC4TKoGJ5YFxmyqfBu5Zt +YzD3AXdGZIoWrGYLOJaE2EbD/QlLleVsvDc0MgdSU9BwgnXl3Egsd/+/tlL5NDVZ +Cu75Rj4/yI7CGMcQNbaO+GddatOlxyhS+m98ZymSA1tTirM8v9UiXe4xDmDWBOy6 +QefpMKg35x7kjB8ifsa4c+YifTHQIAU7MuE6nszkaEq1xFAXSrDeOgLZzTYJh+Zn +mvRLzCtHscizqEB0s+uKJFmmcvCY3ttRTDJ/Pn97eY0nTSJLhRUO3zRpmOJrIYj1 +WEaHhNqPPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AA==} +} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/aa6a8c8d-aaf9-45a8-8df1-0acd6747775e" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/aa6a8c8d-aaf9-45a8-8df1-0acd6747775e" new file mode 100644 index 00000000..de11149f --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/aa6a8c8d-aaf9-45a8-8df1-0acd6747775e" @@ -0,0 +1,6 @@ +{1, +{2,4, +{0, +{0,0,aa6a8c8d-aaf9-45a8-8df1-0acd6747775e},"БазовыйТест_v3_УФ_ДваТеста_ИКодВокруг_Результат", +{1,"ru","Базовый тест v3 у ф два теста и код вокруг результат"},""} +},0} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/aa6a8c8d-aaf9-45a8-8df1-0acd6747775e.0" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/aa6a8c8d-aaf9-45a8-8df1-0acd6747775e.0" new file mode 100644 index 00000000..c91190b5 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/aa6a8c8d-aaf9-45a8-8df1-0acd6747775e.0" @@ -0,0 +1,68 @@ +&НаКлиенте +Перем Перем1; + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Ожидаем; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем ГенераторТестовыхДанных; +&НаКлиенте +Перем ЗапросыИзБД; +&НаКлиенте +Перем УтвержденияПроверкаТаблиц; + +&НаКлиенте +Перем Перем2; + +&НаКлиенте + +//Перем юТест; +//Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт +// +// юТест = ЮнитТестирование; +// +// ВсеТесты = Новый Массив; +// ВсеТесты.Добавить("Тест_ДваПлюсДва"); +// ВсеТесты.Добавить("Тест_ДваПлюсТри"); +// +// Возврат ВсеТесты; +// +//КонецФункции + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин("СериализаторMXL"); + ЗапросыИзБД = КонтекстЯдра.Плагин("ЗапросыИзБД"); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + НаборТестов.Добавить("Тест_ДваПлюсДва"); + НаборТестов.Добавить("Тест_ДваПлюсТри"); +КонецПроцедуры + +&НаКлиенте +Процедура Публичная() Экспорт +КонецПроцедуры + +&НаКлиенте +Процедура Тест_ДваПлюсДва() Экспорт + +КонецПроцедуры + +&НаКлиенте +Процедура Тест_ДваПлюсТри() Экспорт + +КонецПроцедуры + +&НаКлиенте +Процедура Приватная() +КонецПроцедуры + diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0/info" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/aad28daf-f05d-42da-9bf6-51e89ff6a46b.0/info" similarity index 100% rename from "src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0/info" rename to "src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/aad28daf-f05d-42da-9bf6-51e89ff6a46b.0/info" diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/bc8ef2c0-98ae-4f7b-9b02-f680f8384843" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/bc8ef2c0-98ae-4f7b-9b02-f680f8384843" new file mode 100644 index 00000000..75838cba --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/bc8ef2c0-98ae-4f7b-9b02-f680f8384843" @@ -0,0 +1,6 @@ +{1, +{2,4, +{0, +{0,0,bc8ef2c0-98ae-4f7b-9b02-f680f8384843},"БазовыйТест_v3_УФ_ДвеКавычки_Результат", +{1,"ru","Базовый тест v3 у ф две кавычки результат"},""} +},0} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/bc8ef2c0-98ae-4f7b-9b02-f680f8384843.0" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/bc8ef2c0-98ae-4f7b-9b02-f680f8384843.0" new file mode 100644 index 00000000..f39bcb00 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/bc8ef2c0-98ae-4f7b-9b02-f680f8384843.0" @@ -0,0 +1,40 @@ +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Ожидаем; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем ГенераторТестовыхДанных; +&НаКлиенте +Перем ЗапросыИзБД; +&НаКлиенте +Перем УтвержденияПроверкаТаблиц; + +//Перем юТест1; +//Функция ПолучитьСписокТестов(ЮнитТестирование1) Экспорт +// юТест1 = ЮнитТестирование1; +// ВсеТесты1 = Новый Массив; +// ВсеТесты1.Добавить(""Тест_ДваПлюсДва""); +// Возврат ВсеТесты1; +//КонецФункции + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин(""УтвержденияBDD""); + Утверждения = КонтекстЯдра.Плагин(""БазовыеУтверждения""); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин(""СериализаторMXL""); + ЗапросыИзБД = КонтекстЯдра.Плагин(""ЗапросыИзБД""); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин(""УтвержденияПроверкаТаблиц""); +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + НаборТестов.Добавить(""Тест_ДваПлюсДва""); +КонецПроцедуры + +&НаКлиенте +Процедура Тест_ДваПлюсДва() Экспорт +КонецПроцедуры + diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/ca759f78-0cac-471b-972d-06c9844ad3a2" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/ca759f78-0cac-471b-972d-06c9844ad3a2" new file mode 100644 index 00000000..7afc211d --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/ca759f78-0cac-471b-972d-06c9844ad3a2" @@ -0,0 +1,6 @@ +{1, +{2,4, +{0, +{0,0,ca759f78-0cac-471b-972d-06c9844ad3a2},"РазныйРегистр_Результат", +{1,"ru","Разный регистр результат"},""} +},0} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/ca759f78-0cac-471b-972d-06c9844ad3a2.0" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/ca759f78-0cac-471b-972d-06c9844ad3a2.0" new file mode 100644 index 00000000..35431e23 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/ca759f78-0cac-471b-972d-06c9844ad3a2.0" @@ -0,0 +1,35 @@ +Перем КонтекстЯдра; +Перем Ожидаем; +Перем Утверждения; +Перем ГенераторТестовыхДанных; +Перем ЗапросыИзБД; +Перем УтвержденияПроверкаТаблиц; + +//Перем ЮТест1; +//Функция ПолучитьСписокТестов(ЮнитТестирование1) Экспорт +// ЮТест1 = ЮнитТестирование1; +// ВсеТесты1 = Новый Массив; +// ВсеТесты1.Добавить("Тест_ДваПлюсДва"); +// Возврат ВсеТесты1; +//КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин("СериализаторMXL"); + ЗапросыИзБД = КонтекстЯдра.Плагин("ЗапросыИзБД"); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); +КонецПроцедуры + +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + НаборТестов.Добавить("Тест_ДваПлюсДва"); +КонецПроцедуры + +Процедура Тест_ДваПлюсДва() Экспорт + Утверждения.ПроверитьРавенство(2+2, 4, "2+2 = 4"); + Утверждения.ПроверитьНеРавенство(2+2, 5); + ГенераторТестовыхДанных.СоздатьДанныеПоМакетам(Объект, "Макет"); + Рез = ЗапросыИзБД.ПолучитьКоличествоЭлементовСправочникаПоОтбору("Спр", Новый Структура); +КонецПроцедуры + diff --git "a/src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/copyinfo" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/copyinfo" similarity index 100% rename from "src/Tests/CommonApp/\320\242\320\265\321\201\321\202\321\213\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\224\320\260\320\275\320\275\321\213\321\2051CUnit/und/copyinfo" rename to "src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/copyinfo" diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/da854782-15ef-4d88-8ea7-9606248465ef" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/da854782-15ef-4d88-8ea7-9606248465ef" new file mode 100644 index 00000000..5d0439c2 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/da854782-15ef-4d88-8ea7-9606248465ef" @@ -0,0 +1,6 @@ +{1, +{2,4, +{1, +{0,0,da854782-15ef-4d88-8ea7-9606248465ef},"БазовыйТест_v3_УФ_ДвеКавычки", +{1,"ru","Базовый тест v3 у ф две кавычки"},"",0,0} +},0} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/da854782-15ef-4d88-8ea7-9606248465ef.0" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/da854782-15ef-4d88-8ea7-9606248465ef.0" new file mode 100644 index 00000000..7d706143 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/da854782-15ef-4d88-8ea7-9606248465ef.0" @@ -0,0 +1,14 @@ +&НаКлиенте +Перем юТест1; + +&НаКлиенте +Функция ПолучитьСписокТестов(ЮнитТестирование1) Экспорт + юТест1 = ЮнитТестирование1; + ВсеТесты1 = Новый Массив; + ВсеТесты1.Добавить(""Тест_ДваПлюсДва""); + Возврат ВсеТесты1; +КонецФункции + +&НаКлиенте +Процедура Тест_ДваПлюсДва() Экспорт +КонецПроцедуры diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/dc252f32-bece-4b36-a154-7e1456abc42b" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/dc252f32-bece-4b36-a154-7e1456abc42b" new file mode 100644 index 00000000..2b58c602 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/dc252f32-bece-4b36-a154-7e1456abc42b" @@ -0,0 +1,6 @@ +{1, +{2,4, +{0, +{0,0,dc252f32-bece-4b36-a154-7e1456abc42b},"БазовыйТест_v3_ДваТеста_Результат", +{1,"ru","Базовый тест v3 два теста результат"},""} +},0} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/dc252f32-bece-4b36-a154-7e1456abc42b.0" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/dc252f32-bece-4b36-a154-7e1456abc42b.0" new file mode 100644 index 00000000..813a8d54 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/dc252f32-bece-4b36-a154-7e1456abc42b.0" @@ -0,0 +1,42 @@ +Перем КонтекстЯдра; +Перем Ожидаем; +Перем Утверждения; +Перем ГенераторТестовыхДанных; +Перем ЗапросыИзБД; +Перем УтвержденияПроверкаТаблиц; + +//Перем юТест; +//Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт +// +// юТест = ЮнитТестирование; +// +// ВсеТесты = Новый Массив; +// ВсеТесты.Добавить("Тест_ДваПлюсДва"); +// ВсеТесты.Добавить("Тест_ДваПлюсТри"); +// +// Возврат ВсеТесты; +// +//КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин("СериализаторMXL"); + ЗапросыИзБД = КонтекстЯдра.Плагин("ЗапросыИзБД"); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); +КонецПроцедуры + +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + НаборТестов.Добавить("Тест_ДваПлюсДва"); + НаборТестов.Добавить("Тест_ДваПлюсТри"); +КонецПроцедуры + +Процедура Тест_ДваПлюсДва() Экспорт + +КонецПроцедуры + +Процедура Тест_ДваПлюсТри() Экспорт + +КонецПроцедуры + diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/e5530449-dd2d-4841-821e-38808447be38" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/e5530449-dd2d-4841-821e-38808447be38" new file mode 100644 index 00000000..59d48c28 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/e5530449-dd2d-4841-821e-38808447be38" @@ -0,0 +1,17 @@ +{1, +{e5530449-dd2d-4841-821e-38808447be38},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,57ce6eef-6a19-4072-ac8d-1e182077323a,884bd83a-385d-4381-a7cd-4b51de43f593, +{0, +{0, +{0,0,aad28daf-f05d-42da-9bf6-51e89ff6a46b},"Тест_КонвертацияТестов_в_версию4", +{1,"ru","Тест конвертация тестов в версию4"},""} +},00000000-0000-0000-0000-000000000000,"",00000000-0000-0000-0000-000000000000},4, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, +{3daea016-69b7-4ed4-9453-127911372fe6,23,908b5599-e977-4e6c-8401-3f12bf12e2a3,165fbf6e-41ca-41fa-9329-f226fbf60fcf,594174ed-87e8-4b21-b5c2-4b9936964fbe,dc252f32-bece-4b36-a154-7e1456abc42b,0820522a-cd7b-498a-8767-4a1a17c6a313,9445dc5b-81cf-4d1e-9e20-07042b93755a,8b6e0649-e316-4007-95d6-0240e751b4e0,94ed5fcb-e54f-4e79-9818-d9c006e798df,e71cb439-e78b-48d4-90ca-3055c334364b,945f1fbd-df8f-41cd-b30a-803da0bb591a,5f1fcb9b-1780-4484-8c6f-b54997875be3,da854782-15ef-4d88-8ea7-9606248465ef,bc8ef2c0-98ae-4f7b-9b02-f680f8384843,e9fbe396-a267-46f4-8472-0e03be464c2a,5b867d65-eb17-4da4-9cbd-850c1dd2585b,eaaa971d-cd10-4a58-ac2c-453a08f3e31c,aa6a8c8d-aaf9-45a8-8df1-0acd6747775e,5bea2e8a-f556-4c03-8234-4590f8041b1d,0074f89e-172f-4cb5-9d37-90f51ebfdf83,7763d64e-6a6b-4a34-af48-d041bc88e244,ca759f78-0cac-471b-972d-06c9844ad3a2,267c63bb-1a07-4f2a-80b7-e1ed526a9d8e,1facde36-00e4-442d-b52c-0c8e26d731fe}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} +} +} +} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/e71cb439-e78b-48d4-90ca-3055c334364b" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/e71cb439-e78b-48d4-90ca-3055c334364b" new file mode 100644 index 00000000..9b864760 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/e71cb439-e78b-48d4-90ca-3055c334364b" @@ -0,0 +1,6 @@ +{1, +{2,1, +{0, +{0,0,e71cb439-e78b-48d4-90ca-3055c334364b},"v8unpack", +{1,"ru","V8unpack"},""} +},0} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/e71cb439-e78b-48d4-90ca-3055c334364b.0" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/e71cb439-e78b-48d4-90ca-3055c334364b.0" new file mode 100644 index 00000000..4dfae103 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/e71cb439-e78b-48d4-90ca-3055c334364b.0" @@ -0,0 +1,16675 @@ +{1, +{#base64:TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5v +dCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAABQRQAATAEIAAAAAAAAAAAA +AAAAAOAADwMLAQIYAJoIAAAyDAAADgAAcBUAAAAQAAAAsAgAAABAAAAQAAAAAgAA +BAAAAAEAAAAEAAAAAAAAAACQDAAABAAAWhwNAAMAAAAAACAAABAAAAAAEAAAEAAA +AAAAABAAAAAAAAAAAAAAAABgDAAEDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAwAGAAAAAAAAAAAAAAA +AAAAAAAAAABsYgwAHAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAA +gJgIAAAQAAAAmggAAAQAAAAAAAAAAAAAAAAAAGAAUGAuZGF0YQAAAPxiAAAAsAgA +AGQAAACeCAAAAAAAAAAAAAAAAABAAGDALnJkYXRhAADExgAAACAJAADIAAAAAgkA +AAAAAAAAAAAAAAAAQABgQC5laF9mcmFt4FcCAADwCQAAWAIAAMoJAAAAAAAAAAAA +AAAAAEAAMEAuYnNzAAAAAEAMAAAAUAwAAAAAAAAAAAAAAAAAAAAAAAAAAACAAGDA +LmlkYXRhAAAEDgAAAGAMAAAQAAAAIgwAAAAAAAAAAAAAAAAAQAAwwC5DUlQAAAAA +GAAAAABwDAAAAgAAADIMAAAAAAAAAAAAAAAAAEAAMMAudGxzAAAAACAAAAAAgAwA +AAIAAAA0DAAAAAAAAAAAAAAAAABAADDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +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 +////x4Xs/v//DKJJAMeF8P7//wAAAADHhWD///+w2UkA6FqZBwCLheT9//+NWPSB ++2AMSQAPhSUBAACNZfSJ8FteX13Dvsz////p8P7//5CJRCQMjbXs/f//jQRKiXQk +CIlEJASJFCTo80oCAIu17P3//+lY/P//iUQkDAHRjYXk/f//iUQkCIlMJASJFCTo +XEgCAOnS+///jbQmAAAAAIlEJAyNhfD9//+JRCQIjQRKiUQkBIkUJOijSgIAi7Xw +/f//6YD9//+JRCQMAdGNhej9//+JRCQIiUwkBIkUJOgMSAIA6eX8//+NtCYAAAAA +A0j0i0EUg8gEiQQk6D+mBwDpcPz//wNI9ItBFIPIBIkEJOgppgcA6cj9//+NdCYA +vs3////pjv7//4M9AFFMAAAPhcEAAACLUPyNSv+JSPyJ0IXAD49u/v//jYXw/f// +ifmJBCTo1oMFAFDpWP7//4M9AFFMAAAPhZgAAACLUPyNSv+JSPyJ0IXAD4+7/v// +jYXw/f//idmJBCTooIMFAFDppf7//4M9AFFMAAB1dotQ/I1K/4lI/InQhcAPj9z7 +//+NhfT9//+J8YkEJOge9AUAUOnG+///gz0AUUwAAHVRi1D8jXL/iXD8idCFwA+P +GP3//4217P3//4k0JOju8wUAUekE/f//g+gE6E4dCADpPf///4PoBOhBHQgAjXYA +6WP///+D6AToMR0IAI12AOuIg+gEiY3U/f//6B4dCACLjdT9///rpMeF9P3//4yi +SQCJw8eFZP7//6CiSQCLhfD9//+Ntez9//+JNCSNSPTom/MFAFKNjWT+///HhWT+ +//+w2UkA6AWXBwCLhej9//+JNCSNSPToxIIFAFCNjez+///omJ4DAIuF5P3//41I +9I2F4P3//4kEJOihggUAUIkcJOhIFQMAicPrkonDi4Xo/f//jUj0jYXi/f//iQQk +6HuCBQBX67WJxonZ6M9TBgCJ8MeF7P7//wyiSQCJw8eFYP///yCiSQDHhfD+//8A +AAAAi4Xs/f//jUj0jYX0/f//iQQk6ObyBQBQjY1g////x4Vg////sNlJAOhQlgcA +6WP////rrInDjbQmAAAAAOvBjY30/f//icONtez9///oG58DAOkh////icONtez9 +///p//7//4nDjY0U/v//x4X4/f//6NBJAI217P3//+gMbgcAjY1k/v//x4X0/f// +jKJJAMeFZP7//7DZSQDo3ZUHAOnT/v//icONtez9///pxv7//42NHP///4nD6B41 +BgCNjRD////HhfT+///o0EkA6LltBwCNjWD////Hhez+//8MokkAx4Xw/v//AAAA +AMeFYP///7DZSQDogJUHAOmT/v//jY0g/v//icPozjQGAOlS////icPrp4nDjXYA +6XP+//+Jw4uF7P3//41I9I2F4f3//4kEJOjC8QUAUOnX/v//icOLhfD9//+NSPSN +heP9//+JBCToo/EFAFaNtez9///p/f3//4nDifnoPlIGAInY6b/9//+Jw+mb/v// +icOLheT9//+NSPSNhez+///pEf7//412AI28JwAAAABVuFyAAACJ5VdWU+jw5gIA +KcSNnbB////HRCQMOAAAAMdEJAiAIEkAx0QkBPH///+JHCTHhdB///8AAAAAx4XU +f///AAAAAMeF2H///wAAAADHhbR///8AAAAAx4Wwf///AAAAAOiGAAEAhcCJxw+F +lQAAAI216H///4tNCMdEJAQAQAAAiTQk6NO1BQCLVQiLCotABIPsCImFtH///4tJ +9PZEChQBD4XEAAAAhcAPhMsAAACJtbB///+Nhei////HRCQEAAAAAIkcJMeFwH// +/wBAAACJhbx////osAMBAIP4/onHD4StAAAAg/j8fCGD+P1+CoP4AnUXv/3///+J +HCToqSgBAIn4jWX0W15fXcO4AEAAAItNDCuFwH///4lEJASNhei///+JBCToj9QF +AItFDItVDIsAg+wIi0D09kQCFAF1KouFwH///4XAD4Rm////g/8BD4Ud////iRwk +6EsoAQAxwOugjbQmAAAAAIkcJOg4KAEAuP/////riokcJOgpKAEAMcCD/wEPlMCN +RED96XH////HRCQI3QAAAMdEJASGIEkAxwQklSBJAOh0jwMAjbYAAAAAjb8AAAAA +VYnlV1ZTgew8AgAAx4Xk/f//bAxJAOhVCgIAi1UIixKLSvSFyQ+FHQQAAI2NYP// +/+hakgcAx4Vg////sNlJAMdF0AAAAADGRdQAxkXVAMdF2AAAAADHRdwAAAAAx0Xg +AAAAAMdF5AAAAADoAAoCAIuV5P3//758DEkAx4Xs/f//fAxJAItK9IXJD4WQAwAA +xwQkAAAAAI2NYP///8eF7P7//wyiSQDHhWD///8gokkAx4Xw/v//AAAAAOjQnwcA +jZ30/v//g+wEidnHhez+//9MokkAx4Vg////YKJJAOjMTAYAi4Xs/v//jY3s/v// +A0j0iRwk6JWfBwCD7ASJ2cdEJAQMAAAAiTQk6FA5BgCD7AiFwIuF7P7//42N7P7/ +/w+EmQMAAANI9McEJAAAAADoqp8HAIuF7P3//4PsBI1w9IH+cAxJAA+FGAQAAPaF +dP///wXHhez+//+MxkkAx4Vg////oMZJAA+FgQMAAMeF6P3//2wMSQDo8ggCAItV +DIsSi0r0hckPhQoDAACNjWT+///o95AHAMeFZP7//7DZSQDHhdT+//8AAAAAxoXY +/v//AMaF2f7//wDHhdz+//8AAAAAx4Xg/v//AAAAAMeF5P7//wAAAADHhej+//8A +AAAA6IgIAgCLlej9//+/fAxJAMeF8P3//3wMSQCLSvSFyQ+FaAIAAMcEJAAAAACN +jWT+///HhfT9//+MokkAx4Vk/v//oKJJAOhingcAjbX4/f//g+wEifHHhfT9///M +okkAx4Vk/v//4KJJAOheSwYAi4X0/f//jY30/f//A0j0iTQk6CeeBwCD7ASJ8cdE +JAQUAAAAiTwk6OI3BgCD7AiFwIuF9P3//42N9P3//w+EQQIAAANI9McEJAAAAADo +PJ4HAIuF8P3//4PsBI1I9IH5cAxJAA+F3AIAAPaFeP7//wXHhfT9///MxkkAx4Vk +/v//4MZJAA+FMwEAAI2F9P3//4lEJASNhez+//+JBCToS/v//4P4/b+3////dAqD ++AEZ//fXg+e6ifHHhfT9///MokkAx4Vk/v//4KJJAMeF+P3//+jMSQDogjgGAI2N +IP7//+hHLwYAjY0U/v//x4X4/f//6NBJAOjiZwcAjY1k/v//x4X0/f//jKJJAMeF +ZP7//7DZSQDos48HAIuF6P3//41w9IH+YAxJAA+FeAEAAInZx4Xs/v//TKJJAMeF +YP///2CiSQDHhfT+///ozEkA6Ak4BgCNjRz////ozi4GAI2NEP///8eF9P7//+jQ +SQDoaWcHAI2NYP///8eF7P7//wyiSQDHhfD+//8AAAAAx4Vg////sNlJAOgwjwcA +i4Xk/f//jVj0gftgDEkAD4UrAQAAjWX0ifhbXl9dw5C/uP///+nv/v//jbYAAAAA +iUQkDI297P3//40ESol8JAiJRCQEiRQk6MNAAgCLtez9///pSPz//4lEJAwB0Y2F +5P3//4lEJAiJTCQEiRQk6Cw+AgDpwvv//420JgAAAACJRCQMjYXw/f//iUQkCI0E +SolEJASJFCToc0ACAIu98P3//+lw/f//iUQkDAHRjYXo/f//iUQkCIlMJASJFCTo +3D0CAOnV/P//jbQmAAAAAANI9ItBFIPIBIkEJOgPnAcA6WD8//8DSPSLQRSDyASJ +BCTo+ZsHAOm4/f//jXQmAL+5////6Yj+//+DPQBRTAAAD4XBAAAAi1D8jUr/iUj8 +idCFwA+PaP7//42F8P3//4nxiQQk6KZ5BQBR6VL+//+DPQBRTAAAD4WYAAAAi1D8 +jUr/iUj8idCFwA+Ptf7//42F8P3//4nZiQQk6HB5BQBS6Z/+//+DPQBRTAAAdXaL +UPyNSv+JSPyJ0IXAD4/M+///jYX0/f//ifGJBCTo7ukFAFDptvv//4M9AFFMAAB1 +UYtQ/I16/4l4/InQhcAPjwj9//+Nvez9//+JPCTovukFAFfp9Pz//4PoBOgeEwgA +6T3///+D6AToERMIAI12AOlj////g+gE6AETCACNdgDriIPoBImN1P3//+juEggA +i43U/f//66THhfT9//+MokkAicPHhWT+//+gokkAi4Xw/f//jb3s/f//iTwkjUj0 +6GvpBQBWjY1k/v//x4Vk/v//sNlJAOjVjAcAi4Xo/f//iTwkjUj06JR4BQBQjY3s +/v//6GiUAwCLheT9//+NSPSNheD9//+JBCTocXgFAFCJHCToGAsDAInD65KJw4uF +6P3//41I9I2F4v3//4kEJOhLeAUAUOu1icaJ2eifSQYAifDHhez+//8MokkAicPH +hWD///8gokkAx4Xw/v//AAAAAIuF7P3//41I9I2F9P3//4kEJOi26AUAUI2NYP// +/8eFYP///7DZSQDoIIwHAOlj////66yJw420JgAAAADrwY2N9P3//4nDjb3s/f// +6OuUAwDpIf///4nDjb3s/f//6f/+//+Jw42NFP7//8eF+P3//+jQSQCNvez9///o +3GMHAI2NZP7//8eF9P3//4yiSQDHhWT+//+w2UkA6K2LBwDp0/7//4nDjb3s/f// +6cb+//+NjRz///+Jw+juKgYAjY0Q////x4X0/v//6NBJAOiJYwcAjY1g////x4Xs +/v//DKJJAMeF8P7//wAAAADHhWD///+w2UkA6FCLBwDpk/7//42NIP7//4nD6J4q +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 +BMeF1Oz//wAAAACJBCToLdT//42F8O3//4lEJAyLhdDs///Hhfjs//8AAAAAx4Xw +7f//AAAAAIlEJAiNhfjs//+JRCQEi4XU7P//iQQk6F3O//+FwInGD4UlAQAAi4XU +7P//hcB0CIkEJOihzgcAi4XQ7P//i7347P//iUQkBIk8JOgJ2P//hMAPhCkBAACL +hfDt//+Nnejv///HRCQMAAAAAInZx0QkCAAAAACJPCSJRCQEx4Xo7///qMRJAMeF +/O///wAAAADHhQDw//8AAAAAx4UE8P//AAAAAMeFCPD//wAAAADHhQzw//8AAAAA +x4UQ8P//AAAAAMaFFPD//wHoavL//4PsEOiizwEAi30Qx4Xs7v//fAxJAIsXjb3s +7v//ib2E7P//i0r0hckPhdAHAACLhYTs//+J2YkEJOjc2P//i5Xs7v//g+wEjXr0 +gf9wDEkAD4XmEgAAidnordD//4nZ6Ia3//+Lhfjs//+JBCToaFQDAI1l9InwW15f +XcOLvdTs//+LhdDs///HhdTs//8AAAAAiTwkiUQkBIm9+Oz//4mF8O3//+jg1v// +hMAPhdf+//+NhVjw//+JwYmFfOz//+gFVwcAx4VY8P//sNlJAMeFyPD//wAAAADG +hczw//8AxoXN8P//AMeF0PD//wAAAADHhdTw//8AAAAAx4XY8P//AAAAAMeF3PD/ +/wAAAADols4BAIt9EMeF7O7//3wMSQCLF798DEkAi0r0hckPhTcHAACLjXzs///H +BCQAAAAAx4Xo7///jKJJAMeFWPD//6CiSQDocWQHAI2F7O///4PsBInBx4Xo7/// +zKJJAMeFWPD//+CiSQCJhYDs///oZxEGAIuF6O///42d6O///4tI9IuFgOz//wHZ +iQQk6ChkBwCLjYDs//+D7ATHRCQEFAAAAIk8JOjf/QUAg+wIhcCLhejv//+J2Q+E +zgcAAANI9McEJAAAAADoPWQHAIuV7O7//4PsBI169IH/cAxJAA+FphMAAIuF8O3/ +/4nZx4Xo7///zMZJAMeFWPD//+DGSQCJRCQEi4X47P//iQQk6BeXBQCLjYDs//+D +7AjHhejv///MokkAx4VY8P//4KJJAMeF7O///+jMSQDom/4FAI2NFPD//+hg9QUA +jY0I8P//x4Xs7///6NBJAOj7LQcAi4187P//x4Xo7///jKJJAMeFWPD//7DZSQDo +zFUHAOnR/f//jbQmAAAAAI2FWPD//4nGicGJhXzs///oG1UHAInxxwQkAAAAAMeF +yPD//wAAAADGhczw//8AxoXN8P//AMeF0PD//wAAAADHhdTw//8AAAAAx4XY8P// +AAAAAMeF3PD//wAAAADHhejv//+MokkAx4VY8P//oKJJAOi5YgcAjYXs7///g+wE +icGJxseF6O///8yiSQDHhVjw///gokkAiYWA7P//6K0PBgCLhejv//+Nnejv//+L +SPSJNCQB2eh0YgcAg+wEx4Xo7///zMZJAMeFWPD//+DGSQDoOMwBAIuVoOz//7l8 +DEkAx4Xs7v//fAxJAIty9IX2D4WIBAAAiQwki42A7P//x0QkBBQAAADo8vsFAIPs +CIXAi4Xo7///idkPhJQGAAADSPTHBCQAAAAA6FBiBwCLlezu//+D7ASNcvSB/nAM +SQAPhQ8QAACNhfjs//+JRCQMi0UIiVwkCIl8JATHhfjs//8AAAAAiQQk6NHQ//+L +jYDs///o1vwFAIXAD4QkBQAAjYW47P//jbWg7P//icGJNCSJhXTs///o8kgFAIuN +gOz//4PsBMeF6O///8yiSQDHhVjw///gokkAx4Xs7///6MxJAOiG/AUAjY0U8P// +6EvzBQCNjQjw///Hhezv///o0EkA6OYrBwCLjXzs///Hhejv//+MokkAx4VY8P// +sNlJAOi3UwcAMfboAMsBAIuVuOz//7l8DEkAx4Xo7///fAxJAIt69IX/D4U4BAAA +iQwkjY347f//x0QkBAwAAADouvoFAIPsCIXAi4Xw7f//jY3w7f//D4QzBAAAA0j0 +xwQkAAAAAOgUYQcAi5Xo7///g+wEjVr0gftwDEkAD4WwDAAAjYXw7f//iQQk6B7R +//+EwA+EtgEAAMeF6O///6jESQCNnejv///Hhfzv//8AAAAAx4UA8P//AAAAAMeF +BPD//wAAAADHhQjw//8AAAAAx4UM8P//AAAAAMeFEPD//wAAAADGhRTw//8B6B7K +AQCLfRDHhbzs//98DEkAixeNvbzs//+LSvSFyQ+FDgMAAIuFeOz//42d6O///8dE +JBAAAAAAidnHRCQMAAAAAIk8JIlEJAiNhfDt//+JRCQE6AoQAACLlbzs//+D7BSN +evSB/3AMSQAPhTwKAACNjfjt///o5/oFAIXAD4S3AwAAidno+Mr//4uFdOz//8dE +JAQAAAAAiQQk6MKZAQCJ2ei7sf//i5W47P//jXr0gf9gDEkAD4UqDwAAi5Ws7P// +jXr0gf9gDEkAD4XtCgAAi5Wg7P//jXr0gf9gDEkAD4X4BQAAjY347f//x4Xw7f// +TKJJAMeFZO7//2CiSQDHhfjt///ozEkA6FP6BQCNjSDu///oGPEFAI2NFO7//8eF ++O3//+jQSQDosykHAI2NZO7//8eF8O3//wyiSQDHhfTt//8AAAAAx4Vk7v//sNlJ +AOh6UQcAjWX0ifBbXl9dw42N+O3//+j1+QUAhcAPhLUCAADHhejv//8AAAAA6G4g +AgCJhezv//+LRRCNnejv//+JXCQIiUQkBIuFdOz//4kEJOipRAEA6fn+//+NdCYA +jY207P//AdCJXCQMiUwkCIlEJASJFCTodAACAIuVyOz//+k18v//jY2o7P//AdCJ +XCQMiUwkCIlEJASJFCToTQACAIuVwOz//+kw8f//ZpCLjYTs///HRCQIAAAAAMcE +JAAAAADHRCQEAAAAAOhOdQUAg+wMjZ3o7///6xCNdgD2hXTv//8FD4Xn9f//i42E +7P//x0QkBAAQAACJHCTo/XEFAItABIPsCIXAdNOJRCQEjY347P//iRwk6EGRBQCD +7AjrvIlEJAyNBEqJfCQIiUQkBIkUJOglAgIA6RT4//+JRCQMi4WE7P//iRQkiUQk +CI0EcolEJAToAwICAIuN7O7//+lQ+///iUQkDI2F1Oz//4lEJAiNBEqJRCQEiRQk +6NsBAgCLndTs///pUPT//4lEJAyNhezu//+JRCQIjQRKiUQkBIkUJOizAQIAi73s +7v//6aH4//+JRCQMjYXM7P//iUQkCI0EWolEJASJFCToiwECAIuNzOz//+l58v// +iUQkDI0ESol8JAiJRCQEiRQk6GkBAgDp1vz//410JgCJRCQMjYXQ7P//iUQkCI0E +WolEJASJFCToQwECAIuN0Oz//+nq8v//iUQkDI2d6O///40EeolcJAiJRCQEiRQk +6BsBAgCLjejv///poPv//wNI9ItBFIPIBIkEJOjfXAcA6cb7//+Lhejv//+LSPQB +2YtBFIPIBIkEJOjBXAcAg+wE6bv6//+Lhfjs//+Njfjs//8DSPSLQRSDyASJBCTo +nFwHAIPsBOlg9P//A0j0i0EUg8gEiQQk6INcBwDpxPP//wNI9ItBFIPIBIkEJOht +XAcA6Sv4//+NjfDt///oDa7//+k7/f//jY3w7f//6P2t///pOfz//wNI9ItBFIPI +BIkEJOg3XAcA6Yfx//+Lhfjs//+Njfjs//8DSPSLQRSDyASJBCToFVwHAIPsBOm6 +8f//A0j0i0EUg8gEiQQk6PxbBwDpBfL//420JgAAAACLhezu//+LjYTs//8DSPSL +QRSDyASJBCTo01sHAIPsBOlu8///A0j0i0EUg8gEiQQk6LpbBwDpZfn//4nDi4Xo +7///jUj0jYWe7P//iQQk6FyqBQBWi4W47P//jUj0jYX47P//iQQk6JQ5BQBQi4Ws +7P//jUj0jYX47P//iQQk6Hw5BQBQi4Wg7P//jUj0jYXE7P//iQQk6GQ5BQBQjY3w +7f//6DhVAwCJHCToAMwCAInDi4XM7P//jUj0jYWX7P//iQQk6OepBQBQjY347P// +6EtWAwDpe////4nDi4Xs7v//jUj0jYXM7P//iQQk6L2pBQBWi4187P//x4VY8P// +sNlJAOgnTQcAiRwk6J/LAgCJw4uF1Oz//41I9I2Fmuz//4kEJOiGqQUAUI2NYO// +/8eFYO///7DZSQDo8EwHAOuIicaLhezu//+NSPSNhZzs//+JBCToVakFAFCJ2Ynz +6LtVAwDp6/7//4nDi4XQ7P//jUj0jYWZ7P//iQQk6C2pBQBR6UH///+JxouFvOz/ +/42d6O///41I9I2Fn+z//4kEJOgIqQUAUInZifPoDqz//+me/v//i42A7P//icPo +nAkGAInYx4Xo7///jKJJAInDi4187P//x4VY8P//sNlJAOhJTAcA6Wn+//+NjRzv +//+Jw+iX6wUAjY0Q7///x4X07v//6NBJAOgyJAcAjY1g7///x4Xs7v//DKJJAMeF +8O7//wAAAADHhWDv//+w2UkA6PlLBwDpjv7//4M9AFFMAACNQvx1dItC/I1I/4lK +/IXAD4/r+f//iRwkifnofTcFAFDp2/n//42NIO7//4nD6BrrBQCNjRTu///Hhfjt +///o0EkA6LUjBwCNjWTu///HhfDt//8MokkAx4X07f//AAAAAMeFZO7//7DZSQDo +fEsHAIkcJOj0yQIA6D3RBwDrjonD66+J9o28JwAAAADp8f7//4nGi4Xs7v//jUj0 +jYXM7P//iQQk6MKnBQBXidnoyqr//4k0JOiyyQIAicOLhcDs//+NSPSNhejv//+J +BCTomacFAFCLhajs//+NSPSNhZLs//+JBCTo0TYFAFDpaP3//4nDi4XI7P//jUj0 +jYXo7///iQQk6GKnBQBRi4W07P//jUj0jYWU7P//iQQk6Jo2BQBS6Rn9//+Jw42N +ZO7//8eFZO7//7DZSQDorUoHAIkcJOglyQIAgz0AUUwAAI1C/HVai1r8jUP/iUL8 +idiFwA+PSuz//42d6O///4kcJOgoNgUAUOk27P//gz0AUUwAAI1C/HU6i1r8jUP/ +iUL8idiFwA+PAuz//42d6O///4kcJOj1NQUAUOnu6///iY2A7P//6ALQBwCLjYDs +///rnomNgOz//+jvzwcAi42A7P//676JxouF+Oz//41I9I2Flez//4kEJOjQNQUA +UIuFsOz//42d6O///4kcJI1I9Oi4NQUAUIuFtOz//4kcJInzjUj06KQ1BQBQ6SP8 +//+JxuvLicPp4v7//4M9AFFMAACNQvx1ZIta/I1D/4lC/InYhcAPj33r//+Nnejv +//+JHCToRjUFAFDpaev//4nGjZ3o7///65+DPQBRTAAAjUL8dTqLWvyNQ/+JQvyJ +2IXAD4+y6v//jZ3o7///iRwk6LmlBQBT6Z7q//+JjYDs///oFs8HAIuNgOz//+uU +iY2A7P//6APPBwCLjYDs///rvoM9AFFMAACNQvx1Wota/I1D/4lC/InYhcAPjwnq +//+Nnejv//+JHCTosDQFAFDp9en//4M9AFFMAACNQvx1Oota/I1D/4lC/InYhcAP +j8Hp//+Nnejv//+JHCTofTQFAFDpren//4mNgOz//+iKzgcAi42A7P//656JjYDs +///od84HAIuNgOz//+u+gz0AUUwAAI1C/HUsi1r8jUP/iUL8idiFwA+PU+n//42d +6O///4kcJOgkNAUAUOk/6f//6RP7//+JjYDs///oLM4HAIuNgOz//+vMicaJ2eg9 +UQMAiTQk6MXGAgCJxouFvOz//41I9IuFhOz//4kEJOispAUAUOmf+///gz0AUUwA +AI1C/HVGi0L8jUj/iUr8hcAPj6f1//+LhYTs//+J+YkEJOhZpAUAUOmR9f//icOL +hdTs//+NSPSNhejv//+JBCToWqQFAFDpz/r//+idzQcA67zHhezu//8MokkAicPH +hWDv//8gokkAx4Xw7v//AAAAAOu6icPpn/r//4nG6cn6//+DPQBRTAAAjUL8D4Xg +AAAAi0r8jUH/iUL8iciFwA+PmOz//42d6O///4nxiRwk6MqjBQBQ6YLs//+LjYTs +//+Jw+gHTwMA6ez5///Hhfjs//+MokkAicONjWjt///HhWjt//+w2UkA6DFHBwDp +Ufn//4nDjY387P//6E8EBgCJ2OvJicPprvn//4M9AFFMAACNQvx1bYtC/I1I/4lK +/IXAD4/29P//iRwkifnonTIFAFDp5vT//4uNgOz//4nD6AoEBgCJ2MeF6O///4yi +SQCJw8eFWPD//6CiSQDpafn//4nDifno5AMGAInY6eD+///odswHAOkh////icOQ +6VX////oZMwHAI22AAAAAOuP67SDPQBRTAAAjUL8dWeLSvyNQf+JQvyJyIXAD48x +8///i4WE7P//idmJBCTovaIFAFPpG/P//4nDi4Xo7///jUj0jYWd7P//iQQk6L6i +BQBR6V34//+Jw4uF0Oz//41I9I2FmOz//4kEJOifogUAUOmz+P//6OLLBwCNdCYA +65mJxumA+f//gz0AUUwAAI1C/HV7i0r8jUH/iUL8iciFwA+Pzun//42d6O///4nx +iRwk6DiiBQBS6bjp//+Jw+lt+f//icaLhcTs//+NSPSNhZPs//+JBCTogjEFAFCL +haTs//+Nnejv//+JHCSNSPToajEFAFGLhajs//+JHCSJ841I9OhWMQUAUunt9/// +6EnLBwDriYnG6TH6//+Jw4uFzOz//41I9I2Fluz//4kEJOjZoQUAVunt9///gz0A +UUwAAI1C/HVci0r8jUH/iUL8iciFwA+PYej//42d6O///4nxiRwk6IShBQBQ6Uvo +//+DPQBRTAAAjUL8dTSLQvyNSP+JSvyFwA+P/ez//42FzOz//4n5iQQk6FGhBQBQ +6efs///otMoHAI22AAAAAOui6KfKBwDrzonGi4Xs7v//jUj0jYWb7P//iQQk6D6h +BQBX6eT3///pWPn//4nDkOlv9///icONjQjw///Hhezv///o0EkA6KQcBwCLjXzs +///Hhejv//+MokkAx4VY8P//sNlJAOh1RAcA6ZX2//+Jw+mO9v//gz0AUUwAAI1C +/A+FhAAAAItK/I1B/4lC/InIhcAPj87v//+Nhfjs//+J8YkEJOiWoAUAUOm47/// +jY0U8P//icPog+MFAOl1////jY0U8P//icPoceMFAI2NCPD//8eF7O///+jQSQDo +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 +iUQkDI2F0Pv//4lEJAiNBEqJRCQEiRQk6GPgAQCLndD7///p4vz//4lEJAwB0Y2F +uPv//4lEJAiJTCQEiRQk6MzdAQDpR/z//420JgAAAACJ8egZnwMAiwaJ8ccEJAoA +AAD/UBiD7ATpTf///412AMdEJAgiAAAAx0QkBHAiSQDHBCRgDkkA6NRVBwChYA5J +AItA9IuY3A5JAIXbD4V5/f//6KlcBwCJ+eiC1gUAhcAPhJMKAACLtZz7//+LjaT7 +///HRCQMAAAAAMdEJAgAAAAAiVwkBIk0JOjSx///g+wQicOJNCTodaMHAIP7zQ+E +rAkAAMeFvPv//2wMSQDo7aQBAIt1DI2dvPv//4sWi0r0hckPhRMDAADHRCQEAAAA +AIkcJOjHRQEAi5W8+///D7bwjVr0gftgDEkAD4VuDAAAhfYPhR8DAACLRQyNjcD7 +//+JBCToJqAFAIPsBMdEJAQLAAAAjY3A+///xwQkuyJJAOjJjQUAg+wIx4XE+/// +bAxJAOhnpAEAi5XA+///i0r0hckPha0CAACNjWT8///oaywHAMeFZPz//7DZSQDH +hdT8//8AAAAAxoXY/P//AMaF2fz//wDHhdz8//8AAAAAx4Xg/P//AAAAAMeF5Pz/ +/wAAAADHhej8//8AAAAA6PyjAQCLlcT7//+7fAxJAMeF1Pv//3wMSQCLSvSFyQ+F +8AgAAMcEJAAAAACNjWT8///HhfT7//+MokkAx4Vk/P//oKJJAOjWOQcAg+wEjY34 ++///x4X0+///zKJJAMeFZPz//+CiSQDo1OYFAIuF9Pv//42N9Pv//wNI9I2F+Pv/ +/4kEJOiXOQcAg+wEx0QkBBQAAACNjfj7//+JHCToTtMFAIPsCIXAi4X0+///jY30 ++///D4Q5CgAAA0j0xwQkAAAAAOioOQcAi5XU+///g+wEjVr0gftwDEkAD4VRDQAA +i5XE+///x4X0+///zMZJAMeFZPz//+DGSQCNWvSB+2AMSQAPhfMMAAD2hXj8//8F +D4TUAQAAx0QkCCcAAADHRCQEyCJJAMcEJGAOSQDoPlMHAKFgDkkAi0D0i5jcDkkA +hdsPhCEOAACAexwAD4SCCAAAD7ZDJw++wLlgDkkAiQQk6DpnBQCD7ASJwehwaAUA +ifONjfj7///HhfT7///MokkAx4Vk/P//4KJJAMeF+Pv//+jMSQDopdMFAI2NIPz/ +/+hqygUAjY0U/P//x4X4+///6NBJAOgFAwcAjY1k/P//x4X0+///jKJJAMeFZPz/ +/7DZSQDo1ioHAIuVwPv//41y9IH+cAxJAA+Eafr//4M9AFFMAACNQvwPheoMAACL +QvyNSP+JSvyFwA+PSPr//42F4Pv//4nxiQQk6PCGBQBQ6TL6//8DSPSLQRSDyASJ +BCToOTgHAOmE+f//AdGJRCQMiVwkCIlMJASJFCToztkBAOnS/P//iUQkDAHRjYXE ++///iUQkCIlMJASJFCTordkBAOky/f//6KsmAwCDOAIPhdP8///HRCQILAAAAMdE +JAQAI0kAxwQkYA5JAOjOUQcAoWAOSQCLQPSLmNwOSQCF2w+EhwwAAIB7HAAPhHoG +AAAPtkMnD77AuWAOSQCJBCToymUFAIPsBInB6ABnBQC7AQAAAOlu+f//i7Wk+/// +jY30+///x0QkBBAAAACJ8IPABIkEJOiFagUAg+wIjY30+///6Od0BgCLTiS6H4Xr +UYteIInIKdjB+AJpwPHw8PD34omVlPv//8GtlPv//wSLhZT7//+FwA+VwInGiIWi ++///D7aFmPv//4nyINCIhaH7//8PhaQGAAA52Q+EDAYAAIuFlPv//8eFnPv//wAA +AACNBIABwImFmPv//412AItDBI1w7DHAg+b+dByNdgCLEw+2TAIUicKDwALR6jnw +iIwV6P3//3Lni0UQhcB0HY2F6P3//4lEJASLRRCJBCTocyUDAIXAD4UWAwAAi0UM +jY3A+///iQQk6AKOBQCD7ATHRCQEAQAAAI2NwPv//8cEJBYhSQDoRYkFAIPsCI2V +6P3//4sKg8IEjYH//v7+99EhyCWAgICAdOqJwcHpEKmAgAAAD0TBjUoCD0TRAMCD +2gONhej9//8pwolUJASNjcD7//+JBCTo9IgFAIPsCMdEJAQHAAAAjY3A+///xwQk +8CJJAOjXiAUAg+wIx4XI+///bAxJAOh1nwEAi5XA+///i0r0hckPhRQDAADoX58B +AIuVyPv//7l8DEkAx4XY+///fAxJAIty9IX2D4XDAgAAiQwkjY34+///x0QkBBQA +AADoGc8FAIPsCIXAi4X0+///jY30+///D4RMAwAAA0j0xwQkAAAAAOhzNQcAi5XY ++///g+wEjXL0gf5wDEkAD4WTCgAAi5XI+///jXL0gf5gDEkAD4VJCgAA9oV4/P// +BQ+FDgUAAItDBI2N9Pv//4lEJASLA4kEJOhCaAUAg+wIjY34+///6OTPBQCFwA+E +7AIAAItFDI2NwPv//4kEJOh7jAUAg+wEx0QkBAEAAACNjcD7///HBCQWIUkA6L6H +BQCD7AiNlej9//+LCoPCBI2B//7+/vfRIcglgICAgHTqicHB6RCpgIAAAA9EwY1K +Ag9E0QDAg9oDjYXo/f//KcKJVCQEjY3A+///iQQk6G2HBQCD7AjHRCQEBQAAAI2N +wPv//8cEJPgiSQDoUIcFAIPsCMeFzPv//2wMSQDo7p0BAIuVwPv//4tK9IXJD4Xd +AQAA6NidAQCLlcz7//+5fAxJAMeF3Pv//3wMSQCLcvSF9g+FiQEAAIkMJI2N+Pv/ +/8dEJAQUAAAA6JLNBQCD7AiFwIuF9Pv//42N9Pv//w+EAAIAAANI9McEJAAAAADo +7DMHAIuV3Pv//4PsBI1y9IH+cAxJAA+FfwYAAIuVzPv//41y9IH+YAxJAA+FNQYA +APaFePz//wUPhecDAACLQwyNjfT7//+JRCQEi0MIiQQk6LpmBQCD7AiNjfj7///o +XM4FAIXAD4SfAQAAg4Wc+///AYuFpPv//4PDRDtYJA+EeQIAAIuFnPv//4XAD4R9 +/P//gL2j+///AA+EcPz//4C9ovv//wAPhGP8//+LhZz7//8x0ve1lPv//4XSD4VN +/P//i4Wc+///MdLHRCQIAQAAAPe1mPv//4XSD4XAAAAAx0QkBBIhSQDHBCSgD0kA +6PtMBwC5oA9JAOhhYgUA6Qz8//+JRCQMjYXY+///iUQkCI0EcolEJASJFCTo79YB +AIuN2Pv//+kV/f//jXQmAIlEJAwB0Y2FyPv//4lEJAiJTCQEiRQk6FTUAQDpy/z/ +/4lEJAyNhdz7//+JRCQIjQRyiUQkBIkUJOii1gEAi43c+///6U/+//+NtCYAAAAA +iUQkDAHRjYXM+///iUQkCIlMJASJFCToBNQBAOkC/v//x0QkBBQhSQDHBCSgD0kA +6DtMBwDpO////wNI9ItBFIPIBIkEJOglMgcA6a38//+LhfT7//+NjfT7//8DSPSL +QRSDyASJBCToAzIHAIPsBOnv/P//A0j0i0EUg8gEiQQk6OoxBwDp+f3//4uF9Pv/ +/42N9Pv//wNI9ItBFIPIBIkEJOjIMQcAg+wE6Tz+///HRCQIJAAAAMdEJAQ8IkkA +xwQkYA5JAOikSwcAoWAOSQCLQPSLmNwOSQCF2w+ENgMAAIB7HAAPhAUBAAAPtkMn +D77AuWAOSQCJBCTooF8FAIPsBInB6NZgBQC7zf///+lE8///iUQkDI2F1Pv//4lE +JAiNBEqJRCQEiRQk6F/VAQCLndT7///p6Pb//4nZ6D2UAwCLA4nZxwQkCgAAAP9Q +GIPsBOlt+f//i4Xs/P//jY3s/P//A0j0i0EUg8gEiQQk6PowBwCD7ATpSPX//4C9 +ofv//wB1BzHb6eT3//+hoA9JAItA9IuIHBBJAIXJD4TKBQAAxwQkCgAAAOgAlQMA +g+wED77AiQQkuaAPSQDo3V4FAIPsBInB6BNgBQAx2+me9///idnopZMDAIsDidnH +BCQKAAAA/1AYg+wE6WX3//+J2eiIkwMAiwOJ2ccEJAoAAAD/UBiD7ATp4v7//8dE +JAgWAAAAx0QkBPsgSQDHBCSgD0kA6EZKBwC5oA9JAOisXwUAi4Wk+///i0gki1gg +6SX5///HRCQIJwAAAMdEJATIIkkAxwQkYA5JAOgPSgcAoWAOSQCLQPSLmNwOSQCF +2w+EbAMAAIB7HAB0Ww+2QycPvsC5YA5JAIkEJOgPXgUAg+wEicHoRV8FALv///// +6c32///HRCQIJwAAAMdEJATIIkkAxwQkYA5JAOivSQcAoWAOSQCLQPSLmNwOSQCF +23Wk6IhQBwCJ2eihkgMAiwOJ2ccEJAoAAAD/UBiD7ATrjwNI9ItBFIPIBIkEJOht +LwcA6cD1//+DPQBRTAAAD4X0BQAAi1D8jUr/iUj8idCFwA+Ps/H//42F4Pv//4nx +iQQk6CgNBQBW6Z3x//+DPQBRTAAAdW6LUPyNSv+JSPyJ0IXAD49+8P//jYXo/f// +idmJBCTopn0FAFDpaPD//4nDi4W8+///jUj0jYWv+///iQQk6PcMBQBQjY3s/P// +6MsoAwCLhbj7//+NSPSNha37//+JBCTo1AwFAFCJHCToe58CAIPoBOjBpgcA65OD +PQBRTAAAjUL8dUaLQvyNSP+JSvyFwA+PdfP//42F6P3//4nZiQQk6HQMBQBQ6V/z +//+Jw4uFvPv//41I9I2F6P3//4kEJOh1DAUAUel5////6GimBwDrvJCNtCYAAAAA +6DtPBwCJw42F6P3//42NZPz//4mFpPv//8eFZPz//7DZSQDoaCAHAIuFxPv//41I +9IuFpPv//4kEJOghDAUAUIuFwPv//41I9I2F4Pv//4kEJOi5fAUAUOkN////icPr +34nDjY30+///6BIpAwDr0InDi4XY+///jUj0jYWz+///iQQk6Id8BQBRi4XI+/// +jUj0jYXg+///iQQk6L8LBQBQ67+Jw4uF3Pv//41I9I2Ftvv//4kEJOhTfAUAUIuF +zPv//+vKgz0AUUwAAI1C/HVei0r8jUH/iUL8iciFwA+PrPn//42F4Pv//4nxiQQk +6EsLBQBQ6Zb5//+DPQBRTAAAjUL8dTCLSvyNQf+JQvyJyIXAD49i+f//jYXg+/// +ifGJBCToxnsFAFDpTPn//+gppQcA66boIqUHAI10JgDr0MeF9Pv//4yiSQCJw8eF +ZPz//6CiSQCLhdT7//+NSPSNhej9//+JBCSJhaT7///om3sFAIuFpPv//1LpjP7/ +/4nD69OJw4uFzPv//41I9I2Ftfv//4kEJOjCCgUAUOm//v//icOLhdz7//+NSPSN +hbf7//+JBCToU3sFAFDp+/7//+h4TQcAicONjfj7///o69sFAInY6Wb///+DPQBR +TAAAjUL8dV6LSvyNQf+JQvyJyIXAD4/u8v//jYXo/f//idmJBCToNQoFAFDp2PL/ +/4M9AFFMAACNQvx1NYtK/I1B/4lC/InIhcAPj5Dy//+Nhej9//+J2YkEJOiwegUA +Uel68v//6BOkBwCQjXQmAOuh6AekBwDrz4nDkI10JgDpWf7//4nD6R7+//+Jw4uF +yPv//41I9I2Fsvv//4kEJOjbCQUAUOnY/f//icOLhdj7//+NSPSNhbT7//+JBCTo +bHoFAFfp4P3//4nDi4XE+///jUj0jYWw+///iQQk6J0JBQBX6Xf9///okKMHAGaQ +6RPz//+Jw42NFPz//8eF+Pv//+jQSQDotPUGAI2NZPz//8eF9Pv//4yiSQDHhWT8 +//+w2UkA6IUdBwDpMP3//42NIPz//4nD6NO8BQDruOgcTAcAicOLhdT7//+NSPSN +hbH7//+JBCTo03kFAI2F6P3//1bpxPz//+jySwcA6O1LBwCDPQBRTAAAjUL8dV6L +SvyNQf+JQvyJyIXAD4+Y9f//jYXg+///ifGJBCTovggFAFLpgvX//4M9AFFMAACN +Qvx1MItK/I1B/4lC/InIhcAPj071//+NheD7//+J8YkEJOg5eQUAVuk49f//6Jyi +BwDrpuiVogcAjbQmAAAAAOvNicOLhbj7//+NSPSNhej9///pnPv//4nDifnoz9kF +AInYx4Xs/P//DKJJAInDx4Vg/f//IKJJAMeF8Pz//wAAAACLhdD7//+NSPSNhej9 +//+JBCTo5ngFAFCNjWD9///HhWD9//+w2UkA6FAcBwDpMPv//+usicONtCYAAAAA +68Ho6UoHAInD69CJw412AOkF+///jY0c/f//icPofrsFAI2NEP3//8eF9Pz//+jQ +SQDoGfQGAI2NYP3//8eF7Pz//wyiSQDHhfD8//8AAAAAx4Vg/f//sNlJAOjgGwcA +6cD6//+Jw4uF0Pv//41I9I2Frvv//4kEJOhCeAUAUOlX////6GdKBwCJw5CNdCYA +65CJw+mM+v//g+gE6G2hBwDpCvr//412AI28JwAAAABVieVXVlOJy4HsjAIAAImN +gP3//42NZP7//+jhGgcAjY1k/v//xwQkAAAAAMeF1P7//wAAAADGhdj+//8AxoXZ +/v//AMeF3P7//wAAAADHheD+//8AAAAAx4Xk/v//AAAAAMeF6P7//wAAAADHhfD9 +//8MokkAx4Vk/v//IKJJAMeF9P3//wAAAADocSgHAIPsBI2N+P3//8eF8P3//0yi +SQDHhWT+//9gokkA6G/VBQCLhfD9//+NjfD9//8DSPSNhfj9//+JBCToMigHAIt7 +IIPsBItzJMdDBP///3/HQwgAAgAAx0MMAAAAADn3x0MQAAAAAIn7x4Xw/f//jMZJ +AMeFZP7//6DGSQB0Eo12AI1LEOgIev//g8NEOd518YuFgP3//8eFrP3//2wMSQCJ +eCToqZEBAItdCIsTi0r0hckPhYAHAADHBCQYAAAA6E2QBwDHAGwMSQCJw8dABAAA +AADHQAj//wAAx0AMAAAAAMdAEP//AADHQBQAAAAAxwQkEAAAAImFpP3//8eFqP3/ +/wAAAADoBpAHAIlYDIudqP3//8dABAEAAADHAGjHSQDHQAgBAAAAhduJhaj9//90 +E7j/////8A/BQwSD+AEPhDoHAACNhaz9//+JRCQEjYWk/f//x0QkCAAAAACJBCTo +XEkBAIuVrP3//41a9IH7YAxJAA+F+wgAAIuFpP3//42dkP3//4XAD4RWBAAAjXYA +iQQkidmJnXz9///oUBwFAIPsBIkcJI2NlP3//+jvigEAg+wE6JeQAQCLlZT9//++ +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 +/4PsBOki+f//jbQmAAAAAMcEJC0jSQDohEYHAKEAUUwAhcAPhb0EAACLTvyNQf+J +RvyJyIXAD4/a+P//jYXs/v//ifmJBCSJlYT9///oLm4FAIuVhP3//4PsBOm2+P// +icONhez+//+NTvSJBCSJhYT9///oJ24FAIPsBIuFlP3//41I9IuFhP3//4kEJOhd +/QQAg+wEi4WQ/f//jUj0jYWM/f//iQQk6EP9BACD7ASLjaj9//+FyXQF6CEiAwCN +jfD9///oBhkDAIuFfP3//7lwDEkAiQQk6MNtBQCD7ASJHCTouI8CAIPoBImVhP3/ +/+j4lgcAi5WE/f//6dz+//+Jw4uNqP3//4XJdAXoziEDAIuFrP3//41I9I2F7P7/ +/4kEJOjH/AQAjYWQ/f//iYV8/f//g+wE64WLjaj9//+Jw4XJdMzolSEDAOvFiQQk +6FuJBwCJHCTo0yADAOhejwcAicPrrInD6Sn///+Jw5DpO////4nDjYXs/v//iYWE +/f//6fT+//+Jw+gRiwcA6W////+LDQBRTACNQvyFyXU/i0L8jUj/iUr8hcAPj+f2 +//+Nhez+//+J2YkEJOgO/AQAg+wE6c/2//+Jw4uFrP3//41I9I2FnP3//+lB//// +6AmWBwDrw4nDjYWQ/f//iYV8/f//6cX+//+Jw42N+P3//+hJzQUAidjHhfD9//8M +okkAicPHhfT9//8AAAAAjY1k/v//x4Vk/v//sNlJAOjsDwcAjYWQ/f//iYV8/f// +6YX+///rwonD69SJw42FkP3//4mFfP3//+ls/v//icONjRT+///Hhfj9///o0EkA +6LvnBgCNjWT+///HhfD9//8MokkAx4X0/f//AAAAAMeFZP7//7DZSQDogg8HAI2F +kP3//4mFfP3//+kb/v//jY0g/v//icPoxK4FAOuiiw0AUUwAjUL8hckPhaAAAACL +SvyNQf+JQvyJyIXAD4/h+f//i4WE/f//ifmJBCTojmsFAIPsBOnJ+f//icOLhZz9 +//+NSPSNhY79//+JBCTojWsFAIPsBIuF7P7//421vP3//41I9I2FoP3//4kEJOi9 ++gQAg+wEifHoc27//+lU/f//icOLhZj9//+NSPSNhY39//+JBCToRWsFAI2F7P7/ +/4mFhP3//4PsBOkN/f//6HqUBwDpYf///4s9AFFMAI1C/IX/dWeLSvyNQf+JQvyJ +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 +JMeF3P3//wAAAADHheD9//8AAAAAx4Xk/f//AAAAAMeF6P3//wAAAADGhez9//8B +xoXw/f//AImFtP3//+h+eQcAi5W0/f//x0QkBAAAAACJBCSJhbD9//+JVCQI6B4A +AwCLnZz9//8xwItz9AH2dCSJwtHqD7YME4uVsP3//4hMAhSLlbD9///GRAIVAIPA +AjnwctyNhZj9///HRCQEAAAAAI2dwP3//4kEJOivEAEAg/gDD4QXBgAAjYWY/f// +x0QkBAAAAACNncD9//+JBCTGhfD9//8A6FM6AQCJBCSJhbz9///o1XgHAImFuP3/ +/8eFoP3//2wMSQDoMHoBAIt1CIsWi0r0hckPhaAFAADoG3oBAInGi4Wc/f//i0D0 +hcAPhTgFAACNjWD////oHQIHAMeFYP///7DZSQDHRdAAAAAAxkXUAMZF1QDHRdgA +AAAAx0XcAAAAAMdF4AAAAADHReQAAAAA6MN5AQCLlaD9//++fAxJAMeFpP3//3wM +SQCLSvSFyQ+FqwQAAMcEJAAAAACNjWD////Hhez+//8MokkAx4Vg////IKJJAMeF +8P7//wAAAADokw8HAI2d9P7//4PsBInZx4Xs/v//TKJJAMeFYP///2CiSQDoj7wF +AIuF7P7//42N7P7//wNI9IkcJOhYDwcAg+wEidnHRCQEDAAAAIk0JOgTqQUAg+wI +hcCLhez+//+Njez+//8PhPcFAAADSPTHBCQAAAAA6G0PBwCLlaT9//+D7ASNcvSB +/nAMSQAPhcwMAACLhbz9//+Njez+///Hhez+//+MxkkAx4Vg////oMZJAIlEJASL +hbj9//+JBCTo4yIFAIPsCInZx4Xs/v//TKJJAMeFYP///2CiSQDHhfT+///ozEkA +6MupBQCNjRz////okKAFAI2NEP///8eF9P7//+jQSQDoK9kGAI2NYP///8eF7P7/ +/wyiSQDHhfD+//8AAAAAx4Vg////sNlJAOjyAAcAi5Wg/f//jXL0gf5gDEkAD4U8 +CwAAjZ3A/f//jYWw/f//iQQk6PmP//+LhYT9//+LtXj9//+NBECNDIaJOYuVtP3/ +/41EFx+JQQSLtbz9///HQQj///9/iVQkDIlUJAiNfDAfBR8CAACB/gECAACLtXz9 +//8PQviLhbD9//+J8YlEJASNhfT9//+JBCTo4X///4uFvP3//4PsEInxx0QkDAAC +AACJRCQIi4W4/f//iUQkBI2F9P3//4kEJOiyf///i4W4/f//g+wQhcB0CIkEJOjN +dQcAi4Ww/f//x4W4/f//AAAAAIXAdAiJBCTosXUHAInZx4Ww/f//AAAAAMaF8P3/ +/wDHhbT9//8AAAAAx4W8/f//AAAAAIOFhP3//wHoXl///4uVnP3//41a9IH7cAxJ +AA+FFQwAAIuVmP3//41a9IH7YAxJAA+FyAsAAI2FqP3//8dEJAQAAAAAiQQk6J4c +AQCLhaj9//+FwA+FgPr//42FmP3//8dEJAgAAAAAjY30/f//xwQkAAAAAMdEJAQA +AAAAiYWA/f//6EI+BQCLtXz9//+D7AzHRCQEEAAAAI2N9P3//4nwg8AEiQQkjYWY +/f//iYWA/f//6AJABQCLhWj9//+D7AiJ8Yu9eP3//8dEJAwAAgAAiUQkCI2F9P3/ +/4kEJI2FmP3//4l8JASJhYD9///oZ37//4PsEIX/dAiJPCToiHQHAKGgD0kAi0D0 +i5gcEEkAhdsPhCMMAACAexwAD4Q0AwAAD7ZDJw++wLmgD0kAiQQkjYWY/f//iYWA +/f//6Ig6BQCNvZj9//+D7ASJwYm9gP3//+iyOwUAx0QkCAkAAADHRCQEFSRJAIkE +JIm9gP3//+gkJgcAi52s/f//hdt0E7j/////8A/BQwSD+AEPhOgDAAAx242N+P3/ +/8eF9P3//8yiSQDHhWT+///gokkAx4X4/f//6MxJAOispgUAjY0g/v//6HGdBQCN +jRT+///Hhfj9///o0EkA6AzWBgCNjWT+///HhfT9//+MokkAx4Vk/v//sNlJAOjd +/QYAjWX0idhbXl9dwggAkIlEJAyNhZz9//+JRCQIjQRKiUQkBIkUJOiTrwEAi5Xs +/v//6fL4//+JRCQMjYWk/f//iUQkCI0ESolEJASJFCToa68BAIu1pP3//+kt+/// +jZ2g/f//idno82kBAImFcP3//4uFnP3//4tQ9IXSD4V8AQAAi7Vw/f//hfYPhJb6 +//+LhXD9//+J2YkEJOjObAEAg+wE6X76//+NtgAAAACJRCQMAdGNhaD9//+JRCQI +iUwkBIkUJOiErAEA6T/6//+LRQiNjez+///GhfD9//8BjZ3A/f//iQQk6NFvBQCD +7ATHRCQEAQAAAI2N7P7//8cEJBYhSQDodF0FAIPsCI2FnP3//4kEJI2N7P7//+ht +XgUAg+wEidmNhez+//+JBCToGuH//4uV7P7//4PsBI1y9IH+cAxJAA+Eu/v//4sN +AFFMAI1C/IXJD4VJCQAAi0r8jUH/iUL8iciFwA+Pl/v//42FpP3//4nxiQQk6L5Y +BQCD7ATpf/v//422AAAAAMdEJAQUIUkAxwQkoA9JAOj8IwcA6Rr4//+NtCYAAAAA +jXP0gf5wDEkAD4Ro/P//ixUAUUwAjUP8hdIPhVYKAACLQ/yNUP+JU/yFwA+PRvz/ +/42F7P7//4nxiQQk6E9YBQCD7ATpLvz//420JgAAAAABwol0JAyJXCQIiVQkBIkE +JOg6qwEA6Wn+//8DSPSLQRSDyASJBCTodAkHAOkC+v//uP/////pZvP//4lEJAwB +0Y2FsP3//4lEJAiJTCQEiRQk6PmqAQDplfX//42FmP3//4nZiYWA/f//6EFsAwCL +A429mP3//4nZxwQkCgAAAIm9gP3///9QGIPsBOmb/P//iUQkDAHRjYX0/f//iUQk +CIlMJASJFCToo6oBAOlf8P//iUQkDI2F7P7//4lEJAiNBEqJRCQEiRQk6PGsAQCL +nez+///ph/P//4lEJAwB0Y2FsP3//4lEJAiJTCQEiRQk6FqqAQDp7PL//8dEJAgh +AAAAx0QkBBghSQDHBCSgD0kA6IkiBwChoA9JAItA9IuYHBBJAIXbD4Q7CgAAgHsc +AHR0D7ZDJw++wLmgD0kAiQQk6Ik2BQCD7ASJwei/NwUAu//////pQPz//4sDidn/ +UAi4//////APwUMIg/gBD4UJ9f//iwOJ2f9QDOn99P//iwOJ2f9QCLj/////8A/B +QwiD+AEPhf77//+LA4nZ/1AM6fL7//+J2egCawMAiwOJ2ccEJAoAAAD/UBiD7ATp +c////4sDidn/UAi4//////APwUMIg/gBD4XA7///iwOJ2f9QDOm07///iwOJ2f9Q +CLj/////8A/BQwiD+AEPhVnx//+LA4nZ/1AM6U3x//8DSPSLQRSDyASJBCTofwcH +AOnf8v//oQBRTACFwA+FPgEAAItC/I1I/4lK/IXAD4/B7///jYWk/f//idmJBCTo +POUEAIPsBOmp7///jXQmAMcEJC0jSQDo9C0HAMdEJAgvAAAAu+r////HRCQEwCNJ +AMcEJGAOSQDoEyEHAMcEJGAOSQDo9zUHAOll+///oahjTADHRCQILwAAAMdEJAQB +AAAAxwQkYCNJAIPAQIlEJAzowvUCAMdEJAgtAAAAx0QkBJAjSQDHBCRgDkkA6L4g +BwChYA5JAItA9IuY3A5JAIXbD4RrCAAAgHscAA+ERAgAAA+2QycPvsC5YA5JAIkE +JLvq////6LU0BQCD7ASJwejrNQUA6dn6//+Jxo2F9P3//41L9IkEJI2doP3//+gd +VQUAg+wEi4Wo/f//iRwkjUj06FnkBACD7ASLjfD+//+FyXQF6DcJAwCJNCTo73YC +AI1C/Og1fgcA6b7+//+Jw4uN8P7//4XJdAXoEQkDAIuF9P3//41I9I2FsP3//4kE +JOgK5AQAg+wEiRwk6K92AgCJw42FmP3//4mFgP3//4uFgP3//7lwDEkAiQQk6I5U +BQCD7ASNjfT9///o8AADAIkcJOh4dgIAicOLjaz9//+FyXQF6KcIAwCLhbD9//+N +SPSNhez+//+JBCTooOMEAI2FmP3//4mFgP3//4PsBOueicPr1InDi4X0/f//jUj0 +jYXs/v//6WP///+JxouF9P3//42doP3//4kcJI1I9Ohc4wQAg+wE6er+//+Jxo2d +oP3//+nd/v//icaLhbD9//+NSPSNhaT9//+JBCTo3lMFAIPsBOu2iz0AUUwAjUL8 +hf91KYtC/I1I/4lK/IXAD4+57f//jYX0/f//idmJBCTo2+IEAIPsBOmh7f//6Ox8 +BwDr2ejlfAcAjbQmAAAAAOlE7v//icaLnbD9///pSv7//4nD6ez+//+JBCTof28H +AIkcJOj3BgMA6IJ1BwCJBCToam8HAIkcJOjiBgMA6G11BwCJw+hGcQcA6WH+//+J +w+g6cQcA6b/+//+Jw412AOla/v//icbpHv7//8dEJATwI0kAxwQkYA5JAOjwTwcA +i30IixeLSvSJVCQEiQQkiUwkCOg4HgcAx0QkBAkkSQCJBCToyE8HAIuN8P7//4XJ +dAXoGQcDALv/////6XL4//+LDQBRTACNQvyFyQ+FGAMAAItC/I1I/4lK/IXAD48g +7P//jYWw/f//idmJBCTozeEEAIPsBOkI7P//i43w/v//icOFyQ+EtP3//+jABgMA +6ar9//+LnZz9//+JhYT9//+Nhez+//+NS/SJBCToXlIFAIuFhP3//4nDg+wEi4WY +/f//jUj0jYWV/f//iQQk6IzhBACD7ASLjaz9//+FyQ+Eiv3//+hmBgMA6YD9//+L +HQBRTACNQvyF2w+FrgAAAItK/I1B/4lC/InIhcCNncD9//8Pj6D0//+NhaT9//+J +8YkEJOgX4QQAg+wE6Yj0//+Jxo2NEP///8eF9P7//+jQSQDoWM0GAI2NYP///8eF +7P7//wyiSQDHhfD+//8AAAAAx4Vg////sNlJAOgf9QYAi4Wg/f//jZ3A/f//jUj0 +jYWW/f//iQQk6NLgBACD7ASJ2eiIVP//ifDp9v7//42NHP///4nG6ESUBQDrheir +egcA6VP///+Njez+//+Jxuh7/AIA66qLDQBRTACNQvyFyQ+FjAAAAItK/I1B/4lC +/InIhcAPjxDz//+NhZf9//+J8YkEJOj1UAUAg+wE6fjy//+JxonZ6LSxBQCJ8MeF +7P7//wyiSQCJxseFYP///yCiSQDHhfD+//8AAAAAi4Wk/f//jUj0jYWX/f//iQQk +6MtQBQCD7ASNjWD////HhWD///+w2UkA6DP0BgDpD////+uq6PV5BwCNtCYAAAAA +6W7///+Jxuu1icOLhZz9//+NSPSNhaD9//+JBCToflAFAIPsBIuF7P7//41I9I2F +sP3//4kEJOi03wQAg+wE6Qn+//+LNQBRTACNQvyF9nVji0r8jUH/iUL8iciFwA+P +GPT//42F7P7//4nZiQQk6FzfBACD7ATpAPT//4sNAFFMAI1C/IXJdTKLSvyNQf+J +QvyJyIXAD4/L8///jYXs/v//idmJBCTo1E8FAIPsBOmz8///6DV5BwDroZCNdCYA +6Cl5BwDrzYnGi4Xs/v//jUj0jYWk/f//iQQk6MBPBQCD7ATpOf7//+gBeQcAjXYA +6bX2///pK/3//422AAAAAOjpeAcA6eH8//+NtgAAAADp8P7//4sNAFFMAI1C/IXJ +dXCLQvyNSP+JSvyFwA+PU+z//42F7P7//4nZiQQk6I3eBACD7ATpO+z//4s1AFFM +AI1C/IX2dUGLQvyNSP+JSvyFwA+P9Ov//42FqP3//4nZiQQk6AdPBQCD7ATp3Ov/ +/42FmP3//4mFgP3//+g+IQcA6Fd4BwDrko20JgAAAADoSXgHAOu6icOLhbD9//+N +SPSNhZz9///pi/r//4sNAFFMAI1C/IXJdTuLSvyNQf+JQvyJyIXAD4+c7f//jYWw +/f//idmJBCTo490EAIPsBOmE7f//icPpKf7//4nDZpDpSPz//+jkdwcAjbYAAAAA +68OJw+lO/P//icaQjXQmAOmz/f//icbp1fz//410JgDr84nG6ej8//+NtCYAAAAA +6eD7///p2/v//422AAAAAOnQ+///xwQkLSNJAOg/JgcA6cX7///og3cHAJCNdCYA +6aT1//+Jw42N+P3//+jOrgUAidjHhfT9//+MokkAicPHhWT+//+gokkAi4Xs/v// +jUj0jYWo/f//iQQk6O9NBQCD7ASNjWT+///HhWT+//+w2UkA6FfxBgCLhbD9//+N +SPSNhaT9///pAfn//+ulicPrt4nD682Jw4uFsP3//+l5+f//izUAUUwAjUL8hfYP +hbwAAACLQvyNSP+JSvyFwA+P3ev//42F7P7//4nZiQQk6KrcBACD7ATpxev//4uN +rP3//4nDhckPhPv4///onQEDAOnx+P//icONjRT+///Hhfj9///o0EkA6NHIBgCN +jWT+///HhfT9//+MokkAx4Vk/v//sNlJAOii8AYAiRwk6BpvAgCJ2ehjYQMAiwOJ +2ccEJAoAAAD/UBiD7ATpo/f//+goHwcA6CMfBwCNjSD+//+Jw+jGjwUA647pHv// +/+godgcA6UP///+QjXQmAFWJ5VdWU4Hs3AIAAImNNP3//8eFTP3//3wMSQDHhVD9 +//9sDEkA6HVnAQCLVQiLEotK9IXJD4WTDAAAi0UIjY1M/f//iQQk6ERVBQCD7ATH +RCQECwAAAI2NTP3//8cEJLsiSQDoh1AFAIPsCMeFVP3//2wMSQDoJWcBAIuVTP3/ +/4tK9IXJD4WLDAAAjY1k/v//6CnvBgDHhWT+//+w2UkAx4XU/v//AAAAAMaF2P7/ +/wDGhdn+//8Ax4Xc/v//AAAAAMeF4P7//wAAAADHheT+//8AAAAAx4Xo/v//AAAA +AOi6ZgEAi5VU/f//u3wMSQDHhXD9//98DEkAi0r0hckPhekLAADHBCQAAAAAjY1k +/v//x4Xw/f//DKJJAMeFZP7//yCiSQDHhfT9//8AAAAA6Ir8BgCD7ASNjfj9///H +hfD9//9MokkAx4Vk/v//YKJJAOiIqQUAi4Xw/f//jY3w/f//A0j0jYX4/f//iQQk +6Ev8BgCD7ATHRCQEDAAAAI2N+P3//4kcJOgClgUAg+wIhcCLhfD9//+NjfD9//8P +hAQMAAADSPTHBCQAAAAA6Fz8BgCLlXD9//+D7ASNcvSB/nAMSQAPheYTAADHRCQI +AgAAAI2N8P3//8cEJAAAAADHRCQEAAAAAMeF8P3//4zGSQDHhWT+//+gxkkA6O4S +BQCD7AyNhfD9//+JBCSNjaj9///o9xMFAIPsBIudqP3//8dEJAgAAAAAjY3w/f// +xwQkAAAAAMdEJAQAAAAA6KwSBQCLhTT9//+D7AyJXCQEjY3w/f//g8AEiQQk6G4P +BQCD7AiNjfj9///ocJYFAIXAD4QMCwAAxwQkGAAAAOjcYwcAxwBsDEkAicPHQAQA +AAAAx0AI//8AAMdADAAAAADHQBD//wAAx0AUAAAAAMcEJBAAAACJhYD9///HhYT9 +//8AAAAA6JVjBwCJWAyLnYT9///HQAQBAAAAxwBox0kAx0AIAQAAAIXbiYWE/f// +dBO4//////APwUMEg/gBD4QzCgAAjYVQ/f//iUQkBI2FgP3//8dEJAgAAAAAiQQk +6OscAQCLhTT9//+LeCCLcCSJ+zn3dA+NSxDooUz//4PDRDnedfGLhTT9//+JeCSL +hYD9//+FwA+FFAcAAOl+CAAAxwQk8CJJAI2NYP3//+gsQAMAicaLhWD9//+D7ASN +ePSB/3AMSQAPhTEKAACLhVz9//+NePSB/2AMSQAPhWULAACF9g+FMwYAAItFCI2N +TP3//42d7P7//4kEJOjOUQUAg+wEjYVY/f//iQQkjY1k/f//6BdeAQCD7ATov2MB +AIuVZP3//42daP3//8eFaP3//3wMSQCLSvSFyQ+FXgcAAIkcJI2NTP3//+jwTQUA +i4Vo/f//g+wEjXD0gf5wDEkAD4VYCwAAjZ3s/v//i4Vk/f//jXD0gf5gDEkAD4W9 +CwAAjY1g////x4W4/f//qMRJAMeFzP3//wAAAADHhdD9//8AAAAAx4XU/f//AAAA +AMeF2P3//wAAAADHhdz9//8AAAAAx4Xg/f//AAAAAMaF5P3//wHGhej9//8Ax4Ws +/f//AAAAAMeFtP3//wAAAADoCusGAMeFYP///7DZSQDHRdAAAAAAxkXUAMZF1QDH +RdgAAAAAx0XcAAAAAMdF4AAAAADHReQAAAAA6LBiAQCLlVj9//++fAxJAMeFdP3/ +/3wMSQCLSvSFyQ+FJwYAAMcEJAAAAACNjWD////Hhez+//8MokkAx4Vg////IKJJ +AMeF8P7//wAAAADogPgGAI299P7//4PsBIn5x4Xs/v//TKJJAMeFYP///2CiSQDo +fKUFAIuF7P7//4tI9Ik8JAHZ6En4BgCD7ASJ+cdEJAQMAAAAiTQk6ASSBQCD7AiF +wIuF7P7//4nZD4ToBQAAA0j0xwQkAAAAAOhi+AYAi4V0/f//g+wEjXD0gf5wDEkA +D4WgCgAAx0QkCAIAAACJ2ccEJAAAAADHRCQEAAAAAMeF7P7//4zGSQDHhWD///+g +xkkA6PgOBQCD7AyJHCSNjYj9///oBxAFAIuFiP3//4PsBIkEJImFrP3//+gQYAcA +x0QkCAAAAACJ2ccEJAAAAADHRCQEAAAAAImFqP3//+isDgUAi4Ws/f//g+wMidmJ +RCQEi4Wo/f//iQQk6G8LBQCD7AiJ+ceF7P7//0yiSQDHhWD///9gokkAx4X0/v// +6MxJAOhXkgUAjY0c////6ByJBQCNjRD////HhfT+///o0EkA6LfBBgCNjWD////H +hez+//8MokkAx4Xw/v//AAAAAMeFYP///7DZSQDofukGAMeFbP3//2wMSQDov2AB +AIlcJASNjXj9///HBCQfJEkAiYUw/f//6JNbBQCLhXj9//+D7AiNtWz9//+LUPSF +0g+F+QMAAI1Q9IH6cAxJAImVMP3//w+FFQgAAIk0JI2NWP3//+i2eQEAg+wEiQQk +jY1w/f//6PXrBACLhWz9//+D7ASNcPSB/mAMSQAPhdAIAACNjWD////oUugGAMeF +YP///7DZSQDHRdAAAAAAxkXUAMZF1QDHRdgAAAAAx0XcAAAAAMdF4AAAAADHReQA +AAAA6PhfAQCLlXD9//++fAxJAMeFfP3//3wMSQCLSvSFyQ+FGQMAAMcEJAAAAACN +jWD////Hhez+//8MokkAx4Vg////IKJJAMeF8P7//wAAAADoyPUGAIPsBIn5x4Xs +/v//TKJJAMeFYP///2CiSQDoyqIFAIuF7P7//4tI9Ik8JAHZ6Jf1BgCD7ASJ+cdE +JAQMAAAAiTQk6FKPBQCD7AiFwIuF7P7//4nZD4RPAwAAA0j0xwQkAAAAAOiw9QYA +i4V8/f//g+wEjXD0gf5wDEkAD4VIBwAAx0QkCAIAAACJ2ccEJAAAAADHRCQEAAAA +AMeF7P7//4zGSQDHhWD///+gxkkA6EYMBQCD7AyJHCSNjZj9///oVQ0FAIuFmP3/ +/4PsBInZx0QkCAAAAADHBCQAAAAAx0QkBAAAAACJhbT9///oCAwFAIuFtP3//4Ps +DIkEJOg3XQcAi5W0/f//idmJBCSJhbD9//+JVCQE6L0IBQCD7AiJ+ceF7P7//0yi +SQDHhWD///9gokkAx4X0/v//6MxJAOiljwUAjY0c////6GqGBQCNjRD////HhfT+ +///o0EkA6AW/BgCNjWD////Hhez+//8MokkAx4Xw/v//AAAAAMeFYP///7DZSQDo +zOYGAIu9NP3//4tPJDtPKA+EIAIAAIXJD4TiAQAAjYWo/f//iQQk6GSA//+LRySD +7ASLvTT9//+DwESJRySLhXD9//+NcPSB/mAMSQAPhc0GAACNjbj9///oAkb//4uF +WP3//41Y9IH7YAxJAA+FPgQAAIu1gP3//4X2D4RpBAAAjZ3s/v//iTQkidnoL+kE +AItGBIPsBItWCImF8P7//4tGDImV9P7//4tWEMdEJAQAAAAAiYX4/v//jYWA/f// +iQQkiZX8/v//6BIDAQCLhez+//+NWPSB+2AMSQAPhZUDAACLhYD9//+FwA+EbwEA +AIkEJI2NWP3//+jB6AQAg+wEjYVY/f//iQQkjY1c/f//jZ3s/v//6PR5AQCD7ATo +/FwBAIuVXP3//8eFYP3//3wMSQCLSvSFyQ+Eo/j//4lEJAyNhWD9//+JRCQIjQRK +iUQkBIkUJOhUlwEA6YH4//+JRCQMjYV8/f//iUQkCI0ESolEJASJFCToMpcBAIu1 +fP3//+m//P//jbQmAAAAAIuNMP3//wHCiXQkCIlUJASJBCSJTCQM6JSUAQCLhXj9 +///p4Pv//4lEJAyNhXT9//+JRCQIjQRKiUQkBIkUJOjclgEAi7V0/f//6bH5//+Q +iUQkDI0ESolcJAiJRCQEiRQk6LmWAQDphvj//410JgAxwOkr/v//A0j0i0EUg8gE +iQQk6HjyBgDpEfr//412AANI9ItBFIPIBIkEJOhf8gYA6ar8//+LhTT9//+Nvaj9 +//+JDCSJfCQEg8AgicHoHcEGAIPsCOnj/f//kI10JgCLRQyLjTT9//+JBCTo73b/ +/4udhP3//4PsBIXbdBO4//////APwUMEg/gBD4RNAQAAjY34/f//x4Xw/f//TKJJ +AMeFZP7//2CiSQDHhfj9///ozEkA6KaMBQCNjSD+///oa4MFAI2NFP7//8eF+P3/ +/+jQSQDoBrwGAI2NZP7//8eF8P3//wyiSQDHhfT9//8AAAAAx4Vk/v//sNlJAOjN +4wYAi5VU/f//jVr0gftgDEkAD4WyBgAAi5VQ/f//jVr0gftgDEkAD4U/CgAAi5VM +/f//jVr0gftwDEkAD4X0CQAAjWX0McBbXl9dwggAiUQkDAHRjYVQ/f//iUQkCIlM +JASJFCTo1pIBAOlM8///iUQkDI2FcP3//4lEJAiNBEqJRCQEiRQk6CSVAQCLnXD9 +///p7/P//4lEJAwB0Y2FVP3//4lEJAiJTCQEiRQk6I2SAQDpVPP//4sDidn/UAi4 +//////APwUMIg/gBD4Wz9f//iwOJ2f9QDOmn9f//iwOJ2f9QCLj/////8A/BQwiD ++AEPhZn+//+LA4nZ/1AM6Y3+//+LhfD9//+NjfD9//8DSPSLQRSDyASJBCTob/AG +AIPsBOnP9P//A0j0i0EUg8gEiQQk6FbwBgDp9fP//4sdAFFMAIXbD4V4AwAAi0j8 +jVH/iVD8iciFwA+PrvX//42d7P7//4n5iRwk6MA+BQCD7ATplvX//4s9AFFMAIX/ +D4XNAgAAi0j8jVH/iVD8iciFwA+PSvz//42FqP3//4nZiQQk6NfNBACD7ATpMvz/ +/4sVAFFMAIXSD4UWAwAAi0j8jVH/iVD8iciFwA+Pofv//42F7P7//4nZiQQk6J7N +BACD7ATpifv//8dEJBDKAgAAx0QkDCQkSQDHRCQIoCRJAMdEJARsJEkAxwQkkCRJ +AOhK9wIAicOLjYT9//+FyXQF6GnyAgCNjfD9///oTukCAIuFVP3//41I9I2FRf3/ +/4kEJOhXzQQAg+wEi4VQ/f//jUj0jYVE/f//iQQk6D3NBACLhUz9//+NSPSNhUP9 +//+D7ASJBCTo0z0FAIPsBIkcJOjIXwIAiw0AUUwAhckPhf8BAACLSPyNUf+JUPyJ +yIXAD4969P//jZ3s/v//ifmJHCTox8wEAIPsBOli9P//ixUAUUwAhdIPhZEBAACL +SPyNUf+JUPyJyIXAD4/K9///i40w/f//jYWY/f//iQQk6Do9BQCD7ATprvf//2aQ +ixUAUUwAhdIPhZcBAACLSPyNUf+JUPyJyIXAjZ3s/v//D4+H9P//iRwkifHo/zwF +AIPsBOl19P//jbQmAAAAAIsVAFFMAIXSD4UsAQAAi0j8jVH/iVD8iciFwA+Pl/j/ +/42FmP3//4nxiQQk6L88BQCD7ATpf/j//420JgAAAACLPQBRTACF/w+FJwEAAItI +/I1R/4lQ/InIhcAPjyL0//+JHCSJ8ejVywQAg+wE6RD0//+LDQBRTACFyQ+FrAAA +AItI/I1R/4lQ/InIhcAPjw/3//+JHCSJ8eiiywQAg+wE6f32//+LDQBRTACFyQ+F +kwAAAItI/I1R/4lQ/InIhcAPjz/1//+NhZj9//+J8YkEJOgZPAUAg+wE6Sf1//+Q +iw0AUUwAhckPhbcAAACLSPyNUf+JUPyJyIXAD48S+f//iRwkifHoNcsEAIPsBOkA ++f//g+gE6ENlBwDpMf3//4PoBOg2ZQcA6W3+//+D6AToKWUHAOlS////g+gE6Bxl +BwDp0v7//4PoBOgPZQcAkOlq////g+gE6AFlBwCNdgDp/P3//4PoBOjxZAcAjXYA +6WT+//+D6ATo4WQHAI12AOnU/v//g+gE6NFkBwCNdgDpg/z//4PoBOjBZAcAjXYA +6eX8//+D6ATosWQHAI12AOlE////icaLhXz9//+NSPSNhZj9//+JBCToQjsFAIPs +BI2NYP///8eFYP///7DZSQDoqt4GAIuFcP3//4kcJI1I9OhpygQAg+wEjY24/f// +6Bs+//+LhVj9//+JHCSJ841I9OhIygQAg+wE6bj8//+Jxuutx4Xs/v//DKJJAInG +x4Vg////IKJJAMeF8P7//wAAAACLhXT9//+NSPSNhZj9//+JBCTotToFAIPsBI2N +YP///8eFYP///7DZSQDoHd4GAOuFicbry4nGifmNdgDoO5sFAInwx4Xs/v//DKJJ +AInGx4Vg////IKJJAMeF8P7//wAAAADpC////+vZicbrrInG6S3///+JxpCNdCYA +6TX///+Jxo2NEP///8eF9P7//+jQSQDoxLUGAI2NYP///8eF7P7//wyiSQDHhfD+ +//8AAAAAx4Vg////sNlJAOiL3QYA6fD+//+J2YnG6C3lAgDpzv7//4nGi4Vs/f// +iRwkjUj06DXJBACD7ATpx/7//4nGi4Vs/f//jUj0jYVK/f//iQQk6BTJBACD7ATp +pv7//4nDi4Vw/f//jUj0jYVG/f//iQQk6KM5BQCD7ASNjWT+///HhWT+//+w2UkA +6AvdBgDpaPv//4s1AFFMAI1C/IX2dTCLQvyNSP+JSvyFwA+PMPn//42F7P7//4nZ +iQQk6IjIBACD7ATpGPn//4nD6Sv7///okmIHAI10JgDrzonDi42E/f//hckPhAX7 +///oae0CAOn7+v//i42E/f//icOFyQ+E6/r//+hP7QIA6eH6///ruInDjbYAAAAA +6ff6//+Jxo2d7P7//4uFXP3//4kcJI1I9OgyyAQAg+wE6c/9//+JxunI/f//jXYA +68aJw4uFcP3//41I9I2F7P7//4kEJOi1OAUAg+wE6Q3///+Jxo2NEP///8eF9P7/ +/+jQSQDoJrQGAI2NYP///8eF7P7//wyiSQDHhfD+//8AAAAAx4Vg////sNlJAOjt +2wYA6T79//+NjRz///+Jxug7ewUA666JxouFdP3//41I9I2FSf3//4kEJOhAOAUA +g+wE6Yb9//+JxouFeP3//41I9I2FmP3//4kEJOgfOAUAg+wE6Tz+//+Jw42N+P3/ +/+i6mAUAidjHhfD9//8MokkAicPHhWT+//8gokkAx4X0/f//AAAAAOkX////69mJ +w+k6/v//iQQk6OJTBwCJHCToWusCAOjlWQcAicONjRT+///Hhfj9///o0EkA6D6z +BgCNjWT+///HhfD9//8MokkAx4X0/f//AAAAAMeFZP7//7DZSQDoBdsGAOli+f// +jY0c////icboU3oFAOkl/f//idmJxuiV4gIA6Ur8//+JxouFYP3//42d7P7//4kc +JI1I9OhHNwUAg+wE6Uz+//+Jw4uF7P7//41I9I2FWP3//4kEJOh2xgQAg+wE6eb4 +//+LPQBRTACNQvyF/3VKi0L8jUj/iUr8hcAPj/zr//+Nnez+//+J8YkcJOjQNgUA +g+wE6eTr//+Jxo2d7P7//4uFZP3//4kcJI1I9OgfxgQAg+wE6bz7///oEGAHAGaQ +67aJxouFaP3//42d7P7//41I9I2FSP3//4kEJOifNgUAg+wE67qJw+lq+P//icaL +hXz9//+NSPSNhUv9//+JBCToejYFAIPsBOkz+///icaLhWD9//+Nnez+//+NSPSN +hUf9//+JBCToUzYFAIPsBOlY/f//icaLhWj9//+Nnez+//+JHCSNSPToMjYFAIPs +BOlK////icaJ+ejRlgUAifDpLvv//4s9AFFMAI1C/IX/dV+LQvyNSP+JSvyFwA+P +7vX//42F7P7//4nZiQQk6Mw1BQCD7ATp1vX//4sNAFFMAI1C/IXJdTCLQvyNSP+J +SvyFwA+Po/X//42F7P7//4nZiQQk6ObEBACD7ATpi/X//+j3XgcA66ONtCYAAAAA +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 +/429qP7//8dDDAAAAACNtSj+///zpcHqHynQiUMQjZWo/v//idjohff//4P4B3Wk +jZWo/v//jYUo/v//6C/5//+LtfT+//+JdCQEicOLhfD+//+JBCToxf7//4nZjUwN +BIl0HQSLReyLVfCLXfSLdfiLffyLbQCJzMONtgAAAABVieVXVlNSUIHsFAEAAItN +BI2d6P7//41VCInYjb1o////id7o5/n//4tFDLkgAAAA86WLfQiNlWj///+JRwyL +RRCJRxCJ+OiU9///g/gHdA2LXfSLdfiLffyJ7F3DjZVo////idjohfj//4t1tIl0 +JASJw4tFsIkEJOgh/v//idmNTA0EiXQdBItF7ItV8Itd9It1+It9/IttAInMw2aQ +VYnlV1ZTUlCB7BQBAACLTQSNVQiNhej+//+NnWj////oS/n//4tFCLkgAAAAid+J +2o216P7///Oli0gMhcl1D+hL9v//g/gHdA/ouX0AAItFCOjp9v//6+yJ2o2F6P7/ +/+jq9///i3W0iXQkBInDi0WwiQQk6Ib9//+J2Y1MDQSJdB0Ei0Xsi1Xwi130i3X4 +i338i20AiczDjbQmAAAAAFWJ5VdWU1JQgewUAQAAi0UIi1gMhdt0OotNBI2d6P7/ +/41VCInYjb1o////id7onfj//4tFCI2VaP///7kgAAAA86XoWPb//4P4B3Qj6BZ9 +AACLRQiJBCToE/3//4td9It1+It9/InsXcONtgAAAACNlWj///+J2Ogz9///i3W0 +iXQkBInDi0WwiQQk6M/8//+J2Y1MDQSJdB0Ei0Xsi1Xwi130i3X4i338i20AiczD +g+wci1QkIItCCIXAdA2JVCQExwQkAQAAAP/Qg8Qcw5BVieVXVlOB7FwBAACLTQSN +naj+//+LfQiNVQiJ2Oje9///6yKLRQyJHCSJRCQE/9eFwHUsg/4FdDeNlSj///+J +2Oh69P//jZUo////idjoPeL//4P4BYnGdMqFwHTGZpCBxFwBAAC4AwAAAFteX13D +gcRcAQAAuAUAAABbXl9dw1dWUzHbg+wQi3QkIIs+hf90GotEngSFwHQLi0D8iQQk +6Ot7AACDwwE5+3XmiXQkIIPEEFteX+nVewAAkI10JgBVieWD7BjHRCQMAAAAAMdE +JAj//wAAx0QkBAAAAADHBCQAAAAAxwVEUUwA/////+i8fgAAg+wQo0hRTADol34A +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 +dXaLUPyNcv+JcPyJ0IXAf72NReeJ+YkEJOjSTAIAV+utgz0AUUwAAHVYi1D8jXL/ +iXD8idCFwH+wjUXnifmJBCTo+tsBAFHroIM9AFFMAAB1OotQ/I1y/4lw/InQhcAP +j3f///+NReeJ+YkEJOjO2wEAVulk////g+gE6GCBBADri4PoBOhWgQQA66mD6ATo +TIEEAOvHkJCQkJCQkJCQkFWJ5VdWU4PsLItdCIXbdCCNQxSJBCToFeD9/4sDjXj0 +gf9gDEkAdRCJHCTogGUEAI1l9FteX13Dgz0AUUwAAHUfi1D8jXL/iXD8idCFwH/Y +jUXnifmJBCToQ9sBAFLryIPoBOhWdQQA6+KLC41V54nGiRQkg+kM6ETbAQBQiTQk +6Ott//+QkJCQkJCQkJCQkIXJdAyLAYtABP/gkI10JgDzw5CQkJCQkJCQkJCQkJCQ +U7j/////g+wIicvwD8FBBIP4AXQLg8QIW8ONtgAAAACLAf9QCLj/////8A/BQwiD ++AF14YsDidmLQAyDxAhb/+CQkJCQkJCQkJCQkJCQkJCD7ByJDCTHASjHSQDon2QE +AIPEHMOQkJCQkJCQkJCQkMcBKMdJAMOQkJCQkJCQkJAxwMIEAJCQkJCQkJCQkJCQ +McDDkJCQkJCQkJCQkJCQkFWJ5VdWU4PsLItZDIXbdDGLQwiNePSB/3AMSQB1K4tD +BI149IH/YAxJAHVtiwONePSB/2AMSQB1OIkcJOgfZAQAjWX0W15fXcODPQBRTAAA +dXaLUPyNcv+JcPyJ0IXAf72NReeJ+YkEJOiSSgIAUOutgz0AUUwAAHVYi1D8jXL/ +iXD8idCFwH+wjUXnifmJBCToutkBAFDroIM9AFFMAAB1OotQ/I1y/4lw/InQhcAP +j3f///+NReeJ+YkEJOiO2QEAUOlk////g+gE6CB/BADri4PoBOgWfwQA66mD6ATo +DH8EAOvHkJCQkJCQkJCQkIPsHIkMJMcBKMdJAOhfYwQAg8Qcw5CQkJCQkJCQkJCQ +xwEox0kAw5CQkJCQkJCQkDHAwgQAkJCQkJCQkJCQkJAxwMOQkJCQkJCQkJCQkJCQ +VYnlV1ZTg+wsi1kMhdt0II1DFIkEJOiF3f3/iwONePSB/2AMSQB1EIkcJOjwYgQA +jWX0W15fXcODPQBRTAAAdR+LUPyNcv+JcPyJ0IXAf9iNReeJ+YkEJOiz2AEAVuvI +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 +iwaDwwGDxwI7WPRzKItUJDiJVCQID7cEOIksJIlEJATo62f//4XAddeDxByJ2Fte +X13CDACDxBy4/////1teX13CDACQkJCQkJCQkJCQkJBVieWD7BiLRQiLAItQ9IkE +JIlUJAiLVQyJVCQE6G////+D7AzJwggAkJCQkJCQkJBWU4sRi0QkEIt0JAyLSvQ5 +yHMaD7ccQmY583QK6xRmkGY5HEJ1DIPAATnIcvO4/////1tewggAkJCQkJCQkJCQ +g+wciwGLVCQgO1D0cwmNBFCDxBzCBADHBCQ4bkkA6E3yAwCQkJCQkJCQkJCQkJCQ +iwGLUPSNBFDDkJCQkJCQkItBCMHoH8OQkJCQkJCQkJCLUQiF0g+fwMOQkJCQkJCQ +iwGLUPSNRFD+w5CQkJCQkIsBi1D0jQRQw5CQkJCQkJBTg+wYiwmLRCQoi1QkJItZ +9DnYd0MpwznTD0fahdt0HIP7AY0EQXQdiUQkBItEJCCJXCQIiQQk6FRl//+DxBiJ +2FvCDAAPtwCLVCQgZokCg8QYidhbwgwAxwQkSW5JAOiM8QMAkJCQkJCQkJCQkJCQ +iwHDkJCQkJCQkJCQkJCQkFWJ5VaJzlOD7BCLXQiJHCTom7n//4nxiRwkiUQkCItF +DIlEJAToFgAAAIPsDI1l+FteXcIIAJCQkJCQkJCQkJBVV1ZTg+wsiwmLRCRIi3wk +QItR9IXAdRi4/////zlUJEQPRkQkRIPELFteX13CDAA50HYPg8QsuP////9bXl9d +wgwAKcI7VCREcumLdCREg+gBidWJRCQYjUcCiUQkHI1eAY00WesKg8MBg8YCOcVy +ww+3F41L/4nYZjlW/nXoi0QkGIk0JIlMJBSJRCQIi0QkHIlEJATodWT//4tMJBSF +wHQEidjrwInI6Xj///+QkFWJ5YPsGItFCIsAi1D0iQQkiVQkCItVDIlUJAToL/// +/4PsDMnCCACQkJCQkJCQkFZTg+wUixmLRCQki3QkIItT9DnQcg2DxBS4/////1te +wggAKcIPt/aNBEOJVCQIiXQkBIkEJOj1ZP//hcB01ynYg8QU0fhbXsIIAJCQkJCQ +i1QkBInIixKJEcIEAJCQkIsBi0D0w5CQkJCQkJCQkJCLAcOQkJCQkJCQkJCQkJCQ +iwHDkJCQkJCQkJCQkJCQkItUJASJyIsSiRHCBACQkJCLAYtI9IXJD5TAw5CQkJCQ +iwHDkJCQkJCQkJCQkJCQkFWJ5VaJzlOD7BCLXQiJHCTou7f//4nxiRwkiUQkCItF +DIlEJAToFgAAAIPsDI1l+FteXcIIAJCQkJCQkJCQkJBVV1ZTg+wciwGLfCQ4i2wk +MItY9Dnfdg+DxBy4/////1teX13CDAAp+ztcJDQPR1wkNI00WOsMg+4ChduNQ/90 +14nDiXwkCIlsJASJNCTo3WL//4XAdeCDxByJ2FteX13CDACQkJCQkJCQkJCQkJCQ +VYnlg+wYi0UIiwCLUPSJBCSJVCQIi1UMiVQkBOhv////g+wMycIIAJCQkJCQkJCQ +U4sJuP////8Pt1wkCItR9IXSdQRbwggAjUL/OUQkDA9GRCQM6wyNUP9mOVxRAnTk +idCD+P9171vCCACQkJCQkIsBg+gMw5CQkJCQkJCQkJCLAcOQkJCQkJCQkJCQkJCQ +iwGLQPTDkJCQkJCQkJCQkItUJASJyIsSi0r0jRRKiRDCBACQkJCQkJCQkJCQkJCQ +VYnlVlOD7BCLVQiLXQyLAjtY9Hcji0UQic6JXCQEiRQkiUQkCOjGvAEAifCD7AyN +ZfhbXl3CDADHBCRtb0kA6NztAwCQkJCQkJCQkJCQkJCLAcOQkJCQkJCQkJCQkJCQ +iwGLUPSNBFDDkJCQkJCQkFWJzVdWU4PsHIsBi3wkMItY9Ik8JOjWtf//iXwkBDnY +icaJ2A9GxinziUQkCItFAIkEJOhYYf//hcAPRMODxBxbXl9dwgQAkJCQkJCQkJCQ +VlOD7BSLAYtUJCCLcPSLEonxi1r0iVQkBIkEJDnzD0bLKd6JTCQI6BRh//+FwA9E +xoPEFFtewgQAkJCQkJCQkFWJzVdWU4PsHIsRi1wkMItEJDSLcvQ583dHKd45xg9H +8ItEJDiJBCToM7X//znwiceJ8A9Gxyn+iUQkCItEJDiJRCQEi0UAjQRYiQQk6K5g +//+FwA9ExoPEHFteX13CDADHBCRcbkkA6LPsAwCQkJBXVlOD7BCLEYtEJCCLfCQk +i1wkLIty9DnwdzUpxonZOf4PR/c53g9GzineiUwkCItMJCiNBEKJBCSJTCQE6E5g +//+FwA9ExoPEEFteX8IQAMcEJFxuSQDoVOwDAJCQkJBXVlOD7BCLEYtEJCCLXCQk +i3L0OfB3OotMJCgpxjneD0fzjQRCiwmLWfSJTCQEiQQkOd6J3w9G/ineiXwkCOjt +X///hcAPRMaDxBBbXl/CDADHBCRcbkkA6PPrAwCQkJBVV1ZTg+wciwmLRCQwi2wk +NItUJDyLWfQ52HdNi3QkOIs2i370Ofp3QCnDOesPR90p1zt8JEAPR3wkQI0UVo0E +QTn7if0PRusp+4lsJAiJVCQEiQQk6HZf//+FwA9Ew4PEHFteX13CFADHBCRcbkkA +6HvrAwCQkJCQkJCQkJCQkItUJASJyIsSi0r0jRRKiRDCBACQkJCQkJCQkJCQkJCQ +g+wcixGLRCQgO0L0dwaDxBzCCACLRCQkiQQk6DDrAwCLAYtUJAiLQPQrRCQEOdAP +R8LCCACQkJCQkJCQkJCQkIsBi0D4w5CQkJCQkJCQkJC4/v//H8OQkJCQkJCQkJCQ +iwHDkJCQkJCQkJCQkJCQkIsBi1QkBI0EUMIEAJCQkJCLQQTDkJCQkJCQkJCQkJCQ +D7YBw5CQkJCQkJCQkJCQkA+2AcOQkJCQkJCQkJCQkJBTixG4AQAAAItcJAg503II +A1L0OdMPl8BbwgQAkJCQkFWJ5VaJzlOD7BCLXQiJHCTom7L//4nxiRwkiUQkCItF +DIlEJAToFgAAAIPsDI1l+FteXcIIAJCQkJCQkJCQkJBVV1ZTg+wcizGLfCQ4i2wk +MIte9IX/dQ+DxBy4/////1teX13CDACF23Ttg+sBOVwkNA9GXCQ06xCNtCYAAAAA +hduNQ/900YnDiXwkCA++BB6JLCSJRCQE6Duy//+FwHTfg8QcidhbXl9dwgwAkJCQ +VYnlg+wYi0UIiwCLUPSJBCSJVCQIi1UMiVQkBOhv////g+wMycIIAJCQkJCQkJCQ +U4sJuP////8PtlwkCItR9IXSdQRbwggAjUL/OUQkDA9GRCQM6wo6HAGNUP905onQ +g/j/dfFbwggAkJCQkJCQkFWJ5VaJzlOD7BCLXQiJHCToe7H//4nxiRwkiUQkCItF +DIlEJAToFgAAAIPsDI1l+FteXcIIAJCQkJCQkJCQkJBVuP////9XVlOD7ByLdCQ4 +i1wkNIX2dDGLOYtv9DnddiiJdCQID74EH4lEJASLRCQwiQQk6D+x//+FwHUWg8MB +Od133bj/////g8QcW15fXcIMAIPEHInYW15fXcIMAJBVieWD7BiLRQiLAItQ9IkE +JIlUJAiLVQyJVCQE6H////+D7AzJwggAkJCQkJCQkJBVieUPvkUIiUUIyemwBAAA +icjCBACQkJCQkJCQkJCQkIPsHIsRuPz//z8rQvQDRCQgO0QkJHIGg8QcwgwAi0Qk +KIkEJOin5wMAkJCQkJCQkFWJ5VaJzlOD7BCLXQiJHCToW7D//4nxiRwkiUQkCItF +DIlEJAToFgAAAIPsDI1l+FteXcIIAJCQkJCQkJCQkJBVuP////9XVlOD7ByLMYt8 +JDCLbCQ4i170hdt1CoPEHFteX13CDACD6wE5XCQ0D0ZcJDTrCYXbjUP/dCaJw4ls +JAgPvgQeiTwkiUQkBOgGsP//hcB134PEHInYW15fXcIMAIPEHLj/////W15fXcIM +AJCQkJCQkJCQkJCQkJCQkFWJ5YPsGItFCIsAi1D0iQQkiVQkCItVDIlUJAToX/// +/4PsDMnCCACQkJCQkJCQkFOLCbj/////D7ZcJAiLUfSF0nUEW8IIAI1C/zlEJAwP +RkQkDOsCidA4HAF154XAjVD/dfK4/////1vCCACQkJBVieVWic5Tg+wQi10IiRwk +6Cuv//+J8YkcJIlEJAiLRQyJRCQE6BYAAACD7AyNZfhbXl3CCACQkJCQkJCQkJCQ +VVdWU4PsHIsZi3QkNItsJDCLfCQ4i0P0OcaJRCQMcgvrLoPGATt0JAxzJYl8JAgP +vgQziSwkiUQkBOjprv//hcB134PEHInwW15fXcIMAJCDxBy4/////1teX13CDACQ +VYnlg+wYi0UIiwCLUPSJBCSJVCQIi1UMiVQkBOh/////g+wMycIIAJCQkJCQkJCQ +V1ZTixGLRCQUi3QkEIt69Dn4cxgPthwCifE4y3QH6xE4HAJ1DIPAATn4cvS4//// +/1teX8IIAJCQkJCQkJCQkIPsHIsRi0QkIDtC9HMIAdCDxBzCBADHBCTsbEkA6N7l +AwCQkJCQkJCQkJCQkJCQkIsBA0D0w5CQkJCQkJCQkJCLQQjB6B/DkJCQkJCQkJCQ +i1EIhdIPn8DDkJCQkJCQkIsBi1D0jUQQ/8OQkJCQkJCLAQNA9MOQkJCQkJCQkJCQ +U4PsGIsJi0QkKItUJCSLWfQ52HdBKcM50w9H2oXbdBsByIP7AXQdiUQkBItEJCCJ +XCQIiQQk6B2t//+DxBiJ2FvCDAAPtgCLVCQgiAKDxBiJ2FvCDADHBCT9bEkA6B7l +AwCQkJCQkJCQkJCQkJCQkIsBw5CQkJCQkJCQkJCQkJBVieVWic5Tg+wQi10IiRwk +6But//+J8YkcJIlEJAiLRQyJRCQE6BYAAACD7AyNZfhbXl3CCACQkJCQkJCQkJCQ +Vbj/////V1ZTg+wsizGLbCRIi370he11Fzl8JEQPRkQkRIPELFteX13CDACNdCYA +Of137invOXwkRHfmi0QkQA+2EItEJESNWAGNRf8B3olEJBiLRCRAidWDwAGJRCQc +6wqDwwGDxgE5x3I0iemJ2DhO/41T/3Xqi0QkGIk0JIlUJBSJRCQIi0QkHIlEJATo +fKz//4tUJBSFwHQUidjrwrj/////6Xj///+NtgAAAACJ0Olr////kJCQkJCQkJCQ +VYnlg+wYi0UIiwCLUPSJBCSJVCQIi1UMiVQkBOgf////g+wMycIIAJCQkJCQkJCQ +V1ZTu/////+D7BCLMYtEJCSLfCQgi1b0OdByC4PEEInYW15fwggAifkpwg+++QHw +iVQkCIl8JASJBCTo6Kv//4nCKfKFwA9F2oPEEInYW15fwggAkJCQkJCQkJCQkJCQ +i1QkBInIixKJEcIEAJCQkIsBi0D0w5CQkJCQkJCQkJCLAcOQkJCQkJCQkJCQkJCQ +iwHDkJCQkJCQkJCQkJCQkItUJASJyIsSiRHCBACQkJCLAYtI9IXJD5TAw5CQkJCQ +iwHDkJCQkJCQkJCQkJCQkFWJ5VaJzlOD7BCLXQiJHCToG6v//4nxiRwkiUQkCItF +DIlEJAToFgAAAIPsDI1l+FteXcIIAJCQkJCQkJCQkJBVuP////9XVlOD7ByLOYt0 +JDiLbCQwi1/0Od52CoPEHFteX13CDAAp8ztcJDQPR1wkNOsJhduNQ/90JYnDjQQf +iXQkCIlsJASJBCTowKr//4XAdeCDxByJ2FteX13CDACDxBy4/////1teX13CDACQ +VYnlg+wYi0UIiwCLUPSJBCSJVCQIi1UMiVQkBOhv////g+wMycIIAJCQkJCQkJCQ +U4sJuP////8PtlwkCItR9IXSdQRbwggAjUL/OUQkDA9GRCQM6wo4HAGNUP905onQ +g/j/dfFbwggAkJCQkJCQkIsBg+gMw5CQkJCQkJCQkJCLAcOQkJCQkJCQkJCQkJCQ +iwGLQPTDkJCQkJCQkJCQkItUJASJyIsSA1L0iRHCBABVieVWU4PsEItVCItdDIsC +O1j0dyOLRRCJzolcJASJFCSJRCQI6DYgAgCJ8IPsDI1l+FteXcIMAMcEJCFuSQDo +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 +wgQAkJCQkJCQkJCQkJCQkItRCItEJASLUgiJEItRCItSDIlQBMIEAJCQkJCQkJCQ +i1EIi0QkBItSEIkQi1EIi1IUiVAEwgQAkJCQkJCQkJCLUQiLRCQEi1JIiRCLUQiL +UkyJUASLUQiLUlCJUAiLUQiLUlSJUAyLUQiLUliJUBCLUQiLUlyJUBSLUQiLUmCJ +UBjCBACQkJCQkJCQkJCQkItRCItEJASLUhiJEItRCItSHIlQBMIEAJCQkJCQkJCQ +i1EIi0QkBIuSlAAAAIkQi1EIi5KYAAAAiVAEi1EIi5KcAAAAiVAIi1EIi5KgAAAA +iVAMi1EIi5KkAAAAiVAQi1EIi5KoAAAAiVAUi1EIi5KsAAAAiVAYi1EIi5KwAAAA +iVAci1EIi5K0AAAAiVAgi1EIi5K4AAAAiVAki1EIi5K8AAAAiVAoi1EIi5LAAAAA +iVAswgQAkJCQkJCQkJCQkFWJzVdWU4PsHMdEJAQAAAAAxwQkAAAAAOi7nf//iQQk +icboWZ3//414AYk8JOh+FgQAiXwkCInDiXQkBIkEJOjknP//i0UQxwQkAAAAAIlE +JATogZ3//4tEJDyJRCQMi0QkOIlEJAiLRCQ0iUQkBItEJDCJBCTo9Z3//4lcJASJ +xscEJAAAAADoS53//4XbdAiJHCTo5xUEAIX2dQeLRCQwxgAAg8QcW15fXcIQAIPC +AYkEJHQF6JUe///oYBkEAItRCItEJASLUiyJEItRCItSMIlQBItRCItSNIlQCItR +CItSOIlQDItRCItSPIlQEItRCItSQIlQFItRCItSRIlQGMIEAJCQkJCQkJCQkJCQ +i1EIi0QkBItSIIkQi1EIi1IkiVAEwgQAkJCQkJCQkJCLUQiLRCQEi1JkiRCLUQiL +UmiJUASLUQiLUmyJUAiLUQiLUnCJUAyLUQiLUnSJUBCLUQiLUniJUBSLUQiLUnyJ +UBiLUQiLkoAAAACJUByLUQiLkoQAAACJUCCLUQiLkogAAACJUCSLUQiLkowAAACJ +UCiLUQiLkpAAAACJUCzCBACQkJCQkJCQkJCQkJCQkJDCBACQkJCQkJCQkJCQkJCQ +i1EIi0QkBItSCIkQi1EIi1IMiVAEwgQAkJCQkJCQkJCLUQiLRCQEi1IQiRCLUQiL +UhSJUATCBACQkJCQkJCQkItRCItEJASLUkiJEItRCItSTIlQBItRCItSUIlQCItR +CItSVIlQDItRCItSWIlQEItRCItSXIlQFItRCItSYIlQGMIEAJCQkJCQkJCQkJCQ +i1EIi0QkBItSGIkQi1EIi1IciVAEwgQAkJCQkJCQkJCLUQiLRCQEi5KUAAAAiRCL +UQiLkpgAAACJUASLUQiLkpwAAACJUAiLUQiLkqAAAACJUAyLUQiLkqQAAACJUBCL +UQiLkqgAAACJUBSLUQiLkqwAAACJUBiLUQiLkrAAAACJUByLUQiLkrQAAACJUCCL +UQiLkrgAAACJUCSLUQiLkrwAAACJUCiLUQiLksAAAACJUCzCBACQkJCQkJCQkJCQ +VYnNV1ZTg+wcx0QkBAAAAADHBCQAAAAA6Jua//+JBCSJw+g5mv//jXABiTQk6F4T +BACJXCQEiceJdCQIiQQk6MSZ//+LRRDHBCQAAAAAiUQkBOhhmv//i0QkPIlEJAyL +RCQ4iUQkCItEJDSJRCQEi0QkMIkEJOjdmv//iXwkBMcEJAAAAACJw+grmv//hf90 +CIk8JOjHEgQAhdt1CYtEJDAx0maJEIPEHFteX13CEACDwgGJBCR0BehzG///6D4W +BACQkJCQkJCQkJCQkJCQkItRCItEJASLUiyJEItRCItSMIlQBItRCItSNIlQCItR +CItSOIlQDItRCItSPIlQEItRCItSQIlQFItRCItSRIlQGMIEAJCQkJCQkJCQkJCQ +i1EIi0QkBItSIIkQi1EIi1IkiVAEwgQAkJCQkJCQkJCLUQiLRCQEi1JkiRCLUQiL +UmiJUASLUQiLUmyJUAiLUQiLUnCJUAyLUQiLUnSJUBCLUQiLUniJUBSLUQiLUnyJ +UBiLUQiLkoAAAACJUByLUQiLkoQAAACJUCCLUQiLkogAAACJUCSLUQiLkowAAACJ +UCiLUQiLkpAAAACJUCzCBACQkJCQkJCQkJCQkJCQkJBVuZgNSQCJ5VdWU4PsHOit +EwAAicaLRQiLAItADI0csIsDhcB0Co1l9FteX13CBADHBCRoAAAA6LQRBACJx8dA +BAAAAACJ+ccA8NJJAMdACAAAAADHQAwAAAAAxkAQAMdAFAAAAADHQBgAAAAAx0Ac +AAAAAMdAIAAAAADGQCQAxkAlAMZAZACLRQiJBCToHhMDAItFCIPsBIl0JASJPCSL +COh6VwMAiwOD7AiNZfRbXl9dwgQAiQQk6LMTBADovhkEAIkEJOimEwQAiweJ+f9Q +BOvqicPohhUEAIkcJOh+Gf//kJCQkJCQkJCQkJCQkJBVuZwNSQCJ5VdWU4PsHOi9 +EgAAicaLRQiLAItADI0csIsDhcB0Co1l9FteX13CBADHBCSoAAAA6MQQBAAxyTHS +ZolIJonHx0AEAAAAAIn5xwAA00kAx0AIAAAAAMdADAAAAADGQBAAx0AUAAAAAMdA +GAAAAADHQBwAAAAAx0AgAAAAAGaJUCTGgKQAAAAAi0UIiQQk6AcYAwCLRQiD7ASJ +dCQEiTwkiwjog1YDAIsDg+wIjWX0W15fXcIEAIkEJOi8EgQA6McYBACJBCTorxIE +AIsHifn/UATr6onD6I8UBACJHCTohxj//5CQkJCQkJBVuYwMSQCJ5VdWU4PsHOjN +EQAAiceLRQiLAItADI00uIsGhcB0Co1l9FteX13CBADHBCREAAAA6NQPBACJw8dA +BAAAAACJ2ccAaNRJAMdACAAAAADHQAwAAAAAxkAQAMZAEQDGQBIAx0AUAAAAAMdA +GAAAAADHQBwAAAAAx0AgAAAAAMdAJAAAAADHQCgAAAAAx0AsAAAAAMZAMADGQDEA +xkAyAMZAMwDGQDQAxkA1AMZANgDGQDcAxkBDAItFCIkEJOipLAMAi0UIg+wEiXwk +BIkcJIsI6GVVAwCLBoPsCI1l9FteX13CBACJBCTonhEEAOipFwQAiQQk6JERBACL +A4nZ/1AE6+qJw+hxEwQAiRwk6GkX//+QkJCQkJCQkJBVuZAMSQCJ5VdWU4PsHOit +EAAAiceLRQiLAItADI00uIsGhcB0Co1l9FteX13CBADHBCREAAAA6LQOBACJw8dA +BAAAAACJ2ccAeNRJAMdACAAAAADHQAwAAAAAxkAQAMZAEQDGQBIAx0AUAAAAAMdA +GAAAAADHQBwAAAAAx0AgAAAAAMdAJAAAAADHQCgAAAAAx0AsAAAAAMZAMADGQDEA +xkAyAMZAMwDGQDQAxkA1AMZANgDGQDcAxkBDAItFCIkEJOiZMgMAi0UIg+wEiXwk +BIkcJIsI6EVUAwCLBoPsCI1l9FteX13CBACJBCTofhAEAOiJFgQAiQQk6HEQBACL +A4nZ/1AE6+qJw+hREgQAiRwk6EkW//+QkJCQkJCQkJBVuZQMSQCJ5VdWU4PsHOiN +DwAAiceLRQiLAItADI00uIsGhcB0Co1l9FteX13CBADHBCRUAAAA6JQNBACJw8dA +BAAAAACJ2ccAiNRJAMdACAAAAADHQAwAAAAAxkAQADHAZolDEjHAZolDFItFCMdD +GAAAAADHQxwAAAAAx0MgAAAAAMdDJAAAAADHQygAAAAAx0MsAAAAAMdDMAAAAADG +QzQAxkM1AMZDNgDGQzcAxkM4AMZDOQDGQzoAxkM7AMZDUgCJBCTohTgDAItFCIPs +BIl8JASJHCSLCOghUwMAiwaD7AiNZfRbXl9dwgQAiQQk6FoPBADoZRUEAIkEJOhN +DwQAiwOJ2f9QBOvqicPoLREEAIkcJOglFf//kJCQkJBVuZgMSQCJ5VdWU4PsHOht +DgAAiceLRQiLAItADI00uIsGhcB0Co1l9FteX13CBADHBCRUAAAA6HQMBACJw8dA +BAAAAACJ2ccAmNRJAMdACAAAAADHQAwAAAAAxkAQADHAZolDEjHAZolDFItFCMdD +GAAAAADHQxwAAAAAx0MgAAAAAMdDJAAAAADHQygAAAAAx0MsAAAAAMdDMAAAAADG +QzQAxkM1AMZDNgDGQzcAxkM4AMZDOQDGQzoAxkM7AMZDUgCJBCTohT8DAItFCIPs +BIl8JASJHCSLCOgBUgMAiwaD7AiNZfRbXl9dwgQAiQQk6DoOBADoRRQEAIkEJOgt +DgQAiwOJ2f9QBOvqicPoDRAEAIkcJOgFFP//kJCQkJCLQQTDkJCQkJCQkJCQkJCQ +iwGFwA+VwMOQkJCQkJCQkFWJ5VOD7CSLQQyLSQiLEIlMJASNTfSJBCT/UgyLRfSN +SPSD7AiB+XAMSQB1BYtd/MnDgz0AUUwAAHUhi1D8jVr/iVj8hdJ/5Y1V84kUJIlF +5Ohq8QEAUItF5OvRg8r/8A/BUPzr3pCQkJCQkJCQkJC433RJAMOQkJCQkJCQkJCQ +g8Eo6Wj///+QkJCQkJCQkIPBKOlY////kJCQkJCQkJCNQQzDkJCQkJCQkJCQkJCQ +g8E06Tj///+QkJCQkJCQkI1BDMOQkJCQkJCQkJCQkJCDwTTpGP///5CQkJCQkJCQ +i0EEw5CQkJCQkJCQkJCQkA+2AcOQkJCQkJCQkJCQkJAPtgHDkJCQkJCQkJCQkJCQ +i0EEw5CQkJCQkJCQkJCQkI1BCMOQkJCQkJCQkJCQkJCDwTDpuP7//5CQkJCQkJCQ +jUEIw5CQkJCQkJCQkJCQkIPBMOmY/v//kJCQkJCQkJCNQQTDkJCQkJCQkJCQkJCQ +g8Es6Xj+//+QkJCQkJCQkI1BBMOQkJCQkJCQkJCQkJCDwSzpWP7//5CQkJCQkJCQ +i1QkBDHAOUoEdAXCCABmkItEJAg5Ag+UwMIIAJCQkJBVieVTg+wUiwGLVQiLXQyJ +FCT/UBAxyYPsBDlTBHQJiciLXfzJwggAOQOLXfzJD5TBicjCCACQkJCQkJCQkJCQ +icqLRCQEwgQAkJCQkJCQkItBCMOQkJCQkJCQkJCQkJCLQRTDkJCQkJCQkJCQkJCQ +i0EEw5CQkJCQkJCQkJCQkItBDMOQkJCQkJCQkJCQkJCLQRjDkJCQkJCQkJCQkJCQ +i0EQw5CQkJCQkJCQkJCQkFWJ5VOJy4PsFItFCIPAHIkEJOgJagMAidiLXfyD7ATJ +wgQAkJCQkJCQkJCQkJCQkItBCMOQkJCQkJCQkJCQkJCLQRTDkJCQkJCQkJCQkJCQ +i0EEw5CQkJCQkJCQkJCQkItBDMOQkJCQkJCQkJCQkJCLQRjDkJCQkJCQkJCQkJCQ +i0EQw5CQkJCQkJCQkJCQkFWJ5VOJy4PsFItFCIPAHIkEJOh5aQMAidiLXfyD7ATJ +wgQAkJCQkJCQkJCQkJCQkLiodkkAw5CQkJCQkJCQkJBWic5Tg+wUiwmLXCQghcl0 +UjHSg34E/3QbiwuFyXRLMcCDewT/dB840A+UwIPEFFtewgQAi0EIO0EMczUPtgCJ +RgQx0uvTi0EIO0EMczoPtgCJQwQxwDjQD5TAg8QUW17CBAC6AQAAAOuvuAEAAADr +tosB/1Akg/j/dcTHBgAAAAC6AQAAAOuRiwGJVCQM/1Aki1QkDIP4/3W3uAEAAAA4 +0McDAAAAAA+UwIPEFFtewgQAkJCQkJCQkJCQkJCQkJBTicuD7AiLCYXJdCeLQwSD ++P90DIPECFvDjbQmAAAAAItBCDtBDHMSD7YAiUMEg8QIW8O4/////+vaiwH/UCSD ++P9158cDAAAAAIPECFvDkFeJz1ZTiwm7AQAAAIt0JBCFyXQJMdtmg38E/3RFiw64 +AQAAAIXJdAkxwGaDfgT/dA842A+UwFteX8IEAI10JgCLQQg7QQxzZQ+3AGaD+P90 +L2aJRgQxwDjYD5TAW15fwgQAi0EIO0EMczwPtwBmg/j/dCNmiUcEMdvropCNdCYA +uAEAAAA42McGAAAAAA+UwFteX8IEAMcHAAAAALsBAAAA6Xf///+LAf9QJOvAiwGQ +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 +VYnlU4nLg+wki0UIi00YixCJTCQQi00UiQQkiUwkDItNEIlMJAiLTQyJTCQEidn/ +UgyJ2Itd/IPsFMnCFACQkIsBVYnli0AIyf/gkJCQkJBVieWD7BiLAYtVDIlUJASL +VQiJFCT/UAiD7AjJwgwAkIsBVYnli0AQyf/gkJCQkJBVieVTicuD7BSLRRiJBCTo +7CwBAInYi138g+wEycIUADHAwggAkJCQkJCQkJCQkJDCBACQkJCQkJCQkJCQkJCQ +i0QkBIsAwgQAkJCQkJCQkInIxwFsDEkAwggAkJCQkJBVieVTicuD7CSLRQiLTRiL +EIlMJBCLTRSJBCSJTCQMi00QiUwkCItNDIlMJASJ2f9SDInYi138g+wUycIUAJCQ +iwFVieWLQAjJ/+CQkJCQkFWJ5YPsGIsBi1UMiVQkBItVCIkUJP9QCIPsCMnCDACQ +iwFVieWLQBDJ/+CQkJCQkFWJ5VOJy4PsFItFGIkEJOgcvAAAidiLXfyD7ATJwhQA +McDCCACQkJCQkJCQkJCQkMIEAJCQkJCQkJCQkJCQkJBVieVTicuD7CSNRfeJRCQE +i0UIi0AIi0AIiQQk6B8rAQCJ2Itd/IPsCMnCBACQkJBVieVTicuD7CSNRfeJRCQE +i0UIi0AIi0AUiQQk6O8qAQCJ2Itd/IPsCMnCBACQkJBVieVTicuD7CSNRfeJRCQE +i0UIi0AIi0AciQQk6L8qAQCJ2Itd/IPsCMnCBACQkJCLAYtACP/gkJCQkJCQkJCQ +iwGLQAz/4JCQkJCQkJCQkItBCA+2QCTDkJCQkJCQkJCLQQgPtkAlw5CQkJCQkJCQ +VYnlU4nLg+wUi0UIixCJBCT/UhCJ2Itd/IPsBMnCBABVieVTicuD7BSLRQiLEIkE +JP9SFInYi138g+wEycIEAFWJ5VOJy4PsFItFCIsQiQQk/1IYidiLXfyD7ATJwgQA +VYnlU4nLg+wkjUX3iUQkBItFCItACItACIkEJOjvKQEAidiLXfyD7AjJwgQAkJCQ +VYnlU4nLg+wkjUX3iUQkBItFCItACItAFIkEJOjPuQAAidiLXfyD7AjJwgQAkJCQ +VYnlU4nLg+wkjUX3iUQkBItFCItACItAHIkEJOifuQAAidiLXfyD7AjJwgQAkJCQ +iwGLQAj/4JCQkJCQkJCQkIsBi0AM/+CQkJCQkJCQkJCLQQgPt0Akw5CQkJCQkJCQ +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 +izyHg8YBiTwk6AKp/v85xonDcxWNRRCJBCSNTQjoHhr//4PsBITAdCE53g+FL/7/ +/4tFGIt94Ik46Sj+//9mkLj/////6Tb///8PtgQ3jU0IiEXk6Kca//84ReR1y41N +CIPGAejHXQIAOd5yp+u6iwGJVdz/UCSLVdyD+P8PhUX////HRQgAAAAAuP/////p +7P7//4sB/1Ao6a3+//+QkFWJ5VdWU4HsvAAAAItVDImNaP///4tFEItNFItdCImV +bP///4tVGImFdP///4mNcP///416bIk8JOiC+wIAiTwkicboOPwCAItGCIu4lAAA +AIl9iIu4mAAAAIuAnAAAAIl9jIlFkItGCIuAoAAAAIlFlItGCIuApAAAAIlFmItG +CIuAqAAAAIlFnItGCIuArAAAAIlFoItGCIuAsAAAAIlFpItGCIuAtAAAAIlFqItG +CIuAuAAAAIlFrItGCIuAvAAAAIlFsItGCIuAwAAAAIlFtItGCItAZIlFuItGCItA +aIlFvItGCItAbIlFwItGCItAcIlFxItGCItAdIlFyItGCItAeIlFzItGCItAfIlF +0ItGCIuAgAAAAIlF1ItGCIuAhAAAAIlF2ItGCIuAiAAAAIlF3ItGCIuAjAAAAIlF +4ItGCIuAkAAAAIlF5IuNcP///41FhIlEJCCNRYiLfRiJRCQUjUWAi5Vs////iUQk +EIuFdP///4lMJAyLjWj///+JfCQciRwkx0QkGAwAAACJRCQIiVQkBMdFhAAAAADo +nAwAAInDiceLRYSD7CSJ1oXAdU6LTYCLRSCJSBCF2w+EhAAAAIP6/8aFbP///wB0 +P4uddP///4XbdGcxwIO9cP////90PjqFbP///3UGi0UcgwgCjWX0ifhbifJeX13C +HACLRRyDCATrs422AAAAAItDCDtDDHM9D7YwxoVs////AOuti4V0////i1gMOVgI +cwQxwOuwicGLAP9QJIPAAXXwuAEAAADrncaFbP///wHpfP///4sDidn/UCSD+P+J +xnW4xoVs////ATH/6WD///+QkJCQkJCQkJCQkJCQkJBVieVXVlOB7IwAAACLRRiJ +TaCNWGyJHCToI/kCAIkcJDHbiUWU6Nb5AgCJxotFJIkEJOi5pf7/x0WwAAAAAIlF +pItNCIXJD4R5CgAAMdKDfQz/D4QMAQAAi00QhckPhGwKAAAxwIN9FP8PhBEBAAA4 +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 +iwSfi1UciwSCiQQk6I+M/v85xg9H8IPDATtd5HLii00Ihcl0G4tBCDtBDA+DTQEA +AIPAAolBCLv/////ZoldDINF3AE5ddwPgwP///+NRRCJBCSNTQjodf7+/4PsBITA +D4Xq/v//i0XcMdKLXeQBwIlF4OsMg+sBiwSfOdOJBnY5jTSXi00ciwaLBIGLTeAP +twQIi00IZolF5Lj/////hcl0Cg+3RQxmg/j/dHhmOUXkdcKDwgE503fHg/sBiV3k +D4ca////idqD+gEPhX/+//+NTQjoB0ECAIsHi30ci13ciUXgiwSHg8MBiQQkiUXk +6KuL/v85w4nGcxWNRRCJBCSNTQjox/3+/4PsBITAdDw58w+FOP7//4tFGIt94Ik4 +6TH+//+LQQg7QQxzRA+3AGaD+P90CmaJRQzpbv///5DHRQgAAAAA6WH///+LReSN +TQgPtzxY6DX+/v9mOcd1sI1NCIPDAeh1QAIAOfNyjOufiwGJVdj/UCSLVdjrsosB +/1Ao6a/+//+QkJCQkJCQkFWJ5VdWU4HsvAAAAItFCIt1FImNYP///4tNGIt9DImF +ZP///4tFEIm1aP///41xbIk0JImFbP///+hy3gIAiTQkicPoKN8CAItDCIuQlAAA +AIlViIuQmAAAAIuAnAAAAIlVjIlFkItDCIuAoAAAAIlFlItDCIuApAAAAIlFmItD +CIuAqAAAAIlFnItDCIuArAAAAIlFoItDCIuAsAAAAIlFpItDCIuAtAAAAIlFqItD +CIuAuAAAAIlFrItDCIuAvAAAAIlFsItDCIuAwAAAAIlFtItDCItAZIlFuItDCItA +aIlFvItDCItAbIlFwItDCItAcIlFxItDCItAdIlFyItDCItAeIlFzItDCItAfIlF +0ItDCIuAgAAAAIlF1ItDCIuAhAAAAIlF2ItDCIuAiAAAAIlF3ItDCIuAjAAAAIlF +4ItDCIuAkAAAAIlF5I1FhItNGIlEJCCNRYiLtWj///+JRCQUjUWAiUQkEIuFbP// +/4lMJByLjWD///+JdCQMiXwkBIlEJAiLhWT////HRCQYDAAAAMdFhAAAAACJBCTo +XBAAAInDZonXidCJ1omVdP///4tVhIPsJImdcP///4mdZP///4XSdVeLVYCLTSCJ +URCF27oBAAAAdAgx0maD+P90X4uNbP///7gBAAAAhcl0DDHAZoO9aP////90KjjQ +dQaLRRyDCAJmifeLhWT///+NZfSJ+lteX13CHACNdgCLVRyDCgTrqouNbP///4tB +CDtBDHMxD7cAZoP4/w+UwOu8i0MIO0MMczYPtzBmg/7/uAAAAAAPRNgPlMKJnWT/ +///pfP///4uNbP///4mVaP///4sB/1Aki5Vo////67mLA4nZ/1AkicbrwpCQkJCQ +VYnlV1ZTgew8AQAAi0UYiY3s/v//jVhsiRwk6ADcAgCJHCSJhej+///ostwCAInD +i0UkiQQk6EWI/v8x0sdFsAAAAACJ1omF9P7//410JgCLTQi6AQAAAIXJdA0x0maD +fQz/D4THAAAAi00QuAEAAACFyXQNMcBmg30U/w+E0gAAADjQD4ScAAAAO7X0/v// +i0Wwc2uFwHVni1UkjTw2iwPHRCQEAAAAAAH6D7cKiZXw/v//iQwkidn/UDCLlfD+ +//+D7Ag8JQ+EqwAAAItNCLj/////D7c6hcl0Dg+3RQxmg/j/D4TYAAAAZjnHD4Tx +AAAAg02wBIPGAelR////kInyhcB1CjuV9P7//3QIZpCLRRyDCASLRQiLVQyNZfRb +Xl9dwiAAifKLRbDr1Y12AItBCDtBDA+DJA4AAA+3AGaD+P8PhLkAAABmiUUMMdLp +Ff///4tBCDtBDA+D6g0AAA+3AGaD+P8PhIQAAABmiUUUMcDpCv///4tVJI1GAYnZ +iYXw/v//iwPHRCQEAAAAAA+3VDoCiRQk/1Awx0W0AAAAAIPsCDxPdGo8RXRmg+hB +PDgPh8AAAAAPtsD/JIUIckkAi0EIO0EMD4NyDQAAD7cAZoP4/3RpZjnHZolFDA+F +D////41NCOjUOwIA6Qb////HRRAAAAAAuAEAAADpgP7//8dFCAAAAAC6AQAAAOlW +/v//jUYCi3UkidmJhfD+//+LA8dEJAQAAAAAD7dUPgSJFCT/UDCD7Ajpb////2aQ +x0UIAAAAAOme/v//jXQmAI1NCOgY+f7/ixOJ2cdEJAQAAAAAD7fAiQQk/1Iwg+wI +PAoPhEMMAACDTbAEjXQmAIu18P7//+ls/v//kI10JgCLhej+//+LVRSLjez+//+L +QAiLQAiJVCQMi1UMiUQkHItFIIlUJASJRCQYjUWwiUQkFItFGIlEJBCLRRCJRCQI +i0UIiQQk6CX9//+JhSD///+D7CCJlST///+JRQgPt4Uk////ZolFDOuGjbYAAAAA +i73o/v//i0cIi1AsiVW4i1AwiVW8i0A0i1UUiUXAi0cIi0A4iUXEi0cIi0A8iUXI +i0cIi0BAiUXMi0cIi0BEiVQkDItVDMdEJBgHAAAAiUXQjUWwiUQkIItFGIlEJByN +RbiJRCQUi0Ugg8AYiUQkEItFEIlEJAiLRQiJBCSLjez+//+JVCQE6FT3//+JRZiD +7CSJVZyJRQgPt0WcZolFDOnb/v//i73o/v//i0cIi1BkiVW4i1BoiVW8i0BsiUXA +i0cIi0BwiUXEi0cIi0B0iUXIi0cIi0B4iUXMi0cIi0B8iUXQi0cIi4CAAAAAiUXU +i0cIi4CEAAAAiUXYi0cIi4CIAAAAiUXci0cIi4CMAAAAiUXgi0cIi4CQAAAAiUXk +jUWwi1UUiUQkIItFGIuN7P7//8dEJBgMAAAAiVQkDItVDIlEJByNRbiJRCQUi0Ug +iVQkBIPAEIlEJBCLRRCJRCQIi0UIiQQk6HP2//+JRYiD7CSJVYyJRQgPt0WMZolF +DOn6/f//jUWwi1UUiUQkJItFGIuN7P7//8dEJBwEAAAAiVQkDItVDIlEJCCNRbSJ +RCQQi0UQx0QkGA8nAADHRCQUAAAAAIlUJASJRCQIi0UIiQQk6Bfy//+LfbCJhRD/ +//+D7CiF/4mVFP///4lFCA+3hRT///9miUUMD4V//f//i1W0i30gjUJkhdKNipT4 +//8PScGJRxTpY/3//412AIsDjX24idmJfCQIx0QkBPdxSQDHBCTucUkA/1Asi0Ug +i1UUi43s/v//g+wMiUQkGI1FsIlEJBSLRRiJVCQMi1UMiXwkHIlEJBCLRRCJVCQE +iUQkCItFCIkEJOiB+v//iYVg////g+wgiZVk////iUUID7eFZP///2aJRQzp3/z/ +/41FsItVFIlEJCSLRRiLjez+///HRCQcAgAAAIlUJAyLVQyJRCQgi0Ugx0QkGBcA +AADHRCQUAAAAAIlUJASDwAiJRCQQi0UQiUQkCItFCIkEJOj58P//iYVY////g+wo +iZVc////iUUID7eFXP///2aJRQzpZ/z//420JgAAAACNRbCLVRSJRCQki0UYi43s +/v//x0QkHAIAAACJVCQMi1UMiUQkIItFIMdEJBgMAAAAx0QkFAEAAACJVCQEg8AI +iUQkEItFEIlEJAiLRQiJBCToevD//4mFUP///4PsKImVVP///4lFCA+3hVT///9m +iUUM6ej7//+NRbCLVRSJRCQki0UYi43s/v//x0QkHAIAAACJVCQMi1UMiUQkIItF +IMdEJBg7AAAAx0QkFAAAAACJVCQEg8AEiUQkEItFEIlEJAiLRQiJBCToAvD//4mF +QP///4PsKImVRP///4lFCA+3hUT///9miUUM6XD7//+LA419uInZiXwkCMdEJAT9 +cUkAxwQk93FJAP9QLItFIItVFIuN7P7//4PsDIlEJBiNRbCJRCQUi0UYiVQkDItV +DIl8JByJRCQQi0UQiVQkBIlEJAiLRQiJBCTokfj//4mFOP///4PsIImVPP///4lF +CA+3hTz///9miUUM6e/6//+NRbCLVRSJRCQki0UYi43s/v//x0QkHAIAAACJVCQM +i1UMiUQkIItFIMdEJBg9AAAAx0QkFAAAAACJVCQEiUQkEItFEIlEJAiLRQiJBCTo +DO///4mFMP///4PsKImVNP///4lFCA+3hTT///9miUUM6Xr6//+LA419uInZiXwk +CMdEJAQGckkAxwQk/XFJAP9QLItFIItVFIuN7P7//4PsDIlEJBiNRbCJRCQUi0UY +iVQkDItVDIl8JByJRCQQi0UQiVQkBIlEJAiLRQiJBCTom/f//4mFKP///4PsIImV +LP///4lFCA+3hSz///9miUUM6fn5//+Lhej+//+LVRSLjez+//+LQAiLQBCJVCQM +i1UMiUQkHItFIIlUJASJRCQYjUWwiUQkFItFGIlEJBCLRRCJRCQIi0UIiQQk6C73 +//+JhRj///+D7CCJlRz///+JRQgPt4Uc////ZolFDOmM+f//jU0I6HTy/v+LE4nZ +xwQkAQAAAA+3wIlEJAT/UgiD7AiEwA+EXPn//41FsItVFIlEJCCLRRiLjez+///H +RCQYDgAAAIlUJAyLVQyJRCQcjUW4iUQkEItFEMdEJBQADUkAiVQkBIlEJAiLRQiJ +BCToefH//41NCImFCP///4PsJImVDP///4lFCA+3hQz///9miUUMjUUQiQQk6B7x +/v+D7ASEwA+F4/j//4t1sIX2D4XY+P//i024hckPhc34//+NTQjotfH+/4nZicaL +A8cEJC0AAAD/UCiD7ARmOcZ0JI1NCOiV8f7/idmJxosDxwQkKwAAAP9QKIPsBGY5 +xg+Fifj//41FsItVFIlEJCSLRRiLvez+///HRCQcAgAAAIlUJAyLVQyJRCQgjUW4 +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 +U4nLg+wYi1QkKItEJCDGRCQMAIlUJAiLVCQkiQQkjRRQiVQkBOiG4f//iQODxBhb +wgwAkJCQkJCQkJCQkJCQkMcBbAxJAMIEAJCQkJCQkJBVieVWic5Tg+wgi0UIixiL +Q/yNS/SFwHgXgflgDEkAdTCJ2IkGjWX4W15dwgQAZpCNRffHRCQEAAAAAIkEJOhd +5v//iQaD7AiNZfhbXl3CBACNQ/zoD40CAOvGkJCQkJBVic1XVlOD7CyLVCRAi0Qk +RIt0JEiLEota9InfKcc59w9G9wHGOdiNDHJ3KY1cJB+NBEKJXCQIxkQkDACJTCQE +iQQk6Ijh//+JRQCDxCxbXl9dwgwAxwQkUm9JAOivLQIAkJCQkJCQkJCQkJCQkJCQ +VYnNV1ZTg+wci1QkMItEJDSLdCQ4ixKLWvSJ3ynHOfcPRvcBxjnYjQxydymLXCQ8 +jQRCxkQkDACJTCQEiQQkiVwkCOgY4f//iUUAg8QcW15fXcIQAMcEJFJvSQDoPy0C +AJCQkJCQkJCQkJCQkJCQkFOJy4PsGItUJCiLRCQgxkQkDACJVCQIi1QkJIkEJI0U +UIlUJATo9t///4kDg8QYW8IMAJCQkJCQkJCQkJCQkJBTicuD7AiLRCQQi1QkFIXA +dQ64bAxJAIkDg8QIW8IMAItMJBgPt9LopN7//4kDg8QIW8IMAJCQkJCQkJCQkJCQ +xwFsDEkAw5CQkJCQkJCQkFOJy4PsGItEJCjGRCQMAIlEJAiLRCQkiUQkBItEJCCJ +BCTo2d7//4kDg8QYW8IMAFOJy4PsGItEJCjGRCQMAIlEJAiLRCQkiUQkBItEJCCJ +BCToOd///4kDg8QYW8IMAFOJy4PsGItEJCjGRCQMAIlEJAiLRCQkiUQkBItEJCCJ +BCTo2d///4kDg8QYW8IMAIsJg+kMgflgDEkAdQLzw+kEiwIAkJCQkJCQkJCQkJCQ +iwmD6QyB+WAMSQB1AvPD6eSKAgCQkJCQkJCQkJCQkJBTiciLCYtcJAiLUfyF0ngX +ixODevwAeQfHQvwAAAAAiRCJC1vCBADHQfwAAAAA6+BVieVWic5Tg+wQi10IiRwk +6Mvz/f+J8YkcJIlEJATo7er//4PsCI1l+FteXcIEAJBVieXJ6bfr//+QkJCQkJCQ +VYnlU4nLg+wUi0UMiUQkBItFCIkEJOi16v//idiLXfyD7AjJwggAkJCQkJCQkJCQ +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 +i138g+wQycIMAMcEJG9tSQDo6soBAJCQkJCQkJCQkJBWic5Tg+wEi1wkEIsTi0r8 +hcl4CYnZ6CXt//+LEwNS9InwiRaDxARbXsIEAJCQkJBVieWD7BiLRQjHRCQEAAAA +AIkEJOgHAAAAg+wIycIEAFWJ5VOD7BSLRQiLEYtdDD38//8/i1L0d0k50HYLKdB1 +L4td/MnCCABz9ynCx0QkCAAAAACJVCQEiQQk6BAGAACLXfyD7AzJwggAjbYAAAAA +D77biV0Mi138iUUIyen++P//xwQkxG1JAOiCyQEAkJCLRCQMi1QkBItMJAiD+AF0 +EYlEJAyJTCQIiVQkBOnWkf3/D7YBiALDkJCQkJCQkJCLRCQEiQHCBACQkJCQkJCQ +iwGLQPyFwHgH6TLs//9mkPPDkJCQkJCQkJCQkJCQkJCLRCQMi1QkBItMJAiD+AF0 +EYlEJAyJTCQIiVQkBOmukf3/D7YBiALDkJCQkJCQkJBVieWLVQiLRQxTi10QKV0U +i138KdArEYlFDIlVCMnp3QEAAJCQkJCQkJCQkJCQkJBVieVXic9WU4PsHIt1EItd +CIk0JOh3kf3/ifmJdCQIiUQkDItFDCnYKx+JRCQEiRwk6JoBAACD7BCNZfRbXl9d +wgwAkJCQkJCQkJCQkJCQkFWJ5YtVCItFDFOLXRApXRSLXfwp0CsRiUUMiVUIyeld +AQAAkJCQkJCQkJCQkJCQkFWJ5YtVCItFDFOLXfwp0CsRiUUMiVUIyekzAQAAkJCQ +VYnlVlOD7BCLXRCLVQiLRQyLGynQKxGLc/SJXCQIiUQkBIkUJIl0JAzoAgEAAIPs +EI1l+FteXcIMAJCQkJCQkFWJ5YtVCItFDFOLXRApXRSLXfwp0CsRiUUMiVUIyenN +AAAAkJCQkJCQkJCQkJCQkFWJ5YtVCItFDFOLXRApXRSLXfwp0CsRiUUMiVUIyemd +AAAAkJCQkJCQkJCQkJCQkFWJ5YtVCItFDFOLXfwp0CsRiUUMiVUIyelzAAAAkJCQ +VYnli1UIi0UMUw++XRQp0CsRiV0Ui138iUUMiVUIyek87v//kJCQkJCQkJCQkJCQ +VYnlVonOU4PsEItdEIkcJOjrj/3/ifGJXCQIiUQkDItFDIlEJASLRQiJBCToDwAA +AIPsEI1l+FteXcIMAJCQkFWJ5VdWic5Tg+w8iwGLXQiLfQyLSPQ5yw+HQQEAAInK +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 +i0QkBAFBCMIEAJCQkJCQkMIEAJCQkJCQkJCQkJCQkJCLRCQEAUEUwgQAkJCQkJCQ +i0EIO0EMcwQPtgDDiwGLQCT/4JCQkJCQkJCQkJCQkJCLAVWJ5YtAIMn/4JCQkJCQ +i1EUO1EYVYnli0UIcw2IAg+2wINBFAHJwgQAixEPtsCJRQiLQjTJ/+CQkJCQkJCQ +iwFVieWLQDDJ/+CQkJCQkFOJy4PsCIsB/1Akg/j/dBGLUwgPtgKDwgGJUwiDxAhb +w7j/////6/SQkJCQkJCQkItRCDtRDHMKD7YCg8IBiVEIw4sBi0Ao/+CQkJCQkJCQ +icjCCACQkJCQkJCQkJCQkFOJy4PsCItRCItBDDnCcxKDwgGJUQg5wnMfD7YCg8QI +W8OLAf9QKInCg8j/g8IBdOyLUwiLQwzr3YsDidmLQCSDxAhb/+CQkJCQkJCQkJCQ +i0EIO0EMcwiDwAGJQQjDkIsBi0Ao/+CQkJCQkJCQkJBVV1ZTg+wci0QkNIt8JDCF +wH5oicsx7YtTCItDDCnQdSaLA4nZ/1Aog/j/dEKDxQE5bCQ0jVcBiAd+NInXi0MM +i1MIKdB02otMJDSJVCQEiTwkKek5wQ9OwYnGiUQkCAH16KKX/P8Bcwg5bCQ0fxCD +xByJ6FteX13CCAAx7evwAffrnpCQkJCQkJCQkJCQkJBVieVXVlOD7ByLVQyLdQiF +0n5uicsx/4tTFItDGCnQdSqLA4nZD7YWiRQk/1A0g+wEg/j/dD+DxwGDxgE5fQx+ +NItTFItDGCnQdNaLTQyJdCQEiRQkKfk5wQ9PyIlMJAiJTeToEJf8/4tN5AFLFAHP +OX0MfxCNZfSJ+FteX13CCAAx/+vwAc7rmJCQkJCQkJCLAYtAGP/gkJCQkJCQkJCQ +icjHAf/////HQQT/////x0EIAAAAAMIUAJCQkJCQkJCD7BSJyMcB/////8dBBP// +///HQQgAAAAAg8QUwhgAkItBCDlBBHMLjVD/iVEID7ZA/8NVieWD7BiLAccEJP// +////UCxSycOQkJCQkJCQkItBDCtBCHQI88ONtgAAAACLAYtAHP/gkJCQkJCQkJCQ +uP/////CBACQkJCQkJCQkFWJ5VdWU4nLg+wci3UIjX4ciTwk6PdwAACLBonxi1UM +g+wEiRQk/1AIi0UMg+wEifmJBCToB3IAAInYg+wEjWX0W15fXcIIAInGidnon3EA +AIk0JOgHGPz/kJCQkJCQkLj/////wgQAkJCQkJCQkJCLAVWJ5YtADMn/4JCQkJCQ +McDDkJCQkJCQkJCQkJCQkItBCDlBBFWJ5YtVCHMFOFD/dA6LAQ+20olVCItALMn/ +4I1Q/4lRCA+2QP/JwgQAkLj/////w5CQkJCQkJCQkJBVg8EcieWLRQjHQeTo0EkA +i1AEg8AciVHoi1DsiVHsi1DwiVHwi1D0iVH0i1D4iVH4i1D4iVH8iUUIyekAcAAA +xwHo0EkAg8Ecx0HoAAAAAMdB7AAAAADHQfAAAAAAx0H0AAAAAMdB+AAAAADHQfwA +AAAA6ehvAACQkJCQkJCQkFWDwRyJ5YtFCMdB5OjQSQCLUASDwByJUeiLUOyJUeyL +UPCJUfCLUPSJUfSLUPiJUfiLUPiJUfyJRQjJ6YBvAADHAejQSQCDwRzHQegAAAAA +x0HsAAAAAMdB8AAAAADHQfQAAAAAx0H4AAAAAMdB/AAAAADpaG8AAJCQkJCQkJCQ +U4nLg+wYjUkcx0Hk6NBJAOgLcAAAiRwk6LMNAQCDxBhbw5CQkJCQkJCQkJCQkJCQ +xwHo0EkAg8Ec6eJvAACQkMcB6NBJAIPBHOnSbwAAkJCJyMIEAJCQkJCQkJCQkJCQ +VYnlV1ZTicuD7CyLRQiLTRiLdQyLfRCLEIlMJBCLTRSJdCQEiXwkCIkEJIlMJAyJ +2f9SEInYg+wUjWX0W15fXcIUAJCQkJCQkJCQkJCQkJBVieVXVlOJy4PsPIt1GItF +CIt9DItNEIl15ItVFIswi0UciX3YiU3ciVXgiUQkFItFGIl8JASJTCQIidmJVCQM +iUQkEItFCIkEJP9WFInYg+wYjWX0W15fXcIYAJCQkJCLRCQEAcABQQjCBACQkJCQ +i0QkBAHAAUEUwgQAkJCQkItEJASJQQSLRCQIiUEIi0QkDIlBDMIMAJCQkJCQkJCQ +i0QkBIlBFIlBEItEJAiJQRjCCACQkJCQkJCQkJCQkJAxwMOQkJCQkJCQkJCQkJCQ +i0QkBAHAAUEIwgQAkJCQkMIEAJCQkJCQkJCQkJCQkJCLRCQEAcABQRTCBACQkJCQ +i0EIO0EMcwQPtwDDiwGLQCT/4JCQkJCQkJCQkJCQkJCLAVWJ5YtAIMn/4JCQkJCQ +i1EUO1EYVYnli0UIcw1miQKDwgKJURTJwgQAixEPt8CJRQiLQjTJ/+CQkJCQkJCQ +iwFVieWLQDDJ/+CQkJCQkFOJy4PsCIsB/1Akuv////9mg/j/dAyLQwgPtxCDwAKJ +QwiDxAiJ0FvDkJCQkJCQkItRCDtRDHMKD7cCg8ICiVEIw4sBi0Ao/+CQkJCQkJCQ +icjCCACQkJCQkJCQkJCQkFOJy4PsCItRCDtRDHMfD7cCg8ICiVEIZoP4/3Qki0MI +O0MMcw8PtwCDxAhbw4sB/1Ao6+OLA4nZi0Akg8QIW//gg8j/6+KQkJCQkJCQkJCQ +i0EIO0EMcwiDwAKJQQjDkIsBi0Ao/+CQkJCQkJCQkJBVV1ZTg+wci1wkNIt8JDCF +235xicsx7YtDCItTDCnC0fp1KosDidn/UChmg/j/dEiDxQE5bCQ0jVcCZokHfjmJ +14tDCItTDCnC0fp01otMJDSJ1olEJASJPCQp6TnRD07xiXQkCAH16NQ8/P+NFDYB +Uwg5bCQ0fxCDxByJ6FteX13CCAAx7evwAdfrl5CQkJBVieVXVlOD7ByLdQyLfQiF +9n51icsx9otDFItTGCnC0fp1LYsDidkPtxeJFCT/UDSD7ARmg/j/dEODxgGDxwI5 +dQx+OItDFItTGCnC0fp004tNDIl8JASJBCQp8TnRD07RiVQkCIlV5OhDPPz/i1Xk +AdYB0gFTFDl1DH8QjWX0ifBbXl9dwggAMfbr8AHX65OLAYtAGP/gkJCQkJCQkJCQ +icjHAf/////HQQT/////x0EIAAAAAMIUAJCQkJCQkJCD7BSJyMcB/////8dBBP// +///HQQgAAAAAg8QUwhgAkItBCDlBBHMLjVD+D7dA/olRCMNVieWD7BiLAccEJP// +AAD/UCxRycOQkJCQkJCQkItBDCtBCNH4dAbzw410JgCLAYtAHP/gkJCQkJCQkJCQ +uP/////CBACQkJCQkJCQkFWJ5VdWU4nLg+wci3UIjX4ciTwk6GdqAACLBonxi1UM +g+wEiRQk/1AIi0UMg+wEifmJBCTod2sAAInYg+wEjWX0W15fXcIIAInGidnoD2sA +AIk0JOh3Efz/kJCQkJCQkLj/////wgQAkJCQkJCQkJCLAVWJ5YtADMn/4JCQkJCQ +McDDkJCQkJCQkJCQkJCQkItRCDlRBFWJ5VOLXQhzCQ+3Qv5mOdh0GIsBD7fbiV0I +i138i0Asyf/gjbQmAAAAAIPqAotd/IlRCMnCBACQkJC4/////8OQkJCQkJCQkJCQ +VYPBHInli0UIx0HkKNFJAItQBIPAHIlR6ItQ7IlR7ItQ8IlR8ItQ9IlR9ItQ+IlR ++ItQ+IlR/IlFCMnpYGkAAMcBKNFJAIPBHMdB6AAAAADHQewAAAAAx0HwAAAAAMdB +9AAAAADHQfgAAAAAx0H8AAAAAOlIaQAAkJCQkJCQkJBVg8EcieWLRQjHQeQo0UkA +i1AEg8AciVHoi1DsiVHsi1DwiVHwi1D0iVH0i1D4iVH4i1D4iVH8iUUIyengaAAA +xwEo0UkAg8Ecx0HoAAAAAMdB7AAAAADHQfAAAAAAx0H0AAAAAMdB+AAAAADHQfwA +AAAA6choAACQkJCQkJCQkFOJy4PsGI1JHMdB5CjRSQDoa2kAAIkcJOgTBwEAg8QY +W8OQkJCQkJCQkJCQkJCQkMcBKNFJAIPBHOlCaQAAkJDHASjRSQCDwRzpMmkAAJCQ +icjCBACQkJCQkJCQkJCQkFWJ5Ve/YHNJAFZTicuD7ByLRQyJBCToBZIAAIt1CLkC +AAAAxwNo0UkAg+wE86Z0EYt1CL9ic0kAuQYAAADzpnUPjWX0W15fXcIIAJCNdCYA +jXMIiTQk6AVlAACLRQjHRCQIAAAAAIk0JIlEJATofmQAAI1l9FteX13CCACJxonZ +6DuSAACJNCToAw/8/5CQkFWJ5Ve/YHNJAFZTicuD7ByLRQyJBCTodZEAAIt1CLkC +AAAAxwNo0UkAg+wE86Z0EYt1CL9ic0kAuQYAAADzpnUPjWX0W15fXcIIAJCNdCYA +jXMIiTQk6HVkAACLRQjHRCQIAAAAAIk0JIlEJATo7mMAAI1l9FteX13CCACJxonZ +6KuRAACJNCTocw78/5CQkFOJy4PsGMcBaNFJAOiPkQAAiRwk6JcFAQCDxBhbw5CQ +xwFo0UkA6XWRAACQkJCQkMcBaNFJAOllkQAAkJCQkJBVieVXv6RxSQBWU4nLg+wc +i0UMiQQk6EWSAACLdQi5AgAAAMcDiNFJAIPsBPOmdBGLdQi/pnFJALkGAAAA86Z1 +D41l9FteX13CCACQjXQmAI1zCIk0JOilYwAAi0UIx0QkCAAAAACJNCSJRCQE6B5j +AACNZfRbXl9dwggAicaJ2eh7kgAAiTQk6KMN/P+QkJBVieVXv6RxSQBWU4nLg+wc +i0UMiQQk6LWRAACLdQi5AgAAAMcDiNFJAIPsBPOmdBGLdQi/pnFJALkGAAAA86Z1 +D41l9FteX13CCACQjXQmAI1zCIk0JOgVYwAAi0UIx0QkCAAAAACJNCSJRCQE6I5i +AACNZfRbXl9dwggAicaJ2ejrkQAAiTQk6BMN/P+QkJBTicuD7BjHAYjRSQDoz5EA +AIkcJOg3BAEAg8QYW8OQkMcBiNFJAOm1kQAAkJCQkJDHAYjRSQDppZEAAJCQkJCQ +VTHAieVXVlOJy4PsLIt1DMcBaNhJAMdBCAAAAACF9g+VwIlBBMcEJAAAAADor5EA +AIt1CL9gc0kAuQIAAADHA6jRSQCD7ATzpnQRi3UIv2JzSQC5BgAAAPOmdQqNZfRb +Xl9dwggAi0UIjXXkx0QkCAAAAACJNCSJRCQE6LBhAACLReSJ2YkEJOhTkQAAg+wE +iTQk6AhiAACNZfRbXl9dwggAicaJ2egllAAAiTQk6B0M/P+JxonZ6CRiAACJNCTo +DAz8/5CQkJCQkJCQkJCQkFUxwInlV1ZTicuD7CyLTQzHA2jYSQDHQwgAAAAAxwQk +AAAAAIXJidkPlcCJQwTo3ZAAAIt1CL9gc0kAuQIAAADHA6jRSQCD7ATzpnQRi3UI +v2JzSQC5BgAAAPOmdQqNZfRbXl9dwggAi0UIjXXkx0QkCAAAAACJNCSJRCQE6N5g +AACLReSJ2YkEJOiBkAAAg+wEiTQk6DZhAACNZfRbXl9dwggAicaJ2ehTkwAAiTQk +6EsL/P+JxonZ6FJhAACJNCToOgv8/5CQkJCQkJCQkJBTicuD7BjHAajRSQDoH5MA +AIkcJOhXAgEAg8QYW8OQkMcBqNFJAOkFkwAAkJCQkJDHAajRSQDp9ZIAAJCQkJCQ +VTHAieVXVlOJy4PsLItNDMcDqNhJAMdDCAAAAADHBCQAAAAAhcmJ2Q+VwIlDBOj9 +kgAAi3UIv6RxSQC5AgAAAMcD6NFJAIPsBPOmdBGLdQi/pnFJALkGAAAA86Z1Co1l +9FteX13CCACLRQiNdeTHRCQIAAAAAIk0JIlEJATozl8AAItF5InZiQQk6KGSAACD +7ASJNCToJmAAAI1l9FteX13CCACJxonZ6IOVAACJNCToOwr8/4nGidnoQmAAAIk0 +JOgqCvz/kJCQkJCQkJCQkFUxwInlV1ZTicuD7CyLVQzHAajYSQDHQQgAAAAAhdIP +lcCJQQTHBCQAAAAA6C+SAACLdQi/pHFJALkCAAAAxwPo0UkAg+wE86Z0EYt1CL+m +cUkAuQYAAADzpnUKjWX0W15fXcIIAItFCI115MdEJAgAAAAAiTQkiUQkBOgAXwAA +i0XkidmJBCTo05EAAIPsBIk0JOhYXwAAjWX0W15fXcIIAInGidnotZQAAIk0JOht +Cfz/icaJ2eh0XwAAiTQk6FwJ/P+QkJCQkJCQkJCQkJBTicuD7BjHAejRSQDof5QA +AIkcJOh3AAEAg8QYW8OQkMcB6NFJAOlllAAAkJCQkJDHAejRSQDpVZQAAJCQkJCQ +i1QkCDHAxwEo0kkAhdIPlcCJQQTCCACQkJCQkJCQkJCLVCQIMcDHASjSSQCF0g+V +wIlBBMIIAJCQkJCQkJCQkFOJy4PsGMcB6NhJAOjPXgAAiRwk6Pf/AACDxBhbw5CQ +xwHo2EkA6bVeAACQkJCQkMcB6NhJAOmlXgAAkJCQkJCLVCQIMcDHAWjSSQCF0g+V +wIlBBMIIAJCQkJCQkJCQkItUJAgxwMcBaNJJAIXSD5XAiUEEwggAkJCQkJCQkJCQ +U4nLg+wYxwEo2UkA6E9eAACJHCTod/8AAIPEGFvDkJDHASjZSQDpNV4AAJCQkJCQ +xwEo2UkA6SVeAACQkJCQkItUJAgxwMcBqNJJAIXSD5XAiUEEwggAkJCQkJCQkJCQ +i1QkCDHAxwGo0kkAhdIPlcCJQQTCCACQkJCQkJCQkJBTicuD7BjHAWjZSQDoz10A +AIkcJOj3/gAAg8QYW8OQkMcBaNlJAOm1XQAAkJCQkJDHAWjZSQDppV0AAJCQkJCQ +i1QkCDHAxwHA0kkAhdIPlcCJQQTCCACQkJCQkJCQkJCLVCQIMcDHAcDSSQCF0g+V +wIlBBMIIAJCQkJCQkJCQkFOJy4PsGMcBgNlJAOhPXQAAiRwk6Hf+AACDxBhbw5CQ +xwGA2UkA6TVdAACQkJCQkMcBgNlJAOklXQAAkJCQkJBVieVTicuD7BSLRQiJBCTo +DL7//8cD2NJJAItd/IPsBMnCBACQkJCQkJCQkJCQkJBTicuD7BjHAdjSSQDoP77/ +/4kcJOgH/gAAg8QYW8OQkMcB2NJJAOklvv//kJCQkJBVieVXVonOU4PsTItFCMZB +ZAGJBCToVt0AAI1N0InDiwCJHCT/UBCLRdCD7ASLUPSNePSB/3AMSQCJVgwPhbQC +AACJFCToxv0AAIlFxIsDjU3Ui34MiRwk/1AQi0XEg+wEx0QkCAAAAACNTdSJfCQE +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 +HCTo6YcAAIPEFFtew4nGidnoqub//4k0JOiSkPv/kJBWU4nLg+wUjUEIxwHI1kkA +iQQk6Ejm//+DxBSJ2Vte6Xzm//+JxonZ6HPm//+JNCToW5D7/5CQkJCQkJCQkJCQ +VlOJy4PsFI1BCMcByNZJAIkEJOgI5v//g8QUidlbXuk85v//icaJ2egz5v//iTQk +6BuQ+/+QkJCQkJCQkJCQkItUJAQxwMcB6NZJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +i1QkBDHAxwHo1kkAhdIPlcCJQQTCBACQkJCQkJCQkJBTicuD7BjHAejWSQDoz+X/ +/4kcJOj3hgAAg8QYW8OQkMcB6NZJAOm15f//kJCQkJDHAejWSQDppeX//5CQkJCQ +i1QkBDHAxwEo10kAhdIPlcCJQQTCBACQkJCQkJCQkJCLVCQEMcDHASjXSQCF0g+V +wIlBBMIEAJCQkJCQkJCQkFOJy4PsGMcBKNdJAOhP5f//iRwk6HeGAACDxBhbw5CQ +xwEo10kA6TXl//+QkJCQkMcBKNdJAOkl5f//kJCQkJCLVCQEMcDHAWjXSQCF0g+V +wIlBBMIEAJCQkJCQkJCQkItUJAQxwMcBaNdJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +U4nLg+wYxwFo10kA6M/k//+JHCTo94UAAIPEGFvDkJDHAWjXSQDpteT//5CQkJCQ +xwFo10kA6aXk//+QkJCQkItUJAQxwMcBqNdJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +i1QkBDHAxwGo10kAhdIPlcCJQQTCBACQkJCQkJCQkJBTicuD7BjHAajXSQDoT+T/ +/4kcJOh3hQAAg8QYW8OQkMcBqNdJAOk15P//kJCQkJDHAajXSQDpJeT//5CQkJCQ +U4nLg+wYxwHo10kA6H8pAACJHCToN4UAAIPEGFvDkJDHAejXSQDpZSkAAJCQkJCQ +VVdWU4nLg+wcg3wkMAeLbCQ0jXkkD46VAAAAgXwkMP///38PhKoAAACLRCQwjXAB +uP////+NFPUAAAAAgf4AAOAPD0bCiQQkiXQkCOjvhAAAicUxwMdExQAAAAAAx0TF +BAAAAACDwAE58HXpi0tki0Nohcl+JDHSiVwkDI10JgCLHNCLdNAEiVzVAIl01QSD +wgE5ynXqi1wkDIXAdGI5x3ReiQQkie/oZIQAAOsKZpDHRCQICAAAAItEJAiJe2iJ +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 +/4kcJOhnawAAg8QYW8OQkMcB6NhJAOklyv//kJCQkJDHAejYSQDpFcr//5CQkJCQ +i1QkBDHAxwEo2UkAhdIPlcCJQQTCBACQkJCQkJCQkJCLVCQEMcDHASjZSQCF0g+V +wIlBBMIEAJCQkJCQkJCQkFOJy4PsGMcBKNlJAOi/yf//iRwk6OdqAACDxBhbw5CQ +xwEo2UkA6aXJ//+QkJCQkMcBKNlJAOmVyf//kJCQkJCLVCQEMcDHAWjZSQCF0g+V +wIlBBMIEAJCQkJCQkJCQkItUJAQxwMcBaNlJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +U4nLg+wYxwFo2UkA6D/J//+JHCToZ2oAAIPEGFvDkJDHAWjZSQDpJcn//5CQkJCQ +xwFo2UkA6RXJ//+QkJCQkItUJAQxwMcBgNlJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +i1QkBDHAxwGA2UkAhdIPlcCJQQTCBACQkJCQkJCQkJBTicuD7BjHAYDZSQDov8j/ +/4kcJOjnaQAAg8QYW8OQkMcBgNlJAOmlyP//kJCQkJDHAYDZSQDplcj//5CQkJCQ +U4nLg+wYxwGY2UkA6O8NAACJHCTop2kAAIPEGFvDkJDHAZjZSQDp1Q0AAJCQkJCQ +VYnli0UIiUEQi0EUiUUIyel7AQAAkJCQkJCQkJCQkJCD7AyLRCQQCUEUhUEQdQaD +xAzCBADoNnIAAJCQkJCQkFaJzlOD7BSLXCQgiRwk6K05AACEwHRHiRwk6DFEAACJ +RnyJHCToljwAAITAdEWJHCToGkcAAImGgAAAAIkcJOi8OwAAhMB0H4kcJOhARgAA +iYaEAAAAg8QUW17CBADHRnwAAAAA67vHhoQAAAAAAAAA6+PHhoAAAAAAAAAA672Q +i1QkBItBcIlRcMIEAJCQkFWJ5VZTicuD7BCLVQiAeXUAdBAPtkF0iFN0jWX4W15d +wgQAi3F8hfZ0PYB+HAB0Fw+2Rj2IQ3TGQ3UBiFN0jWX4W15dwgQAifGJVfTof2P8 +/4sGifHHBCQgAAAA/1AYi1X0g+wE683oRCEAAJCQkJBVieVWU4nLg+wQi3UI6M7w +//+NQ2yJ2YkEJOjh/v//McCJc3jGQ3QAxkN1AMdDcAAAAADHQxAAAAAAg+wEhfYP +lMCJQxSNZfhbXl3CBACQkIPsHItReItEJCCF0nQShUEQiUEUdQ+DxBzCBACNdCYA +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 +2UkAx0NwAAAAAGaJQ3TGQ3YAx0N4AAAAAMdDfAAAAADHg4AAAAAAAAAAx4OEAAAA +AAAAAIPECFvDkJCQkJCQkFWJ5VZTicuD7BDokeb//zHAidlmiUN0i0UIxwPA2UkA +x0NwAAAAAMZDdgDHQ3gAAAAAx0N8AAAAAMeDgAAAAAAAAADHg4QAAAAAAAAAiQQk +6Bv7//+D7ASNZfhbXl3CBACJxonZ6Mbm//+JNCToPmX7/5CQkJCQkJCQkJCQkJCQ +U4nLg+wI6BXm//8xwMcDwNlJAMdDcAAAAABmiUN0xkN2AMdDeAAAAADHQ3wAAAAA +x4OAAAAAAAAAAMeDhAAAAAAAAACDxAhbw5CQkJCQkJBTicuD7BjHAcDZSQDoT+b/ +/4kcJOgHXAAAg8QYW8OQkMcBwNlJAOk15v//kJCQkJDHAcDZSQDpJeb//5CQkJCQ +g+wciQwkxwHQ2UkA6M9bAACDxBzDkJCQkJCQkJCQkJDHAdDZSQDDkJCQkJCQkJCQ +i1QkBDHAxwHo2UkAhdIPlcCJQQTCBACQkJCQkJCQkJCLVCQEMcDHAejZSQCF0g+V +wIlBBMIEAJCQkJCQkJCQkFOJy4PsGMcB6NlJAOgvuv//iRwk6FdbAACDxBhbw5CQ +xwHo2UkA6RW6//+QkJCQkMcB6NlJAOkFuv//kJCQkJCLVCQEMcDHAQDaSQCF0g+V +wIlBBMIEAJCQkJCQkJCQkItUJAQxwMcBANpJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +U4nLg+wYxwEA2kkA6K+5//+JHCTo11oAAIPEGFvDkJDHAQDaSQDplbn//5CQkJCQ +xwEA2kkA6YW5//+QkJCQkItUJAQxwMcBGNpJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +i1QkBDHAxwEY2kkAhdIPlcCJQQTCBACQkJCQkJCQkJBTicuD7BjHARjaSQDoL7n/ +/4kcJOhXWgAAg8QYW8OQkMcBGNpJAOkVuf//kJCQkJDHARjaSQDpBbn//5CQkJCQ +i1QkBDHAxwEw2kkAhdIPlcCJQQTCBACQkJCQkJCQkJCLVCQEMcDHATDaSQCF0g+V +wIlBBMIEAJCQkJCQkJCQkFOJy4PsGMcBMNpJAOivuP//iRwk6NdZAACDxBhbw5CQ +xwEw2kkA6ZW4//+QkJCQkMcBMNpJAOmFuP//kJCQkJCD7ByJDCTHAUjaSQDon1kA +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 +VYnlV1ZTg+wci0UMi10Ii30QiQQk6Mac+/+J2ccDfAxJAInGiweLUPQB8okUJOhd +D/7/g+wEhfZ0FItFDInZiXQkBIkEJOi1AP7/g+wIiTwkidnoiAH+/4PsBInYjWX0 +W15fXcOLC4nGg+kMgflwDEkAdAXo5zIAAIk0JOgvHvv/kJCQkJCQkJCQkJCQkJCQ +VYnlVlOD7CCLRQyLXQiLMItG/I1O9IXAeCaB+XAMSQB1NonwiQOLRRCJ2YkEJOgd +Af7/g+wEidiNZfhbXl3DkI1F98dEJAQAAAAAiQQk6K38/f+D7AjrzI1G/OhgMgAA +68CLC4nGg+kMgflwDEkAdAXoWjIAAIk0JOiiHfv/kJBVieVXVlOD7ByLXQiLdRCL +fQzHA3wMSQCJ2YsGi0D0g8ABiQQk6FYO/v+J+IPsBA+++InZiXwkBMcEJAEAAADo +LAL+/4PsCInZiTQk6H8A/v+D7ASJ2I1l9FteX13DiwuJxoPpDIH5cAxJAHQF6N4x +AACJNCToJh37/5CQkJCQkFWJ5VdWU4PsHItFDItdCIt9EIkEJOhGm/v/idnHA2wM +SQCJxosHi1D0AfKJFCTo7Z39/4PsBIX2dBSLRQyJ2Yl0JASJBCTopY79/4PsCIk8 +JInZ6HiP/f+D7ASJ2I1l9FteX13DiwuJxoPpDIH5YAxJAHQF6K8xAACJNCTonxz7 +/5CQkJCQkJCQkJCQkJCQkFWJ5VZTg+wgi0UMi10IizCLRvyNTvSFwHgmgflgDEkA +dTaJ8IkDi0UQidmJBCToDY/9/4PsBInYjWX4W15dw5CNRffHRCQEAAAAAIkEJOht +iv3/g+wI68yNRvzoKDEAAOvAiwuJxoPpDIH5YAxJAHQF6CIxAACJNCToEhz7/5CQ +VYnlV1ZTg+wci10Ii3UQi30MxwNsDEkAidmLBotA9IPAAYkEJOjmnP3/g+wED7f/ +iXwkBInZxwQkAQAAAOg+kP3/g+wIidmJNCTocY79/4PsBInYjWX0W15fXcOLC4nG +g+kMgflgDEkAdAXoqDAAAIk0JOiYG/v/kJCQkJCQkJDpOwAAAJCQkJCQkJCQkJCQ +6SsAAACQkJCQkJCQkJCQkOkLAwAAkJCQkJCQkJCQkJDp+wIAAJCQkJCQkJCQkJCQ +VYnlV1ZTg+w8i0UIx0QkBAAAAACNTeOLdQyJBCToPsr9/4PsCIB94wAPhJcBAACL +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 +jWX0ifBbXl9dw422AAAAAItNDI2F6P7//8dEJASAAAAAiQQk6Fd+/f+D7AgxwMeF +1P7//wEAAADpKP///4sDidn/UCjpRf///4sDidn/UCSJw+lM////iQQk6JEGAACL +BotI9AHxg0kUAfZBEAF1d+hrCAAAhf8Phf79//+LFjHAg8gE6d/9//8x/4P6AXXH +iQQk6FgGAACLBgNw9INOFAH2RhABdCvoVAwAAInHidONjej+///otWX//4n4idox +/+vIicPoFggAAIkcJOgODPv/6CkMAACLAf9QJInDZpDpLf7//+ukifaNvCcAAAAA +6AsMAADrkonD6OIHAACJHCTo2gv7/5CQkJCQkJCQkJCD6QjpyJr9/5CQkJCQkJCQ +g+kI6fia/f+QkJCQkJCQkIPpCOlYbv7/kJCQkJCQkJCD6QjpuG7+/5CQkJCQkJCQ +g+kI6Th4/v+QkJCQkJCQkIPpCOmYeP7/kJCQkJCQkJCD6QjpmNb+/5CQkJCQkJCQ +g+kI6cjW/v+QkJCQkJCQkIsRA0r06caT+/+QkJCQkJCLEQNK9OlmlPv/kJCQkJCQ +ixEDSvTp9pT7/5CQkJCQkIsRA0r06YaV+/+QkJCQkJCLEQNK9OkGmv3/kJCQkJCQ +ixEDSvTpNpr9/5CQkJCQkIsRA0r06UbD/f+QkJCQkJCLEQNK9Olmw/3/kJCQkJCQ +ixEDSvTp5t/9/5CQkJCQkIsRA0r06Qbg/f+QkJCQkJCLEQNK9OlWbf7/kJCQkJCQ +ixEDSvTptm3+/5CQkJCQkIsRA0r06TZ3/v+QkJCQkJCLEQNK9OmWd/7/kJCQkJCQ +ixEDSvTpJqL+/5CQkJCQkIsRA0r06Uai/v+QkJCQkJCLEQNK9OlGvv7/kJCQkJCQ +ixEDSvTpZr7+/5CQkJCQkIsRA0r06QbJ/v+QkJCQkJCLEQNK9Olmyf7/kJCQkJCQ +ixEDSvTpJtH+/5CQkJCQkIsRA0r06YbR/v+QkJCQkJCLEQNK9OkW1f7/kJCQkJCQ +ixEDSvTpRtX+/5CQkJCQkIsRA0r06Wbc/v+QkJCQkJCLEQNK9Om23P7/kJCQkJCQ +ixEDSvTpJuT+/5CQkJCQkIsRA0r06Xbk/v+QkJCQkJBTicuD7AiLCcdBMAAAAADG +QVQA6Jgx/v+LA4tQQMZASQDGQEoAx0AUAAAAAIlQBIlQCIlQDItQNMdAEAAAAADH +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 +6DvL//+JBCTog67//8dEJARLJ0kAjXW4xwQkoA9JAOgcy///iQQk6GSu///HRCQE +SClJAMcEJKAPSQDoAMv//4kEJOhIrv//x0QkBFApSQDHBCSgD0kA6OTK//+JBCTo +LK7//8dEJASUKUkAxwQkoA9JAOjIyv//iQQk6BCu///HRCQE7ClJAMcEJKAPSQDo +rMr//4kEJOj0rf//x0QkBEsnSQDHBCSgD0kA6JDK//+JBCTo2K3//8dEJARLJ0kA +xwQkoA9JAOh0yv//iQQk6Lyt///HRCQEPCpJAMcEJKAPSQDoWMr//4kEJOigrf// +x0QkBEQqSQDHBCSgD0kA6DzK//+JBCTohK3//8dEJASgKkkAxwQkoA9JAOggyv// +iQQk6Git///HRCQE9CpJAMcEJKAPSQDoBMr//4kEJOhMrf//x0QkBEsnSQDHBCSg +D0kA6OjJ//+JBCToMK3//8dEJARLJ0kAxwQkoA9JAOjMyf//6U7+///ogpf4/2aQ +6Q/8///HBCRFKUkAifnoncP7/4XAUg+EUv7//411uOhcl/j/uwEAAACNdbjpS/f/ +/4nHi0WwjV2siRwkjUj06JzM/f9Qi0W0iRwkifuNSPToi8z9/1CJ8eiTz/f/i0WE +iTQkjUj06HXM/f9WiRwk6Gzu+v+Jx41drOvKicPr14nHi0WIjV20iRwkjUj06E7M +/f9Qi0WMiRwkifuNSPToPcz9/1CJ8ehFz/f/67CJx41dtOvficPr7InD66GJx4tF +kI1dtIkcJI1I9OgRzP3/UItFlIkcJI1I9OgCzP3/U4n7ifHoCM/3/+lw////iceL +RZiNXbSJHCSNSPTo4Mv9/1GLRZyJHCSJ+41I9OjPy/3/Uonx6NfO9//pP////4nH +jV2069yJw+vpiceNXbTroInD662Jx41dtItFpIkcJIn7jUj06JfL/f9QifHon873 +/+kH////icPr8InHi0WgjV20iRwkjUj06HPL/f9Q68mJx4tFqI1dtIkcJI1I9Ohd +y/3/UItFrIkcJIn7jUj06EzL/f9QifHoVM73/+m8/v//iceNXbTr3InD6+mQkJCQ +icKDyP/wD8ECw5CQZpBmkFW5bFBMAInlU4PsJI1d94lcJATHBCQQaEkA6NFw/f+D +7AjHBCTwmUEA6NLM9/+5aFBMAIlcJATHBCQUaEkA6K1w/f+D7AjHBCSQmUEA6K7M +9//HBCTgmEEAxwVgUEwAAAAAAMcFZFBMAAAAAADojsz3/8cFWFBMAAAAAADoPz36 +/8cEJBpoSQCjXFBMAOg+bPv/g+wEx0QkBCdoSQCJBCToM2z7/4PsCMcEJBpoSQCj +VFBMAOgXbPv/g+wEx0QkBDdoSQCJBCToDGz7/4PsCKNQUEwA6Oc8+v+LXfzHBTxQ +TAADAAAAo0BQTADJw5CQkInCg8j/8A/BAsOQkGaQZpBVuYxQTACJ5VOD7CSNXfeJ +XCQExwQkvGhJAOjRb/3/g+wIxwQkUCFCAOjSy/f/uYhQTACJXCQExwQkwGhJAOit +b/3/g+wIxwQk8CBCAOiuy/f/i138ycOQkJCQkJCQkJCDPQBRTAAAdAqDyv/wD8EQ +idDDixCNSv+JCInQw5CQkIPsDOiIPPr/o9hQTADofjz6/6PUUEwA6CQ8+v/HBaBQ +TAAAAAAAo9BQTADoEDz6/6OkUEwAg8QMw5CQkJCQkJCDPQBRTAAAdATw/wDD/wDD +gz0AUUwAAHQKg8j/8A/BQQjrCYtBCI1Q/4lRCIXAfw6D7ByJDCToZeL//4PEHMOQ +i0QkBMdBCAAAAACJAWbHREEMAADCBACQgz0AUUwAAHQE8P8Aw/8Aw4M9AFFMAAB0 +CoPI//APwUEI6wmLQQiNUP+JUQiFwH8Og+wciQwk6A3i//+DxBzDkIsBi0Ao/+CQ +iwGLQCT/4JCLAYtAKP/gkIsBi0Ak/+CQVYsBieUPtlUIiVUIi0A0yf/gkJBViwGJ +5Q+3VQiJVQiLQDTJ/+CQkIPsHKEAUUwAhcB1EMcEJGA8SADoSMr3/4PEHMPHBCR8 +/EgA6OjA+v/r4pCQkJCQkIPsHMcEJAQAAADoEeP//8cA6MhJAMdEJAhw3UMAx0Qk +BICnSQCJBCToo+r//5CQkInCg8j/8A/BAsOQkGaQZpCAPaCwSAAAdQfGBaCwSAAB +gD2osEgAAHUHxgWosEgAAYA9OLFIAAB1B8YFOLFIAAGAPUixSAAAdQfGBUixSAAB +gD0IsUgAAHUHxgUIsUgAAYA92LBIAAB1B8YF2LBIAAGAPeiwSAAAdQfGBeiwSAAB +gD24sEgAAHUHxgW4sEgAAYA9KLFIAAB1B8YFKLFIAAGAPRixSAAAdQfGBRixSAAB +gD34sEgAAHUHxgX4sEgAAYA9yLBIAAB1B8YFyLBIAAHzw5CQkJCQkJCQkJCQkJCQ +gz0AUUwAAHQKg8r/8A/BEInQw4sQjUr/iQiJ0MOQkJCAPZCwSAAAdQfGBZCwSAAB +gD2YsEgAAHUHxgWYsEgAAYA9MLFIAAB1B8YFMLFIAAGAPUCxSAAAdQfGBUCxSAAB +gD0AsUgAAHUHxgUAsUgAAYA90LBIAAB1B8YF0LBIAAGAPeCwSAAAdQfGBeCwSAAB +gD2wsEgAAHUHxgWwsEgAAYA9ILFIAAB1B8YFILFIAAGAPRCxSAAAdQfGBRCxSAAB +gD3wsEgAAHUHxgXwsEgAAYA9wLBIAAB1B8YFwLBIAAHzw5CQkJCQkJCQkJCQkJCQ +iwGLQCT/4JCLAYtAKP/gkIsBi0Ak/+CQiwGLQCj/4JCD7BzHBCTAPEgAxwXIB0kA +SMZJAOj3x/f/xwQk8DxIAMcFxAdJAAjGSQDo4cf3/4PEHMOQkJCQkJCQkJCQkJCQ +V1ZTicOD7BCLcASLAIP+BHcbg8AEiQQk6Atm+/+FwHUF6NJl+/+JAI1QBOsbjUQG +A4kEJOjvZfv/hcB05I1UMAP33iHyiUL8i3MMiwuF9nQGidfzpOsGMcCJ1/Oqg8QQ +idBbXl/DkJBmkGaQZpBmkFWJ5YPsGOh1x/f/xwQkYBZAAOhJx/f/ycOQkJCQkJCQ +/////zA9SACQPUgAsEhIALBJSAAwSkgAUEtIAMBLSACwTEgAoE1IAFBOSAAAAAAA +/////wAAAAD//wESHgVUACYFigEATwUAAIUBBQAA//8BEh4FWwAmBZgBAFYFAACT +AQUAAP//ARIeBV0AJgWTAQBKBQAAjgEFAAD//wESHgVkACYFoQEAUQUAAJwBBQAA +//8BCBsFTABvBQAA//8BCRYFagCAAQUAAP//AY0BFgXAEABrBbkQALsBBfcNAN8B +BfUNAPYBQJgNAPkCBfwMAOMDBZoOAKkEBfgMAM0EBfgLAOQEQKkQAPAFBYIOAJ8G +BcUPAKoGBacOAN4GBegOAJgHBfUOAKMHBdcPAOEHBdsPAKgIBeUPAM8IBcAQAPgI +BYQQAJ8JBfwMALwJBZgNANIJBakQAPMMBQAA//8BjQEWBdAQAGsFyRAAuwEFhw4A +3wEFhQ4A9gFAqA0A+QIFjA0A4wMFqg4AqQQFiA0AzQQFiAwA5ARAuRAA8AUFkg4A +qQYF1Q8AtAYFtw4A6AYF+A4AogcFhQ8ArQcF5w8A6wcF6w8AuAgF9Q8A3wgF0BAA +iAkFlBAArwkFjA0AzAkFqA0A4gkFuRAAgw0FAAD//wHCARwFoxQAQgXPEACiArYB +jxAA7wMFxhMA2gQFwhMAoAUFvBMAxAUFxRQA2wVAyRIA/AYFmxUApAcFuxEArwcF ++hAA4we4AY8QALoJBbgTAOcJBcYTAIAKBY8QAJYKBckSALcKBaMUANgKD48QAIIL +BcoUAKgLBdUUAPELdgAAgw1DmxUA5g0FrA8A8Q0FxxUApQ4FjxAAtg4TmxUA0w4T +jxAAhQ8FyhQAkQ8TAACKEGkAALAUBY8QAMAUBZsVAMIVBQAA//8BCBQFNQBIBQAA +//8BZxgF5AgAbQXiCQCzAQXeCQDVAQWICQDyAUSxCgCXA8MC5gkAiwYF0AsAlgYF +1woAygYFAADdBwXmCQD/BwXFCgCnCAXkCACzCBPmCQDaCAWxCgCDCQUAAPYJBQAA +kAsFAADLCwXmCQAA/wBVAUnzAckCAACaBQXuBgHMBQUAAOwFBZEHAZYGBQAAgQcF +rAcAjAcFAACiBwXABwO2BwUAALsHBawHANsHBeUHAOAHBcAHA+8HBQAAAQAAfQAA +AAAAAP8AUQFF4AGnAQAAnAMF2QYBxgP2AQAAiQYFuwYBygYF9AYA1AYFAADqBgWI +BwP+BgUAAIMHBfQGAKMHBa0HAKgHBYgHA7cHBQAAAQAAfQAAAAAAAP//AQyRAYAB +kQIArQIFAAD/AFkBTyMfAADjAZ0B6wUAngNKAACEBAX9BQGfBAWcBgHZBAXyBgGG +BQUAAPgFBQAAlwYFwAYArwYRzwYDygYFAADkBgXABgCFBxG9BwPlBwXABgABAAB9 +AAAAAP//ASZ+PQAAvgJBsggAkQMFAADoBJICsggAjAcFAADpBwWyCAC/CAUAAP// +AQlYBWkAhQEFAAD//wGbBCkFAADMAQXMLADuAQXROwCLAgWnOwCxAimgOwCLAwWA +OwCcAwX5OgCzAxbFNgCVBCPGLgDpBAWALwD6BAXCLgCRBRb3LQDpBgXtNACLBwW+ +MwCoBwXkMwDEBwX1MwD6ByueNwDlCB31MwCzCSvYNQDLCgXlMgCbCwWdMgC/CwXD +MgDWC0DTNADVDGOsMwDbDQXMKQDmDQXTOwCkDgX1MwDNDgXaOwDYDgWgPACMDwWg +OQC+D0UAALERDZc3AO8RBdg4AI4SBZc3AJUSBQAAxRMF3TgAihQFojEAtBQFgjUA +0xRAqTQA1BUFujEAgBYF8jkAixYFwjoAvxYFAADCFwW+NgDuFwWnKwCHGAWXKQCj +GAXsMgDZGCe5OAC6GTTsMgCVGgXgOQCgGgXlOADUGgygOQCRGyu5NQDdGwWgOQC9 +HAWCNgCRHQXLMQC0HSqCNgDgHQWgOQDIHgXJKgDTHgWjKwCRHwUAAKYfQaA5AIcg +BZUsAK4gBd4rAN0gUqwzAMYhBbUrAOghBaIoAJAiBfEnALgiBbonAOAiBZAnAIIj +BekoAKgjBcooANAjBZsmAOwjBbk1AIokBewyAK8kBawzAMgkBdM0AN4kBak0AO4k +BaA5AP4kBYI2AJQlBZ43ALYlBfUzAM8lBdg1APglBawzAJEmBbk4AIsnBQAA7CcF +AACXKwUAANkrBQAA5iwFAADGMQUAALY6BQAA//8BeiUFAAA8Bf0NAGXKAtcOAJkF +BaIQANUFJeUTALoGBZ0TANMGGOISAKkHBdgRALkHBaANAMMHBfwOAKIIMNgRAP8I +BdcOANEJBYwRAPQJBa8QALcKSdcOAJsLBZcRAP8LBf0NAJoMBYwRALMME9cOAPgN +KQAA9w4F1w4A//8BbRwF+AsAcQWYCwDBAQWcCgDlAQWODAD+ATzrCgCfA0OICQCH +BAWhCwCSBAX0CwDQBAUAAPoE1QGICQD3BgX4CwCZBwWcCwDHB36ICQDcCAXrCgDo +CCCICQCUCQUAAP0JCogJAOYKBQAA7wsFAAD//wH4AisFkisAlQEFlywA5QEFhywA +iQIFhSwAoAJAqCsAsANDmywAmAQFpSwAowQFmS0A4QQFoi0ApAWBApssAMgHBfUs +AO8HBZIrAIIIjAGbLACuCQWQIgDUCQWSIwCFCgWbLACiCgWdJAC0CgXqKACfCwXF +IwDlCwXBJgCHDAWCJgCkDESIJwDNDUOhJAC2DgXQKQDBDgWVKQD1DgWdJADSDwWo +KwDtDwWQIgCOEAXqKAC9EEObLACmEfMCoSQAphQFrCgAvBQFpSgA8hQrsCQA6RW3 +AaEkAK0XBcUmAMMXBZkoAPkXK+QkAPEYrgGhJAC8GgXLKADnGgWsKACJGwXkJgC3 +GwXFJgDQGwWhJADmGwWwJACIHAWhJAChHAXkJADDHAWhJADnHEObLADMHQXkKQDe +HTibLADLHj6hJACTHxObLADFH8gBoSQAniEFiCcA0CIFAADAIwWbLACDJwWhJADf +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 +APYEBQAAnwYppQcA3gYF4wYA3wcFAAD//wE9PR0AAHkFgAQAtwEFAADLASXhBQDd +Ag2ABACLAwzhBQCXBAUAALoEKM4FAPgEBeEFAIsFKN8FAMkFBYAEAP//AVoeBQAA +XAXHBgCJAQXlBgCkAQXgBgC8AQX9BgDOASXzBQDHAgWCBwDPAgWHBwCEAwUAAKoD +BfMFANADKOwGAI4EBZMEALgEBQAArwUpuQYA7gUF8wUA2wYFAAD//wFRKHMAALUB +DO8FAI8CBQAArwIFwgcA1wIfvgcA/wIbwwYA3gMF7wUAiAQQvgcAtgQnoAcAqQUr +jwcA6gUF7wUAjAayAQAA1AcrpwgAlQgFvgcA//8BTycFAABlBYoHAI8BBYMHALAB +BcMEANsBBQAA+wEMwwQAwwIFgwcA5QKFAaIGAIAEKPIGAL4EBcMEAOgEBQAA3gUp +5QYAnQYFogYAngcFAAAAAP8AKQEbPCn8AQFtBcsBA5kBBfwBAfIBBYwCBZQCCgAA +AQAAfX8AAAAAAAAAAAAAAP8AbQFeVE6pCQHDAQXJCAPyATWpCQHHAgX3BwP2AgWp +CQGjAym7BgHUAwWHCQORBAW7BgGyBAXxBgPSBAW1CQOLBULzBQHVBQXZBgOEBgW5 +BwXMBgW7BwWYBwWsBwW0BxMAAAEAAH1/AAAAAAAAAAAAAAAA//8BFBMFAAAsHekB +AKUBBbgBAOQBBQAA//8BDhYFAAAqR8QBAN0BBQAA//8BDykF3AEASwXUAQCGAVYA +AP//AQ4oNQAAbCjVAQDsAQUAAP//AQ43NwAAfWqKAgCAAiYAAAAAAP8AJQEdEQUA +ACoFcwBEBYUBAYABBQAApAEFsgEAvAEFAAABAAAAAAD//wE0tQIFzAYAjwMFuAcA +1AMF0AcA+QQFAADjBQWbCADzBQX1BwCQBgWbCADHBgXMBgDiBgUAAP//ARxGBecB +AJEBBZ4CAKEBBf0BALsBBZ4CAPgBBQAA//8BWGcFnAYAoQEF0AUAsQEFqwUAywEF +0AUAnAIFpAYArAIFogYAxgIFpAYAmgMF1AUA2gMFmAYA6gMF8QUAhAQFmAYA1QQF +0QYA5QQFpgYA/wQF0QYAywUmAAD//wE4H4gBAADEAQW4BQD7AUoAAPICBbgFAKYD +BZAFAOEDGwAAugQFnAYAygQF+AUA5AQFnAYAswUVAAD//wE2pgEF7QUAyAEF0gYA +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 +A+gEOY0MAa4KBeUKAO8KBQAAAQAAfQAAAAAAAP8AeQFtFSQAAEQm4gsBeAPgCgGT +AQWzCgPYAQPVCQGKAgWHCwGdAgO1CwG4AgWMCwPgAgP0CgGSAwXdCwGlAwPZCwHA +AwW3CwPoAwPbCwGaBAXvCwGtBAONDAHIBAXyCwPoBDmNDAGuCgXlCgDvCgUAAAEA +AH0AAAAAAAD/AF0BUi5sAADYAdYCqA0A7ASyA9UNAO0IBagNAKEJgAHVDQC3CgXr +DAHGCwXEDQHbCwUAAIMMGqgNAPMMBfgMAIINBQAAow0FqA0Avw0FAADQDQP4DAAB +AAAAAAAAAAD/AF0BUi5sAADYAdYCqA0A7ASyA9UNAO0IBagNAKEJgAHVDQC3CgXr +DAHGCwXEDQHbCwUAAIMMGqgNAPMMBfgMAIINBQAAow0FqA0Avw0FAADQDQP4DAAB +AAAAAAAAAAD//wEQMmyGAwCtAX7iAgCBAwUAAP8AKQEhqQIpAACJBAX6BQHpBAXm +BQH+BAUAAPIFCIQGAI4GBQAAAQAAAAAA/wApASFM1QIAAMcDBeoEAagEBdUEAcME +BQAA4gQI9AQA/gQFAAABAAAAAAD/ACkBIZECKwAAxwMFugUBpwQFpgUBvAQFAACy +BQjEBQDOBQUAAAEAAAAAAP8AKQEhzQItAACsBAWkBgGMBQWQBgGkBQUAAJwGCK4G +ALgGBQAAAQAAAAAA/wApASGiAikAAN4DBdMFAb4EBb8FAdMEBQAAywUI3QUA5wUF +AAABAAAAAAD/ACUBGzcF7gEBxgEF+wEB2gEFAAD2ARSMAgCWAgUAAAEAAAAAAAAA +/wAlARs3Be4BAcYBBfsBAdoBBQAA9gEUjAIAlgIFAAABAAAAAAAAAP8AJQEbNwW8 +AQGUAQXJAQGoAQUAAMQBFNoBAOQBBQAAAQAAAAAAAAD//wEUEhMAAF8F5BUAeOcU +ghYA/RUFAAD//wEUEhMAAF8FhBYAeIcVohYAnRYFAAD//wEKRmLgAQD3AQUAAP// +AQ8gBQAAZpEBsgIAyQIFAAD//wE8FxgAAKwB+grFEgCzDAUAAKYOBcUSAOUOawAA +5BAFxRIAhREDAACjEQPFEgDdERAAAPcRQ8USAN4SBQAA//8BCzf1ArwDANMDBQAA +//8BCzf1ArwDANMDBQAA//8BCzf1ArwDANMDBQAA//8BMxWWAQAAugXfBPgOAPUL +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 +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAACgQEkAAAAAABMAAAAHAAAAgDtJAABBSQAAAAAA +HgAAAA8AAAAAPEkAgEFJAAEBAAAeAQAADwAAAAIAAAAAQAAApE5IAAAAAAD///// +AAAAAP////8AAAAA/////xgAAABr////aAAAAAEAAAAAAAAAQAAAAMO////APwAA +AQAAAAAAAACgUUwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +4N1DAMAFSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADtdkkAyHZJAAh3SQAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +fndJAIJ3SQCGd0kAi3dJAI93SQCTd0kAl3dJAJt3SQCfd0kAo3dJAKd3SQCrd0kA +k3dJAK93SQAAAAAAAAAAABR3SQAcd0kAJHdJAC53SQA2d0kAPndJAEZ3SQBOd0kA +VndJAF53SQBmd0kAbndJAD53SQB2d0kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAD/////AAAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsaWJnY2Nfc19kdzItMS5k +bGwAX19yZWdpc3Rlcl9mcmFtZV9pbmZvAGxpYmdjai0xMy5kbGwAX0p2X1JlZ2lz +dGVyQ2xhc3NlcwBfX2RlcmVnaXN0ZXJfZnJhbWVfaW5mbwAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAADEuMi4zAHNyYy9WOEZpbGUuY3BwAHJldCAhPSBaX1NU +UkVBTV9FUlJPUgBzdHJtLmF2YWlsX2luID09IDAAcmV0ID09IFpfU1RSRUFNX0VO +RAAAAFJlYWRCbG9ja0RhdGEuIEJsb2NrRGF0YSA9PSBOVUxMLgAlMDh4AFByb2dy +ZXNzICg1MCBwb2ludHMpOiAAfAAuAC8AU2F2ZUZpbGUuIEVycm9yIGluIGNyZWF0 +aW5nIGZpbGUhAAAAU2F2ZUZpbGVUb0ZvbGRlci4gRXJyb3IgaW4gY3JlYXRpbmcg +ZGlyZWN0b3J5IGAAYCAhACoqKioqIEludGVybmFsIFByb2dyYW0gRXJyb3IgLSBh +c3NlcnRpb24gKAApIGZhaWxlZCBpbiAAOgoAKTogAHZlY3Rvcjo6cmVzZXJ2ZQAu +djh1bnBhY2sudG1wAC52OHVucGFjay5pbmYAAFVucGFja1RvRGlyZWN0b3J5Tm9M +b2FkLiBFcnJvciBpbiBjcmVhdGluZyBkaXJlY3RvcnkhAAAAVW5wYWNrVG9Gb2xk +ZXIuIElucHV0IGZpbGUgbm90IGZvdW5kIQAAAFVucGFja1RvRm9sZGVyLiBUaGlz +IGlzIG5vdCBWOCBmaWxlIQBMb2FkRmlsZTogb2sAAABVbnBhY2tUb0ZvbGRlci4g +Tm90IGVub3VnaCBtZW1vcnkhAABVbnBhY2tUb0ZvbGRlci4gRXJyb3IgaW4gcmVh +ZGluZyBmaWxlIQAvRmlsZUhlYWRlcgAAVW5wYWNrVG9Gb2xkZXIuIEVycm9yIGlu +IGNyZWF0aW5nIGZpbGUhAC5oZWFkZXIALmRhdGEAAABVbnBhY2tUb0ZvbGRlci4g +RXJyb3IgaW4gY3JlYXRpbmcgZGlyZWN0b3J5IQBiYXNpY19zdHJpbmc6OmF0AExv +YWRGaWxlRnJvbUZvbGRlcjogb2sAUGFjazogb2sAAABBcmd1bWVudCBlcnJvciAt +IFNldCBvZiBgaW5fZGlybmFtZScgYXJndW1lbnQgCgBBcmd1bWVudCBlcnJvciAt +IFNldCBvZiBgaW5fZGlybmFtZScgYXJndW1lbnQAAABBcmd1bWVudCBlcnJvciAt +IFNldCBvZiBgb3V0X2ZpbGVuYW1lJyBhcmd1bWVudABCdWlsZCBlcnJvci4gRGly +ZWN0b3J5IGAAYCBpcyBlbXB0eS4AQnVpbGQgT0shAGRhdGEAYzpcaG9tZVxkbXBh +c1x3b3Jrc3BhY2VcYm9vc3RfMV81NV8wL2Jvb3N0L2ZpbGVzeXN0ZW0vb3BlcmF0 +aW9ucy5ocHAAAAAAYXR0ZW1wdCB0byBkZXJlZmVyZW5jZSBlbmQgaXRlcmF0b3IA +bV9pbXAuZ2V0KCkAOiAAAGJvb3N0OjpmaWxlc3lzdGVtOjpkaXJlY3RvcnlfZW50 +cnkmIGJvb3N0OjpmaWxlc3lzdGVtOjpkaXJlY3RvcnlfaXRlcmF0b3I6OmRlcmVm +ZXJlbmNlKCkgY29uc3QAAFY4VXBhY2sgVmVyc2lvbiAAMy4wLjM2ACBDb3B5cmln +aHQgKGMpIAAKCTIwMDggRGVuaXMgRGVtaWRvdiAyMDA4LTAzLTMwCgkyMDE0LTIw +MTUgU2VyZ2V5IEJhdGFub3YAAABVbnBhY2ssIHBhY2ssIGRlZmxhdGUgYW5kIGlu +ZmxhdGUgMUMgdjggZmlsZSAoKi5jZikAVjhVTlBBQ0sAAAAAICAtVVtOUEFDS10g +ICAgIGluX2ZpbGVuYW1lLmNmICAgICBvdXRfZGlybmFtZQAAICAtUEFbQ0tdICAg +ICAgIGluX2Rpcm5hbWUgICAgICAgICBvdXRfZmlsZW5hbWUuY2YAACAgLUlbTkZM +QVRFXSAgICBpbl9maWxlbmFtZS5kYXRhICAgb3V0X2ZpbGVuYW1lACAgLURbRUZM +QVRFXSAgICBpbl9maWxlbmFtZSAgICAgICAgZmlsZW5hbWUuZGF0YQAgIC1FW1hB +TVBMRV0AICAtQkFUAAAAACAgLVBbQVJTRV0gICAgICBpbl9maWxlbmFtZSAgICAg +ICAgb3V0X2Rpcm5hbWUAACAgLUJbVUlMRF0gICAgICBpbl9kaXJuYW1lICAgICAg +ICAgb3V0X2ZpbGVuYW1lACAgLVZbRVJTSU9OXQAtdmVyc2lvbgAtdgAtaQAtdW5k +AC11bmRlZmxhdGUALWQALXUALXVucAAtcGEALXAALWIAaWYgJTEgPT0gUCBHT1RP +IFBBQ0sAaWYgJTEgPT0gcCBHT1RPIFBBQ0sAADpVTlBBQ0sAVjhVbnBhY2suZXhl +IC11bnBhY2sgICAgICAlMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUy +LnVucAAAAABWOFVucGFjay5leGUgLXVuZGVmbGF0ZSAgICUyLnVucFxtZXRhZGF0 +YS5kYXRhICAgICAgICAgICAgJTIudW5wXG1ldGFkYXRhLmRhdGEudW5kAABWOFVu +cGFjay5leGUgLXVucGFjayAgICAgICUyLnVucFxtZXRhZGF0YS5kYXRhLnVuZCAg +ICAgICAgJTIudW5wXG1ldGFkYXRhLnVucABHT1RPIEVORAA6UEFDSwAAAABWOFVu +cGFjay5leGUgLXBhY2sgICAgICAgICUyLnVucFxtZXRhZGF0YS51bnAgICAgICAg +ICAgICAlMi51bnBcbWV0YWRhdGFfbmV3LmRhdGEudW5kAAAAVjhVbnBhY2suZXhl +IC1kZWZsYXRlICAgICAlMi51bnBcbWV0YWRhdGFfbmV3LmRhdGEudW5kICAgJTIu +dW5wXG1ldGFkYXRhLmRhdGEAAABWOFVucGFjay5leGUgLXBhY2sgICAgICAgICUy +LnVucCAgICAgICAgICAgICAgICAgICAgICAgICAlMi5uZXcuY2YAOkVORAAtZXhh +bXBsZQAtZQBVTlBBQ0sAAFY4VW5wYWNrLmV4ZSAtdW5wYWNrICAgICAgMUN2OC5j +ZiAgICAgICAgICAgICAgICAgICAgICAgICAxQ3Y4LnVucAAAVjhVbnBhY2suZXhl +IC11bmRlZmxhdGUgICAxQ3Y4LnVucFxtZXRhZGF0YS5kYXRhICAgICAgICAgIDFD +djgudW5wXG1ldGFkYXRhLmRhdGEudW5kAAAAAFY4VW5wYWNrLmV4ZSAtdW5wYWNr +ICAgICAgMUN2OC51bnBcbWV0YWRhdGEuZGF0YS51bmQgICAgICAxQ3Y4LnVucFxt +ZXRhZGF0YS51bnAAUEFDSwAAAABWOFVucGFjay5leGUgLXBhY2sgICAgICAgIDFD +djgudW5wXG1ldGFkYXRhLnVucCAgICAgICAgICAgMUN2OC51bnBcbWV0YWRhdGFf +bmV3LmRhdGEudW5kAAAAAFY4VW5wYWNrLmV4ZSAtZGVmbGF0ZSAgICAgMUN2OC51 +bnBcbWV0YWRhdGFfbmV3LmRhdGEudW5kICAxQ3Y4LnVucFxtZXRhZGF0YS5kYXRh +AAAAAFY4VW5wYWNrLmV4ZSAtcGFjayAgICAgICAgMUN2OC51bmQgICAgICAgICAg +ICAgICAgICAgICAgICAxQ3Y4X25ldy5jZgAtaW5mbGF0ZQAtZGVmbGF0ZQAtdW5w +YWNrAC1wYWNrAC1wYXJzZQAtYnVpbGQALWJhdAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAABg8EAABAAEAAgABACw60AABAAFABAACACw60AABAAGACAAIACw60AA +BAAEABAAEABg80AACAAQACAAIABg80AACAAQAIAAgABg80AACAAgAIAAAAFg80AA +IACAAAIBAARg80AAIAACAQIBABBg80AAAAAAAAAAAAAgZGVmbGF0ZSAxLjIuOCBD +b3B5cmlnaHQgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRs +ZXIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpbmNvcnJlY3QgaGVhZGVy +IGNoZWNrAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAGludmFsaWQgd2luZG93 +IHNpemUAdW5rbm93biBoZWFkZXIgZmxhZ3Mgc2V0AGhlYWRlciBjcmMgbWlzbWF0 +Y2gAaW52YWxpZCBibG9jayB0eXBlAGludmFsaWQgc3RvcmVkIGJsb2NrIGxlbmd0 +aHMAAHRvbyBtYW55IGxlbmd0aCBvciBkaXN0YW5jZSBzeW1ib2xzAGludmFsaWQg +Y29kZSBsZW5ndGhzIHNldABpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0AABpbnZh +bGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2sAaW52YWxpZCBsaXRlcmFs +L2xlbmd0aHMgc2V0AGludmFsaWQgZGlzdGFuY2VzIHNldABpbnZhbGlkIGxpdGVy +YWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAGludmFsaWQgZGlz +dGFuY2UgdG9vIGZhciBiYWNrAGluY29ycmVjdCBkYXRhIGNoZWNrAGluY29ycmVj +dCBsZW5ndGggY2hlY2sAAKg3QQBgM0EAMC9BAAAwQQAwPEEAgDlBAFU6QQDQPEEA +4DxBAMAnQQChKEEA4yhBAO4oQQCiOEEAoC9BABA1QQDgM0EAljRBAKUwQQCAKkEA +iipBAHArQQCWK0EAoClBABIqQQAzNUEAaDVBAMc2QQBwLUEAIDVBAGAtQQAAAAAA +AAAAAAAAAAAAAAAAAAAAABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFA +EAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEY +EQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAA +YAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwAAQBwoAAAhgAAAIIAAACaAA +AAgAAAAIgAAACEAAAAngABAHBgAACFgAAAgYAAAJkAATBzsAAAh4AAAIOAAACdAA +EQcRAAAIaAAACCgAAAmwAAAICAAACIgAAAhIAAAJ8AAQBwQAAAhUAAAIFAAVCOMA +EwcrAAAIdAAACDQAAAnIABEHDQAACGQAAAgkAAAJqAAACAQAAAiEAAAIRAAACegA +EAcIAAAIXAAACBwAAAmYABQHUwAACHwAAAg8AAAJ2AASBxcAAAhsAAAILAAACbgA +AAgMAAAIjAAACEwAAAn4ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcQA +EQcLAAAIYgAACCIAAAmkAAAIAgAACIIAAAhCAAAJ5AAQBwcAAAhaAAAIGgAACZQA +FAdDAAAIegAACDoAAAnUABIHEwAACGoAAAgqAAAJtAAACAoAAAiKAAAISgAACfQA +EAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzAARBw8AAAhmAAAIJgAACawA +AAgGAAAIhgAACEYAAAnsABAHCQAACF4AAAgeAAAJnAAUB2MAAAh+AAAIPgAACdwA +EgcbAAAIbgAACC4AAAm8AAAIDgAACI4AAAhOAAAJ/ABgBwAAAAhRAAAIEQAVCIMA +EgcfAAAIcQAACDEAAAnCABAHCgAACGEAAAghAAAJogAACAEAAAiBAAAIQQAACeIA +EAcGAAAIWQAACBkAAAmSABMHOwAACHkAAAg5AAAJ0gARBxEAAAhpAAAIKQAACbIA +AAgJAAAIiQAACEkAAAnyABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcoA +EQcNAAAIZQAACCUAAAmqAAAIBQAACIUAAAhFAAAJ6gAQBwgAAAhdAAAIHQAACZoA +FAdTAAAIfQAACD0AAAnaABIHFwAACG0AAAgtAAAJugAACA0AAAiNAAAITQAACfoA +EAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxgARBwsAAAhjAAAIIwAACaYA +AAgDAAAIgwAACEMAAAnmABAHBwAACFsAAAgbAAAJlgAUB0MAAAh7AAAIOwAACdYA +EgcTAAAIawAACCsAAAm2AAAICwAACIsAAAhLAAAJ9gAQBwUAAAhXAAAIFwBACAAA +EwczAAAIdwAACDcAAAnOABEHDwAACGcAAAgnAAAJrgAACAcAAAiHAAAIRwAACe4A +EAcJAAAIXwAACB8AAAmeABQHYwAACH8AAAg/AAAJ3gASBxsAAAhvAAAILwAACb4A +AAgPAAAIjwAACE8AAAn+AGAHAAAACFAAAAgQABQIcwASBx8AAAhwAAAIMAAACcEA +EAcKAAAIYAAACCAAAAmhAAAIAAAACIAAAAhAAAAJ4QAQBwYAAAhYAAAIGAAACZEA +Ewc7AAAIeAAACDgAAAnRABEHEQAACGgAAAgoAAAJsQAACAgAAAiIAAAISAAACfEA +EAcEAAAIVAAACBQAFQjjABMHKwAACHQAAAg0AAAJyQARBw0AAAhkAAAIJAAACakA +AAgEAAAIhAAACEQAAAnpABAHCAAACFwAAAgcAAAJmQAUB1MAAAh8AAAIPAAACdkA +EgcXAAAIbAAACCwAAAm5AAAIDAAACIwAAAhMAAAJ+QAQBwMAAAhSAAAIEgAVCKMA +EwcjAAAIcgAACDIAAAnFABEHCwAACGIAAAgiAAAJpQAACAIAAAiCAAAIQgAACeUA +EAcHAAAIWgAACBoAAAmVABQHQwAACHoAAAg6AAAJ1QASBxMAAAhqAAAIKgAACbUA +AAgKAAAIigAACEoAAAn1ABAHBQAACFYAAAgWAEAIAAATBzMAAAh2AAAINgAACc0A +EQcPAAAIZgAACCYAAAmtAAAIBgAACIYAAAhGAAAJ7QAQBwkAAAheAAAIHgAACZ0A +FAdjAAAIfgAACD4AAAndABIHGwAACG4AAAguAAAJvQAACA4AAAiOAAAITgAACf0A +YAcAAAAIUQAACBEAFQiDABIHHwAACHEAAAgxAAAJwwAQBwoAAAhhAAAIIQAACaMA +AAgBAAAIgQAACEEAAAnjABAHBgAACFkAAAgZAAAJkwATBzsAAAh5AAAIOQAACdMA +EQcRAAAIaQAACCkAAAmzAAAICQAACIkAAAhJAAAJ8wAQBwQAAAhVAAAIFQAQCAIB +EwcrAAAIdQAACDUAAAnLABEHDQAACGUAAAglAAAJqwAACAUAAAiFAAAIRQAACesA +EAcIAAAIXQAACB0AAAmbABQHUwAACH0AAAg9AAAJ2wASBxcAAAhtAAAILQAACbsA +AAgNAAAIjQAACE0AAAn7ABAHAwAACFMAAAgTABUIwwATByMAAAhzAAAIMwAACccA +EQcLAAAIYwAACCMAAAmnAAAIAwAACIMAAAhDAAAJ5wAQBwcAAAhbAAAIGwAACZcA +FAdDAAAIewAACDsAAAnXABIHEwAACGsAAAgrAAAJtwAACAsAAAiLAAAISwAACfcA +EAcFAAAIVwAACBcAQAgAABMHMwAACHcAAAg3AAAJzwARBw8AAAhnAAAIJwAACa8A +AAgHAAAIhwAACEcAAAnvABAHCQAACF8AAAgfAAAJnwAUB2MAAAh/AAAIPwAACd8A +EgcbAAAIbwAACC8AAAm/AAAIDwAACI8AAAhPAAAJ/wAQABEAEgAAAAgABwAJAAYA +CgAFAAsABAAMAAMADQACAA4AAQAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAA +QAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAA +ABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAAAAAAAAAAAAAAAAAQAAAAIAAAADAAAA +BAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAA +IAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAAAA +AAAAAAAAAAAAAAAAAAAAAAABAgMEBQYHCAgJCQoKCwsMDAwMDQ0NDQ4ODg4PDw8P +EBAQEBAQEBARERERERERERISEhISEhISExMTExMTExMUFBQUFBQUFBQUFBQUFBQU +FRUVFRUVFRUVFRUVFRUVFRYWFhYWFhYWFhYWFhYWFhYXFxcXFxcXFxcXFxcXFxcX +GBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgZGRkZGRkZGRkZGRkZGRkZ +GRkZGRkZGRkZGRkZGRkZGRoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoa +GxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxwAAQIDBAQFBQYGBgYHBwcH +CAgICAgICAgJCQkJCQkJCQoKCgoKCgoKCgoKCgoKCgoLCwsLCwsLCwsLCwsLCwsL +DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDQ0NDQ0NDQ0NDQ0NDQ0N +DQ0NDQ0NDQ0NDQ0NDQ0NDQ4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4O +Dg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4PDw8PDw8PDw8PDw8PDw8P +Dw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8P +AAAQERISExMUFBQUFRUVFRYWFhYWFhYWFxcXFxcXFxcYGBgYGBgYGBgYGBgYGBgY +GRkZGRkZGRkZGRkZGRkZGRoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoa +GxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxscHBwcHBwcHBwcHBwcHBwc +HBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwc +HR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0d +HR0dHR0dHR0dHR0dHR0dHQAABQAQAAUACAAFABgABQAEAAUAFAAFAAwABQAcAAUA +AgAFABIABQAKAAUAGgAFAAYABQAWAAUADgAFAB4ABQABAAUAEQAFAAkABQAZAAUA +BQAFABUABQANAAUAHQAFAAMABQATAAUACwAFABsABQAHAAUAFwAFAAAAAAAAAAAA +DAAIAIwACABMAAgAzAAIACwACACsAAgAbAAIAOwACAAcAAgAnAAIAFwACADcAAgA +PAAIALwACAB8AAgA/AAIAAIACACCAAgAQgAIAMIACAAiAAgAogAIAGIACADiAAgA +EgAIAJIACABSAAgA0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgA +KgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgA +BgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgA +NgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgA +HgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgA +IQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgA +CQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgA +OQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgA +FQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgA +LQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgA +EwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkA +cwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkA +KwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkA +WwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkA +BwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkA +ZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkA +NwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkA +TwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkA +HwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkA +fwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcA +CAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcA +FAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgA +EBESAAgHCQYKBQsEDAMNAg4BDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AgAAAAMAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAA +BwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAA +DQAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAA +BAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAA +MS4yLjgAbmVlZCBkaWN0aW9uYXJ5AHN0cmVhbSBlbmQAAGZpbGUgZXJyb3IAc3Ry +ZWFtIGVycm9yAGRhdGEgZXJyb3IAaW5zdWZmaWNpZW50IG1lbW9yeQBidWZmZXIg +ZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AAAAAAAAGQkkAFkJJACFCSQAiQkkA +LUJJADpCSQBFQkkAWUJJAGZCSQAhQkkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAJYwB3csYQ7uulEJmRnEbQeP9GpwNaVj6aOVZJ4yiNsOpLjceR7p1eCI2dKX +K0y2Cb18sX4HLbjnkR2/kGQQtx3yILBqSHG5895BvoR91Noa6+TdbVG11PTHhdOD +VphsE8Coa2R6+WL97Mllik9cARTZbAZjYz0P+vUNCI3IIG47XhBpTORBYNVycWei +0eQDPEfUBEv9hQ3Sa7UKpfqotTVsmLJC1sm720D5vKzjbNgydVzfRc8N1txZPdGr +rDDZJjoA3lGAUdfIFmHQv7X0tCEjxLNWmZW6zw+lvbieuAIoCIgFX7LZDMYk6Qux +h3xvLxFMaFirHWHBPS1mtpBB3HYGcdsBvCDSmCoQ1e+JhbFxH7W2BqXkv58z1Ljo +oskHeDT5AA+OqAmWGJgO4bsNan8tPW0Il2xkkQFcY+b0UWtrYmFsHNgwZYVOAGLy +7ZUGbHulARvB9AiCV8QP9cbZsGVQ6bcS6ri+i3yIufzfHd1iSS3aFfN804xlTNT7 +WGGyTc5RtTp0ALyj4jC71EGl30rXldg9bcTRpPv01tNq6WlD/NluNEaIZ63QuGDa +cy0EROUdAzNfTAqqyXwN3TxxBVCqQQInEBALvoYgDMkltWhXs4VvIAnUZrmf5GHO +DvneXpjJ2SkimNCwtKjXxxc9s1mBDbQuO1y9t61susAgg7jttrO/mgzitgOa0rF0 +OUfV6q930p0VJtsEgxbccxILY+OEO2SUPmptDahaanoLzw7knf8JkyeuAAqxngd9 +RJMP8NKjCIdo8gEe/sIGaV1XYvfLZ2WAcTZsGecGa252G9T+4CvTiVp62hDMSt1n +b9+5+fnvvo5DvrcX1Y6wYOij1tZ+k9GhxMLYOFLy30/xZ7vRZ1e8pt0GtT9LNrJI +2isN2EwbCq/2SgM2YHoEQcPvYN9V32eo745uMXm+aUaMs2HLGoNmvKDSbyU24mhS +lXcMzANHC7u5FgIiLyYFVb47usUoC72yklq0KwRqs1yn/9fCMc/QtYue2Swdrt5b +sMJkmybyY+yco2p1CpNtAqkGCZw/Ng7rhWcHchNXAAWCSr+VFHq44q4rsXs4G7YM +m47Skg2+1eW379x8Id/bC9TS04ZC4tTx+LPdaG6D2h/NFr6BWya59uF3sG93R7cY +5loIiHBqD//KOwZmXAsBEf+eZY9prmL40/9rYUXPbBZ44gqg7tIN11SDBE7CswM5 +YSZnp/cWYNBNR2lJ23duPkpq0a7cWtbZZgvfQPA72DdTrrypxZ673n/Pskfp/7Uw +HPK9vYrCusowk7NTpqO0JAU20LqTBtfNKVfeVL9n2SMuemazuEphxAIbaF2UK28q +N74LtKGODMMb3wVaje8CLQAAAABBMRsZgmI2MsNTLSsExWxkRfR3fYanWlbHlkFP +CIrZyEm7wtGK6O/6y9n04wxPtaxNfq61ji2Dns8cmIdREsJKECPZU9Nw9HiSQe9h +VdeuLhTmtTfXtZgcloSDBVmYG4IYqQCb2/otsJrLNqldXXfmHGxs/98/QdSeDlrN +oiSEleMVn4wgRrKnYXepvqbh6PHn0PPoJIPew2Wyxdqqrl1d659GRCjMa29p/XB2 +rmsxOe9aKiAsCQcLbTgcEvM2Rt+yB13GcVRw7TBla/T38yq7tsIxonWRHIk0oAeQ ++7yfF7qNhA553qklOO+yPP9583O+SOhqfRvFQTwq3lgFT3nwRH5i6YctT8LGHFTb +AYoVlEC7Do2D6COmwtk4vw3FoDhM9Lshj6eWCs6WjRMJAMxcSDHXRYti+m7KU+F3 +VF27uhVsoKPWP42Ilw6WkVCY194RqczH0vrh7JPL+vVc12JyHeZ5a961VECfhE9Z +WBIOFhkjFQ/acDgkm0EjPadr/WXmWuZ8JQnLV2Q40E6jrpEB4p+KGCHMpzNg/bwq +r+Ekre7QP7QtgxKfbLIJhqskSMnqFVPQKUZ++2h3ZeL2eT8vt0gkNnQbCR01KhIE +8rxTS7ONSFJw3mV5Me9+YP7z5ue/wv3+fJHQ1T2gy8z6NoqDuweRmnhUvLE5Zaeo +S5iDOwqpmCLJ+rUJiMuuEE9d718ObPRGzT/ZbYwOwnRDElrzAiNB6sFwbMGAQXfY +R9c2lwbmLY7FtQClhIQbvBqKQXFbu1pomOh3Q9nZbFoeTy0VX342DJwtGyfdHAA+ +EgCYuVMxg6CQYq6L0VO1khbF9N1X9O/ElKfC79WW2fbpvAeuqI0ct2veMZwq7yqF +7XlryqxIcNNvG134LipG4eE23magB8V/Y1ToVCJl803l87ICpMKpG2eRhDAmoJ8p +uK7F5Pmf3v06zPPWe/3oz7xrqYD9WrKZPgmfsn84hKuwJBws8RUHNTJGKh5zdzEH +tOFwSPXQa1E2g0Z6d7JdY07X+ssP5uHSzLXM+Y2E1+BKEpavCyONtshwoJ2JQbuE +Rl0jAwdsOBrEPxUxhQ4OKEKYT2cDqVR+wPp5VYHLYkwfxTiBXvQjmJ2nDrPclhWq +GwBU5VoxT/yZYmLX2FN5zhdP4UlWfvpQlS3Xe9QczGITio0tUruWNJHoux/Q2aAG +7PN+Xq3CZUdukUhsL6BTdeg2EjqpBwkjalQkCCtlPxHkeaeWpUi8j2YbkaQnKoq9 +4LzL8qGN0Oti3v3AI+/m2b3hvBT80KcNP4OKJn6ykT+5JNBw+BXLaTtG5kJ6d/1b +tWtl3PRafsU3CVPudjhI97GuCbjwnxKhM8w/inL9JJMAAAAAN2rCAW7UhANZvkYC +3KgJB+vCywayfI0EhRZPBbhREw6PO9EP1oWXDeHvVQxk+RoJU5PYCAotngo9R1wL +cKMmHEfJ5B0ed6IfKR1gHqwLLxubYe0awt+rGPW1aRnI8jUS/5j3E6YmsRGRTHMQ +FFo8FSMw/hR6jrgWTeR6F+BGTTjXLI85jpLJO7n4Czo87kQ/C4SGPlI6wDxlUAI9 +WBdeNm99nDc2w9o1AakYNIS/VzGz1ZUw6mvTMt0BETOQ5Wskp4+pJf4x7yfJWy0m +TE1iI3snoCIimeYgFfMkISi0eCof3rorRmD8KXEKPij0HHEtw3azLJrI9S6tojcv +wI2acPfnWHGuWR5zmTPcchwlk3crT1F2cvEXdEWb1XV43Il+T7ZLfxYIDX0hYs98 +pHSAeZMeQnjKoAR6/crGe7AuvGyHRH5t3vo4b+mQ+m5shrVrW+x3agJSMWg1OPNp +CH+vYj8VbWNmqythUcHpYNTXpmXjvWRkugMiZo1p4Gcgy9dIF6EVSU4fU0t5dZFK +/GPeT8sJHE6St1pMpd2YTZiaxEav8AZH9k5ARcEkgkREMs1Bc1gPQCrmSUIdjItD +UGjxVGcCM1U+vHVXCda3VozA+FO7qjpS4hR8UNV+vlHoOeJa31MgW4btZlmxh6RY +NJHrXQP7KVxaRW9ebS+tX4AbNeG3cffg7s+x4tmlc+Ncszzma9n+5zJnuOUFDXrk +OEom7w8g5O5WnqLsYfRg7eTiL+jTiO3pijar671caerwuBP9x9LR/J5sl/6pBlX/ +LBAa+ht62PtCxJ75da5c+EjpAPN/g8LyJj2E8BFXRvGUQQn0oyvL9fqVjffN/0/2 +YF142Vc3utgOifzaOeM+27z1cd6Ln7Pf0iH13eVLN9zYDGvX72ap1rbY79SBsi3V +BKRi0DPOoNFqcObTXRok0hD+XsUnlJzEfiraxklAGMfMVlfC+zyVw6KC08GV6BHA +qK9Ny5/Fj8rGe8nI8RELyXQHRMxDbYbNGtPAzy25As5Alq+Rd/xtkC5CK5IZKOmT +nD6mlqtUZJfy6iKVxYDglPjHvJ/PrX6elhM4nKF5+p0kb7WYEwV3mUq7MZt90fOa +MDWJjQdfS4xe4Q2OaYvPj+ydgIrb90KLgkkEibUjxoiIZJqDvw5YguawHoDR2tyB +VMyThGOmUYU6GBeHDXLVhqDQ4qmXuiCozgRmqvlupKt8eOuuSxIprxKsb60lxq2s +GIHxpy/rM6Z2VXWkQT+3pcQp+KDzQzqhqv18o52XvqLQc8S15xkGtL6nQLaJzYK3 +DNvNsjuxD7NiD0mxVWWLsGgi17tfSBW6BvZTuDGckbm0it68g+AcvdpeWr/tNJi+ +AAAAAGVnvLiLyAmq7q+1EleXYo8y8N433F9rJbk4153vKLTFik8IfWTgvW8BhwHX +uL/WSt3YavIzd9/gVhBjWJ9XGVD6MKXoFJ8Q+nH4rELIwHvfrafHZ0MIcnUmb87N +cH+tlRUYES37t6Q/ntAYhyfozxpCj3OirCDGsMlHegg+rzKgW8iOGLVnOwrQAIey +aThQLwxf7Jfi8FmFh5flPdGHhmW04DrdWk+Pzz8oM3eGEOTq43dYUg3Y7UBov1H4 +ofgr8MSfl0gqMCJaT1ee4vZvSX+TCPXHfadA1RjA/G1O0J81K7cjjcUYlp+gfyon +GUf9unwgQQKSj/QQ9+hIqD1YFJtYP6gjtpAdMdP3oYlqz3YUD6jKrOEHf76EYMMG +0nCgXrcXHOZZuKn0PN8VTIXnwtHggH5pDi/Le2tId8OiDw3Lx2ixcynHBGFMoLjZ +9ZhvRJD/0/x+UGbuGzfaVk0nuQ4oQAW2xu+wpKOIDBwasNuBf9dnOZF40iv0H26T +A/cmO2aQmoOIPy+R7ViTKVRgRLQxB/gM36hNHrrP8abs35L+ibguRmcXm1QCcCfs +u0jwcd4vTMkwgPnbVedFY5ygP2v5x4PTF2g2wXIPinnLN13krlDhXED/VE4lmOj2 +c4iLrhbvNxb4QIIEnSc+vCQf6SFBeFWZr9fgi8qwXDM7tlntXtHlVbB+UEfVGez/ +bCE7YglGh9rn6TLIgo6OcNSe7Six+VGQX1bkgjoxWDqDCY+n5m4zHwjBhg1tpjq1 +pOFAvcGG/AUvKUkXSk71r/N2IjKWEZ6KeL4rmB3ZlyBLyfR4Lq5IwMAB/dKlZkFq +HF6W93k5Kk+Xlp9d8vEj5QUZa01gftf1jtFi5+u23l9SjgnCN+m1etlGAGi8IbzQ +6jHfiI9WYzBh+dYiBJ5qmr2mvQfYwQG/Nm60rVMJCBWaTnId/ynOpRGGe7d04ccP +zdkQkqi+rCpGERk4I3algHVmxtgQAXpg/q7PcpvJc8oi8aRXR5YY76k5rf3MXhFF +Bu5NdmOJ8c6NJkTc6EH4ZFF5L/k0HpNB2rEmU7/WmuvpxvmzjKFFC2IO8BkHaUyh +vlGbPNs2J4Q1mZKWUP4uLpm5VCb83uieEnFdjHcW4TTOLjapq0mKEUXmPwMggYO7 +dpHg4xP2XFv9WelJmD5V8SEGgmxEYT7Uqs6Lxs+pN344QX/WXSbDbrOJdnzW7srE +b9YdWQqxoeHkHhTzgXmoS9dpyxOyDnerXKHCuTnGfgGA/qmc5ZkVJAs2oDZuURyO +pxZmhsJx2j4s3m8sSbnTlPCBBAmV5rixe0kNox4usRtIPtJDLVlu+8P22+mmkWdR +H6mwzHrODHSUYblm8QYF3gAAAAB3BzCW7g5hLJkJUboHbcQZcGr0j+ljpTWeZJWj +DtuIMnncuKTg1ekel9LZiAm2TCt+sXy957gtB5C/HZEdtxBkarAg8vO5cUiEvkHe +GtrUfW3d5Ov01LVRg9OFxxNsmFZka6jA/WL5eoplyewUAVxPYwZs2foPPWONCA31 +O24gyExpEF7VYEHkomdxcjwD5NFLBNRH0g2F/aUKtWs1taj6QrKYbNu7ydasvPlA +Mths40XfXHXc1g3Pq9E9WSbZMKxR3gA6yNdRgL/QYRYhtPS1VrPEI8+6lZm4vaUP +KAK4nl8FiAjGDNmysQvpJC9vfIdYaEwRwWEdq7ZmLT123EGQAdtxBpjSILzv1RAq +cbGFiQa2tR+fv+Sl6LjUM3gHyaIPAPk0lgmojuEOmBh/ag27CG09LZFkbJfmY1wB +a2tR9BxsYWKFZTDY8mIATmwGle0bAaV7ggj0wfUPxFdlsNnGErfpUIu+uOr8uYh8 +Yt0d3xXaLUmM03zz+9RMZU2yYVg6tVHOo7wAdNS7MOJK36VBPdiV16TRxG3T1vT7 +Q2npajRu2fytZ4hG2mC40EQELXMzAx3lqgpMX90NfMlQBXE8JwJBqr4LEBDJDCCG +V2i1JSBvhbO5ZtQJzmHkn17e+Q4p2cmYsNCYIsfXqLRZsz0XLrQNgbe9XDvAumyt +7biDIJq/s7YDtuIMdLHSmurVRzmd0nevBNsmFXPcFoPjYwsSlGQ7hA1taj56alqo +5A7PC5MJ/50KAK4nfQeesfAPk0SHCKPSHgHyaGkGwv73YlddgGVnyxlsNnFuawbn +/tQbdonTK+AQ2npaZ91KzPm532+Ovu/5F7e+Q2CwjtXW1qPoodGTfjjYwsRP3/JS +0btn8aa8V2c/tQbdSLI2S9gNK9qvChtMNgNK9kEEemDfYO/DqGffVTFuju9Gab55 +y2GzjLxmgxolb9KgUmjiNswMd5W7C0cDIgIWuVUFJi/Fuju+sr0LKCu0WpJcs2oE +wtf/p7XQzzEs2Z6LW96uHZtkwrDsY/ImdWqjnAJtkwqcCQap6w42P3IHZ4UFAFcT +lb9KguK4ehR7sSuuDLYbOJLSjpvl1b4NfNzvtwvb3yGG09LU8dTiQmjds/gf2oNu +gb4Wzfa5JltvsHfhGLdHd4gIWub/D2pwZgY7yhEBC1yPZZ7/+GKuaWFr/9MWbM9F +oArieNcN0u5OBINUOQOzwqdnJmHQYBb3SWlHTT5ud9uu0WpK2dZa3EDfC2Y32Dvw +qbyuU967nsVHss9/MLX/6b298hzKusKKU7OTMCS0o6a60DYFzdcGk1TeVykj2We/ +s2Z6LsRhSrhdaBsCKm8rlLQLvjfDDI6hWgXfGy0C740AAAAAGRsxQTI2YoIrLVPD +ZGzFBH139EVWWqeGT0GWx8jZigjRwrtJ+u/oiuP02custU8Mta5+TZ6DLY6HmBzP +SsISUVPZIxB49HDTYe9Bki6u11U3teYUHJi11wWDhJaCG5hZmwCpGLAt+tupNsua +5nddXf9sbBzUQT/fzVoOnpWEJKKMnxXjp7JGIL6pd2Hx6OGm6PPQ58PegyTaxbJl +XV2uqkRGn+tva8wodnD9aTkxa64gKlrvCwcJLBIcOG3fRjbzxl0Hsu1wVHH0a2Uw +uyrz96IxwraJHJF1kAegNBefvPsOhI26JaneeTyy7zhz83n/auhIvkHFG31Y3io8 +8HlPBelifkTCTy2H21QcxpQVigGNDrtApiPog7842cI4oMUNIbv0TAqWp48TjZbO +XMwACUXXMUhu+mKLd+FTyrq7XVSjoGwViI0/1pGWDpfe15hQx8ypEezh+tL1+suT +cmLXXGt55h1AVLXeWU+EnxYOElgPFSMZJDhw2j0jQZtl/WunfOZa5lfLCSVO0Dhk +AZGuoxiKn+Izp8whKrz9YK0k4a+0P9DunxKDLYYJsmzJSCSr0FMV6vt+RiniZXdo +Lz959jYkSLcdCRt0BBIqNUtTvPJSSI2zeWXecGB+7zHn5vP+/v3Cv9XQkXzMy6A9 +g4o2+pqRB7uxvFR4qKdlOTuDmEsimKkKCbX6yRCuy4hf711PRvRsDm3ZP810wg6M +81oSQ+pBIwLBbHDB2HdBgJc210eOLeYGpQC1xbwbhIRxQYoaaFq7W0N36JhabNnZ +FS1PHgw2fl8nGy2cPgAc3bmYABKggzFTi65ikJK1U9Hd9MUWxO/0V+/Cp5T22ZbV +rge86bccjaicMd5rhSrvKspree3TcEis+F0bb+FGKi5m3jbhf8UHoFToVGNN82Ui +ArLz5RupwqQwhJFnKZ+gJuTFrrj93p/51vPMOs/o/XuAqWu8mbJa/bKfCT6rhDh/ +LBwksDUHFfEeKkYyBzF3c0hw4bRRa9D1ekaDNmNdsnfL+tdO0uHmD/nMtczg14SN +r5YSSraNIwudoHDIhLtBiQMjXUYaOGwHMRU/xCgODoVnT5hCflSpA1V5+sBMYsuB +gTjFH5gj9F6zDqedqhWW3OVUABv8TzFa12Jimc55U9hJ4U8XUPp+VnvXLZVizBzU +LY2KEzSWu1Ifu+iRBqDZ0F5+8+xHZcKtbEiRbnVToC86EjboIwkHqQgkVGoRP2Ur +lqd55I+8SKWkkRtmvYoqJ/LLvODr0I2hwP3eYtnm7yMUvOG9DafQ/CaKgz8/kbJ+ +cNAkuWnLFfhC5kY7W/13etxla7XFflr07lMJN/dIOHa4Ca6xoRKf8Io/zDOTJP1y +AAAAAAHCajcDhNRuAka+WQcJqNwGy8LrBI18sgVPFoUOE1G4D9E7jw2XhdYMVe/h +CRr5ZAjYk1MKni0KC1xHPRwmo3Ad5MlHH6J3Hh5gHSkbLwusGu1hmxir38IZabX1 +EjXyyBP3mP8RsSamEHNMkRU8WhQU/jAjFriOehd65E04TUbgOY8s1zvJko46C/i5 +P0TuPD6GhAs8wDpSPQJQZTZeF1g3nH1vNdrDNjQYqQExV7+EMJXVszLTa+ozEQHd +JGvlkCWpj6cn7zH+Ji1bySNiTUwioCd7IOaZIiEk8xUqeLQoK7reHyn8YEYoPgpx +LXEc9CyzdsMu9ciaLzeirXCajcBxWOf3cx5ZrnLcM5l3kyUcdlFPK3QX8XJ11ZtF +fonceH9Ltk99DQgWfM9iIXmAdKR4Qh6TegSgynvGyv1svC6wbX5Eh284+t5u+pDp +a7WGbGp37FtoMVICafM4NWKvfwhjbRU/YSurZmDpwVFlptfUZGS942YiA7pn4GmN +SNfLIEkVoRdLUx9OSpF1eU/eY/xOHAnLTFq3kk2Y3aVGxJqYRwbwr0VATvZEgiTB +Qc0yREAPWHNCSeYqQ4uMHVTxaFBVMwJnV3W8Pla31glT+MCMUjqqu1B8FOJRvn7V +WuI56FsgU99ZZu2GWKSHsV3rkTRcKfsDXm9FWl+tL23hNRuA4Pdxt+Kxz+7jc6XZ +5jyzXOf+2WvluGcy5HoNBe8mSjju5CAP7KKeVu1g9GHoL+Lk6e2I0+urNorqaVy9 +/RO48PzR0sf+l2ye/1UGqfoaECz72Hob+Z7EQvhcrnXzAOlI8sKDf/CEPSbxRlcR +9AlBlPXLK6P3jZX69k//zdl4XWDYujdX2vyJDts+4znecfW837Ofi931IdLcN0vl +12sM2NapZu/U79i21S2ygdBipATRoM4z0+ZwatIkGl3FXv4QxJyUJ8baKn7HGEBJ +wldWzMOVPPvB04KiwBHolctNr6jKj8WfyMl7xskLEfHMRAd0zYZtQ8/A0xrOArkt +ka+WQJBt/HeSK0Iuk+koGZamPpyXZFSrlSLq8pTggMWfvMf4nn6tz5w4E5ad+nmh +mLVvJJl3BRObMbtKmvPRfY2JNTCMS18Hjg3hXo/Pi2mKgJ3si0L324kESYKIxiO1 +g5pkiIJYDr+AHrDmgdza0YSTzFSFUaZjhxcYOobVcg2p4tCgqCC6l6pmBM6rpG75 +rut4fK8pEkutb6wSrK3GJafxgRimM+svpHVVdqW3P0Gg+CnEoTpD86N8/aqivped +tcRz0LQGGee2QKe+t4LNibLN2wyzD7E7sUkPYrCLZVW71yJouhVIX7hT9ga5kZwx +vN6KtL0c4IO/Wl7avpg07QAAAAC4vGdlqgnIixK1r+6PYpdXN97wMiVrX9yd1zi5 +xbQo730IT4pvveBk1wGHAUrWv7jyatjd4N93M1hjEFZQGVef6KUw+voQnxRCrPhx +33vAyGfHp611cghDzc5vJpWtf3AtERgVP6S3+4cY0J4az+gnonOPQrDGIKwIekfJ +oDKvPhiOyFsKO2e1socA0C9QOGmX7F8MhVnw4j3ll4dlhofR3TrgtM+PT1p3Myg/ +6uQQhlJYd+NA7dgN+FG/aPAr+KFIl5/EWiIwKuKeV09/SW/2x/UIk9VAp31t/MAY +NZ/QTo0jtyuflhjFJyp/oLr9RxkCQSB8EPSPkqhI6PebFFg9I6g/WDEdkLaJoffT +FHbPaqzKqA++fwfhBsNghF6gcNLmHBe39Km4WUwV3zzRwueFaX6A4HvLLw7Dd0hr +yw0PonOxaMdhBMcp2bigTERvmPX80/+Q7mZQflbaNxsOuSdNtgVAKKSw78YcDIij +gduwGjln138r0niRk24f9Dsm9wODmpBmkS8/iCmTWO20RGBUDPgHMR5NqN+m8c+6 +/pLf7EYuuIlUmxdn7CdwAnHwSLvJTC/e2/mAMGNF51VrP6Cc04PH+cE2aBd5ig9y +5F03y1zhUK5OVP9A9uiYJa6LiHMWN+8WBIJA+Lw+J50h6R8kmVV4QYvg168zXLDK +7Vm2O1Xl0V5HUH6w/+wZ1WI7IWzah0YJyDLp53COjoIo7Z7UkFH5sYLkVl86WDE6 +p48Jgx8zbuYNhsEItTqmbb1A4aQF/IbBF0kpL6/1TkoyInbzip4Rlpgrvnggl9kd +ePTJS8BIri7S/QHAakFmpfeWXhxPKjl5XZ+Wl+Uj8fJNaxkF9dd+YOdi0Y5f3rbr +wgmOUnq16TdoAEbZ0LwhvIjfMeowY1aPItb5YZpqngQHvaa9vwHB2K20bjYVCAlT +HXJOmqXOKf+3e4YRD8fhdJIQ2c0qrL6oOBkRRoCldiPYxmZ1YHoBEHLPrv7Kc8mb +V6TxIu8Ylkf9rTmpRRFezHZN7gbO8Ylj3EQmjWT4Qej5L3lRQZMeNFMmsdrrmta/ +s/nG6QtFoYwZ8A5ioUxpBzybUb6EJzbblpKZNS4u/lAmVLmZnuje/IxdcRI04RZ3 +qTYuzhGKSasDP+ZFu4OBIOPgkXZbXPYTSelZ/fFVPphsggYh1D5hRMaLzqp+N6nP +1n9BOG7DJl18domzxMru1lkd1m/hobEK8xQe5EuoeYETy2nXq3cOsrnCoVwBfsY5 +nKn+gCQVmeU2oDYLjhxRboZmFqc+2nHCLG/eLJTTuUkJBIHwsbjmlaMNSXsbsS4e +Q9I+SPtuWS3p2/bDUWeRpsywqR90DM56ZrlhlN4FBvFpbnZhbGlkIGRpc3RhbmNl +IHRvbyBmYXIgYmFjawBpbnZhbGlkIGRpc3RhbmNlIGNvZGUAaW52YWxpZCBsaXRl +cmFsL2xlbmd0aCBjb2RlAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABEAEQASABIA +EwATABQAFAAVABUAFgAWABcAFwAYABgAGQAZABoAGgAbABsAHAAcAB0AHQBAAEAA +AQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEM +ARABGAEgATABQAFgAAAAABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIA +EwATABMAEwAUABQAFAAUABUAFQAVABUAEABIAE4AAAADAAQABQAGAAcACAAJAAoA +CwANAA8AEQATABcAGwAfACMAKwAzADsAQwBTAGMAcwCDAKMAwwDjAAIBAAAAAAAA +IGluZmxhdGUgMS4yLjggQ29weXJpZ2h0IDE5OTUtMjAxMyBNYXJrIEFkbGVyIAAA +AAAAAAAAAAAAAAAAAAAAAC5leGUALmNvbQAuYmF0AC5jbWQAXAAqAAAAKgAAAAAA +Ym9vc3Q6OmZpbGVzeXN0ZW06OmNyZWF0ZV9kaXJlY3Rvcnlfc3ltbGluawBib29z +dDo6ZmlsZXN5c3RlbTo6Y29weV9zeW1saW5rAGJvb3N0OjpmaWxlc3lzdGVtOjpy +ZW5hbWUAAABib29zdDo6ZmlsZXN5c3RlbTo6Y29weV9kaXJlY3RvcnkAYm9vc3Q6 +OmZpbGVzeXN0ZW06OmNvcHlfZmlsZQAAYm9vc3Q6OmZpbGVzeXN0ZW06OmNyZWF0 +ZV9oYXJkX2xpbmsAYm9vc3Q6OmZpbGVzeXN0ZW06OmVxdWl2YWxlbnQAAABib29z +dDo6ZmlsZXN5c3RlbTo6Y3VycmVudF9wYXRoAGJvb3N0OjpmaWxlc3lzdGVtOjpz +dGF0dXMAAABib29zdDo6ZmlsZXN5c3RlbTo6dGVtcF9kaXJlY3RvcnlfcGF0aABi +b29zdDo6ZmlsZXN5c3RlbTo6Y29weQAAYm9vc3Q6OmZpbGVzeXN0ZW06OmNyZWF0 +ZV9kaXJlY3RvcnkAYm9vc3Q6OmZpbGVzeXN0ZW06OmNyZWF0ZV9kaXJlY3Rvcmll +cwAAAGJvb3N0OjpmaWxlc3lzdGVtOjpkaXJlY3RvcnlfaXRlcmF0b3I6Om9wZXJh +dG9yKysAAABib29zdDo6ZmlsZXN5c3RlbTo6cmVhZF9zeW1saW5rAGJvb3N0Ojpm +aWxlc3lzdGVtOjpjYW5vbmljYWwAAAAAYm9vc3Q6OmZpbGVzeXN0ZW06OmRpcmVj +dG9yeV9pdGVyYXRvcjo6Y29uc3RydWN0AGJvb3N0OjpmaWxlc3lzdGVtOjpmaWxl +X3NpemUAYm9vc3Q6OmZpbGVzeXN0ZW06OnNwYWNlAGJvb3N0OjpmaWxlc3lzdGVt +Ojppc19lbXB0eQAAYm9vc3Q6OmZpbGVzeXN0ZW06OnJlc2l6ZV9maWxlAGJvb3N0 +OjpmaWxlc3lzdGVtOjpyZW1vdmUAYm9vc3Q6OmZpbGVzeXN0ZW06OnJlbW92ZV9h +bGwAAGJvb3N0OjpmaWxlc3lzdGVtOjpsYXN0X3dyaXRlX3RpbWUAAGJvb3N0Ojpm +aWxlc3lzdGVtOjpwZXJtaXNzaW9ucwAAYm9vc3Q6OmZpbGVzeXN0ZW06OmhhcmRf +bGlua19jb3VudAAAYm9vc3Q6OmZpbGVzeXN0ZW06OnN5c3RlbV9jb21wbGV0ZQAA +LgAAAC4ALgAAAGtlcm5lbDMyLmRsbABDcmVhdGVIYXJkTGlua1cAQ3JlYXRlU3lt +Ym9saWNMaW5rVwA6IAA6ICIAIgAsICIALwBcAAAAYmFzaWNfc3RyaW5nOjplcmFz +ZQAAAGJhc2ljX3N0cmluZzo6X1NfY29uc3RydWN0IG51bGwgbm90IHZhbGlkAGJh +c2ljX3N0cmluZzo6c3Vic3RyAABcAAAALwAAAC4AAAAuAC4AAAA6IAAAAABib29z +dDo6ZmlsZXN5c3RlbTo6cGF0aCBjb2RlY3Z0IHRvIHdzdHJpbmcAAGJvb3N0Ojpm +aWxlc3lzdGVtOjpwYXRoIGNvZGVjdnQgdG8gc3RyaW5nADogAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAGNvZGVjdnQAb2sAcGFydGlhbABlcnJvcgBub2NvbnYA +dW5rbm93biBlcnJvcgAAAAAAAAAAAAAAAAAAAAAAAAAqTjEyX0dMT0JBTF9fTl8x +MTdjb2RlY3Z0X2Vycm9yX2NhdEUAAAAASMVJAIBpSQBEp0kAAAAAAAAAAAAAAAAA +AAAAAKhpSQDAbEIA0GxCAKBsQgDwbEIAcPRDADD0QwAQ9EMAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAGdlbmVyaWMAc3lzdGVtAFVua25vd24gZXJyb3IAYmFz +aWNfc3RyaW5nOjplcmFzZQAAAAAAAAAAAAAAAAAAAAAqTjVib29zdDZzeXN0ZW0x +Ml9HTE9CQUxfX05fMTIyZ2VuZXJpY19lcnJvcl9jYXRlZ29yeUUAAAAAAAAAAAAA +Kk41Ym9vc3Q2c3lzdGVtMTJfR0xPQkFMX19OXzEyMXN5c3RlbV9lcnJvcl9jYXRl +Z29yeUUAAABIxUkAgGpJAESnSQBIxUkAQGpJAESnSQAAAAAAAAAAAAAAAAAAAAAA +AAAAAMRqSQCQbkIAwG5CAEBuQgDgbkIAcPRDADD0QwAQ9EMAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAC4akkAgG5CAKBuQgBQbkIAIIRCAABwQgAw9EMA +EPRDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABiYXNpY19maWxlYnVmOjp1 +bmRlcmZsb3cgY29kZWN2dDo6bWF4X2xlbmd0aCgpIGlzIG5vdCB2YWxpZABiYXNp +Y19maWxlYnVmOjp1bmRlcmZsb3cgaW5jb21wbGV0ZSBjaGFyYWN0ZXIgaW4gZmls +ZQAAAGJhc2ljX2ZpbGVidWY6OnVuZGVyZmxvdyBpbnZhbGlkIGJ5dGUgc2VxdWVu +Y2UgaW4gZmlsZQAAYmFzaWNfZmlsZWJ1Zjo6dW5kZXJmbG93IGVycm9yIHJlYWRp +bmcgdGhlIGZpbGUAYmFzaWNfZmlsZWJ1Zjo6eHNnZXRuIGVycm9yIHJlYWRpbmcg +dGhlIGZpbGUAAAAAYmFzaWNfZmlsZWJ1Zjo6X01fY29udmVydF90b19leHRlcm5h +bCBjb252ZXJzaW9uIGVycm9yAABiYXNpY19pb3M6OmNsZWFyAAAAALC6QwABu0MA +MLtDALC6QwDgukMAQLtDAEC7QwBAu0MAQLtDAPC6QwDnukMAsLpDAOC6QwBiYXNp +Y19zdHJpbmc6OmF0AGJhc2ljX3N0cmluZzo6Y29weQBiYXNpY19zdHJpbmc6OmNv +bXBhcmUAYmFzaWNfc3RyaW5nOjpfU19jcmVhdGUAYmFzaWNfc3RyaW5nOjplcmFz +ZQBiYXNpY19zdHJpbmc6Ol9NX3JlcGxhY2VfYXV4AGJhc2ljX3N0cmluZzo6aW5z +ZXJ0AGJhc2ljX3N0cmluZzo6cmVwbGFjZQBiYXNpY19zdHJpbmc6OmFzc2lnbgBi +YXNpY19zdHJpbmc6OmFwcGVuZABiYXNpY19zdHJpbmc6OnJlc2l6ZQAAAABiYXNp +Y19zdHJpbmc6Ol9TX2NvbnN0cnVjdCBudWxsIG5vdCB2YWxpZABiYXNpY19zdHJp +bmc6OmJhc2ljX3N0cmluZwBiYXNpY19zdHJpbmc6OnN1YnN0cgAAAGJhc2ljX3N0 +cmluZzo6YXQAYmFzaWNfc3RyaW5nOjpjb3B5AGJhc2ljX3N0cmluZzo6Y29tcGFy +ZQBiYXNpY19zdHJpbmc6Ol9TX2NyZWF0ZQBiYXNpY19zdHJpbmc6OmVyYXNlAGJh +c2ljX3N0cmluZzo6X01fcmVwbGFjZV9hdXgAYmFzaWNfc3RyaW5nOjppbnNlcnQA +YmFzaWNfc3RyaW5nOjpyZXBsYWNlAGJhc2ljX3N0cmluZzo6YXNzaWduAGJhc2lj +X3N0cmluZzo6YXBwZW5kAGJhc2ljX3N0cmluZzo6cmVzaXplAAAAAGJhc2ljX3N0 +cmluZzo6X1NfY29uc3RydWN0IG51bGwgbm90IHZhbGlkAGJhc2ljX3N0cmluZzo6 +YmFzaWNfc3RyaW5nAGJhc2ljX3N0cmluZzo6c3Vic3RyAAAAYQBhYgByAGErAHJi +AGErYgB3AHdiAHIrAHIrYgB3KwB3K2IAX19nbnVfY3h4OjpfX2NvbmN1cnJlbmNl +X2xvY2tfZXJyb3IAX19nbnVfY3h4OjpfX2NvbmN1cnJlbmNlX3VubG9ja19lcnJv +cgAAAGxvY2FsZTo6X1Nfbm9ybWFsaXplX2NhdGVnb3J5IGNhdGVnb3J5IG5vdCBm +b3VuZAAAAACAc0cAYHNHAEBzRwB3c0cAcHNHAGdzRwBsb2NhbGU6Ol9JbXBsOjpf +TV9yZXBsYWNlX2ZhY2V0AGlvc19iYXNlOjpfTV9ncm93X3dvcmRzIGlzIG5vdCB2 +YWxpZAAAAABpb3NfYmFzZTo6X01fZ3Jvd193b3JkcyBhbGxvY2F0aW9uIGZhaWxl +ZAAAAEMAUE9TSVgAc3RkOjpmdXR1cmVfZXJyb3IAAABwdXJlIHZpcnR1YWwgbWV0 +aG9kIGNhbGxlZAoAZGVsZXRlZCB2aXJ0dWFsIG1ldGhvZCBjYWxsZWQKAABfX2du +dV9jeHg6Ol9fY29uY3VycmVuY2VfbG9ja19lcnJvcgBfX2dudV9jeHg6Ol9fY29u +Y3VycmVuY2VfdW5sb2NrX2Vycm9yAAAAX19nbnVfY3h4OjpfX2NvbmN1cnJlbmNl +X2xvY2tfZXJyb3IAX19nbnVfY3h4OjpfX2NvbmN1cnJlbmNlX3VubG9ja19lcnJv +cgAAAEMAUE9TSVgAYmFzaWNfc3RyaW5nOjplcmFzZQBymUUAZJhFAECYRQAnmEUA +gJlFAHKSRQBkkUUAQJFFACeRRQCAkkUAJS4qTGYAJW0vJWQvJXkAJUg6JU0AJUg6 +JU06JVMAAACQLkUANS9FABYwRQCwMEUACC5FAAguRQAILkUAMTFFALAxRQAILkUA +CC5FAAguRQAoMkUACC5FAAguRQAILkUACC5FAKAyRQAhM0UAljNFAAguRQAILkUA +CC5FABc0RQAWMEUAhDRFAAguRQAILkUACC5FAAguRQAILkUACC5FAHA2RQAVN0UA +EDhFAHQ4RQDwOEUACC5FAAguRQAVN0UACC5FAAguRQAILkUACC5FAJc5RQDgLUUA +CC5FAAguRQAILkUACC5FAAguRQAjOkUACC5FAAguRQAILkUAIC5FABYwRQCQY0UA +QmNFAOBlRQCYZUUAAGRFALBuRQBibkUAAHFFALhwRQAgb0UAX19nbnVfY3h4Ojpf +X2NvbmN1cnJlbmNlX2xvY2tfZXJyb3IAX19nbnVfY3h4OjpfX2NvbmN1cnJlbmNl +X3VubG9ja19lcnJvcgAqAEMAUE9TSVgAYmFzaWNfc3RyaW5nOjplcmFzZQAhiUUA +AIlFANeIRQDCiEUAMIlFAHGCRQBQgkUAJ4JFABKCRQCAgkUAJS4qTGYAJW0vJWQv +JXkAJUg6JU0AJUg6JU06JVMAAACAF0UAAxdFAIMWRQBHFkUAcRBFAHEQRQBxEEUA +8RdFAMAXRQBxEEUAcRBFAHEQRQAWFkUAcRBFAHEQRQBxEEUAcRBFAOAVRQCwFUUA +dBVFAHEQRQBxEEUAcRBFAGYVRQCDFkUA0BNFAHEQRQBxEEUAcRBFAHEQRQBxEEUA +cRBFAGUTRQCAEkUAcRJFABASRQClEUUAcRBFAHEQRQCAEkUAcRBFAHEQRQBxEEUA +cRBFADARRQAAEUUAcRBFAHEQRQBxEEUAcRBFAHEQRQDQEEUAcRBFAHEQRQBxEEUA +dRBFAIMWRQCQVUUAUlVFAHBXRQAoV0UA9lVFAOBKRQCiSkUAwExFAHhMRQBGS0UA +c3RkOjpleGNlcHRpb24Ac3RkOjpiYWRfZXhjZXB0aW9uAAAAAAAAAAAAAAAAAAAA +QwAAAGxvY2FsZTo6ZmFjZXQ6Ol9TX2NyZWF0ZV9jX2xvY2FsZSBuYW1lIG5vdCB2 +YWxpZABMQ19DVFlQRQBMQ19OVU1FUklDAExDX1RJTUUATENfQ09MTEFURQBMQ19N +T05FVEFSWQBMQ19NRVNTQUdFUwD//39///9//wAAAAD////////vf////////+// +///////////+fwAAAAAAAP///////////v8AAAAAAABDAFBPU0lYAHNwYWNlAHBy +aW50AGNudHJsAHVwcGVyAGxvd2VyAGFscGhhAGRpZ2l0AHB1bmN0AHhkaWdpdABh +bG51bQBncmFwaAAAc3RkOjpiYWRfYWxsb2MAAHN0ZDo6YmFkX2Nhc3QAAABzdGQ6 +OmJhZF90eXBlaWQAZ2VuZXJpYwBzeXN0ZW0AAGZ1dHVyZQBCcm9rZW4gcHJvbWlz +ZQBGdXR1cmUgYWxyZWFkeSByZXRyaWV2ZWQAUHJvbWlzZSBhbHJlYWR5IHNhdGlz +ZmllZABObyBhc3NvY2lhdGVkIHN0YXRlAFVua25vd24gZXJyb3IAAGJhZF9mdW5j +dGlvbl9jYWxsAAAAcmVnZXhfZXJyb3IALSt4WDAxMjM0NTY3ODlhYmNkZWYwMTIz +NDU2Nzg5QUJDREVGAC0reFgwMTIzNDU2Nzg5YWJjZGVmQUJDREVGAC0wMTIzNDU2 +Nzg5AEcATQBUAAAASABTAFQAAABBAEsAUwBUAAAAUABTAFQAAABNAFMAVAAAAEMA +UwBUAAAARQBTAFQAAABBAFMAVAAAAE4AUwBUAAAAQwBFAFQAAABJAFMAVAAAAEUA +RQBUAAAASgBTAFQAAABHTVQASFNUAEFLU1QAUFNUAE1TVABDU1QARVNUAEFTVABO +U1QAQ0VUAElTVABFRVQASlNUAAAAAAAAAHRydWUAZmFsc2UAdAByAHUAZQAAAGYA +YQBsAHMAZQAAAAAAJW0vJWQvJXkAJUg6JU06JVMAAEFNAFBNAFN1bmRheQBNb25k +YXkAVHVlc2RheQBXZWRuZXNkYXkAVGh1cnNkYXkARnJpZGF5AFNhdHVyZGF5AFN1 +bgBNb24AVHVlAFdlZABUaHUARnJpAFNhdABKYW51YXJ5AEZlYnJ1YXJ5AE1hcmNo +AEFwcmlsAE1heQBKdW5lAEp1bHkAQXVndXN0AFNlcHRlbWJlcgBPY3RvYmVyAE5v +dmVtYmVyAERlY2VtYmVyAEphbgBGZWIATWFyAEFwcgBKdW4ASnVsAEF1ZwBTZXAA +T2N0AE5vdgBEZWMAJQBtAC8AJQBkAC8AJQB5AAAAJQBIADoAJQBNADoAJQBTAAAA +AABBAE0AAABQAE0AAABTAHUAbgBkAGEAeQAAAE0AbwBuAGQAYQB5AAAAVAB1AGUA +cwBkAGEAeQAAAFcAZQBkAG4AZQBzAGQAYQB5AAAAVABoAHUAcgBzAGQAYQB5AAAA +RgByAGkAZABhAHkAAABTAGEAdAB1AHIAZABhAHkAAABTAHUAbgAAAE0AbwBuAAAA +VAB1AGUAAABXAGUAZAAAAFQAaAB1AAAARgByAGkAAABTAGEAdAAAAEoAYQBuAHUA +YQByAHkAAABGAGUAYgByAHUAYQByAHkAAABNAGEAcgBjAGgAAABBAHAAcgBpAGwA +AABNAGEAeQAAAEoAdQBuAGUAAABKAHUAbAB5AAAAQQB1AGcAdQBzAHQAAABTAGUA +cAB0AGUAbQBiAGUAcgAAAE8AYwB0AG8AYgBlAHIAAABOAG8AdgBlAG0AYgBlAHIA +AABEAGUAYwBlAG0AYgBlAHIAAABKAGEAbgAAAEYAZQBiAAAATQBhAHIAAABBAHAA +cgAAAEoAdQBuAAAASgB1AGwAAABBAHUAZwAAAFMAZQBwAAAATwBjAHQAAABOAG8A +dgAAAEQAZQBjAAAAdGVybWluYXRlIGNhbGxlZCByZWN1cnNpdmVseQoAAAB0ZXJt +aW5hdGUgY2FsbGVkIGFmdGVyIHRocm93aW5nIGFuIGluc3RhbmNlIG9mICcAJwoA +dGVybWluYXRlIGNhbGxlZCB3aXRob3V0IGFuIGFjdGl2ZSBleGNlcHRpb24KACAg +d2hhdCgpOiAgAAAAAAAAAGOHQgBXh0IAV4dCAFeHQgBXh0IAY4dCAGOHQgBjh0IA +Y4dCACKHQgAih0IAV4dCACKHQgAih0IAIodCACKHQgAih0IAIodCACKHQgAih0IA +IodCACKHQgAih0IAIodCAGOHQgAmh0IAJodCACaHQgAmh0IAJodCACaHQgAmh0IA +JodCAFeHQgAih0IAIodCACKHQgAih0IAIodCAGOHQgAih0IAJodCAFuHQgBXh0IA +Y4dCAFeHQgAmh0IAJodCAFuHQgBjh0IAY4dCACKHQgAih0IAV4dCAFeHQgBXh0IA +V4dCAFeHQgAih0IAV4dCAFeHQgAih0IAV4dCAGOHQgBjh0IAIodCACKHQgAih0IA +Y4dCAGOHQgBjh0IAIodCACKHQgAih0IAV4dCAFeHQgBfR0xPQkFMXwAoYW5vbnlt +b3VzIG5hbWVzcGFjZSkAADWPQgAgj0IAII9CACCPQgAgj0IAQI9CADWPQgAuj0IA +Lo9CACCPQgAgj0IAII9CACCPQgAgj0IAII9CACCPQgAgj0IAII9CACCPQgAgj0IA +II9CACCPQgAgj0IAII9CADWPQgAgj0IAII9CACCPQgAgj0IAII9CACCPQgAgj0IA +II9CACCPQgAgj0IAII9CACCPQgAgj0IAII9CADWPQgAgj0IAII9CACCPQgAgj0IA +II9CACCPQgAgj0IAII9CACCPQgA1j0IALo9CACCPQgAgj0IAII9CACCPQgAgj0IA +II9CACCPQgAgj0IAII9CACCPQgAgj0IAII9CADWPQgAgj0IAII9CACCPQgAgj0IA +NY9CACCPQgA1j0IAII9CACCPQgA1j0IANY9CAHN0cmluZyBsaXRlcmFsAHN0ZAAA +4JJCALCTQgDzkkIAsJNCALCTQgCwk0IAsJNCAKCSQgCwk0IA4JJCALCTQgCwk0IA +sJNCALCTQgB0kkIAYXV0bwAAAACCl0IAgpdCAIKXQgCCl0IAgpdCAIKXQgCCl0IA +gpdCAIKXQgCCl0IAuJZCALiWQgC4lkIAuJZCALiWQgC4lkIAuJZCAJCXQgC4lkIA +4JdCAICYQgC4lkIAEJhCAFCYQgC4lkIAuJZCALiWQgC4lkIAuJZCALCYQgCCl0IA +QZlCAHCZQgC4lkIAoJlCANCZQgAnmkIAYJpCALiWQgC4lkIAuJZCALiWQgCCl0IA +uJZCALiWQgC4lkIAuJZCALiWQgC4lkIAlJpCAJSaQgCUmkIAlJpCAJSaQgCUmkIA +lJpCAJSaQgCUmkIAlJpCALiWQgCUmkIAlJpCAJSaQgCUmkIAuJZCALiWQgC4lkIA +lJpCAJSaQgAwl0IAlJpCAJSaQgCUmkIAlJpCAJSaQgDknEIAuJZCALiWQgC4lkIA +uJZCALiWQgC4lkIAuJZCALiWQgC4lkIAuJZCALiWQgC4lkIAuJZCAH2WQgC4lkIA +uJZCALiWQgC4lkIAuJZCALiWQgC4lkIAuJZCALiWQgC4lkIAuJZCALiWQgDOnEIA +uJZCALiWQgCUnEIAeZtCAEKbQgC4lkIAC5tCAMeaQgC4lkIAuJZCALiWQgC4lkIA +WpxCALiWQgA5nEIAuJZCALiWQgD/m0IAfZZCALiWQgCzm0IAAKFCAPegQgD3oEIA +AKFCAAChQgAAoUIAAKFCAACgQgAAoEIAAKFCAAChQgAAoUIAAKFCAAChQgAAoUIA +AKFCAAChQgAAoUIAAKFCAAChQgAAoUIAAKFCAAChQgAAoUIAAKFCAAChQgAAoUIA +AKFCAAChQgAAoUIAAKFCAAChQgAAoUIAAKFCAAChQgAAoUIAAKFCAAChQgAAoUIA +AKFCAAChQgAAoUIAAKFCAAChQgAAoUIAAKFCAAChQgAAoUIAAKFCAAChQgAAoUIA +AKBCABeiQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIA +hqBCAIagQgCGoEIAhqBCAIagQgCGoEIA8aFCAIagQgA6okIAhqBCANChQgCGoEIA +hqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIA +hqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIA +hqBCAIagQgAKoUIA8KJCAIagQgCGoEIAz6JCAIagQgCuokIAa6RCAEqkQgCGoEIA +hqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCACmkQgACpEIAhqBCANujQgC6o0IA +hqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgBzo0IA +hqBCAIagQgCGoEIAhqBCADyjQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIA +hqBCAIagQgCGoEIAhqBCAIagQgCGoEIAd6JCAGxpAHN0AGNsAGR0AHB0AHF1AFth +Ymk6ADo6AHtkZWZhdWx0IGFyZyMAJWxkAH06OgBKQXJyYXkAW10AdnRhYmxlIGZv +ciAAVlRUIGZvciAAY29uc3RydWN0aW9uIHZ0YWJsZSBmb3IgAC1pbi0AdHlwZWlu +Zm8gZm9yIAB0eXBlaW5mbyBuYW1lIGZvciAAdHlwZWluZm8gZm4gZm9yIABub24t +dmlydHVhbCB0aHVuayB0byAAdmlydHVhbCB0aHVuayB0byAAY292YXJpYW50IHJl +dHVybiB0aHVuayB0byAAamF2YSBDbGFzcyBmb3IgAGd1YXJkIHZhcmlhYmxlIGZv +ciAAVExTIGluaXQgZnVuY3Rpb24gZm9yIABUTFMgd3JhcHBlciBmdW5jdGlvbiBm +b3IgAHJlZmVyZW5jZSB0ZW1wb3JhcnkgIwAgZm9yIABoaWRkZW4gYWxpYXMgZm9y +IAB0cmFuc2FjdGlvbiBjbG9uZSBmb3IgAG5vbi10cmFuc2FjdGlvbiBjbG9uZSBm +b3IgAF9TYXQgAF9BY2N1bQBfRnJhY3QALCAAb3BlcmF0b3IAb3BlcmF0b3IgAGFk +AGdzAGl4ACA6IABuZXcgAHVsAGxsAHVsbABmYWxzZQB0cnVlAGphdmEgcmVzb3Vy +Y2UgAGRlY2x0eXBlICgALi4uAHRoaXMAe3Bhcm0jAGdsb2JhbCBjb25zdHJ1Y3Rv +cnMga2V5ZWQgdG8gAGdsb2JhbCBkZXN0cnVjdG9ycyBrZXllZCB0byAAe2xhbWJk +YSgAKSMAe3VubmFtZWQgdHlwZSMAIFtjbG9uZSAAPigAAAAA4L1CAHS7QgB0u0IA +A7pCADG/QgDwvkIAeMBCAPC5QgC3uUIAQLlCAMe4QgBQuEIA17dCAGC3QgDntkIA +cLZCAPe1QgCAtUIAB7VCAJC0QgAXtEIAoLNCACezQgCwskIANLJCAPCxQgDwsUIA +8LFCAJGxQgCRsUIAkbFCAJGxQgCRsUIAkbFCAJGxQgBlzEIAZcxCAJGxQgCRsUIA +2MtCAMjMQgBgx0IAM8ZCANfFQgAQxUIA18VCAHLEQgByxEIAZ8tCAOfKQgBwykIA +98lCAGXAQgAgwEIAAMBCAPC/QgDQw0IAwMNCAMDDQgAHw0IAB8NCAJHCQgBwwkIA +QMJCAHDBQgD3wEIAB8lCAJDIQgAXyEIA4MxCAKDHQgCAyUIAaL1CAJC8QgAHvEIA +aL5CAOixQgDosUIAcuBCAGHgQgBQ4EIAP+BCAC7gQgAgcmVzdHJpY3QAIHZvbGF0 +aWxlACBjb25zdAAmJgBjb21wbGV4IABpbWFnaW5hcnkgADo6KgAgX192ZWN0b3Io +AAAAANDoQgDb6EIA2+hCANvoQgDb6EIA2+hCANvoQgDb6EIA2+hCANvoQgDb6EIA +2+hCANvoQgDb6EIA2+hCANvoQgDb6EIA2+hCANvoQgDb6EIA2+hCANvoQgD46EIA +MOpCAGjpQgD46EIAMOpCAGjpQgDg6UIAp+pCAEDrQgCA60IAtetCAMDrQgDQ60IA +R+xCANvoQgDb6EIA2+hCANvoQgDA7EIA2+hCAFLoQgAgKABzdGQ6OmFsbG9jYXRv +cgBhbGxvY2F0b3IAc3RkOjpiYXNpY19zdHJpbmcAYmFzaWNfc3RyaW5nAHN0ZDo6 +c3RyaW5nAABzdGQ6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6OmNoYXJfdHJhaXRz +PGNoYXI+LCBzdGQ6OmFsbG9jYXRvcjxjaGFyPiA+AHN0ZDo6aXN0cmVhbQBzdGQ6 +OmJhc2ljX2lzdHJlYW08Y2hhciwgc3RkOjpjaGFyX3RyYWl0czxjaGFyPiA+AGJh +c2ljX2lzdHJlYW0Ac3RkOjpvc3RyZWFtAAAAAHN0ZDo6YmFzaWNfb3N0cmVhbTxj +aGFyLCBzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+ID4AYmFzaWNfb3N0cmVhbQBzdGQ6 +Omlvc3RyZWFtAAAAc3RkOjpiYXNpY19pb3N0cmVhbTxjaGFyLCBzdGQ6OmNoYXJf +dHJhaXRzPGNoYXI+ID4AYmFzaWNfaW9zdHJlYW0AAAB0AAAAy31JAAMAAADLfUkA +AwAAAAAAAAAAAAAAYQAAACOHSQAOAAAAI4dJAA4AAAAyh0kACQAAAGIAAAA8h0kA +EQAAADyHSQARAAAATodJAAwAAABzAAAAW4dJAAsAAABoh0kARgAAAE6HSQAMAAAA +aQAAAK+HSQAMAAAAvIdJADEAAADuh0kADQAAAG8AAAD8h0kADAAAAAyISQAxAAAA +PohJAA0AAABkAAAATIhJAA0AAABciEkAMgAAAI+ISQAOAAAAYU4AJj0AYVMAPQBh +YQAmAGFuAGF0AGFsaWdub2YgAGF6AGNjAGNvbnN0X2Nhc3QAKCkAY20ALABjbwB+ +AGRWAC89AGRhAGRlbGV0ZVtdIABkYwBkeW5hbWljX2Nhc3QAZGUAKgBkbABkZWxl +dGUgAGRzAC4qAC4AZHYALwBlTwBePQBlbwBeAGVxAD09AGdlAD49AGd0AD4AbFMA +PDw9AGxlADw9AG9wZXJhdG9yIiIgAGxzADw8AGx0ADwAbUkALT0AbUwAKj0AbWkA +LQBtbABtbQAtLQBuYQBuZXdbXQBuZQAhPQBuZwBudAAhAG53AG5ldwBvUgB8PQBv +bwB8fABvcgB8AHBMACs9AHBsACsAcG0ALT4qAHBwACsrAHBzAC0+AD8Ack0AJT0A +clMAPj49AHJjAHJlaW50ZXJwcmV0X2Nhc3QAcm0AJQBycwA+PgBzYwBzdGF0aWNf +Y2FzdABzaXplb2YgAHN6AHRyAHRocm93AHR3AHRocm93IAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAGSJSQBniUkAAgAAAAIAAABqiUkAbYlJAAEAAAACAAAA +b4lJAEuGSQACAAAAAgAAAC6ESQByiUkAAQAAAAEAAAB0iUkAcolJAAEAAAACAAAA +d4lJAHqJSQAIAAAAAQAAAIOJSQB6iUkACAAAAAEAAACGiUkAiYlJAAoAAAACAAAA +coJJAJSJSQACAAAAAgAAAJeJSQCaiUkAAQAAAAIAAACciUkAn4lJAAEAAAABAAAA +oYlJAKSJSQACAAAAAgAAAKeJSQCqiUkACQAAAAEAAAC0iUkAt4lJAAwAAAACAAAA +xIlJAMeJSQABAAAAAQAAAMmJSQDMiUkABwAAAAEAAADUiUkA14lJAAIAAAACAAAA +dYJJANqJSQABAAAAAgAAANyJSQDfiUkAAQAAAAIAAADhiUkA5IlJAAIAAAACAAAA +54lJAOqJSQABAAAAAgAAAOyJSQDviUkAAgAAAAIAAADyiUkA9YlJAAIAAAACAAAA +MYRJAISCSQACAAAAAQAAAPiJSQD7iUkAAQAAAAIAAAA0hEkApIJJAAIAAAACAAAA +/YlJAACKSQADAAAAAgAAAASKSQAHikkAAgAAAAIAAABsgkkACopJAAsAAAABAAAA +FopJABmKSQACAAAAAgAAAByKSQAfikkAAQAAAAIAAAAhikkAJIpJAAIAAAACAAAA +J4pJACqKSQACAAAAAgAAAC2KSQAwikkAAQAAAAIAAAAyikkAx4lJAAEAAAACAAAA +NYpJADiKSQACAAAAAQAAADuKSQA+ikkABQAAAAMAAABEikkAR4pJAAIAAAACAAAA +SopJADCKSQABAAAAAQAAAE2KSQBQikkAAQAAAAEAAABSikkAVYpJAAMAAAADAAAA +WYpJAFyKSQACAAAAAgAAAF+KSQBiikkAAgAAAAIAAABlikkAaIpJAAEAAAACAAAA +aopJAG2KSQACAAAAAgAAAHCKSQBzikkAAQAAAAIAAAB1ikkAeIpJAAMAAAACAAAA +fIpJAH+KSQACAAAAAQAAAIKKSQBzikkAAQAAAAEAAAB4gkkAhYpJAAIAAAACAAAA +e4JJAIiKSQABAAAAAwAAAIqKSQCNikkAAgAAAAIAAACQikkAk4pJAAMAAAACAAAA +l4pJAJqKSQAQAAAAAgAAAKuKSQCuikkAAQAAAAIAAACwikkAs4pJAAIAAAACAAAA +topJALmKSQALAAAAAgAAAG+CSQDFikkABwAAAAEAAADNikkAxYpJAAcAAAABAAAA +0IpJANOKSQAFAAAAAAAAANmKSQDcikkABgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA +c2lnbmVkIGNoYXIAYm9vbABib29sZWFuAGNoYXIAYnl0ZQBkb3VibGUAbG9uZyBk +b3VibGUAZmxvYXQAX19mbG9hdDEyOAB1bnNpZ25lZCBjaGFyAGludAB1bnNpZ25l +ZCBpbnQAdW5zaWduZWQAbG9uZwB1bnNpZ25lZCBsb25nAF9faW50MTI4AHVuc2ln +bmVkIF9faW50MTI4AHNob3J0AHVuc2lnbmVkIHNob3J0AHZvaWQAd2NoYXJfdABs +b25nIGxvbmcAdW5zaWduZWQgbG9uZyBsb25nAGRlY2ltYWwzMgBkZWNpbWFsNjQA +ZGVjaW1hbDEyOABoYWxmAGNoYXIxNl90AGNoYXIzMl90AGRlY2x0eXBlKG51bGxw +dHIpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgjkkACwAAAOCOSQALAAAA +AAAAAOyOSQAEAAAA8Y5JAAcAAAAHAAAA+Y5JAAQAAAD+jkkABAAAAAAAAAADj0kA +BgAAAAOPSQAGAAAACAAAAAqPSQALAAAACo9JAAsAAAAIAAAAFo9JAAUAAAAWj0kA +BQAAAAgAAAAcj0kACgAAAByPSQAKAAAACAAAACePSQANAAAAJ49JAA0AAAAAAAAA +NY9JAAMAAAA1j0kAAwAAAAEAAAA5j0kADAAAAEaPSQAIAAAAAgAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAT49JAAQAAABPj0kABAAAAAMAAABUj0kADQAAAFSPSQANAAAA +BAAAAGKPSQAIAAAAYo9JAAgAAAAAAAAAa49JABEAAABrj0kAEQAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAB9j0kABQAAAH2PSQAFAAAAAAAAAIOPSQAOAAAAg49JAA4AAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAACSj0kABAAAAJKPSQAEAAAACQAAAJePSQAHAAAA ++Y5JAAQAAAAAAAAAn49JAAkAAABPj0kABAAAAAUAAACpj0kAEgAAAKmPSQASAAAA +BgAAAG+ESQADAAAAb4RJAAMAAAAAAAAAvI9JAAkAAAC8j0kACQAAAAAAAADGj0kA +CQAAAMaPSQAJAAAAAAAAANCPSQAKAAAA0I9JAAoAAAAAAAAA249JAAQAAADbj0kA +BAAAAAgAAADgj0kACAAAAOCPSQAIAAAAAAAAAOmPSQAIAAAA6Y9JAAgAAAAAAAAA +8o9JABEAAADyj0kAEQAAAAAAAAAAAAAAAAAAAAAAAADgAUMATWluZ3cgcnVudGlt +ZSBmYWlsdXJlOgoAICBWaXJ0dWFsUXVlcnkgZmFpbGVkIGZvciAlZCBieXRlcyBh +dCBhZGRyZXNzICVwAAAAACAgVW5rbm93biBwc2V1ZG8gcmVsb2NhdGlvbiBwcm90 +b2NvbCB2ZXJzaW9uICVkLgoAAAAgIFVua25vd24gcHNldWRvIHJlbG9jYXRpb24g +Yml0IHNpemUgJWQuCgAAANgSQwDfEkMARhNDAGQTQwCCE0MAnxNDANwTQwAJFEMA +NxRDAGcUQwC7FEMA7RRDABUVQwB1FUMArxVDANoVQwAQFkMAXxZDAKIWQwDyFkMA +FBdDAGcXQwCvF0MA0xJDANMSQwDTEkMA0xJDANMSQwDTEkMA0xJDANMSQwDTEkMA +0xJDANMSQwDTEkMA0xJDANMSQwDTEkMA0xJDANMSQwDTEkMA0xJDANMSQwDTEkMA +0xJDANgSQwBUGEMA/xdDAIIYQwDlGEMAxBhDAIIYQwCwGEMA0xJDANMSQwDTEkMA +0xJDAM0YQwDcGEMAghhDALAYQwAQHUMAjR9DAIEfQwAQHUMAAB5DAAYdQwAGHUMA +Bh1DAAYdQwBdH0MAdR9DABAdQwAAHkMAHR5DACohQwAdIUMAHR5DAPkgQwAGHUMA +Bh1DAAYdQwAGHUMABSFDAGYhQwAdHkMA+SBDAHAiQwDgIkMA4CJDADAjQwDgIkMA +ICNDABAjQwAAI0MA8CJDAHAiQwBwIkMAoCJDAKAiQwBGJUMAMCVDABglQwAGJUMA +8CRDAMYkQwCgJEMAMCZDAOAiQwAwI0MABSZDAAUmQwAFJkMABSZDAAUmQwAwI0MA +MCNDAAUmQwAFJkMAMCNDAAUmQwAFJkMABSZDAAUmQwDgJUMABSZDAAUmQwAFJkMA +BSZDAAUmQwAFJkMA0CVDAJAkQwCQJEMAkCRDAJAkQwCQJEMAkCRDAJAkQwCQJEMA +kCRDAJAkQwCQJEMAkCRDAJAkQwCQJEMAkCRDAJAkQwCQJEMAkCRDAJAkQwCQJEMA +kCRDAJAkQwCQJEMAkCRDAJAkQwCQJEMAkCRDAJAkQwCQJEMAkCRDAJAkQwCQJEMA +sCJDALAiQwCwIkMAsCJDALAiQwCwIkMAsCJDALAiQwCwIkMAsCJDALAiQwCwIkMA +sCJDALAiQwCwIkMAsCJDALAiQwCwIkMAsCJDALAiQwCwIkMAsCJDALAiQwCwIkMA +sCJDALAiQwCwIkMAsCJDALAiQwCwIkMAsCJDALAiQwBAJEMAQCRDAEAkQwBAJEMA +QCRDAEAkQwBAJEMAQCRDAEAkQwBAJEMAQCRDAEAkQwBAJEMAQCRDAEAkQwBAJEMA +QCRDAEAkQwBAJEMAQCRDAEAkQwBAJEMAQCRDAEAkQwBAJEMAQCRDAEAkQwBAJEMA +QCRDAEAkQwBAJEMAQCRDAOQjQwDgIkMAcCVDAOAiQwAwI0MA4CJDAOUiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwBwI0MAgCZDAIYoQwB6KEMAgCZDANEmQwDgIkMA +4CJDAOAiQwDgIkMAWChDAG4oQwCAJkMA0SZDANQnQwDfJ0MA6ydDAPYnQwB2J0MA +4CJDAOAiQwCCJ0MAjSdDAOAiQwCXJ0MAoidDAK0nQwC4J0MA4CJDAMMnQwADKEMA +FChDACUoQwA2KEMARyhDAAIqQwAQK0MA4CpDAEAqQwDlKUMAmCpDAKA9QwDxPUMA +ID5DAKA9QwDQPUMAMD5DADA+QwAwPkMAMD5DAOA9QwDXPUMAoD1DANA9QwAuAGds +b2ItMS4wLW1pbmd3MzIAAHhhQwBWYUMAUGFDADBhQwBxYUMAVmFDAHBiQwDGYUMA +mGJDABBiQwBAYkMAxmFDAHBiQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +YWxudW0AYWxwaGEAY250cmwAZGlnaXQAZ3JhcGgAbG93ZXIAcHJpbnQAcHVuY3QA +c3BhY2UAdXBwZXIAeGRpZ2l0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +wJlJAAcBAADGmUkAAwEAAMyZSQAgAAAA0plJAAQAAADYmUkAFwEAAN6ZSQACAAAA +5JlJAFcBAADqmUkAEAAAAPCZSQAIAAAA9plJAAEAAAD8mUkAgAAAAAAAAAAAAAAA +AAAuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABuZgBpbml0eQBhbgBAekMA +kHtDAJB7QwCQe0MAkHtDAJB7QwCQe0MAkHtDAJB7QwB1e0MAdXtDAHV7QwB1e0MA +dXtDAJB7QwCQe0MAkHtDAJB7QwCQe0MAkHtDAJB7QwCQe0MAkHtDAJB7QwCQe0MA +kHtDAJB7QwCQe0MAkHtDAJB7QwCQe0MAkHtDAHV7QwCQe0MAkHtDAJB7QwCQe0MA +kHtDAJB7QwCQe0MAkHtDAJB7QwCQe0MA0HpDAJB7QwBoe0MAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAADAAAABQAAAAcAAAAKAAAADAAAAA4AAAARAAAA +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 +0OlGAIz///+M////rKlJAJArSACAK0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +SMVJAOStSQBYrEkA6MRJAPytSQDoxEkAIK5JAEjFSQBArkkA3K1JAOjESQCArkkA +SMVJAMCuSQCcpkkASMVJAACvSQCcpkkASMVJAECvSQBoqkkASMVJAICvSQBoqkkA +SMVJAMCvSQBoqkkASMVJAACwSQDYqUkASMVJAECwSQAgqkkASMVJAICwSQA4p0kA +6MRJAMCwSQDoxEkAALFJAEjFSQBAsUkAGKdJAEjFSQCgsUkAGKdJAEjFSQAAskkA +zKlJAEjFSQAgskkAEKdJAEjFSQBAskkAZKlJAEjFSQCAskkAcKlJAEjFSQDAskkA +fKpJAEjFSQAAs0kAhKpJAEjFSQBAs0kAnK1JAEjFSQCAs0kAnK1JAEjFSQDAs0kA +nK1JAOjESQAAtEkASMVJABS0SQCcrUkAAAAAAAAAAACIxUkALLRJAAIAAAACAAAA +4KdJAAIAAAD4p0kAAggAAIjFSQAwtEkAAAAAAAEAAACErUkAA/T//4jFSQA0tEkA +AAAAAAEAAACErUkAA/T//0jFSQA4tEkAnK1JAOjESQBItEkA6MRJAFi0SQAAAAAA +AAAAAAAAAAAAAAAAAAAAAIjFSQBotEkAAAAAAAIAAACkp0kAAgAAACSoSQACAAAA +iMVJAIC0SQAAAAAAAgAAAKSnSQACAAAAJKhJAAIAAACIxUkAmLRJAAAAAAACAAAA +pKdJAAIAAAAkqEkAAgAAAIjFSQCwtEkAAAAAAAIAAACkp0kAAgAAACSoSQACAAAA +SMVJAMi0SQCkp0kASMVJANy0SQCkp0kASMVJAPC0SQCcrUkASMVJAAC1SQDMqUkA +SMVJABC1SQDMqUkA6MRJACC1SQBIxUkANLVJACCsSQBIxUkASLVJAECsSQBIxUkA +XLVJANioSQBIxUkAcLVJANioSQBIxUkAhLVJANioSQBIxUkAmLVJANioSQBIxUkA +rLVJAMypSQBIxUkAwLVJAJytSQBIxUkA4LVJAHyqSQBIxUkAILZJAISqSQBIxUkA +YLZJAMCnSQBIxUkAoLZJAACqSQCIxUkA4LZJAAAAAAABAAAAkK1JAAP0//+IxUkA +ILdJAAAAAAABAAAAkK1JAAP0///oxEkAYLdJAEjFSQB0t0kAnK1JAEjFSQCgt0kA +4KdJAEjFSQDgt0kAlKlJAAAAAAAAAAAAAAAAAAAAAACIxUkAILhJAAIAAAACAAAA +lKlJAAIAAACsqUkAAggAAEjFSQBguEkA+KdJAEjFSQCguEkArKlJAEjFSQDguEkA +TKxJAEjFSQD4uEkAWKxJAEjFSQAQuUkAZKxJAEjFSQAouUkAcKxJAOjESQBAuUkA +SMVJAFS5SQDMqUkA6MRJAIC5SQDoxEkAwLlJAEjFSQAAukkAwKxJAEjFSQAYukkA +4KxJAEjFSQAwukkAAK1JAEjFSQBIukkADK1JAEjFSQBgukkAIK1JAEjFSQDAukkA +QK1JAEjFSQAgu0kAYK1JAEjFSQCAu0kAbK1JAEjFSQDgu0kAzKlJAEjFSQD0u0kA +pKdJAEjFSQAMvEkApKdJAEjFSQAkvEkA2KhJAEjFSQA8vEkApKdJAEjFSQBYvEkA +pKdJAEjFSQB0vEkAnK1JAEjFSQCMvEkAQKhJAEjFSQCsvEkAYKhJAEjFSQDMvEkA +gKhJAEjFSQDsvEkAoKhJAEjFSQAMvUkApKdJAEjFSQAsvUkApKdJAEjFSQBMvUkA +pKdJAEjFSQBsvUkApKdJAIjFSQCMvUkAAAAAAAIAAACkp0kAAgAAAByoSQACAAAA +iMVJAKy9SQAAAAAAAgAAAKSnSQACAAAAHKhJAAIAAACIxUkA4L1JAAAAAAACAAAA +pKdJAAIAAAD8qEkAAgAAAIjFSQAgvkkAAAAAAAIAAACkp0kAAgAAAPyoSQACAAAA +iMVJAGC+SQAAAAAAAgAAAKSnSQACAAAAHKhJAAIAAABIxUkAbL5JAMCrSQBIxUkA +eL5JAOCrSQBIxUkAiL5JAACsSQBIxUkAmL5JAKSnSQBIxUkAqL5JAKSnSQBIxUkA +wL5JAKSnSQBIxUkAAL9JAKSnSQBIxUkAQL9JAKSnSQBIxUkAgL9JAKSnSQBIxUkA +wL9JAJytSQDoxEkAzL9JAIjFSQDYv0kAAAAAAAIAAACkp0kAAgAAAMSpSQACAAAA +iMVJAOi/SQAAAAAAAgAAAKSnSQACAAAAxKlJAAIAAABIxUkA+L9JAKSnSQBIxUkA +CMBJAKSnSQAAAAAAAAAAAIjFSQAgwEkAAAAAAAIAAACkp0kAAgAAANStSQACAAAA +iMVJAGDASQAAAAAAAgAAAKSnSQACAAAA1K1JAAIAAABIxUkAoMBJAKSnSQBIxUkA +4MBJAKSnSQBIxUkAIMFJAJytSQBIxUkAQMFJALisSQBIxUkAgMFJALisSQDoxEkA +wMFJAEjFSQDgwUkApKdJAEjFSQAgwkkApKdJAEjFSQBgwkkApKdJAEjFSQCgwkkA +pKdJAOjESQDgwkkA6MRJAPDCSQAyMHdpbmRvd3NfZmlsZV9jb2RlY3Z0AAA3Q1Y4 +RmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOMTBfX2N4eGFiaXYxMTVf +X2ZvcmNlZF91bndpbmRFAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZv +RQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOMTBfX2N4eGFiaXYxMTlf +X2ZvcmVpZ25fZXhjZXB0aW9uRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +TjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVf +aW5mb0UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqTjEyX0dMT0JBTF9fTl8x +MjFmdXR1cmVfZXJyb3JfY2F0ZWdvcnlFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +Kk4xMl9HTE9CQUxfX05fMTIxc3lzdGVtX2Vycm9yX2NhdGVnb3J5RQAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAACpOMTJfR0xPQkFMX19OXzEyMmdlbmVyaWNfZXJyb3Jf +Y2F0ZWdvcnlFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABONWJvb3N0MTBmaWxlc3lz +dGVtMTRiYXNpY19pZnN0cmVhbUljU3QxMWNoYXJfdHJhaXRzSWNFRUUAAAAAAAAA +TjVib29zdDEwZmlsZXN5c3RlbTE0YmFzaWNfb2ZzdHJlYW1JY1N0MTFjaGFyX3Ry +YWl0c0ljRUVFAAAAAAAAAE41Ym9vc3QxMGZpbGVzeXN0ZW0xNmZpbGVzeXN0ZW1f +ZXJyb3JFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABONWJvb3N0MTJub25jb3B5 +YWJsZV8xMW5vbmNvcHlhYmxlRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +TjVib29zdDZkZXRhaWwxNXNwX2NvdW50ZWRfYmFzZUUAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAE41Ym9vc3Q2ZGV0YWlsMTdzcF9jb3VudGVkX2ltcGxf +cElOU18xMGZpbGVzeXN0ZW0xNmZpbGVzeXN0ZW1fZXJyb3I1bV9pbXBFRUUAAAAA +AAAAAAAAAAAAAAAAAAAAAE41Ym9vc3Q2ZGV0YWlsMTdzcF9jb3VudGVkX2ltcGxf +cElOU18xMGZpbGVzeXN0ZW02ZGV0YWlsMTFkaXJfaXRyX2ltcEVFRQAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAE41Ym9vc3Q2c3lzdGVtMTJzeXN0ZW1fZXJyb3JFAAAA +TjVib29zdDZzeXN0ZW0xNGVycm9yX2NhdGVnb3J5RQBOOV9fZ251X2N4eDEzc3Rk +aW9fZmlsZWJ1ZkljU3QxMWNoYXJfdHJhaXRzSWNFRUUAAAAAAAAAAAAAAAAAAAAA +TjlfX2dudV9jeHgxM3N0ZGlvX2ZpbGVidWZJd1N0MTFjaGFyX3RyYWl0c0l3RUVF +AAAAAAAAAAAAAAAAAAAAAE45X19nbnVfY3h4MThzdGRpb19zeW5jX2ZpbGVidWZJ +Y1N0MTFjaGFyX3RyYWl0c0ljRUVFAAAAAAAAAAAAAABOOV9fZ251X2N4eDE4c3Rk +aW9fc3luY19maWxlYnVmSXdTdDExY2hhcl90cmFpdHNJd0VFRQAAAAAAAAAAAAAA +TjlfX2dudV9jeHgyMHJlY3Vyc2l2ZV9pbml0X2Vycm9yRQAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAE45X19nbnVfY3h4MjRfX2NvbmN1cnJlbmNlX2xvY2tf +ZXJyb3JFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOOV9fZ251X2N4eDI2X19j +b25jdXJyZW5jZV91bmxvY2tfZXJyb3JFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +TlN0NmxvY2FsZTVmYWNldEUAAABOU3Q4aW9zX2Jhc2U3ZmFpbHVyZUUAAABTZAAA +U2kAAFNvAABTdDEwYmFkX3R5cGVpZAAAU3QxMGN0eXBlX2Jhc2UAAFN0MTBtb25l +eV9iYXNlAABTdDEwbW9uZXlwdW5jdEljTGIwRUUAAABTdDEwbW9uZXlwdW5jdElj +TGIxRUUAAABTdDEwbW9uZXlwdW5jdEl3TGIwRUUAAABTdDEwbW9uZXlwdW5jdEl3 +TGIxRUUAAABTdDExX190aW1lcHVuY3RJY0UAAFN0MTFfX3RpbWVwdW5jdEl3RQAA +U3QxMWxvZ2ljX2Vycm9yAFN0MTFyYW5nZV9lcnJvcgBTdDExcmVnZXhfZXJyb3IA +U3QxMmNvZGVjdnRfYmFzZQAAAABTdDEyY3R5cGVfYnluYW1lSWNFAFN0MTJjdHlw +ZV9ieW5hbWVJd0UAU3QxMmRvbWFpbl9lcnJvcgAAAABTdDEyZnV0dXJlX2Vycm9y +AAAAAFN0MTJsZW5ndGhfZXJyb3IAAAAAU3QxMm91dF9vZl9yYW5nZQAAAABTdDEy +c3lzdGVtX2Vycm9yAAAAAFN0MTNiYWRfZXhjZXB0aW9uAAAAAAAAAAAAAAAAAAAA +U3QxM2Jhc2ljX2ZpbGVidWZJY1N0MTFjaGFyX3RyYWl0c0ljRUUAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAFN0MTNiYXNpY19maWxlYnVmSXdTdDExY2hhcl90cmFp +dHNJd0VFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTdDEzYmFzaWNfZnN0cmVh +bUljU3QxMWNoYXJfdHJhaXRzSWNFRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxM2Jhc2ljX2ZzdHJlYW1Jd1N0MTFjaGFyX3RyYWl0c0l3RUUAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAFN0MTNiYXNpY19pc3RyZWFtSXdTdDExY2hhcl90cmFp +dHNJd0VFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTdDEzYmFzaWNfb3N0cmVh +bUl3U3QxMWNoYXJfdHJhaXRzSXdFRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxM21lc3NhZ2VzX2Jhc2UAAABTdDEzcnVudGltZV9lcnJvcgAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAFN0MTRiYXNpY19pZnN0cmVhbUljU3QxMWNoYXJfdHJh +aXRzSWNFRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTdDE0YmFzaWNfaWZzdHJl +YW1Jd1N0MTFjaGFyX3RyYWl0c0l3RUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxNGJhc2ljX2lvc3RyZWFtSXdTdDExY2hhcl90cmFpdHNJd0VFAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAFN0MTRiYXNpY19vZnN0cmVhbUljU3QxMWNoYXJfdHJh +aXRzSWNFRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTdDE0YmFzaWNfb2ZzdHJl +YW1Jd1N0MTFjaGFyX3RyYWl0c0l3RUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxNGNvZGVjdnRfYnluYW1lSWNjaUUAU3QxNGNvZGVjdnRfYnluYW1lSXdjaUUA +U3QxNGNvbGxhdGVfYnluYW1lSWNFAAAAU3QxNGNvbGxhdGVfYnluYW1lSXdFAAAA +U3QxNGVycm9yX2NhdGVnb3J5AABTdDE0b3ZlcmZsb3dfZXJyb3IAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAFN0MTViYXNpY19zdHJlYW1idWZJY1N0MTFjaGFyX3Ry +YWl0c0ljRUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTdDE1YmFzaWNfc3RyZWFt +YnVmSXdTdDExY2hhcl90cmFpdHNJd0VFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxNW1lc3NhZ2VzX2J5bmFtZUljRQAAU3QxNW1lc3NhZ2VzX2J5bmFtZUl3RQAA +U3QxNW51bXB1bmN0X2J5bmFtZUljRQAAU3QxNW51bXB1bmN0X2J5bmFtZUl3RQAA +U3QxNXRpbWVfZ2V0X2J5bmFtZUljU3QxOWlzdHJlYW1idWZfaXRlcmF0b3JJY1N0 +MTFjaGFyX3RyYWl0c0ljRUVFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxNXRpbWVfZ2V0X2J5bmFtZUl3U3QxOWlzdHJlYW1idWZfaXRlcmF0b3JJd1N0 +MTFjaGFyX3RyYWl0c0l3RUVFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxNXRpbWVfcHV0X2J5bmFtZUljU3QxOW9zdHJlYW1idWZfaXRlcmF0b3JJY1N0 +MTFjaGFyX3RyYWl0c0ljRUVFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxNXRpbWVfcHV0X2J5bmFtZUl3U3QxOW9zdHJlYW1idWZfaXRlcmF0b3JJd1N0 +MTFjaGFyX3RyYWl0c0l3RUVFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxNXVuZGVyZmxvd19lcnJvcgBTdDE2X19udW1wdW5jdF9jYWNoZUljRQBTdDE2 +X19udW1wdW5jdF9jYWNoZUl3RQBTdDE2aW52YWxpZF9hcmd1bWVudAAAAABTdDE3 +X190aW1lcHVuY3RfY2FjaGVJY0UAAAAAU3QxN19fdGltZXB1bmN0X2NhY2hlSXdF +AAAAAFN0MTdiYWRfZnVuY3Rpb25fY2FsbAAAAFN0MTdtb25leXB1bmN0X2J5bmFt +ZUljTGIwRUUAAAAAU3QxN21vbmV5cHVuY3RfYnluYW1lSWNMYjFFRQAAAABTdDE3 +bW9uZXlwdW5jdF9ieW5hbWVJd0xiMEVFAAAAAFN0MTdtb25leXB1bmN0X2J5bmFt +ZUl3TGIxRUUAAAAAU3QxOF9fbW9uZXlwdW5jdF9jYWNoZUljTGIwRUUAAABTdDE4 +X19tb25leXB1bmN0X2NhY2hlSWNMYjFFRQAAAFN0MThfX21vbmV5cHVuY3RfY2Fj +aGVJd0xiMEVFAAAAU3QxOF9fbW9uZXlwdW5jdF9jYWNoZUl3TGIxRUUAAABTdDIx +X19jdHlwZV9hYnN0cmFjdF9iYXNlSWNFAAAAAFN0MjFfX2N0eXBlX2Fic3RyYWN0 +X2Jhc2VJd0UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTdDIzX19jb2RlY3Z0X2Fi +c3RyYWN0X2Jhc2VJY2NpRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QyM19fY29kZWN2dF9hYnN0cmFjdF9iYXNlSXdjaUUAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAFN0NWN0eXBlSWNFAFN0NWN0eXBlSXdFAFN0N2NvZGVj +dnRJY2NpRQBTdDdjb2RlY3Z0SXdjaUUAU3Q3Y29sbGF0ZUljRQAAAFN0N2NvbGxh +dGVJd0UAAAAAAAAAAAAAAFN0N251bV9nZXRJY1N0MTlpc3RyZWFtYnVmX2l0ZXJh +dG9ySWNTdDExY2hhcl90cmFpdHNJY0VFRQAAAAAAAABTdDdudW1fZ2V0SXdTdDE5 +aXN0cmVhbWJ1Zl9pdGVyYXRvckl3U3QxMWNoYXJfdHJhaXRzSXdFRUUAAAAAAAAA +U3Q3bnVtX3B1dEljU3QxOW9zdHJlYW1idWZfaXRlcmF0b3JJY1N0MTFjaGFyX3Ry +YWl0c0ljRUVFAAAAAAAAAFN0N251bV9wdXRJd1N0MTlvc3RyZWFtYnVmX2l0ZXJh +dG9ySXdTdDExY2hhcl90cmFpdHNJd0VFRQAAAAAAAABTdDhiYWRfY2FzdABTdDhp +b3NfYmFzZQBTdDhtZXNzYWdlc0ljRQAAU3Q4bWVzc2FnZXNJd0UAAFN0OG51bXB1 +bmN0SWNFAABTdDhudW1wdW5jdEl3RQAAAAAAAAAAAABTdDh0aW1lX2dldEljU3Qx +OWlzdHJlYW1idWZfaXRlcmF0b3JJY1N0MTFjaGFyX3RyYWl0c0ljRUVFAAAAAAAA +U3Q4dGltZV9nZXRJd1N0MTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdTdDExY2hhcl90 +cmFpdHNJd0VFRQAAAAAAAFN0OHRpbWVfcHV0SWNTdDE5b3N0cmVhbWJ1Zl9pdGVy +YXRvckljU3QxMWNoYXJfdHJhaXRzSWNFRUUAAAAAAABTdDh0aW1lX3B1dEl3U3Qx +OW9zdHJlYW1idWZfaXRlcmF0b3JJd1N0MTFjaGFyX3RyYWl0c0l3RUVFAAAAAAAA +U3Q5YmFkX2FsbG9jAAAAAAAAAAAAAAAAAAAAAAAAAABTdDliYXNpY19pb3NJY1N0 +MTFjaGFyX3RyYWl0c0ljRUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3Q5YmFzaWNfaW9zSXdTdDExY2hhcl90cmFpdHNJd0VFAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAFN0OWV4Y2VwdGlvbgAAAAAAAAAAAAAAAAAAAAAAAAAA +U3Q5bW9uZXlfZ2V0SWNTdDE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljU3QxMWNoYXJf +dHJhaXRzSWNFRUUAAAAAAFN0OW1vbmV5X2dldEl3U3QxOWlzdHJlYW1idWZfaXRl +cmF0b3JJd1N0MTFjaGFyX3RyYWl0c0l3RUVFAAAAAABTdDltb25leV9wdXRJY1N0 +MTlvc3RyZWFtYnVmX2l0ZXJhdG9ySWNTdDExY2hhcl90cmFpdHNJY0VFRQAAAAAA +U3Q5bW9uZXlfcHV0SXdTdDE5b3N0cmVhbWJ1Zl9pdGVyYXRvckl3U3QxMWNoYXJf +dHJhaXRzSXdFRUUAAAAAAFN0OXRpbWVfYmFzZQAAAABTdDl0eXBlX2luZm8AAAAA +jMZJAEyiSQAMokkAIKJJAGCiSQCgxkkAzMZJAMyiSQCMokkAoKJJAOCiSQDgxkkA +bMlJAAyjSQAgo0kATKNJAGCjSQCUyUkAgMlJAAAAAACsyUkAwMlJAOzJSQAAykkA +bM1JAIyjSQDMo0kA4KNJAAykSQAgpEkAtKNJAKCjSQCUzUkAgM1JAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAKzNSQCMpEkATKRJAGCkSQDMpEkA4KRJALSkSQCgpEkA +1M1JAMDNSQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADszUkAAM5JACzOSQBAzkkA +jM5JAAylSQAgpUkAoM5JAMzOSQBMpUkAYKVJAODOSQAMz0kAjKVJAKClSQDMpUkA +4KVJADTPSQAgz0kAAAAAAEzPSQAMpkkAIKZJAGDPSQCMz0kATKZJAGCmSQCgz0kA +AAAAAAAAAAAAAAAAAAAAAAAAAACApkkAQL5DACC+QwAQbEIA0O1DAIBrQgDg7UMA +AO5DABDuQwDw7UMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKZJAOAWQABgF0AA +AAAAAJSmSQCwu0MAkLtDAMA1SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAJymSQDgu0MAwLtDAKCcRQCwnEUAEOFDAKDhQwBg4UMAAOJDAGDiQwAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAACopkkAELxDAPC7QwDANUgAAAAAAAAAAAAAAAAA +AAAAALCmSQBAvEMAILxDAKCcRQCwnEUAEOFDAKDhQwCA4kMA4OJDAMDjQwAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAC8pkkAcLxDAFC8QwCgnEUAsJxFABDhQwCg4UMA +MORDAGDmQwBQ60MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyKZJACC9QwAAvUMA +EOxDACDsQwDwI0QAsCNEAJAjRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAANSmSQBQvUMAML1DADDtQwBA7UMA8CNEALAjRACQI0QAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAADgpkkAgL1DAGC9QwCA7UMAkO1DAPAjRACwI0QA +kCNEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAOymSQAAv0MA +UL5DAIz///+M////7KZJAJAqSACAKkgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +cAAAAAAAAAD4pkkAQMBDAKC/QwCQ////kP////imSQCwKkgAoCpIAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAEp0kAsMVDAPDEQwAg7kMAAAAAAAAAAAAAAAAA +AAAAABinSQCAyEMAYMhDAMA1SADwx0MAwDVIAMA1SAAAAAAAIKdJAMDJQwCgyUMA +sMhDAPDHQwCQyEMAoMhDAAAAAAAsp0kAoMpDAIDKQwDwyUMA8MdDANDJQwDgyUMA +AAAAADinSQDQy0MAYMtDAPDyQwAAAAAAAAAAAAAAAAAAAAAARKdJANDMQwCwzEMA +wDVIAMA1SABw9EMAMPRDABD0QwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAFCnSQAg0UMAwNBDANBgRgCgYkYAMGdGACBpRgCgX0YAEG1GAABjRgCQbUYA +0BpHAOBrRgBwZUYA4GlGAAAAAABcp0kAINVDAMDUQwDQe0YAoH1GAECCRgAwhEYA +oHpGACCIRgAAfkYAoIhGAGAhRwDghkYAcIBGAPCERgAAAAAAaKdJAJDZQwBg2UMA +QBpHACAbRwDQ1kMAQNdDAPDVQwDwHUcAUNZDAFDYQwAQ1kMAENhDAKDWQwCg10MA +AAAAAHSnSQBA3UMAEN1DANAgRwCwIUcAsNpDACDbQwCw2UMAgCRHAPDZQwAg3EMA +0NlDAMDbQwBg2kMAgNtDAAAAAACAp0kAcN1DAFDdQwDASUUAAAAAAAAAAACMp0kA +oN1DAIDdQwCA9EMAAAAAAAAAAACYp0kA0N1DALDdQwCQ9EMAAAAAAAAAAACkp0kA +4ItHAMCLRwAAAAAArKdJAGC2RwBAtkcAgPxEAAAAAAAAAAAAAAAAAAAAAAAAAAAA +DAAAAAAAAADAp0kAEMVFANDERQAEAAAA+P///8CnSQAQKkgAACpIAPT////0//// +wKdJANAqSADAKkgAAAAAAAgAAAAAAAAA4KdJAGDuRQAw7kUA+P////j////gp0kA +8CpIAOAqSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAPinSQAgC0YA +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 +YLpHAEC6RwAw/kQAEP5EAED+RAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAACtSQDQvUcAsL1HAAD/RAAQ/0QAUP5EAID+RACw/kQAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAMrUkAEMFHAPDARwAwAEUAQABFAID/RACw/0QA +4P9EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIK1JALDBRwCQwUcA +QARFALABRQDAAEUAQAdFAJALRQCgAkUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAECtSQAwwkcAEMJHACAiRQBgH0UAUB5FAKAkRQAAKUUAcCBFAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAABgrUkAsMJHAJDCRwAQQkUAAAAAAAAAAABsrUkA +MMNHABDDRwCARUUAAAAAAAAAAAB4rUkAcMNHAFDDRwCwRkUAAAAAAAAAAACErUkA +QMpHACDKRwAAAAAAkK1JABDRRwDw0EcAAAAAAJytSQBQ0UcAMNFHAMBJRQAAAAAA +AAAAAKStSQDA0UcAoNFHAJBhRQAgYEUAAAAAALCtSQBA0kcAINJHAMB6RQBweUUA +AAAAALytSQDA0kcAoNJHAMB8RQBgfEUAAAAAAMitSQBA00cAINNHAOCMRQCAjEUA +AAAAANytSQCA00cAYNNHAKCcRQCwnEUAcJxFAJCcRQAAAQABAAEAAQABAAEAAQAB +AAEgASABIAEgASABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAB +YABAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJYAFgAWABYAFgAWABYAFgA +WABYAEACQAJAAkACQAJAAkACVQBVAFUAVQBVAFUARQBFAEUARQBFAEUARQBFAEUA +RQBFAEUARQBFAEUARQBFAEUARQBFAEACQAJAAkACQAJAAlYAVgBWAFYAVgBWAEYA +RgBGAEYARgBGAEYARgBGAEYARgBGAEYARgBGAEYARgBGAEYARgBAAkACQAJAAgAB +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +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 +XmUMAGplDAB8ZQwAjGUMAJ5lDACwZQwAyGUMAN5lDAD0ZQwADGYMACJmDABAZgwA +TmYMAGJmDAByZgwAhmYMAJhmDACoZgwAxGYMANxmDADyZgwACmcMAB5nDAA2ZwwA +QmcMAFBnDABmZwwAemcMAI5nDACmZwwAtmcMAMxnDADgZwwA7mcMAP5nDAAcaAwA +JGgMADBoDAA6aAwASGgMAFZoDABoaAwAeGgMAI5oDAAAAAAApGgMAK5oDAC4aAwA +wGgMAMpoDADWaAwAAAAAAOBoDADwaAwAAGkMABBpDAAeaQwAMGkMADppDABEaQwA +TmkMAFhpDABmaQwAdGkMAIBpDACKaQwAlmkMAKJpDACqaQwAtGkMAMBpDADIaQwA +0mkMANppDADkaQwA7mkMAPhpDAAAagwACGoMABBqDAAYagwAIGoMAChqDAAwagwA +OmoMAEJqDABMagwAWGoMAGZqDABwagwAfGoMAIZqDACQagwAmmoMAKRqDACuagwA +tmoMAMBqDADMagwA1moMAOBqDADqagwA9GoMAP5qDAAIawwAFGsMACBrDAAqawwA +NGsMAD5rDABIawwAUmsMAF5rDABqawwAdGsMAH5rDACKawwAlmsMAKBrDACsawwA +tmsMAMJrDAAAAAAAiGQMAJpkDACoZAwAtGQMAMpkDADeZAwA7GQMAABlDAAYZQwA +JmUMADhlDABQZQwAXmUMAGplDAB8ZQwAjGUMAJ5lDACwZQwAyGUMAN5lDAD0ZQwA +DGYMACJmDABAZgwATmYMAGJmDAByZgwAhmYMAJhmDACoZgwAxGYMANxmDADyZgwA +CmcMAB5nDAA2ZwwAQmcMAFBnDABmZwwAemcMAI5nDACmZwwAtmcMAMxnDADgZwwA +7mcMAP5nDAAcaAwAJGgMADBoDAA6aAwASGgMAFZoDABoaAwAeGgMAI5oDAAAAAAA +pGgMAK5oDAC4aAwAwGgMAMpoDADWaAwAAAAAAOBoDADwaAwAAGkMABBpDAAeaQwA +MGkMADppDABEaQwATmkMAFhpDABmaQwAdGkMAIBpDACKaQwAlmkMAKJpDACqaQwA +tGkMAMBpDADIaQwA0mkMANppDADkaQwA7mkMAPhpDAAAagwACGoMABBqDAAYagwA +IGoMAChqDAAwagwAOmoMAEJqDABMagwAWGoMAGZqDABwagwAfGoMAIZqDACQagwA +mmoMAKRqDACuagwAtmoMAMBqDADMagwA1moMAOBqDADqagwA9GoMAP5qDAAIawwA +FGsMACBrDAAqawwANGsMAD5rDABIawwAUmsMAF5rDABqawwAdGsMAH5rDACKawwA +lmsMAKBrDACsawwAtmsMAMJrDAAAAAAAFQBBcmVGaWxlQXBpc0FOU0kAUgBDbG9z +ZUhhbmRsZQB1AENvcHlGaWxlVwB9AENyZWF0ZURpcmVjdG9yeUV4VwAAgABDcmVh +dGVEaXJlY3RvcnlXAACOAENyZWF0ZUZpbGVXAKkAQ3JlYXRlU2VtYXBob3JlQQAA +zwBEZWxldGVDcml0aWNhbFNlY3Rpb24A1ABEZWxldGVGaWxlVwDbAERldmljZUlv +Q29udHJvbADsAEVudGVyQ3JpdGljYWxTZWN0aW9uAAAXAUV4aXRQcm9jZXNzACwB +RmluZENsb3NlADcBRmluZEZpcnN0RmlsZVcAAEMBRmluZE5leHRGaWxlVwBbAUZv +cm1hdE1lc3NhZ2VBAACEAUdldENvbW1hbmRMaW5lQQC9AUdldEN1cnJlbnREaXJl +Y3RvcnlXAADDAUdldEN1cnJlbnRUaHJlYWRJZAAAzAFHZXREaXNrRnJlZVNwYWNl +RXhXAOMBR2V0RmlsZUF0dHJpYnV0ZXNFeFcAAOYBR2V0RmlsZUF0dHJpYnV0ZXNX +AADoAUdldEZpbGVJbmZvcm1hdGlvbkJ5SGFuZGxlAADuAUdldEZpbGVUaW1lAPcB +R2V0RnVsbFBhdGhOYW1lVwAA/gFHZXRMYXN0RXJyb3IAABECR2V0TW9kdWxlSGFu +ZGxlQQAAQQJHZXRQcm9jQWRkcmVzcwAAgQJHZXRUZW1wUGF0aFcAAN4CSW5pdGlh +bGl6ZUNyaXRpY2FsU2VjdGlvbgDnAkludGVybG9ja2VkRGVjcmVtZW50AADoAklu +dGVybG9ja2VkRXhjaGFuZ2UA6wJJbnRlcmxvY2tlZEluY3JlbWVudAAA+wJJc0RC +Q1NMZWFkQnl0ZUV4AAAuA0xlYXZlQ3JpdGljYWxTZWN0aW9uAAA9A0xvY2FsRnJl +ZQBVA01vdmVGaWxlRXhXAFwDTXVsdGlCeXRlVG9XaWRlQ2hhcgDSA1JlbGVhc2VT +ZW1hcGhvcmUAANcDUmVtb3ZlRGlyZWN0b3J5VwAAHQRTZXRDdXJyZW50RGlyZWN0 +b3J5VwAAIwRTZXRFbmRPZkZpbGUAADEEU2V0RmlsZUF0dHJpYnV0ZXNXAAA3BFNl +dEZpbGVQb2ludGVyRXgAADoEU2V0RmlsZVRpbWUAQwRTZXRMYXN0RXJyb3IAAHQE +U2V0VW5oYW5kbGVkRXhjZXB0aW9uRmlsdGVyAIAEU2xlZXAAkwRUbHNBbGxvYwAA +lARUbHNGcmVlAJUEVGxzR2V0VmFsdWUAlgRUbHNTZXRWYWx1ZQC9BFZpcnR1YWxQ +cm90ZWN0AAC/BFZpcnR1YWxRdWVyeQAAxwRXYWl0Rm9yU2luZ2xlT2JqZWN0AN8E +V2lkZUNoYXJUb011bHRpQnl0ZQAXAF9mZG9wZW4AMwBfbHNlZWsAAEAAX3JlYWQA +UABfc3RyZHVwAFIAX3N0cmljb2xsAG0AX3dyaXRlAAA7AF9fZ2V0bWFpbmFyZ3MA +RgBfX21iX2N1cl9tYXgAAFIAX19wX19lbnZpcm9uAABUAF9fcF9fZm1vZGUAAGkA +X19zZXRfYXBwX3R5cGUAAJAAX2Fzc2VydACaAF9jZXhpdAAAwABfZXJybm8AANIA +X2ZpbGJ1ZgDXAF9maW5kY2xvc2UAANgAX2ZpbmRmaXJzdAAA3gBfZmluZG5leHQA +5QBfZmxzYnVmAPQAX2ZzdGF0NjQAAP4AX2Z1bGxwYXRoACgBX2lvYgAAoQFfb25l +eGl0ANIBX3NldG1vZGUAAH8CYWJvcnQAhgJhdGV4aXQAAIgCYXRvaQAAiwJjYWxs +b2MAAJcCZmNsb3NlAACaAmZmbHVzaAAAogJmb3BlbgCkAmZwdXRjAKUCZnB1dHMA +qAJmcmVhZACpAmZyZWUAAK0CZnNlZWsArwJmdGVsbACxAmZ3cml0ZQAAtwJnZXR3 +YwDEAmlzc3BhY2UAygJpc3djdHlwZQAA1wJsb2NhbGVjb252AADcAm1hbGxvYwAA +3gJtYnN0b3djcwAA4AJtZW1jaHIAAOECbWVtY21wAADiAm1lbWNweQAA4wJtZW1t +b3ZlAOQCbWVtc2V0AADtAnB1dHdjAPICcmVhbGxvYwD4AnNldGxvY2FsZQD5AnNl +dHZidWYA+gJzaWduYWwAAP0Cc3ByaW50ZgACA3N0cmNocgAAAwNzdHJjbXAAAAQD +c3RyY29sbAAHA3N0cmVycm9yAAAIA3N0cmZ0aW1lAAAJA3N0cmxlbgAADANzdHJu +Y3B5ABEDc3RydG9kAAAVA3N0cnhmcm0AHgN0b2xvd2VyACADdG93bG93ZXIAACED +dG93dXBwZXIAACIDdW5nZXRjAAAjA3VuZ2V0d2MAJAN2ZnByaW50ZgAAJwN2c3By +aW50ZgAALQN3Y3Njb2xsADADd2NzZnRpbWUAADEDd2NzbGVuAAA8A3djc3RvbWJz +AAA+A3djc3hmcm0AAGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwA +AGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwA +AGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwA +AGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwA +AGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDABrZXJu +ZWwzMi5kbGwAAAAAFGAMABRgDAAUYAwAFGAMABRgDAAUYAwAbXN2Y3J0LmRsbAAA +KGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwA +KGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwA +KGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwA +KGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwA +KGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwA +KGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAG1zdmNydC5k +bGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AFDAJABQwAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAABgEwAHIBMAOxQTAAEcEwAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +} +} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/e9fbe396-a267-46f4-8472-0e03be464c2a" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/e9fbe396-a267-46f4-8472-0e03be464c2a" new file mode 100644 index 00000000..70f3f7e1 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/e9fbe396-a267-46f4-8472-0e03be464c2a" @@ -0,0 +1,6 @@ +{1, +{2,4, +{0, +{0,0,e9fbe396-a267-46f4-8472-0e03be464c2a},"БазовыйТест_v3_УФ_ДваТеста", +{1,"ru","Базовый тест v3 у ф два теста"},""} +},0} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/e9fbe396-a267-46f4-8472-0e03be464c2a.0" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/e9fbe396-a267-46f4-8472-0e03be464c2a.0" new file mode 100644 index 00000000..2f7986ff --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/e9fbe396-a267-46f4-8472-0e03be464c2a.0" @@ -0,0 +1,25 @@ +&НаКлиенте +Перем юТест; + +&НаКлиенте +Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт + + юТест = ЮнитТестирование; + + ВсеТесты = Новый Массив; + ВсеТесты.Добавить("Тест_ДваПлюсДва"); + ВсеТесты.Добавить("Тест_ДваПлюсТри"); + + Возврат ВсеТесты; + +КонецФункции + +&НаКлиенте +Процедура Тест_ДваПлюсДва() Экспорт + +КонецПроцедуры + +&НаКлиенте +Процедура Тест_ДваПлюсТри() Экспорт + +КонецПроцедуры diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/eaaa971d-cd10-4a58-ac2c-453a08f3e31c" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/eaaa971d-cd10-4a58-ac2c-453a08f3e31c" new file mode 100644 index 00000000..c1b03996 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/eaaa971d-cd10-4a58-ac2c-453a08f3e31c" @@ -0,0 +1,6 @@ +{1, +{2,4, +{0, +{0,0,eaaa971d-cd10-4a58-ac2c-453a08f3e31c},"БазовыйТест_v3_УФ_ДваТеста_ИКодВокруг", +{1,"ru","Базовый тест v3 у ф два теста и код вокруг"},""} +},0} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/eaaa971d-cd10-4a58-ac2c-453a08f3e31c.0" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/eaaa971d-cd10-4a58-ac2c-453a08f3e31c.0" new file mode 100644 index 00000000..c7587eba --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/eaaa971d-cd10-4a58-ac2c-453a08f3e31c.0" @@ -0,0 +1,37 @@ +&НаКлиенте +Перем Перем1; +&НаКлиенте +Перем юТест; +&НаКлиенте +Перем Перем2; + +&НаКлиенте +Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт + + юТест = ЮнитТестирование; + + ВсеТесты = Новый Массив; + ВсеТесты.Добавить("Тест_ДваПлюсДва"); + ВсеТесты.Добавить("Тест_ДваПлюсТри"); + + Возврат ВсеТесты; + +КонецФункции + +&НаКлиенте +Процедура Публичная() Экспорт +КонецПроцедуры + +&НаКлиенте +Процедура Тест_ДваПлюсДва() Экспорт + +КонецПроцедуры + +&НаКлиенте +Процедура Тест_ДваПлюсТри() Экспорт + +КонецПроцедуры + +&НаКлиенте +Процедура Приватная() +КонецПроцедуры diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/root" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/root" new file mode 100644 index 00000000..65887e34 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/root" @@ -0,0 +1 @@ +{2,e5530449-dd2d-4841-821e-38808447be38,} \ No newline at end of file diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/version" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/version" similarity index 100% rename from "src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/version" rename to "src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/version" diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/versions" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/versions" new file mode 100644 index 00000000..29f610cf --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/und/versions" @@ -0,0 +1 @@ +{1,55,"",e9e95310-0cc2-4049-b82a-1691ce1598cd,"e9fbe396-a267-46f4-8472-0e03be464c2a.0",9aea1bb2-ed53-4adf-ad5c-d9484768331b,"5b867d65-eb17-4da4-9cbd-850c1dd2585b",2e2d6fc0-0604-4501-807c-59b0c991eb6b,"5f1fcb9b-1780-4484-8c6f-b54997875be3.0",4f577650-54ec-48b7-8d50-be65cc200b52,"8b6e0649-e316-4007-95d6-0240e751b4e0",5b97519d-9182-4da7-85ec-c3056dfa2d36,"eaaa971d-cd10-4a58-ac2c-453a08f3e31c",0e7d87b7-315f-4a29-b111-1ae91f085b32,"aa6a8c8d-aaf9-45a8-8df1-0acd6747775e",9268a0ae-8a75-409e-b1ef-ef178ec2a998,"copyinfo",d89f7605-66db-4038-9401-0053ef95c466,"9445dc5b-81cf-4d1e-9e20-07042b93755a",b004673a-0a13-40a9-b429-1a6375fe1356,"ca759f78-0cac-471b-972d-06c9844ad3a2.0",69588c04-4c3e-4067-bb8e-a8f5029e7cda,"165fbf6e-41ca-41fa-9329-f226fbf60fcf",7d866af2-b663-4c46-afef-0bb0e8ef0986,"versions",0248c68a-87d4-4d59-9099-045207c05cb0,"5b867d65-eb17-4da4-9cbd-850c1dd2585b.0",5a471482-e6e9-4e79-a645-8870107f475f,"1facde36-00e4-442d-b52c-0c8e26d731fe",cfcec375-dd06-41fc-b0c3-4906731e3353,"97fdadb1-8930-4792-a51e-fd59af2c5cb1",583e35b8-470a-4735-b8b8-a0fcfc94bf09,"0074f89e-172f-4cb5-9d37-90f51ebfdf83.0",f4a372e1-dabc-464a-912d-e88ad95f0482,"94ed5fcb-e54f-4e79-9818-d9c006e798df",8a246ed3-171d-473b-8cc7-e69c7fbc3e59,"bc8ef2c0-98ae-4f7b-9b02-f680f8384843.0",b310cc0d-c34f-4ce9-affa-00801f138624,"908b5599-e977-4e6c-8401-3f12bf12e2a3",ea9f3d27-8ef3-4d09-8811-ff1344349c1e,"bc8ef2c0-98ae-4f7b-9b02-f680f8384843",12341893-9ea8-4913-872d-29b09877c54e,"dc252f32-bece-4b36-a154-7e1456abc42b.0",6bf792f6-e4ae-4c92-81b1-420bf6b271d9,"dc252f32-bece-4b36-a154-7e1456abc42b",7cba6c2e-de68-4977-b315-5baa5a9c6cb2,"594174ed-87e8-4b21-b5c2-4b9936964fbe.0",42255578-1c3c-4071-9d06-cdbfbf995d08,"945f1fbd-df8f-41cd-b30a-803da0bb591a.0",71e920c3-bba3-4af1-a9c4-89cf9973456f,"root",ba9e9269-06b7-4ed9-b449-22aa9489c87f,"7763d64e-6a6b-4a34-af48-d041bc88e244.0",3a5aec1e-e8d1-48fb-a3f1-aa1435988703,"e9fbe396-a267-46f4-8472-0e03be464c2a",fa427f3c-22aa-4f64-a598-5aa6cd97fad3,"594174ed-87e8-4b21-b5c2-4b9936964fbe",9ebabc6d-2cd2-4c63-9cfd-788a38eba60d,"9445dc5b-81cf-4d1e-9e20-07042b93755a.0",c50b1a6c-4820-4b72-9ec3-9a5af6d0cf90,"165fbf6e-41ca-41fa-9329-f226fbf60fcf.0",98a8d35d-b8d5-468b-b23c-25ef049f6ae1,"da854782-15ef-4d88-8ea7-9606248465ef.0",ca3ccaf1-6868-4280-9207-0ff4e7d5c524,"8b6e0649-e316-4007-95d6-0240e751b4e0.0",9d5f1ce5-e5a2-41e4-b5c0-ea261eb0c82e,"908b5599-e977-4e6c-8401-3f12bf12e2a3.0",44400a7a-7cd4-497e-8e60-32687f4a2231,"267c63bb-1a07-4f2a-80b7-e1ed526a9d8e",8fcd04f1-fd43-4454-b768-f21d2c3104a1,"7763d64e-6a6b-4a34-af48-d041bc88e244",aa14f9b1-df0e-47d5-85d2-827fe877e00a,"e71cb439-e78b-48d4-90ca-3055c334364b.0",edf8cc87-3cbe-409d-bcef-df27b96b9fd7,"ca759f78-0cac-471b-972d-06c9844ad3a2",3b3a3ab0-3139-4e53-ae85-a093e5447b09,"5bea2e8a-f556-4c03-8234-4590f8041b1d",4d4f03e4-e8d6-405a-89ab-1d9d37dba106,"1facde36-00e4-442d-b52c-0c8e26d731fe.0",79542ae9-a564-4637-a7ae-0d17e98fc648,"0074f89e-172f-4cb5-9d37-90f51ebfdf83",360e1277-1527-48c1-b512-7a0e6b1bfb1f,"7ff549be-7559-43d1-8164-15a081f9e920",25e31df9-9458-4d03-a108-433824129414,"267c63bb-1a07-4f2a-80b7-e1ed526a9d8e.0",75dc090d-a900-416e-8985-0f337ef78fa5,"5f1fcb9b-1780-4484-8c6f-b54997875be3",4a49be5c-3bc6-44e0-8cd4-fa63ec51892f,"945f1fbd-df8f-41cd-b30a-803da0bb591a",808e3cfc-12e4-4437-ab68-c533e26a952e,"aa6a8c8d-aaf9-45a8-8df1-0acd6747775e.0",5e4a1975-ff26-43f7-9253-221abaf1bc3c,"94ed5fcb-e54f-4e79-9818-d9c006e798df.0",d980a4d3-64d3-4498-81ea-260f339602a5,"e5530449-dd2d-4841-821e-38808447be38",67b37864-8925-478e-881c-4c75005dca9f,"0820522a-cd7b-498a-8767-4a1a17c6a313",aa627ad9-ee41-48b2-89ff-a5d4930c7816,"0820522a-cd7b-498a-8767-4a1a17c6a313.0",0da4a02e-2501-405c-bd94-a3680fa6fd48,"da854782-15ef-4d88-8ea7-9606248465ef",aa9309eb-fb31-4749-9353-a29bb8719dff,"version",c61f4dca-9f7c-49a3-80f0-1dd62937a53e,"aad28daf-f05d-42da-9bf6-51e89ff6a46b.0",08a37c6b-41bf-425e-bf5f-0c87132c427e,"e71cb439-e78b-48d4-90ca-3055c334364b",ec673ce1-ceb3-42f2-8738-59b34ad88d4a,"eaaa971d-cd10-4a58-ac2c-453a08f3e31c.0",96b530b2-58f9-4941-8a9c-f4cd7340b12b,"5bea2e8a-f556-4c03-8234-4590f8041b1d.0",b70bb3f0-1c4a-4c2b-82b9-e648c179b62a} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/v8unpack.txt" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/v8unpack.txt" new file mode 100644 index 00000000..4dfae103 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/v8unpack.txt" @@ -0,0 +1,16675 @@ +{1, +{#base64:TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5v +dCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAABQRQAATAEIAAAAAAAAAAAA +AAAAAOAADwMLAQIYAJoIAAAyDAAADgAAcBUAAAAQAAAAsAgAAABAAAAQAAAAAgAA +BAAAAAEAAAAEAAAAAAAAAACQDAAABAAAWhwNAAMAAAAAACAAABAAAAAAEAAAEAAA +AAAAABAAAAAAAAAAAAAAAABgDAAEDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAwAGAAAAAAAAAAAAAAA +AAAAAAAAAABsYgwAHAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAA +gJgIAAAQAAAAmggAAAQAAAAAAAAAAAAAAAAAAGAAUGAuZGF0YQAAAPxiAAAAsAgA +AGQAAACeCAAAAAAAAAAAAAAAAABAAGDALnJkYXRhAADExgAAACAJAADIAAAAAgkA +AAAAAAAAAAAAAAAAQABgQC5laF9mcmFt4FcCAADwCQAAWAIAAMoJAAAAAAAAAAAA +AAAAAEAAMEAuYnNzAAAAAEAMAAAAUAwAAAAAAAAAAAAAAAAAAAAAAAAAAACAAGDA +LmlkYXRhAAAEDgAAAGAMAAAQAAAAIgwAAAAAAAAAAAAAAAAAQAAwwC5DUlQAAAAA +GAAAAABwDAAAAgAAADIMAAAAAAAAAAAAAAAAAEAAMMAudGxzAAAAACAAAAAAgAwA +AAIAAAA0DAAAAAAAAAAAAAAAAABAADDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +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 +////x4Xs/v//DKJJAMeF8P7//wAAAADHhWD///+w2UkA6FqZBwCLheT9//+NWPSB ++2AMSQAPhSUBAACNZfSJ8FteX13Dvsz////p8P7//5CJRCQMjbXs/f//jQRKiXQk +CIlEJASJFCTo80oCAIu17P3//+lY/P//iUQkDAHRjYXk/f//iUQkCIlMJASJFCTo +XEgCAOnS+///jbQmAAAAAIlEJAyNhfD9//+JRCQIjQRKiUQkBIkUJOijSgIAi7Xw +/f//6YD9//+JRCQMAdGNhej9//+JRCQIiUwkBIkUJOgMSAIA6eX8//+NtCYAAAAA +A0j0i0EUg8gEiQQk6D+mBwDpcPz//wNI9ItBFIPIBIkEJOgppgcA6cj9//+NdCYA +vs3////pjv7//4M9AFFMAAAPhcEAAACLUPyNSv+JSPyJ0IXAD49u/v//jYXw/f// +ifmJBCTo1oMFAFDpWP7//4M9AFFMAAAPhZgAAACLUPyNSv+JSPyJ0IXAD4+7/v// +jYXw/f//idmJBCTooIMFAFDppf7//4M9AFFMAAB1dotQ/I1K/4lI/InQhcAPj9z7 +//+NhfT9//+J8YkEJOge9AUAUOnG+///gz0AUUwAAHVRi1D8jXL/iXD8idCFwA+P +GP3//4217P3//4k0JOju8wUAUekE/f//g+gE6E4dCADpPf///4PoBOhBHQgAjXYA +6WP///+D6AToMR0IAI12AOuIg+gEiY3U/f//6B4dCACLjdT9///rpMeF9P3//4yi +SQCJw8eFZP7//6CiSQCLhfD9//+Ntez9//+JNCSNSPTom/MFAFKNjWT+///HhWT+ +//+w2UkA6AWXBwCLhej9//+JNCSNSPToxIIFAFCNjez+///omJ4DAIuF5P3//41I +9I2F4P3//4kEJOihggUAUIkcJOhIFQMAicPrkonDi4Xo/f//jUj0jYXi/f//iQQk +6HuCBQBX67WJxonZ6M9TBgCJ8MeF7P7//wyiSQCJw8eFYP///yCiSQDHhfD+//8A +AAAAi4Xs/f//jUj0jYX0/f//iQQk6ObyBQBQjY1g////x4Vg////sNlJAOhQlgcA +6WP////rrInDjbQmAAAAAOvBjY30/f//icONtez9///oG58DAOkh////icONtez9 +///p//7//4nDjY0U/v//x4X4/f//6NBJAI217P3//+gMbgcAjY1k/v//x4X0/f// +jKJJAMeFZP7//7DZSQDo3ZUHAOnT/v//icONtez9///pxv7//42NHP///4nD6B41 +BgCNjRD////HhfT+///o0EkA6LltBwCNjWD////Hhez+//8MokkAx4Xw/v//AAAA +AMeFYP///7DZSQDogJUHAOmT/v//jY0g/v//icPozjQGAOlS////icPrp4nDjXYA +6XP+//+Jw4uF7P3//41I9I2F4f3//4kEJOjC8QUAUOnX/v//icOLhfD9//+NSPSN +heP9//+JBCToo/EFAFaNtez9///p/f3//4nDifnoPlIGAInY6b/9//+Jw+mb/v// +icOLheT9//+NSPSNhez+///pEf7//412AI28JwAAAABVuFyAAACJ5VdWU+jw5gIA +KcSNnbB////HRCQMOAAAAMdEJAiAIEkAx0QkBPH///+JHCTHhdB///8AAAAAx4XU +f///AAAAAMeF2H///wAAAADHhbR///8AAAAAx4Wwf///AAAAAOiGAAEAhcCJxw+F +lQAAAI216H///4tNCMdEJAQAQAAAiTQk6NO1BQCLVQiLCotABIPsCImFtH///4tJ +9PZEChQBD4XEAAAAhcAPhMsAAACJtbB///+Nhei////HRCQEAAAAAIkcJMeFwH// +/wBAAACJhbx////osAMBAIP4/onHD4StAAAAg/j8fCGD+P1+CoP4AnUXv/3///+J +HCToqSgBAIn4jWX0W15fXcO4AEAAAItNDCuFwH///4lEJASNhei///+JBCToj9QF +AItFDItVDIsAg+wIi0D09kQCFAF1KouFwH///4XAD4Rm////g/8BD4Ud////iRwk +6EsoAQAxwOugjbQmAAAAAIkcJOg4KAEAuP/////riokcJOgpKAEAMcCD/wEPlMCN +RED96XH////HRCQI3QAAAMdEJASGIEkAxwQklSBJAOh0jwMAjbYAAAAAjb8AAAAA +VYnlV1ZTgew8AgAAx4Xk/f//bAxJAOhVCgIAi1UIixKLSvSFyQ+FHQQAAI2NYP// +/+hakgcAx4Vg////sNlJAMdF0AAAAADGRdQAxkXVAMdF2AAAAADHRdwAAAAAx0Xg +AAAAAMdF5AAAAADoAAoCAIuV5P3//758DEkAx4Xs/f//fAxJAItK9IXJD4WQAwAA +xwQkAAAAAI2NYP///8eF7P7//wyiSQDHhWD///8gokkAx4Xw/v//AAAAAOjQnwcA +jZ30/v//g+wEidnHhez+//9MokkAx4Vg////YKJJAOjMTAYAi4Xs/v//jY3s/v// +A0j0iRwk6JWfBwCD7ASJ2cdEJAQMAAAAiTQk6FA5BgCD7AiFwIuF7P7//42N7P7/ +/w+EmQMAAANI9McEJAAAAADoqp8HAIuF7P3//4PsBI1w9IH+cAxJAA+FGAQAAPaF +dP///wXHhez+//+MxkkAx4Vg////oMZJAA+FgQMAAMeF6P3//2wMSQDo8ggCAItV +DIsSi0r0hckPhQoDAACNjWT+///o95AHAMeFZP7//7DZSQDHhdT+//8AAAAAxoXY +/v//AMaF2f7//wDHhdz+//8AAAAAx4Xg/v//AAAAAMeF5P7//wAAAADHhej+//8A +AAAA6IgIAgCLlej9//+/fAxJAMeF8P3//3wMSQCLSvSFyQ+FaAIAAMcEJAAAAACN +jWT+///HhfT9//+MokkAx4Vk/v//oKJJAOhingcAjbX4/f//g+wEifHHhfT9///M +okkAx4Vk/v//4KJJAOheSwYAi4X0/f//jY30/f//A0j0iTQk6CeeBwCD7ASJ8cdE +JAQUAAAAiTwk6OI3BgCD7AiFwIuF9P3//42N9P3//w+EQQIAAANI9McEJAAAAADo +PJ4HAIuF8P3//4PsBI1I9IH5cAxJAA+F3AIAAPaFeP7//wXHhfT9///MxkkAx4Vk +/v//4MZJAA+FMwEAAI2F9P3//4lEJASNhez+//+JBCToS/v//4P4/b+3////dAqD ++AEZ//fXg+e6ifHHhfT9///MokkAx4Vk/v//4KJJAMeF+P3//+jMSQDogjgGAI2N +IP7//+hHLwYAjY0U/v//x4X4/f//6NBJAOjiZwcAjY1k/v//x4X0/f//jKJJAMeF +ZP7//7DZSQDos48HAIuF6P3//41w9IH+YAxJAA+FeAEAAInZx4Xs/v//TKJJAMeF +YP///2CiSQDHhfT+///ozEkA6Ak4BgCNjRz////ozi4GAI2NEP///8eF9P7//+jQ +SQDoaWcHAI2NYP///8eF7P7//wyiSQDHhfD+//8AAAAAx4Vg////sNlJAOgwjwcA +i4Xk/f//jVj0gftgDEkAD4UrAQAAjWX0ifhbXl9dw5C/uP///+nv/v//jbYAAAAA +iUQkDI297P3//40ESol8JAiJRCQEiRQk6MNAAgCLtez9///pSPz//4lEJAwB0Y2F +5P3//4lEJAiJTCQEiRQk6Cw+AgDpwvv//420JgAAAACJRCQMjYXw/f//iUQkCI0E +SolEJASJFCToc0ACAIu98P3//+lw/f//iUQkDAHRjYXo/f//iUQkCIlMJASJFCTo +3D0CAOnV/P//jbQmAAAAAANI9ItBFIPIBIkEJOgPnAcA6WD8//8DSPSLQRSDyASJ +BCTo+ZsHAOm4/f//jXQmAL+5////6Yj+//+DPQBRTAAAD4XBAAAAi1D8jUr/iUj8 +idCFwA+PaP7//42F8P3//4nxiQQk6KZ5BQBR6VL+//+DPQBRTAAAD4WYAAAAi1D8 +jUr/iUj8idCFwA+Ptf7//42F8P3//4nZiQQk6HB5BQBS6Z/+//+DPQBRTAAAdXaL +UPyNSv+JSPyJ0IXAD4/M+///jYX0/f//ifGJBCTo7ukFAFDptvv//4M9AFFMAAB1 +UYtQ/I16/4l4/InQhcAPjwj9//+Nvez9//+JPCTovukFAFfp9Pz//4PoBOgeEwgA +6T3///+D6AToERMIAI12AOlj////g+gE6AETCACNdgDriIPoBImN1P3//+juEggA +i43U/f//66THhfT9//+MokkAicPHhWT+//+gokkAi4Xw/f//jb3s/f//iTwkjUj0 +6GvpBQBWjY1k/v//x4Vk/v//sNlJAOjVjAcAi4Xo/f//iTwkjUj06JR4BQBQjY3s +/v//6GiUAwCLheT9//+NSPSNheD9//+JBCTocXgFAFCJHCToGAsDAInD65KJw4uF +6P3//41I9I2F4v3//4kEJOhLeAUAUOu1icaJ2eifSQYAifDHhez+//8MokkAicPH +hWD///8gokkAx4Xw/v//AAAAAIuF7P3//41I9I2F9P3//4kEJOi26AUAUI2NYP// +/8eFYP///7DZSQDoIIwHAOlj////66yJw420JgAAAADrwY2N9P3//4nDjb3s/f// +6OuUAwDpIf///4nDjb3s/f//6f/+//+Jw42NFP7//8eF+P3//+jQSQCNvez9///o +3GMHAI2NZP7//8eF9P3//4yiSQDHhWT+//+w2UkA6K2LBwDp0/7//4nDjb3s/f// +6cb+//+NjRz///+Jw+juKgYAjY0Q////x4X0/v//6NBJAOiJYwcAjY1g////x4Xs +/v//DKJJAMeF8P7//wAAAADHhWD///+w2UkA6FCLBwDpk/7//42NIP7//4nD6J4q +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 +BMeF1Oz//wAAAACJBCToLdT//42F8O3//4lEJAyLhdDs///Hhfjs//8AAAAAx4Xw +7f//AAAAAIlEJAiNhfjs//+JRCQEi4XU7P//iQQk6F3O//+FwInGD4UlAQAAi4XU +7P//hcB0CIkEJOihzgcAi4XQ7P//i7347P//iUQkBIk8JOgJ2P//hMAPhCkBAACL +hfDt//+Nnejv///HRCQMAAAAAInZx0QkCAAAAACJPCSJRCQEx4Xo7///qMRJAMeF +/O///wAAAADHhQDw//8AAAAAx4UE8P//AAAAAMeFCPD//wAAAADHhQzw//8AAAAA +x4UQ8P//AAAAAMaFFPD//wHoavL//4PsEOiizwEAi30Qx4Xs7v//fAxJAIsXjb3s +7v//ib2E7P//i0r0hckPhdAHAACLhYTs//+J2YkEJOjc2P//i5Xs7v//g+wEjXr0 +gf9wDEkAD4XmEgAAidnordD//4nZ6Ia3//+Lhfjs//+JBCToaFQDAI1l9InwW15f +XcOLvdTs//+LhdDs///HhdTs//8AAAAAiTwkiUQkBIm9+Oz//4mF8O3//+jg1v// +hMAPhdf+//+NhVjw//+JwYmFfOz//+gFVwcAx4VY8P//sNlJAMeFyPD//wAAAADG +hczw//8AxoXN8P//AMeF0PD//wAAAADHhdTw//8AAAAAx4XY8P//AAAAAMeF3PD/ +/wAAAADols4BAIt9EMeF7O7//3wMSQCLF798DEkAi0r0hckPhTcHAACLjXzs///H +BCQAAAAAx4Xo7///jKJJAMeFWPD//6CiSQDocWQHAI2F7O///4PsBInBx4Xo7/// +zKJJAMeFWPD//+CiSQCJhYDs///oZxEGAIuF6O///42d6O///4tI9IuFgOz//wHZ +iQQk6ChkBwCLjYDs//+D7ATHRCQEFAAAAIk8JOjf/QUAg+wIhcCLhejv//+J2Q+E +zgcAAANI9McEJAAAAADoPWQHAIuV7O7//4PsBI169IH/cAxJAA+FphMAAIuF8O3/ +/4nZx4Xo7///zMZJAMeFWPD//+DGSQCJRCQEi4X47P//iQQk6BeXBQCLjYDs//+D +7AjHhejv///MokkAx4VY8P//4KJJAMeF7O///+jMSQDom/4FAI2NFPD//+hg9QUA +jY0I8P//x4Xs7///6NBJAOj7LQcAi4187P//x4Xo7///jKJJAMeFWPD//7DZSQDo +zFUHAOnR/f//jbQmAAAAAI2FWPD//4nGicGJhXzs///oG1UHAInxxwQkAAAAAMeF +yPD//wAAAADGhczw//8AxoXN8P//AMeF0PD//wAAAADHhdTw//8AAAAAx4XY8P// +AAAAAMeF3PD//wAAAADHhejv//+MokkAx4VY8P//oKJJAOi5YgcAjYXs7///g+wE +icGJxseF6O///8yiSQDHhVjw///gokkAiYWA7P//6K0PBgCLhejv//+Nnejv//+L +SPSJNCQB2eh0YgcAg+wEx4Xo7///zMZJAMeFWPD//+DGSQDoOMwBAIuVoOz//7l8 +DEkAx4Xs7v//fAxJAIty9IX2D4WIBAAAiQwki42A7P//x0QkBBQAAADo8vsFAIPs +CIXAi4Xo7///idkPhJQGAAADSPTHBCQAAAAA6FBiBwCLlezu//+D7ASNcvSB/nAM +SQAPhQ8QAACNhfjs//+JRCQMi0UIiVwkCIl8JATHhfjs//8AAAAAiQQk6NHQ//+L +jYDs///o1vwFAIXAD4QkBQAAjYW47P//jbWg7P//icGJNCSJhXTs///o8kgFAIuN +gOz//4PsBMeF6O///8yiSQDHhVjw///gokkAx4Xs7///6MxJAOiG/AUAjY0U8P// +6EvzBQCNjQjw///Hhezv///o0EkA6OYrBwCLjXzs///Hhejv//+MokkAx4VY8P// +sNlJAOi3UwcAMfboAMsBAIuVuOz//7l8DEkAx4Xo7///fAxJAIt69IX/D4U4BAAA +iQwkjY347f//x0QkBAwAAADouvoFAIPsCIXAi4Xw7f//jY3w7f//D4QzBAAAA0j0 +xwQkAAAAAOgUYQcAi5Xo7///g+wEjVr0gftwDEkAD4WwDAAAjYXw7f//iQQk6B7R +//+EwA+EtgEAAMeF6O///6jESQCNnejv///Hhfzv//8AAAAAx4UA8P//AAAAAMeF +BPD//wAAAADHhQjw//8AAAAAx4UM8P//AAAAAMeFEPD//wAAAADGhRTw//8B6B7K +AQCLfRDHhbzs//98DEkAixeNvbzs//+LSvSFyQ+FDgMAAIuFeOz//42d6O///8dE +JBAAAAAAidnHRCQMAAAAAIk8JIlEJAiNhfDt//+JRCQE6AoQAACLlbzs//+D7BSN +evSB/3AMSQAPhTwKAACNjfjt///o5/oFAIXAD4S3AwAAidno+Mr//4uFdOz//8dE +JAQAAAAAiQQk6MKZAQCJ2ei7sf//i5W47P//jXr0gf9gDEkAD4UqDwAAi5Ws7P// +jXr0gf9gDEkAD4XtCgAAi5Wg7P//jXr0gf9gDEkAD4X4BQAAjY347f//x4Xw7f// +TKJJAMeFZO7//2CiSQDHhfjt///ozEkA6FP6BQCNjSDu///oGPEFAI2NFO7//8eF ++O3//+jQSQDosykHAI2NZO7//8eF8O3//wyiSQDHhfTt//8AAAAAx4Vk7v//sNlJ +AOh6UQcAjWX0ifBbXl9dw42N+O3//+j1+QUAhcAPhLUCAADHhejv//8AAAAA6G4g +AgCJhezv//+LRRCNnejv//+JXCQIiUQkBIuFdOz//4kEJOipRAEA6fn+//+NdCYA +jY207P//AdCJXCQMiUwkCIlEJASJFCTodAACAIuVyOz//+k18v//jY2o7P//AdCJ +XCQMiUwkCIlEJASJFCToTQACAIuVwOz//+kw8f//ZpCLjYTs///HRCQIAAAAAMcE +JAAAAADHRCQEAAAAAOhOdQUAg+wMjZ3o7///6xCNdgD2hXTv//8FD4Xn9f//i42E +7P//x0QkBAAQAACJHCTo/XEFAItABIPsCIXAdNOJRCQEjY347P//iRwk6EGRBQCD +7AjrvIlEJAyNBEqJfCQIiUQkBIkUJOglAgIA6RT4//+JRCQMi4WE7P//iRQkiUQk +CI0EcolEJAToAwICAIuN7O7//+lQ+///iUQkDI2F1Oz//4lEJAiNBEqJRCQEiRQk +6NsBAgCLndTs///pUPT//4lEJAyNhezu//+JRCQIjQRKiUQkBIkUJOizAQIAi73s +7v//6aH4//+JRCQMjYXM7P//iUQkCI0EWolEJASJFCToiwECAIuNzOz//+l58v// +iUQkDI0ESol8JAiJRCQEiRQk6GkBAgDp1vz//410JgCJRCQMjYXQ7P//iUQkCI0E +WolEJASJFCToQwECAIuN0Oz//+nq8v//iUQkDI2d6O///40EeolcJAiJRCQEiRQk +6BsBAgCLjejv///poPv//wNI9ItBFIPIBIkEJOjfXAcA6cb7//+Lhejv//+LSPQB +2YtBFIPIBIkEJOjBXAcAg+wE6bv6//+Lhfjs//+Njfjs//8DSPSLQRSDyASJBCTo +nFwHAIPsBOlg9P//A0j0i0EUg8gEiQQk6INcBwDpxPP//wNI9ItBFIPIBIkEJOht +XAcA6Sv4//+NjfDt///oDa7//+k7/f//jY3w7f//6P2t///pOfz//wNI9ItBFIPI +BIkEJOg3XAcA6Yfx//+Lhfjs//+Njfjs//8DSPSLQRSDyASJBCToFVwHAIPsBOm6 +8f//A0j0i0EUg8gEiQQk6PxbBwDpBfL//420JgAAAACLhezu//+LjYTs//8DSPSL +QRSDyASJBCTo01sHAIPsBOlu8///A0j0i0EUg8gEiQQk6LpbBwDpZfn//4nDi4Xo +7///jUj0jYWe7P//iQQk6FyqBQBWi4W47P//jUj0jYX47P//iQQk6JQ5BQBQi4Ws +7P//jUj0jYX47P//iQQk6Hw5BQBQi4Wg7P//jUj0jYXE7P//iQQk6GQ5BQBQjY3w +7f//6DhVAwCJHCToAMwCAInDi4XM7P//jUj0jYWX7P//iQQk6OepBQBQjY347P// +6EtWAwDpe////4nDi4Xs7v//jUj0jYXM7P//iQQk6L2pBQBWi4187P//x4VY8P// +sNlJAOgnTQcAiRwk6J/LAgCJw4uF1Oz//41I9I2Fmuz//4kEJOiGqQUAUI2NYO// +/8eFYO///7DZSQDo8EwHAOuIicaLhezu//+NSPSNhZzs//+JBCToVakFAFCJ2Ynz +6LtVAwDp6/7//4nDi4XQ7P//jUj0jYWZ7P//iQQk6C2pBQBR6UH///+JxouFvOz/ +/42d6O///41I9I2Fn+z//4kEJOgIqQUAUInZifPoDqz//+me/v//i42A7P//icPo +nAkGAInYx4Xo7///jKJJAInDi4187P//x4VY8P//sNlJAOhJTAcA6Wn+//+NjRzv +//+Jw+iX6wUAjY0Q7///x4X07v//6NBJAOgyJAcAjY1g7///x4Xs7v//DKJJAMeF +8O7//wAAAADHhWDv//+w2UkA6PlLBwDpjv7//4M9AFFMAACNQvx1dItC/I1I/4lK +/IXAD4/r+f//iRwkifnofTcFAFDp2/n//42NIO7//4nD6BrrBQCNjRTu///Hhfjt +///o0EkA6LUjBwCNjWTu///HhfDt//8MokkAx4X07f//AAAAAMeFZO7//7DZSQDo +fEsHAIkcJOj0yQIA6D3RBwDrjonD66+J9o28JwAAAADp8f7//4nGi4Xs7v//jUj0 +jYXM7P//iQQk6MKnBQBXidnoyqr//4k0JOiyyQIAicOLhcDs//+NSPSNhejv//+J +BCTomacFAFCLhajs//+NSPSNhZLs//+JBCTo0TYFAFDpaP3//4nDi4XI7P//jUj0 +jYXo7///iQQk6GKnBQBRi4W07P//jUj0jYWU7P//iQQk6Jo2BQBS6Rn9//+Jw42N +ZO7//8eFZO7//7DZSQDorUoHAIkcJOglyQIAgz0AUUwAAI1C/HVai1r8jUP/iUL8 +idiFwA+PSuz//42d6O///4kcJOgoNgUAUOk27P//gz0AUUwAAI1C/HU6i1r8jUP/ +iUL8idiFwA+PAuz//42d6O///4kcJOj1NQUAUOnu6///iY2A7P//6ALQBwCLjYDs +///rnomNgOz//+jvzwcAi42A7P//676JxouF+Oz//41I9I2Flez//4kEJOjQNQUA +UIuFsOz//42d6O///4kcJI1I9Oi4NQUAUIuFtOz//4kcJInzjUj06KQ1BQBQ6SP8 +//+JxuvLicPp4v7//4M9AFFMAACNQvx1ZIta/I1D/4lC/InYhcAPj33r//+Nnejv +//+JHCToRjUFAFDpaev//4nGjZ3o7///65+DPQBRTAAAjUL8dTqLWvyNQ/+JQvyJ +2IXAD4+y6v//jZ3o7///iRwk6LmlBQBT6Z7q//+JjYDs///oFs8HAIuNgOz//+uU +iY2A7P//6APPBwCLjYDs///rvoM9AFFMAACNQvx1Wota/I1D/4lC/InYhcAPjwnq +//+Nnejv//+JHCTosDQFAFDp9en//4M9AFFMAACNQvx1Oota/I1D/4lC/InYhcAP +j8Hp//+Nnejv//+JHCTofTQFAFDpren//4mNgOz//+iKzgcAi42A7P//656JjYDs +///od84HAIuNgOz//+u+gz0AUUwAAI1C/HUsi1r8jUP/iUL8idiFwA+PU+n//42d +6O///4kcJOgkNAUAUOk/6f//6RP7//+JjYDs///oLM4HAIuNgOz//+vMicaJ2eg9 +UQMAiTQk6MXGAgCJxouFvOz//41I9IuFhOz//4kEJOispAUAUOmf+///gz0AUUwA +AI1C/HVGi0L8jUj/iUr8hcAPj6f1//+LhYTs//+J+YkEJOhZpAUAUOmR9f//icOL +hdTs//+NSPSNhejv//+JBCToWqQFAFDpz/r//+idzQcA67zHhezu//8MokkAicPH +hWDv//8gokkAx4Xw7v//AAAAAOu6icPpn/r//4nG6cn6//+DPQBRTAAAjUL8D4Xg +AAAAi0r8jUH/iUL8iciFwA+PmOz//42d6O///4nxiRwk6MqjBQBQ6YLs//+LjYTs +//+Jw+gHTwMA6ez5///Hhfjs//+MokkAicONjWjt///HhWjt//+w2UkA6DFHBwDp +Ufn//4nDjY387P//6E8EBgCJ2OvJicPprvn//4M9AFFMAACNQvx1bYtC/I1I/4lK +/IXAD4/29P//iRwkifnonTIFAFDp5vT//4uNgOz//4nD6AoEBgCJ2MeF6O///4yi +SQCJw8eFWPD//6CiSQDpafn//4nDifno5AMGAInY6eD+///odswHAOkh////icOQ +6VX////oZMwHAI22AAAAAOuP67SDPQBRTAAAjUL8dWeLSvyNQf+JQvyJyIXAD48x +8///i4WE7P//idmJBCTovaIFAFPpG/P//4nDi4Xo7///jUj0jYWd7P//iQQk6L6i +BQBR6V34//+Jw4uF0Oz//41I9I2FmOz//4kEJOifogUAUOmz+P//6OLLBwCNdCYA +65mJxumA+f//gz0AUUwAAI1C/HV7i0r8jUH/iUL8iciFwA+Pzun//42d6O///4nx +iRwk6DiiBQBS6bjp//+Jw+lt+f//icaLhcTs//+NSPSNhZPs//+JBCTogjEFAFCL +haTs//+Nnejv//+JHCSNSPToajEFAFGLhajs//+JHCSJ841I9OhWMQUAUunt9/// +6EnLBwDriYnG6TH6//+Jw4uFzOz//41I9I2Fluz//4kEJOjZoQUAVunt9///gz0A +UUwAAI1C/HVci0r8jUH/iUL8iciFwA+PYej//42d6O///4nxiRwk6IShBQBQ6Uvo +//+DPQBRTAAAjUL8dTSLQvyNSP+JSvyFwA+P/ez//42FzOz//4n5iQQk6FGhBQBQ +6efs///otMoHAI22AAAAAOui6KfKBwDrzonGi4Xs7v//jUj0jYWb7P//iQQk6D6h +BQBX6eT3///pWPn//4nDkOlv9///icONjQjw///Hhezv///o0EkA6KQcBwCLjXzs +///Hhejv//+MokkAx4VY8P//sNlJAOh1RAcA6ZX2//+Jw+mO9v//gz0AUUwAAI1C +/A+FhAAAAItK/I1B/4lC/InIhcAPj87v//+Nhfjs//+J8YkEJOiWoAUAUOm47/// +jY0U8P//icPog+MFAOl1////jY0U8P//icPoceMFAI2NCPD//8eF7O///+jQSQDo +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 +iUQkDI2F0Pv//4lEJAiNBEqJRCQEiRQk6GPgAQCLndD7///p4vz//4lEJAwB0Y2F +uPv//4lEJAiJTCQEiRQk6MzdAQDpR/z//420JgAAAACJ8egZnwMAiwaJ8ccEJAoA +AAD/UBiD7ATpTf///412AMdEJAgiAAAAx0QkBHAiSQDHBCRgDkkA6NRVBwChYA5J +AItA9IuY3A5JAIXbD4V5/f//6KlcBwCJ+eiC1gUAhcAPhJMKAACLtZz7//+LjaT7 +///HRCQMAAAAAMdEJAgAAAAAiVwkBIk0JOjSx///g+wQicOJNCTodaMHAIP7zQ+E +rAkAAMeFvPv//2wMSQDo7aQBAIt1DI2dvPv//4sWi0r0hckPhRMDAADHRCQEAAAA +AIkcJOjHRQEAi5W8+///D7bwjVr0gftgDEkAD4VuDAAAhfYPhR8DAACLRQyNjcD7 +//+JBCToJqAFAIPsBMdEJAQLAAAAjY3A+///xwQkuyJJAOjJjQUAg+wIx4XE+/// +bAxJAOhnpAEAi5XA+///i0r0hckPha0CAACNjWT8///oaywHAMeFZPz//7DZSQDH +hdT8//8AAAAAxoXY/P//AMaF2fz//wDHhdz8//8AAAAAx4Xg/P//AAAAAMeF5Pz/ +/wAAAADHhej8//8AAAAA6PyjAQCLlcT7//+7fAxJAMeF1Pv//3wMSQCLSvSFyQ+F +8AgAAMcEJAAAAACNjWT8///HhfT7//+MokkAx4Vk/P//oKJJAOjWOQcAg+wEjY34 ++///x4X0+///zKJJAMeFZPz//+CiSQDo1OYFAIuF9Pv//42N9Pv//wNI9I2F+Pv/ +/4kEJOiXOQcAg+wEx0QkBBQAAACNjfj7//+JHCToTtMFAIPsCIXAi4X0+///jY30 ++///D4Q5CgAAA0j0xwQkAAAAAOioOQcAi5XU+///g+wEjVr0gftwDEkAD4VRDQAA +i5XE+///x4X0+///zMZJAMeFZPz//+DGSQCNWvSB+2AMSQAPhfMMAAD2hXj8//8F +D4TUAQAAx0QkCCcAAADHRCQEyCJJAMcEJGAOSQDoPlMHAKFgDkkAi0D0i5jcDkkA +hdsPhCEOAACAexwAD4SCCAAAD7ZDJw++wLlgDkkAiQQk6DpnBQCD7ASJwehwaAUA +ifONjfj7///HhfT7///MokkAx4Vk/P//4KJJAMeF+Pv//+jMSQDopdMFAI2NIPz/ +/+hqygUAjY0U/P//x4X4+///6NBJAOgFAwcAjY1k/P//x4X0+///jKJJAMeFZPz/ +/7DZSQDo1ioHAIuVwPv//41y9IH+cAxJAA+Eafr//4M9AFFMAACNQvwPheoMAACL +QvyNSP+JSvyFwA+PSPr//42F4Pv//4nxiQQk6PCGBQBQ6TL6//8DSPSLQRSDyASJ +BCToOTgHAOmE+f//AdGJRCQMiVwkCIlMJASJFCToztkBAOnS/P//iUQkDAHRjYXE ++///iUQkCIlMJASJFCTordkBAOky/f//6KsmAwCDOAIPhdP8///HRCQILAAAAMdE +JAQAI0kAxwQkYA5JAOjOUQcAoWAOSQCLQPSLmNwOSQCF2w+EhwwAAIB7HAAPhHoG +AAAPtkMnD77AuWAOSQCJBCToymUFAIPsBInB6ABnBQC7AQAAAOlu+f//i7Wk+/// +jY30+///x0QkBBAAAACJ8IPABIkEJOiFagUAg+wIjY30+///6Od0BgCLTiS6H4Xr +UYteIInIKdjB+AJpwPHw8PD34omVlPv//8GtlPv//wSLhZT7//+FwA+VwInGiIWi ++///D7aFmPv//4nyINCIhaH7//8PhaQGAAA52Q+EDAYAAIuFlPv//8eFnPv//wAA +AACNBIABwImFmPv//412AItDBI1w7DHAg+b+dByNdgCLEw+2TAIUicKDwALR6jnw +iIwV6P3//3Lni0UQhcB0HY2F6P3//4lEJASLRRCJBCTocyUDAIXAD4UWAwAAi0UM +jY3A+///iQQk6AKOBQCD7ATHRCQEAQAAAI2NwPv//8cEJBYhSQDoRYkFAIPsCI2V +6P3//4sKg8IEjYH//v7+99EhyCWAgICAdOqJwcHpEKmAgAAAD0TBjUoCD0TRAMCD +2gONhej9//8pwolUJASNjcD7//+JBCTo9IgFAIPsCMdEJAQHAAAAjY3A+///xwQk +8CJJAOjXiAUAg+wIx4XI+///bAxJAOh1nwEAi5XA+///i0r0hckPhRQDAADoX58B +AIuVyPv//7l8DEkAx4XY+///fAxJAIty9IX2D4XDAgAAiQwkjY34+///x0QkBBQA +AADoGc8FAIPsCIXAi4X0+///jY30+///D4RMAwAAA0j0xwQkAAAAAOhzNQcAi5XY ++///g+wEjXL0gf5wDEkAD4WTCgAAi5XI+///jXL0gf5gDEkAD4VJCgAA9oV4/P// +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 +9IuFpPv//4kEJOghDAUAUIuFwPv//41I9I2F4Pv//4kEJOi5fAUAUOkN////icPr +34nDjY30+///6BIpAwDr0InDi4XY+///jUj0jYWz+///iQQk6Id8BQBRi4XI+/// +jUj0jYXg+///iQQk6L8LBQBQ67+Jw4uF3Pv//41I9I2Ftvv//4kEJOhTfAUAUIuF +zPv//+vKgz0AUUwAAI1C/HVei0r8jUH/iUL8iciFwA+PrPn//42F4Pv//4nxiQQk +6EsLBQBQ6Zb5//+DPQBRTAAAjUL8dTCLSvyNQf+JQvyJyIXAD49i+f//jYXg+/// +ifGJBCToxnsFAFDpTPn//+gppQcA66boIqUHAI10JgDr0MeF9Pv//4yiSQCJw8eF +ZPz//6CiSQCLhdT7//+NSPSNhej9//+JBCSJhaT7///om3sFAIuFpPv//1LpjP7/ +/4nD69OJw4uFzPv//41I9I2Ftfv//4kEJOjCCgUAUOm//v//icOLhdz7//+NSPSN +hbf7//+JBCToU3sFAFDp+/7//+h4TQcAicONjfj7///o69sFAInY6Wb///+DPQBR +TAAAjUL8dV6LSvyNQf+JQvyJyIXAD4/u8v//jYXo/f//idmJBCToNQoFAFDp2PL/ +/4M9AFFMAACNQvx1NYtK/I1B/4lC/InIhcAPj5Dy//+Nhej9//+J2YkEJOiwegUA +Uel68v//6BOkBwCQjXQmAOuh6AekBwDrz4nDkI10JgDpWf7//4nD6R7+//+Jw4uF +yPv//41I9I2Fsvv//4kEJOjbCQUAUOnY/f//icOLhdj7//+NSPSNhbT7//+JBCTo +bHoFAFfp4P3//4nDi4XE+///jUj0jYWw+///iQQk6J0JBQBX6Xf9///okKMHAGaQ +6RPz//+Jw42NFPz//8eF+Pv//+jQSQDotPUGAI2NZPz//8eF9Pv//4yiSQDHhWT8 +//+w2UkA6IUdBwDpMP3//42NIPz//4nD6NO8BQDruOgcTAcAicOLhdT7//+NSPSN +hbH7//+JBCTo03kFAI2F6P3//1bpxPz//+jySwcA6O1LBwCDPQBRTAAAjUL8dV6L +SvyNQf+JQvyJyIXAD4+Y9f//jYXg+///ifGJBCTovggFAFLpgvX//4M9AFFMAACN +Qvx1MItK/I1B/4lC/InIhcAPj071//+NheD7//+J8YkEJOg5eQUAVuk49f//6Jyi +BwDrpuiVogcAjbQmAAAAAOvNicOLhbj7//+NSPSNhej9///pnPv//4nDifnoz9kF +AInYx4Xs/P//DKJJAInDx4Vg/f//IKJJAMeF8Pz//wAAAACLhdD7//+NSPSNhej9 +//+JBCTo5ngFAFCNjWD9///HhWD9//+w2UkA6FAcBwDpMPv//+usicONtCYAAAAA +68Ho6UoHAInD69CJw412AOkF+///jY0c/f//icPofrsFAI2NEP3//8eF9Pz//+jQ +SQDoGfQGAI2NYP3//8eF7Pz//wyiSQDHhfD8//8AAAAAx4Vg/f//sNlJAOjgGwcA +6cD6//+Jw4uF0Pv//41I9I2Frvv//4kEJOhCeAUAUOlX////6GdKBwCJw5CNdCYA +65CJw+mM+v//g+gE6G2hBwDpCvr//412AI28JwAAAABVieVXVlOJy4HsjAIAAImN +gP3//42NZP7//+jhGgcAjY1k/v//xwQkAAAAAMeF1P7//wAAAADGhdj+//8AxoXZ +/v//AMeF3P7//wAAAADHheD+//8AAAAAx4Xk/v//AAAAAMeF6P7//wAAAADHhfD9 +//8MokkAx4Vk/v//IKJJAMeF9P3//wAAAADocSgHAIPsBI2N+P3//8eF8P3//0yi +SQDHhWT+//9gokkA6G/VBQCLhfD9//+NjfD9//8DSPSNhfj9//+JBCToMigHAIt7 +IIPsBItzJMdDBP///3/HQwgAAgAAx0MMAAAAADn3x0MQAAAAAIn7x4Xw/f//jMZJ +AMeFZP7//6DGSQB0Eo12AI1LEOgIev//g8NEOd518YuFgP3//8eFrP3//2wMSQCJ +eCToqZEBAItdCIsTi0r0hckPhYAHAADHBCQYAAAA6E2QBwDHAGwMSQCJw8dABAAA +AADHQAj//wAAx0AMAAAAAMdAEP//AADHQBQAAAAAxwQkEAAAAImFpP3//8eFqP3/ +/wAAAADoBpAHAIlYDIudqP3//8dABAEAAADHAGjHSQDHQAgBAAAAhduJhaj9//90 +E7j/////8A/BQwSD+AEPhDoHAACNhaz9//+JRCQEjYWk/f//x0QkCAAAAACJBCTo +XEkBAIuVrP3//41a9IH7YAxJAA+F+wgAAIuFpP3//42dkP3//4XAD4RWBAAAjXYA +iQQkidmJnXz9///oUBwFAIPsBIkcJI2NlP3//+jvigEAg+wE6JeQAQCLlZT9//++ +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 +/4PsBOki+f//jbQmAAAAAMcEJC0jSQDohEYHAKEAUUwAhcAPhb0EAACLTvyNQf+J +RvyJyIXAD4/a+P//jYXs/v//ifmJBCSJlYT9///oLm4FAIuVhP3//4PsBOm2+P// +icONhez+//+NTvSJBCSJhYT9///oJ24FAIPsBIuFlP3//41I9IuFhP3//4kEJOhd +/QQAg+wEi4WQ/f//jUj0jYWM/f//iQQk6EP9BACD7ASLjaj9//+FyXQF6CEiAwCN +jfD9///oBhkDAIuFfP3//7lwDEkAiQQk6MNtBQCD7ASJHCTouI8CAIPoBImVhP3/ +/+j4lgcAi5WE/f//6dz+//+Jw4uNqP3//4XJdAXoziEDAIuFrP3//41I9I2F7P7/ +/4kEJOjH/AQAjYWQ/f//iYV8/f//g+wE64WLjaj9//+Jw4XJdMzolSEDAOvFiQQk +6FuJBwCJHCTo0yADAOhejwcAicPrrInD6Sn///+Jw5DpO////4nDjYXs/v//iYWE +/f//6fT+//+Jw+gRiwcA6W////+LDQBRTACNQvyFyXU/i0L8jUj/iUr8hcAPj+f2 +//+Nhez+//+J2YkEJOgO/AQAg+wE6c/2//+Jw4uFrP3//41I9I2FnP3//+lB//// +6AmWBwDrw4nDjYWQ/f//iYV8/f//6cX+//+Jw42N+P3//+hJzQUAidjHhfD9//8M +okkAicPHhfT9//8AAAAAjY1k/v//x4Vk/v//sNlJAOjsDwcAjYWQ/f//iYV8/f// +6YX+///rwonD69SJw42FkP3//4mFfP3//+ls/v//icONjRT+///Hhfj9///o0EkA +6LvnBgCNjWT+///HhfD9//8MokkAx4X0/f//AAAAAMeFZP7//7DZSQDogg8HAI2F +kP3//4mFfP3//+kb/v//jY0g/v//icPoxK4FAOuiiw0AUUwAjUL8hckPhaAAAACL +SvyNQf+JQvyJyIXAD4/h+f//i4WE/f//ifmJBCTojmsFAIPsBOnJ+f//icOLhZz9 +//+NSPSNhY79//+JBCTojWsFAIPsBIuF7P7//421vP3//41I9I2FoP3//4kEJOi9 ++gQAg+wEifHoc27//+lU/f//icOLhZj9//+NSPSNhY39//+JBCToRWsFAI2F7P7/ +/4mFhP3//4PsBOkN/f//6HqUBwDpYf///4s9AFFMAI1C/IX/dWeLSvyNQf+JQvyJ +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 +JMeF3P3//wAAAADHheD9//8AAAAAx4Xk/f//AAAAAMeF6P3//wAAAADGhez9//8B +xoXw/f//AImFtP3//+h+eQcAi5W0/f//x0QkBAAAAACJBCSJhbD9//+JVCQI6B4A +AwCLnZz9//8xwItz9AH2dCSJwtHqD7YME4uVsP3//4hMAhSLlbD9///GRAIVAIPA +AjnwctyNhZj9///HRCQEAAAAAI2dwP3//4kEJOivEAEAg/gDD4QXBgAAjYWY/f// +x0QkBAAAAACNncD9//+JBCTGhfD9//8A6FM6AQCJBCSJhbz9///o1XgHAImFuP3/ +/8eFoP3//2wMSQDoMHoBAIt1CIsWi0r0hckPhaAFAADoG3oBAInGi4Wc/f//i0D0 +hcAPhTgFAACNjWD////oHQIHAMeFYP///7DZSQDHRdAAAAAAxkXUAMZF1QDHRdgA +AAAAx0XcAAAAAMdF4AAAAADHReQAAAAA6MN5AQCLlaD9//++fAxJAMeFpP3//3wM +SQCLSvSFyQ+FqwQAAMcEJAAAAACNjWD////Hhez+//8MokkAx4Vg////IKJJAMeF +8P7//wAAAADokw8HAI2d9P7//4PsBInZx4Xs/v//TKJJAMeFYP///2CiSQDoj7wF +AIuF7P7//42N7P7//wNI9IkcJOhYDwcAg+wEidnHRCQEDAAAAIk0JOgTqQUAg+wI +hcCLhez+//+Njez+//8PhPcFAAADSPTHBCQAAAAA6G0PBwCLlaT9//+D7ASNcvSB +/nAMSQAPhcwMAACLhbz9//+Njez+///Hhez+//+MxkkAx4Vg////oMZJAIlEJASL +hbj9//+JBCTo4yIFAIPsCInZx4Xs/v//TKJJAMeFYP///2CiSQDHhfT+///ozEkA +6MupBQCNjRz////okKAFAI2NEP///8eF9P7//+jQSQDoK9kGAI2NYP///8eF7P7/ +/wyiSQDHhfD+//8AAAAAx4Vg////sNlJAOjyAAcAi5Wg/f//jXL0gf5gDEkAD4U8 +CwAAjZ3A/f//jYWw/f//iQQk6PmP//+LhYT9//+LtXj9//+NBECNDIaJOYuVtP3/ +/41EFx+JQQSLtbz9///HQQj///9/iVQkDIlUJAiNfDAfBR8CAACB/gECAACLtXz9 +//8PQviLhbD9//+J8YlEJASNhfT9//+JBCTo4X///4uFvP3//4PsEInxx0QkDAAC +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 +///oae0CAOn7+v//i42E/f//icOFyQ+E6/r//+hP7QIA6eH6///ruInDjbYAAAAA +6ff6//+Jxo2d7P7//4uFXP3//4kcJI1I9OgyyAQAg+wE6c/9//+JxunI/f//jXYA +68aJw4uFcP3//41I9I2F7P7//4kEJOi1OAUAg+wE6Q3///+Jxo2NEP///8eF9P7/ +/+jQSQDoJrQGAI2NYP///8eF7P7//wyiSQDHhfD+//8AAAAAx4Vg////sNlJAOjt +2wYA6T79//+NjRz///+Jxug7ewUA666JxouFdP3//41I9I2FSf3//4kEJOhAOAUA +g+wE6Yb9//+JxouFeP3//41I9I2FmP3//4kEJOgfOAUAg+wE6Tz+//+Jw42N+P3/ +/+i6mAUAidjHhfD9//8MokkAicPHhWT+//8gokkAx4X0/f//AAAAAOkX////69mJ +w+k6/v//iQQk6OJTBwCJHCToWusCAOjlWQcAicONjRT+///Hhfj9///o0EkA6D6z +BgCNjWT+///HhfD9//8MokkAx4X0/f//AAAAAMeFZP7//7DZSQDoBdsGAOli+f// +jY0c////icboU3oFAOkl/f//idmJxuiV4gIA6Ur8//+JxouFYP3//42d7P7//4kc +JI1I9OhHNwUAg+wE6Uz+//+Jw4uF7P7//41I9I2FWP3//4kEJOh2xgQAg+wE6eb4 +//+LPQBRTACNQvyF/3VKi0L8jUj/iUr8hcAPj/zr//+Nnez+//+J8YkcJOjQNgUA +g+wE6eTr//+Jxo2d7P7//4uFZP3//4kcJI1I9OgfxgQAg+wE6bz7///oEGAHAGaQ +67aJxouFaP3//42d7P7//41I9I2FSP3//4kEJOifNgUAg+wE67qJw+lq+P//icaL +hXz9//+NSPSNhUv9//+JBCToejYFAIPsBOkz+///icaLhWD9//+Nnez+//+NSPSN +hUf9//+JBCToUzYFAIPsBOlY/f//icaLhWj9//+Nnez+//+JHCSNSPToMjYFAIPs +BOlK////icaJ+ejRlgUAifDpLvv//4s9AFFMAI1C/IX/dV+LQvyNSP+JSvyFwA+P +7vX//42F7P7//4nZiQQk6Mw1BQCD7ATp1vX//4sNAFFMAI1C/IXJdTCLQvyNSP+J +SvyFwA+Po/X//42F7P7//4nZiQQk6ObEBACD7ATpi/X//+j3XgcA66ONtCYAAAAA +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 +/429qP7//8dDDAAAAACNtSj+///zpcHqHynQiUMQjZWo/v//idjohff//4P4B3Wk +jZWo/v//jYUo/v//6C/5//+LtfT+//+JdCQEicOLhfD+//+JBCToxf7//4nZjUwN +BIl0HQSLReyLVfCLXfSLdfiLffyLbQCJzMONtgAAAABVieVXVlNSUIHsFAEAAItN +BI2d6P7//41VCInYjb1o////id7o5/n//4tFDLkgAAAA86WLfQiNlWj///+JRwyL +RRCJRxCJ+OiU9///g/gHdA2LXfSLdfiLffyJ7F3DjZVo////idjohfj//4t1tIl0 +JASJw4tFsIkEJOgh/v//idmNTA0EiXQdBItF7ItV8Itd9It1+It9/IttAInMw2aQ +VYnlV1ZTUlCB7BQBAACLTQSNVQiNhej+//+NnWj////oS/n//4tFCLkgAAAAid+J +2o216P7///Oli0gMhcl1D+hL9v//g/gHdA/ouX0AAItFCOjp9v//6+yJ2o2F6P7/ +/+jq9///i3W0iXQkBInDi0WwiQQk6Ib9//+J2Y1MDQSJdB0Ei0Xsi1Xwi130i3X4 +i338i20AiczDjbQmAAAAAFWJ5VdWU1JQgewUAQAAi0UIi1gMhdt0OotNBI2d6P7/ +/41VCInYjb1o////id7onfj//4tFCI2VaP///7kgAAAA86XoWPb//4P4B3Qj6BZ9 +AACLRQiJBCToE/3//4td9It1+It9/InsXcONtgAAAACNlWj///+J2Ogz9///i3W0 +iXQkBInDi0WwiQQk6M/8//+J2Y1MDQSJdB0Ei0Xsi1Xwi130i3X4i338i20AiczD +g+wci1QkIItCCIXAdA2JVCQExwQkAQAAAP/Qg8Qcw5BVieVXVlOB7FwBAACLTQSN +naj+//+LfQiNVQiJ2Oje9///6yKLRQyJHCSJRCQE/9eFwHUsg/4FdDeNlSj///+J +2Oh69P//jZUo////idjoPeL//4P4BYnGdMqFwHTGZpCBxFwBAAC4AwAAAFteX13D +gcRcAQAAuAUAAABbXl9dw1dWUzHbg+wQi3QkIIs+hf90GotEngSFwHQLi0D8iQQk +6Ot7AACDwwE5+3XmiXQkIIPEEFteX+nVewAAkI10JgBVieWD7BjHRCQMAAAAAMdE +JAj//wAAx0QkBAAAAADHBCQAAAAAxwVEUUwA/////+i8fgAAg+wQo0hRTADol34A +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 +dXaLUPyNcv+JcPyJ0IXAf72NReeJ+YkEJOjSTAIAV+utgz0AUUwAAHVYi1D8jXL/ +iXD8idCFwH+wjUXnifmJBCTo+tsBAFHroIM9AFFMAAB1OotQ/I1y/4lw/InQhcAP +j3f///+NReeJ+YkEJOjO2wEAVulk////g+gE6GCBBADri4PoBOhWgQQA66mD6ATo +TIEEAOvHkJCQkJCQkJCQkFWJ5VdWU4PsLItdCIXbdCCNQxSJBCToFeD9/4sDjXj0 +gf9gDEkAdRCJHCTogGUEAI1l9FteX13Dgz0AUUwAAHUfi1D8jXL/iXD8idCFwH/Y +jUXnifmJBCToQ9sBAFLryIPoBOhWdQQA6+KLC41V54nGiRQkg+kM6ETbAQBQiTQk +6Ott//+QkJCQkJCQkJCQkIXJdAyLAYtABP/gkI10JgDzw5CQkJCQkJCQkJCQkJCQ +U7j/////g+wIicvwD8FBBIP4AXQLg8QIW8ONtgAAAACLAf9QCLj/////8A/BQwiD ++AF14YsDidmLQAyDxAhb/+CQkJCQkJCQkJCQkJCQkJCD7ByJDCTHASjHSQDon2QE +AIPEHMOQkJCQkJCQkJCQkMcBKMdJAMOQkJCQkJCQkJAxwMIEAJCQkJCQkJCQkJCQ +McDDkJCQkJCQkJCQkJCQkFWJ5VdWU4PsLItZDIXbdDGLQwiNePSB/3AMSQB1K4tD +BI149IH/YAxJAHVtiwONePSB/2AMSQB1OIkcJOgfZAQAjWX0W15fXcODPQBRTAAA +dXaLUPyNcv+JcPyJ0IXAf72NReeJ+YkEJOiSSgIAUOutgz0AUUwAAHVYi1D8jXL/ +iXD8idCFwH+wjUXnifmJBCToutkBAFDroIM9AFFMAAB1OotQ/I1y/4lw/InQhcAP +j3f///+NReeJ+YkEJOiO2QEAUOlk////g+gE6CB/BADri4PoBOgWfwQA66mD6ATo +DH8EAOvHkJCQkJCQkJCQkIPsHIkMJMcBKMdJAOhfYwQAg8Qcw5CQkJCQkJCQkJCQ +xwEox0kAw5CQkJCQkJCQkDHAwgQAkJCQkJCQkJCQkJAxwMOQkJCQkJCQkJCQkJCQ +VYnlV1ZTg+wsi1kMhdt0II1DFIkEJOiF3f3/iwONePSB/2AMSQB1EIkcJOjwYgQA +jWX0W15fXcODPQBRTAAAdR+LUPyNcv+JcPyJ0IXAf9iNReeJ+YkEJOiz2AEAVuvI +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 +iwaDwwGDxwI7WPRzKItUJDiJVCQID7cEOIksJIlEJATo62f//4XAddeDxByJ2Fte +X13CDACDxBy4/////1teX13CDACQkJCQkJCQkJCQkJBVieWD7BiLRQiLAItQ9IkE +JIlUJAiLVQyJVCQE6G////+D7AzJwggAkJCQkJCQkJBWU4sRi0QkEIt0JAyLSvQ5 +yHMaD7ccQmY583QK6xRmkGY5HEJ1DIPAATnIcvO4/////1tewggAkJCQkJCQkJCQ +g+wciwGLVCQgO1D0cwmNBFCDxBzCBADHBCQ4bkkA6E3yAwCQkJCQkJCQkJCQkJCQ +iwGLUPSNBFDDkJCQkJCQkItBCMHoH8OQkJCQkJCQkJCLUQiF0g+fwMOQkJCQkJCQ +iwGLUPSNRFD+w5CQkJCQkIsBi1D0jQRQw5CQkJCQkJBTg+wYiwmLRCQoi1QkJItZ +9DnYd0MpwznTD0fahdt0HIP7AY0EQXQdiUQkBItEJCCJXCQIiQQk6FRl//+DxBiJ +2FvCDAAPtwCLVCQgZokCg8QYidhbwgwAxwQkSW5JAOiM8QMAkJCQkJCQkJCQkJCQ +iwHDkJCQkJCQkJCQkJCQkFWJ5VaJzlOD7BCLXQiJHCTom7n//4nxiRwkiUQkCItF +DIlEJAToFgAAAIPsDI1l+FteXcIIAJCQkJCQkJCQkJBVV1ZTg+wsiwmLRCRIi3wk +QItR9IXAdRi4/////zlUJEQPRkQkRIPELFteX13CDAA50HYPg8QsuP////9bXl9d +wgwAKcI7VCREcumLdCREg+gBidWJRCQYjUcCiUQkHI1eAY00WesKg8MBg8YCOcVy +ww+3F41L/4nYZjlW/nXoi0QkGIk0JIlMJBSJRCQIi0QkHIlEJATodWT//4tMJBSF +wHQEidjrwInI6Xj///+QkFWJ5YPsGItFCIsAi1D0iQQkiVQkCItVDIlUJAToL/// +/4PsDMnCCACQkJCQkJCQkFZTg+wUixmLRCQki3QkIItT9DnQcg2DxBS4/////1te +wggAKcIPt/aNBEOJVCQIiXQkBIkEJOj1ZP//hcB01ynYg8QU0fhbXsIIAJCQkJCQ +i1QkBInIixKJEcIEAJCQkIsBi0D0w5CQkJCQkJCQkJCLAcOQkJCQkJCQkJCQkJCQ +iwHDkJCQkJCQkJCQkJCQkItUJASJyIsSiRHCBACQkJCLAYtI9IXJD5TAw5CQkJCQ +iwHDkJCQkJCQkJCQkJCQkFWJ5VaJzlOD7BCLXQiJHCTou7f//4nxiRwkiUQkCItF +DIlEJAToFgAAAIPsDI1l+FteXcIIAJCQkJCQkJCQkJBVV1ZTg+wciwGLfCQ4i2wk +MItY9Dnfdg+DxBy4/////1teX13CDAAp+ztcJDQPR1wkNI00WOsMg+4ChduNQ/90 +14nDiXwkCIlsJASJNCTo3WL//4XAdeCDxByJ2FteX13CDACQkJCQkJCQkJCQkJCQ +VYnlg+wYi0UIiwCLUPSJBCSJVCQIi1UMiVQkBOhv////g+wMycIIAJCQkJCQkJCQ +U4sJuP////8Pt1wkCItR9IXSdQRbwggAjUL/OUQkDA9GRCQM6wyNUP9mOVxRAnTk +idCD+P9171vCCACQkJCQkIsBg+gMw5CQkJCQkJCQkJCLAcOQkJCQkJCQkJCQkJCQ +iwGLQPTDkJCQkJCQkJCQkItUJASJyIsSi0r0jRRKiRDCBACQkJCQkJCQkJCQkJCQ +VYnlVlOD7BCLVQiLXQyLAjtY9Hcji0UQic6JXCQEiRQkiUQkCOjGvAEAifCD7AyN +ZfhbXl3CDADHBCRtb0kA6NztAwCQkJCQkJCQkJCQkJCLAcOQkJCQkJCQkJCQkJCQ +iwGLUPSNBFDDkJCQkJCQkFWJzVdWU4PsHIsBi3wkMItY9Ik8JOjWtf//iXwkBDnY +icaJ2A9GxinziUQkCItFAIkEJOhYYf//hcAPRMODxBxbXl9dwgQAkJCQkJCQkJCQ +VlOD7BSLAYtUJCCLcPSLEonxi1r0iVQkBIkEJDnzD0bLKd6JTCQI6BRh//+FwA9E +xoPEFFtewgQAkJCQkJCQkFWJzVdWU4PsHIsRi1wkMItEJDSLcvQ583dHKd45xg9H +8ItEJDiJBCToM7X//znwiceJ8A9Gxyn+iUQkCItEJDiJRCQEi0UAjQRYiQQk6K5g +//+FwA9ExoPEHFteX13CDADHBCRcbkkA6LPsAwCQkJBXVlOD7BCLEYtEJCCLfCQk +i1wkLIty9DnwdzUpxonZOf4PR/c53g9GzineiUwkCItMJCiNBEKJBCSJTCQE6E5g +//+FwA9ExoPEEFteX8IQAMcEJFxuSQDoVOwDAJCQkJBXVlOD7BCLEYtEJCCLXCQk +i3L0OfB3OotMJCgpxjneD0fzjQRCiwmLWfSJTCQEiQQkOd6J3w9G/ineiXwkCOjt +X///hcAPRMaDxBBbXl/CDADHBCRcbkkA6PPrAwCQkJBVV1ZTg+wciwmLRCQwi2wk +NItUJDyLWfQ52HdNi3QkOIs2i370Ofp3QCnDOesPR90p1zt8JEAPR3wkQI0UVo0E +QTn7if0PRusp+4lsJAiJVCQEiQQk6HZf//+FwA9Ew4PEHFteX13CFADHBCRcbkkA +6HvrAwCQkJCQkJCQkJCQkItUJASJyIsSi0r0jRRKiRDCBACQkJCQkJCQkJCQkJCQ +g+wcixGLRCQgO0L0dwaDxBzCCACLRCQkiQQk6DDrAwCLAYtUJAiLQPQrRCQEOdAP +R8LCCACQkJCQkJCQkJCQkIsBi0D4w5CQkJCQkJCQkJC4/v//H8OQkJCQkJCQkJCQ +iwHDkJCQkJCQkJCQkJCQkIsBi1QkBI0EUMIEAJCQkJCLQQTDkJCQkJCQkJCQkJCQ +D7YBw5CQkJCQkJCQkJCQkA+2AcOQkJCQkJCQkJCQkJBTixG4AQAAAItcJAg503II +A1L0OdMPl8BbwgQAkJCQkFWJ5VaJzlOD7BCLXQiJHCTom7L//4nxiRwkiUQkCItF +DIlEJAToFgAAAIPsDI1l+FteXcIIAJCQkJCQkJCQkJBVV1ZTg+wcizGLfCQ4i2wk +MIte9IX/dQ+DxBy4/////1teX13CDACF23Ttg+sBOVwkNA9GXCQ06xCNtCYAAAAA +hduNQ/900YnDiXwkCA++BB6JLCSJRCQE6Duy//+FwHTfg8QcidhbXl9dwgwAkJCQ +VYnlg+wYi0UIiwCLUPSJBCSJVCQIi1UMiVQkBOhv////g+wMycIIAJCQkJCQkJCQ +U4sJuP////8PtlwkCItR9IXSdQRbwggAjUL/OUQkDA9GRCQM6wo6HAGNUP905onQ +g/j/dfFbwggAkJCQkJCQkFWJ5VaJzlOD7BCLXQiJHCToe7H//4nxiRwkiUQkCItF +DIlEJAToFgAAAIPsDI1l+FteXcIIAJCQkJCQkJCQkJBVuP////9XVlOD7ByLdCQ4 +i1wkNIX2dDGLOYtv9DnddiiJdCQID74EH4lEJASLRCQwiQQk6D+x//+FwHUWg8MB +Od133bj/////g8QcW15fXcIMAIPEHInYW15fXcIMAJBVieWD7BiLRQiLAItQ9IkE +JIlUJAiLVQyJVCQE6H////+D7AzJwggAkJCQkJCQkJBVieUPvkUIiUUIyemwBAAA +icjCBACQkJCQkJCQkJCQkIPsHIsRuPz//z8rQvQDRCQgO0QkJHIGg8QcwgwAi0Qk +KIkEJOin5wMAkJCQkJCQkFWJ5VaJzlOD7BCLXQiJHCToW7D//4nxiRwkiUQkCItF +DIlEJAToFgAAAIPsDI1l+FteXcIIAJCQkJCQkJCQkJBVuP////9XVlOD7ByLMYt8 +JDCLbCQ4i170hdt1CoPEHFteX13CDACD6wE5XCQ0D0ZcJDTrCYXbjUP/dCaJw4ls +JAgPvgQeiTwkiUQkBOgGsP//hcB134PEHInYW15fXcIMAIPEHLj/////W15fXcIM +AJCQkJCQkJCQkJCQkJCQkFWJ5YPsGItFCIsAi1D0iQQkiVQkCItVDIlUJAToX/// +/4PsDMnCCACQkJCQkJCQkFOLCbj/////D7ZcJAiLUfSF0nUEW8IIAI1C/zlEJAwP +RkQkDOsCidA4HAF154XAjVD/dfK4/////1vCCACQkJBVieVWic5Tg+wQi10IiRwk +6Cuv//+J8YkcJIlEJAiLRQyJRCQE6BYAAACD7AyNZfhbXl3CCACQkJCQkJCQkJCQ +VVdWU4PsHIsZi3QkNItsJDCLfCQ4i0P0OcaJRCQMcgvrLoPGATt0JAxzJYl8JAgP +vgQziSwkiUQkBOjprv//hcB134PEHInwW15fXcIMAJCDxBy4/////1teX13CDACQ +VYnlg+wYi0UIiwCLUPSJBCSJVCQIi1UMiVQkBOh/////g+wMycIIAJCQkJCQkJCQ +V1ZTixGLRCQUi3QkEIt69Dn4cxgPthwCifE4y3QH6xE4HAJ1DIPAATn4cvS4//// +/1teX8IIAJCQkJCQkJCQkIPsHIsRi0QkIDtC9HMIAdCDxBzCBADHBCTsbEkA6N7l +AwCQkJCQkJCQkJCQkJCQkIsBA0D0w5CQkJCQkJCQkJCLQQjB6B/DkJCQkJCQkJCQ +i1EIhdIPn8DDkJCQkJCQkIsBi1D0jUQQ/8OQkJCQkJCLAQNA9MOQkJCQkJCQkJCQ +U4PsGIsJi0QkKItUJCSLWfQ52HdBKcM50w9H2oXbdBsByIP7AXQdiUQkBItEJCCJ +XCQIiQQk6B2t//+DxBiJ2FvCDAAPtgCLVCQgiAKDxBiJ2FvCDADHBCT9bEkA6B7l +AwCQkJCQkJCQkJCQkJCQkIsBw5CQkJCQkJCQkJCQkJBVieVWic5Tg+wQi10IiRwk +6But//+J8YkcJIlEJAiLRQyJRCQE6BYAAACD7AyNZfhbXl3CCACQkJCQkJCQkJCQ +Vbj/////V1ZTg+wsizGLbCRIi370he11Fzl8JEQPRkQkRIPELFteX13CDACNdCYA +Of137invOXwkRHfmi0QkQA+2EItEJESNWAGNRf8B3olEJBiLRCRAidWDwAGJRCQc +6wqDwwGDxgE5x3I0iemJ2DhO/41T/3Xqi0QkGIk0JIlUJBSJRCQIi0QkHIlEJATo +fKz//4tUJBSFwHQUidjrwrj/////6Xj///+NtgAAAACJ0Olr////kJCQkJCQkJCQ +VYnlg+wYi0UIiwCLUPSJBCSJVCQIi1UMiVQkBOgf////g+wMycIIAJCQkJCQkJCQ +V1ZTu/////+D7BCLMYtEJCSLfCQgi1b0OdByC4PEEInYW15fwggAifkpwg+++QHw +iVQkCIl8JASJBCTo6Kv//4nCKfKFwA9F2oPEEInYW15fwggAkJCQkJCQkJCQkJCQ +i1QkBInIixKJEcIEAJCQkIsBi0D0w5CQkJCQkJCQkJCLAcOQkJCQkJCQkJCQkJCQ +iwHDkJCQkJCQkJCQkJCQkItUJASJyIsSiRHCBACQkJCLAYtI9IXJD5TAw5CQkJCQ +iwHDkJCQkJCQkJCQkJCQkFWJ5VaJzlOD7BCLXQiJHCToG6v//4nxiRwkiUQkCItF +DIlEJAToFgAAAIPsDI1l+FteXcIIAJCQkJCQkJCQkJBVuP////9XVlOD7ByLOYt0 +JDiLbCQwi1/0Od52CoPEHFteX13CDAAp8ztcJDQPR1wkNOsJhduNQ/90JYnDjQQf +iXQkCIlsJASJBCTowKr//4XAdeCDxByJ2FteX13CDACDxBy4/////1teX13CDACQ +VYnlg+wYi0UIiwCLUPSJBCSJVCQIi1UMiVQkBOhv////g+wMycIIAJCQkJCQkJCQ +U4sJuP////8PtlwkCItR9IXSdQRbwggAjUL/OUQkDA9GRCQM6wo4HAGNUP905onQ +g/j/dfFbwggAkJCQkJCQkIsBg+gMw5CQkJCQkJCQkJCLAcOQkJCQkJCQkJCQkJCQ +iwGLQPTDkJCQkJCQkJCQkItUJASJyIsSA1L0iRHCBABVieVWU4PsEItVCItdDIsC +O1j0dyOLRRCJzolcJASJFCSJRCQI6DYgAgCJ8IPsDI1l+FteXcIMAMcEJCFuSQDo +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 +wgQAkJCQkJCQkJCQkJCQkItRCItEJASLUgiJEItRCItSDIlQBMIEAJCQkJCQkJCQ +i1EIi0QkBItSEIkQi1EIi1IUiVAEwgQAkJCQkJCQkJCLUQiLRCQEi1JIiRCLUQiL +UkyJUASLUQiLUlCJUAiLUQiLUlSJUAyLUQiLUliJUBCLUQiLUlyJUBSLUQiLUmCJ +UBjCBACQkJCQkJCQkJCQkItRCItEJASLUhiJEItRCItSHIlQBMIEAJCQkJCQkJCQ +i1EIi0QkBIuSlAAAAIkQi1EIi5KYAAAAiVAEi1EIi5KcAAAAiVAIi1EIi5KgAAAA +iVAMi1EIi5KkAAAAiVAQi1EIi5KoAAAAiVAUi1EIi5KsAAAAiVAYi1EIi5KwAAAA +iVAci1EIi5K0AAAAiVAgi1EIi5K4AAAAiVAki1EIi5K8AAAAiVAoi1EIi5LAAAAA +iVAswgQAkJCQkJCQkJCQkFWJzVdWU4PsHMdEJAQAAAAAxwQkAAAAAOi7nf//iQQk +icboWZ3//414AYk8JOh+FgQAiXwkCInDiXQkBIkEJOjknP//i0UQxwQkAAAAAIlE +JATogZ3//4tEJDyJRCQMi0QkOIlEJAiLRCQ0iUQkBItEJDCJBCTo9Z3//4lcJASJ +xscEJAAAAADoS53//4XbdAiJHCTo5xUEAIX2dQeLRCQwxgAAg8QcW15fXcIQAIPC +AYkEJHQF6JUe///oYBkEAItRCItEJASLUiyJEItRCItSMIlQBItRCItSNIlQCItR +CItSOIlQDItRCItSPIlQEItRCItSQIlQFItRCItSRIlQGMIEAJCQkJCQkJCQkJCQ +i1EIi0QkBItSIIkQi1EIi1IkiVAEwgQAkJCQkJCQkJCLUQiLRCQEi1JkiRCLUQiL +UmiJUASLUQiLUmyJUAiLUQiLUnCJUAyLUQiLUnSJUBCLUQiLUniJUBSLUQiLUnyJ +UBiLUQiLkoAAAACJUByLUQiLkoQAAACJUCCLUQiLkogAAACJUCSLUQiLkowAAACJ +UCiLUQiLkpAAAACJUCzCBACQkJCQkJCQkJCQkJCQkJDCBACQkJCQkJCQkJCQkJCQ +i1EIi0QkBItSCIkQi1EIi1IMiVAEwgQAkJCQkJCQkJCLUQiLRCQEi1IQiRCLUQiL +UhSJUATCBACQkJCQkJCQkItRCItEJASLUkiJEItRCItSTIlQBItRCItSUIlQCItR +CItSVIlQDItRCItSWIlQEItRCItSXIlQFItRCItSYIlQGMIEAJCQkJCQkJCQkJCQ +i1EIi0QkBItSGIkQi1EIi1IciVAEwgQAkJCQkJCQkJCLUQiLRCQEi5KUAAAAiRCL +UQiLkpgAAACJUASLUQiLkpwAAACJUAiLUQiLkqAAAACJUAyLUQiLkqQAAACJUBCL +UQiLkqgAAACJUBSLUQiLkqwAAACJUBiLUQiLkrAAAACJUByLUQiLkrQAAACJUCCL +UQiLkrgAAACJUCSLUQiLkrwAAACJUCiLUQiLksAAAACJUCzCBACQkJCQkJCQkJCQ +VYnNV1ZTg+wcx0QkBAAAAADHBCQAAAAA6Jua//+JBCSJw+g5mv//jXABiTQk6F4T +BACJXCQEiceJdCQIiQQk6MSZ//+LRRDHBCQAAAAAiUQkBOhhmv//i0QkPIlEJAyL +RCQ4iUQkCItEJDSJRCQEi0QkMIkEJOjdmv//iXwkBMcEJAAAAACJw+grmv//hf90 +CIk8JOjHEgQAhdt1CYtEJDAx0maJEIPEHFteX13CEACDwgGJBCR0BehzG///6D4W +BACQkJCQkJCQkJCQkJCQkItRCItEJASLUiyJEItRCItSMIlQBItRCItSNIlQCItR +CItSOIlQDItRCItSPIlQEItRCItSQIlQFItRCItSRIlQGMIEAJCQkJCQkJCQkJCQ +i1EIi0QkBItSIIkQi1EIi1IkiVAEwgQAkJCQkJCQkJCLUQiLRCQEi1JkiRCLUQiL +UmiJUASLUQiLUmyJUAiLUQiLUnCJUAyLUQiLUnSJUBCLUQiLUniJUBSLUQiLUnyJ +UBiLUQiLkoAAAACJUByLUQiLkoQAAACJUCCLUQiLkogAAACJUCSLUQiLkowAAACJ +UCiLUQiLkpAAAACJUCzCBACQkJCQkJCQkJCQkJCQkJBVuZgNSQCJ5VdWU4PsHOit +EwAAicaLRQiLAItADI0csIsDhcB0Co1l9FteX13CBADHBCRoAAAA6LQRBACJx8dA +BAAAAACJ+ccA8NJJAMdACAAAAADHQAwAAAAAxkAQAMdAFAAAAADHQBgAAAAAx0Ac +AAAAAMdAIAAAAADGQCQAxkAlAMZAZACLRQiJBCToHhMDAItFCIPsBIl0JASJPCSL +COh6VwMAiwOD7AiNZfRbXl9dwgQAiQQk6LMTBADovhkEAIkEJOimEwQAiweJ+f9Q +BOvqicPohhUEAIkcJOh+Gf//kJCQkJCQkJCQkJCQkJBVuZwNSQCJ5VdWU4PsHOi9 +EgAAicaLRQiLAItADI0csIsDhcB0Co1l9FteX13CBADHBCSoAAAA6MQQBAAxyTHS +ZolIJonHx0AEAAAAAIn5xwAA00kAx0AIAAAAAMdADAAAAADGQBAAx0AUAAAAAMdA +GAAAAADHQBwAAAAAx0AgAAAAAGaJUCTGgKQAAAAAi0UIiQQk6AcYAwCLRQiD7ASJ +dCQEiTwkiwjog1YDAIsDg+wIjWX0W15fXcIEAIkEJOi8EgQA6McYBACJBCTorxIE +AIsHifn/UATr6onD6I8UBACJHCTohxj//5CQkJCQkJBVuYwMSQCJ5VdWU4PsHOjN +EQAAiceLRQiLAItADI00uIsGhcB0Co1l9FteX13CBADHBCREAAAA6NQPBACJw8dA +BAAAAACJ2ccAaNRJAMdACAAAAADHQAwAAAAAxkAQAMZAEQDGQBIAx0AUAAAAAMdA +GAAAAADHQBwAAAAAx0AgAAAAAMdAJAAAAADHQCgAAAAAx0AsAAAAAMZAMADGQDEA +xkAyAMZAMwDGQDQAxkA1AMZANgDGQDcAxkBDAItFCIkEJOipLAMAi0UIg+wEiXwk +BIkcJIsI6GVVAwCLBoPsCI1l9FteX13CBACJBCTonhEEAOipFwQAiQQk6JERBACL +A4nZ/1AE6+qJw+hxEwQAiRwk6GkX//+QkJCQkJCQkJBVuZAMSQCJ5VdWU4PsHOit +EAAAiceLRQiLAItADI00uIsGhcB0Co1l9FteX13CBADHBCREAAAA6LQOBACJw8dA +BAAAAACJ2ccAeNRJAMdACAAAAADHQAwAAAAAxkAQAMZAEQDGQBIAx0AUAAAAAMdA +GAAAAADHQBwAAAAAx0AgAAAAAMdAJAAAAADHQCgAAAAAx0AsAAAAAMZAMADGQDEA +xkAyAMZAMwDGQDQAxkA1AMZANgDGQDcAxkBDAItFCIkEJOiZMgMAi0UIg+wEiXwk +BIkcJIsI6EVUAwCLBoPsCI1l9FteX13CBACJBCTofhAEAOiJFgQAiQQk6HEQBACL +A4nZ/1AE6+qJw+hREgQAiRwk6EkW//+QkJCQkJCQkJBVuZQMSQCJ5VdWU4PsHOiN +DwAAiceLRQiLAItADI00uIsGhcB0Co1l9FteX13CBADHBCRUAAAA6JQNBACJw8dA +BAAAAACJ2ccAiNRJAMdACAAAAADHQAwAAAAAxkAQADHAZolDEjHAZolDFItFCMdD +GAAAAADHQxwAAAAAx0MgAAAAAMdDJAAAAADHQygAAAAAx0MsAAAAAMdDMAAAAADG +QzQAxkM1AMZDNgDGQzcAxkM4AMZDOQDGQzoAxkM7AMZDUgCJBCTohTgDAItFCIPs +BIl8JASJHCSLCOghUwMAiwaD7AiNZfRbXl9dwgQAiQQk6FoPBADoZRUEAIkEJOhN +DwQAiwOJ2f9QBOvqicPoLREEAIkcJOglFf//kJCQkJBVuZgMSQCJ5VdWU4PsHOht +DgAAiceLRQiLAItADI00uIsGhcB0Co1l9FteX13CBADHBCRUAAAA6HQMBACJw8dA +BAAAAACJ2ccAmNRJAMdACAAAAADHQAwAAAAAxkAQADHAZolDEjHAZolDFItFCMdD +GAAAAADHQxwAAAAAx0MgAAAAAMdDJAAAAADHQygAAAAAx0MsAAAAAMdDMAAAAADG +QzQAxkM1AMZDNgDGQzcAxkM4AMZDOQDGQzoAxkM7AMZDUgCJBCTohT8DAItFCIPs +BIl8JASJHCSLCOgBUgMAiwaD7AiNZfRbXl9dwgQAiQQk6DoOBADoRRQEAIkEJOgt +DgQAiwOJ2f9QBOvqicPoDRAEAIkcJOgFFP//kJCQkJCLQQTDkJCQkJCQkJCQkJCQ +iwGFwA+VwMOQkJCQkJCQkFWJ5VOD7CSLQQyLSQiLEIlMJASNTfSJBCT/UgyLRfSN +SPSD7AiB+XAMSQB1BYtd/MnDgz0AUUwAAHUhi1D8jVr/iVj8hdJ/5Y1V84kUJIlF +5Ohq8QEAUItF5OvRg8r/8A/BUPzr3pCQkJCQkJCQkJC433RJAMOQkJCQkJCQkJCQ +g8Eo6Wj///+QkJCQkJCQkIPBKOlY////kJCQkJCQkJCNQQzDkJCQkJCQkJCQkJCQ +g8E06Tj///+QkJCQkJCQkI1BDMOQkJCQkJCQkJCQkJCDwTTpGP///5CQkJCQkJCQ +i0EEw5CQkJCQkJCQkJCQkA+2AcOQkJCQkJCQkJCQkJAPtgHDkJCQkJCQkJCQkJCQ +i0EEw5CQkJCQkJCQkJCQkI1BCMOQkJCQkJCQkJCQkJCDwTDpuP7//5CQkJCQkJCQ +jUEIw5CQkJCQkJCQkJCQkIPBMOmY/v//kJCQkJCQkJCNQQTDkJCQkJCQkJCQkJCQ +g8Es6Xj+//+QkJCQkJCQkI1BBMOQkJCQkJCQkJCQkJCDwSzpWP7//5CQkJCQkJCQ +i1QkBDHAOUoEdAXCCABmkItEJAg5Ag+UwMIIAJCQkJBVieVTg+wUiwGLVQiLXQyJ +FCT/UBAxyYPsBDlTBHQJiciLXfzJwggAOQOLXfzJD5TBicjCCACQkJCQkJCQkJCQ +icqLRCQEwgQAkJCQkJCQkItBCMOQkJCQkJCQkJCQkJCLQRTDkJCQkJCQkJCQkJCQ +i0EEw5CQkJCQkJCQkJCQkItBDMOQkJCQkJCQkJCQkJCLQRjDkJCQkJCQkJCQkJCQ +i0EQw5CQkJCQkJCQkJCQkFWJ5VOJy4PsFItFCIPAHIkEJOgJagMAidiLXfyD7ATJ +wgQAkJCQkJCQkJCQkJCQkItBCMOQkJCQkJCQkJCQkJCLQRTDkJCQkJCQkJCQkJCQ +i0EEw5CQkJCQkJCQkJCQkItBDMOQkJCQkJCQkJCQkJCLQRjDkJCQkJCQkJCQkJCQ +i0EQw5CQkJCQkJCQkJCQkFWJ5VOJy4PsFItFCIPAHIkEJOh5aQMAidiLXfyD7ATJ +wgQAkJCQkJCQkJCQkJCQkLiodkkAw5CQkJCQkJCQkJBWic5Tg+wUiwmLXCQghcl0 +UjHSg34E/3QbiwuFyXRLMcCDewT/dB840A+UwIPEFFtewgQAi0EIO0EMczUPtgCJ +RgQx0uvTi0EIO0EMczoPtgCJQwQxwDjQD5TAg8QUW17CBAC6AQAAAOuvuAEAAADr +tosB/1Akg/j/dcTHBgAAAAC6AQAAAOuRiwGJVCQM/1Aki1QkDIP4/3W3uAEAAAA4 +0McDAAAAAA+UwIPEFFtewgQAkJCQkJCQkJCQkJCQkJBTicuD7AiLCYXJdCeLQwSD ++P90DIPECFvDjbQmAAAAAItBCDtBDHMSD7YAiUMEg8QIW8O4/////+vaiwH/UCSD ++P9158cDAAAAAIPECFvDkFeJz1ZTiwm7AQAAAIt0JBCFyXQJMdtmg38E/3RFiw64 +AQAAAIXJdAkxwGaDfgT/dA842A+UwFteX8IEAI10JgCLQQg7QQxzZQ+3AGaD+P90 +L2aJRgQxwDjYD5TAW15fwgQAi0EIO0EMczwPtwBmg/j/dCNmiUcEMdvropCNdCYA +uAEAAAA42McGAAAAAA+UwFteX8IEAMcHAAAAALsBAAAA6Xf///+LAf9QJOvAiwGQ +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 +VYnlU4nLg+wki0UIi00YixCJTCQQi00UiQQkiUwkDItNEIlMJAiLTQyJTCQEidn/ +UgyJ2Itd/IPsFMnCFACQkIsBVYnli0AIyf/gkJCQkJBVieWD7BiLAYtVDIlUJASL +VQiJFCT/UAiD7AjJwgwAkIsBVYnli0AQyf/gkJCQkJBVieVTicuD7BSLRRiJBCTo +7CwBAInYi138g+wEycIUADHAwggAkJCQkJCQkJCQkJDCBACQkJCQkJCQkJCQkJCQ +i0QkBIsAwgQAkJCQkJCQkInIxwFsDEkAwggAkJCQkJBVieVTicuD7CSLRQiLTRiL +EIlMJBCLTRSJBCSJTCQMi00QiUwkCItNDIlMJASJ2f9SDInYi138g+wUycIUAJCQ +iwFVieWLQAjJ/+CQkJCQkFWJ5YPsGIsBi1UMiVQkBItVCIkUJP9QCIPsCMnCDACQ +iwFVieWLQBDJ/+CQkJCQkFWJ5VOJy4PsFItFGIkEJOgcvAAAidiLXfyD7ATJwhQA +McDCCACQkJCQkJCQkJCQkMIEAJCQkJCQkJCQkJCQkJBVieVTicuD7CSNRfeJRCQE +i0UIi0AIi0AIiQQk6B8rAQCJ2Itd/IPsCMnCBACQkJBVieVTicuD7CSNRfeJRCQE +i0UIi0AIi0AUiQQk6O8qAQCJ2Itd/IPsCMnCBACQkJBVieVTicuD7CSNRfeJRCQE +i0UIi0AIi0AciQQk6L8qAQCJ2Itd/IPsCMnCBACQkJCLAYtACP/gkJCQkJCQkJCQ +iwGLQAz/4JCQkJCQkJCQkItBCA+2QCTDkJCQkJCQkJCLQQgPtkAlw5CQkJCQkJCQ +VYnlU4nLg+wUi0UIixCJBCT/UhCJ2Itd/IPsBMnCBABVieVTicuD7BSLRQiLEIkE +JP9SFInYi138g+wEycIEAFWJ5VOJy4PsFItFCIsQiQQk/1IYidiLXfyD7ATJwgQA +VYnlU4nLg+wkjUX3iUQkBItFCItACItACIkEJOjvKQEAidiLXfyD7AjJwgQAkJCQ +VYnlU4nLg+wkjUX3iUQkBItFCItACItAFIkEJOjPuQAAidiLXfyD7AjJwgQAkJCQ +VYnlU4nLg+wkjUX3iUQkBItFCItACItAHIkEJOifuQAAidiLXfyD7AjJwgQAkJCQ +iwGLQAj/4JCQkJCQkJCQkIsBi0AM/+CQkJCQkJCQkJCLQQgPt0Akw5CQkJCQkJCQ +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 +izyHg8YBiTwk6AKp/v85xonDcxWNRRCJBCSNTQjoHhr//4PsBITAdCE53g+FL/7/ +/4tFGIt94Ik46Sj+//9mkLj/////6Tb///8PtgQ3jU0IiEXk6Kca//84ReR1y41N +CIPGAejHXQIAOd5yp+u6iwGJVdz/UCSLVdyD+P8PhUX////HRQgAAAAAuP/////p +7P7//4sB/1Ao6a3+//+QkFWJ5VdWU4HsvAAAAItVDImNaP///4tFEItNFItdCImV +bP///4tVGImFdP///4mNcP///416bIk8JOiC+wIAiTwkicboOPwCAItGCIu4lAAA +AIl9iIu4mAAAAIuAnAAAAIl9jIlFkItGCIuAoAAAAIlFlItGCIuApAAAAIlFmItG +CIuAqAAAAIlFnItGCIuArAAAAIlFoItGCIuAsAAAAIlFpItGCIuAtAAAAIlFqItG +CIuAuAAAAIlFrItGCIuAvAAAAIlFsItGCIuAwAAAAIlFtItGCItAZIlFuItGCItA +aIlFvItGCItAbIlFwItGCItAcIlFxItGCItAdIlFyItGCItAeIlFzItGCItAfIlF +0ItGCIuAgAAAAIlF1ItGCIuAhAAAAIlF2ItGCIuAiAAAAIlF3ItGCIuAjAAAAIlF +4ItGCIuAkAAAAIlF5IuNcP///41FhIlEJCCNRYiLfRiJRCQUjUWAi5Vs////iUQk +EIuFdP///4lMJAyLjWj///+JfCQciRwkx0QkGAwAAACJRCQIiVQkBMdFhAAAAADo +nAwAAInDiceLRYSD7CSJ1oXAdU6LTYCLRSCJSBCF2w+EhAAAAIP6/8aFbP///wB0 +P4uddP///4XbdGcxwIO9cP////90PjqFbP///3UGi0UcgwgCjWX0ifhbifJeX13C +HACLRRyDCATrs422AAAAAItDCDtDDHM9D7YwxoVs////AOuti4V0////i1gMOVgI +cwQxwOuwicGLAP9QJIPAAXXwuAEAAADrncaFbP///wHpfP///4sDidn/UCSD+P+J +xnW4xoVs////ATH/6WD///+QkJCQkJCQkJCQkJCQkJBVieVXVlOB7IwAAACLRRiJ +TaCNWGyJHCToI/kCAIkcJDHbiUWU6Nb5AgCJxotFJIkEJOi5pf7/x0WwAAAAAIlF +pItNCIXJD4R5CgAAMdKDfQz/D4QMAQAAi00QhckPhGwKAAAxwIN9FP8PhBEBAAA4 +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 +iwSfi1UciwSCiQQk6I+M/v85xg9H8IPDATtd5HLii00Ihcl0G4tBCDtBDA+DTQEA +AIPAAolBCLv/////ZoldDINF3AE5ddwPgwP///+NRRCJBCSNTQjodf7+/4PsBITA +D4Xq/v//i0XcMdKLXeQBwIlF4OsMg+sBiwSfOdOJBnY5jTSXi00ciwaLBIGLTeAP +twQIi00IZolF5Lj/////hcl0Cg+3RQxmg/j/dHhmOUXkdcKDwgE503fHg/sBiV3k +D4ca////idqD+gEPhX/+//+NTQjoB0ECAIsHi30ci13ciUXgiwSHg8MBiQQkiUXk +6KuL/v85w4nGcxWNRRCJBCSNTQjox/3+/4PsBITAdDw58w+FOP7//4tFGIt94Ik4 +6TH+//+LQQg7QQxzRA+3AGaD+P90CmaJRQzpbv///5DHRQgAAAAA6WH///+LReSN +TQgPtzxY6DX+/v9mOcd1sI1NCIPDAeh1QAIAOfNyjOufiwGJVdj/UCSLVdjrsosB +/1Ao6a/+//+QkJCQkJCQkFWJ5VdWU4HsvAAAAItFCIt1FImNYP///4tNGIt9DImF +ZP///4tFEIm1aP///41xbIk0JImFbP///+hy3gIAiTQkicPoKN8CAItDCIuQlAAA +AIlViIuQmAAAAIuAnAAAAIlVjIlFkItDCIuAoAAAAIlFlItDCIuApAAAAIlFmItD +CIuAqAAAAIlFnItDCIuArAAAAIlFoItDCIuAsAAAAIlFpItDCIuAtAAAAIlFqItD +CIuAuAAAAIlFrItDCIuAvAAAAIlFsItDCIuAwAAAAIlFtItDCItAZIlFuItDCItA +aIlFvItDCItAbIlFwItDCItAcIlFxItDCItAdIlFyItDCItAeIlFzItDCItAfIlF +0ItDCIuAgAAAAIlF1ItDCIuAhAAAAIlF2ItDCIuAiAAAAIlF3ItDCIuAjAAAAIlF +4ItDCIuAkAAAAIlF5I1FhItNGIlEJCCNRYiLtWj///+JRCQUjUWAiUQkEIuFbP// +/4lMJByLjWD///+JdCQMiXwkBIlEJAiLhWT////HRCQYDAAAAMdFhAAAAACJBCTo +XBAAAInDZonXidCJ1omVdP///4tVhIPsJImdcP///4mdZP///4XSdVeLVYCLTSCJ +URCF27oBAAAAdAgx0maD+P90X4uNbP///7gBAAAAhcl0DDHAZoO9aP////90KjjQ +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 +iUUM6ej7//+NRbCLVRSJRCQki0UYi43s/v//x0QkHAIAAACJVCQMi1UMiUQkIItF +IMdEJBg7AAAAx0QkFAAAAACJVCQEg8AEiUQkEItFEIlEJAiLRQiJBCToAvD//4mF +QP///4PsKImVRP///4lFCA+3hUT///9miUUM6XD7//+LA419uInZiXwkCMdEJAT9 +cUkAxwQk93FJAP9QLItFIItVFIuN7P7//4PsDIlEJBiNRbCJRCQUi0UYiVQkDItV +DIl8JByJRCQQi0UQiVQkBIlEJAiLRQiJBCTokfj//4mFOP///4PsIImVPP///4lF +CA+3hTz///9miUUM6e/6//+NRbCLVRSJRCQki0UYi43s/v//x0QkHAIAAACJVCQM +i1UMiUQkIItFIMdEJBg9AAAAx0QkFAAAAACJVCQEiUQkEItFEIlEJAiLRQiJBCTo +DO///4mFMP///4PsKImVNP///4lFCA+3hTT///9miUUM6Xr6//+LA419uInZiXwk +CMdEJAQGckkAxwQk/XFJAP9QLItFIItVFIuN7P7//4PsDIlEJBiNRbCJRCQUi0UY +iVQkDItVDIl8JByJRCQQi0UQiVQkBIlEJAiLRQiJBCTom/f//4mFKP///4PsIImV +LP///4lFCA+3hSz///9miUUM6fn5//+Lhej+//+LVRSLjez+//+LQAiLQBCJVCQM +i1UMiUQkHItFIIlUJASJRCQYjUWwiUQkFItFGIlEJBCLRRCJRCQIi0UIiQQk6C73 +//+JhRj///+D7CCJlRz///+JRQgPt4Uc////ZolFDOmM+f//jU0I6HTy/v+LE4nZ +xwQkAQAAAA+3wIlEJAT/UgiD7AiEwA+EXPn//41FsItVFIlEJCCLRRiLjez+///H +RCQYDgAAAIlUJAyLVQyJRCQcjUW4iUQkEItFEMdEJBQADUkAiVQkBIlEJAiLRQiJ +BCToefH//41NCImFCP///4PsJImVDP///4lFCA+3hQz///9miUUMjUUQiQQk6B7x +/v+D7ASEwA+F4/j//4t1sIX2D4XY+P//i024hckPhc34//+NTQjotfH+/4nZicaL +A8cEJC0AAAD/UCiD7ARmOcZ0JI1NCOiV8f7/idmJxosDxwQkKwAAAP9QKIPsBGY5 +xg+Fifj//41FsItVFIlEJCSLRRiLvez+///HRCQcAgAAAIlUJAyLVQyJRCQgjUW4 +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 +U4nLg+wYi1QkKItEJCDGRCQMAIlUJAiLVCQkiQQkjRRQiVQkBOiG4f//iQODxBhb +wgwAkJCQkJCQkJCQkJCQkMcBbAxJAMIEAJCQkJCQkJBVieVWic5Tg+wgi0UIixiL +Q/yNS/SFwHgXgflgDEkAdTCJ2IkGjWX4W15dwgQAZpCNRffHRCQEAAAAAIkEJOhd +5v//iQaD7AiNZfhbXl3CBACNQ/zoD40CAOvGkJCQkJBVic1XVlOD7CyLVCRAi0Qk +RIt0JEiLEota9InfKcc59w9G9wHGOdiNDHJ3KY1cJB+NBEKJXCQIxkQkDACJTCQE +iQQk6Ijh//+JRQCDxCxbXl9dwgwAxwQkUm9JAOivLQIAkJCQkJCQkJCQkJCQkJCQ +VYnNV1ZTg+wci1QkMItEJDSLdCQ4ixKLWvSJ3ynHOfcPRvcBxjnYjQxydymLXCQ8 +jQRCxkQkDACJTCQEiQQkiVwkCOgY4f//iUUAg8QcW15fXcIQAMcEJFJvSQDoPy0C +AJCQkJCQkJCQkJCQkJCQkFOJy4PsGItUJCiLRCQgxkQkDACJVCQIi1QkJIkEJI0U +UIlUJATo9t///4kDg8QYW8IMAJCQkJCQkJCQkJCQkJBTicuD7AiLRCQQi1QkFIXA +dQ64bAxJAIkDg8QIW8IMAItMJBgPt9LopN7//4kDg8QIW8IMAJCQkJCQkJCQkJCQ +xwFsDEkAw5CQkJCQkJCQkFOJy4PsGItEJCjGRCQMAIlEJAiLRCQkiUQkBItEJCCJ +BCTo2d7//4kDg8QYW8IMAFOJy4PsGItEJCjGRCQMAIlEJAiLRCQkiUQkBItEJCCJ +BCToOd///4kDg8QYW8IMAFOJy4PsGItEJCjGRCQMAIlEJAiLRCQkiUQkBItEJCCJ +BCTo2d///4kDg8QYW8IMAIsJg+kMgflgDEkAdQLzw+kEiwIAkJCQkJCQkJCQkJCQ +iwmD6QyB+WAMSQB1AvPD6eSKAgCQkJCQkJCQkJCQkJBTiciLCYtcJAiLUfyF0ngX +ixODevwAeQfHQvwAAAAAiRCJC1vCBADHQfwAAAAA6+BVieVWic5Tg+wQi10IiRwk +6Mvz/f+J8YkcJIlEJATo7er//4PsCI1l+FteXcIEAJBVieXJ6bfr//+QkJCQkJCQ +VYnlU4nLg+wUi0UMiUQkBItFCIkEJOi16v//idiLXfyD7AjJwggAkJCQkJCQkJCQ +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 +i138g+wQycIMAMcEJG9tSQDo6soBAJCQkJCQkJCQkJBWic5Tg+wEi1wkEIsTi0r8 +hcl4CYnZ6CXt//+LEwNS9InwiRaDxARbXsIEAJCQkJBVieWD7BiLRQjHRCQEAAAA +AIkEJOgHAAAAg+wIycIEAFWJ5VOD7BSLRQiLEYtdDD38//8/i1L0d0k50HYLKdB1 +L4td/MnCCABz9ynCx0QkCAAAAACJVCQEiQQk6BAGAACLXfyD7AzJwggAjbYAAAAA +D77biV0Mi138iUUIyen++P//xwQkxG1JAOiCyQEAkJCLRCQMi1QkBItMJAiD+AF0 +EYlEJAyJTCQIiVQkBOnWkf3/D7YBiALDkJCQkJCQkJCLRCQEiQHCBACQkJCQkJCQ +iwGLQPyFwHgH6TLs//9mkPPDkJCQkJCQkJCQkJCQkJCLRCQMi1QkBItMJAiD+AF0 +EYlEJAyJTCQIiVQkBOmukf3/D7YBiALDkJCQkJCQkJBVieWLVQiLRQxTi10QKV0U +i138KdArEYlFDIlVCMnp3QEAAJCQkJCQkJCQkJCQkJBVieVXic9WU4PsHIt1EItd +CIk0JOh3kf3/ifmJdCQIiUQkDItFDCnYKx+JRCQEiRwk6JoBAACD7BCNZfRbXl9d +wgwAkJCQkJCQkJCQkJCQkFWJ5YtVCItFDFOLXRApXRSLXfwp0CsRiUUMiVUIyeld +AQAAkJCQkJCQkJCQkJCQkFWJ5YtVCItFDFOLXfwp0CsRiUUMiVUIyekzAQAAkJCQ +VYnlVlOD7BCLXRCLVQiLRQyLGynQKxGLc/SJXCQIiUQkBIkUJIl0JAzoAgEAAIPs +EI1l+FteXcIMAJCQkJCQkFWJ5YtVCItFDFOLXRApXRSLXfwp0CsRiUUMiVUIyenN +AAAAkJCQkJCQkJCQkJCQkFWJ5YtVCItFDFOLXRApXRSLXfwp0CsRiUUMiVUIyemd +AAAAkJCQkJCQkJCQkJCQkFWJ5YtVCItFDFOLXfwp0CsRiUUMiVUIyelzAAAAkJCQ +VYnli1UIi0UMUw++XRQp0CsRiV0Ui138iUUMiVUIyek87v//kJCQkJCQkJCQkJCQ +VYnlVonOU4PsEItdEIkcJOjrj/3/ifGJXCQIiUQkDItFDIlEJASLRQiJBCToDwAA +AIPsEI1l+FteXcIMAJCQkFWJ5VdWic5Tg+w8iwGLXQiLfQyLSPQ5yw+HQQEAAInK +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 +i0QkBAFBCMIEAJCQkJCQkMIEAJCQkJCQkJCQkJCQkJCLRCQEAUEUwgQAkJCQkJCQ +i0EIO0EMcwQPtgDDiwGLQCT/4JCQkJCQkJCQkJCQkJCLAVWJ5YtAIMn/4JCQkJCQ +i1EUO1EYVYnli0UIcw2IAg+2wINBFAHJwgQAixEPtsCJRQiLQjTJ/+CQkJCQkJCQ +iwFVieWLQDDJ/+CQkJCQkFOJy4PsCIsB/1Akg/j/dBGLUwgPtgKDwgGJUwiDxAhb +w7j/////6/SQkJCQkJCQkItRCDtRDHMKD7YCg8IBiVEIw4sBi0Ao/+CQkJCQkJCQ +icjCCACQkJCQkJCQkJCQkFOJy4PsCItRCItBDDnCcxKDwgGJUQg5wnMfD7YCg8QI +W8OLAf9QKInCg8j/g8IBdOyLUwiLQwzr3YsDidmLQCSDxAhb/+CQkJCQkJCQkJCQ +i0EIO0EMcwiDwAGJQQjDkIsBi0Ao/+CQkJCQkJCQkJBVV1ZTg+wci0QkNIt8JDCF +wH5oicsx7YtTCItDDCnQdSaLA4nZ/1Aog/j/dEKDxQE5bCQ0jVcBiAd+NInXi0MM +i1MIKdB02otMJDSJVCQEiTwkKek5wQ9OwYnGiUQkCAH16KKX/P8Bcwg5bCQ0fxCD +xByJ6FteX13CCAAx7evwAffrnpCQkJCQkJCQkJCQkJBVieVXVlOD7ByLVQyLdQiF +0n5uicsx/4tTFItDGCnQdSqLA4nZD7YWiRQk/1A0g+wEg/j/dD+DxwGDxgE5fQx+ +NItTFItDGCnQdNaLTQyJdCQEiRQkKfk5wQ9PyIlMJAiJTeToEJf8/4tN5AFLFAHP +OX0MfxCNZfSJ+FteX13CCAAx/+vwAc7rmJCQkJCQkJCLAYtAGP/gkJCQkJCQkJCQ +icjHAf/////HQQT/////x0EIAAAAAMIUAJCQkJCQkJCD7BSJyMcB/////8dBBP// +///HQQgAAAAAg8QUwhgAkItBCDlBBHMLjVD/iVEID7ZA/8NVieWD7BiLAccEJP// +////UCxSycOQkJCQkJCQkItBDCtBCHQI88ONtgAAAACLAYtAHP/gkJCQkJCQkJCQ +uP/////CBACQkJCQkJCQkFWJ5VdWU4nLg+wci3UIjX4ciTwk6PdwAACLBonxi1UM +g+wEiRQk/1AIi0UMg+wEifmJBCToB3IAAInYg+wEjWX0W15fXcIIAInGidnon3EA +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 +cUkAuQYAAADzpnUKjWX0W15fXcIIAItFCI115MdEJAgAAAAAiTQkiUQkBOgAXwAA +i0XkidmJBCTo05EAAIPsBIk0JOhYXwAAjWX0W15fXcIIAInGidnotZQAAIk0JOht +Cfz/icaJ2eh0XwAAiTQk6FwJ/P+QkJCQkJCQkJCQkJBTicuD7BjHAejRSQDof5QA +AIkcJOh3AAEAg8QYW8OQkMcB6NFJAOlllAAAkJCQkJDHAejRSQDpVZQAAJCQkJCQ +i1QkCDHAxwEo0kkAhdIPlcCJQQTCCACQkJCQkJCQkJCLVCQIMcDHASjSSQCF0g+V +wIlBBMIIAJCQkJCQkJCQkFOJy4PsGMcB6NhJAOjPXgAAiRwk6Pf/AACDxBhbw5CQ +xwHo2EkA6bVeAACQkJCQkMcB6NhJAOmlXgAAkJCQkJCLVCQIMcDHAWjSSQCF0g+V +wIlBBMIIAJCQkJCQkJCQkItUJAgxwMcBaNJJAIXSD5XAiUEEwggAkJCQkJCQkJCQ +U4nLg+wYxwEo2UkA6E9eAACJHCTod/8AAIPEGFvDkJDHASjZSQDpNV4AAJCQkJCQ +xwEo2UkA6SVeAACQkJCQkItUJAgxwMcBqNJJAIXSD5XAiUEEwggAkJCQkJCQkJCQ +i1QkCDHAxwGo0kkAhdIPlcCJQQTCCACQkJCQkJCQkJBTicuD7BjHAWjZSQDoz10A +AIkcJOj3/gAAg8QYW8OQkMcBaNlJAOm1XQAAkJCQkJDHAWjZSQDppV0AAJCQkJCQ +i1QkCDHAxwHA0kkAhdIPlcCJQQTCCACQkJCQkJCQkJCLVCQIMcDHAcDSSQCF0g+V +wIlBBMIIAJCQkJCQkJCQkFOJy4PsGMcBgNlJAOhPXQAAiRwk6Hf+AACDxBhbw5CQ +xwGA2UkA6TVdAACQkJCQkMcBgNlJAOklXQAAkJCQkJBVieVTicuD7BSLRQiJBCTo +DL7//8cD2NJJAItd/IPsBMnCBACQkJCQkJCQkJCQkJBTicuD7BjHAdjSSQDoP77/ +/4kcJOgH/gAAg8QYW8OQkMcB2NJJAOklvv//kJCQkJBVieVXVonOU4PsTItFCMZB +ZAGJBCToVt0AAI1N0InDiwCJHCT/UBCLRdCD7ASLUPSNePSB/3AMSQCJVgwPhbQC +AACJFCToxv0AAIlFxIsDjU3Ui34MiRwk/1AQi0XEg+wEx0QkCAAAAACNTdSJfCQE +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 +HCTo6YcAAIPEFFtew4nGidnoqub//4k0JOiSkPv/kJBWU4nLg+wUjUEIxwHI1kkA +iQQk6Ejm//+DxBSJ2Vte6Xzm//+JxonZ6HPm//+JNCToW5D7/5CQkJCQkJCQkJCQ +VlOJy4PsFI1BCMcByNZJAIkEJOgI5v//g8QUidlbXuk85v//icaJ2egz5v//iTQk +6BuQ+/+QkJCQkJCQkJCQkItUJAQxwMcB6NZJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +i1QkBDHAxwHo1kkAhdIPlcCJQQTCBACQkJCQkJCQkJBTicuD7BjHAejWSQDoz+X/ +/4kcJOj3hgAAg8QYW8OQkMcB6NZJAOm15f//kJCQkJDHAejWSQDppeX//5CQkJCQ +i1QkBDHAxwEo10kAhdIPlcCJQQTCBACQkJCQkJCQkJCLVCQEMcDHASjXSQCF0g+V +wIlBBMIEAJCQkJCQkJCQkFOJy4PsGMcBKNdJAOhP5f//iRwk6HeGAACDxBhbw5CQ +xwEo10kA6TXl//+QkJCQkMcBKNdJAOkl5f//kJCQkJCLVCQEMcDHAWjXSQCF0g+V +wIlBBMIEAJCQkJCQkJCQkItUJAQxwMcBaNdJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +U4nLg+wYxwFo10kA6M/k//+JHCTo94UAAIPEGFvDkJDHAWjXSQDpteT//5CQkJCQ +xwFo10kA6aXk//+QkJCQkItUJAQxwMcBqNdJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +i1QkBDHAxwGo10kAhdIPlcCJQQTCBACQkJCQkJCQkJBTicuD7BjHAajXSQDoT+T/ +/4kcJOh3hQAAg8QYW8OQkMcBqNdJAOk15P//kJCQkJDHAajXSQDpJeT//5CQkJCQ +U4nLg+wYxwHo10kA6H8pAACJHCToN4UAAIPEGFvDkJDHAejXSQDpZSkAAJCQkJCQ +VVdWU4nLg+wcg3wkMAeLbCQ0jXkkD46VAAAAgXwkMP///38PhKoAAACLRCQwjXAB +uP////+NFPUAAAAAgf4AAOAPD0bCiQQkiXQkCOjvhAAAicUxwMdExQAAAAAAx0TF +BAAAAACDwAE58HXpi0tki0Nohcl+JDHSiVwkDI10JgCLHNCLdNAEiVzVAIl01QSD +wgE5ynXqi1wkDIXAdGI5x3ReiQQkie/oZIQAAOsKZpDHRCQICAAAAItEJAiJe2iJ +Q2SLRCQwjQTHg8QcW15fXcIIAItBFIPIAYVBEIlBFHUsieiEwHQdx0EgAAAAAIPE +HI1DHFteX13CCACQjXQmAInv67THQRwAAAAA6+HHBCRgcEkA6Jc+AACD6gGJBCR0 +Bei6jPv/6MWGAACLQxSDyAGFQxCJQxR1IonohMB0KMdDIAAAAACNQxyJRCQI6I6I +AACLRCQI6W7////HBCSIcEkA6Ek+AADHQxwAAAAA69aJw+hpiAAAiRwk6GGM+/+Q +VYnlVlOD7CAPth2MDUkAgH0IAXULjWX4idhbXl3DZpCE23TxjU336BQDAAC5fAhJ +AMYFjA1JAADHBWAISQDo0EkA6Knl//+5/AdJAMcF4AdJAOjQSQDoleX//7k8CEkA +xwUgCEkA6NBJAOiB5f//uTwJSQDHBSAJSQAo0UkA6G3l//+5vAhJAMcFoAhJACjR +SQDoWeX//7n8CEkAxwXgCEkAKNFJAOhF5f//izWoY0wAuWAKSQDHRCQIAAIAAMdE +JAQQAAAAjUYgiQQk6L8j/P+D7Ay5YAlJAMdEJAgAAgAAx0QkBAgAAACJNCTonyP8 +/4PsDLngCUkAjUZAx0QkCAACAADHRCQEEAAAAIkEJOh8I/z/g+wMuaQPSQDHBCRg +CkkA6GgbAACD7AS5yA1JAMcEJGAJSQDoVBsAAIPsBLlkDkkAxwQk4AlJAOhAGwAA +g+wEuQQPSQDHBCTgCUkA6CwbAACD7AS54AtJAI1GIMdEJAgAAgAAx0QkBBAAAACJ +BCToCSf8/4PsDLngCkkAx0QkCAACAADHRCQECAAAAIk0JOjpJvz/g+wMg8ZAx0Qk +CAACAAC5YAtJAMdEJAQQAAAAiTQk6MYm/P+D7Ay5JBJJAMcEJOALSQDogiEAAIPs +BLlIEEkAxwQk4ApJAOhuIQAAg+wEueQQSQDHBCRgC0kA6FohAACD7AS5hBFJAMcE +JGALSQDoRiEAAIPsBI1N9+jrCAAAjWX4idhbXl3DicONTffo2AgAAIkcJOggivv/ +V1aJzlOD7BCLWRiLfCQghdt0F4tDCIl0JASJPCSJRCQI/1MEixuF23Xpg8QQW15f +wgQAiQQk6PWDAADo4IUAAOvig/r/iQQkdAXo0Yn7/+ichAAAkJCQkJCQkJCQkJCQ +U4nLg+wYxwQkEAAAAOg+gQAAi1MYiRCLVCQgx0AMAAAAAIlQBItUJCSJUAiJQxiD +xBhbwggAkJCQkJCQkJCQkFaJzlOD7BSLQRiFwHRCixUAUUwAhdJ1J4tQDI1a/4XS +iVgMdSuLGIkEJOiRgAAAhdt0HYsVAFFMAInYhdJ02br/////8A/BUAyF0nTYjXYA +x0YYAAAAAIPEFFtew5CQkKEAUUwAhcAPhasGAAChiA1JAI1QAYkViA1JAIXAdAHD +Vbl8CEkAieVTg+wUxgWMDUkAAccFYAhJAOjQSQDHBWQISQAAAAAAxwVoCEkAAAAA +AMcFbAhJAAAAAADHBXAISQAAAAAAxwV0CEkAAAAAAMcFeAhJAAAAAADocuH//4sd +qGNMALn8B0kAxwVgCEkAaMhJAMcFhAhJAP/////HBeAHSQDo0EkAjUMgo4AISQDH +BeQHSQAAAAAAxwXoB0kAAAAAAMcF7AdJAAAAAADHBfAHSQAAAAAAxwX0B0kAAAAA +AMcF+AdJAAAAAADoAOH//7k8CEkAxwXgB0kAaMhJAIkdAAhJAMcFBAhJAP/////H +BSAISQDo0EkAxwUkCEkAAAAAAMcFKAhJAAAAAADHBSwISQAAAAAAxwUwCEkAAAAA +AMcFNAhJAAAAAADHBTgISQAAAAAA6Jbg//+NQ0C5pA9JAMcFIAhJAGjISQCjQAhJ +AMcFRAhJAP/////okAgAALmkD0kAxwQkYAhJAMcFFBBJAAAAAADGBRgQSQAAxgUZ +EEkAAMcFHBBJAAAAAADHBSAQSQAAAAAAxwUkEEkAAAAAAMcFKBBJAAAAAADHBaAP +SQDsyUkAxwWkD0kAAMpJAOgrFgAAg+wEucgNSQDoHggAALnIDUkAxwQk4AdJAMcF +OA5JAAAAAADGBTwOSQAAxgU9DkkAAMcFQA5JAAAAAADHBUQOSQAAAAAAxwVIDkkA +AAAAAMcFTA5JAAAAAADHBcANSQCsyUkAxwXIDUkAwMlJAMcFxA1JAAAAAADorxUA +AIPsBLlkDkkA6KIHAAC5ZA5JAMcEJCAISQDHBdQOSQAAAAAAxgXYDkkAAMYF2Q5J +AADHBdwOSQAAAAAAxwXgDkkAAAAAAMcF5A5JAAAAAADHBegOSQAAAAAAxwVgDkkA +7MlJAMcFZA5JAADKSQDoPRUAAIPsBLkED0kA6DAHAAC5BA9JAMcEJCAISQDHBXQP +SQAAAAAAxgV4D0kAAMYFeQ9JAADHBXwPSQAAAAAAxwWAD0kAAAAAAMcFhA9JAAAA +AADHBYgPSQAAAAAAxwUAD0kA7MlJAMcFBA9JAADKSQDoyxQAAIPsBLk8CUkAxwU4 +DkkAoA9JAIENcA5JAAAgAADHBdQOSQCgD0kAxwUgCUkAKNFJAMcFJAlJAAAAAADH +BSgJSQAAAAAAxwUsCUkAAAAAAMcFMAlJAAAAAADHBTQJSQAAAAAAxwU4CUkAAAAA +AOg63v//jUMgubwISQCjQAlJALj/////ZqNECUkAxwUgCUkAqMhJAMcFoAhJACjR +SQDHBaQISQAAAAAAxwWoCEkAAAAAAMcFrAhJAAAAAADHBbAISQAAAAAAxwW0CEkA +AAAAAMcFuAhJAAAAAADozd3//7j/////ufwISQCJHcAISQCDw0Bmo8QISQDHBaAI +SQCoyEkAxwXgCEkAKNFJAMcF5AhJAAAAAADHBegISQAAAAAAxwXsCEkAAAAAAMcF +8AhJAAAAAADHBfQISQAAAAAAxwX4CEkAAAAAAOhf3f//uP////+5JBJJAGajBAlJ +AMcF4AhJAKjISQCJHQAJSQDoWgUAADHAuSQSSQDHBCQgCUkAxwWUEkkAAAAAAGaj +mBJJAMYFmhJJAADHBZwSSQAAAAAAxwWgEkkAAAAAAMcFpBJJAAAAAADHBagSSQAA +AAAAxwUgEkkALM5JAMcFJBJJAEDOSQDoxBkAAIPsBLlIEEkA6OcEAAAx27lIEEkA +xwQkoAhJAMcFuBBJAAAAAABmiR28EEkAxgW+EEkAAMcFwBBJAAAAAADHBcQQSQAA +AAAAxwXIEEkAAAAAAMcFzBBJAAAAAADHBUAQSQDszUkAxwVIEEkAAM5JAMcFRBBJ +AAAAAADoRhkAAIPsBLnkEEkA6GkEAAAxyWaJDVgRSQC55BBJAMcEJOAISQDHBVQR +SQAAAAAAxgVaEUkAAMcFXBFJAAAAAADHBWARSQAAAAAAxwVkEUkAAAAAAMcFaBFJ +AAAAAADHBeAQSQAszkkAxwXkEEkAQM5JAOjSGAAAg+wEuYQRSQDo9QMAADHSuYQR +SQDHBCTgCEkAxwX0EUkAAAAAAGaJFfgRSQDGBfoRSQAAxwX8EUkAAAAAAMcFABJJ +AAAAAADHBQQSSQAAAAAAxwUIEkkAAAAAAMcFgBFJACzOSQDHBYQRSQBAzkkA6F4Y +AAChAFFMAIPsBIEN8BBJAAAgAADHBbgQSQAgEkkAhcDHBVQRSQAgEkkAdSSDBYgN +SQABi138ycO4AQAAAPAPwQWIDUkA6VH5//+NtgAAAADwgwWIDUkAAevZicO5hBFJ +AMcFhBFJAMDZSQDosAMAAIkcJOgogvv/icO5pA9JAMcFpA9JALDZSQDokgMAAIkc +JOgKgvv/icO5yA1JAMcFyA1JALDZSQDodAMAAIkcJOjsgfv/icO5ZA5JAMcFZA5J +ALDZSQDoVgMAAIkcJOjOgfv/icO5BA9JAMcFBA9JALDZSQDoOAMAAIkcJOiwgfv/ +icO5JBJJAMcFJBJJAMDZSQDoGgMAAIkcJOiSgfv/icO5SBBJAMcFSBBJAMDZSQDo +/AIAAIkcJOh0gfv/icO55BBJAMcF5BBJAMDZSQDo3gIAAIkcJOhWgfv/kJCQkJCQ +oQBRTACFwHUXoYgNSQCNUP+D+AKJFYgNSQB0FsONdgC4//////APwQWIDUkAg/gC +deqD7By5oA9JAOjBP/7/uWAOSQDotz/+/7kAD0kA6K0//v+5IBJJAOgTH///ueAQ +SQDoCR///7mAEUkA6P8e//+DxBzDiQQk6ON6AACDxBzpy3wAAJCQkJCQkJCQkJCQ +VYnlV1aJzlOD7ByLXQiNe2yJPCToV9n//4tFDIn5g+wEiQQk6Hfa//+J2YPsBMcE +JAEAAADoZvb//4nwg+wEjWX0W15fXcIIAJCQkJCQkJChAFFMAIXAdReh4BJJAI1Q +AYPABIkV4BJJAMOQjXQmALgBAAAA8A/BBeASSQCDwATDkJCQkJCQkJCQkJCQkJCQ +VYnlVlOJy4119IPsIMdBBAYAAADHQQgAAAAAx0EMAhAAAInx6NfY//+NS2yJNCTo +3Nn//4nxg+wE6ILZ//+NZfhbXl3DkJCQkJCQkJCQkJBVieVXVlOJy4PsHItFCMcB +QMlJAI1JBIkEJOghdP7/g+wEjWX0W15fXcIEAInXidmJxugpGwAAg8cBiTQkdAXo +nH/7/+hnegAAkJCQkJCQkFOJy4PsGOgVAAAAiRwk6L12AACDxBhbw5CQkJCQkJCQ +VYnlVlOJy4PsIItBBMcBQMlJAI1I9IH5cAxJAHUOidnoyxoAAI1l+FteXcODPQBR +TAAAdR2LUPyNcv+JcPyJ0IXAf9qNRfeJBCToAV3+/1DrzIPK//APwVD8idDr4pCQ +U41ZJMcBANhJAInYx0EEAAAAAI1RZMdBCAAAAADHQQwAAAAAx0EQAAAAAMdBFAAA +AADHQRgAAAAAx0EcAAAAAMdBIAAAAADHAAAAAACDwAjHQPwAAAAAOdB17MdBZAgA +AACDwWyJWfxb6XLX//+QkFOJy4PsGOgVAAAAiRwk6M11AACDxBhbw5CQkJCQkJCQ +VYnlU4nLg+wUxwEA2EkAxwQkAAAAAOhF9P//idmD7ATo2/T//4tDaI1TJDnQdBOF +wHQIiQQk6HV1AADHQ2gAAAAAjUtsi138yenC1///kJBWMcBTicuD7BSLTCQoxwMQ +2EkAhckPlcCJQwToANP//4lDCIPEFFtewgwAicaJ2egM1P//iTQk6PR9+/+QkJCQ +VjHAU4nLg+wUi3QkIMcBENhJAIX2D5XAiUEE6MDS//+JQwiDxBRbXsIEAInGidno +zNP//4k0JOi0ffv/kJCQkFYxwFOJy4PsFItUJCjHARDYSQCF0g+VwIlBBOiA0v// +iUMIg8QUW17CDACJxonZ6IzT//+JNCTodH37/5CQkJBWMcBTicuD7BSLTCQgxwMQ +2EkAhckPlcCJQwToQNL//4lDCIPEFFtewgQAicaJ2ehM0///iTQk6DR9+/+QkJCQ +U4nLg+wY6BUAAACJHCToXXQAAIPEGFvDkJCQkJCQkJBWU4nLg+wUjUEIxwEQ2EkA +iQQk6MjS//+DxBSJ2Vte6fzS//+JxonZ6PPS//+JNCTo23z7/5CQkJCQkJCQkJCQ +VlOJy4PsFI1BCMcBENhJAIkEJOiI0v//g8QUidlbXum80v//icaJ2eiz0v//iTQk +6Jt8+/+QkJCQkJCQkJCQkFYxwFOJy4PsFItMJCjHAzDYSQCFyQ+VwIlDBOhg0f// +iUMIg8QUW17CDACJxonZ6GzS//+JNCToVHz7/5CQkJBWMcBTicuD7BSLdCQgxwEw +2EkAhfYPlcCJQQToINH//4lDCIPEFFtewgQAicaJ2egs0v//iTQk6BR8+/+QkJCQ +VjHAU4nLg+wUi1QkKMcBMNhJAIXSD5XAiUEE6ODQ//+JQwiDxBRbXsIMAInGidno +7NH//4k0JOjUe/v/kJCQkFYxwFOJy4PsFItMJCDHAzDYSQCFyQ+VwIlDBOig0P// +iUMIg8QUW17CBACJxonZ6KzR//+JNCTolHv7/5CQkJBTicuD7BjoFQAAAIkcJOi9 +cgAAg8QYW8OQkJCQkJCQkFZTicuD7BSNQQjHATDYSQCJBCToKNH//4PEFInZW17p +XNH//4nGidnoU9H//4k0JOg7e/v/kJCQkJCQkJCQkJBWU4nLg+wUjUEIxwEw2EkA +iQQk6OjQ//+DxBSJ2Vte6RzR//+JxonZ6BPR//+JNCTo+3r7/5CQkJCQkJCQkJCQ +VlOD7BSLQQiFwHR+x0AIuHdJAIsdhAxJAMdADAAAAADGQBAAxkAkLotBCMZAJSwx +wA+2FAOLcQiIVAYmg8ABg/gkde2LHYAMSQAwwI10JgAPthQDi3EIiFQGSoPAAYP4 +GnXti0EIx0AUuXdJAMdAGAQAAADHQBy+d0kAx0AgBQAAAIPEFFtewgQAxwQkaAAA +AIlMJAzo5nEAAItMJAzHQAQAAAAAxwDw0kkAx0AIAAAAAMdADAAAAADGQBAAx0AU +AAAAAMdAGAAAAADHQBwAAAAAx0AgAAAAAMZAJADGQCUAxkBkAIlBCOkf////kJCQ +VTHAieVWU4nLg+wQi00MxwNo2EkAxwQkAAAAAIXJidkPlcCJQwSLRQiJQwjo3/7/ +/4PsBI1l+FteXcIIAInGidnoys///4k0JOiyefv/kJBVMcCJ5VZTicuD7BCLVQzH +AWjYSQDHQQgAAAAAhdIPlcCJQQSLRQiJBCTokf7//4PsBI1l+FteXcIIAInGidno +fM///4k0JOhkefv/kJCQkFUxwInlVlOJy4PsEIt1CMcBaNhJAMdBCAAAAACF9g+V +wIlBBMcEJAAAAADoQP7//4PsBI1l+FteXcIEAInGidnoK8///4k0JOgTefv/kJCQ +VTHAieVWU4nLg+wQi1UMxwFo2EkAhdIPlcCJQQSLRQiJQQjHBCQAAAAA6PH9//+D +7ASNZfhbXl3CCACJxonZ6NzO//+JNCToxHj7/5CQkJBVMcCJ5VZTicuD7BCLdQzH +AWjYSQDHQQgAAAAAhfYPlcCJQQSLRQiJBCToof3//4PsBI1l+FteXcIIAInGidno +jM7//4k0JOh0ePv/kJCQkFUxwInlVlOJy4PsEItNCMcDaNhJAMdDCAAAAADHBCQA +AAAAhcmJ2Q+VwIlDBOhO/f//g+wEjWX4W15dwgQAicaJ2eg5zv//iTQk6CF4+/+Q +U4nLg+wY6BUAAACJHCToTW8AAIPEGFvDkJCQkJCQkJBWU4nLg+wUxwFo2EkAi0kI +hcl0BYsB/1AEg8QUidlbXunrzf//icaJ2ejizf//iTQk6Mp3+/+QkJCQkJCQkJCQ +U4PsGItRCIXSdHuLHYQMSQC4LgAAALksAAAAZolCJDHAx0IIuHdJAMdCDAAAAADG +QhAAZolKJmYPvgwDZolMQiiDwAGD+CR17osdgAxJADDAZg++DANmiUxCcIPAAYP4 +GnXux0IUxHdJAMdCGAQAAADHQhzOd0kAx0IgBQAAAIPEGFvCBADHBCSoAAAAMduJ +TCQM6LhuAACLTCQMMdJmiVAmicLHQAQAAAAAxwAA00kAx0AIAAAAAMdADAAAAADG +QBAAx0AUAAAAAMdAGAAAAADHQBwAAAAAx0AgAAAAAGaJWCTGgKQAAAAAiUEI6Rn/ +//+QkJCQkJCQkJCQkJCQkFUxwInlVlOJy4PsEItNDMcDqNhJAMcEJAAAAACFyYnZ +D5XAiUMEi0UIiUMI6M/+//+D7ASNZfhbXl3CCACJxonZ6IrM//+JNCTocnb7/5CQ +VTHAieVWU4nLg+wQi1UMxwGo2EkAx0EIAAAAAIXSD5XAiUEEi0UIiQQk6IH+//+D +7ASNZfhbXl3CCACJxonZ6DzM//+JNCToJHb7/5CQkJBVMcCJ5VZTicuD7BCLdQjH +AajYSQDHQQgAAAAAhfYPlcCJQQTHBCQAAAAA6DD+//+D7ASNZfhbXl3CBACJxonZ +6OvL//+JNCTo03X7/5CQkFUxwInlVlOJy4PsEItVDMcBqNhJAIXSD5XAiUEEi0UI +iUEIxwQkAAAAAOjh/f//g+wEjWX4W15dwggAicaJ2eicy///iTQk6IR1+/+QkJCQ +VTHAieVWU4nLg+wQi3UMxwGo2EkAx0EIAAAAAIX2D5XAiUEEi0UIiQQk6JH9//+D +7ASNZfhbXl3CCACJxonZ6EzL//+JNCToNHX7/5CQkJBVMcCJ5VZTicuD7BCLTQjH +A6jYSQDHQwgAAAAAxwQkAAAAAIXJidkPlcCJQwToPv3//4PsBI1l+FteXcIEAInG +idno+cr//4k0JOjhdPv/kFOJy4PsGOgVAAAAiRwk6A1sAACDxBhbw5CQkJCQkJCQ +VlOJy4PsFMcBqNhJAItJCIXJdAWLAf9QBIPEFInZW17pq8r//4nGidnoosr//4k0 +JOiKdPv/kJCQkJCQkJCQkItUJAQxwMcB6NhJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +i1QkBDHAxwHo2EkAhdIPlcCJQQTCBACQkJCQkJCQkJBTicuD7BjHAejYSQDoP8r/ +/4kcJOhnawAAg8QYW8OQkMcB6NhJAOklyv//kJCQkJDHAejYSQDpFcr//5CQkJCQ +i1QkBDHAxwEo2UkAhdIPlcCJQQTCBACQkJCQkJCQkJCLVCQEMcDHASjZSQCF0g+V +wIlBBMIEAJCQkJCQkJCQkFOJy4PsGMcBKNlJAOi/yf//iRwk6OdqAACDxBhbw5CQ +xwEo2UkA6aXJ//+QkJCQkMcBKNlJAOmVyf//kJCQkJCLVCQEMcDHAWjZSQCF0g+V +wIlBBMIEAJCQkJCQkJCQkItUJAQxwMcBaNlJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +U4nLg+wYxwFo2UkA6D/J//+JHCToZ2oAAIPEGFvDkJDHAWjZSQDpJcn//5CQkJCQ +xwFo2UkA6RXJ//+QkJCQkItUJAQxwMcBgNlJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +i1QkBDHAxwGA2UkAhdIPlcCJQQTCBACQkJCQkJCQkJBTicuD7BjHAYDZSQDov8j/ +/4kcJOjnaQAAg8QYW8OQkMcBgNlJAOmlyP//kJCQkJDHAYDZSQDplcj//5CQkJCQ +U4nLg+wYxwGY2UkA6O8NAACJHCTop2kAAIPEGFvDkJDHAZjZSQDp1Q0AAJCQkJCQ +VYnli0UIiUEQi0EUiUUIyel7AQAAkJCQkJCQkJCQkJCD7AyLRCQQCUEUhUEQdQaD +xAzCBADoNnIAAJCQkJCQkFaJzlOD7BSLXCQgiRwk6K05AACEwHRHiRwk6DFEAACJ +RnyJHCToljwAAITAdEWJHCToGkcAAImGgAAAAIkcJOi8OwAAhMB0H4kcJOhARgAA +iYaEAAAAg8QUW17CBADHRnwAAAAA67vHhoQAAAAAAAAA6+PHhoAAAAAAAAAA672Q +i1QkBItBcIlRcMIEAJCQkFWJ5VZTicuD7BCLVQiAeXUAdBAPtkF0iFN0jWX4W15d +wgQAi3F8hfZ0PYB+HAB0Fw+2Rj2IQ3TGQ3UBiFN0jWX4W15dwgQAifGJVfTof2P8 +/4sGifHHBCQgAAAA/1AYi1X0g+wE683oRCEAAJCQkJBVieVWU4nLg+wQi3UI6M7w +//+NQ2yJ2YkEJOjh/v//McCJc3jGQ3QAxkN1AMdDcAAAAADHQxAAAAAAg+wEhfYP +lMCJQxSNZfhbXl3CBACQkIPsHItReItEJCCF0nQShUEQiUEUdQ+DxBzCBACNdCYA +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 +2UkAx0NwAAAAAGaJQ3TGQ3YAx0N4AAAAAMdDfAAAAADHg4AAAAAAAAAAx4OEAAAA +AAAAAIPECFvDkJCQkJCQkFWJ5VZTicuD7BDokeb//zHAidlmiUN0i0UIxwPA2UkA +x0NwAAAAAMZDdgDHQ3gAAAAAx0N8AAAAAMeDgAAAAAAAAADHg4QAAAAAAAAAiQQk +6Bv7//+D7ASNZfhbXl3CBACJxonZ6Mbm//+JNCToPmX7/5CQkJCQkJCQkJCQkJCQ +U4nLg+wI6BXm//8xwMcDwNlJAMdDcAAAAABmiUN0xkN2AMdDeAAAAADHQ3wAAAAA +x4OAAAAAAAAAAMeDhAAAAAAAAACDxAhbw5CQkJCQkJBTicuD7BjHAcDZSQDoT+b/ +/4kcJOgHXAAAg8QYW8OQkMcBwNlJAOk15v//kJCQkJDHAcDZSQDpJeb//5CQkJCQ +g+wciQwkxwHQ2UkA6M9bAACDxBzDkJCQkJCQkJCQkJDHAdDZSQDDkJCQkJCQkJCQ +i1QkBDHAxwHo2UkAhdIPlcCJQQTCBACQkJCQkJCQkJCLVCQEMcDHAejZSQCF0g+V +wIlBBMIEAJCQkJCQkJCQkFOJy4PsGMcB6NlJAOgvuv//iRwk6FdbAACDxBhbw5CQ +xwHo2UkA6RW6//+QkJCQkMcB6NlJAOkFuv//kJCQkJCLVCQEMcDHAQDaSQCF0g+V +wIlBBMIEAJCQkJCQkJCQkItUJAQxwMcBANpJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +U4nLg+wYxwEA2kkA6K+5//+JHCTo11oAAIPEGFvDkJDHAQDaSQDplbn//5CQkJCQ +xwEA2kkA6YW5//+QkJCQkItUJAQxwMcBGNpJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +i1QkBDHAxwEY2kkAhdIPlcCJQQTCBACQkJCQkJCQkJBTicuD7BjHARjaSQDoL7n/ +/4kcJOhXWgAAg8QYW8OQkMcBGNpJAOkVuf//kJCQkJDHARjaSQDpBbn//5CQkJCQ +i1QkBDHAxwEw2kkAhdIPlcCJQQTCBACQkJCQkJCQkJCLVCQEMcDHATDaSQCF0g+V +wIlBBMIEAJCQkJCQkJCQkFOJy4PsGMcBMNpJAOivuP//iRwk6NdZAACDxBhbw5CQ +xwEw2kkA6ZW4//+QkJCQkMcBMNpJAOmFuP//kJCQkJCD7ByJDCTHAUjaSQDon1kA +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 +VYnlV1ZTg+wci0UMi10Ii30QiQQk6Mac+/+J2ccDfAxJAInGiweLUPQB8okUJOhd +D/7/g+wEhfZ0FItFDInZiXQkBIkEJOi1AP7/g+wIiTwkidnoiAH+/4PsBInYjWX0 +W15fXcOLC4nGg+kMgflwDEkAdAXo5zIAAIk0JOgvHvv/kJCQkJCQkJCQkJCQkJCQ +VYnlVlOD7CCLRQyLXQiLMItG/I1O9IXAeCaB+XAMSQB1NonwiQOLRRCJ2YkEJOgd +Af7/g+wEidiNZfhbXl3DkI1F98dEJAQAAAAAiQQk6K38/f+D7AjrzI1G/OhgMgAA +68CLC4nGg+kMgflwDEkAdAXoWjIAAIk0JOiiHfv/kJBVieVXVlOD7ByLXQiLdRCL +fQzHA3wMSQCJ2YsGi0D0g8ABiQQk6FYO/v+J+IPsBA+++InZiXwkBMcEJAEAAADo +LAL+/4PsCInZiTQk6H8A/v+D7ASJ2I1l9FteX13DiwuJxoPpDIH5cAxJAHQF6N4x +AACJNCToJh37/5CQkJCQkFWJ5VdWU4PsHItFDItdCIt9EIkEJOhGm/v/idnHA2wM +SQCJxosHi1D0AfKJFCTo7Z39/4PsBIX2dBSLRQyJ2Yl0JASJBCTopY79/4PsCIk8 +JInZ6HiP/f+D7ASJ2I1l9FteX13DiwuJxoPpDIH5YAxJAHQF6K8xAACJNCTonxz7 +/5CQkJCQkJCQkJCQkJCQkFWJ5VZTg+wgi0UMi10IizCLRvyNTvSFwHgmgflgDEkA +dTaJ8IkDi0UQidmJBCToDY/9/4PsBInYjWX4W15dw5CNRffHRCQEAAAAAIkEJOht +iv3/g+wI68yNRvzoKDEAAOvAiwuJxoPpDIH5YAxJAHQF6CIxAACJNCToEhz7/5CQ +VYnlV1ZTg+wci10Ii3UQi30MxwNsDEkAidmLBotA9IPAAYkEJOjmnP3/g+wED7f/ +iXwkBInZxwQkAQAAAOg+kP3/g+wIidmJNCTocY79/4PsBInYjWX0W15fXcOLC4nG +g+kMgflgDEkAdAXoqDAAAIk0JOiYG/v/kJCQkJCQkJDpOwAAAJCQkJCQkJCQkJCQ +6SsAAACQkJCQkJCQkJCQkOkLAwAAkJCQkJCQkJCQkJDp+wIAAJCQkJCQkJCQkJCQ +VYnlV1ZTg+w8i0UIx0QkBAAAAACNTeOLdQyJBCToPsr9/4PsCIB94wAPhJcBAACL +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 +jWX0ifBbXl9dw422AAAAAItNDI2F6P7//8dEJASAAAAAiQQk6Fd+/f+D7AgxwMeF +1P7//wEAAADpKP///4sDidn/UCjpRf///4sDidn/UCSJw+lM////iQQk6JEGAACL +BotI9AHxg0kUAfZBEAF1d+hrCAAAhf8Phf79//+LFjHAg8gE6d/9//8x/4P6AXXH +iQQk6FgGAACLBgNw9INOFAH2RhABdCvoVAwAAInHidONjej+///otWX//4n4idox +/+vIicPoFggAAIkcJOgODPv/6CkMAACLAf9QJInDZpDpLf7//+ukifaNvCcAAAAA +6AsMAADrkonD6OIHAACJHCTo2gv7/5CQkJCQkJCQkJCD6QjpyJr9/5CQkJCQkJCQ +g+kI6fia/f+QkJCQkJCQkIPpCOlYbv7/kJCQkJCQkJCD6QjpuG7+/5CQkJCQkJCQ +g+kI6Th4/v+QkJCQkJCQkIPpCOmYeP7/kJCQkJCQkJCD6QjpmNb+/5CQkJCQkJCQ +g+kI6cjW/v+QkJCQkJCQkIsRA0r06caT+/+QkJCQkJCLEQNK9OlmlPv/kJCQkJCQ +ixEDSvTp9pT7/5CQkJCQkIsRA0r06YaV+/+QkJCQkJCLEQNK9OkGmv3/kJCQkJCQ +ixEDSvTpNpr9/5CQkJCQkIsRA0r06UbD/f+QkJCQkJCLEQNK9Olmw/3/kJCQkJCQ +ixEDSvTp5t/9/5CQkJCQkIsRA0r06Qbg/f+QkJCQkJCLEQNK9OlWbf7/kJCQkJCQ +ixEDSvTptm3+/5CQkJCQkIsRA0r06TZ3/v+QkJCQkJCLEQNK9OmWd/7/kJCQkJCQ +ixEDSvTpJqL+/5CQkJCQkIsRA0r06Uai/v+QkJCQkJCLEQNK9OlGvv7/kJCQkJCQ +ixEDSvTpZr7+/5CQkJCQkIsRA0r06QbJ/v+QkJCQkJCLEQNK9Olmyf7/kJCQkJCQ +ixEDSvTpJtH+/5CQkJCQkIsRA0r06YbR/v+QkJCQkJCLEQNK9OkW1f7/kJCQkJCQ +ixEDSvTpRtX+/5CQkJCQkIsRA0r06Wbc/v+QkJCQkJCLEQNK9Om23P7/kJCQkJCQ +ixEDSvTpJuT+/5CQkJCQkIsRA0r06Xbk/v+QkJCQkJBTicuD7AiLCcdBMAAAAADG +QVQA6Jgx/v+LA4tQQMZASQDGQEoAx0AUAAAAAIlQBIlQCIlQDItQNMdAEAAAAADH +QBgAAAAAiVA4iVA8g8QIW8OQkJCQkJCQkJCQkJCQkJBTicuD7AiLCcdBMAAAAADG +QVgA6ChM/v+LA4tQQMZASQDGQEoAx0AUAAAAAIlQBIlQCIlQDItQNMdAEAAAAADH +QBgAAAAAiVA4iVA8g8QIW8OQkJCQkJCQkJCQkJCQkJDpCwAAAJCQkJCQkJCQkJCQ +i0QkBIXAdAjps4b7/412APPDkJCQkJCQkJCQkJCQkJCD7ByLRCQgiQQk6CEAAACD +xBzDg8IBiQQkdAXogAj7/+hLAwAAkJCQkJCQkJCQkJBTuAEAAACD7BiLXCQghdsP +RNjrC6H0EkkAhcB0E//QiRwk6IGG+/+FwHTpg8QYW8PHBCQEAAAA6AQBAADHAJjZ +SQDHRCQIcMNHAMdEJAR4rUkAiQQk6JYIAACD+v+JBCR0BegJCPv/6NQCAACQkJCQ +V1OD7BTHBCRQAAAA6CeG+/+FwInDdBzoBAYAAInfuRQAAACDQAQBMcDzq4PEFInY +W1/DoQBRTACFwHQVxwQkfPxIAOio3vr/hcB0Behvsfv/ixVssUgAMcmJ0OsNjXYA +g8EB0eiD+SB0RqgBdfK4AQAAANPgCdCjbLFIAKEAUUwAjRyJweMEgcOA8UgAhcB0 +hscEJHz8SADow976/4XAD4Ry////6Eax+/+NtgAAAADoO9f//4PCAYkEJHQH6D4H ++//r8egHAgAAkJCQkJCQkFdWU4PsEItEJCCNcGCJNCToU4X7/4XAicN0JegwBQAA +id+5GAAAAINABAExwPOrg8QQjUNgW15fw420JgAAAACLDQBRTACFyXQWxwQkfPxI +AOjK3fr/hcB0BuiRsPv/kIH+AAIAAIsVaLFIAHdSidAxyesKg8EB0eiD+SB0QqgB +dfK4AQAAANPgCdCLFQBRTADB4QmjaLFIAI2ZgLFIAIXSD4R0////xwQkfPxIAOjd +3fr/hcAPhGD////oYLD7/+hb1v//g8IBiQQkdAfoXgb7/+vx6CcBAACQkJCQkJCQ +g+wcxwQkBAAAAOgR////xwDo10kAx0QkCOCnRwDHRCQErKxJAIkEJOijBgAAkJCQ +g+wcxwQkBAAAAOjh/v//xwAoykkAx0QkCFAyRgDHRCQEEKhJAIkEJOhzBgAAkJCQ +V1ZTi3QkEOgEBAAAiw6NftCLXgSLEIHBANXUvIHTvKqxuIP7AHcFg/kBdgyF0nU5 +iTgxwFteX8OLTuSFyY1ZAXgeiV7kg2gEATnXdAWJVuCJOItG+FteX8ONtCYAAAAA +uwEAAAApy+vZ6HLV//+QkFOD7BiLXCQghdt0NIkcJOh8////iwOLUwQFANXUvIHS +vKqxuIP6AHcXg/gBdxKLQ9yJBCTo14r7/420JgAAAADoK9X//5CQkJCQkJCQkJCQ +VVdWU4PsPItcJFCJHCToLf///4tD9Itr8Itz6It73IlEJCCLQ9iJBCTosor7/4kE +JOgK////6DUDAACLAPZAMAGNWFB0AosYjUwkGInqMcDom4f7/4tTsInZiTQkjUQk +GOhaiPv/hMB0GejhBAAAicPougAAAOi1AAAAiRwk6K0E+/+JNCQxybpYqUkAjUQk +GOgqiPv/hMB0KscEJAQAAADoWv3//8cAwMxJAMdEJAgAWkYAx0QkBFipSQCJBCTo +7AQAAIk8JOj0ifv/kJCQkIPsDOh4AgAAiwCFwHQZ9kAwAXUMiwCDxAzDjbYAAAAA +iwCD6FDr7THA6+uQkJCQkIPsHMdEJAgeAAAAx0QkBOxwSQDHBCQCAAAA6AEh+//o +/NP//5CQkJCQkJCQkJCQkFOD7BjoNwIAAIsQhdJ0KItKMItaNIHBANXUvIHTvKqx +uIP7AHYag8IwxwAAAAAAiRQk6BkF+/+DxBhbw410JgCD+QF34YtKFIXJeBSD6QF0 +H4P5/3QsiUoUg8QYW8NmkIPBAXXxi1oQiRjr6o10JgCLShCDwjCJCIkUJOjQBPv/ +67XoadP//5CQkJCQkJCQkFOD7BiLRCQgPYDxSAByBz2A+0gAcg2JRCQgg8QYW+lN +gfv/LYDxSAC6zczMzPfioQBRTACJ08HrBoXAdEPHBCR8/EgA6Bfa+v+FwHVUuP7/ +//+J2dPAIQVssUgAoQBRTACFwHQqxwQkfPxIAOhf2vr/hcB0GujmrPv/jbYAAAAA +uP7///+J2dPAIQVssUgAg8QYW8ODwgGJBCR0DOjPAvv/6Iqs+//r7JCNtCYAAAAA +6Iv9//+QkJCQkJCQkJCQkFOD7BiLTCQggfmAsUgAcgiB+YDxSAByEIPpYIlMJCCD +xBhb6YiA+/+hAFFMAInLgeuAsUgAwesJhcB0RMcEJHz8SADoWNn6/4XAdVWJ2Ysd +AFFMALj+////08AhBWixSACF23QqxwQkfPxIAOif2fr/hcB0GugmrPv/jbYAAAAA +uP7///+J2dPAIQVosUgAg8QYW8ODwgGJBCR0DOgPAvv/6Mqr+//r7JCNtCYAAAAA +6Mv8//+QkJCQkJCQkJCQkItEJASLQPjDkJCQkJCQkJCD7BzHBCTkEkkA6IEE+/+D +xBzDkJCQkJCQkJCQkJCQkIPsHMcEJOQSSQDoYQT7/4PEHMOQkJCQkJCQkJCQkJCQ +g+wci0QkIMZAAQChAFFMAIXAdQSDxBzDocAHSQCJBCToS9r6/4XAdOvoYqv7/4PC +AYkEJHQF6GUB+//oMPz//1OD7BiLXCQgD7YDhMB1YqEAUUwAhcB1CoA7AHRbg8QY +W8PHRCQEkL1DAMcEJMgSSQDoWtb6/4sNAFFMAKHAB0kAhcl0DIkEJOgT2fr/hcB1 +VIA7AHQ6ixUAUUwAocAHSQCF0nQMiQQk6MPZ+v+FwHUqg8QYMcBbw4B7AQB1IsZD +AQGDxBi4AQAAAFvDjXQmAIB7AQB06Oh1FgAA6LCq+//oaxYAAMcEJAQAAADof/n/ +/8cAAMlJAMdEJAig3UMAx0QkBIynSQCJBCToEQEAAIM9AFFMAACJw6HAB0kAdAyJ +BCToSdn6/4XAdbCJHCTobQD7/5CQkJCQkJCQkJCQkJCD7ByLRCQgxkABAMYAAaEA +UUwAhcB1CYPEHMOQjXQmAKHAB0kAiQQk6APZ+v+FwHTm6Bqq+/+DwgGJBCR0Begd +APv/6Oj6//+QkJCQkJCQkIPsHMdEJAgbAAAAx0QkBNBwSQDHBCQCAAAA6OEc+//o +3M///5CQkJCQkJCQkJCQkFOD7Bjo9/3//4sQg0AEAYXSdDCLSjCLWjSBwQDV1LyB +07yqsbiD+wB2HscAAAAAAI1aMIkcJOhFAPv/iRwk6K35///oiM///4P5AXfd91oU +696QkJCQkJCQkJCQkJCQkFOD7BiLRCQgi1QkJI1Y4IlQsItUJCjHQKABAAAAiVC0 +ixWE+0gAiVC4ixWA+0gAx0DgACsrQ8dA5ENVTkfHQOgwukMAiVC8iRwk6EH9+v+J +HCToOfn//+gUz///kJCQkFWJ5VdWU4PsTItdCI191It1FIsDi0j8i1D4x0XUAAAA +AMdF2AAAAACLAYl8JBiLfQwB2sdF3AAAAADHReAAAAAAx0XkEAAAAIl8JBCLfRCJ +XCQUiVQkDMdEJAQGAAAAiXwkCIk0JP9QHItF1IPsHIXAdDOLTeCJyoPiBoP6BnQo +i33ci1XYIfqD4gaD+gZ0GIPnBYP/BHQOhcl1CoX2eBABxjnzdAIxwI1l9FteX13D +g/7+dPGLTRCLEYlcJAyLXQyJRCQEiTQkiVwkCP9SIIPgBoPsEIP4BnXMi0XU68mQ +VbgDAAAAV1ZTg+xcg3wkcAGLTCR4i1wkfMdEJCQAAAAAx0QkKAAAAAB0CIPEXFte +X13DgcEA1dS8gdO8qrG4g/sAxkQkFgEPhrUAAACAfCQWAA+FvQAAAIN8JHQGD4Wy +AAAAi4QkgAAAAItY6ItA8IlEJAyLhCSAAAAAi3D0g/4BGcCD4P6DwAP2RCR0CA+E +3AEAAIP4AQ+E8gMAAIXbD4jOAwAAi4QkgAAAAMdEJAQAAAAAiUQkCIuEJIQAAACJ +BCTomfn6/4uEJIQAAACJXCQIx0QkBAIAAACJBCTofvn6/4uEJIQAAACJdCQEiQQk +6Ov5+v+DxFy4BwAAAFteX13Dg/kBD5dEJBaAfCQWAA+EQ////4uEJIQAAACJBCTo +zPn6/4XAiUQkDA+EwAEAAItUJAyNTCQ4i4QkhAAAAOi8f/v/i5QkhAAAAInDD7ZE +JEzo6YD7/4lEJECNRCQoiUQkBIuEJIQAAACJBCToTvn6/4N8JCgBicaD3gA5XCRI +D4aXAAAAjXwkLI22AAAAAA+2bCRNMdKJ6OiigPv/idmJPCSJwono6ESB+/8Ptlwk +TTHSicWJ2OiEgPv/jUwkMIkMJInpicKJ2Ogigfv/D7ZcJE0x0onFidjoYoD7/41M +JDSJDCSJ6THticKJ2Oj+gPv/McmJw4PDAQ+2U/+J0IPgf9Pgg8EHCcWE0njpi0Qk +LANEJDg5xg+DuAAAADH2uAEAAAAx2zHt9kQkdAEPhFb+//+D+AIPhLQAAACAfCQW +ALgGAAAAD4Xf/f//i7wkgAAAAItMJAyLVCQkiV/oiW/siU/wiVf4iXf06bz9//+Q +gHwkFgAPhRn+//+D+AEPhPQBAACF2w+JGf7//4tUJAyNTCQ4i4QkhAAAAOhgfvv/ +i5QkhAAAAA+2RCRM6I9/+/+LlCSEAAAAiUQkQA+2RCRM6Hp/+/+LvCSAAAAAiUf0 +6dD9//8DRCQwOcZyHTlcJEgPh6n+///pMf///410JgC4CAAAAOkx/f//i0QkNDH2 +i1QkPAHChcAPRfKF7XUOhfZ03bgCAAAA6Qf///+LRCRIhfaNbCj/dMeF7XTmi0Qk +dMdEJBCUpkkAg+AIiUQkHHUzgHwkFgDHRCQQqKZJAHUki4QkgAAAAIu8JIAAAACD +wCD2BwF0A4tH0IlEJCSLQLCJRCQQxkQkFwCJdCQY6y5+Uo1EJDjolXz7/4XAD4SE +AAAAi1wkEIXbD4W+AAAAi0QkNIXAD4SXAAAAjSwGjVQkMIno6Cd8+/+NVCQ0icbo +HHz7/4tUJDCD+gB1s8ZEJBcB68uLTCQQhcl0D4tEJByFwHUHgHwkFgB0PonQMf/3 +0DHJA0QkRIPAAQ+2WP+J2oPif9Pig8EHCdeE23jphf8PlMCEwHSIi3QkGLgDAAAA +i1wkMOn//f//iRQki0wkJI1EJDiLVCQQ6JN9+/+D8AHr0YB8JBcAi3QkGA+En/7/ +/zHbuAIAAADpy/3//4tUJBCNTCQk6DZ8+/+EwHWp6Sz////oiJf//4uEJIAAAACJ +BCToOfT//4kEJOjB8///6JzJ//+QkJCQkJCQkJCQkJChAFFMAIXAdQfDjbYAAAAA +g+wcxwQk0BJJAOhR0Pr/g8Qcw5CQkJCQkJCQkJCQkJChAFFMAIXAdQfDjbYAAAAA +g+wcxwQkfPxIAOgh0Pr/g8Qcw5CQkJCQkJCQkJCQkJChAFFMAIXAdQfDjbYAAAAA +g+wcxwQkwBJJAOjxz/r/g8Qcw5CQkJCQkJCQkJCQkJDHBcgHSQCI0EkAw5CQkJCQ +udgSSQDHBdgSSQDIxUkA6bzb/v+QkJCQkJCQkJCQkJDHBcQHSQCI0EkAw5CQkJCQ +VYnlg+wYixADQvSLUBSJwYPKAYkUJOj1h///UMnDicKDyP/wD8ECw2aQZpBmkGaQ +g+wcuSxQTADoc2///8cEJLAWQADoZ9j3/+hySfr/oyhQTADoaEn6/6MkUEwA6A5J ++v+jIFBMAIPEHMOQkJCQkFWJ5YPsGIsQA0L0i1AUicGDygGJFCTohYf//1DJw5CQ +g+wcuTBQTADoE2///8cEJGDeQADoB9j3/4PEHMONdgCNTCQEg+Tw/3H8VYnlV1ZT +UYHsmAAAAIsZi0EEjX2EiYV0////6DbJ+v+D+wHHRYR8DEkAfheLhXT///+J+Y11 +uItABIkEJOh03f3/UYtdhItz/IX2eA2J+Y11uOgf0P3/i12EidjrFA++A4PDAYkE +JOiKdfv/iEP/i0WEi1D8hdJ4DYn5jXW46PPP/f+LRYQDQPQ5w3XRxwQk7SZJAIn5 +jXW46EjM+/+D7ASFwHUsjXW46Emn+P8x2411uItFhIk0JI1I9OhW1f3/idiD7ASN +ZfBZW15fXY1h/MPHBCT2JkkAifnoB8z7/4XAVnTBxwQkOitJAIn5jXW46PHL+/+F +wFMPhYMAAACNdbiJ8ei+2Pf/jUWwiUQkBIuFdP///41djInZi0AMiQQk6LHq/f9Q +UI1FrIlEJASLhXT///+NfYiJ+YtACIkEJOiS6v3/UFCJXCQEiTwk6CTl9/+LRYiN +XbSJHCSNSPTos9T9/4tFjFGNSPSJHCTopNT9/4nxU+is1/f/MdvpMf///8cEJPkm +SQCJ+Y11uOhUy/v/hcBTD4Rj////xwQk/CZJAIn56D3L+/+FwFEPhEz////HBCQB +J0kAifnoJsv7/4XAUg+ENf///8cEJEMrSQCJ+Y11uOgMy/v/hcBRD4WDAAAAjXW4 +ifHo2df3/41FsIlEJASLhXT///+NXZSJ2YtADIkEJOjM6f3/UFCNRayJRCQEi4V0 +////jX2QifmLQAiJBCToren9/1BQiVwkBIk8JOgf2vf/icOLRZCNfbSJPCSNSPTo +zNP9/1CLRZSNSPSJPCTovdP9/1GJ8ejF1vf/6Uz+///HBCQMJ0kAifmNdbjob8r7 +/4XAUg+EY////8cEJEwrSQCJ+Y11uOhVyvv/hcBSD4WQAAAAjXW4ifHoItf3/4uV +dP///41dnInZi0IQiYVw////jUWwiUQkBItCDIkEJOgM6f3/UFCNRayJRCQEi4V0 +////jX2YifmLQAiJBCTo7ej9/1CJ8VCLhXD////HRCQMAQAAAIlcJASJRCQIiTwk +6DtE+P+Jw4tFmIPsEI19tIk8JI1I9Oj10v3/i0WcUekk////xwQkDydJAIn5jXW4 +6KvJ+/+FwFEPhFb////HBCQSJ0kAifnolMn7/4XAUg+EP////8cEJFQrSQCJ+Y11 +uOh6yfv/hcBWdXSNdbiJ8ehL1vf/jUWwiUQkBIuFdP///41dpInZi0AMiQQk6D7o +/f9QUI1FrIlEJASLhXT///+NfaCJ+YtACIkEJOgf6P3/UInxUIlcJASJPCTof4X4 +/4nDi0WgUVGNfbSNSPSJPCToOtL9/1CLRaTpaf7//8cEJBcnSQCJ+Y11uOjwyPv/ +hcBSD4Ry////xwQkWitJAIn5jXW46NbI+/+FwFN1fY11uInx6KfV9/+NRbCJRCQE +i4V0////jV2sidmLQAyJBCTomuf9/1BQjUWkiUQkBIuFdP///419qIn5i0AIiQQk +6Hvn/f9QifFQx0QkCAAAAACJXCQEiTwk6LM8+P+Jw4tFqIPsDI19tIk8JI1I9OiN +0f3/UItFrOm8/f//xwQkGydJAIn5jXW46EPI+/+FwFIPhGn////HBCRhK0kAifmN +dbjoKcj7/4XAUQ+FkAAAAI11uInx6PbU9/+NRaiJRCQEi4V0////jV20idmLQAyJ +BCTo6eb9/1BQjUWkiUQkBIuFdP///419sIn5i0AIiQQk6Mrm/f9QifFQiVwkBIk8 +JOhaafj/U1OJw4tFsI1I9I1FrIkEJOjl0P3/UItFtIk8JI1I9OjW0P3/g/vqUA+E +5QMAAInx6NXT9//pXPv//8cEJB4nSQCJ+Y11uOh/x/v/hcBSD4RW////xwQkaCtJ +AIn5jXW46GXH+/+FwFIPhQACAADHRCQEISdJAI11uMcEJKAPSQDoVc3//4kEJOid +sP//x0QkBDYnSQDHBCSgD0kA6DnN//+JBCTogbD//8dEJARLJ0kAxwQkoA9JAOgd +zf//iQQk6GWw///HRCQESydJAMcEJKAPSQDoAc3//4kEJOhJsP//x0QkBEwnSQDH +BCSgD0kA6OXM//+JBCToLbD//8dEJARUJ0kAxwQkoA9JAOjJzP//iQQk6BGw///H +RCQEmCdJAMcEJKAPSQDorcz//4kEJOj1r///x0QkBOwnSQDHBCSgD0kA6JHM//+J +BCTo2a///8dEJAQ6KEkAxwQkoA9JAOh1zP//iQQk6L2v///HRCQESydJAMcEJKAP +SQDoWcz//4kEJOihr///x0QkBEsnSQDHBCSgD0kA6D3M//+JBCToha///8dEJARD +KEkAxwQkoA9JAOghzP//iQQk6Gmv///HRCQETChJAMcEJKAPSQDoBcz//4kEJOhN +r///x0QkBKQoSQDHBCSgD0kA6OnL//+JBCToMa///8dEJAT0KEkAxwQkoA9JAOjN +y///iQQk6BWv///HRCQESydJAMcEJKAPSQDoscv//4kEJOj5rv//x0QkBEsnSQDH +BCSgD0kA6JXL//+JBCTo3a7//8dEJAQ3KUkAxwQkoA9JAOh5y///iQQk6MGu///p +I/n//8cEJDwpSQCJ+Y11uOhLxfv/hcBRD4WXAQAAx0QkBEsnSQCNdbjHBCSgD0kA +6DvL//+JBCTog67//8dEJARLJ0kAjXW4xwQkoA9JAOgcy///iQQk6GSu///HRCQE +SClJAMcEJKAPSQDoAMv//4kEJOhIrv//x0QkBFApSQDHBCSgD0kA6OTK//+JBCTo +LK7//8dEJASUKUkAxwQkoA9JAOjIyv//iQQk6BCu///HRCQE7ClJAMcEJKAPSQDo +rMr//4kEJOj0rf//x0QkBEsnSQDHBCSgD0kA6JDK//+JBCTo2K3//8dEJARLJ0kA +xwQkoA9JAOh0yv//iQQk6Lyt///HRCQEPCpJAMcEJKAPSQDoWMr//4kEJOigrf// +x0QkBEQqSQDHBCSgD0kA6DzK//+JBCTohK3//8dEJASgKkkAxwQkoA9JAOggyv// +iQQk6Git///HRCQE9CpJAMcEJKAPSQDoBMr//4kEJOhMrf//x0QkBEsnSQDHBCSg +D0kA6OjJ//+JBCToMK3//8dEJARLJ0kAxwQkoA9JAOjMyf//6U7+///ogpf4/2aQ +6Q/8///HBCRFKUkAifnoncP7/4XAUg+EUv7//411uOhcl/j/uwEAAACNdbjpS/f/ +/4nHi0WwjV2siRwkjUj06JzM/f9Qi0W0iRwkifuNSPToi8z9/1CJ8eiTz/f/i0WE +iTQkjUj06HXM/f9WiRwk6Gzu+v+Jx41drOvKicPr14nHi0WIjV20iRwkjUj06E7M +/f9Qi0WMiRwkifuNSPToPcz9/1CJ8ehFz/f/67CJx41dtOvficPr7InD66GJx4tF +kI1dtIkcJI1I9OgRzP3/UItFlIkcJI1I9OgCzP3/U4n7ifHoCM/3/+lw////iceL +RZiNXbSJHCSNSPTo4Mv9/1GLRZyJHCSJ+41I9OjPy/3/Uonx6NfO9//pP////4nH +jV2069yJw+vpiceNXbTroInD662Jx41dtItFpIkcJIn7jUj06JfL/f9QifHon873 +/+kH////icPr8InHi0WgjV20iRwkjUj06HPL/f9Q68mJx4tFqI1dtIkcJI1I9Ohd +y/3/UItFrIkcJIn7jUj06EzL/f9QifHoVM73/+m8/v//iceNXbTr3InD6+mQkJCQ +icKDyP/wD8ECw5CQZpBmkFW5bFBMAInlU4PsJI1d94lcJATHBCQQaEkA6NFw/f+D +7AjHBCTwmUEA6NLM9/+5aFBMAIlcJATHBCQUaEkA6K1w/f+D7AjHBCSQmUEA6K7M +9//HBCTgmEEAxwVgUEwAAAAAAMcFZFBMAAAAAADojsz3/8cFWFBMAAAAAADoPz36 +/8cEJBpoSQCjXFBMAOg+bPv/g+wEx0QkBCdoSQCJBCToM2z7/4PsCMcEJBpoSQCj +VFBMAOgXbPv/g+wEx0QkBDdoSQCJBCToDGz7/4PsCKNQUEwA6Oc8+v+LXfzHBTxQ +TAADAAAAo0BQTADJw5CQkInCg8j/8A/BAsOQkGaQZpBVuYxQTACJ5VOD7CSNXfeJ +XCQExwQkvGhJAOjRb/3/g+wIxwQkUCFCAOjSy/f/uYhQTACJXCQExwQkwGhJAOit +b/3/g+wIxwQk8CBCAOiuy/f/i138ycOQkJCQkJCQkJCDPQBRTAAAdAqDyv/wD8EQ +idDDixCNSv+JCInQw5CQkIPsDOiIPPr/o9hQTADofjz6/6PUUEwA6CQ8+v/HBaBQ +TAAAAAAAo9BQTADoEDz6/6OkUEwAg8QMw5CQkJCQkJCDPQBRTAAAdATw/wDD/wDD +gz0AUUwAAHQKg8j/8A/BQQjrCYtBCI1Q/4lRCIXAfw6D7ByJDCToZeL//4PEHMOQ +i0QkBMdBCAAAAACJAWbHREEMAADCBACQgz0AUUwAAHQE8P8Aw/8Aw4M9AFFMAAB0 +CoPI//APwUEI6wmLQQiNUP+JUQiFwH8Og+wciQwk6A3i//+DxBzDkIsBi0Ao/+CQ +iwGLQCT/4JCLAYtAKP/gkIsBi0Ak/+CQVYsBieUPtlUIiVUIi0A0yf/gkJBViwGJ +5Q+3VQiJVQiLQDTJ/+CQkIPsHKEAUUwAhcB1EMcEJGA8SADoSMr3/4PEHMPHBCR8 +/EgA6OjA+v/r4pCQkJCQkIPsHMcEJAQAAADoEeP//8cA6MhJAMdEJAhw3UMAx0Qk +BICnSQCJBCToo+r//5CQkInCg8j/8A/BAsOQkGaQZpCAPaCwSAAAdQfGBaCwSAAB +gD2osEgAAHUHxgWosEgAAYA9OLFIAAB1B8YFOLFIAAGAPUixSAAAdQfGBUixSAAB +gD0IsUgAAHUHxgUIsUgAAYA92LBIAAB1B8YF2LBIAAGAPeiwSAAAdQfGBeiwSAAB +gD24sEgAAHUHxgW4sEgAAYA9KLFIAAB1B8YFKLFIAAGAPRixSAAAdQfGBRixSAAB +gD34sEgAAHUHxgX4sEgAAYA9yLBIAAB1B8YFyLBIAAHzw5CQkJCQkJCQkJCQkJCQ +gz0AUUwAAHQKg8r/8A/BEInQw4sQjUr/iQiJ0MOQkJCAPZCwSAAAdQfGBZCwSAAB +gD2YsEgAAHUHxgWYsEgAAYA9MLFIAAB1B8YFMLFIAAGAPUCxSAAAdQfGBUCxSAAB +gD0AsUgAAHUHxgUAsUgAAYA90LBIAAB1B8YF0LBIAAGAPeCwSAAAdQfGBeCwSAAB +gD2wsEgAAHUHxgWwsEgAAYA9ILFIAAB1B8YFILFIAAGAPRCxSAAAdQfGBRCxSAAB +gD3wsEgAAHUHxgXwsEgAAYA9wLBIAAB1B8YFwLBIAAHzw5CQkJCQkJCQkJCQkJCQ +iwGLQCT/4JCLAYtAKP/gkIsBi0Ak/+CQiwGLQCj/4JCD7BzHBCTAPEgAxwXIB0kA +SMZJAOj3x/f/xwQk8DxIAMcFxAdJAAjGSQDo4cf3/4PEHMOQkJCQkJCQkJCQkJCQ +V1ZTicOD7BCLcASLAIP+BHcbg8AEiQQk6Atm+/+FwHUF6NJl+/+JAI1QBOsbjUQG +A4kEJOjvZfv/hcB05I1UMAP33iHyiUL8i3MMiwuF9nQGidfzpOsGMcCJ1/Oqg8QQ +idBbXl/DkJBmkGaQZpBmkFWJ5YPsGOh1x/f/xwQkYBZAAOhJx/f/ycOQkJCQkJCQ +/////zA9SACQPUgAsEhIALBJSAAwSkgAUEtIAMBLSACwTEgAoE1IAFBOSAAAAAAA +/////wAAAAD//wESHgVUACYFigEATwUAAIUBBQAA//8BEh4FWwAmBZgBAFYFAACT +AQUAAP//ARIeBV0AJgWTAQBKBQAAjgEFAAD//wESHgVkACYFoQEAUQUAAJwBBQAA +//8BCBsFTABvBQAA//8BCRYFagCAAQUAAP//AY0BFgXAEABrBbkQALsBBfcNAN8B +BfUNAPYBQJgNAPkCBfwMAOMDBZoOAKkEBfgMAM0EBfgLAOQEQKkQAPAFBYIOAJ8G +BcUPAKoGBacOAN4GBegOAJgHBfUOAKMHBdcPAOEHBdsPAKgIBeUPAM8IBcAQAPgI +BYQQAJ8JBfwMALwJBZgNANIJBakQAPMMBQAA//8BjQEWBdAQAGsFyRAAuwEFhw4A +3wEFhQ4A9gFAqA0A+QIFjA0A4wMFqg4AqQQFiA0AzQQFiAwA5ARAuRAA8AUFkg4A +qQYF1Q8AtAYFtw4A6AYF+A4AogcFhQ8ArQcF5w8A6wcF6w8AuAgF9Q8A3wgF0BAA +iAkFlBAArwkFjA0AzAkFqA0A4gkFuRAAgw0FAAD//wHCARwFoxQAQgXPEACiArYB +jxAA7wMFxhMA2gQFwhMAoAUFvBMAxAUFxRQA2wVAyRIA/AYFmxUApAcFuxEArwcF ++hAA4we4AY8QALoJBbgTAOcJBcYTAIAKBY8QAJYKBckSALcKBaMUANgKD48QAIIL +BcoUAKgLBdUUAPELdgAAgw1DmxUA5g0FrA8A8Q0FxxUApQ4FjxAAtg4TmxUA0w4T +jxAAhQ8FyhQAkQ8TAACKEGkAALAUBY8QAMAUBZsVAMIVBQAA//8BCBQFNQBIBQAA +//8BZxgF5AgAbQXiCQCzAQXeCQDVAQWICQDyAUSxCgCXA8MC5gkAiwYF0AsAlgYF +1woAygYFAADdBwXmCQD/BwXFCgCnCAXkCACzCBPmCQDaCAWxCgCDCQUAAPYJBQAA +kAsFAADLCwXmCQAA/wBVAUnzAckCAACaBQXuBgHMBQUAAOwFBZEHAZYGBQAAgQcF +rAcAjAcFAACiBwXABwO2BwUAALsHBawHANsHBeUHAOAHBcAHA+8HBQAAAQAAfQAA +AAAAAP8AUQFF4AGnAQAAnAMF2QYBxgP2AQAAiQYFuwYBygYF9AYA1AYFAADqBgWI +BwP+BgUAAIMHBfQGAKMHBa0HAKgHBYgHA7cHBQAAAQAAfQAAAAAAAP//AQyRAYAB +kQIArQIFAAD/AFkBTyMfAADjAZ0B6wUAngNKAACEBAX9BQGfBAWcBgHZBAXyBgGG +BQUAAPgFBQAAlwYFwAYArwYRzwYDygYFAADkBgXABgCFBxG9BwPlBwXABgABAAB9 +AAAAAP//ASZ+PQAAvgJBsggAkQMFAADoBJICsggAjAcFAADpBwWyCAC/CAUAAP// +AQlYBWkAhQEFAAD//wGbBCkFAADMAQXMLADuAQXROwCLAgWnOwCxAimgOwCLAwWA +OwCcAwX5OgCzAxbFNgCVBCPGLgDpBAWALwD6BAXCLgCRBRb3LQDpBgXtNACLBwW+ +MwCoBwXkMwDEBwX1MwD6ByueNwDlCB31MwCzCSvYNQDLCgXlMgCbCwWdMgC/CwXD +MgDWC0DTNADVDGOsMwDbDQXMKQDmDQXTOwCkDgX1MwDNDgXaOwDYDgWgPACMDwWg +OQC+D0UAALERDZc3AO8RBdg4AI4SBZc3AJUSBQAAxRMF3TgAihQFojEAtBQFgjUA +0xRAqTQA1BUFujEAgBYF8jkAixYFwjoAvxYFAADCFwW+NgDuFwWnKwCHGAWXKQCj +GAXsMgDZGCe5OAC6GTTsMgCVGgXgOQCgGgXlOADUGgygOQCRGyu5NQDdGwWgOQC9 +HAWCNgCRHQXLMQC0HSqCNgDgHQWgOQDIHgXJKgDTHgWjKwCRHwUAAKYfQaA5AIcg +BZUsAK4gBd4rAN0gUqwzAMYhBbUrAOghBaIoAJAiBfEnALgiBbonAOAiBZAnAIIj +BekoAKgjBcooANAjBZsmAOwjBbk1AIokBewyAK8kBawzAMgkBdM0AN4kBak0AO4k +BaA5AP4kBYI2AJQlBZ43ALYlBfUzAM8lBdg1APglBawzAJEmBbk4AIsnBQAA7CcF +AACXKwUAANkrBQAA5iwFAADGMQUAALY6BQAA//8BeiUFAAA8Bf0NAGXKAtcOAJkF +BaIQANUFJeUTALoGBZ0TANMGGOISAKkHBdgRALkHBaANAMMHBfwOAKIIMNgRAP8I +BdcOANEJBYwRAPQJBa8QALcKSdcOAJsLBZcRAP8LBf0NAJoMBYwRALMME9cOAPgN +KQAA9w4F1w4A//8BbRwF+AsAcQWYCwDBAQWcCgDlAQWODAD+ATzrCgCfA0OICQCH +BAWhCwCSBAX0CwDQBAUAAPoE1QGICQD3BgX4CwCZBwWcCwDHB36ICQDcCAXrCgDo +CCCICQCUCQUAAP0JCogJAOYKBQAA7wsFAAD//wH4AisFkisAlQEFlywA5QEFhywA +iQIFhSwAoAJAqCsAsANDmywAmAQFpSwAowQFmS0A4QQFoi0ApAWBApssAMgHBfUs +AO8HBZIrAIIIjAGbLACuCQWQIgDUCQWSIwCFCgWbLACiCgWdJAC0CgXqKACfCwXF +IwDlCwXBJgCHDAWCJgCkDESIJwDNDUOhJAC2DgXQKQDBDgWVKQD1DgWdJADSDwWo +KwDtDwWQIgCOEAXqKAC9EEObLACmEfMCoSQAphQFrCgAvBQFpSgA8hQrsCQA6RW3 +AaEkAK0XBcUmAMMXBZkoAPkXK+QkAPEYrgGhJAC8GgXLKADnGgWsKACJGwXkJgC3 +GwXFJgDQGwWhJADmGwWwJACIHAWhJAChHAXkJADDHAWhJADnHEObLADMHQXkKQDe +HTibLADLHj6hJACTHxObLADFH8gBoSQAniEFiCcA0CIFAADAIwWbLACDJwWhJADf +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 +APYEBQAAnwYppQcA3gYF4wYA3wcFAAD//wE9PR0AAHkFgAQAtwEFAADLASXhBQDd +Ag2ABACLAwzhBQCXBAUAALoEKM4FAPgEBeEFAIsFKN8FAMkFBYAEAP//AVoeBQAA +XAXHBgCJAQXlBgCkAQXgBgC8AQX9BgDOASXzBQDHAgWCBwDPAgWHBwCEAwUAAKoD +BfMFANADKOwGAI4EBZMEALgEBQAArwUpuQYA7gUF8wUA2wYFAAD//wFRKHMAALUB +DO8FAI8CBQAArwIFwgcA1wIfvgcA/wIbwwYA3gMF7wUAiAQQvgcAtgQnoAcAqQUr +jwcA6gUF7wUAjAayAQAA1AcrpwgAlQgFvgcA//8BTycFAABlBYoHAI8BBYMHALAB +BcMEANsBBQAA+wEMwwQAwwIFgwcA5QKFAaIGAIAEKPIGAL4EBcMEAOgEBQAA3gUp +5QYAnQYFogYAngcFAAAAAP8AKQEbPCn8AQFtBcsBA5kBBfwBAfIBBYwCBZQCCgAA +AQAAfX8AAAAAAAAAAAAAAP8AbQFeVE6pCQHDAQXJCAPyATWpCQHHAgX3BwP2AgWp +CQGjAym7BgHUAwWHCQORBAW7BgGyBAXxBgPSBAW1CQOLBULzBQHVBQXZBgOEBgW5 +BwXMBgW7BwWYBwWsBwW0BxMAAAEAAH1/AAAAAAAAAAAAAAAA//8BFBMFAAAsHekB +AKUBBbgBAOQBBQAA//8BDhYFAAAqR8QBAN0BBQAA//8BDykF3AEASwXUAQCGAVYA +AP//AQ4oNQAAbCjVAQDsAQUAAP//AQ43NwAAfWqKAgCAAiYAAAAAAP8AJQEdEQUA +ACoFcwBEBYUBAYABBQAApAEFsgEAvAEFAAABAAAAAAD//wE0tQIFzAYAjwMFuAcA +1AMF0AcA+QQFAADjBQWbCADzBQX1BwCQBgWbCADHBgXMBgDiBgUAAP//ARxGBecB +AJEBBZ4CAKEBBf0BALsBBZ4CAPgBBQAA//8BWGcFnAYAoQEF0AUAsQEFqwUAywEF +0AUAnAIFpAYArAIFogYAxgIFpAYAmgMF1AUA2gMFmAYA6gMF8QUAhAQFmAYA1QQF +0QYA5QQFpgYA/wQF0QYAywUmAAD//wE4H4gBAADEAQW4BQD7AUoAAPICBbgFAKYD +BZAFAOEDGwAAugQFnAYAygQF+AUA5AQFnAYAswUVAAD//wE2pgEF7QUAyAEF0gYA +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 +A+gEOY0MAa4KBeUKAO8KBQAAAQAAfQAAAAAAAP8AeQFtFSQAAEQm4gsBeAPgCgGT +AQWzCgPYAQPVCQGKAgWHCwGdAgO1CwG4AgWMCwPgAgP0CgGSAwXdCwGlAwPZCwHA +AwW3CwPoAwPbCwGaBAXvCwGtBAONDAHIBAXyCwPoBDmNDAGuCgXlCgDvCgUAAAEA +AH0AAAAAAAD/AF0BUi5sAADYAdYCqA0A7ASyA9UNAO0IBagNAKEJgAHVDQC3CgXr +DAHGCwXEDQHbCwUAAIMMGqgNAPMMBfgMAIINBQAAow0FqA0Avw0FAADQDQP4DAAB +AAAAAAAAAAD/AF0BUi5sAADYAdYCqA0A7ASyA9UNAO0IBagNAKEJgAHVDQC3CgXr +DAHGCwXEDQHbCwUAAIMMGqgNAPMMBfgMAIINBQAAow0FqA0Avw0FAADQDQP4DAAB +AAAAAAAAAAD//wEQMmyGAwCtAX7iAgCBAwUAAP8AKQEhqQIpAACJBAX6BQHpBAXm +BQH+BAUAAPIFCIQGAI4GBQAAAQAAAAAA/wApASFM1QIAAMcDBeoEAagEBdUEAcME +BQAA4gQI9AQA/gQFAAABAAAAAAD/ACkBIZECKwAAxwMFugUBpwQFpgUBvAQFAACy +BQjEBQDOBQUAAAEAAAAAAP8AKQEhzQItAACsBAWkBgGMBQWQBgGkBQUAAJwGCK4G +ALgGBQAAAQAAAAAA/wApASGiAikAAN4DBdMFAb4EBb8FAdMEBQAAywUI3QUA5wUF +AAABAAAAAAD/ACUBGzcF7gEBxgEF+wEB2gEFAAD2ARSMAgCWAgUAAAEAAAAAAAAA +/wAlARs3Be4BAcYBBfsBAdoBBQAA9gEUjAIAlgIFAAABAAAAAAAAAP8AJQEbNwW8 +AQGUAQXJAQGoAQUAAMQBFNoBAOQBBQAAAQAAAAAAAAD//wEUEhMAAF8F5BUAeOcU +ghYA/RUFAAD//wEUEhMAAF8FhBYAeIcVohYAnRYFAAD//wEKRmLgAQD3AQUAAP// +AQ8gBQAAZpEBsgIAyQIFAAD//wE8FxgAAKwB+grFEgCzDAUAAKYOBcUSAOUOawAA +5BAFxRIAhREDAACjEQPFEgDdERAAAPcRQ8USAN4SBQAA//8BCzf1ArwDANMDBQAA +//8BCzf1ArwDANMDBQAA//8BCzf1ArwDANMDBQAA//8BMxWWAQAAugXfBPgOAPUL +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 +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAACgQEkAAAAAABMAAAAHAAAAgDtJAABBSQAAAAAA +HgAAAA8AAAAAPEkAgEFJAAEBAAAeAQAADwAAAAIAAAAAQAAApE5IAAAAAAD///// +AAAAAP////8AAAAA/////xgAAABr////aAAAAAEAAAAAAAAAQAAAAMO////APwAA +AQAAAAAAAACgUUwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +4N1DAMAFSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADtdkkAyHZJAAh3SQAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +fndJAIJ3SQCGd0kAi3dJAI93SQCTd0kAl3dJAJt3SQCfd0kAo3dJAKd3SQCrd0kA +k3dJAK93SQAAAAAAAAAAABR3SQAcd0kAJHdJAC53SQA2d0kAPndJAEZ3SQBOd0kA +VndJAF53SQBmd0kAbndJAD53SQB2d0kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAD/////AAAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsaWJnY2Nfc19kdzItMS5k +bGwAX19yZWdpc3Rlcl9mcmFtZV9pbmZvAGxpYmdjai0xMy5kbGwAX0p2X1JlZ2lz +dGVyQ2xhc3NlcwBfX2RlcmVnaXN0ZXJfZnJhbWVfaW5mbwAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAADEuMi4zAHNyYy9WOEZpbGUuY3BwAHJldCAhPSBaX1NU +UkVBTV9FUlJPUgBzdHJtLmF2YWlsX2luID09IDAAcmV0ID09IFpfU1RSRUFNX0VO +RAAAAFJlYWRCbG9ja0RhdGEuIEJsb2NrRGF0YSA9PSBOVUxMLgAlMDh4AFByb2dy +ZXNzICg1MCBwb2ludHMpOiAAfAAuAC8AU2F2ZUZpbGUuIEVycm9yIGluIGNyZWF0 +aW5nIGZpbGUhAAAAU2F2ZUZpbGVUb0ZvbGRlci4gRXJyb3IgaW4gY3JlYXRpbmcg +ZGlyZWN0b3J5IGAAYCAhACoqKioqIEludGVybmFsIFByb2dyYW0gRXJyb3IgLSBh +c3NlcnRpb24gKAApIGZhaWxlZCBpbiAAOgoAKTogAHZlY3Rvcjo6cmVzZXJ2ZQAu +djh1bnBhY2sudG1wAC52OHVucGFjay5pbmYAAFVucGFja1RvRGlyZWN0b3J5Tm9M +b2FkLiBFcnJvciBpbiBjcmVhdGluZyBkaXJlY3RvcnkhAAAAVW5wYWNrVG9Gb2xk +ZXIuIElucHV0IGZpbGUgbm90IGZvdW5kIQAAAFVucGFja1RvRm9sZGVyLiBUaGlz +IGlzIG5vdCBWOCBmaWxlIQBMb2FkRmlsZTogb2sAAABVbnBhY2tUb0ZvbGRlci4g +Tm90IGVub3VnaCBtZW1vcnkhAABVbnBhY2tUb0ZvbGRlci4gRXJyb3IgaW4gcmVh +ZGluZyBmaWxlIQAvRmlsZUhlYWRlcgAAVW5wYWNrVG9Gb2xkZXIuIEVycm9yIGlu +IGNyZWF0aW5nIGZpbGUhAC5oZWFkZXIALmRhdGEAAABVbnBhY2tUb0ZvbGRlci4g +RXJyb3IgaW4gY3JlYXRpbmcgZGlyZWN0b3J5IQBiYXNpY19zdHJpbmc6OmF0AExv +YWRGaWxlRnJvbUZvbGRlcjogb2sAUGFjazogb2sAAABBcmd1bWVudCBlcnJvciAt +IFNldCBvZiBgaW5fZGlybmFtZScgYXJndW1lbnQgCgBBcmd1bWVudCBlcnJvciAt +IFNldCBvZiBgaW5fZGlybmFtZScgYXJndW1lbnQAAABBcmd1bWVudCBlcnJvciAt +IFNldCBvZiBgb3V0X2ZpbGVuYW1lJyBhcmd1bWVudABCdWlsZCBlcnJvci4gRGly +ZWN0b3J5IGAAYCBpcyBlbXB0eS4AQnVpbGQgT0shAGRhdGEAYzpcaG9tZVxkbXBh +c1x3b3Jrc3BhY2VcYm9vc3RfMV81NV8wL2Jvb3N0L2ZpbGVzeXN0ZW0vb3BlcmF0 +aW9ucy5ocHAAAAAAYXR0ZW1wdCB0byBkZXJlZmVyZW5jZSBlbmQgaXRlcmF0b3IA +bV9pbXAuZ2V0KCkAOiAAAGJvb3N0OjpmaWxlc3lzdGVtOjpkaXJlY3RvcnlfZW50 +cnkmIGJvb3N0OjpmaWxlc3lzdGVtOjpkaXJlY3RvcnlfaXRlcmF0b3I6OmRlcmVm +ZXJlbmNlKCkgY29uc3QAAFY4VXBhY2sgVmVyc2lvbiAAMy4wLjM2ACBDb3B5cmln +aHQgKGMpIAAKCTIwMDggRGVuaXMgRGVtaWRvdiAyMDA4LTAzLTMwCgkyMDE0LTIw +MTUgU2VyZ2V5IEJhdGFub3YAAABVbnBhY2ssIHBhY2ssIGRlZmxhdGUgYW5kIGlu +ZmxhdGUgMUMgdjggZmlsZSAoKi5jZikAVjhVTlBBQ0sAAAAAICAtVVtOUEFDS10g +ICAgIGluX2ZpbGVuYW1lLmNmICAgICBvdXRfZGlybmFtZQAAICAtUEFbQ0tdICAg +ICAgIGluX2Rpcm5hbWUgICAgICAgICBvdXRfZmlsZW5hbWUuY2YAACAgLUlbTkZM +QVRFXSAgICBpbl9maWxlbmFtZS5kYXRhICAgb3V0X2ZpbGVuYW1lACAgLURbRUZM +QVRFXSAgICBpbl9maWxlbmFtZSAgICAgICAgZmlsZW5hbWUuZGF0YQAgIC1FW1hB +TVBMRV0AICAtQkFUAAAAACAgLVBbQVJTRV0gICAgICBpbl9maWxlbmFtZSAgICAg +ICAgb3V0X2Rpcm5hbWUAACAgLUJbVUlMRF0gICAgICBpbl9kaXJuYW1lICAgICAg +ICAgb3V0X2ZpbGVuYW1lACAgLVZbRVJTSU9OXQAtdmVyc2lvbgAtdgAtaQAtdW5k +AC11bmRlZmxhdGUALWQALXUALXVucAAtcGEALXAALWIAaWYgJTEgPT0gUCBHT1RP +IFBBQ0sAaWYgJTEgPT0gcCBHT1RPIFBBQ0sAADpVTlBBQ0sAVjhVbnBhY2suZXhl +IC11bnBhY2sgICAgICAlMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUy +LnVucAAAAABWOFVucGFjay5leGUgLXVuZGVmbGF0ZSAgICUyLnVucFxtZXRhZGF0 +YS5kYXRhICAgICAgICAgICAgJTIudW5wXG1ldGFkYXRhLmRhdGEudW5kAABWOFVu +cGFjay5leGUgLXVucGFjayAgICAgICUyLnVucFxtZXRhZGF0YS5kYXRhLnVuZCAg +ICAgICAgJTIudW5wXG1ldGFkYXRhLnVucABHT1RPIEVORAA6UEFDSwAAAABWOFVu +cGFjay5leGUgLXBhY2sgICAgICAgICUyLnVucFxtZXRhZGF0YS51bnAgICAgICAg +ICAgICAlMi51bnBcbWV0YWRhdGFfbmV3LmRhdGEudW5kAAAAVjhVbnBhY2suZXhl +IC1kZWZsYXRlICAgICAlMi51bnBcbWV0YWRhdGFfbmV3LmRhdGEudW5kICAgJTIu +dW5wXG1ldGFkYXRhLmRhdGEAAABWOFVucGFjay5leGUgLXBhY2sgICAgICAgICUy +LnVucCAgICAgICAgICAgICAgICAgICAgICAgICAlMi5uZXcuY2YAOkVORAAtZXhh +bXBsZQAtZQBVTlBBQ0sAAFY4VW5wYWNrLmV4ZSAtdW5wYWNrICAgICAgMUN2OC5j +ZiAgICAgICAgICAgICAgICAgICAgICAgICAxQ3Y4LnVucAAAVjhVbnBhY2suZXhl +IC11bmRlZmxhdGUgICAxQ3Y4LnVucFxtZXRhZGF0YS5kYXRhICAgICAgICAgIDFD +djgudW5wXG1ldGFkYXRhLmRhdGEudW5kAAAAAFY4VW5wYWNrLmV4ZSAtdW5wYWNr +ICAgICAgMUN2OC51bnBcbWV0YWRhdGEuZGF0YS51bmQgICAgICAxQ3Y4LnVucFxt +ZXRhZGF0YS51bnAAUEFDSwAAAABWOFVucGFjay5leGUgLXBhY2sgICAgICAgIDFD +djgudW5wXG1ldGFkYXRhLnVucCAgICAgICAgICAgMUN2OC51bnBcbWV0YWRhdGFf +bmV3LmRhdGEudW5kAAAAAFY4VW5wYWNrLmV4ZSAtZGVmbGF0ZSAgICAgMUN2OC51 +bnBcbWV0YWRhdGFfbmV3LmRhdGEudW5kICAxQ3Y4LnVucFxtZXRhZGF0YS5kYXRh +AAAAAFY4VW5wYWNrLmV4ZSAtcGFjayAgICAgICAgMUN2OC51bmQgICAgICAgICAg +ICAgICAgICAgICAgICAxQ3Y4X25ldy5jZgAtaW5mbGF0ZQAtZGVmbGF0ZQAtdW5w +YWNrAC1wYWNrAC1wYXJzZQAtYnVpbGQALWJhdAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAABg8EAABAAEAAgABACw60AABAAFABAACACw60AABAAGACAAIACw60AA +BAAEABAAEABg80AACAAQACAAIABg80AACAAQAIAAgABg80AACAAgAIAAAAFg80AA +IACAAAIBAARg80AAIAACAQIBABBg80AAAAAAAAAAAAAgZGVmbGF0ZSAxLjIuOCBD +b3B5cmlnaHQgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRs +ZXIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpbmNvcnJlY3QgaGVhZGVy +IGNoZWNrAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAGludmFsaWQgd2luZG93 +IHNpemUAdW5rbm93biBoZWFkZXIgZmxhZ3Mgc2V0AGhlYWRlciBjcmMgbWlzbWF0 +Y2gAaW52YWxpZCBibG9jayB0eXBlAGludmFsaWQgc3RvcmVkIGJsb2NrIGxlbmd0 +aHMAAHRvbyBtYW55IGxlbmd0aCBvciBkaXN0YW5jZSBzeW1ib2xzAGludmFsaWQg +Y29kZSBsZW5ndGhzIHNldABpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0AABpbnZh +bGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2sAaW52YWxpZCBsaXRlcmFs +L2xlbmd0aHMgc2V0AGludmFsaWQgZGlzdGFuY2VzIHNldABpbnZhbGlkIGxpdGVy +YWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAGludmFsaWQgZGlz +dGFuY2UgdG9vIGZhciBiYWNrAGluY29ycmVjdCBkYXRhIGNoZWNrAGluY29ycmVj +dCBsZW5ndGggY2hlY2sAAKg3QQBgM0EAMC9BAAAwQQAwPEEAgDlBAFU6QQDQPEEA +4DxBAMAnQQChKEEA4yhBAO4oQQCiOEEAoC9BABA1QQDgM0EAljRBAKUwQQCAKkEA +iipBAHArQQCWK0EAoClBABIqQQAzNUEAaDVBAMc2QQBwLUEAIDVBAGAtQQAAAAAA +AAAAAAAAAAAAAAAAAAAAABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFA +EAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEY +EQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAA +YAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwAAQBwoAAAhgAAAIIAAACaAA +AAgAAAAIgAAACEAAAAngABAHBgAACFgAAAgYAAAJkAATBzsAAAh4AAAIOAAACdAA +EQcRAAAIaAAACCgAAAmwAAAICAAACIgAAAhIAAAJ8AAQBwQAAAhUAAAIFAAVCOMA +EwcrAAAIdAAACDQAAAnIABEHDQAACGQAAAgkAAAJqAAACAQAAAiEAAAIRAAACegA +EAcIAAAIXAAACBwAAAmYABQHUwAACHwAAAg8AAAJ2AASBxcAAAhsAAAILAAACbgA +AAgMAAAIjAAACEwAAAn4ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcQA +EQcLAAAIYgAACCIAAAmkAAAIAgAACIIAAAhCAAAJ5AAQBwcAAAhaAAAIGgAACZQA +FAdDAAAIegAACDoAAAnUABIHEwAACGoAAAgqAAAJtAAACAoAAAiKAAAISgAACfQA +EAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzAARBw8AAAhmAAAIJgAACawA +AAgGAAAIhgAACEYAAAnsABAHCQAACF4AAAgeAAAJnAAUB2MAAAh+AAAIPgAACdwA +EgcbAAAIbgAACC4AAAm8AAAIDgAACI4AAAhOAAAJ/ABgBwAAAAhRAAAIEQAVCIMA +EgcfAAAIcQAACDEAAAnCABAHCgAACGEAAAghAAAJogAACAEAAAiBAAAIQQAACeIA +EAcGAAAIWQAACBkAAAmSABMHOwAACHkAAAg5AAAJ0gARBxEAAAhpAAAIKQAACbIA +AAgJAAAIiQAACEkAAAnyABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcoA +EQcNAAAIZQAACCUAAAmqAAAIBQAACIUAAAhFAAAJ6gAQBwgAAAhdAAAIHQAACZoA +FAdTAAAIfQAACD0AAAnaABIHFwAACG0AAAgtAAAJugAACA0AAAiNAAAITQAACfoA +EAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxgARBwsAAAhjAAAIIwAACaYA +AAgDAAAIgwAACEMAAAnmABAHBwAACFsAAAgbAAAJlgAUB0MAAAh7AAAIOwAACdYA +EgcTAAAIawAACCsAAAm2AAAICwAACIsAAAhLAAAJ9gAQBwUAAAhXAAAIFwBACAAA +EwczAAAIdwAACDcAAAnOABEHDwAACGcAAAgnAAAJrgAACAcAAAiHAAAIRwAACe4A +EAcJAAAIXwAACB8AAAmeABQHYwAACH8AAAg/AAAJ3gASBxsAAAhvAAAILwAACb4A +AAgPAAAIjwAACE8AAAn+AGAHAAAACFAAAAgQABQIcwASBx8AAAhwAAAIMAAACcEA +EAcKAAAIYAAACCAAAAmhAAAIAAAACIAAAAhAAAAJ4QAQBwYAAAhYAAAIGAAACZEA +Ewc7AAAIeAAACDgAAAnRABEHEQAACGgAAAgoAAAJsQAACAgAAAiIAAAISAAACfEA +EAcEAAAIVAAACBQAFQjjABMHKwAACHQAAAg0AAAJyQARBw0AAAhkAAAIJAAACakA +AAgEAAAIhAAACEQAAAnpABAHCAAACFwAAAgcAAAJmQAUB1MAAAh8AAAIPAAACdkA +EgcXAAAIbAAACCwAAAm5AAAIDAAACIwAAAhMAAAJ+QAQBwMAAAhSAAAIEgAVCKMA +EwcjAAAIcgAACDIAAAnFABEHCwAACGIAAAgiAAAJpQAACAIAAAiCAAAIQgAACeUA +EAcHAAAIWgAACBoAAAmVABQHQwAACHoAAAg6AAAJ1QASBxMAAAhqAAAIKgAACbUA +AAgKAAAIigAACEoAAAn1ABAHBQAACFYAAAgWAEAIAAATBzMAAAh2AAAINgAACc0A +EQcPAAAIZgAACCYAAAmtAAAIBgAACIYAAAhGAAAJ7QAQBwkAAAheAAAIHgAACZ0A +FAdjAAAIfgAACD4AAAndABIHGwAACG4AAAguAAAJvQAACA4AAAiOAAAITgAACf0A +YAcAAAAIUQAACBEAFQiDABIHHwAACHEAAAgxAAAJwwAQBwoAAAhhAAAIIQAACaMA +AAgBAAAIgQAACEEAAAnjABAHBgAACFkAAAgZAAAJkwATBzsAAAh5AAAIOQAACdMA +EQcRAAAIaQAACCkAAAmzAAAICQAACIkAAAhJAAAJ8wAQBwQAAAhVAAAIFQAQCAIB +EwcrAAAIdQAACDUAAAnLABEHDQAACGUAAAglAAAJqwAACAUAAAiFAAAIRQAACesA +EAcIAAAIXQAACB0AAAmbABQHUwAACH0AAAg9AAAJ2wASBxcAAAhtAAAILQAACbsA +AAgNAAAIjQAACE0AAAn7ABAHAwAACFMAAAgTABUIwwATByMAAAhzAAAIMwAACccA +EQcLAAAIYwAACCMAAAmnAAAIAwAACIMAAAhDAAAJ5wAQBwcAAAhbAAAIGwAACZcA +FAdDAAAIewAACDsAAAnXABIHEwAACGsAAAgrAAAJtwAACAsAAAiLAAAISwAACfcA +EAcFAAAIVwAACBcAQAgAABMHMwAACHcAAAg3AAAJzwARBw8AAAhnAAAIJwAACa8A +AAgHAAAIhwAACEcAAAnvABAHCQAACF8AAAgfAAAJnwAUB2MAAAh/AAAIPwAACd8A +EgcbAAAIbwAACC8AAAm/AAAIDwAACI8AAAhPAAAJ/wAQABEAEgAAAAgABwAJAAYA +CgAFAAsABAAMAAMADQACAA4AAQAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAA +QAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAA +ABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAAAAAAAAAAAAAAAAAQAAAAIAAAADAAAA +BAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAA +IAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAAAA +AAAAAAAAAAAAAAAAAAAAAAABAgMEBQYHCAgJCQoKCwsMDAwMDQ0NDQ4ODg4PDw8P +EBAQEBAQEBARERERERERERISEhISEhISExMTExMTExMUFBQUFBQUFBQUFBQUFBQU +FRUVFRUVFRUVFRUVFRUVFRYWFhYWFhYWFhYWFhYWFhYXFxcXFxcXFxcXFxcXFxcX +GBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgZGRkZGRkZGRkZGRkZGRkZ +GRkZGRkZGRkZGRkZGRkZGRoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoa +GxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxwAAQIDBAQFBQYGBgYHBwcH +CAgICAgICAgJCQkJCQkJCQoKCgoKCgoKCgoKCgoKCgoLCwsLCwsLCwsLCwsLCwsL +DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDQ0NDQ0NDQ0NDQ0NDQ0N +DQ0NDQ0NDQ0NDQ0NDQ0NDQ4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4O +Dg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4PDw8PDw8PDw8PDw8PDw8P +Dw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8P +AAAQERISExMUFBQUFRUVFRYWFhYWFhYWFxcXFxcXFxcYGBgYGBgYGBgYGBgYGBgY +GRkZGRkZGRkZGRkZGRkZGRoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoa +GxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxscHBwcHBwcHBwcHBwcHBwc +HBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwc +HR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0d +HR0dHR0dHR0dHR0dHR0dHQAABQAQAAUACAAFABgABQAEAAUAFAAFAAwABQAcAAUA +AgAFABIABQAKAAUAGgAFAAYABQAWAAUADgAFAB4ABQABAAUAEQAFAAkABQAZAAUA +BQAFABUABQANAAUAHQAFAAMABQATAAUACwAFABsABQAHAAUAFwAFAAAAAAAAAAAA +DAAIAIwACABMAAgAzAAIACwACACsAAgAbAAIAOwACAAcAAgAnAAIAFwACADcAAgA +PAAIALwACAB8AAgA/AAIAAIACACCAAgAQgAIAMIACAAiAAgAogAIAGIACADiAAgA +EgAIAJIACABSAAgA0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgA +KgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgA +BgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgA +NgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgA +HgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgA +IQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgA +CQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgA +OQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgA +FQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgA +LQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgA +EwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkA +cwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkA +KwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkA +WwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkA +BwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkA +ZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkA +NwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkA +TwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkA +HwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkA +fwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcA +CAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcA +FAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgA +EBESAAgHCQYKBQsEDAMNAg4BDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AgAAAAMAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAA +BwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAA +DQAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAA +BAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAA +MS4yLjgAbmVlZCBkaWN0aW9uYXJ5AHN0cmVhbSBlbmQAAGZpbGUgZXJyb3IAc3Ry +ZWFtIGVycm9yAGRhdGEgZXJyb3IAaW5zdWZmaWNpZW50IG1lbW9yeQBidWZmZXIg +ZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AAAAAAAAGQkkAFkJJACFCSQAiQkkA +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 +Q9I+SPtuWS3p2/bDUWeRpsywqR90DM56ZrlhlN4FBvFpbnZhbGlkIGRpc3RhbmNl +IHRvbyBmYXIgYmFjawBpbnZhbGlkIGRpc3RhbmNlIGNvZGUAaW52YWxpZCBsaXRl +cmFsL2xlbmd0aCBjb2RlAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABEAEQASABIA +EwATABQAFAAVABUAFgAWABcAFwAYABgAGQAZABoAGgAbABsAHAAcAB0AHQBAAEAA +AQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEM +ARABGAEgATABQAFgAAAAABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIA +EwATABMAEwAUABQAFAAUABUAFQAVABUAEABIAE4AAAADAAQABQAGAAcACAAJAAoA +CwANAA8AEQATABcAGwAfACMAKwAzADsAQwBTAGMAcwCDAKMAwwDjAAIBAAAAAAAA +IGluZmxhdGUgMS4yLjggQ29weXJpZ2h0IDE5OTUtMjAxMyBNYXJrIEFkbGVyIAAA +AAAAAAAAAAAAAAAAAAAAAC5leGUALmNvbQAuYmF0AC5jbWQAXAAqAAAAKgAAAAAA +Ym9vc3Q6OmZpbGVzeXN0ZW06OmNyZWF0ZV9kaXJlY3Rvcnlfc3ltbGluawBib29z +dDo6ZmlsZXN5c3RlbTo6Y29weV9zeW1saW5rAGJvb3N0OjpmaWxlc3lzdGVtOjpy +ZW5hbWUAAABib29zdDo6ZmlsZXN5c3RlbTo6Y29weV9kaXJlY3RvcnkAYm9vc3Q6 +OmZpbGVzeXN0ZW06OmNvcHlfZmlsZQAAYm9vc3Q6OmZpbGVzeXN0ZW06OmNyZWF0 +ZV9oYXJkX2xpbmsAYm9vc3Q6OmZpbGVzeXN0ZW06OmVxdWl2YWxlbnQAAABib29z +dDo6ZmlsZXN5c3RlbTo6Y3VycmVudF9wYXRoAGJvb3N0OjpmaWxlc3lzdGVtOjpz +dGF0dXMAAABib29zdDo6ZmlsZXN5c3RlbTo6dGVtcF9kaXJlY3RvcnlfcGF0aABi +b29zdDo6ZmlsZXN5c3RlbTo6Y29weQAAYm9vc3Q6OmZpbGVzeXN0ZW06OmNyZWF0 +ZV9kaXJlY3RvcnkAYm9vc3Q6OmZpbGVzeXN0ZW06OmNyZWF0ZV9kaXJlY3Rvcmll +cwAAAGJvb3N0OjpmaWxlc3lzdGVtOjpkaXJlY3RvcnlfaXRlcmF0b3I6Om9wZXJh +dG9yKysAAABib29zdDo6ZmlsZXN5c3RlbTo6cmVhZF9zeW1saW5rAGJvb3N0Ojpm +aWxlc3lzdGVtOjpjYW5vbmljYWwAAAAAYm9vc3Q6OmZpbGVzeXN0ZW06OmRpcmVj +dG9yeV9pdGVyYXRvcjo6Y29uc3RydWN0AGJvb3N0OjpmaWxlc3lzdGVtOjpmaWxl +X3NpemUAYm9vc3Q6OmZpbGVzeXN0ZW06OnNwYWNlAGJvb3N0OjpmaWxlc3lzdGVt +Ojppc19lbXB0eQAAYm9vc3Q6OmZpbGVzeXN0ZW06OnJlc2l6ZV9maWxlAGJvb3N0 +OjpmaWxlc3lzdGVtOjpyZW1vdmUAYm9vc3Q6OmZpbGVzeXN0ZW06OnJlbW92ZV9h +bGwAAGJvb3N0OjpmaWxlc3lzdGVtOjpsYXN0X3dyaXRlX3RpbWUAAGJvb3N0Ojpm +aWxlc3lzdGVtOjpwZXJtaXNzaW9ucwAAYm9vc3Q6OmZpbGVzeXN0ZW06OmhhcmRf +bGlua19jb3VudAAAYm9vc3Q6OmZpbGVzeXN0ZW06OnN5c3RlbV9jb21wbGV0ZQAA +LgAAAC4ALgAAAGtlcm5lbDMyLmRsbABDcmVhdGVIYXJkTGlua1cAQ3JlYXRlU3lt +Ym9saWNMaW5rVwA6IAA6ICIAIgAsICIALwBcAAAAYmFzaWNfc3RyaW5nOjplcmFz +ZQAAAGJhc2ljX3N0cmluZzo6X1NfY29uc3RydWN0IG51bGwgbm90IHZhbGlkAGJh +c2ljX3N0cmluZzo6c3Vic3RyAABcAAAALwAAAC4AAAAuAC4AAAA6IAAAAABib29z +dDo6ZmlsZXN5c3RlbTo6cGF0aCBjb2RlY3Z0IHRvIHdzdHJpbmcAAGJvb3N0Ojpm +aWxlc3lzdGVtOjpwYXRoIGNvZGVjdnQgdG8gc3RyaW5nADogAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAGNvZGVjdnQAb2sAcGFydGlhbABlcnJvcgBub2NvbnYA +dW5rbm93biBlcnJvcgAAAAAAAAAAAAAAAAAAAAAAAAAqTjEyX0dMT0JBTF9fTl8x +MTdjb2RlY3Z0X2Vycm9yX2NhdEUAAAAASMVJAIBpSQBEp0kAAAAAAAAAAAAAAAAA +AAAAAKhpSQDAbEIA0GxCAKBsQgDwbEIAcPRDADD0QwAQ9EMAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAGdlbmVyaWMAc3lzdGVtAFVua25vd24gZXJyb3IAYmFz +aWNfc3RyaW5nOjplcmFzZQAAAAAAAAAAAAAAAAAAAAAqTjVib29zdDZzeXN0ZW0x +Ml9HTE9CQUxfX05fMTIyZ2VuZXJpY19lcnJvcl9jYXRlZ29yeUUAAAAAAAAAAAAA +Kk41Ym9vc3Q2c3lzdGVtMTJfR0xPQkFMX19OXzEyMXN5c3RlbV9lcnJvcl9jYXRl +Z29yeUUAAABIxUkAgGpJAESnSQBIxUkAQGpJAESnSQAAAAAAAAAAAAAAAAAAAAAA +AAAAAMRqSQCQbkIAwG5CAEBuQgDgbkIAcPRDADD0QwAQ9EMAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAC4akkAgG5CAKBuQgBQbkIAIIRCAABwQgAw9EMA +EPRDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABiYXNpY19maWxlYnVmOjp1 +bmRlcmZsb3cgY29kZWN2dDo6bWF4X2xlbmd0aCgpIGlzIG5vdCB2YWxpZABiYXNp +Y19maWxlYnVmOjp1bmRlcmZsb3cgaW5jb21wbGV0ZSBjaGFyYWN0ZXIgaW4gZmls +ZQAAAGJhc2ljX2ZpbGVidWY6OnVuZGVyZmxvdyBpbnZhbGlkIGJ5dGUgc2VxdWVu +Y2UgaW4gZmlsZQAAYmFzaWNfZmlsZWJ1Zjo6dW5kZXJmbG93IGVycm9yIHJlYWRp +bmcgdGhlIGZpbGUAYmFzaWNfZmlsZWJ1Zjo6eHNnZXRuIGVycm9yIHJlYWRpbmcg +dGhlIGZpbGUAAAAAYmFzaWNfZmlsZWJ1Zjo6X01fY29udmVydF90b19leHRlcm5h +bCBjb252ZXJzaW9uIGVycm9yAABiYXNpY19pb3M6OmNsZWFyAAAAALC6QwABu0MA +MLtDALC6QwDgukMAQLtDAEC7QwBAu0MAQLtDAPC6QwDnukMAsLpDAOC6QwBiYXNp +Y19zdHJpbmc6OmF0AGJhc2ljX3N0cmluZzo6Y29weQBiYXNpY19zdHJpbmc6OmNv +bXBhcmUAYmFzaWNfc3RyaW5nOjpfU19jcmVhdGUAYmFzaWNfc3RyaW5nOjplcmFz +ZQBiYXNpY19zdHJpbmc6Ol9NX3JlcGxhY2VfYXV4AGJhc2ljX3N0cmluZzo6aW5z +ZXJ0AGJhc2ljX3N0cmluZzo6cmVwbGFjZQBiYXNpY19zdHJpbmc6OmFzc2lnbgBi +YXNpY19zdHJpbmc6OmFwcGVuZABiYXNpY19zdHJpbmc6OnJlc2l6ZQAAAABiYXNp +Y19zdHJpbmc6Ol9TX2NvbnN0cnVjdCBudWxsIG5vdCB2YWxpZABiYXNpY19zdHJp +bmc6OmJhc2ljX3N0cmluZwBiYXNpY19zdHJpbmc6OnN1YnN0cgAAAGJhc2ljX3N0 +cmluZzo6YXQAYmFzaWNfc3RyaW5nOjpjb3B5AGJhc2ljX3N0cmluZzo6Y29tcGFy +ZQBiYXNpY19zdHJpbmc6Ol9TX2NyZWF0ZQBiYXNpY19zdHJpbmc6OmVyYXNlAGJh +c2ljX3N0cmluZzo6X01fcmVwbGFjZV9hdXgAYmFzaWNfc3RyaW5nOjppbnNlcnQA +YmFzaWNfc3RyaW5nOjpyZXBsYWNlAGJhc2ljX3N0cmluZzo6YXNzaWduAGJhc2lj +X3N0cmluZzo6YXBwZW5kAGJhc2ljX3N0cmluZzo6cmVzaXplAAAAAGJhc2ljX3N0 +cmluZzo6X1NfY29uc3RydWN0IG51bGwgbm90IHZhbGlkAGJhc2ljX3N0cmluZzo6 +YmFzaWNfc3RyaW5nAGJhc2ljX3N0cmluZzo6c3Vic3RyAAAAYQBhYgByAGErAHJi +AGErYgB3AHdiAHIrAHIrYgB3KwB3K2IAX19nbnVfY3h4OjpfX2NvbmN1cnJlbmNl +X2xvY2tfZXJyb3IAX19nbnVfY3h4OjpfX2NvbmN1cnJlbmNlX3VubG9ja19lcnJv +cgAAAGxvY2FsZTo6X1Nfbm9ybWFsaXplX2NhdGVnb3J5IGNhdGVnb3J5IG5vdCBm +b3VuZAAAAACAc0cAYHNHAEBzRwB3c0cAcHNHAGdzRwBsb2NhbGU6Ol9JbXBsOjpf +TV9yZXBsYWNlX2ZhY2V0AGlvc19iYXNlOjpfTV9ncm93X3dvcmRzIGlzIG5vdCB2 +YWxpZAAAAABpb3NfYmFzZTo6X01fZ3Jvd193b3JkcyBhbGxvY2F0aW9uIGZhaWxl +ZAAAAEMAUE9TSVgAc3RkOjpmdXR1cmVfZXJyb3IAAABwdXJlIHZpcnR1YWwgbWV0 +aG9kIGNhbGxlZAoAZGVsZXRlZCB2aXJ0dWFsIG1ldGhvZCBjYWxsZWQKAABfX2du +dV9jeHg6Ol9fY29uY3VycmVuY2VfbG9ja19lcnJvcgBfX2dudV9jeHg6Ol9fY29u +Y3VycmVuY2VfdW5sb2NrX2Vycm9yAAAAX19nbnVfY3h4OjpfX2NvbmN1cnJlbmNl +X2xvY2tfZXJyb3IAX19nbnVfY3h4OjpfX2NvbmN1cnJlbmNlX3VubG9ja19lcnJv +cgAAAEMAUE9TSVgAYmFzaWNfc3RyaW5nOjplcmFzZQBymUUAZJhFAECYRQAnmEUA +gJlFAHKSRQBkkUUAQJFFACeRRQCAkkUAJS4qTGYAJW0vJWQvJXkAJUg6JU0AJUg6 +JU06JVMAAACQLkUANS9FABYwRQCwMEUACC5FAAguRQAILkUAMTFFALAxRQAILkUA +CC5FAAguRQAoMkUACC5FAAguRQAILkUACC5FAKAyRQAhM0UAljNFAAguRQAILkUA +CC5FABc0RQAWMEUAhDRFAAguRQAILkUACC5FAAguRQAILkUACC5FAHA2RQAVN0UA +EDhFAHQ4RQDwOEUACC5FAAguRQAVN0UACC5FAAguRQAILkUACC5FAJc5RQDgLUUA +CC5FAAguRQAILkUACC5FAAguRQAjOkUACC5FAAguRQAILkUAIC5FABYwRQCQY0UA +QmNFAOBlRQCYZUUAAGRFALBuRQBibkUAAHFFALhwRQAgb0UAX19nbnVfY3h4Ojpf +X2NvbmN1cnJlbmNlX2xvY2tfZXJyb3IAX19nbnVfY3h4OjpfX2NvbmN1cnJlbmNl +X3VubG9ja19lcnJvcgAqAEMAUE9TSVgAYmFzaWNfc3RyaW5nOjplcmFzZQAhiUUA +AIlFANeIRQDCiEUAMIlFAHGCRQBQgkUAJ4JFABKCRQCAgkUAJS4qTGYAJW0vJWQv +JXkAJUg6JU0AJUg6JU06JVMAAACAF0UAAxdFAIMWRQBHFkUAcRBFAHEQRQBxEEUA +8RdFAMAXRQBxEEUAcRBFAHEQRQAWFkUAcRBFAHEQRQBxEEUAcRBFAOAVRQCwFUUA +dBVFAHEQRQBxEEUAcRBFAGYVRQCDFkUA0BNFAHEQRQBxEEUAcRBFAHEQRQBxEEUA +cRBFAGUTRQCAEkUAcRJFABASRQClEUUAcRBFAHEQRQCAEkUAcRBFAHEQRQBxEEUA +cRBFADARRQAAEUUAcRBFAHEQRQBxEEUAcRBFAHEQRQDQEEUAcRBFAHEQRQBxEEUA +dRBFAIMWRQCQVUUAUlVFAHBXRQAoV0UA9lVFAOBKRQCiSkUAwExFAHhMRQBGS0UA +c3RkOjpleGNlcHRpb24Ac3RkOjpiYWRfZXhjZXB0aW9uAAAAAAAAAAAAAAAAAAAA +QwAAAGxvY2FsZTo6ZmFjZXQ6Ol9TX2NyZWF0ZV9jX2xvY2FsZSBuYW1lIG5vdCB2 +YWxpZABMQ19DVFlQRQBMQ19OVU1FUklDAExDX1RJTUUATENfQ09MTEFURQBMQ19N +T05FVEFSWQBMQ19NRVNTQUdFUwD//39///9//wAAAAD////////vf////////+// +///////////+fwAAAAAAAP///////////v8AAAAAAABDAFBPU0lYAHNwYWNlAHBy +aW50AGNudHJsAHVwcGVyAGxvd2VyAGFscGhhAGRpZ2l0AHB1bmN0AHhkaWdpdABh +bG51bQBncmFwaAAAc3RkOjpiYWRfYWxsb2MAAHN0ZDo6YmFkX2Nhc3QAAABzdGQ6 +OmJhZF90eXBlaWQAZ2VuZXJpYwBzeXN0ZW0AAGZ1dHVyZQBCcm9rZW4gcHJvbWlz +ZQBGdXR1cmUgYWxyZWFkeSByZXRyaWV2ZWQAUHJvbWlzZSBhbHJlYWR5IHNhdGlz +ZmllZABObyBhc3NvY2lhdGVkIHN0YXRlAFVua25vd24gZXJyb3IAAGJhZF9mdW5j +dGlvbl9jYWxsAAAAcmVnZXhfZXJyb3IALSt4WDAxMjM0NTY3ODlhYmNkZWYwMTIz +NDU2Nzg5QUJDREVGAC0reFgwMTIzNDU2Nzg5YWJjZGVmQUJDREVGAC0wMTIzNDU2 +Nzg5AEcATQBUAAAASABTAFQAAABBAEsAUwBUAAAAUABTAFQAAABNAFMAVAAAAEMA +UwBUAAAARQBTAFQAAABBAFMAVAAAAE4AUwBUAAAAQwBFAFQAAABJAFMAVAAAAEUA +RQBUAAAASgBTAFQAAABHTVQASFNUAEFLU1QAUFNUAE1TVABDU1QARVNUAEFTVABO +U1QAQ0VUAElTVABFRVQASlNUAAAAAAAAAHRydWUAZmFsc2UAdAByAHUAZQAAAGYA +YQBsAHMAZQAAAAAAJW0vJWQvJXkAJUg6JU06JVMAAEFNAFBNAFN1bmRheQBNb25k +YXkAVHVlc2RheQBXZWRuZXNkYXkAVGh1cnNkYXkARnJpZGF5AFNhdHVyZGF5AFN1 +bgBNb24AVHVlAFdlZABUaHUARnJpAFNhdABKYW51YXJ5AEZlYnJ1YXJ5AE1hcmNo +AEFwcmlsAE1heQBKdW5lAEp1bHkAQXVndXN0AFNlcHRlbWJlcgBPY3RvYmVyAE5v +dmVtYmVyAERlY2VtYmVyAEphbgBGZWIATWFyAEFwcgBKdW4ASnVsAEF1ZwBTZXAA +T2N0AE5vdgBEZWMAJQBtAC8AJQBkAC8AJQB5AAAAJQBIADoAJQBNADoAJQBTAAAA +AABBAE0AAABQAE0AAABTAHUAbgBkAGEAeQAAAE0AbwBuAGQAYQB5AAAAVAB1AGUA +cwBkAGEAeQAAAFcAZQBkAG4AZQBzAGQAYQB5AAAAVABoAHUAcgBzAGQAYQB5AAAA +RgByAGkAZABhAHkAAABTAGEAdAB1AHIAZABhAHkAAABTAHUAbgAAAE0AbwBuAAAA +VAB1AGUAAABXAGUAZAAAAFQAaAB1AAAARgByAGkAAABTAGEAdAAAAEoAYQBuAHUA +YQByAHkAAABGAGUAYgByAHUAYQByAHkAAABNAGEAcgBjAGgAAABBAHAAcgBpAGwA +AABNAGEAeQAAAEoAdQBuAGUAAABKAHUAbAB5AAAAQQB1AGcAdQBzAHQAAABTAGUA +cAB0AGUAbQBiAGUAcgAAAE8AYwB0AG8AYgBlAHIAAABOAG8AdgBlAG0AYgBlAHIA +AABEAGUAYwBlAG0AYgBlAHIAAABKAGEAbgAAAEYAZQBiAAAATQBhAHIAAABBAHAA +cgAAAEoAdQBuAAAASgB1AGwAAABBAHUAZwAAAFMAZQBwAAAATwBjAHQAAABOAG8A +dgAAAEQAZQBjAAAAdGVybWluYXRlIGNhbGxlZCByZWN1cnNpdmVseQoAAAB0ZXJt +aW5hdGUgY2FsbGVkIGFmdGVyIHRocm93aW5nIGFuIGluc3RhbmNlIG9mICcAJwoA +dGVybWluYXRlIGNhbGxlZCB3aXRob3V0IGFuIGFjdGl2ZSBleGNlcHRpb24KACAg +d2hhdCgpOiAgAAAAAAAAAGOHQgBXh0IAV4dCAFeHQgBXh0IAY4dCAGOHQgBjh0IA +Y4dCACKHQgAih0IAV4dCACKHQgAih0IAIodCACKHQgAih0IAIodCACKHQgAih0IA +IodCACKHQgAih0IAIodCAGOHQgAmh0IAJodCACaHQgAmh0IAJodCACaHQgAmh0IA +JodCAFeHQgAih0IAIodCACKHQgAih0IAIodCAGOHQgAih0IAJodCAFuHQgBXh0IA +Y4dCAFeHQgAmh0IAJodCAFuHQgBjh0IAY4dCACKHQgAih0IAV4dCAFeHQgBXh0IA +V4dCAFeHQgAih0IAV4dCAFeHQgAih0IAV4dCAGOHQgBjh0IAIodCACKHQgAih0IA +Y4dCAGOHQgBjh0IAIodCACKHQgAih0IAV4dCAFeHQgBfR0xPQkFMXwAoYW5vbnlt +b3VzIG5hbWVzcGFjZSkAADWPQgAgj0IAII9CACCPQgAgj0IAQI9CADWPQgAuj0IA +Lo9CACCPQgAgj0IAII9CACCPQgAgj0IAII9CACCPQgAgj0IAII9CACCPQgAgj0IA +II9CACCPQgAgj0IAII9CADWPQgAgj0IAII9CACCPQgAgj0IAII9CACCPQgAgj0IA +II9CACCPQgAgj0IAII9CACCPQgAgj0IAII9CADWPQgAgj0IAII9CACCPQgAgj0IA +II9CACCPQgAgj0IAII9CACCPQgA1j0IALo9CACCPQgAgj0IAII9CACCPQgAgj0IA +II9CACCPQgAgj0IAII9CACCPQgAgj0IAII9CADWPQgAgj0IAII9CACCPQgAgj0IA +NY9CACCPQgA1j0IAII9CACCPQgA1j0IANY9CAHN0cmluZyBsaXRlcmFsAHN0ZAAA +4JJCALCTQgDzkkIAsJNCALCTQgCwk0IAsJNCAKCSQgCwk0IA4JJCALCTQgCwk0IA +sJNCALCTQgB0kkIAYXV0bwAAAACCl0IAgpdCAIKXQgCCl0IAgpdCAIKXQgCCl0IA +gpdCAIKXQgCCl0IAuJZCALiWQgC4lkIAuJZCALiWQgC4lkIAuJZCAJCXQgC4lkIA +4JdCAICYQgC4lkIAEJhCAFCYQgC4lkIAuJZCALiWQgC4lkIAuJZCALCYQgCCl0IA +QZlCAHCZQgC4lkIAoJlCANCZQgAnmkIAYJpCALiWQgC4lkIAuJZCALiWQgCCl0IA +uJZCALiWQgC4lkIAuJZCALiWQgC4lkIAlJpCAJSaQgCUmkIAlJpCAJSaQgCUmkIA +lJpCAJSaQgCUmkIAlJpCALiWQgCUmkIAlJpCAJSaQgCUmkIAuJZCALiWQgC4lkIA +lJpCAJSaQgAwl0IAlJpCAJSaQgCUmkIAlJpCAJSaQgDknEIAuJZCALiWQgC4lkIA +uJZCALiWQgC4lkIAuJZCALiWQgC4lkIAuJZCALiWQgC4lkIAuJZCAH2WQgC4lkIA +uJZCALiWQgC4lkIAuJZCALiWQgC4lkIAuJZCALiWQgC4lkIAuJZCALiWQgDOnEIA +uJZCALiWQgCUnEIAeZtCAEKbQgC4lkIAC5tCAMeaQgC4lkIAuJZCALiWQgC4lkIA +WpxCALiWQgA5nEIAuJZCALiWQgD/m0IAfZZCALiWQgCzm0IAAKFCAPegQgD3oEIA +AKFCAAChQgAAoUIAAKFCAACgQgAAoEIAAKFCAAChQgAAoUIAAKFCAAChQgAAoUIA +AKFCAAChQgAAoUIAAKFCAAChQgAAoUIAAKFCAAChQgAAoUIAAKFCAAChQgAAoUIA +AKFCAAChQgAAoUIAAKFCAAChQgAAoUIAAKFCAAChQgAAoUIAAKFCAAChQgAAoUIA +AKFCAAChQgAAoUIAAKFCAAChQgAAoUIAAKFCAAChQgAAoUIAAKFCAAChQgAAoUIA +AKBCABeiQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIA +hqBCAIagQgCGoEIAhqBCAIagQgCGoEIA8aFCAIagQgA6okIAhqBCANChQgCGoEIA +hqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIA +hqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIA +hqBCAIagQgAKoUIA8KJCAIagQgCGoEIAz6JCAIagQgCuokIAa6RCAEqkQgCGoEIA +hqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCACmkQgACpEIAhqBCANujQgC6o0IA +hqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgBzo0IA +hqBCAIagQgCGoEIAhqBCADyjQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIA +hqBCAIagQgCGoEIAhqBCAIagQgCGoEIAd6JCAGxpAHN0AGNsAGR0AHB0AHF1AFth +Ymk6ADo6AHtkZWZhdWx0IGFyZyMAJWxkAH06OgBKQXJyYXkAW10AdnRhYmxlIGZv +ciAAVlRUIGZvciAAY29uc3RydWN0aW9uIHZ0YWJsZSBmb3IgAC1pbi0AdHlwZWlu +Zm8gZm9yIAB0eXBlaW5mbyBuYW1lIGZvciAAdHlwZWluZm8gZm4gZm9yIABub24t +dmlydHVhbCB0aHVuayB0byAAdmlydHVhbCB0aHVuayB0byAAY292YXJpYW50IHJl +dHVybiB0aHVuayB0byAAamF2YSBDbGFzcyBmb3IgAGd1YXJkIHZhcmlhYmxlIGZv +ciAAVExTIGluaXQgZnVuY3Rpb24gZm9yIABUTFMgd3JhcHBlciBmdW5jdGlvbiBm +b3IgAHJlZmVyZW5jZSB0ZW1wb3JhcnkgIwAgZm9yIABoaWRkZW4gYWxpYXMgZm9y +IAB0cmFuc2FjdGlvbiBjbG9uZSBmb3IgAG5vbi10cmFuc2FjdGlvbiBjbG9uZSBm +b3IgAF9TYXQgAF9BY2N1bQBfRnJhY3QALCAAb3BlcmF0b3IAb3BlcmF0b3IgAGFk +AGdzAGl4ACA6IABuZXcgAHVsAGxsAHVsbABmYWxzZQB0cnVlAGphdmEgcmVzb3Vy +Y2UgAGRlY2x0eXBlICgALi4uAHRoaXMAe3Bhcm0jAGdsb2JhbCBjb25zdHJ1Y3Rv +cnMga2V5ZWQgdG8gAGdsb2JhbCBkZXN0cnVjdG9ycyBrZXllZCB0byAAe2xhbWJk +YSgAKSMAe3VubmFtZWQgdHlwZSMAIFtjbG9uZSAAPigAAAAA4L1CAHS7QgB0u0IA +A7pCADG/QgDwvkIAeMBCAPC5QgC3uUIAQLlCAMe4QgBQuEIA17dCAGC3QgDntkIA +cLZCAPe1QgCAtUIAB7VCAJC0QgAXtEIAoLNCACezQgCwskIANLJCAPCxQgDwsUIA +8LFCAJGxQgCRsUIAkbFCAJGxQgCRsUIAkbFCAJGxQgBlzEIAZcxCAJGxQgCRsUIA +2MtCAMjMQgBgx0IAM8ZCANfFQgAQxUIA18VCAHLEQgByxEIAZ8tCAOfKQgBwykIA +98lCAGXAQgAgwEIAAMBCAPC/QgDQw0IAwMNCAMDDQgAHw0IAB8NCAJHCQgBwwkIA +QMJCAHDBQgD3wEIAB8lCAJDIQgAXyEIA4MxCAKDHQgCAyUIAaL1CAJC8QgAHvEIA +aL5CAOixQgDosUIAcuBCAGHgQgBQ4EIAP+BCAC7gQgAgcmVzdHJpY3QAIHZvbGF0 +aWxlACBjb25zdAAmJgBjb21wbGV4IABpbWFnaW5hcnkgADo6KgAgX192ZWN0b3Io +AAAAANDoQgDb6EIA2+hCANvoQgDb6EIA2+hCANvoQgDb6EIA2+hCANvoQgDb6EIA +2+hCANvoQgDb6EIA2+hCANvoQgDb6EIA2+hCANvoQgDb6EIA2+hCANvoQgD46EIA +MOpCAGjpQgD46EIAMOpCAGjpQgDg6UIAp+pCAEDrQgCA60IAtetCAMDrQgDQ60IA +R+xCANvoQgDb6EIA2+hCANvoQgDA7EIA2+hCAFLoQgAgKABzdGQ6OmFsbG9jYXRv +cgBhbGxvY2F0b3IAc3RkOjpiYXNpY19zdHJpbmcAYmFzaWNfc3RyaW5nAHN0ZDo6 +c3RyaW5nAABzdGQ6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6OmNoYXJfdHJhaXRz +PGNoYXI+LCBzdGQ6OmFsbG9jYXRvcjxjaGFyPiA+AHN0ZDo6aXN0cmVhbQBzdGQ6 +OmJhc2ljX2lzdHJlYW08Y2hhciwgc3RkOjpjaGFyX3RyYWl0czxjaGFyPiA+AGJh +c2ljX2lzdHJlYW0Ac3RkOjpvc3RyZWFtAAAAAHN0ZDo6YmFzaWNfb3N0cmVhbTxj +aGFyLCBzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+ID4AYmFzaWNfb3N0cmVhbQBzdGQ6 +Omlvc3RyZWFtAAAAc3RkOjpiYXNpY19pb3N0cmVhbTxjaGFyLCBzdGQ6OmNoYXJf +dHJhaXRzPGNoYXI+ID4AYmFzaWNfaW9zdHJlYW0AAAB0AAAAy31JAAMAAADLfUkA +AwAAAAAAAAAAAAAAYQAAACOHSQAOAAAAI4dJAA4AAAAyh0kACQAAAGIAAAA8h0kA +EQAAADyHSQARAAAATodJAAwAAABzAAAAW4dJAAsAAABoh0kARgAAAE6HSQAMAAAA +aQAAAK+HSQAMAAAAvIdJADEAAADuh0kADQAAAG8AAAD8h0kADAAAAAyISQAxAAAA +PohJAA0AAABkAAAATIhJAA0AAABciEkAMgAAAI+ISQAOAAAAYU4AJj0AYVMAPQBh +YQAmAGFuAGF0AGFsaWdub2YgAGF6AGNjAGNvbnN0X2Nhc3QAKCkAY20ALABjbwB+ +AGRWAC89AGRhAGRlbGV0ZVtdIABkYwBkeW5hbWljX2Nhc3QAZGUAKgBkbABkZWxl +dGUgAGRzAC4qAC4AZHYALwBlTwBePQBlbwBeAGVxAD09AGdlAD49AGd0AD4AbFMA +PDw9AGxlADw9AG9wZXJhdG9yIiIgAGxzADw8AGx0ADwAbUkALT0AbUwAKj0AbWkA +LQBtbABtbQAtLQBuYQBuZXdbXQBuZQAhPQBuZwBudAAhAG53AG5ldwBvUgB8PQBv +bwB8fABvcgB8AHBMACs9AHBsACsAcG0ALT4qAHBwACsrAHBzAC0+AD8Ack0AJT0A +clMAPj49AHJjAHJlaW50ZXJwcmV0X2Nhc3QAcm0AJQBycwA+PgBzYwBzdGF0aWNf +Y2FzdABzaXplb2YgAHN6AHRyAHRocm93AHR3AHRocm93IAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAGSJSQBniUkAAgAAAAIAAABqiUkAbYlJAAEAAAACAAAA +b4lJAEuGSQACAAAAAgAAAC6ESQByiUkAAQAAAAEAAAB0iUkAcolJAAEAAAACAAAA +d4lJAHqJSQAIAAAAAQAAAIOJSQB6iUkACAAAAAEAAACGiUkAiYlJAAoAAAACAAAA +coJJAJSJSQACAAAAAgAAAJeJSQCaiUkAAQAAAAIAAACciUkAn4lJAAEAAAABAAAA +oYlJAKSJSQACAAAAAgAAAKeJSQCqiUkACQAAAAEAAAC0iUkAt4lJAAwAAAACAAAA +xIlJAMeJSQABAAAAAQAAAMmJSQDMiUkABwAAAAEAAADUiUkA14lJAAIAAAACAAAA +dYJJANqJSQABAAAAAgAAANyJSQDfiUkAAQAAAAIAAADhiUkA5IlJAAIAAAACAAAA +54lJAOqJSQABAAAAAgAAAOyJSQDviUkAAgAAAAIAAADyiUkA9YlJAAIAAAACAAAA +MYRJAISCSQACAAAAAQAAAPiJSQD7iUkAAQAAAAIAAAA0hEkApIJJAAIAAAACAAAA +/YlJAACKSQADAAAAAgAAAASKSQAHikkAAgAAAAIAAABsgkkACopJAAsAAAABAAAA +FopJABmKSQACAAAAAgAAAByKSQAfikkAAQAAAAIAAAAhikkAJIpJAAIAAAACAAAA +J4pJACqKSQACAAAAAgAAAC2KSQAwikkAAQAAAAIAAAAyikkAx4lJAAEAAAACAAAA +NYpJADiKSQACAAAAAQAAADuKSQA+ikkABQAAAAMAAABEikkAR4pJAAIAAAACAAAA +SopJADCKSQABAAAAAQAAAE2KSQBQikkAAQAAAAEAAABSikkAVYpJAAMAAAADAAAA +WYpJAFyKSQACAAAAAgAAAF+KSQBiikkAAgAAAAIAAABlikkAaIpJAAEAAAACAAAA +aopJAG2KSQACAAAAAgAAAHCKSQBzikkAAQAAAAIAAAB1ikkAeIpJAAMAAAACAAAA +fIpJAH+KSQACAAAAAQAAAIKKSQBzikkAAQAAAAEAAAB4gkkAhYpJAAIAAAACAAAA +e4JJAIiKSQABAAAAAwAAAIqKSQCNikkAAgAAAAIAAACQikkAk4pJAAMAAAACAAAA +l4pJAJqKSQAQAAAAAgAAAKuKSQCuikkAAQAAAAIAAACwikkAs4pJAAIAAAACAAAA +topJALmKSQALAAAAAgAAAG+CSQDFikkABwAAAAEAAADNikkAxYpJAAcAAAABAAAA +0IpJANOKSQAFAAAAAAAAANmKSQDcikkABgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA +c2lnbmVkIGNoYXIAYm9vbABib29sZWFuAGNoYXIAYnl0ZQBkb3VibGUAbG9uZyBk +b3VibGUAZmxvYXQAX19mbG9hdDEyOAB1bnNpZ25lZCBjaGFyAGludAB1bnNpZ25l +ZCBpbnQAdW5zaWduZWQAbG9uZwB1bnNpZ25lZCBsb25nAF9faW50MTI4AHVuc2ln +bmVkIF9faW50MTI4AHNob3J0AHVuc2lnbmVkIHNob3J0AHZvaWQAd2NoYXJfdABs +b25nIGxvbmcAdW5zaWduZWQgbG9uZyBsb25nAGRlY2ltYWwzMgBkZWNpbWFsNjQA +ZGVjaW1hbDEyOABoYWxmAGNoYXIxNl90AGNoYXIzMl90AGRlY2x0eXBlKG51bGxw +dHIpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgjkkACwAAAOCOSQALAAAA +AAAAAOyOSQAEAAAA8Y5JAAcAAAAHAAAA+Y5JAAQAAAD+jkkABAAAAAAAAAADj0kA +BgAAAAOPSQAGAAAACAAAAAqPSQALAAAACo9JAAsAAAAIAAAAFo9JAAUAAAAWj0kA +BQAAAAgAAAAcj0kACgAAAByPSQAKAAAACAAAACePSQANAAAAJ49JAA0AAAAAAAAA +NY9JAAMAAAA1j0kAAwAAAAEAAAA5j0kADAAAAEaPSQAIAAAAAgAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAT49JAAQAAABPj0kABAAAAAMAAABUj0kADQAAAFSPSQANAAAA +BAAAAGKPSQAIAAAAYo9JAAgAAAAAAAAAa49JABEAAABrj0kAEQAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAB9j0kABQAAAH2PSQAFAAAAAAAAAIOPSQAOAAAAg49JAA4AAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAACSj0kABAAAAJKPSQAEAAAACQAAAJePSQAHAAAA ++Y5JAAQAAAAAAAAAn49JAAkAAABPj0kABAAAAAUAAACpj0kAEgAAAKmPSQASAAAA +BgAAAG+ESQADAAAAb4RJAAMAAAAAAAAAvI9JAAkAAAC8j0kACQAAAAAAAADGj0kA +CQAAAMaPSQAJAAAAAAAAANCPSQAKAAAA0I9JAAoAAAAAAAAA249JAAQAAADbj0kA +BAAAAAgAAADgj0kACAAAAOCPSQAIAAAAAAAAAOmPSQAIAAAA6Y9JAAgAAAAAAAAA +8o9JABEAAADyj0kAEQAAAAAAAAAAAAAAAAAAAAAAAADgAUMATWluZ3cgcnVudGlt +ZSBmYWlsdXJlOgoAICBWaXJ0dWFsUXVlcnkgZmFpbGVkIGZvciAlZCBieXRlcyBh +dCBhZGRyZXNzICVwAAAAACAgVW5rbm93biBwc2V1ZG8gcmVsb2NhdGlvbiBwcm90 +b2NvbCB2ZXJzaW9uICVkLgoAAAAgIFVua25vd24gcHNldWRvIHJlbG9jYXRpb24g +Yml0IHNpemUgJWQuCgAAANgSQwDfEkMARhNDAGQTQwCCE0MAnxNDANwTQwAJFEMA +NxRDAGcUQwC7FEMA7RRDABUVQwB1FUMArxVDANoVQwAQFkMAXxZDAKIWQwDyFkMA +FBdDAGcXQwCvF0MA0xJDANMSQwDTEkMA0xJDANMSQwDTEkMA0xJDANMSQwDTEkMA +0xJDANMSQwDTEkMA0xJDANMSQwDTEkMA0xJDANMSQwDTEkMA0xJDANMSQwDTEkMA +0xJDANgSQwBUGEMA/xdDAIIYQwDlGEMAxBhDAIIYQwCwGEMA0xJDANMSQwDTEkMA +0xJDAM0YQwDcGEMAghhDALAYQwAQHUMAjR9DAIEfQwAQHUMAAB5DAAYdQwAGHUMA +Bh1DAAYdQwBdH0MAdR9DABAdQwAAHkMAHR5DACohQwAdIUMAHR5DAPkgQwAGHUMA +Bh1DAAYdQwAGHUMABSFDAGYhQwAdHkMA+SBDAHAiQwDgIkMA4CJDADAjQwDgIkMA +ICNDABAjQwAAI0MA8CJDAHAiQwBwIkMAoCJDAKAiQwBGJUMAMCVDABglQwAGJUMA +8CRDAMYkQwCgJEMAMCZDAOAiQwAwI0MABSZDAAUmQwAFJkMABSZDAAUmQwAwI0MA +MCNDAAUmQwAFJkMAMCNDAAUmQwAFJkMABSZDAAUmQwDgJUMABSZDAAUmQwAFJkMA +BSZDAAUmQwAFJkMA0CVDAJAkQwCQJEMAkCRDAJAkQwCQJEMAkCRDAJAkQwCQJEMA +kCRDAJAkQwCQJEMAkCRDAJAkQwCQJEMAkCRDAJAkQwCQJEMAkCRDAJAkQwCQJEMA +kCRDAJAkQwCQJEMAkCRDAJAkQwCQJEMAkCRDAJAkQwCQJEMAkCRDAJAkQwCQJEMA +sCJDALAiQwCwIkMAsCJDALAiQwCwIkMAsCJDALAiQwCwIkMAsCJDALAiQwCwIkMA +sCJDALAiQwCwIkMAsCJDALAiQwCwIkMAsCJDALAiQwCwIkMAsCJDALAiQwCwIkMA +sCJDALAiQwCwIkMAsCJDALAiQwCwIkMAsCJDALAiQwBAJEMAQCRDAEAkQwBAJEMA +QCRDAEAkQwBAJEMAQCRDAEAkQwBAJEMAQCRDAEAkQwBAJEMAQCRDAEAkQwBAJEMA +QCRDAEAkQwBAJEMAQCRDAEAkQwBAJEMAQCRDAEAkQwBAJEMAQCRDAEAkQwBAJEMA +QCRDAEAkQwBAJEMAQCRDAOQjQwDgIkMAcCVDAOAiQwAwI0MA4CJDAOUiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwBwI0MAgCZDAIYoQwB6KEMAgCZDANEmQwDgIkMA +4CJDAOAiQwDgIkMAWChDAG4oQwCAJkMA0SZDANQnQwDfJ0MA6ydDAPYnQwB2J0MA +4CJDAOAiQwCCJ0MAjSdDAOAiQwCXJ0MAoidDAK0nQwC4J0MA4CJDAMMnQwADKEMA +FChDACUoQwA2KEMARyhDAAIqQwAQK0MA4CpDAEAqQwDlKUMAmCpDAKA9QwDxPUMA +ID5DAKA9QwDQPUMAMD5DADA+QwAwPkMAMD5DAOA9QwDXPUMAoD1DANA9QwAuAGds +b2ItMS4wLW1pbmd3MzIAAHhhQwBWYUMAUGFDADBhQwBxYUMAVmFDAHBiQwDGYUMA +mGJDABBiQwBAYkMAxmFDAHBiQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +YWxudW0AYWxwaGEAY250cmwAZGlnaXQAZ3JhcGgAbG93ZXIAcHJpbnQAcHVuY3QA +c3BhY2UAdXBwZXIAeGRpZ2l0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +wJlJAAcBAADGmUkAAwEAAMyZSQAgAAAA0plJAAQAAADYmUkAFwEAAN6ZSQACAAAA +5JlJAFcBAADqmUkAEAAAAPCZSQAIAAAA9plJAAEAAAD8mUkAgAAAAAAAAAAAAAAA +AAAuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABuZgBpbml0eQBhbgBAekMA +kHtDAJB7QwCQe0MAkHtDAJB7QwCQe0MAkHtDAJB7QwB1e0MAdXtDAHV7QwB1e0MA +dXtDAJB7QwCQe0MAkHtDAJB7QwCQe0MAkHtDAJB7QwCQe0MAkHtDAJB7QwCQe0MA +kHtDAJB7QwCQe0MAkHtDAJB7QwCQe0MAkHtDAHV7QwCQe0MAkHtDAJB7QwCQe0MA +kHtDAJB7QwCQe0MAkHtDAJB7QwCQe0MA0HpDAJB7QwBoe0MAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAADAAAABQAAAAcAAAAKAAAADAAAAA4AAAARAAAA +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 +0OlGAIz///+M////rKlJAJArSACAK0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +SMVJAOStSQBYrEkA6MRJAPytSQDoxEkAIK5JAEjFSQBArkkA3K1JAOjESQCArkkA +SMVJAMCuSQCcpkkASMVJAACvSQCcpkkASMVJAECvSQBoqkkASMVJAICvSQBoqkkA +SMVJAMCvSQBoqkkASMVJAACwSQDYqUkASMVJAECwSQAgqkkASMVJAICwSQA4p0kA +6MRJAMCwSQDoxEkAALFJAEjFSQBAsUkAGKdJAEjFSQCgsUkAGKdJAEjFSQAAskkA +zKlJAEjFSQAgskkAEKdJAEjFSQBAskkAZKlJAEjFSQCAskkAcKlJAEjFSQDAskkA +fKpJAEjFSQAAs0kAhKpJAEjFSQBAs0kAnK1JAEjFSQCAs0kAnK1JAEjFSQDAs0kA +nK1JAOjESQAAtEkASMVJABS0SQCcrUkAAAAAAAAAAACIxUkALLRJAAIAAAACAAAA +4KdJAAIAAAD4p0kAAggAAIjFSQAwtEkAAAAAAAEAAACErUkAA/T//4jFSQA0tEkA +AAAAAAEAAACErUkAA/T//0jFSQA4tEkAnK1JAOjESQBItEkA6MRJAFi0SQAAAAAA +AAAAAAAAAAAAAAAAAAAAAIjFSQBotEkAAAAAAAIAAACkp0kAAgAAACSoSQACAAAA +iMVJAIC0SQAAAAAAAgAAAKSnSQACAAAAJKhJAAIAAACIxUkAmLRJAAAAAAACAAAA +pKdJAAIAAAAkqEkAAgAAAIjFSQCwtEkAAAAAAAIAAACkp0kAAgAAACSoSQACAAAA +SMVJAMi0SQCkp0kASMVJANy0SQCkp0kASMVJAPC0SQCcrUkASMVJAAC1SQDMqUkA +SMVJABC1SQDMqUkA6MRJACC1SQBIxUkANLVJACCsSQBIxUkASLVJAECsSQBIxUkA +XLVJANioSQBIxUkAcLVJANioSQBIxUkAhLVJANioSQBIxUkAmLVJANioSQBIxUkA +rLVJAMypSQBIxUkAwLVJAJytSQBIxUkA4LVJAHyqSQBIxUkAILZJAISqSQBIxUkA +YLZJAMCnSQBIxUkAoLZJAACqSQCIxUkA4LZJAAAAAAABAAAAkK1JAAP0//+IxUkA +ILdJAAAAAAABAAAAkK1JAAP0///oxEkAYLdJAEjFSQB0t0kAnK1JAEjFSQCgt0kA +4KdJAEjFSQDgt0kAlKlJAAAAAAAAAAAAAAAAAAAAAACIxUkAILhJAAIAAAACAAAA +lKlJAAIAAACsqUkAAggAAEjFSQBguEkA+KdJAEjFSQCguEkArKlJAEjFSQDguEkA +TKxJAEjFSQD4uEkAWKxJAEjFSQAQuUkAZKxJAEjFSQAouUkAcKxJAOjESQBAuUkA +SMVJAFS5SQDMqUkA6MRJAIC5SQDoxEkAwLlJAEjFSQAAukkAwKxJAEjFSQAYukkA +4KxJAEjFSQAwukkAAK1JAEjFSQBIukkADK1JAEjFSQBgukkAIK1JAEjFSQDAukkA +QK1JAEjFSQAgu0kAYK1JAEjFSQCAu0kAbK1JAEjFSQDgu0kAzKlJAEjFSQD0u0kA +pKdJAEjFSQAMvEkApKdJAEjFSQAkvEkA2KhJAEjFSQA8vEkApKdJAEjFSQBYvEkA +pKdJAEjFSQB0vEkAnK1JAEjFSQCMvEkAQKhJAEjFSQCsvEkAYKhJAEjFSQDMvEkA +gKhJAEjFSQDsvEkAoKhJAEjFSQAMvUkApKdJAEjFSQAsvUkApKdJAEjFSQBMvUkA +pKdJAEjFSQBsvUkApKdJAIjFSQCMvUkAAAAAAAIAAACkp0kAAgAAAByoSQACAAAA +iMVJAKy9SQAAAAAAAgAAAKSnSQACAAAAHKhJAAIAAACIxUkA4L1JAAAAAAACAAAA +pKdJAAIAAAD8qEkAAgAAAIjFSQAgvkkAAAAAAAIAAACkp0kAAgAAAPyoSQACAAAA +iMVJAGC+SQAAAAAAAgAAAKSnSQACAAAAHKhJAAIAAABIxUkAbL5JAMCrSQBIxUkA +eL5JAOCrSQBIxUkAiL5JAACsSQBIxUkAmL5JAKSnSQBIxUkAqL5JAKSnSQBIxUkA +wL5JAKSnSQBIxUkAAL9JAKSnSQBIxUkAQL9JAKSnSQBIxUkAgL9JAKSnSQBIxUkA +wL9JAJytSQDoxEkAzL9JAIjFSQDYv0kAAAAAAAIAAACkp0kAAgAAAMSpSQACAAAA +iMVJAOi/SQAAAAAAAgAAAKSnSQACAAAAxKlJAAIAAABIxUkA+L9JAKSnSQBIxUkA +CMBJAKSnSQAAAAAAAAAAAIjFSQAgwEkAAAAAAAIAAACkp0kAAgAAANStSQACAAAA +iMVJAGDASQAAAAAAAgAAAKSnSQACAAAA1K1JAAIAAABIxUkAoMBJAKSnSQBIxUkA +4MBJAKSnSQBIxUkAIMFJAJytSQBIxUkAQMFJALisSQBIxUkAgMFJALisSQDoxEkA +wMFJAEjFSQDgwUkApKdJAEjFSQAgwkkApKdJAEjFSQBgwkkApKdJAEjFSQCgwkkA +pKdJAOjESQDgwkkA6MRJAPDCSQAyMHdpbmRvd3NfZmlsZV9jb2RlY3Z0AAA3Q1Y4 +RmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOMTBfX2N4eGFiaXYxMTVf +X2ZvcmNlZF91bndpbmRFAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZv +RQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOMTBfX2N4eGFiaXYxMTlf +X2ZvcmVpZ25fZXhjZXB0aW9uRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +TjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVf +aW5mb0UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqTjEyX0dMT0JBTF9fTl8x +MjFmdXR1cmVfZXJyb3JfY2F0ZWdvcnlFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +Kk4xMl9HTE9CQUxfX05fMTIxc3lzdGVtX2Vycm9yX2NhdGVnb3J5RQAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAACpOMTJfR0xPQkFMX19OXzEyMmdlbmVyaWNfZXJyb3Jf +Y2F0ZWdvcnlFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABONWJvb3N0MTBmaWxlc3lz +dGVtMTRiYXNpY19pZnN0cmVhbUljU3QxMWNoYXJfdHJhaXRzSWNFRUUAAAAAAAAA +TjVib29zdDEwZmlsZXN5c3RlbTE0YmFzaWNfb2ZzdHJlYW1JY1N0MTFjaGFyX3Ry +YWl0c0ljRUVFAAAAAAAAAE41Ym9vc3QxMGZpbGVzeXN0ZW0xNmZpbGVzeXN0ZW1f +ZXJyb3JFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABONWJvb3N0MTJub25jb3B5 +YWJsZV8xMW5vbmNvcHlhYmxlRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +TjVib29zdDZkZXRhaWwxNXNwX2NvdW50ZWRfYmFzZUUAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAE41Ym9vc3Q2ZGV0YWlsMTdzcF9jb3VudGVkX2ltcGxf +cElOU18xMGZpbGVzeXN0ZW0xNmZpbGVzeXN0ZW1fZXJyb3I1bV9pbXBFRUUAAAAA +AAAAAAAAAAAAAAAAAAAAAE41Ym9vc3Q2ZGV0YWlsMTdzcF9jb3VudGVkX2ltcGxf +cElOU18xMGZpbGVzeXN0ZW02ZGV0YWlsMTFkaXJfaXRyX2ltcEVFRQAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAE41Ym9vc3Q2c3lzdGVtMTJzeXN0ZW1fZXJyb3JFAAAA +TjVib29zdDZzeXN0ZW0xNGVycm9yX2NhdGVnb3J5RQBOOV9fZ251X2N4eDEzc3Rk +aW9fZmlsZWJ1ZkljU3QxMWNoYXJfdHJhaXRzSWNFRUUAAAAAAAAAAAAAAAAAAAAA +TjlfX2dudV9jeHgxM3N0ZGlvX2ZpbGVidWZJd1N0MTFjaGFyX3RyYWl0c0l3RUVF +AAAAAAAAAAAAAAAAAAAAAE45X19nbnVfY3h4MThzdGRpb19zeW5jX2ZpbGVidWZJ +Y1N0MTFjaGFyX3RyYWl0c0ljRUVFAAAAAAAAAAAAAABOOV9fZ251X2N4eDE4c3Rk +aW9fc3luY19maWxlYnVmSXdTdDExY2hhcl90cmFpdHNJd0VFRQAAAAAAAAAAAAAA +TjlfX2dudV9jeHgyMHJlY3Vyc2l2ZV9pbml0X2Vycm9yRQAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAE45X19nbnVfY3h4MjRfX2NvbmN1cnJlbmNlX2xvY2tf +ZXJyb3JFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOOV9fZ251X2N4eDI2X19j +b25jdXJyZW5jZV91bmxvY2tfZXJyb3JFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +TlN0NmxvY2FsZTVmYWNldEUAAABOU3Q4aW9zX2Jhc2U3ZmFpbHVyZUUAAABTZAAA +U2kAAFNvAABTdDEwYmFkX3R5cGVpZAAAU3QxMGN0eXBlX2Jhc2UAAFN0MTBtb25l +eV9iYXNlAABTdDEwbW9uZXlwdW5jdEljTGIwRUUAAABTdDEwbW9uZXlwdW5jdElj +TGIxRUUAAABTdDEwbW9uZXlwdW5jdEl3TGIwRUUAAABTdDEwbW9uZXlwdW5jdEl3 +TGIxRUUAAABTdDExX190aW1lcHVuY3RJY0UAAFN0MTFfX3RpbWVwdW5jdEl3RQAA +U3QxMWxvZ2ljX2Vycm9yAFN0MTFyYW5nZV9lcnJvcgBTdDExcmVnZXhfZXJyb3IA +U3QxMmNvZGVjdnRfYmFzZQAAAABTdDEyY3R5cGVfYnluYW1lSWNFAFN0MTJjdHlw +ZV9ieW5hbWVJd0UAU3QxMmRvbWFpbl9lcnJvcgAAAABTdDEyZnV0dXJlX2Vycm9y +AAAAAFN0MTJsZW5ndGhfZXJyb3IAAAAAU3QxMm91dF9vZl9yYW5nZQAAAABTdDEy +c3lzdGVtX2Vycm9yAAAAAFN0MTNiYWRfZXhjZXB0aW9uAAAAAAAAAAAAAAAAAAAA +U3QxM2Jhc2ljX2ZpbGVidWZJY1N0MTFjaGFyX3RyYWl0c0ljRUUAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAFN0MTNiYXNpY19maWxlYnVmSXdTdDExY2hhcl90cmFp +dHNJd0VFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTdDEzYmFzaWNfZnN0cmVh +bUljU3QxMWNoYXJfdHJhaXRzSWNFRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxM2Jhc2ljX2ZzdHJlYW1Jd1N0MTFjaGFyX3RyYWl0c0l3RUUAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAFN0MTNiYXNpY19pc3RyZWFtSXdTdDExY2hhcl90cmFp +dHNJd0VFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTdDEzYmFzaWNfb3N0cmVh +bUl3U3QxMWNoYXJfdHJhaXRzSXdFRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxM21lc3NhZ2VzX2Jhc2UAAABTdDEzcnVudGltZV9lcnJvcgAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAFN0MTRiYXNpY19pZnN0cmVhbUljU3QxMWNoYXJfdHJh +aXRzSWNFRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTdDE0YmFzaWNfaWZzdHJl +YW1Jd1N0MTFjaGFyX3RyYWl0c0l3RUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxNGJhc2ljX2lvc3RyZWFtSXdTdDExY2hhcl90cmFpdHNJd0VFAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAFN0MTRiYXNpY19vZnN0cmVhbUljU3QxMWNoYXJfdHJh +aXRzSWNFRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTdDE0YmFzaWNfb2ZzdHJl +YW1Jd1N0MTFjaGFyX3RyYWl0c0l3RUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxNGNvZGVjdnRfYnluYW1lSWNjaUUAU3QxNGNvZGVjdnRfYnluYW1lSXdjaUUA +U3QxNGNvbGxhdGVfYnluYW1lSWNFAAAAU3QxNGNvbGxhdGVfYnluYW1lSXdFAAAA +U3QxNGVycm9yX2NhdGVnb3J5AABTdDE0b3ZlcmZsb3dfZXJyb3IAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAFN0MTViYXNpY19zdHJlYW1idWZJY1N0MTFjaGFyX3Ry +YWl0c0ljRUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTdDE1YmFzaWNfc3RyZWFt +YnVmSXdTdDExY2hhcl90cmFpdHNJd0VFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxNW1lc3NhZ2VzX2J5bmFtZUljRQAAU3QxNW1lc3NhZ2VzX2J5bmFtZUl3RQAA +U3QxNW51bXB1bmN0X2J5bmFtZUljRQAAU3QxNW51bXB1bmN0X2J5bmFtZUl3RQAA +U3QxNXRpbWVfZ2V0X2J5bmFtZUljU3QxOWlzdHJlYW1idWZfaXRlcmF0b3JJY1N0 +MTFjaGFyX3RyYWl0c0ljRUVFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxNXRpbWVfZ2V0X2J5bmFtZUl3U3QxOWlzdHJlYW1idWZfaXRlcmF0b3JJd1N0 +MTFjaGFyX3RyYWl0c0l3RUVFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxNXRpbWVfcHV0X2J5bmFtZUljU3QxOW9zdHJlYW1idWZfaXRlcmF0b3JJY1N0 +MTFjaGFyX3RyYWl0c0ljRUVFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxNXRpbWVfcHV0X2J5bmFtZUl3U3QxOW9zdHJlYW1idWZfaXRlcmF0b3JJd1N0 +MTFjaGFyX3RyYWl0c0l3RUVFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxNXVuZGVyZmxvd19lcnJvcgBTdDE2X19udW1wdW5jdF9jYWNoZUljRQBTdDE2 +X19udW1wdW5jdF9jYWNoZUl3RQBTdDE2aW52YWxpZF9hcmd1bWVudAAAAABTdDE3 +X190aW1lcHVuY3RfY2FjaGVJY0UAAAAAU3QxN19fdGltZXB1bmN0X2NhY2hlSXdF +AAAAAFN0MTdiYWRfZnVuY3Rpb25fY2FsbAAAAFN0MTdtb25leXB1bmN0X2J5bmFt +ZUljTGIwRUUAAAAAU3QxN21vbmV5cHVuY3RfYnluYW1lSWNMYjFFRQAAAABTdDE3 +bW9uZXlwdW5jdF9ieW5hbWVJd0xiMEVFAAAAAFN0MTdtb25leXB1bmN0X2J5bmFt +ZUl3TGIxRUUAAAAAU3QxOF9fbW9uZXlwdW5jdF9jYWNoZUljTGIwRUUAAABTdDE4 +X19tb25leXB1bmN0X2NhY2hlSWNMYjFFRQAAAFN0MThfX21vbmV5cHVuY3RfY2Fj +aGVJd0xiMEVFAAAAU3QxOF9fbW9uZXlwdW5jdF9jYWNoZUl3TGIxRUUAAABTdDIx +X19jdHlwZV9hYnN0cmFjdF9iYXNlSWNFAAAAAFN0MjFfX2N0eXBlX2Fic3RyYWN0 +X2Jhc2VJd0UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTdDIzX19jb2RlY3Z0X2Fi +c3RyYWN0X2Jhc2VJY2NpRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QyM19fY29kZWN2dF9hYnN0cmFjdF9iYXNlSXdjaUUAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAFN0NWN0eXBlSWNFAFN0NWN0eXBlSXdFAFN0N2NvZGVj +dnRJY2NpRQBTdDdjb2RlY3Z0SXdjaUUAU3Q3Y29sbGF0ZUljRQAAAFN0N2NvbGxh +dGVJd0UAAAAAAAAAAAAAAFN0N251bV9nZXRJY1N0MTlpc3RyZWFtYnVmX2l0ZXJh +dG9ySWNTdDExY2hhcl90cmFpdHNJY0VFRQAAAAAAAABTdDdudW1fZ2V0SXdTdDE5 +aXN0cmVhbWJ1Zl9pdGVyYXRvckl3U3QxMWNoYXJfdHJhaXRzSXdFRUUAAAAAAAAA +U3Q3bnVtX3B1dEljU3QxOW9zdHJlYW1idWZfaXRlcmF0b3JJY1N0MTFjaGFyX3Ry +YWl0c0ljRUVFAAAAAAAAAFN0N251bV9wdXRJd1N0MTlvc3RyZWFtYnVmX2l0ZXJh +dG9ySXdTdDExY2hhcl90cmFpdHNJd0VFRQAAAAAAAABTdDhiYWRfY2FzdABTdDhp +b3NfYmFzZQBTdDhtZXNzYWdlc0ljRQAAU3Q4bWVzc2FnZXNJd0UAAFN0OG51bXB1 +bmN0SWNFAABTdDhudW1wdW5jdEl3RQAAAAAAAAAAAABTdDh0aW1lX2dldEljU3Qx +OWlzdHJlYW1idWZfaXRlcmF0b3JJY1N0MTFjaGFyX3RyYWl0c0ljRUVFAAAAAAAA +U3Q4dGltZV9nZXRJd1N0MTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdTdDExY2hhcl90 +cmFpdHNJd0VFRQAAAAAAAFN0OHRpbWVfcHV0SWNTdDE5b3N0cmVhbWJ1Zl9pdGVy +YXRvckljU3QxMWNoYXJfdHJhaXRzSWNFRUUAAAAAAABTdDh0aW1lX3B1dEl3U3Qx +OW9zdHJlYW1idWZfaXRlcmF0b3JJd1N0MTFjaGFyX3RyYWl0c0l3RUVFAAAAAAAA +U3Q5YmFkX2FsbG9jAAAAAAAAAAAAAAAAAAAAAAAAAABTdDliYXNpY19pb3NJY1N0 +MTFjaGFyX3RyYWl0c0ljRUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3Q5YmFzaWNfaW9zSXdTdDExY2hhcl90cmFpdHNJd0VFAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAFN0OWV4Y2VwdGlvbgAAAAAAAAAAAAAAAAAAAAAAAAAA +U3Q5bW9uZXlfZ2V0SWNTdDE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljU3QxMWNoYXJf +dHJhaXRzSWNFRUUAAAAAAFN0OW1vbmV5X2dldEl3U3QxOWlzdHJlYW1idWZfaXRl +cmF0b3JJd1N0MTFjaGFyX3RyYWl0c0l3RUVFAAAAAABTdDltb25leV9wdXRJY1N0 +MTlvc3RyZWFtYnVmX2l0ZXJhdG9ySWNTdDExY2hhcl90cmFpdHNJY0VFRQAAAAAA +U3Q5bW9uZXlfcHV0SXdTdDE5b3N0cmVhbWJ1Zl9pdGVyYXRvckl3U3QxMWNoYXJf +dHJhaXRzSXdFRUUAAAAAAFN0OXRpbWVfYmFzZQAAAABTdDl0eXBlX2luZm8AAAAA +jMZJAEyiSQAMokkAIKJJAGCiSQCgxkkAzMZJAMyiSQCMokkAoKJJAOCiSQDgxkkA +bMlJAAyjSQAgo0kATKNJAGCjSQCUyUkAgMlJAAAAAACsyUkAwMlJAOzJSQAAykkA +bM1JAIyjSQDMo0kA4KNJAAykSQAgpEkAtKNJAKCjSQCUzUkAgM1JAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAKzNSQCMpEkATKRJAGCkSQDMpEkA4KRJALSkSQCgpEkA +1M1JAMDNSQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADszUkAAM5JACzOSQBAzkkA +jM5JAAylSQAgpUkAoM5JAMzOSQBMpUkAYKVJAODOSQAMz0kAjKVJAKClSQDMpUkA +4KVJADTPSQAgz0kAAAAAAEzPSQAMpkkAIKZJAGDPSQCMz0kATKZJAGCmSQCgz0kA +AAAAAAAAAAAAAAAAAAAAAAAAAACApkkAQL5DACC+QwAQbEIA0O1DAIBrQgDg7UMA +AO5DABDuQwDw7UMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKZJAOAWQABgF0AA +AAAAAJSmSQCwu0MAkLtDAMA1SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAJymSQDgu0MAwLtDAKCcRQCwnEUAEOFDAKDhQwBg4UMAAOJDAGDiQwAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAACopkkAELxDAPC7QwDANUgAAAAAAAAAAAAAAAAA +AAAAALCmSQBAvEMAILxDAKCcRQCwnEUAEOFDAKDhQwCA4kMA4OJDAMDjQwAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAC8pkkAcLxDAFC8QwCgnEUAsJxFABDhQwCg4UMA +MORDAGDmQwBQ60MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyKZJACC9QwAAvUMA +EOxDACDsQwDwI0QAsCNEAJAjRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAANSmSQBQvUMAML1DADDtQwBA7UMA8CNEALAjRACQI0QAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAADgpkkAgL1DAGC9QwCA7UMAkO1DAPAjRACwI0QA +kCNEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAOymSQAAv0MA +UL5DAIz///+M////7KZJAJAqSACAKkgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +cAAAAAAAAAD4pkkAQMBDAKC/QwCQ////kP////imSQCwKkgAoCpIAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAEp0kAsMVDAPDEQwAg7kMAAAAAAAAAAAAAAAAA +AAAAABinSQCAyEMAYMhDAMA1SADwx0MAwDVIAMA1SAAAAAAAIKdJAMDJQwCgyUMA +sMhDAPDHQwCQyEMAoMhDAAAAAAAsp0kAoMpDAIDKQwDwyUMA8MdDANDJQwDgyUMA +AAAAADinSQDQy0MAYMtDAPDyQwAAAAAAAAAAAAAAAAAAAAAARKdJANDMQwCwzEMA +wDVIAMA1SABw9EMAMPRDABD0QwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAFCnSQAg0UMAwNBDANBgRgCgYkYAMGdGACBpRgCgX0YAEG1GAABjRgCQbUYA +0BpHAOBrRgBwZUYA4GlGAAAAAABcp0kAINVDAMDUQwDQe0YAoH1GAECCRgAwhEYA +oHpGACCIRgAAfkYAoIhGAGAhRwDghkYAcIBGAPCERgAAAAAAaKdJAJDZQwBg2UMA +QBpHACAbRwDQ1kMAQNdDAPDVQwDwHUcAUNZDAFDYQwAQ1kMAENhDAKDWQwCg10MA +AAAAAHSnSQBA3UMAEN1DANAgRwCwIUcAsNpDACDbQwCw2UMAgCRHAPDZQwAg3EMA +0NlDAMDbQwBg2kMAgNtDAAAAAACAp0kAcN1DAFDdQwDASUUAAAAAAAAAAACMp0kA +oN1DAIDdQwCA9EMAAAAAAAAAAACYp0kA0N1DALDdQwCQ9EMAAAAAAAAAAACkp0kA +4ItHAMCLRwAAAAAArKdJAGC2RwBAtkcAgPxEAAAAAAAAAAAAAAAAAAAAAAAAAAAA +DAAAAAAAAADAp0kAEMVFANDERQAEAAAA+P///8CnSQAQKkgAACpIAPT////0//// +wKdJANAqSADAKkgAAAAAAAgAAAAAAAAA4KdJAGDuRQAw7kUA+P////j////gp0kA +8CpIAOAqSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAPinSQAgC0YA +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 +YLpHAEC6RwAw/kQAEP5EAED+RAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAACtSQDQvUcAsL1HAAD/RAAQ/0QAUP5EAID+RACw/kQAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAMrUkAEMFHAPDARwAwAEUAQABFAID/RACw/0QA +4P9EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIK1JALDBRwCQwUcA +QARFALABRQDAAEUAQAdFAJALRQCgAkUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAECtSQAwwkcAEMJHACAiRQBgH0UAUB5FAKAkRQAAKUUAcCBFAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAABgrUkAsMJHAJDCRwAQQkUAAAAAAAAAAABsrUkA +MMNHABDDRwCARUUAAAAAAAAAAAB4rUkAcMNHAFDDRwCwRkUAAAAAAAAAAACErUkA +QMpHACDKRwAAAAAAkK1JABDRRwDw0EcAAAAAAJytSQBQ0UcAMNFHAMBJRQAAAAAA +AAAAAKStSQDA0UcAoNFHAJBhRQAgYEUAAAAAALCtSQBA0kcAINJHAMB6RQBweUUA +AAAAALytSQDA0kcAoNJHAMB8RQBgfEUAAAAAAMitSQBA00cAINNHAOCMRQCAjEUA +AAAAANytSQCA00cAYNNHAKCcRQCwnEUAcJxFAJCcRQAAAQABAAEAAQABAAEAAQAB +AAEgASABIAEgASABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAB +YABAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJYAFgAWABYAFgAWABYAFgA +WABYAEACQAJAAkACQAJAAkACVQBVAFUAVQBVAFUARQBFAEUARQBFAEUARQBFAEUA +RQBFAEUARQBFAEUARQBFAEUARQBFAEACQAJAAkACQAJAAlYAVgBWAFYAVgBWAEYA +RgBGAEYARgBGAEYARgBGAEYARgBGAEYARgBGAEYARgBGAEYARgBAAkACQAJAAgAB +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAA +4B/2/3MBAAAAQQ4IgwJDDiACUQoOCEHDDgRKCxwAAABAAAAAPCH2/+wDAAAAQQ4I +hQJCDQVGhwOGBIMFEAAAAGAAAAAMJfb/FQAAAABDDiAQAAAAdAAAABgl9v8VAAAA +AEMOIBAAAACIAAAAJCX2/wcAAAAAAAAAEAAAAJwAAAAgJfb/BwAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAcAAAAHAAAAAQl9v+NAAAAAEEOCIUCQg0FAonF +DAQEABwAAAA8AAAAdCX2/0IAAAAAQQ4IhQJCDQV+xQwEBAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAABc1/n/BwAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAAKDW+f8SAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAAJNn5/wcAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAAAo2Pn/BQAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAAzY+f8DAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABQAAAAcAAAA +YNb5/xUAAAAAQw4gUQ4EABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABQAAAAcAAAA +UNj5/xUAAAAAQw4gUQ4EABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +UCT2/woAAAAAAAAAHAAAADAAAABMJPb/HgAAAABBDgiFAkINBVrFDAQEAAAcAAAA +UAAAAGxK/v8eAAAAAEEOCIUCQg0FWsUMBAQAABAAAABwAAAAakr+/woAAAAAAAAA +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAA4AAAAJAAAAPgj9v90AAAA +BABPSABBDgiHAkMODIYDQQ4QgwRDDiACQAoOEEHDDgxBxg4IQccOBEELAAAcAAAA +4AAAADwk9v8YAAAAAEEOCIMCRQ4gUA4IQcMOBBAAAAAAAQAAPCT2/zUAAAAAAAAA +EAAAABQBAABoJPb/SAAAAAAAAAAQAAAAKAEAAKQk9v8IAAAAAAAAACwAAAA8AQAA +oCT2/+IBAAAAQQ4IhQJHDQVKhwOGBIMFA0YBCsNBxkHHQcUMBARFCzAAAADsAAAA +YCb2/1YIAAAEGU9IAEEOCIUCQg0FSYcDhgSDBQP1AwrDQcZBx0HFDAQEQQssAAAA +oAEAAIwu9v+0AQAAAEEOCIUCRw0FSocDhgSDBQL7CsNBxkHHQcUMBARBCwAwAAAA +UAEAABww9v9mCAAABKtPSABBDgiFAkINBUmHA4YEgwUD/wMKw0HGQcdBxQwEBEIL +QAAAAAQCAABYOPb/nQEAAABBDgiFAkYODIcDQQ4QhgRBDhSDBUcOgIEBAt8KDhRB +ww4QQcYODEHHDghBxQ4EQQsAAABAAAAASAIAALQ59v+yAQAAAEEOCIUCRg4MhwNB +DhCGBEEOFIMFRw6QgQEDSQEKDhRBww4QQcYODEHHDghBxQ4EQQsAADwAAACMAgAA +MDv2/2kAAAAAQQ4IhQJBDgyHA0MOEIYEQQ4UgwVDDjACVwoOFEHDDhBBxg4MQccO +CEHFDgRBCwAoAAAAzAIAAGA79v9fAAAAAEEOCIYCQw4MgwNDDiACUw4MQ8MOCEHG +DgQAADwAAAD4AgAAlDv2/1IBAAAAQQ4IhQJCDQVGhwOGBIMFArUKw0HGQcdBxQwE +BEELVArDQcZBx0HFDAQEQQsAAAA8AAAAOAMAALQ89v+fAQAAAEEOCIUCQg0FRocD +hgSDBQMXAQrDQcZBx0HFDAQEQQtUCsNBxkHHQcUMBARBCwAALAAAAHgDAAAUPvb/ +bAEAAABBDgiFAkINBUaHA4YEgwUDXwHDQcZBx0HFDAQEAAAAKAAAAKgDAABUP/b/ +MwEAAABBDgiFAkcNBUKGA4MEAtoKw0HGQcUMBARBCwAQAAAA1AMAAGhA9v9GAAAA +AAAAACwAAADoAwAApED2/zkBAAAAQQ4IhQJCDQVGhwOGBIMFAyoBw0HGQcdBxQwE +BAAAADAAAACYAwAAtEH2/84KAAAEPVBIAEEOCIUCQg0FSYcDhgSDBQMXBArDQcZB +x0HFDAQESgsoAAAATAQAAFBM9v9CAAAAAEEOCIcCQQ4MhgNBDhCDBHjDDgxDxg4I +QccOBCgAAAB4BAAAdEz2/zkAAAAAQQ4IhwJDDgyGA0EOEIMEbcMODEPGDghBxw4E +PAAAAKQEAACITPb/UAEAAABBDgiFAkEODIcDQQ4QhgRBDhSDBUMOcANAAQ4UQ8MO +EEHGDgxBxw4IQcUOBAAAACwAAADkBAAAmE32/8ABAAAAQQ4IhQJCDQVDhwOGBIMF +A7QBw0HGQcdBxQwEBAAAACgAAAAUBQAAKE/2//0AAAAAQQ4IhQJCDQVFhgODBAKr +CsNBxkHFDAQEQQsAPAAAAEAFAAD8T/b/WgIAAABBDgiFAkcNBUGHA0eGBIMFA6QB +CsNBxkHHQcUMBARBC0gKw0HGQcdBxQwEBEELADAAAAAABQAAHFL2/+kFAAAEEFFI +AEEOCIUCQg0FQ4cDhgSDBQNPAwrDQcZBx0HFDAQESAswAAAANAUAANhX9v8yAQAA +BChSSABBDgiFAkINBUOHA4YEgwUClwrDQcZBx0HFDAQEQwsAJAAAAOgFAADkWPb/ +TAAAAABBDgiFAkINBUKGA4MEAkLDQcZBxQwEBDAAAACQBQAADFn2/0QEAAAElFJI +AEEOCIUCQg0FSYcDhgSDBQOzAwrDQcZBx0HFDAQEQwssAAAAxAUAAChd9v+KAAAA +BL5SSABBDgiFAkINBUKGA4MEAl8Kw0HGQcUMBARDCwBAAAAA9AUAAIhd9v+ZHgAA +BMtSSABBDgiFAkcNBUqHA4YEgwUDHAkKw0HGQcdBxQwEBEELA2oGCsNBxkHHQcUM +BARBCzAAAAA4BgAA5Hv2//cJAAAE61RIAEEOCIUCQg0FSYcDhgSDBQPWBQrDQcZB +x0HFDAQEQwswAAAAbAYAALCF9v8TBgAABGlVSABBDgiFAkINBUmHA4YEgwUDTwIK +w0HGQcdBxQwEBEMLMAAAAKAGAACci/b/thYAAATaVUgAQQ4IhQJCDQVJhwOGBIMF +A3UCCsNBxkHHQcUMBARDCzAAAADUBgAAKKL2/zoPAAAEZFdIAEEOCIUCQg0FQ4cD +hgSDBQMCBwrDQcZBx0HFDAQERQs0AAAAiAcAADSx9v8vAQAAAEEOCIUCQg0FQoYD +gwRbCsNBxkHFDAQEQwsCyQrDQcZBxQwEBEMLADAAAABABwAALLL2/8saAAAEZFhI +AEEOCIUCQg0FSYcDhgSDBQM9DQrDQcZBx0HFDAQERAswAAAAdAcAAMjM9v9VFwAA +BDhaSABBDgiFAkINBUmHA4YEgwUDvAwKw0HGQcdBxQwEBEMLFAAAACgIAADEQv7/ +OwAAAABDDiB3DgQAHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAwAAAA +JAAAAJzF+f+OAAAABKhOSABBDgiGAkEODIMDRQ4gAkYKDgxBww4IQcYOBEULAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAADAL/7/CgAAAAAAAAAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAA3MP5/5wAAAAEvk5I +AEEOCIYCQQ4MgwNFDiACTQoODEHDDghBxg4ERQsAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAACAv/v8KAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACwAAAAcAAAANND5/2IAAAAAQQ4IhQJCDQVDhwOGBIMFZArDQcZBx0HFDAQE +QQsAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACwAAAAcAAAAfM/5/2gAAAAAQQ4I +hQJCDQVDhwOGBIMFbArDQcZBx0HFDAQEQQsAABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAMAAAACQAAABsw/n/lwAAAATUTkgAQQ4IhgJBDgyDA0UOIAJT +Cg4MQcMOCEHGDgRBCwAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +IC7+/woAAAAAAAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAwAAAA +JAAAAJzB+f+lAAAABOpOSABBDgiGAkEODIMDRQ4gAloKDgxBww4IQcYOBEELAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAACALf7/CgAAAAAAAAAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAAvMz5/4UAAAAEDE9I +AEEOCIUCQg0FRocDhgSDBWsKw0HGQcdBxQwEBEELAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAA0AAAAHAAAANAr+v8/AAAAAEEOCIUCQg0FQYYDRIMEVgrDQcZBxQwE +BEMLWMNBxkHFDAQEQg4AABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACgAAAAcAAAA +QMr5/0EAAAAAQQ4IgwJIDhBPCg4IQcMOBEcLXg4IQcMOBAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAGAAAABwAAADMzvn/vgAAAABBDgiFAkINBQAAABwAAAAAAAAA +AXpQTFIAAXwIBwCQN0gAABsMBASIAQAAOAAAACQAAACgmf3/TQAAAAQEUUgAQQ4I +hwJDDgyGA0EOEIMEQw4gaQoOEEHDDgxBxg4IQccOBEELAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAVAAAABwAAAB8n/3/ugAAAABBDgiFAkEODIcDQQ4QhgRBDhSD +BUMOMGkKDhRBww4QQcYODEHHDghBxQ4EQwsCagoOFEHDDhBBxg4MQccOCEHFDgRD +CwAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAADwAAAAcAAAALJ39/+ABAAAAQQ4I +hQJBDgyHA0EOEIYEQQ4UgwVDDkACZQoOFEHDDhBBxg4MQccOCEHFDgRDCwAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAA8AAAAHAAAAHSf/f+1AQAAAEEOCIUCQQ4MhwNB +DhCGBEEOFIMFRQ5AAloKDhRDww4QQcYODEHHDghBxQ4ERwsAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAAAwAAAAJAAAAHSY/f/0AwAABHxRSABBDgiFAkIN +BUaHA4YEgwUDeQEKw0HGQcdBxQwEBEMLHAAAAAAAAAABelBMUgABfAgHAJA3SAAA +GwwEBIgBAABQAAAAJAAAABCQ/f+8AwAABNRRSABBDgiFAkINBUaHA4YEgwUDWQEK +w0HGQcdBxQwEBEMLApQKw0HGQcdBxQwEBEMLAyQBCsNBxkHHQcUMBARHCwAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAADQAAAAkAAAAXJP9//cDAAAEOFJI +AEEOCIUCQg0FQYcDR4YEgwUDnAEKw0HGQcdBxQwEBEMLAAAAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAAAwAAAAJAAAAHTG+f+FAAAABFdXSABBDgiFAkIN +BUaHA4YEgwVrCsNBxkHHQcUMBARBCwAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAA +GwwEBIgBAAAwAAAAJAAAALDx+f8eAQAABKxbSABBDgiFAkINBUOHA4YEgwVXCsNB +xkHHQcUMBARBCwAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAADU3Pb/ +CgAAAAAAAAAcAAAAMAAAANA7/v8eAAAAAEEOCIUCQg0FWsUMBAQAACQAAABQAAAA +sNz2/zIHAAAAQQ4IhQJCDQVEgwMDRQUKxcMMBARFCwAkAAAAeAAAAMjj9v9/AAAA +AEEOCIUCQg0FRIMDAlEKxcMMBARICwAAFAAAAKAAAACAO/7/HQAAAABDDiBZDgQA +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAABIAAAAJAAAAGg7/v/sCgAA +BNxbSABEDAEARxAFAnUARg8DdXAGEAcCdXwQBgJ1eBADAnV0AsIKwQwBAEHDQcZB +x0HFQwwEBEELAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAPAAAABwAAACE4/b/ +fQIAAABBDgiFAkEODIcDQQ4QhgRDDhSDBUMOPAPzAQoOFEHDDhBBxg4MQccOCEHF +DgRBC1QAAABcAAAAxOX2//UCAAAAQQ4IhQJDDgyHA0EOEIYEQQ4UgwVDDlADZgIK +DhRBww4QQcYODEHHDghBxQ4EQQsCbwoOFEHDDhBBxg4MQccOCEHFDgRBCwBsAAAA +tAAAAGzo9v+mBAAAAEEOCIUCQQ4MhwNBDhCGBEEOFIMFQw5gAxYCCg4UQ8MOEEHG +DgxBxw4IQcUOBEELA7kBCg4UQcMOEEHGDgxBxw4IQcUOBEELAlcKDhRBww4QRMYO +DEHHDghBxQ4EQQsAPAAAACQBAACs7Pb/AAMAAABBDgiFAkEODIcDQQ4QhgRBDhSD +BUMOQAMFAQoOFEHDDhBBxg4MQccOCEHFDgRBC2wAAABkAQAAbO/2//0FAAAAQQ4I +hQJBDgyHA0EOEIYEQQ4UgwVDDlADIAIKDhRBww4QQcYODEHHDghBxQ4ERQsDvQIK +DhRBww4QRMYODEHHDghBxQ4EQQsCmwoOFEHDDhBExg4MQccOCEHFDgRBCwA8AAAA +1AEAAPz09v8oAgAAAEEOCIUCQQ4MhwNBDhCGBEEOFIMFQw5QA3QBCg4UQcMOEEHG +DgxBxw4IQcUOBEELLAAAABQCAADs9vb/1wAAAABBDgiGAkEODIMDQw4gApkKDgxB +ww4IQcYOBEELAAAALAAAAEQCAACc9/b/lwEAAABBDgiGAkEODIMDQw4gA00BCg4M +QcMOCEHGDgRBCwAAEAAAAHQCAAAM+fb/JgAAAAAAAAAkAAAAiAIAACj59v88AAAA +AEEOCIMCbwrDDgRBC0MKww4EQQtGww4EPAAAALACAABA+fb/iwAAAABBDgiFAkEO +DIcDQQ4QhgRBDhSDBUMOMAJxCg4UQcMOEEHGDgxBxw4IQcUOBEELABAAAADwAgAA +kPn2/z0AAAAAAAAAXAAAAAQDAAC8+fb/CgEAAABBDgiFAkEODIcDQQ4QhgRBDhSD +BQJPCsMOEEXGDgxBxw4IQcUOBEYLAm0Kww4QQ8YODEHHDghBxQ4EQQtSCsMOEETG +DgxBxw4IQcUOBEULbAAAAGQDAABs+vb/fRMAAABBDgiFAkEODIcDQQ4QhgRBDhSD +BUMOQAOvAQoOFEHDDhBBxg4MQccOCEHFDgRGCwK/Cg4UQcMOEEHGDgxBxw4IQcUO +BEELA44CCg4UQcMOEEHGDgxBxw4IQcUOBEELADwAAADUAwAAfA33/w8BAAAAQQ4I +hQJBDgyHA0EOEIYEQQ4UgwVDDjACpQoOFEHDDhBBxg4MQccOCEHFDgRBCwAsAAAA +FAQAAEwO9//yAAAAAEEOCIYCQQ4MgwNDDiACogoODEHDDghBxg4ERwsAAABsAAAA +RAQAABwP9/9DBAAAAEEOCIUCQQ4MhwNBDhCGBEEOFIMFQw4wA2MDCg4UQcMOEEHG +DgxBxw4IQcUOBEILAmUKDhRGww4QQcYODEHHDghBxQ4EQgtDCg4URsMOEEHGDgxB +xw4IQcUOBEQLAAAASAAAALQEAAD8Evf/rQMAAABBDgiHAkEODIYDQQ4QgwRDDiAD +7QIKDhBBww4MQcYOCEHHDgRBCwJMCg4QRsMODEHGDghBxw4ERQsAADwAAAAABQAA +YBb3/8cCAAAAQQ4IhQJBDgyHA0EOEIYEQQ4UgwVDDjADSQIKDhRBww4QQcYODEHH +DghBxQ4EQQsUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAANgY9/+YAAAA +AAAAABAAAAAwAAAAZBn3/7YAAAAAAAAAPAAAAEQAAAAQGvf/PQEAAABBDgiFAkEO +DIcDQQ4QhgRBDhSDBUMOMAMJAQoOFEHDDhBBxg4MQccOCEHFDgRBCzgAAACEAAAA +EBv3/8cBAAAAQQ4IhgJBDgyDA0MOIAMxAQoODEHDDghBxg4ESAtUCg4MRsMOCEHG +DgRFCywAAADAAAAApBz3/14BAAAAQQ4IgwJDDiADEQEKDghBww4EQQtDCg4IRsMO +BEELADAAAADwAAAA1B33/2cAAAAAQQ4IhwJBDgyGAwJCCsYOCEHHDgRBC1EKxg4I +QccOBEgLAABYAAAAJAEAABAe9/8bJQAAAEEOCIUCQQ4MhwNBDhCGBEEOFIMFRg6g +AQNhBgoOFEHDDhBBxg4MQccOCEHFDgRBCwO2AQoOFEHDDhBBxg4MQccOCEHFDgRG +CwAAACAAAACAAQAA1EL3/1cAAAAAQQ4IgwJDDiACRwoOCEHDDgRECzQAAACkAQAA +EEP3/3sAAAAAQQ4IhwJBDgyGA0EOEIMEQw4gbAoOEEHDDgxBxg4IQccOBEELAAAA +PAAAANwBAABYQ/f/wQEAAABBDgiFAkEODIcDQQ4QhgRBDhSDBUMOMALECg4UQcMO +EEHGDgxBxw4IQcUOBEELABAAAAAcAgAA6ET3/ywAAAAAAAAAVAAAADACAAAERff/ +oQIAAABBDgiFAkEODIcDQQ4QhgRBDhSDBUMOKQMUAgoOFEHDDhBBxg4MQccOCEHF +DgRBCwJaCg4URsMOEEHGDgxBxw4IQcUOBEELABAAAACIAgAAXEf3/ykAAAAAAAAA +PAAAAJwCAAB4R/f/UAIAAABBDgiFAkEODIcDQQ4QhgRBDhSDBUMOQAN7AQoOFEHD +DhBBxg4MQccOCEHFDgRBCxAAAADcAgAAiEn3/yYAAAAAAAAAIAAAAPACAACkSff/ +SwAAAABBDgiDAmkKww4ERgtaww4EAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +PAAAABwAAAC4Sff/BAYAAABBDgiFAkMODIcDQQ4QhgRBDhSDBUMOKAMOAwoOFEHD +DhBBxg4MQccOCEHFDgRFC1AAAABcAAAAiE/3/5IEAAAAQQ4IhQJBDgyHA0EOEIYE +QQ4UgwVDDiwCZQoOFEHDDhBBxg4MQccOCEHFDgRBCwMcBA4UQcMOEEHGDgxBxw4I +QcUOBDwAAACwAAAA1FP3/54KAAAAQQ4IhQJDDgyHA0EOEIYEQQ4UgwVDDmQDRwkK +DhRBww4QQcYODEHHDghBxQ4EQQsQAAAA8AAAADRe9//XAAAAAAAAADgAAAAEAQAA +AF/3/4ABAAAAQQ4IhQJBDgyHA0EOEIYEQQ4UgwUC5wrDDhBBxg4MQccOCEHFDgRC +CwAAACAAAABAAQAARGD3/4EAAAAAQQ4IgwJ6CsMOBEULAkDDDgQAADwAAABkAQAA +sGD3/1MBAAAAQQ4IhwJGDgyGA0EOEIMEAqYKww4MQcYOCEHHDgRBCwKfww4MQcYO +CEHHDgQAAABUAAAApAEAANBh9/+eCQAAAEEOCIUCQQ4MhwNBDhCGBEEOFIMFQw40 +A84DCg4UQcMOEEHGDgxBxw4IQcUOBEcLAwIDCg4UQcMOEEHGDgxBxw4IQcUOBEEL +JAAAAPwBAAAYa/f/mwAAAABBDgiGAkEODIMDAncKww4IQcYOBEcLABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAeGv3/wYAAAAAAAAAEAAAADAAAAB0a/f/ +BgAAAAAAAAAQAAAARAAAAHBr9/8RAAAAAAAAABAAAABYAAAAfGv3/xIAAAAAAAAA +EAAAAGwAAACIa/f/DQAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAABsAAAA +HAAAAGxr9/+8AwAAAEEOCIUCQQ4MhwNBDhCGBEEOFIMFQw5MAoQKDhRDww4QQcYO +DEHHDghBxQ4EQQsDUgEKDhRDww4QQcYODEHHDghBxQ4EQQtrCg4URsMOEEPGDgxB +xw4IQcUOBEELAAAANAAAAIwAAAC8bvf/rgAAAABBDgiFAkYODIcDQQ4QhgRBDhSD +BQKhww4QQcYODEHHDghBxQ4EAAA0AAAAxAAAADRv9/+uAAAAAEEOCIUCRg4MhwNB +DhCGBEEOFIMFAqHDDhBBxg4MQccOCEHFDgQAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAADwAAAAcAAAAlG/3/1gBAAAAQQ4IhQJDDgyHA0EOEIYEQQ4UgwVIDpQCA0UB +DhRBww4QQcYODEHHDghBxQ4EAAAQAAAAXAAAALRw9/8GAAAAAAAAAFAAAABwAAAA +sHD3/60CAAAAQQ4IhQJBDgyHA0EOEIYEQQ4UgwVDDhgDlQIKDhRDww4QQcYODEHH +DghBxQ4EQQtDDhRDww4QQcYODEHHDghBxQ4EABAAAADEAAAADHP3/xEAAAAAAAAA +EAAAANgAAAAYc/f/EQAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAABAAAAA +HAAAAAxz9/9rCQAAAEEOCIUCQQ4MhwNBDhCGBEEOFIMFQw6MAQMVAgoOFEHDDhBB +xg4MQccOCEHFDgRBCwAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAAGwAAAAcAAAA +IHz3/9QLAAAAQQ4IhQJDDgyHA0EOEIYEQQ4UgwVDDpQBA0MBCg4UQcMOEEHGDgxB +xw4IQcUOBEELAz4ICg4URsMOEEHGDgxBxw4IQcUOBEELVwoOFEbDDhBBxg4MQccO +CEHFDgRBCwAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAFi6+f8CAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAPLn5/wcAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAADgt/n/BQAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAMS3+f8DAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABQAAAAcAAAAmLj5/xUAAAAAQw4gUQ4EABwAAAAAAAAA +AXpQTFIAAXwIBwCQN0gAABsMBASIAQAAQAAAACQAAACQhvf/BAEAAASMXEgAQQ4I +hQJCDQVGhwOGBIMFAq8Kw0HGQcdBxQwEBEULWwrDQ8ZBx0HFDAQEQQsAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAAQ3/v8KAAAAAAAAACgAAAAwAAAA +MIf3/0UAAAAAQQ4IgwJDDhBcCg4IQcMOBEELYA4IQcMOBAAAKAAAAFwAAABUh/f/ +UgAAAABBDgiFAkINBUWGA4MEVArDQcZBxQwEBEELAAAoAAAAiAAAAIiH9/9SAAAA +AEEOCIUCQg0FRYYDgwRUCsNBxkHFDAQEQQsAACgAAAC0AAAAvIf3/1IAAAAAQQ4I +hQJCDQVFhgODBFQKw0HGQcUMBARBCwAAMAAAAEQBAADwh/f/pAYAAAS2XEgAQQ4I +hQJFDQVGhwOGBIMFAowKw0HGQcdBxQwEBEULADQAAAB4AQAAbI73/90DAAAEBV1I +AEEOCIUCQg0FQocDhgRDgwUD0QEKw0HGQcdBxQwEBEQLAAAAQAAAALABAAAUkvf/ +fQIAAAQ2XUgAQQ4IhQJCDQVBhwNDhgRDgwUCUgrDQcZBx0XFDAQEQQsCRwrDQcZB +x0HFDAQERQsQAAAAkAEAAFCU9/8GAAAAAAAAABwAAACkAQAATJT3/xkAAAAAQQ4I +hQJCDQVVxQwEBAAAIAAAAMQBAABMlPf/MQAAAABBDgiFAkINBUSDA2nFwwwEBAAA +LAAAAEwCAABolPf/AAEAAATMXUgAQQ4IhQJCDQVFhgODBAJCCsNBxkHFDAQEQQsA +LAAAAHwCAAA4lff/AAEAAATpXUgAQQ4IhQJCDQVFhgODBAJCCsNBxkHFDAQEQQsA +LAAAAKwCAAAIlvf/AAEAAAQGXkgAQQ4IhQJCDQVFhgODBAJCCsNBxkHFDAQEQQsA +MAAAANwCAADYlvf/RAEAAAQjXkgAQQ4IhQJCDQVGhwOGBIMFAmkKw0HGQcdBxQwE +BEELADAAAAAQAwAA9Jf3/0QBAAAEQV5IAEEOCIUCQg0FRocDhgSDBQJpCsNBxkHH +QcUMBARBCwAwAAAARAMAABCZ9/9OAQAABF9eSABBDgiFAkINBUaHA4YEgwUCbwrD +QcZBx0HFDAQERQsAMAAAAHgDAAAsmvf/agIAAAR9XkgAQQ4IhQJCDQVGhwOGBIMF +AmIKw0HGQcdBxQwEBEILADAAAACsAwAAaJz3/6oGAAAEsl5IAEEOCIUCQg0FSYcD +hgSDBQOhAQrDQcZBx0HFDAQEQQswAAAA4AMAAOSi9//rAQAABHBfSABBDgiFAkIN +BUaHA4YEgwUCzQrDQcZBx0HFDAQERwsAMAAAABQEAACgpPf/tQgAAASfX0gAQQ4I +hQJCDQVGhwOGBIMFAzQDCsNBxkHHQcUMBARBCzAAAABIBAAALK33/wcBAAAEF2BI +AEEOCIUCQg0FRocDhgSDBQJECsNBxkHHQcUMBARBCwBQAAAAfAQAAAiu9/8jAQAA +BGRgSABBDgiFAkINBUGHA0OGBEaDBQJNCsNGxkHHQcUMBARBC0kKw0PGQcdBxQwE +BEELSQrDRsZBx0HFDAQEQQsAAABMAAAA0AQAAOSu9/+tAQAABH1gSABBDgiFAkIN +BUaHA4YEgwUCUArDQcZBx0HFDAQERAtSCsNBxkHHQcUMBARBCwLCCsNBxkHHQcUM +BARBCzgAAAC8BAAARLD3/4gAAAAAQQ4IhgJBDgyDA0UOIHAKDgxBww4IQcYOBEcL +egoODEHDDghBxg4ERAsAADAAAABcBQAAmLD3/2UFAAAEpmBIAEEOCIUCQg0FQ4cD +hgSDBQKFCsNBxkHHQcUMBARCCwBYAAAALAUAANS19//DAAAAAEEOCIUCQg0FRocD +hgSDBQJQCsNBxkHHQcUMBAREC04Kw0HGQcdBxQwEBEULXQrDQcZBx0HFDAQESgtO +CsNBxkHHQcUMBARFCwAAADgAAACIBQAASLb3/2gAAAAAQQ4IhgJBDgyDA0UOIHAK +DgxBww4IQcYOBEcLVQoODEHDDghBxg4ESQsAADAAAAAoBgAAfLb3/9kBAAAEA2FI +AEEOCIUCQg0FRocDhgSDBQKJCsNBxkHHQcUMBARBCwBMAAAAXAYAACi49/9bAQAA +BB1hSABBDgiFAkINBUaHA4YEgwV8CsNBxkHHQcUMBARIC3QKw0HGQcdBxQwEBEEL +cArDQcZBx0HFDAQEQQsAAEAAAACsBgAAOLn3/1oDAAAEN2FIAEEOCIUCQg0FRocD +hgSDBQKxCsNBxkHHQcUMBARDC2gKw0HGQcdBxQwEBEULAAAAMAAAAPAGAABUvPf/ +LAQAAASIYUgAQQ4IhQJCDQVGhwOGBIMFAuQKw0HGQcdBxQwEBEELADQAAAAkBwAA +UMD3/1UDAAAEx2FIAEEOCIUCQg0FQocDhgRGgwUD1gEKw0HGQcdBxQwEBEELAAAA +MAAAAFwHAAB4w/f/GQEAAAT/YUgAQQ4IhQJCDQVGhwOGBIMFAk0Kw0HGQcdBxQwE +BEELADAAAACQBwAAZMT3//EJAAAEHmJIAEEOCIUCQg0FRocDhgSDBQP2AQrDQcZB +x0HFDAQEQQswAAAAxAcAADDO9/9XBgAABItiSABBDgiFAkINBUaHA4YEgwUCYQrD +QcZBx0HFDAQEQwsAMAAAAPgHAABc1Pf/MAEAAATrYkgAQQ4IhQJCDQVGhwOGBIMF +AlgKw0HGQcdBxQwEBEELADAAAAAsCAAAWNX3/2oCAAAECWNIAEEOCIUCQg0FRocD +hgSDBQJ7CsNBxkHHQcUMBARBCwBAAAAAYAgAAJTX9//QAQAABD5jSABBDgiFAkIN +BUaHA4YEgwUCpQrDQcZBx0HFDAQEQQsCZQrDQcZBx0HFDAQEQQsAAEAAAACkCAAA +INn3/xcIAAAEXGNIAEEOCIUCQg0FSYcDhgSDBQKdCsNBxkHHQcUMBAREC2YKw0PG +QcdBxQwEBEULAAAAMAAAAOgIAAD84Pf/vwEAAAQAZEgAQQ4IhQJCDQVGhwOGBIMF +Ar4Kw0HGQcdBxQwEBEYLAEAAAAAcCQAAiOL3/xkCAAAEH2RIAEEOCIUCQg0FQ4cD +hgSDBQKECsNBxkHHQcUMBARDCwJNCsNBxkHHQcUMBARBCwAAMAAAAGAJAABk5Pf/ +9gEAAARlZEgAQQ4IhQJCDQVGhwOGBIMFAqcKw0HGQcdBxQwEBEELADAAAACUCQAA +MOb3/+cHAAAEiGRIAEEOCIUCQg0FQ4cDhgSDBXUKw0HGQcdBxQwEBEILAAAwAAAA +yAkAAOzt9//2AQAABBxlSABBDgiFAkINBUaHA4YEgwUCtArDQcZBx0HFDAQEQQsA +MAAAAPwJAAC47/f/5AMAAAQ/ZUgAQQ4IhQJCDQVGhwOGBIMFA6EBCsNDxkHHQcUM +BARBC0AAAAAwCgAAdPP3//oCAAAEl2VIAEEOCIUCQg0FRocDhgSDBVgKw0HGQcdB +xQwEBEELAykBCsNBxkHHQcUMBARBCwAAMAAAAHQKAAAw9vf/lQMAAATYZUgAQQ4I +hQJCDQVGhwOGBIMFA40BCsNBxkHHQcUMBARHC0wAAACoCgAAnPn3/zgEAAAENmZI +AEEOCIUCQg0FSYcDhgSDBXoKw0HGQcdBxQwEBEcLA3gBCsNBxkHHQcUMBARFC2wK +w0HGQcdBxQwEBEELMAAAAPgKAACM/ff/owMAAASLZkgAQQ4IhQJCDQVGhwOGBIMF +At4Kw0HGQcdBxQwEBEYLACAAAADICgAAaCz+/+0AAAAAQQ4IhQJHDQVEgwMC4MXD +DAQEABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACwAAAAcAAAALKz5/+YAAAAAQQ4I +hQJCDQVGhwOGBIMFfArDQcZBx0HFDAQEQQsAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACwAAAAcAAAAdK/5/2IAAAAAQQ4IhQJCDQVDhwOGBIMFZArDQcZBx0HFDAQE +QQsAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAAMAAAACQAAACUqPn/ +vwAAAARYXUgAQQ4IhQJCDQVDhwOGBIMFAkAKw0HGQcdBxQwEBEcLABwAAAAAAAAA +AXpQTFIAAXwIBwCQN0gAABsMBASIAQAAMAAAACQAAACAp/n/wAAAAARwXUgAQQ4I +hQJCDQVDhwOGBIMFAkgKw0HGQcdBxQwEBEELABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACwAAAAcAAAAtKj5/+YAAAAAQQ4IhQJCDQVGhwOGBIMFfArDQcZBx0HFDAQE +QQsAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAAMAAAACQAAAB0pfn/ +YwEAAASUXUgAQQ4IhQJCDQVDhwOGBIMFAsYKw0HGQcdBxQwEBEMLABwAAAAAAAAA +AXpQTFIAAXwIBwCQN0gAABsMBASIAQAAMAAAACQAAABwovn/QwEAAAQ4X0gAQQ4I +hQJCDQVDhwOGBIMFAp8Kw0HGQcdBxQwEBEgLABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAMAAAACQAAABso/n/UwEAAAQsYEgAQQ4IhQJCDQVDhwOGBIMF +ArIKw0HGQcdBxQwEBEULABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +MAAAACQAAAAYz/n/0AQAAAQQZ0gAQQ4IhQJCDQVDhwOGBIMFYgrDQcZBx0HFDAQE +RQsAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAAEwAAAAcAAAA/P33/xUBAAAASQ4I +hQJCDQVBhwNHhgSDBXAKw0HGQcdBxQwEBEELApkMBATDxcbHRgwFCIMFhQKGBIcD +a8NBxkHHQcUMBAQAEAAAAGwAAADM/vf/CgAAAAAAAABIAAAAgAAAAMj+9//oAAAA +AEEOCIUCQg0FQocDhgRDgwUCSQrDQcZBx0HFDAQEQQtVCsNBxkHHQcUMBARDC2cK +w0HGQcdBxQwEBEYLEAAAAMwAAACcKf7/CgAAAAAAAAAkAAAA4AAAAFj/9/95AQAA +AEEOCIUCQg0FQYMDAssKxcMMBARBCwAAKAAAAAgBAACwAPj/UgAAAABBDgiFAkIN +BUWGA4MEVArDQcZBxQwEBEELAAAoAAAANAEAAOQA+P9SAAAAAEEOCIUCQg0FRYYD +gwRUCsNBxkHFDAQEQQsAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +LAAAACQAAAD4APj/KwEAAASEZ0gAQQ4IhQJCDQVBhgNGgwQCgQrDQcZBxQwEBEML +MAAAAFQAAAD4Afj/6QAAAAScZ0gAQQ4IhQJCDQVBhwNHhgSDBQJ9CsNBxkHHQcUM +BARFCzgAAACIAAAAtAL4/94AAAAErmdIAEEOCIUCQg0FQoYDgwRSCsNBxkHFDAQE +RwsCpgrDQcZBxQwEBEgLACwAAADEAAAAWAP4//gAAAAEwWdIAEEOCIUCQg0FQoYD +gwRxCsNBxkHFDAQESAsAADAAAAD0AAAAKAT4/zABAAAE02dIAEEOCIUCQg0FQ4cD +hgSDBX8Kw0HGQcdBxQwEBEgLAAAsAAAAhAIAACQF+P+QAAAAAEEOCIUCQg0FRocD +hgSDBQJ1CsNBxkHHQcUMBARDCwAsAAAAtAIAAIQF+P9oAAAAAEEOCIYCQw4MgwND +DhACTgoODEPDDghBxg4ERwsAAABUAAAA5AIAAMQF+P+8AAAAAEEOCIUCQQ4MhwND +DhCGBEMOFIMFQw4gAogKDhRBww4QQcYODEHHDghBxQ4EQQtLCg4UQ8MOEEHGDgxB +xw4IQcUOBEcLAAAAJAAAADwDAAAsBvj/RwAAAABBDgiFAkINBUGDA3YKxcMMBARB +CwAAACwAAABkAwAAVAb4/2gBAAAAQQ4IhQJCDQVDhwOGBIMFAswKw0HGQcdBxQwE +BEMLABAAAACUAwAAlAf4/xoAAAAAAAAAQAAAAEwCAACgB/j/HwQAAAQQaEgAQQ4I +hQJCDQVDhwOGBIMFAs0Kw0HGQcdBxQwEBEoLAskKw0HGQcdBxQwEBEQLAAA8AAAA +kAIAAHwL+P8iAQAABEhoSABRDgiFAkINBUaHA4YEgwVZCsNBxkHHQcUMBARBC28K +w0HGQcdBxQwEBEgLMAAAANACAABsDPj/VQMAAARoaEgAQQ4IhQJCDQVGhwOGBIMF +Am4Kw0HGQcdBxQwEBEYLAEAAAAAEAwAAmA/4/ycDAAAExGhIAEEOCIUCQg0FRocD +hgSDBQMCAQrDQcZBx0HFDAQEQgt8CsNBxkHHQcUMBARBCwAAQAAAAEgDAACEEvj/ +uAMAAAQAaUgAQQ4IhQJCDQVDhwOGBIMFAxMBCsNBxkHHQcUMBARECwKnCsNBxkHH +QcUMBARGCwAsAAAAjAMAAAAW+P84AQAABDppSABBDgiFAkINBUKGA4MEAoYKw0HG +QcUMBARDCwAwAAAAvAMAABAX+P9aBAAABExpSABBDgiFAkINBUaHA4YEgwUC+wrD +QcZBx0HFDAQEQQsAaAAAAEwFAAA8G/j/DQEAAABBDgiFAkEODIcDQQ4QhgRBDhSD +BUMOMAK2Cg4UQcMOEEHGDgxBxw4IQcUOBEELaAoOFEHDDhBBxg4MQccOCEHFDgRC +C0MKDhRGww4QQcYODEHHDghBxQ4EQQsAMAAAAFwEAADgG/j/YgIAAASDaUgAQQ4I +hQJCDQVBhwNHhgSDBQKsCsNBxkHHQcUMBARDCzAAAACQBAAAHB74/6MEAAAEm2lI +AEEOCIUCQg0FQ4cDhgSDBQMSAQrDQcZBx0HFDAQERQswAAAAxAQAAJgi+P+YAwAA +BN5pSABBDgiFAkINBUOHA4YEgwUDbgEKw0HGQcdBxQwEBEkLMAAAAPgEAAAEJvj/ +iQQAAAQNakgAQQ4IhQJCDQVGhwOGBIMFA3YBCsNBxkHHQcUMBARDCzAAAAAsBQAA +YCr4/+kHAAAEOGpIAEEOCIUCQg0FQocDhgRGgwVPCsNBxkHHQcUMBARDCwAwAAAA +YAUAABwy+P98BQAABJJqSABBDgiFAkINBUaHA4YEgwUD+AIKw0HGQcdBxQwEBEML +NAAAAJQFAABoN/j/kQYAAATcakgAQQ4IhQJCDQVChwOGBEaDBQOgAgrDQcZBx0HF +DAQEQwsAAABAAAAAzAUAANA9+P+FAgAABDZrSABBDgiFAkINBUOHA4YEgwUC0wrD +QcZBx0HFDAQERAtMCsNBxkHHQcUMBARDCwAAACAAAABsBwAADCP+/1cAAAAAQQ4I +hQJHDQVEgwMCSsXDDAQEABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +LAAAACQAAACoZv3/1gAAAAToZ0gAQQ4IhQJCDQVBhgNGgwQCZArDQcZBxQwEBEML +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAADgIv7/HQAAAAAAAAAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAAXD/4/2ICAAAErWtI +AEEOCIUCQg0FSYcDhgSDBQLlCsNBxkHHQcUMBARBCwKdCsNBxkHHQcUMBARBCwAA +QAAAAGgAAACIQfj/QgIAAATca0gAQQ4IhQJCDQVJhwOGBIMFAtAKw0HGQcdBxQwE +BEELAokKw0HGQcdBxQwEBEQLAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAACwAAAAkAAAAtKL5/5kAAAAEnGtIAEEOCIUCQg0FQoYDgwQCVwrDQcZBxQwE +BEMLABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAArMX5/wMAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAABgxfn/AwAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAACTF+f8FAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAOMX5/wUAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAADsxPn/AwAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAA4AAAAHAAAAFBC+P+CAAAAAEEOCIUCQg0FRocDhgSDBQJTCsNBxkHH +QcUMBARDC1jDQ8ZBx0HFDAQEAAA4AAAAWAAAAKRC+P+PAAAAAEEOCIUCQg0FRocD +hgSDBQJjCsNBxkHHQcUMBARDC1fDQcZBx0HFDAQEAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAAICU+f8LAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABwAAAAcAAAANJT5/x4AAAAAQQ4IgwJFDiBWDghBww4EFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAACsovn/BwAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAACDK+f8JAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACgAAAAcAAAAtMn5/zYAAAAAQQ4IhQJCDQVEgwNeCsXDDAQEQwtGw8UMBAQA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAABQyfn/HAAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAALRB+P8GAAAAAAAAABAAAAAwAAAA +sEH4/wsAAAAAAAAAEAAAAEQAAACsQfj/BwAAAAAAAAAUAAAAWAAAAKhB+P8VAAAA +AEMOIFEOBAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAAFwAAAAkAAAA +kEH4//0AAAAEPGxIAEEOCIUCQg0FQoYDgwQCQArDQcZBxQwEBEkLXQrDQcZBxQwE +BEMLYQrDQcZBxQwEBEMLXwrDQcZBxQwEBEcLXQrDQcZBxQwEBEMLABQAAADwAAAA +MEL4/04AAAAAUw4geg4EABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABQAAAAcAAAA +wKD5/xUAAAAAQw4gUQ4EABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +IEL4/wYAAAAAAAAAEAAAADAAAAAcQvj/BgAAAAAAAAAQAAAARAAAABhC+P8LAAAA +AAAAABAAAABYAAAAFEL4/wsAAAAAAAAAEAAAAGwAAAAQQvj/BwAAAAAAAAAQAAAA +gAAAAAxC+P8HAAAAAAAAABQAAACUAAAACEL4/xUAAAAAQw4gUQ4EABQAAACsAAAA +EEL4/xUAAAAAQw4gUQ4EABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +MAAAACQAAAD4Qfj/ygAAAARMbEgAQQ4IhQJCDQVBgwMCRwrFwwwEBEULAlkKw8UM +BARDCyQAAAAYAQAAlEL4/08AAAAAUg4IhQJCDQVEgwNcCsXDDAQEQQsAAAAkAAAA +QAEAALxC+P8WFAAAAEEOCIMCQw4gA28DCg4IQcMOBEMLAAAAMAAAAKgAAAC0Vvj/ +QgIAAARfbEgAQQ4IhQJCDQVGhwOGBIMFAn8Kw0HGQcdBxQwEBEULABQAAACcAQAA +0Fj4/04AAAAAUw4geg4EABQAAAC0AQAACFn4/04AAAAAUw4geg4EABQAAADMAQAA +YBz+/zkAAAAAQw4QdQ4EABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAADQAAAAcAAAA +oDT8/1kAAAAAQQ4IhgJBDgyDA0UOEHAKDgxDww4IQcYOBEULUg4MQ8MOCEHGDgQA +FAAAAAAAAAABelIAAXwIARsMBASIAQAANAAAABwAAABQT/z/WQAAAABBDgiGAkEO +DIMDRQ4QcAoODEPDDghBxg4ERQtSDgxDww4IQcYOBAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAABUAAAAHAAAAHA+/P96AAAAAEEOCIUCQQ4MhwNBDhCGBEMOFIMFQw4g +Ak0KDhRMww4QQcYODEHHDghBxQ4EQQtICg4UQ8MOEEHGDgxBxw4IQcUOBEELAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAVAAAABwAAAAQWfz/egAAAABBDgiFAkEO +DIcDQQ4QhgRDDhSDBUMOIAJNCg4UTMMOEEHGDgxBxw4IQcUOBEELSAoOFEPDDhBB +xg4MQccOCEHFDgRBCwAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAA +IDD8/zIAAAAAUQ4IhQJCDQVexQwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +HAAAABwAAADoSvz/MwAAAABRDgiFAkINBV/FDAQEAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAA4AAAAHAAAAPA7/P8vAQAAAEEOCIUCQg0FQ4cDhgSDBQMVAQrDQcZB +x0HFDAQEQwtGw0PGQcdBxQwEBAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAA8AAAA +HAAAAJxW/P8yAQAAAEEOCIUCQg0FQ4cDhgSDBQKNCsNBxkHHQcUMBARKC0YKw0PG +QcdBxQwEBEULAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAPAAAABwAAADUNPz/ +/gAAAABBDgiFAkINBUOHA4YEgwUClQrDQcZBx0HFDAQEQwtMCsNBxkHHQcUMBARF +EwFACxQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAADwAAAAcAAAAfE/8/wwBAAAAQQ4I +hQJCDQVDhwOGBIMFApkKw0HGQcdBxQwEBEMLTArDQcZBx0HFDAQERRMBRwsUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAA8AAAAHAAAAEQ8/P9BBAAAAEEOCIUCQg0FQ4cD +hgSDBQN4AQrDQcZBx0HFDAQEQQsCQArDQcZBx0HFDAQEQQsAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAPAAAABwAAABcMfz/bAIAAABBDgiFAkINBUaHA4YEgwUDpQEK +w0HGQcdBxQwEBEMLAkwKw0HGQcdBxQwEBEMLABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAADwAAAAcAAAApFb8/0IEAAAAQQ4IhQJCDQVDhwOGBIMFA4gBCsNBxkHHQcUM +BARBCwJBCsNBxkHHQcUMBARBCwAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAA8AAAA +HAAAAKxL/P9kAgAAAEEOCIUCQg0FRocDhgSDBQO2AQrDQcZBx0HFDAQEQwsCSgrD +QcZBx0HFDAQEQwsAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAA0KPz/ +JwAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAYAAAAHAAAADgo/P8vAAAA +AE0OCIMCU8MOBAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAABAAAAA +JAAAAPw//P8lAQAABKxsSABBDgiFAkINBUOHA4YEgwUC5QrDQcZBx0HFDAQEQgtP +CsNBxkHHQcUMBARBCwAAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +QAAAACQAAABoPvz/JQEAAAS7bEgAQQ4IhQJCDQVDhwOGBIMFAuUKw0HGQcdBxQwE +BEILTwrDQcZBx0HFDAQEQQsAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAJzu+f8IAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABQAAAAcAAAA +UCr8/zEAAAAAUw4gXQ4EABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAA +wCn8/1YAAAAAQQ4IgwJFDiACTg4IQcMOBAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACAAAAAcAAAA1Pf9/1EAAAAAQQ4IgwJFDhACSQ4IQcMOBAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAADwAAAAcAAAA6Cf8/14BAAAAQQ4IhQJCDQVChwOGBEaD +BQKpCsNBxkHHQcUMBARJCwKHCsNBxkHHQcUMBARDCwAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAoAAAAHAAAAIAl/P9YAAAAAEEOCIUCQg0FQYMDWwrFwwwEBEMLc8PF +DAQEABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAADwAAAAcAAAA/CX8/0gBAAAAQQ4I +hQJCDQVBhwNEhgSDBQLlCsNBxkHHQcUMBARBCwJOCsNBxkHHQcUMBARBCwAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAAFgAAAAkAAAAPCr8/+MAAAAEzGxI +AEEOCIUCQQ4MhwNBDhCGBEEOFIMFSA5AAnkKDhRDww4QQcYODEHHDghBxQ4ERQtD +Cg4UQ8MOEEHGDgxBxw4IQcUOBEELAAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAA +GwwEBIgBAAAgAAAAJAAAAJA+/P8rAAAABPhsSABBDgiDAkUOEF8OCEHDDgQcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAACAAAAAkAAAAHD78/ysAAAAE/GxI +AEEOCIMCRQ4QXw4IQcMOBBQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAADgAAAAcAAAA +8Cf8/+wAAAAAQQ4IhQJCDQVDhwOGBIMFAo8Kw0HGQcdBxQwEBEgLAkbDQcZBx0HF +DAQEABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAAjCj8/xEAAAAAQQ4I +hQJCDQVJxQwEBEUTAQAAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +IAAAACQAAAAIPfz/NAAAAAQAbUgAQQ4IgwJFDiBsDghBww4EHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAAAkAAAAJAAAAFTR/P9SAAAABARtSABBDgiDAkUO +EAJGDghBww4EAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAABU9P3/ +CgAAAAAAAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAACQAAAAkAAAA +ML38/1kAAAAECG1IAEEOCIMCRQ4QAk0OCEHDDgQAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAAIDz/f8KAAAAAAAAABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAJAAAACQAAAAM0Pz/WwAAAAQMbUgAQQ4IgwJFDiACUw4IQcMO +BAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAXPP9/woAAAAAAAAA +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAkAAAAJAAAANi7/P9iAAAA +BBBtSABBDgiDAkUOIAJaDghBww4EAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAACI8v3/CgAAAAAAAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAACQAAAAkAAAApF/8/2cAAAAEFG1IAEEOCIMCRQ4QAlsOCEHDDgQAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAKTw/f8IAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAePH9/woAAAAAAAAAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAAAkAAAAJAAAAJRe/P9wAAAABBhtSABBDgiDAkUO +IAJoDghBww4EAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAD07/3/ +CAAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAMjw/f8KAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAADAAAAAcAAAA7Cv8/7YAAAAAQQ4I +hQJCDQVChgODBHkKw0HGQcUMBARDCwJuw0HGQcUMBAQUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAA0AAAAHAAAABAv/P/1AQAAAEEOCIUCQg0FQoYDgwQCYgrDQcZBxQwE +BEcLArAKw0HGQcUMBARDCxQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAADwAAAAcAAAA +ECz8/+oBAAAAQQ4IhQJCDQVDhwOGBIMFA0MBCsNBxkHHQcUMBARECwJhCsNBxkHH +QcUMBARDCwAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAoAAAAHAAAAKgt/P+3AAAA +AEEOCIUCQg0FQoYDgwQCggrDQcZBxQwEBEcLABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAADwAAAAcAAAAFCX8/8UBAAAAQQ4IhQJCDQVDhwOGBIMFdQrDQcZBx0HFDAQE +QwsCmArDQcZBx0HFDAQERAsAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAsAAAA +HAAAAPwd/P9qAAAAAEQOCIYCQQ4MgwNmCsMOCFbGDgRDC1/DDghExg4EAAAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAArLf8/5YAAAAEHG1I +AEEOCIUCQg0FQ4cDhgSDBQJeCsNBxkHHQcUMBARDCwAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAAmLT8/94AAAAEMm1IAEEOCIUCQg0FQ4cD +hgSDBQKcCsNBxkHHQcUMBARBCwAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAAEAAAAAkAAAAJLX8/+oAAAAETG1IAEEOCIUCQg0FQ4cDhgSDBQKSCsNBxkHH +QcUMBARFC1gKw0HGQcdBxQwEBEMLAAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAA +GwwEBIgBAABAAAAAJAAAAGCx/P82AQAABGNtSABBDgiFAkINBUOHA4YEgwUC0ArD +QcZBx0HFDAQERwtYCsNBxkHHQcUMBARDCwAAABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAQAAAACQAAABMtfz/6gAAAAR9bUgAQQ4IhQJCDQVDhwOGBIMF +ApQKw0HGQcdBxQwEBEMLWArDQcZBx0HFDAQEQwsAAAAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAA2LH8/zYBAAAElG1IAEEOCIUCQg0FQ4cD +hgSDBQLSCsNBxkHHQcUMBARFC1gKw0HGQcdBxQwEBEMLAAAAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAAAsAAAAJAAAAOS2/P9cAAAABK5tSABBDgiGAkEO +DIMDRQ4QAlAODEHDDghBxg4EAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAACzk+f8EAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +sK/8/wgAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAADk4/n/ +CAAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAoAAAAHAAAADiu/P9iAAAA +AEEOCIUCQg0FQYMDfgrFwwwEBEMLWsPFDAQEABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACgAAAAcAAAAZK78/2QAAAAAQQ4IhQJCDQVBgwMCQArFwwwEBEMLWsPFDAQE +FAAAAAAAAAABelIAAXwIARsMBASIAQAAKAAAABwAAACQrvz/PQAAAABBDgiFAkIN +BUGDA1UKxcMMBARHC1zDxQwEBAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAADAAAAAkAAAApMf8/4QAAAAEsm1IAEEOCIUCQg0FQ4cDhgSDBQJTCsNBxkHH +QcUMBARDCwAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAA +wMT8/9AAAAAExm1IAEEOCIUCQg0FQ4cDhgSDBQKVCsNBxkHHQcUMBARBCwAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAAPMX8/9YAAAAE4G1I +AEEOCIUCQg0FQ4cDhgSDBQKHCsNBxkHHQcUMBARDC1gKw0HGQcdBxQwEBEMLAAAA +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAABAAAAAJAAAAKjB/P8kAQAA +BPdtSABBDgiFAkINBUOHA4YEgwUCyQrDQcZBx0HFDAQEQwtYCsNBxkHHQcUMBARD +CwAAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAAQAAAACQAAABUxfz/ +2AAAAAQRbkgAQQ4IhQJCDQVDhwOGBIMFAokKw0HGQcdBxQwEBEMLWArDQcZBx0HF +DAQEQwsAAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAA +EML8/yYBAAAEKG5IAEEOCIUCQg0FQ4cDhgSDBQLLCsNBxkHHQcUMBARDC1gKw0HG +QcdBxQwEBEMLAAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAsAAAA +JAAAALzG/P9VAAAABEJuSABBDgiGAkEODIMDRQ4QAkkODEHDDghBxg4EAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAJTg+f8EAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA+L/8/wgAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAABM4Pn/CAAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAoAAAAHAAAAIC+/P9iAAAAAEEOCIUCQg0FQYMDfgrFwwwEBEMLWsPF +DAQEABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACgAAAAcAAAArL78/2QAAAAAQQ4I +hQJCDQVBgwMCQArFwwwEBEMLWsPFDAQEFAAAAAAAAAABelIAAXwIARsMBASIAQAA +KAAAABwAAADYvvz/PQAAAABBDgiFAkINBUGDA1UKxcMMBARHC1zDxQwEBAAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAAfFP8/+sAAAAERm5I +AEEOCIUCQg0FQ4cDhgSDBQKZCsNBxkHHQcUMBARDCwAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAAiE/8/xkBAAAEZG5IAEEOCIUCQg0FQ4cD +hgSDBQLCCsNBxkHHQcUMBARBCwAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAAEAAAAAkAAAAVFD8/zoBAAAEhG5IAEEOCIUCQg0FQ4cDhgSDBQLKCsNBxkHH +QcUMBARDC1gKw0HGQcdBxQwEBEMLAAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAA +GwwEBIgBAABAAAAAJAAAAPBL/P9rAQAABKJuSABBDgiFAkINBUOHA4YEgwUC8wrD +QcZBx0HFDAQERAtYCsNBxkHHQcUMBARDCwAAABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAQAAAACQAAADMUPz/PAEAAATCbkgAQQ4IhQJCDQVDhwOGBIMF +AswKw0HGQcdBxQwEBEMLWArDQcZBx0HFDAQEQwsAAAAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAAmEz8/2wBAAAE4G5IAEEOCIUCQg0FQ4cD +hgSDBQL1CsNBxkHHQcUMBARDC1gKw0HGQcdBxQwEBEMLAAAAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAAAsAAAAJAAAABRT/P+GAAAABABvSABBDgiGAkEO +DIMDRQ4QAnoODEHDDghBxg4EAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAPzb+f8EAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +QEr8/wgAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAC02/n/ +CAAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAoAAAAHAAAANhI/P9fAAAA +AEEOCIUCQg0FQYMDewrFwwwEBEMLWsPFDAQEABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACgAAAAcAAAA9Ej8/2EAAAAAQQ4IhQJCDQVBgwN9CsXDDAQEQwtaw8UMBAQA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAKAAAABwAAAAgSfz/PQAAAABBDgiFAkIN +BUGDA1UKxcMMBARHC1zDxQwEBAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAMwt/P8nAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABgAAAAcAAAA +0C38/zEAAAAAUg4IgwJUww4EAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAAEAAAAAkAAAA1EX8/yYBAAAEBG9IAEEOCIUCQg0FQ4cDhgSDBQLnCsNBxkHH +QcUMBARBC08Kw0HGQcdBxQwEBEELAAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAA +GwwEBIgBAABAAAAAJAAAAEBE/P8mAQAABBNvSABBDgiFAkINBUOHA4YEgwUC5wrD +QcZBx0HFDAQEQQtPCsNBxkHHQcUMBARBCwAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAAdNn5/wgAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +HAAAABwAAAAIMPz/RAAAAABRDgiDAkgOIGkOCEHDDgQUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAgAAAAHAAAAHAv/P9WAAAAAEEOCIMCRQ4gAk4OCEHDDgQAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAPTi/f9RAAAAAEEOCIMCRQ4QAkkO +CEHDDgQAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAA8AAAAHAAAAIgt/P9jAQAA +AEEOCIUCQg0FQocDhgRGgwUCpwrDQcZBx0HFDAQEQwsClArDQcZBx0HFDAQEQwsA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAKAAAABwAAAAQK/z/XAAAAABBDgiFAkIN +BUGDA1sKxcMMBARFC3XDxQwEBAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAA8AAAA +HAAAAJwr/P9IAQAAAEEOCIUCQg0FQYcDRIYEgwUC5grDQcZBx0HFDAQEQQsCTQrD +QcZBx0HFDAQEQQsAHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAABYAAAA +JAAAAPwv/P/jAAAABCRvSABBDgiFAkEODIcDQQ4QhgRBDhSDBUgOQAJ5Cg4UQ8MO +EEHGDgxBxw4IQcUOBEULQwoOFEPDDhBBxg4MQccOCEHFDgRBCwAAABwAAAAAAAAA +AXpQTFIAAXwIBwCQN0gAABsMBASIAQAAIAAAACQAAABgRPz/KwAAAARQb0gAQQ4I +gwJFDhBfDghBww4EHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAgAAAA +JAAAAOxD/P8rAAAABFRvSABBDgiDAkUOEF8OCEHDDgQUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAA4AAAAHAAAALAt/P/sAAAAAEEOCIUCQg0FQ4cDhgSDBQKPCsNBxkHH +QcUMBARICwJGw0HGQcdBxQwEBAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAA +HAAAAEwu/P8RAAAAAEEOCIUCQg0FScUMBARFEwEAAAAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAACAAAAAkAAAA2EL8/zQAAAAEWG9IAEEOCIMCRQ4gbA4I +QcMOBBwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAAJAAAACQAAAD0w/z/ +UgAAAARcb0gAQQ4IgwJFDhACRg4IQcMOBAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAANN/9/woAAAAAAAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAA +GwwEBIgBAAAkAAAAJAAAADCw/P9ZAAAABGBvSABBDgiDAkUOEAJNDghBww4EAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAABg3v3/CgAAAAAAAAAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAACQAAAAkAAAATK/8/2IAAAAEZG9I +AEEOCIMCRQ4gAloOCEHDDgQAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAANzd/f8KAAAAAAAAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +JAAAACQAAAA4wvz/WwAAAARob0gAQQ4IgwJFDiACUw4IQcMOBAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAyN39/woAAAAAAAAAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAAAkAAAAJAAAAGRU/P9nAAAABGxvSABBDgiDAkUO +EAJbDghBww4EAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAACE2/3/ +CAAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAFjc/f8KAAAA +AAAAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAAJAAAACQAAABUU/z/ +cAAAAARwb0gAQQ4IgwJFDiACaA4IQcMOBAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAA1Nr9/wgAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAACo2/3/CgAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAwAAAA +HAAAALwx/P+2AAAAAEEOCIUCQg0FQoYDgwR5CsNBxkHFDAQEQwsCbsNBxkHFDAQE +FAAAAAAAAAABelIAAXwIARsMBASIAQAAPAAAABwAAADgNPz/7QEAAABBDgiFAkIN +BUOHA4YEgwUCzArDQcZBx0HFDAQEQwsCmgrDQ8ZBx0HFDAQESQsAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAADwAAAAcAAAA2DH8/+oBAAAAQQ4IhQJCDQVDhwOGBIMF +A0cBCsNBxkHHQcUMBARDCwJeCsNBxkHHQcUMBARDCwAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAoAAAAHAAAAHAz/P+5AAAAAEEOCIUCQg0FQoYDgwQCggrDQcZBxQwE +BEcLABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAADwAAAAcAAAAzCr8/8YBAAAAQQ4I +hQJCDQVDhwOGBIMFdQrDQcZBx0HFDAQEQwsCmArDQcZBx0HFDAQERAsAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAsAAAAHAAAAIQj/P9qAAAAAEQOCIYCQQ4MgwNm +CsMOCFbGDgRDC1/DDghExg4EAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAADAAAAAkAAAApKr8/5YAAAAEdG9IAEEOCIUCQg0FQ4cDhgSDBQJeCsNBxkHH +QcUMBARDCwAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAA +kKf8/+AAAAAEim9IAEEOCIUCQg0FQ4cDhgSDBQKeCsNBxkHHQcUMBARBCwAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAAHKj8/+oAAAAEpG9I +AEEOCIUCQg0FQ4cDhgSDBQKSCsNBxkHHQcUMBARFC1gKw0HGQcdBxQwEBEMLAAAA +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAABAAAAAJAAAAFik/P82AQAA +BLtvSABBDgiFAkINBUOHA4YEgwUC0grDQcZBx0HFDAQERQtYCsNBxkHHQcUMBARD +CwAAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAAQAAAACQAAABEqPz/ +6gAAAATVb0gAQQ4IhQJCDQVDhwOGBIMFApQKw0HGQcdBxQwEBEMLWArDQcZBx0HF +DAQEQwsAAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAA +0KT8/zYBAAAE7G9IAEEOCIUCQg0FQ4cDhgSDBQLUCsNBxkHHQcUMBARDC1gKw0HG +QcdBxQwEBEMLAAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAsAAAA +JAAAANyp/P9cAAAABAZwSABBDgiGAkEODIMDRQ4QAlAODEHDDghBxg4EAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAATP+f8EAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAqKL8/wgAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAAC8zvn/CAAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAoAAAAHAAAADCh/P9iAAAAAEEOCIUCQg0FQYMDfgrFwwwEBEMLWsPF +DAQEABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACgAAAAcAAAAXKH8/2QAAAAAQQ4I +hQJCDQVBgwMCQArFwwwEBEMLWsPFDAQEFAAAAAAAAAABelIAAXwIARsMBASIAQAA +KAAAABwAAACIofz/PQAAAABBDgiFAkINBUGDA1UKxcMMBARHC1zDxQwEBAAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAAPLr8/4QAAAAECnBI +AEEOCIUCQg0FQ4cDhgSDBQJTCsNBxkHHQcUMBARDCwAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAASLf8/9IAAAAEHnBIAEEOCIUCQg0FQYcD +RIYEgwUClQrDQcZBx0HFDAQEQQscAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAAEAAAAAkAAAA1Lf8/9YAAAAEOHBIAEEOCIUCQg0FQ4cDhgSDBQKHCsNBxkHH +QcUMBARDC1gKw0HGQcdBxQwEBEMLAAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAA +GwwEBIgBAABAAAAAJAAAADC0/P8mAQAABE9wSABBDgiFAkINBUOHA4YEgwUCywrD +QcZBx0HFDAQEQwtYCsNBxkHHQcUMBARDCwAAABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAQAAAACQAAADst/z/2AAAAARpcEgAQQ4IhQJCDQVDhwOGBIMF +AokKw0HGQcdBxQwEBEMLWArDQcZBx0HFDAQEQwsAAAAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAAmLT8/y8BAAAEgHBIAEEOCIUCQg0FQ4cD +hgSDBQLNCsNBxkHHQcUMBARKC1gKw0HGQcdBxQwEBEMLAAAAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAAAsAAAAJAAAAFS5/P9VAAAABJpwSABBDgiGAkEO +DIMDRQ4QAkkODEHDDghBxg4EAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAGzL+f8EAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +gLL8/wgAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAAky/n/ +CAAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAoAAAAHAAAAAix/P9iAAAA +AEEOCIUCQg0FQYMDfgrFwwwEBEMLWsPFDAQEABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACgAAAAcAAAANLH8/2QAAAAAQQ4IhQJCDQVBgwMCQArFwwwEBEMLWsPFDAQE +FAAAAAAAAAABelIAAXwIARsMBASIAQAAKAAAABwAAABgsfz/PQAAAABBDgiFAkIN +BUGDA1UKxcMMBARHC1zDxQwEBAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAADAAAAAkAAAANEj8/+sAAAAEnnBIAEEOCIUCQg0FQ4cDhgSDBQKZCsNBxkHH +QcUMBARDCwAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAA +QET8/xsBAAAEvHBIAEEOCIUCQg0FQ4cDhgSDBQLECsNBxkHHQcUMBARBCwAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAADEX8/zoBAAAE3HBI +AEEOCIUCQg0FQ4cDhgSDBQLKCsNBxkHHQcUMBARDC1gKw0HGQcdBxQwEBEMLAAAA +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAABAAAAAJAAAAKhA/P9sAQAA +BPpwSABBDgiFAkINBUOHA4YEgwUC9QrDQcZBx0HFDAQEQwtYCsNBxkHHQcUMBARD +CwAAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAAQAAAACQAAACERfz/ +PAEAAAQacUgAQQ4IhQJCDQVDhwOGBIMFAswKw0HGQcdBxQwEBEMLWArDQcZBx0HF +DAQEQwsAAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAA +UEH8/24BAAAEOHFIAEEOCIUCQg0FQ4cDhgSDBQL3CsNBxkHHQcUMBARDC1gKw0HG +QcdBxQwEBEMLAAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAsAAAA +JAAAAMxH/P+GAAAABFhxSABBDgiGAkEODIMDRQ4QAnoODEHDDghBxg4EAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAANTG+f8EAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA+D78/wgAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAACMxvn/CAAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAoAAAAHAAAAJA9/P9fAAAAAEEOCIUCQg0FQYMDewrFwwwEBEMLWsPF +DAQEABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACgAAAAcAAAArD38/2EAAAAAQQ4I +hQJCDQVBgwN9CsXDDAQEQwtaw8UMBAQAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +KAAAABwAAADYPfz/PQAAAABBDgiFAkINBUGDA1UKxcMMBARHC1zDxQwEBAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAABS9/P8DAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAyL38/wUAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAABMv/z/GQAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAUAAAAHAAAAEC//P8fAAAAAEMOGFkOBAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAAEC8/P8DAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAA5L/8/wMAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAAD4v/z/BgAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAA +HAAAAGy8/P8oAAAAAEEOCIMCRQ4QWQoOCEHDDgRBCwAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAADC//P8IAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAAlL78/wgAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAADYwfz/AwAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAIzC/P8FAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +EMT8/xkAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAFAAAABwAAAAExPz/ +HwAAAABDDhhZDgQAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAAEwfz/ +AwAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAKjE/P8DAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAzMT8/wYAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAAwxPz/CAAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAJTD/P8IAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAADwAAAAcAAAAGLv8/4MAAAAAQQ4IhQJBDgyHA0EOEIYE +QQ4UgwVDDjACawoOFEPDDhBBxg4MQccOCEHFDgRDCwAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAsAAAAHAAAAFC7/P+JAAAAAEEOCIUCQg0FRocDhgSDBQJyCsNBxkHH +QcUMBARDCwAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAEi+/P8OAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAvMT8/w4AAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAHAAAABwAAADAvfz/IgAAAABBDgiDAkUO +IFoOCEHDDgQUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAcAAAAHAAAACjE/P8iAAAA +AEEOCIMCRQ4gWg4IQcMOBBQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAADwAAAAcAAAA +QMD8/4wAAAAAQQ4IhQJBDgyHA0EOEIYEQQ4UgwVDDjACdAoOFEPDDhBBxg4MQccO +CEHFDgRDCwAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAsAAAAHAAAAHjA/P+QAAAA +AEEOCIUCQg0FRocDhgSDBQJ5CsNBxkHHQcUMBARDCwAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAcAAAAHAAAANC+/P8pAAAAAEEOCIMCRQ4QXw4IQ8MOBBQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAuLz8/w4AAAAAAAAAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAAAwAAAAJAAAAHS6/P9ZAAAABFxxSABBDgiFAkIN +BUOHA4YEgwV8CsNBxkHHQcUMBARDCwAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +IAAAABwAAAAYwfn/IwAAAABBDgiFAkINBUGDA1zFwwwEBAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAIAAAABwAAABcuvz/CwAAAABDDgiFAkINBUTFDAQEQhMBAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAKAAAABwAAABQtfz/QwAAAABBDgiFAkIN +BUOHA4YEgwV3w0HGQcdBxQwEBAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAoAAAA +HAAAAFy1/P9cAAAAAEEOCIUCQg0FQ4cDhgSDBQJQw0HGQcdBxQwEBBQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAeLj8/wcAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAADMuPz/FwAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAoAAAAHAAAAJC2/P9GAAAAAEEOCIMCRQ4QWgoOCEHDDgRBC2EOCEHD +DgQAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAHLb8/xkAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAABQtfz/EwAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAES1/P8LAAAAAEMOCIUCQg0FRMUM +BARCEwEAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAoAAAAHAAAAIi4/P8vAAAA +AEcOCIUCQg0FVgrFDAQEQg4AQAtLxQwEBAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABwAAAAcAAAAVLf8/ygAAAAAVA4IhQJCDQVRxQwEBAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAKAAAABwAAACctPz/KQAAAABHDgiFAkINBU8KxQwEBEMLTMUM +BARCDgAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAIi0/P8LAAAA +AEMOCIUCQg0FRMUMBARCEwEAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAIy4/P84AAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +4Lf8/zgAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAABUvfn/ +BAAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAAi9+f8EAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAADL35/wQAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAADgsvz/CgAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAGSy/P8YAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAqLz5/wQAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAAA8vPn/BAAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAAEC8+f8EAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAAJLL8/woAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAACosfz/FAAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAPyy/P8XAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +ELH8/woAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAD0sPz/ +CgAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAALi1/P9AAAAA +AEEOCIUCRQ0FdcUMBARFDgAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAA +HAAAAPy0/P9AAAAAAEEOCIUCRQ0FdcUMBARFDgAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAABC2/P8FAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABQAAAAcAAAAlHz9/yMAAAAAQw4wXw4EABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAARLz8/w4AAAAAAAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAA +GwwEBIgBAAAwAAAAJAAAAPC5/P9ZAAAABGhxSABBDgiFAkINBUOHA4YEgwV8CsNB +xkHHQcUMBARDCwAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAACUuvn/ +IwAAAABBDgiFAkINBUGDA1zFwwwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +IAAAABwAAADYufz/CwAAAABDDgiFAkINBUTFDAQEQhMBAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAKAAAABwAAADMtPz/QwAAAABBDgiFAkINBUOHA4YEgwV3w0HG +QcdBxQwEBAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAoAAAAHAAAANi0/P9cAAAA +AEEOCIUCQg0FQ4cDhgSDBQJQw0HGQcdBxQwEBBQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAA9Lf8/wcAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAABIuPz/FwAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAsAAAA +HAAAAAy2/P9GAAAAAEEOCIMCRQ4QZQoOCEHDDgRBC1EKDghBww4EQgsAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAJS1/P8ZAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAyLT8/xMAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAIAAAABwAAAC8tPz/CwAAAABDDgiFAkINBUTFDAQEQhMBAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAALAAAABwAAAAAuPz/PQAAAABHDgiFAkIN +BUGDA10KxcMMBARCDgBHC0rFwwwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +HAAAABwAAADItvz/KAAAAABUDgiFAkINBVHFDAQEAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAoAAAAHAAAABC0/P8pAAAAAEcOCIUCQg0FTwrFDAQEQwtMxQwEBEIO +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAA/LP8/wsAAAAAQw4I +hQJCDQVExQwEBEITAQAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +ELj8/zgAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAABkt/z/ +OAAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAMi2+f8EAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAfLb5/wQAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAACAtvn/BAAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAFSy/P8MAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA2LH8/xgAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAAActvn/BAAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAALC1+f8EAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAAtLX5/wQAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAACYsfz/DAAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAByx/P8UAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +cLL8/xcAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAACEsPz/ +DAAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAGiw/P8MAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAAPLX8/0AAAAAAQQ4I +hQJFDQV1xQwEBEUOAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAA +gLT8/0AAAAAAQQ4IhQJFDQV1xQwEBEUOAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAAlLX8/wUAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +FAAAABwAAACodf3/IwAAAABDDjBfDgQAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAABIWf3/CwAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAOxf/f8LAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAA +0Fj9/x4AAAAAQQ4IgwJFDiBWDghBww4EFAAAAAAAAAABelIAAXwIARsMBASIAQAA +HAAAABwAAABoX/3/HgAAAABBDgiDAkUOIFYOCEHDDgQUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAAKDW+v8KAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAAhNb6/wgAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAAA41vr/BAAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAYAAAA +HAAAAMxS/f8xAAAAAEMOIFYKDgRHCwAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +IAAAABwAAAAIVv3/EgAAAABBDgiFAkINBUrFDAQERQ4AAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAGAAAABwAAADsUP3/GgAAAABDDhBPCg4EQwsAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAiNT6/wkAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAADM0/r/CAAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAAMDT+v8IAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAAZNP6/wcAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAAAo0/r/BAAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAA +HAAAALxP/f8VAAAAAEEOCIUCQg0FTcUMBARFDgAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAAFBW/f8LAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAAxNL6/wQAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAADoT/3/DQAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAPzS+v8EAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAA +UFH9/ygAAAAAQQ4IhQJCDQVEgwNexcMMBAQAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAADQAAAAcAAAAJNL6/18AAAAAQQ4IhQJCDQVChgODBFMKw0HGQcUMBARGC1wK +w0HGQcUMBARCCwAAFAAAAAAAAAABelIAAXwIARsMBASIAQAANAAAABwAAAAUT/3/ +bAAAAABBDgiFAkINBUKGA4MEWQrDQcZBxQwEBEMLXwrDQcZBxQwEBEMLAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAA4AAAAHAAAAFTS+v9pAAAAAEEOCIUCQg0FRocD +hgSDBWAKw0HGQcdBxQwEBEQLagrDQcZBx0HFDAQEQwsUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAA4AAAAHAAAALDR+v9LAAAAAEEOCIUCQg0FQYYDRIMEWwrDQcZBxQwE +BEMLWgrDQcZBxQwEBEIOAAsAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAcAAAA +HAAAAJxT/f9HAAAAAEEOCIMCRQ4Qfw4IQcMOBBQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABwAAAAcAAAApFL9/0cAAAAAQQ4IgwJFDhB/DghBww4EFAAAAAAAAAABelIA +AXwIARsMBASIAQAALAAAABwAAAAcTf3/fwAAAABBDgiGAkMODIMDQw4gAlIKDgxB +ww4IQcYOBEMLAAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAwAAAA +JAAAAFxO/f+vAAAABHRxSABBDgiFAkINBUGHA0eGBIMFAoEKw0HGQcdBxQwEBEML +FAAAAAAAAAABelIAAXwIARsMBASIAQAAJAAAABwAAACATf3/TgAAAABBDgiFAkIN +BUKGA4MEAkTDQcZBxQwEBBwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +LAAAACQAAADYUf3/cAAAAASHcUgAQQ4IhQJCDQVChgODBAJVCsNBxkHFDAQEQwsA +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAsAAAAJAAAAMhQ/f9wAAAA +BJNxSABBDgiFAkINBUKGA4MEAlUKw0HGQcUMBARDCwAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAsAAAAHAAAABBO/f9PAgAAAEEOCIUCQg0FQ4cDhgSDBQNgAQrDQcZB +x0HFDAQERwsUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAADjR+v8KAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAHNH6/wgAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAADQ0Pr/BAAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAYAAAAHAAAAPRS/f8xAAAAAEMOIFYKDgRHCwAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAAAQVv3/EgAAAABBDgiFAkIN +BUrFDAQERQ4AAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAGAAAABwAAAAkUf3/ +GgAAAABDDhBPCg4EQwsAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +gM/6/wkAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAADkzvr/ +CAAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAANjO+v8IAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAfM76/wcAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAABAzvr/BAAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAPRP/f8VAAAAAEEOCIUCQg0FTcUM +BARFDgAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAHhW/f8LAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA3M36/wQAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAAgUP3/DQAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAPTN+v8EAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACAAAAAcAAAAeFH9/ygAAAAAQQ4IhQJCDQVEgwNexcMM +BAQAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACwAAAAcAAAAPM36/0AAAAAAQQ4I +hQJCDQVBgwNTCsXDDAQEQQtiCsPFDAQEQQsAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAADQAAAAcAAAAVE/9/1QAAAAAQQ4IhQJCDQVChgODBFoKw0HGQcUMBARDC2YK +w0HGQcUMBARDCwAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAJAAAABwAAAA0zfr/ +MAAAAABBDgiFAkINBUSDA2IKxcMMBARCEwELABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACAAAAAcAAAAxMz6/yMAAAAAQQ4IhQJCDQVZCsUMBARCDgALABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACAAAAAcAAAA+FP9/0kAAAAAQQ4IgwJFDhACQQ4IQcMO +BAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAA7FL9/0kAAAAAQQ4I +gwJFDhACQQ4IQcMOBAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACwAAAAcAAAA +gE39/38AAAAAQQ4IhgJDDgyDA0MOIAJSCg4MQcMOCEHGDgRDCwAAABwAAAAAAAAA +AXpQTFIAAXwIBwCQN0gAABsMBASIAQAAMAAAACQAAACwTv3/rwAAAASfcUgAQQ4I +hQJCDQVBhwNHhgSDBQKBCsNBxkHHQcUMBARDCxQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACQAAAAcAAAA1E39/1AAAAAAQQ4IhQJCDQVChgODBAJGw0HGQcUMBAQcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAACwAAAAkAAAAHFL9/3IAAAAEsnFI +AEEOCIUCQg0FQoYDgwQCVwrDQcZBxQwEBEMLABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAALAAAACQAAAD8UP3/cgAAAAS+cUgAQQ4IhQJCDQVChgODBAJX +CsNBxkHFDAQEQwsAFAAAAAAAAAABelIAAXwIARsMBASIAQAALAAAABwAAABkTv3/ +LwIAAABBDgiFAkINBUOHA4YEgwUDXwEKw0HGQcdBxQwEBEgLFAAAAAAAAAABelIA +AXwIARsMBASIAQAAKAAAABwAAACMOPn/QAAAAABBDgiHAkMODIYDQw4QgwR2ww4M +QcYOCEHHDgQsAAAASAAAACA5+f9UAAAAAEEOCIUCQg0FQYcDQ4YEQ4MFAkbDQcZB +x0HFDAQEAABQAAAAeAAAAEA7+f/eAAAAAEEOCIUCQQ4MhwNBDhCGBEMOFIMFRQ5A +AkoKDhRBww4QQcYODEHHDghBxQ4ERwsCeQ4UQcMOEEHGDgxBxw4IQcUOBAAsAAAA +zAAAABw4+f90AAAAAEEOCIYCQw4MgwNDDjACQAoODEHDDghBxg4ERwsAAABQAAAA +/AAAAJw5+f9jAAAAAEEOCIUCQw4MhwNDDhCGBEEOFIMFQw4wAkkKDhRBww4QQcYO +DEHHDghBxQ4EQQtDDhRDww4QQcYODEHHDghBxQ4EAAAoAAAAUAEAALg5+f9cAAAA +AEMOIGQKDgRBC0UKDgRDC1sKDgRFC0sOBAAAADwAAAB8AQAATDj5/80AAAAAQQ4I +hQJDDgyHA0EOEIYEQw4UgwVFDjACogoOFEHDDhBBxg4MQccOCEHFDgRBCwAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAAFgAAAAkAAAA7Lb9/5QEAAAEzHFI +AEEOCIUCRg4MhwNBDhCGBEEOFIMFQw5wYgoOFEHDDhBBxg4MQccOCEHFDgRBCwLF +Cg4URsMOEEHGDgxBxw4IQcUOBEELAAAAKAAAAIAAAACgr/3/zAAAAATkcUgAQQ4I +hQJBDgyHA0EOEIYEQQ4UgwVDDlAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAACzJ/f8QAAAAAAAAABQAAAAwAAAAKMn9/y8AAAAAYw4gSw4EADwAAABIAAAA +MI37/2oAAAAAQQ4IhQJBDgyHA0MOEIYEQQ4UgwVFDjACQgoOFEHDDhBBxg4MQccO +CEHFDgRBCwAsAAAAiAAAAHCW+//RAAAAAEEOCIUCQg0FQYcDR4YEgwUCWQrDQcZB +x0HFDAQESQssAAAAuAAAAMCY+/+gAAAAAEEOCIUCQg0FQYcDR4YEgwUCXwrDQcZB +x0HFDAQEQwsUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAJiE+f8DAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAvIf5/wYAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAAAiPn/AwAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAADSf+/8JAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAGIf5/wYAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAABMivn/AwAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAAGCH+f8GAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABgAAAAcAAAAlIn5/yAAAAAAQw4gTgoOBEMLAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAYAAAAHAAAANB/+f8pAAAAAEMOIFcKDgRDCwAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAABMifn/FQAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAYAAAAHAAAAEB9+f8cAAAAAEEOCIMCWMMOBAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAACMnfv/KAAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAAMCd+/8oAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAA5KL7/ygAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAAC4jPv/KgAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAFyM+/8qAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +wIz7/yoAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAABkjPv/ +KgAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAKiI+/8JAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAnIv7/wYAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAAgqfv/BwAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAPSl+/8HAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAGKf7/wkAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAADso/v/CQAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAABCm+/8RAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAA5KL7/xEAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAADYqPv/FAAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAIyo+/8UAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAA +oKj7/zAAAAAAQQ4IgwJjCsMOBEMLAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAAA4gfn/AwAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAIx++f8GAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +gIL5/xAAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAACUgPn/ +DQAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAAiC+f8DAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAHH75/wYAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAACQhPn/EAAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAACSA+f8NAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAyH/5/wYAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAABshPn/BgAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAADCE+f8GAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAAhH/5/wsAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAAAIhPn/CQAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAYAAAA +HAAAAEx8+f8iAAAAAEMOIFAKDgRDCwAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAAAIf/n/AwAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAEx8+f8KAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAA +MJH7/zAAAAAAQQ4IgwJjCsMOBEMLAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +LAAAABwAAAAIfPn/YgAAAABBDgiDAkMOIHoKDghDww4EQwtMCg4IQ8MOBEMLAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAHAAAABwAAACAi/v/LgAAAABDDgiDAl8K +ww4EQwsAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAMh9+f8DAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAXHj5/wUAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAPAAAABwAAADwe/n/twAAAABBDgiFAkYO +DIcDQQ4QhgRBDhSDBUMOQFkKDhRBww4QQcYODEHHDghBxQ4ERwsAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABwAAAAcAAAAWHz5/ygAAAAAQQ4IhQJCDQVixQwEBAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAJAAAABwAAAAge/n/NgAAAABBDgiFAkIN +BUGGA0aDBGfDQcZBxQwEBBQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAAEAAAAAcAAAA +EHz5/1QAAAAAQQ4IhwJBDgyGA0EOEIMESA4gVAoOEEPDDgxBxg4IQccOBEMLZQ4Q +Q8MODEHGDghBxw4EFAAAAAAAAAABelIAAXwIARsMBASIAQAAZAAAABwAAADEfPn/ +bwAAAABBDgiFAkYODIcDQQ4QhgRBDhSDBUMOMFQKDhRBww4QQcYODEHHDghBxQ4E +QwtwCg4UQ8MOEEHGDgxBxw4IQcUOBEMLQw4URsMOEEHGDgxBxw4IQcUOBAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAcAAAAHAAAALR8+f8oAAAAAEEOCIUCQg0FYsUM +BAQAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACQAAAAcAAAAzHv5/zYAAAAAQQ4I +hQJCDQVBhgNGgwRnw0HGQcUMBAQUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAA +HAAAAGx8+f85AAAAAEEOCIMCVArDDgRDC17DDgQAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAABQAAAAHAAAADB1+f9fAAAAAEEOCIUCRg4MhwNBDhCGBEEOFIMFQw4w +AkAKDhRBww4QQcYODEHHDghBxQ4EQwtDDhRDww4QQcYODEHHDghBxQ4EAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAcAAAAHAAAACR1+f8oAAAAAEEOCIUCQg0FYsUM +BAQAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACQAAAAcAAAATHT5/zYAAAAAQQ4I +hQJCDQVBhgNGgwRnw0HGQcUMBAQUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAA +HAAAANx0+f8QAAAAAEEOCIUCQg0FSMUMBARFEwEAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAABQAAAAHAAAAPBy+f9tAAAAAEEOCIUCQQ4MhwNBDhCGBEEOFIMFQw4w +VAoOFEbDDhBBxg4MQccOCEHFDgRDC30OFEPDDhBBxg4MQccOCEHFDgQAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAcAAAAHAAAAPRy+f8oAAAAAEEOCIUCQg0FYsUM +BAQAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACQAAAAcAAAADHL5/zYAAAAAQQ4I +hQJCDQVBhgNGgwRnw0HGQcUMBAQUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAA +HAAAAKxy+f85AAAAAEEOCIMCVArDDgRDC17DDgQAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAABQAAAAHAAAAEB1+f9fAAAAAEEOCIUCQQ4MhwNBDhCGBEEOFIMFQw4w +fwoOFEPDDhBBxg4MQccOCEHFDgREC0MOFEbDDhBBxg4MQccOCEHFDgQAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAcAAAAHAAAADR1+f8oAAAAAEEOCIUCQg0FYsUM +BAQAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACQAAAAcAAAAXHT5/zYAAAAAQQ4I +hQJCDQVBhgNGgwRnw0HGQcUMBAQUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAoAAAA +HAAAAOx0+f83AAAAAEEOCIcCQQ4MhgNBDhCDBG/DDgxBxg4IQccOBBQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAAGQAAAAcAAAA6HL5/3EAAAAAQQ4IhQJGDgyHA0EOEIYE +QQ4UgwVDDjBUCg4UQcMOEEHGDgxBxw4IQcUOBEMLcgoOFEPDDhBBxg4MQccOCEHF +DgRDC0MOFEbDDhBBxg4MQccOCEHFDgQAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +HAAAABwAAADocvn/KAAAAABBDgiFAkINBWLFDAQEAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAkAAAAHAAAAPBx+f82AAAAAEEOCIUCQg0FQYYDRoMEZ8NBxkHFDAQE +FAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAACgcvn/PQAAAABBDgiDAlQK +ww4EQwtiww4EAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAKAAAABwAAADUePn/ +OQAAAABBDgiGAkEODIMDQw4gbw4MQcMOCEHGDgQAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAA0AAAAHAAAAKB5+f9cAAAAAEEOCIcCQQ4MhgNBDhCDBEMOIAJECg4Q +QcMODEHGDghBxw4EQwsAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAADwAAAAcAAAA +sHn5/3MAAAAAQQ4IhQJBDgyHA0EOEIYEQQ4UgwVDDjACWQoOFEHDDhBBxg4MQccO +CEHFDgRDCwAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAA4AAAAHAAAAJh3+f9CAAAA +AEEOCIUCQQ4MhwNBDhCGBEEOFIMFQw4wdA4UQcMOEEHGDgxBxw4IQcUOBAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAA8AAAAHAAAANR3+f9nAAAAAEEOCIUCQQ4MhwNB +DhCGBEEOFIMFQw4wAk0KDhRBww4QQcYODEHHDghBxQ4EQwsAFAAAAAAAAAABelIA +AXwIARsMBASIAQAANAAAABwAAADsd/n/WwAAAABBDgiHAkEODIYDQQ4QgwRDDiAC +QwoOEEHDDgxBxg4IQccOBEMLAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAABx6+/8JAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +4Hn7/wkAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAADEf/v/ +BgAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAIhx+f8HAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAbHH5/wkAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAABQf/v/CAAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAADR/+/8IAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAGH/7/x8AAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAACsfvv/BAAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAgAAAAHAAAAKB/+/9zAAAAAEEOCIMCQw4gAmEKDghBww4EQQsUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAA8AAAAHAAAAMSR+/9yAQAAAEEOCIUCQQ4MhwND +DhCGBEEOFIMFQw5QArUKDhRBww4QQcYODEHHDghBxQ4EQwsAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAIAAAABwAAAAMePv/RgAAAABBDgiFAkINBUGDAwJBxcMMBAQA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAACQi/v/EgAAAAAAAAAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAACAAAAAkAAAArH/7/xsAAAAEAHJI +AEEOCIMCRQ4QUw4IQcMOBBwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +LAAAACQAAAAIf/v/KQAAAAQEckgAQQ4IhgJDDgyDA0MOEFsODEPDDghBxg4EAAAA +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAgAAAAJAAAAGh8+/8eAAAA +BAhySABBDgiDAkUOEFYOCEHDDgQUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAcAAAA +HAAAACyZ+/8jAAAAAEEOCIMCRQ4QWQ4IQcMOBBQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABwAAAAcAAAA9H/7/xsAAAAAQQ4IgwJFDhBTDghBww4EFAAAAAAAAAABelIA +AXwIARsMBASIAQAAKAAAABwAAADcffv/JwAAAABBDgiGAkEODIMDRQ4QWw4MQ8MO +CEHGDgQAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAoAAAAHAAAADh7+/82AAAA +AEEOCIYCQQ4MgwNFDiBcCg4MQ8MOCEHGDgRDCxwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAALAAAACQAAACMiPv/LAAAAAQMckgAQQ4IhgJDDgyDA0MOEGAO +DEHDDghBxg4EAAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAgAAAA +JAAAAKx9+/8oAAAABBBySABBDgiFAkINBWTFDAQEAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAoAAAAHAAAAEB++/9SAAAAAEEOCIUCQg0FQoYDgwR8CsNBxkHFDAQE +QwsAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACQAAAAcAAAAXH37/z4AAAAAQQ4I +hQJCDQVBhgNGgwRvw0HGQcUMBAQUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAwAAAA +HAAAAFx9+/9RAAAAAEEOCIUCQg0FRYYDgwROCsNBxkHFDAQESAtsw0HGQcUMBAQA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAPAAAABwAAABwePv/jAAAAABBDgiFAkIN +BUKHA4YERoMFAl0Kw0HGQcdBxQwEBEULSgrDQcZBx0HFDAQEQwsAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABwAAAAcAAAAWIP7/zEAAAAAQQ4IhQJCDQVrxQwEBAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAAAAlvv/OgAAAABBDgiFAkIN +BUGDA3PFwwwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAJAAAABwAAAAUhvv/ +RgAAAABBDgiFAkINBUSDA3AKxcMMBARDCwAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACQAAAAcAAAABIP7/0YAAAAAQQ4IhQJCDQVBhgNGgwR3w0HGQcUMBAQUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAsAAAAHAAAAFSL+/9LAAAAAEEOCIUCQg0FRocD +hgSDBW4Kw0HGQcdBxQwEBEUTAwsUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAkAAAA +HAAAAHyI+/8kAAAAAEEOCIUCQg0FR4MDVcXDDAQERRMDAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAHAAAABwAAACMgvv/MQAAAABBDgiFAkINBWvFDAQEAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAA4AAAAHAAAAPR2+/9lAAAAAEEOCIUCQg0FQocD +hgRGgwUCQArDQcZBx0HFDAQEQwtOw0HGQcdBxQwEBAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAA8AAAAHAAAAIB/+//qAAAAAEEOCIUCQg0FRocDhgSDBXoKw0HGQcdB +xQwEBEoLAkEKw0HGQcdBxQwEBEMLAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +IAAAABwAAACok/v/JwAAAABBDgiFAkINBUGDA2DFwwwEBAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAALAAAABwAAABcgPv/SwAAAABBDgiFAkINBUaHA4YEgwVwCsNB +xkHHQcUMBARDCwAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAJAAAABwAAAB0fvv/ +LwAAAABBDgiFAkINBUGGA0aDBGDDQcZBxQwEBBQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACAAAAAcAAAAJID7/wkAAAAAQQ4IhQJCDQVBxQwEBEUTAQAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACQAAAAcAAAAaJL7/y8AAAAAQQ4IhQJCDQVBhgNGgwRg +w0HGQcUMBAQUAAAAAAAAAAF6UgABfAgBGwwEBIgBAABMAAAAHAAAAOiA+/9wAQAA +AEEOCIUCQg0FQocDhgRGgwUCSwrDQcZBx0HFDAQERwsCTgrDQcZBx0HFDAQEQwto +CsNBxkHHQcUMBARDCwAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAA +kH/7/xEAAAAAQQ4IhQJCDQVJxQwEBEUTAgAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACwAAAAcAAAA5IH7/1IAAAAAQQ4IhQJCDQVGhwOGBIMFdwrDQcZBx0HFDAQE +QwsAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACQAAAAcAAAAvH/7/zYAAAAAQQ4I +hQJCDQVBhgNGgwRnw0HGQcUMBAQUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAcAAAA +HAAAACyB+/8oAAAAAEEOCIUCQg0FYsUMBAQAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACAAAAAcAAAABIj7/zsAAAAAQQ4IhQJCDQVrCsUMBARBCwAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAKG/7/x4AAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAKAAAABwAAAAMj/v/NQAAAABBDgiDAkUOEFYKDghBww4EQwtR +DghBww4EAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAoAAAAHAAAAMiL+/81AAAA +AEEOCIMCRQ4QVgoOCEHDDgRDC1EOCEHDDgQAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAAJHP7/x4AAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +FAAAABwAAACYc/v/GAAAAABODhBIDgQAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +FAAAABwAAABIc/v/EQAAAABDDiBLDgQAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +FAAAABwAAABYc/v/IAAAAABNDghPDgQAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +NAAAABwAAADoc/v/fAAAAABBDgiHAkEODIYDQQ4QgwRFDiACUgoOEEHDDgxBxg4I +QccOBEMLAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAoAAAAHAAAAJiF+/9mAAAA +AEEOCIUCQg0FQoYDgwQCQQrDQcZBxQwEBEgLABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAKAAAACQAAACMcPv/NQAAAAQUckgAUQ4IhQJCDQVTCsUMBARB +C0nFDAQEAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAsAAAAHAAAAFh3+/+HAAAA +AEEOCIUCQg0FQ4cDhgSDBQJbCsNBxkHHQcUMBARDCwAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAgAAAAHAAAABCP+/8JAAAAAEEOCIUCQg0FQcUMBARFDgAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAsAAAAHAAAAGR3+/+rAAAAAEEOCIUCQg0FRocD +hgSDBQJvCsNBxkHHQcUMBARFCwAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAA +HAAAAHx1+/8rAAAAAEEOCIUCQg0FQYMDZMXDDAQEAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAgAAAAHAAAAGCO+/8rAAAAAEEOCIUCQg0FQYMDZMXDDAQEAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAkAAAAHAAAAMR0+/81AAAAAEEOCIUCQg0FQoYD +gwRrw0HGQcUMBAQAFAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAAAUd/v/ +KwAAAABBDgiFAkINBUGDA2TFwwwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +JAAAABwAAABYjfv/NQAAAABBDgiFAkINBUKGA4MEa8NBxkHFDAQEABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACAAAAAcAAAAyHb7/y4AAAAAQQ4IhQJCDQVBgwNnxcMM +BAQAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAADgAAAAcAAAAXH37/24AAAAAQQ4I +hQJCDQVEgwNeCsXDDAQEQwtfCsPFDAQESQtNCsXDDAQERRMBCwAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABwAAAAcAAAA6Hz7/yAAAAAAQQ4IhQJCDQVaxQwEBAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAALAAAABwAAACghPv/XAAAAABBDgiFAkIN +BUOHA4YEgwUCQArDQcZBx0HFDAQEQwsAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +LAAAABwAAACIjPv/XgAAAABBDgiFAkINBUOHA4YEgwUCQgrDQcZBx0HFDAQEQwsA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAKAAAABwAAABwb/v/QAAAAABBDgiFAkIN +BVkKxQwEBEQLSwrFDAQERRMBCwAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAA0AAAA +HAAAAOyH+/9bAAAAAEEOCIUCQg0FQYYDRoMEXwrDQcZBxQwEBEULXArDQcZBxQwE +BEMLABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAADQAAAAcAAAAnIT7/1sAAAAAQQ4I +hQJCDQVBhgNGgwRfCsNBxkHFDAQERQtcCsNBxkHFDAQEQwsAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAKAAAABwAAACsdvv/dgAAAABBDgiFAkINBUKGA4MEdwrDQcZB +xQwEBEMLAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAOiJ+/8JAAAA +AEEOCIUCQg0FQcUMBARFDgAAAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAADAAAAAkAAAAtHD9/4EAAAAEKHJIAEEOCIUCQg0FRocDhgSDBQJYCsNBxkHH +QcUMBARBCwAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAA +cHH9/3oAAAAENHJIAEEOCIUCQg0FRocDhgSDBQJRCsNBxkHHQcUMBARBCwAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAACwAAAAkAAAAnHD9/34AAAAEQHJI +AEEOCIUCQg0FRYYDgwR0CsNBxkHFDAQEQgsAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAAFQAAAAcAAAAtGf7/4gAAAAAQQ4IhQJBDgyHA0EOEIYEQQ4UgwVDDjACTQoO +FEPDDhBBxg4MQccOCEHFDgRGC0sKDhRGww4QQ8YODEHHDghBxQ4EQQsAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAcAAAAHAAAABSH+/8wAAAAAEEOCIMCRQ4gZg4I +QcMOBBQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAA3IP7/zAAAAAAQQ4I +gwJFDiBmDghBww4EFAAAAAAAAAABelIAAXwIARsMBASIAQAAVAAAABwAAAAkaPv/ +wAAAAABBDgiFAkEODIcDQQ4QhgRBDhSDBUMOMAJLCg4UQ8MOEEHGDgxBxw4IQcUO +BEELfAoOFEbDDhBDxg4MQccOCEHFDgRBCwAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAADwAAAAcAAAA5IT7/18AAAAAQQ4IhQJBDgyHA0EOEIYEQQ4UgwVDDkACRQoO +FEHDDhBBxg4MQccOCEHFDgRDCwAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAA8AAAA +HAAAAIyB+/9fAAAAAEEOCIUCQQ4MhwNBDhCGBEEOFIMFQw5AAkUKDhRBww4QQcYO +DEHHDghBxQ4EQwsAFAAAAAAAAAABelIAAXwIARsMBASIAQAAKAAAABwAAADUYPn/ +RAAAAABBDgiFAkINBUWGA4MEawrDQcZBxQwEBEMLAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAA8AAAAHAAAAFCE+/9fAAAAAEEOCIUCQQ4MhwNBDhCGBEEOFIMFQw4w +AkUKDhRBww4QQcYODEHHDghBxQ4EQwsAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +PAAAABwAAAD4gPv/XwAAAABBDgiFAkEODIcDQQ4QhgRBDhSDBUMOMAJFCg4UQcMO +EEHGDgxBxw4IQcUOBEMLABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAA +8IT7/zAAAAAAQQ4IgwJFDiBmDghBww4EFAAAAAAAAAABelIAAXwIARsMBASIAQAA +HAAAABwAAAC4gfv/MAAAAABBDgiDAkUOIGYOCEHDDgQUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAABUAAAAHAAAAOBk+//AAAAAAEEOCIUCQQ4MhwNBDhCGBEEOFIMFQw4w +AksKDhRDww4QQcYODEHHDghBxQ4EQQt8Cg4URsMOEEPGDgxBxw4IQcUOBEELAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAHAAAABwAAACwgfv/MgAAAABBDgiDAkUO +IGgOCEHDDgQUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAcAAAAHAAAAHh++/8yAAAA +AEEOCIMCRQ4gaA4IQcMOBBwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +UAAAACQAAACYePv/hQEAAARMckgAQQ4IhQJCDQVChwOGBEaDBQJXCsNBxkHHQcUM +BARDCwJPCsNBxkHHQcUMBARGC28Kw0HGQcdBxQwEBEMLAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAHAAAABwAAAC8efv/LwAAAABBDgiFAkINBWnFDAQEAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAsAAAAHAAAALR5+/9ZAAAAAEEOCIUCQg0FRocD +hgSDBX4Kw0HGQcdBxQwEBEMLAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAkAAAA +HAAAAGx3+/89AAAAAEEOCIUCQg0FQYYDRoMEbsNBxkHFDAQEFAAAAAAAAAABelIA +AXwIARsMBASIAQAAJAAAABwAAAAcdvv/HQAAAABBDgiFAkINBUeDA07FwwwEBEUT +AwAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACQAAAAcAAAA/HX7/zoAAAAAQQ4I +hQJCDQVFhgODBG3DQcZBxQwEBAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAoAAAA +HAAAABx1+/9DAAAAAEEOCIUCQg0FQYcDR4YEgwVyw0HGQcdBxQwEBBQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACQAAAAcAAAAuHX7/yMAAAAAQQ4IhQJCDQVHgwNUxcMM +BARFEwMAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAkAAAAHAAAAOh0+/8jAAAA +AEEOCIUCQg0FR4MDVMXDDAQERRMDAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +JAAAABwAAACYdfv/HQAAAABBDgiFAkINBUeDA07FwwwEBEUTAwAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACQAAAAcAAAAKHX7/yMAAAAAQQ4IhQJCDQVHgwNUxcMM +BARFEwMAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAkAAAAHAAAAKhz+/8jAAAA +AEEOCIUCQg0FR4MDVMXDDAQERRMDAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +KAAAABwAAAC4ffv/QQAAAABBDgiGAkYODIMDRQ4gcA4MQcMOCEHGDgQAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAoAAAAHAAAAHR6+/9BAAAAAEEOCIYCRg4MgwNF +DiBwDgxBww4IQcYOBAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAA +8H77/zIAAAAAQQ4IgwJFDiBoDghBww4EFAAAAAAAAAABelIAAXwIARsMBASIAQAA +HAAAABwAAAC4e/v/MgAAAABBDgiDAkUOIGgOCEHDDgQUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAcAAAAHAAAAEB/+/8wAAAAAEEOCIMCRQ4gZg4IQcMOBBQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABwAAAAcAAAACHz7/zAAAAAAQQ4IgwJFDiBmDghBww4E +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAACwMPn/EAAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAGQw+f8QAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAGJr9/xcAAAAAAAAAEAAAADAAAAAcmv3/ +EAAAAAAAAAAUAAAARAAAABia/f8vAAAAAGMOIEsOBAAsAAAAXAAAANjs+v97AAAA +AEEOCIUCQg0FQYcDRIYEgwUCTgrDQcZBx0HFDAQERwswAAAAjAAAAJj2+v/TAAAA +AEEOCIUCQg0FQYcDRoYERoMFAlgKw0HGQcdBxQwEBEULAAAAMAAAAMAAAAAE+fr/ +nwAAAABBDgiFAkINBUGHA0aGBEaDBQJfCsNBxkHHQcUMBARDCwAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAyEj5/wMAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAADMS/n/BgAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAACBM+f8DAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAAhP/6/wkAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAAAoS/n/BgAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAHxO+f8DAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +gEv5/wkAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAGAAAABwAAADETfn/ +IAAAAABDDiBOCg4EQwsAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABgAAAAcAAAA +AET5/ykAAAAAQw4gVwoOBEMLAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAHxN+f8VAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABgAAAAcAAAA +UEH5/x8AAAAAQQ4IgwJbww4EAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAANz9+v8pAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +EP76/ykAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAACkA/v/ +KQAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAJjs+v8tAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAPOz6/y0AAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAACg7Pr/LQAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAETs+v8tAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAWOj6/wkAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAAB86/r/BgAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAABAK+/8HAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAAxAb7/wcAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAADoB/v/CQAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAJwE+/8JAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +4Ab7/xEAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAACUA/v/ +EQAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAMgJ+/8UAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAfAn7/xQAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAHAAAABwAAACQCfv/MAAAAABBDgiDAmMK +ww4EQwsAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAEhF+f8DAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAvEL5/wkAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAACQRvn/EwAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAKRE+f8NAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAGEb5/wMAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAABMQvn/CQAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAALBI+f8TAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAANET5/w0AAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAADYQ/n/BgAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAJxI+f8GAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +YEj5/wYAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAACUQ/n/ +CwAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAADhI+f8MAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABgAAAAcAAAAfED5/yMAAAAAQw4g +UQoOBEMLAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAABhD+f8DAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAfED5/woAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAHAAAABwAAABw8fr/MAAAAABBDgiDAmMK +ww4EQwsAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAsAAAAHAAAADhA+f9kAAAA +AEEOCIMCQw4gewoOCEPDDgRDC00KDghDww4EQwsAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAcAAAAHAAAAJDr+v8uAAAAAEMOCIMCXwrDDgRDCwAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA2EH5/wMAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAACMPPn/BQAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAABQAAAAHAAAACBA+f+uAAAAAEEOCIUCQQ4MhwNBDhCGBEEOFIMFQw5A +YgoOFEHDDhBBxg4MQccOCEHFDgRDC0cKDhRGww4QQcYODEHHDghBxQ4EQwsUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAcAAAAHAAAAGRA+f8oAAAAAEEOCIUCQg0FYsUM +BAQAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACQAAAAcAAAAPD/5/zYAAAAAQQ4I +hQJCDQVBhgNGgwRnw0HGQcUMBAQUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAA0AAAA +HAAAABxA+f9LAAAAAEEOCIYCQQ4MgwNDDiBUCg4MRsMOCEHGDgRDC2EODEPDDghB +xg4EABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAAFAAAAAcAAAAzED5/2MAAAAAQQ4I +hQJBDgyHA0EOEIYEQQ4UgwVDDjBUCg4URsMOEEHGDgxBxw4IQcUOBEMLcw4UQ8MO +EEHGDgxBxw4IQcUOBAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAA +0ED5/ygAAAAAQQ4IhQJCDQVixQwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +JAAAABwAAADoP/n/NgAAAABBDgiFAkINBUGGA0aDBGfDQcZBxQwEBBQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACAAAAAcAAAAiED5/zsAAAAAQQ4IgwJUCsMOBEMLYMMO +BAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAAFAAAAAcAAAAXDn5/2QAAAAAQQ4I +hQJBDgyHA0EOEIYEQQ4UgwVDDjACRQoOFEbDDhBBxg4MQccOCEHFDgRDC0MOFEPD +DhBBxg4MQccOCEHFDgQAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAA +YDn5/ygAAAAAQQ4IhQJCDQVixQwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +JAAAABwAAAB4OPn/NgAAAABBDgiFAkINBUGGA0aDBGfDQcZBxQwEBBQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACAAAAAcAAAAGDn5/xAAAAAAQQ4IhQJCDQVIxQwEBEUT +AQAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAAFAAAAAcAAAADDf5/3QAAAAAQQ4I +hQJBDgyHA0MOEIYEQQ4UgwVDDjBQCg4URsMOEEHGDgxBxw4IQcUOBEMLAkYOFEPD +DhBBxg4MQccOCEHFDgQAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAA +IDf5/ygAAAAAQQ4IhQJCDQVixQwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +JAAAABwAAAAoNvn/NgAAAABBDgiFAkINBUGGA0aDBGfDQcZBxQwEBBQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACAAAAAcAAAA2Db5/zsAAAAAQQ4IgwJUCsMOBEMLYMMO +BAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAAFAAAAAcAAAAbDn5/2QAAAAAQQ4I +hQJBDgyHA0EOEIYEQw4UgwVDDjACQwoOFEPDDhBBxg4MQccOCEHFDgRDC0MOFEbD +DhBBxg4MQccOCEHFDgQAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAA +cDn5/ygAAAAAQQ4IhQJCDQVixQwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +JAAAABwAAACIOPn/NgAAAABBDgiFAkINBUGGA0aDBGfDQcZBxQwEBBQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACAAAAAcAAAAKDn5/zcAAAAAQQ4IhgJBDgyDA3HDDghB +xg4EABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAAFAAAAAcAAAALDf5/2wAAAAAQQ4I +hQJBDgyHA0EOEIYEQw4UgwVDDjBQCg4URsMOEEHGDgxBxw4IQcUOBEMLfg4UQ8MO +EEHGDgxBxw4IQcUOBAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAA +MDf5/ygAAAAAQQ4IhQJCDQVixQwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +JAAAABwAAABINvn/NgAAAABBDgiFAkINBUGGA0aDBGfDQcZBxQwEBBQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACAAAAAcAAAA6Db5/z4AAAAAQQ4IgwJUCsMOBEMLY8MO +BAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACgAAAAcAAAAHD35/zkAAAAAQQ4I +hgJBDgyDA0MOIG8ODEHDDghBxg4EAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +NAAAABwAAADoPfn/XQAAAABBDgiHAkEODIYDQQ4QgwRDDiACRQoOEEHDDgxBxg4I +QccOBEMLAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAA8AAAAHAAAAPg9+f91AAAA +AEEOCIUCQQ4MhwNBDhCGBEEOFIMFQw4wAlsKDhRBww4QQcYODEHHDghBxQ4EQwsA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAOAAAABwAAADgO/n/RwAAAABBDgiFAkMO +DIcDQQ4QhgRBDhSDBUMOMHcOFEHDDhBBxg4MQccOCEHFDgQAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAPAAAABwAAAAcPPn/bQAAAABBDgiFAkMODIcDQQ4QhgRBDhSD +BUMOMAJRCg4UQcMOEEHGDgxBxw4IQcUOBEMLABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAADQAAAAcAAAANDz5/1wAAAAAQQ4IhwJBDgyGA0EOEIMEQw4gAkQKDhBBww4M +QcYOCEHHDgRDCwAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAD02fr/ +CQAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAALjZ+v8JAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA3N/6/wYAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAADgNfn/BwAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAMQ1+f8JAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAaN/6/wgAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAABM3/r/CAAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAoAAAAHAAAADDf+v8VAAAAAEEOCIUCSA0FQwrFDAQEQwtBxQwEBEUO +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAArN76/wQAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAACw3/r/gQAAAABBDgiDAkMO +IAJqCg4IQcMOBEELFAAAAAAAAAABelIAAXwIARsMBASIAQAALAAAABwAAACU8vr/ +YgEAAABBDgiFAkINBUKHA4YERoMFArEKw0HGQcdBxQwEBEMLFAAAAAAAAAABelIA +AXwIARsMBASIAQAAIAAAABwAAADc1/r/RgAAAABBDgiFAkINBUGDAwJBxcMMBAQA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAAA7Pr/EgAAAAAAAAAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAACAAAAAkAAAA3N/6/xsAAAAEYHJI +AEEOCIMCRQ4QUw4IQcMOBBwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +LAAAACQAAAA43/r/KQAAAARkckgAQQ4IhgJDDgyDA0MOEFsODEPDDghBxg4EAAAA +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAgAAAAJAAAAGjc+v8hAAAA +BGhySABBDgiDAkUOEFYOCEHDDgQUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAcAAAA +HAAAADz6+v8mAAAAAEEOCIMCRQ4QWQ4IQcMOBBQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABwAAAAcAAAANOD6/xsAAAAAQQ4IgwJFDhBTDghBww4EFAAAAAAAAAABelIA +AXwIARsMBASIAQAAKAAAABwAAAAM3vr/KAAAAABBDgiGAkEODIMDRQ4QWw4MRMMO +CEHGDgQAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAoAAAAHAAAADjb+v83AAAA +AEEOCIYCQQ4MgwNFDiBcCg4MRMMOCEHGDgRDCxwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAALAAAACQAAAD86Pr/LwAAAARsckgAQQ4IhgJDDgyDA0MOEGEO +DEPDDghBxg4EAAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAgAAAA +JAAAANzd+v8oAAAABHBySABBDgiFAkINBWTFDAQEAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAoAAAAHAAAAIDe+v9SAAAAAEEOCIUCQg0FQoYDgwR8CsNBxkHFDAQE +QwsAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACQAAAAcAAAAjN36/0EAAAAAQQ4I +hQJCDQVBhgNGgwRyw0HGQcUMBAQUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAwAAAA +HAAAAJzd+v9UAAAAAEEOCIUCQg0FRYYDgwRQCsNBxkHFDAQERgtvw0HGQcUMBAQA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAPAAAABwAAABw2Pr/iwAAAABBDgiFAkIN +BUKHA4YERoMFAl4Kw0HGQcdBxQwEBEQLSQrDQcZBx0HFDAQEQwsAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABwAAAAcAAAAqOP6/zEAAAAAQQ4IhQJCDQVrxQwEBAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAAAQ9/r/OgAAAABBDgiFAkIN +BUGDA3PFwwwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAJAAAABwAAACE5vr/ +RgAAAABBDgiFAkINBUSDA3AKxcMMBARDCwAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACQAAAAcAAAAlOP6/0kAAAAAQQ4IhQJCDQVBhgNGgwR6w0HGQcUMBAQUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAsAAAAHAAAADTs+v9LAAAAAEEOCIUCQg0FRocD +hgSDBW4Kw0HGQcdBxQwEBEUTAwsUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAkAAAA +HAAAAEzp+v8qAAAAAEEOCIUCQg0FR4MDW8XDDAQERRMDAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAHAAAABwAAACM4vr/MwAAAABBDgiFAkINBW3FDAQEAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAA4AAAAHAAAAPTW+v9pAAAAAEEOCIUCQg0FQocD +hgRGgwUCQwrDQcZBx0HFDAQEQwtPw0HGQcdBxQwEBAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAA8AAAAHAAAAODf+v/XAAAAAEEOCIUCQg0FQocDhgRGgwV8CsNBxkHH +QcUMBARGCwJACsNBxkHHQcUMBARDCwAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +IAAAABwAAAC49Pr/JwAAAABBDgiFAkINBUGDA2DFwwwEBAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAALAAAABwAAACs4Pr/TAAAAABBDgiFAkINBUaHA4YEgwVxCsNB +xkHHQcUMBARDCwAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAJAAAABwAAADU3vr/ +LwAAAABBDgiFAkINBUGGA0aDBGDDQcZBxQwEBBQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACAAAAAcAAAAdOD6/wkAAAAAQQ4IhQJCDQVBxQwEBEUTAQAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACQAAAAcAAAAePP6/y8AAAAAQQ4IhQJCDQVBhgNGgwRg +w0HGQcUMBAQUAAAAAAAAAAF6UgABfAgBGwwEBIgBAABMAAAAHAAAADjh+v+GAQAA +AEEOCIUCQg0FQocDhgRGgwUCSwrDQcZBx0HFDAQERwsCWgrDQcZBx0HFDAQEQwts +CsNBxkHHQcUMBARDCwAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAA +4N/6/xMAAAAAQQ4IhQJCDQVLxQwEBEUTAgAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACwAAAAcAAAAVOL6/1MAAAAAQQ4IhQJCDQVGhwOGBIMFeArDQcZBx0HFDAQE +QwsAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACQAAAAcAAAADOD6/zYAAAAAQQ4I +hQJCDQVBhgNGgwRnw0HGQcUMBAQUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAcAAAA +HAAAAJzh+v8oAAAAAEEOCIUCQg0FYsUMBAQAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACAAAAAcAAAA5Oj6/zsAAAAAQQ4IhQJCDQVrCsUMBARBCwAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA+M76/x4AAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAKAAAABwAAAAc8Pr/NQAAAABBDgiDAkUOEFYKDghBww4EQwtR +DghBww4EAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAoAAAAHAAAALjs+v81AAAA +AEEOCIMCRQ4QVgoOCEHDDgRDC1EOCEHDDgQAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAAJNP6/x4AAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +FAAAABwAAACo0/r/GAAAAABODhBIDgQAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +FAAAABwAAABY0/r/EQAAAABDDiBLDgQAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +FAAAABwAAABo0/r/IAAAAABNDghPDgQAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +LAAAABwAAAD40/r/gQAAAABBDgiFAkINBUOHA4YEgwUCVgrDQcZBx0HFDAQEQwsA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAKAAAABwAAACA5vr/ZgAAAABBDgiFAkIN +BUKGA4MEAkEKw0HGQcUMBARICwAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAACgAAAAkAAAAlND6/zUAAAAEdHJIAFEOCIUCQg0FUwrFDAQEQQtJxQwEBAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAALAAAABwAAACg1/r/iwAAAABBDgiFAkIN +BUOHA4YEgwUCYArDQcZBx0HFDAQERwsAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +IAAAABwAAAAo8Pr/CQAAAABBDgiFAkINBUHFDAQERQ4AAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAALAAAABwAAACs1/r/wgAAAABBDgiFAkINBUaHA4YEgwUCfQrD +QcZBx0HFDAQERwsAFAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAADE1fr/ +KwAAAABBDgiFAkINBUGDA2TFwwwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +IAAAABwAAAB47/r/KwAAAABBDgiFAkINBUGDA2TFwwwEBAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAJAAAABwAAAAM1fr/NQAAAABBDgiFAkINBUKGA4MEa8NBxkHF +DAQEABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAAfNf6/ysAAAAAQQ4I +hQJCDQVBgwNkxcMMBAQAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACQAAAAcAAAA +cO76/zUAAAAAQQ4IhQJCDQVChgODBGvDQcZBxQwEBAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAgAAAAHAAAADDX+v8uAAAAAEEOCIUCQg0FQYMDZ8XDDAQEAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAA4AAAAHAAAANTd+v9uAAAAAEEOCIUCQg0FRIMD +XgrFwwwEBEMLXwrDxQwEBEkLTQrFwwwEBEUTAQsAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAcAAAAHAAAAGDd+v8gAAAAAEEOCIUCQg0FWsUMBAQAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAADwAAAAcAAAAeOX6/1wAAAAAQQ4IhQJCDQVDhwOGBIMF +AkEKw0HGQcdBxQwEBEMLR8NBxkHHQcUMBARFDgAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAsAAAAHAAAAJDt+v9aAAAAAEEOCIUCQg0FQ4cDhgSDBQJDCsNBxkHH +QcUMBARDCwAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAoAAAAHAAAAHjP+v9AAAAA +AEEOCIUCQg0FWQrFDAQERAtLCsUMBARFEwELABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAADQAAAAcAAAA1Oj6/1sAAAAAQQ4IhQJCDQVBhgNGgwRfCsNBxkHFDAQERQtc +CsNBxkHFDAQEQwsAFAAAAAAAAAABelIAAXwIARsMBASIAQAANAAAABwAAABk5fr/ +WwAAAABBDgiFAkINBUGGA0aDBF8Kw0HGQcUMBARFC1wKw0HGQcUMBARDCwAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAoAAAAHAAAAPTW+v92AAAAAEEOCIUCQg0FQoYD +gwR3CsNBxkHFDAQEQwsAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAA +8Or6/wkAAAAAQQ4IhQJCDQVBxQwEBEUOAAAAABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAMAAAACQAAAD8Qv3/gQAAAASIckgAQQ4IhQJCDQVGhwOGBIMF +AlgKw0HGQcdBxQwEBEELABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +MAAAACQAAAC4Q/3/eAAAAASUckgAQQ4IhQJCDQVGhwOGBIMFAk8Kw0HGQcdBxQwE +BEELABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAALAAAACQAAADkQv3/ +fgAAAASgckgAQQ4IhQJCDQVFhgODBHQKw0HGQcUMBARCCwAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAPAAAABwAAACMx/r/hAAAAABBDgiFAkINBUaHA4YEgwUCUwrD +QcZBx0HFDAQEQQtJCsNDxkHHQcUMBARCCwAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABwAAAAcAAAANOj6/zAAAAAAQQ4IgwJFDiBmDghBww4EFAAAAAAAAAABelIA +AXwIARsMBASIAQAAHAAAABwAAADc5Pr/MAAAAABBDgiDAkUOIGYOCEHDDgQUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAA8AAAAHAAAACTI+v/CAAAAAEEOCIUCQg0FRocD +hgSDBQJQCsNBxkHHQcUMBARBCwJECsNDxkHHQcUMBARBCwAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAPAAAABwAAAD85fr/YQAAAABBDgiFAkMODIcDQQ4QhgRBDhSD +BUMOQAJFCg4UQcMOEEHGDgxBxw4IQcUOBEMLABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAADwAAAAcAAAAhOL6/2EAAAAAQQ4IhQJDDgyHA0EOEIYEQQ4UgwVDDkACRQoO +FEHDDhBBxg4MQccOCEHFDgRDCwAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAoAAAA +HAAAADwl+f9EAAAAAEEOCIUCQg0FRYYDgwRrCsNBxkHFDAQEQwsAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAADwAAAAcAAAAeOX6/2EAAAAAQQ4IhQJDDgyHA0EOEIYE +QQ4UgwVDDjACRQoOFEHDDhBBxg4MQccOCEHFDgRDCwAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAA8AAAAHAAAAADi+v9hAAAAAEEOCIUCQw4MhwNBDhCGBEEOFIMFQw4w +AkUKDhRBww4QQcYODEHHDghBxQ4EQwsAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +HAAAABwAAAAo5vr/MAAAAABBDgiDAkUOIGYOCEHDDgQUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAcAAAAHAAAANDi+v8wAAAAAEEOCIMCRQ4gZg4IQcMOBBQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAADwAAAAcAAAA6MT6/8IAAAAAQQ4IhQJCDQVGhwOGBIMF +AlAKw0HGQcdBxQwEBEELAkQKw0PGQcdBxQwEBEELAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAcAAAAHAAAAODi+v8zAAAAAEEOCIMCRQ4gaQ4IQcMOBBQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABwAAAAcAAAAiN/6/zMAAAAAQQ4IgwJFDiBpDghBww4E +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAABQAAAAJAAAAKjZ+v+gAQAA +BKxySABBDgiFAkINBUKHA4YERoMFAlcKw0HGQcdBxQwEBEMLAl8Kw0HGQcdBxQwE +BEYLeQrDQcZBx0HFDAQERAsAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAcAAAA +HAAAANza+v8vAAAAAEEOCIUCQg0FacUMBAQAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACwAAAAcAAAA1Nr6/1oAAAAAQQ4IhQJCDQVGhwOGBIMFfwrDQcZBx0HFDAQE +QwsAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACQAAAAcAAAAfNj6/z0AAAAAQQ4I +hQJCDQVBhgNGgwRuw0HGQcUMBAQUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAkAAAA +HAAAAOzW+v8jAAAAAEEOCIUCQg0FR4MDVMXDDAQERRMDAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAJAAAABwAAADc1vr/QAAAAABBDgiFAkINBUWGA4MEc8NBxkHF +DAQEABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACgAAAAcAAAA3NX6/0kAAAAAQQ4I +hQJCDQVBhwNHhgSDBXjDQcZBx0HFDAQEFAAAAAAAAAABelIAAXwIARsMBASIAQAA +KAAAABwAAACY1vr/MwAAAABBDgiFAkINBUWGA4MEZMNBxkHFDAQERRMDAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAoAAAAHAAAAKTV+v8zAAAAAEEOCIUCQg0FRYYD +gwRkw0HGQcUMBARFEwMAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACgAAAAcAAAA +UNb6/zMAAAAAQQ4IhQJCDQVFhgODBGTDQcZBxQwEBEUTAwAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAKAAAABwAAACM1Pr/MwAAAABBDgiFAkINBUWGA4MEZMNBxkHF +DAQERRMDAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAkAAAAHAAAAAjW+v8tAAAA +AEEOCIUCQg0FRIMDYcXDDAQERRMDAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +KAAAABwAAADY3vr/QgAAAABBDgiGAkYODIMDRQ4gcQ4MQcMOCEHGDgQAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAoAAAAHAAAAHTb+v9CAAAAAEEOCIYCRg4MgwNF +DiBxDgxBww4IQcYOBAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAA +MOD6/zMAAAAAQQ4IgwJFDiBpDghBww4EFAAAAAAAAAABelIAAXwIARsMBASIAQAA +HAAAABwAAADY3Pr/MwAAAABBDgiDAkUOIGkOCEHDDgQUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAcAAAAHAAAAIDg+v8wAAAAAEEOCIMCRQ4gZg4IQcMOBBQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABwAAAAcAAAAKN36/zAAAAAAQQ4IgwJFDiBmDghBww4E +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAACwAfn/EAAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAGQB+f8QAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACAAAAAcAAAA+AH5/18AAAAAQQ4IhQJCDQVEgwMCVcXD +DAQEABAAAABAAAAAlAL5/xUAAAAAAAAAEAAAAFQAAAAA3Pj/CwAAAAAAAAAcAAAA +aAAAAMzb+P8eAAAAAEEOCIMCRQ4gVg4IQcMOBCAAAACIAAAATAH5/zYAAAAAQQ4I +hQJCDQVEgwNsxcMMBAQAADAAAACsAAAA2AD5/00AAAAAQQ4IhQJCDQVBhgNGgwRc +CsNBxkHFDAQESAtYw0HGQcUMBAQoAAAA4AAAAJQB+f9gAAAAAEEOCIUCQg0FQYYD +RoMEdArDQcZBxQwEBEMLABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +kNv4/wsAAAAAAAAAHAAAADAAAABc2/j/HgAAAABBDgiDAkUOIFYOCEHDDgQ4AAAA +UAAAANwC+f9kAAAAAEEOCIUCRA0FRocDhgSDBW4Kw0HGQcdBxQwEBEITA0ILXsNB +xkHHQcUMBAQ8AAAAjAAAAMAB+f/TAAAAAEEOCIUCQg0FRocDhgSDBQJZCsNBxkHH +QcUMBARDC3IKw0HGQcdBxQwEBEITBkELOAAAAMwAAAAgAfn/WgAAAABBDgiFAkQN +BUaHA4YEgwVqCsNBxkHHQcUMBARIC1XDQcZBx0HFDAQEQhMCFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAACsDPv/GwAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAABBJ/f8KAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAAtOv7/xsAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAAA4Sf3/CgAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAcAAAA +HAAAAMwL+/8vAAAAAEEOCIMCRQ4gZw4IQcMOBBQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAAREj9/woAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +HAAAABwAAADI6vv/LwAAAABBDgiDAkUOIGcOCEHDDgQUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAAGBI/f8KAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAA3Gf9/wcAAAAAAAAAEAAAADAAAADQZ/3/BwAAAAAAAAAQAAAA +RAAAAMRn/f8HAAAAAAAAABAAAABYAAAAuGf9/wcAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAIAAAABwAAAAsCvv/NgAAAABBDgiFAkINBUSDA2zFwwwEBAAA +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAwAAAAJAAAAKgI+/+SAAAA +BMBySABBDgiFAkINBUOHA4YEgwUCbgrDQcZBx0HFDAQEQwsAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAABcCvv/GwAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAUAAAAHAAAAFAK+/8QAAAAAEMOIEoOBAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAcAAAAHAAAAFAK+/8dAAAAAEEOCIMCRQ4gUQ4IQ8MOBBQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABwAAAAcAAAA+An7/x0AAAAAQQ4IgwJFDiBRDghDww4E +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAAQHPn/BAAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAoAAAAHAAAACQC+/9nAAAAAEEOCIUCQg0FQYYD +RoMEeQrDQcZBxQwEBEMLABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACQAAAAcAAAA +oAj7/y4AAAAAQQ4IhQJCDQVEgwNixcMMBARFDgAAAAAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAAeAf7/5EAAAAEzXJIAEEOCIUCQg0FQ4cD +hgSDBQJvCsNBxkHHQcUMBARBCwAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAA8AAAA +HAAAABwA+/8qAQAAAEEOCIUCQg0FRocDhgSDBQJ8CsNBxkHHQcUMBARIC1gKw0HG +QcdBxQwEBEULAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAPAAAABwAAACU/vr/ +KgEAAABBDgiFAkINBUaHA4YEgwUCfArDQcZBx0HFDAQESAtYCsNBxkHHQcUMBARF +CwAAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAAQAAAACQAAAD0Cvv/ +bwEAAATcckgAQQ4IhQJCDQVDhwOGBIMFAp8Kw0HGQcdBxQwEBEgLegrDQcZBx0HF +DAQEQwsAAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAA +MAn7/yYBAAAEIHNIAEEOCIUCQg0FQ4cDhgSDBQKICsNBxkHHQcUMBARDC1sKw0HG +QcdBxQwEBEMLAAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAsAAAA +JAAAAHwH+//+AAAABGRzSABBDgiFAkINBUKGA4MEAnAKw0HGQcUMBARJCwAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAAHO/6/wMBAAAEoHNI +AEEOCIUCQg0FQYMDAk0KxcMMBARBC2oKw8UMBARBCwAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAACgAAAAkAAAAuO36/wQBAAAE2HNIAEEOCIUCQg0FQYMD +AmcKxcMMBARFCwAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAABAAAAA +JAAAAPzp+v91AQAABBh0SABBDgiFAkINBUOHA4YEgwUCugrDQcZBx0HFDAQEQwtU +CsNBxkHHQcUMBARDCwAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACgAAAAcAAAA +MOn6/2cAAAAAQQ4IhQJCDQVBhgNGgwR5CsNBxkHFDAQEQwsAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAAAwAAAAJAAAADTr+v+EAQAABFB0SABBDgiFAkIN +BUGHA0eGBIMFAtAKw0HGQcdBxQwEBEMLFAAAAAAAAAABelIAAXwIARsMBASIAQAA +KAAAABwAAACI6vr/YAAAAABBDgiFAkINBUGGA0aDBHIKw0HGQcUMBARDCwAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAATPr6/+YAAAAEmHRI +AEEOCIUCQg0FQYMDbgrFwwwEBEELZArDxQwEBEELAAAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAA+O36/90AAAAE1HRIAEEOCIUCQg0FQYMD +AkAKxcMMBARBCwJOCsPFDAQEQQscAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAADAAAAAkAAAAhO76/+YAAAAEEHVIAEEOCIUCQg0FQYMDbgrFwwwEBEMLAkQK +w8UMBARDCwAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAA +wAD7/xkBAAAETHVIAEEOCIUCQg0FQYMDAmgKw8UMBAREC0wKxcMMBARECwAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAACwAAAAkAAAATP/6/xYBAAAEiHVI +AEEOCIUCQg0FQoYDgwQCkwrDQcZBxQwEBEYLABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAMAAAACQAAADc8vr/BgEAAATEdUgAQQ4IhQJCDQVBgwMCYgrF +wwwEBEELcgrDxQwEBEELABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +OAAAACQAAAAo7vr/2QAAAAQAdkgAQQ4IhQJCDQVBgwN+CsXDDAQEQQtJCsPFDAQE +RAthCsPFDAQEQQsAHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAA4AAAA +JAAAABzx+v8JAQAABDx2SABBDgiFAkINBUKGA4MEAksKw0HGQcUMBARDCwJICsNB +xkHFDAQEQwscAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAA +UO76/0YBAAAEdHZIAEEOCIUCQg0FQ4cDhgSDBQJkCsNBxkHHQcUMBARDCwAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAATO/6/xYBAAAEsHZI +AEEOCIUCQg0FQ4cDhgSDBQJSCsNBxkHHQcUMBARFCwAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAACAU+f8EAAAAAAAAABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAQAAAACQAAAD8BP3/0gAAAATsdkgAQQ4IhQJCDQVGhwOGBIMF +AlkKw0HGQcdBxQwEBEELAkMKw0HGQcdBxQwEBEELAAAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAA6C/9/+YAAAAE/HZIAEEOCIUCQg0FRIMD +ZQrFwwwEBEQLZQrDxQwEBEELAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAJws/f8FAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +YCz9/wUAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAAkLP3/ +BQAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAOgr/f8FAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACwAAAAcAAAAnDD9/2EAAAAAQQ4I +hQJCDQVGhwOGBIMFdQrDQcZBx0HFDAQEQQsAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAAlC/9/xUAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +GAAAABwAAACoL/3/FwAAAABBDgiDAlXDDgQAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABwAAAAcAAAAtC/9/z4AAAAAQQ4IgwJ1CsMOBEELAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAAAcL/3/EgAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAADAv/f8SAAAAAAAAABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAQAAAACQAAADM3vr/HAEAAAQ4d0gAQQ4IhQJCDQVDhwOGBIMF +AoAKw0HGQcdBxQwEBEcLWwrDQcZBx0HFDAQEQwsAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAgAAAAHAAAAPAC+/8JAAAAAEEOCIUCQg0FQcUMBARFDgAAAAAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAAzNr6/xwBAAAEfHdI +AEEOCIUCQg0FQ4cDhgSDBQKACsNBxkHHQcUMBARHC1sKw0HGQcdBxQwEBEMLAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAACwAPv/CQAAAABBDgiFAkIN +BUHFDAQERQ4AAAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAABAAAAA +JAAAAEzb+v8cAQAABMB3SABBDgiFAkINBUOHA4YEgwUCgArDQcZBx0HFDAQERwtb +CsNBxkHHQcUMBARDCwAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAA +IAD7/wkAAAAAQQ4IhQJCDQVBxQwEBEUOAAAAABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAQAAAACQAAADM2/r/HAEAAAQEeEgAQQ4IhQJCDQVDhwOGBIMF +AoAKw0HGQcdBxQwEBEcLWwrDQcZBx0HFDAQEQwsAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAgAAAAHAAAAJD/+v8JAAAAAEEOCIUCQg0FQcUMBARFDgAAAAAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAAbNT6/xwBAAAESHhI +AEEOCIUCQg0FQ4cDhgSDBQKACsNBxkHHQcUMBARHC1sKw0HGQcdBxQwEBEMLAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAABg/fr/CQAAAABBDgiFAkIN +BUHFDAQERQ4AAAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAABAAAAA +JAAAAMzc+v8cAQAABIx4SABBDgiFAkINBUOHA4YEgwUCgArDQcZBx0HFDAQERwtb +CsNBxkHHQcUMBARDCwAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAA +4P/6/wkAAAAAQQ4IhQJCDQVBxQwEBEUOAAAAABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAQAAAACQAAABM3fr/HAEAAATQeEgAQQ4IhQJCDQVDhwOGBIMF +AoAKw0HGQcdBxQwEBEcLWwrDQcZBx0HFDAQEQwsAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAgAAAAHAAAAFD/+v8JAAAAAEEOCIUCQg0FQcUMBARFDgAAAAAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAA7NX6/xwBAAAEFHlI +AEEOCIUCQg0FQ4cDhgSDBQKACsNBxkHHQcUMBARHC1sKw0HGQcdBxQwEBEMLAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAACw+/r/CQAAAABBDgiFAkIN +BUHFDAQERQ4AAAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAABAAAAA +JAAAAAzT+v8cAQAABFh5SABBDgiFAkINBUOHA4YEgwUCgArDQcZBx0HFDAQERwtb +CsNBxkHHQcUMBARDCwAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAA +8Pr6/wkAAAAAQQ4IhQJCDQVBxQwEBEUOAAAAABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAQAAAACQAAACM0/r/HAEAAASceUgAQQ4IhQJCDQVDhwOGBIMF +AoAKw0HGQcdBxQwEBEcLWwrDQcZBx0HFDAQEQwsAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAgAAAAHAAAAGD6+v8JAAAAAEEOCIUCQg0FQcUMBARFDgAAAAAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAAjM/6/xwBAAAE4HlI +AEEOCIUCQg0FQ4cDhgSDBQKACsNBxkHHQcUMBARHC1sKw0HGQcdBxQwEBEMLAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAACQ+fr/CQAAAABBDgiFAkIN +BUHFDAQERQ4AAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAACE1vv/ +NgAAAABBDgiFAkINBUSDA2zFwwwEBAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAA +GwwEBIgBAAAwAAAAJAAAAADV+/+UAAAABCR6SABBDgiFAkINBUGHA0SGBIMFAm4K +w0HGQcdBxQwEBEMLFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAC01vv/ +GwAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAUAAAAHAAAAKjW+/8QAAAA +AEMOIEoOBAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAcAAAAHAAAAKjW+/8dAAAA +AEEOCIMCRQ4gUQ4IQ8MOBBQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAA +UNb7/x0AAAAAQQ4IgwJFDiBRDghDww4EFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAADYKvn/BAAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAkAAAA +HAAAAEzO+/9PAAAAAEEOCIUCQg0FQYMDAkMKxcMMBARDCwAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAJAAAABwAAAD81Pv/LgAAAABBDgiFAkINBUSDA2LFwwwEBEUO +AAAAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAAMAAAACQAAADU0/v/ +kwAAAAQxekgAQQ4IhQJCDQVDhwOGBIMFAnEKw0HGQcdBxQwEBEELABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAADwAAAAcAAAACMz7/2MBAAAAQQ4IhQJCDQVGhwOGBIMF +Ao0Kw0HGQcdBxQwEBEcLAngKw0HGQcdBxQwEBEMLAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAA8AAAAHAAAAEDK+/9jAQAAAEEOCIUCQg0FRocDhgSDBQKNCsNBxkHH +QcUMBARHCwJ4CsNBxkHHQcUMBARDCwAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAA +GwwEBIgBAABAAAAAJAAAAFDX+/9vAQAABEB6SABBDgiFAkINBUOHA4YEgwUCnwrD +QcZBx0HFDAQESAt6CsNBxkHHQcUMBARDCwAAABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAQAAAACQAAACM1fv/JgEAAASEekgAQQ4IhQJCDQVDhwOGBIMF +AogKw0HGQcdBxQwEBEMLWwrDQcZBx0HFDAQEQwsAAAAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAACwAAAAkAAAA2NP7//4AAAAEyHpIAEEOCIUCQg0FQoYD +gwQCcArDQcZBxQwEBEkLABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +OAAAACQAAACouvv/DQEAAAQEe0gAQQ4IhQJCDQVBgwMCUgrFwwwEBEELTQrDxQwE +BEELawrDxQwEBEELHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAwAAAA +JAAAACy5+/8WAQAABDx7SABBDgiFAkINBUGDAwJPCsXDDAQEQwtzCsPFDAQERwsA +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAABAAAAAJAAAACi1+/+RAQAA +BHR7SABBDgiFAkINBUKHA4YERoMFAs4Kw0HGQcdBxQwEBEMLfQrDQcZBx0HFDAQE +QwsAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACQAAAAcAAAAfLT7/08AAAAAQQ4I +hQJCDQVBgwMCQwrFwwwEBEMLAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAADAAAAAkAAAAdLb7/70BAAAErHtIAEEOCIUCRA0FRocDhgSDBQKSCsNBxkHH +QcUMBARDCwAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAkAAAAHAAAANi1+/9IAAAA +AEEOCIUCQg0FQYMDfArFwwwEBEMLAAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAA +GwwEBIgBAAA4AAAAJAAAAODF+//2AAAABPh7SABBDgiFAkINBUGDA24KxcMMBARB +C20Kw8UMBARBC14Kw8UMBARBCwAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAACgAAAAkAAAAdLn7/+IAAAAEMHxIAEEOCIUCQg0FQYMDcQrFwwwEBEELAAAA +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAwAAAAJAAAABi6+//mAAAA +BGh8SABBDgiFAkINBUGDA24KxcMMBARDCwJECsPFDAQEQwsAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAAAwAAAAJAAAABTN+/8ZAQAABKR8SABBDgiFAkIN +BUGDAwJqCsPFDAQEQwtMCsXDDAQEQwsAHAAAAAAAAAABelBMUgABfAgHAJA3SAAA +GwwEBIgBAABAAAAAJAAAAJDL+/8mAQAABOB8SABBDgiFAkINBUOHA4YEgwUCewrD +QcZBx0HFDAQEQwtZCsNBxkHHQcUMBARDCwAAABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAMAAAACQAAABcvvv/BwEAAAQcfUgAQQ4IhQJCDQVBgwMCbArF +wwwEBEELXgrDxQwEBEELABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +OAAAACQAAACoufv/2QAAAARUfUgAQQ4IhQJCDQVBgwN+CsXDDAQEQQtJCsPFDAQE +RAthCsPFDAQEQQsAHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAA4AAAA +JAAAAJy8+/8JAQAABJB9SABBDgiFAkINBUKGA4MEAksKw0HGQcUMBARDCwJICsNB +xkHFDAQEQwscAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAA +0Ln7/0YBAAAEyH1IAEEOCIUCQg0FQ4cDhgSDBQJkCsNBxkHHQcUMBARDCwAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAAzLr7/xYBAAAEBH5I +AEEOCIUCQg0FQ4cDhgSDBQJSCsNBxkHHQcUMBARFCwAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAANAi+f8EAAAAAAAAABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAQAAAACQAAAC88vz/8gAAAARAfkgAQQ4IhQJCDQVGhwOGBIMF +AnQKw0HGQcdBxQwEBEELAlMKw0HGQcdBxQwEBEELAAAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAADgAAAAkAAAAWCT9//YAAAAEUH5IAEEOCIUCQg0FRIMD +ZQrFwwwEBEQLbArDxQwEBEQLXgrDxQwEBEELABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAQAAAACQAAAC8If3/NQIAAASIfkgAQQ4IhQJCDQVGhwOGBIMF +AyUBCsNBxkHHQcUMBARBC3MKw0HGQcdBxQwEBEELAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAoAAAAHAAAAGAl/f9VAAAAAEEOCIUCQg0FRYYDgwReCsNBxkHFDAQE +SAsAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAXCT9/xUAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAGAAAABwAAABwJP3/FwAAAABBDgiDAlXD +DgQAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAAfCT9/z4AAAAAQQ4I +gwJ1CsMOBEELAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAADkI/3/ +EgAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAPgj/f8SAAAA +AAAAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAAQAAAACQAAABUqvv/ +HAEAAATcfkgAQQ4IhQJCDQVDhwOGBIMFAoAKw0HGQcdBxQwEBEcLWwrDQcZBx0HF +DAQEQwsAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAHjP+/8JAAAA +AEEOCIUCQg0FQcUMBARFDgAAAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAAEAAAAAkAAAAVKb7/xwBAAAEIH9IAEEOCIUCQg0FQ4cDhgSDBQKACsNBxkHH +QcUMBARHC1sKw0HGQcdBxQwEBEMLAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +IAAAABwAAAA4zfv/CQAAAABBDgiFAkINBUHFDAQERQ4AAAAAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAABAAAAAJAAAANSm+/8cAQAABGR/SABBDgiFAkIN +BUOHA4YEgwUCgArDQcZBx0HFDAQERwtbCsNBxkHHQcUMBARDCwAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACAAAAAcAAAAqMz7/wkAAAAAQQ4IhQJCDQVBxQwEBEUO +AAAAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAAQAAAACQAAABUp/v/ +HAEAAASof0gAQQ4IhQJCDQVDhwOGBIMFAoAKw0HGQcdBxQwEBEcLWwrDQcZBx0HF +DAQEQwsAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAABjM+/8JAAAA +AEEOCIUCQg0FQcUMBARFDgAAAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAAEAAAAAkAAAA9J/7/xwBAAAE7H9IAEEOCIUCQg0FQ4cDhgSDBQKACsNBxkHH +QcUMBARHC1sKw0HGQcdBxQwEBEMLAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +IAAAABwAAADoyfv/CQAAAABBDgiFAkINBUHFDAQERQ4AAAAAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAABAAAAAJAAAAFSo+/8cAQAABDCASABBDgiFAkIN +BUOHA4YEgwUCgArDQcZBx0HFDAQERwtbCsNBxkHHQcUMBARDCwAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACAAAAAcAAAAaMz7/wkAAAAAQQ4IhQJCDQVBxQwEBEUO +AAAAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAAQAAAACQAAADUqPv/ +HAEAAAR0gEgAQQ4IhQJCDQVDhwOGBIMFAoAKw0HGQcdBxQwEBEcLWwrDQcZBx0HF +DAQEQwsAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAANjL+/8JAAAA +AEEOCIUCQg0FQcUMBARFDgAAAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAAEAAAAAkAAAAdKH7/xwBAAAEuIBIAEEOCIUCQg0FQ4cDhgSDBQKACsNBxkHH +QcUMBARHC1sKw0HGQcdBxQwEBEMLAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +IAAAABwAAAA4yPv/CQAAAABBDgiFAkINBUHFDAQERQ4AAAAAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAABAAAAAJAAAAJSe+/8cAQAABPyASABBDgiFAkIN +BUOHA4YEgwUCgArDQcZBx0HFDAQERwtbCsNBxkHHQcUMBARDCwAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACAAAAAcAAAAeMf7/wkAAAAAQQ4IhQJCDQVBxQwEBEUO +AAAAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAAQAAAACQAAAAUn/v/ +HAEAAARAgUgAQQ4IhQJCDQVDhwOGBIMFAoAKw0HGQcdBxQwEBEcLWwrDQcZBx0HF +DAQEQwsAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAOjG+/8JAAAA +AEEOCIUCQg0FQcUMBARFDgAAAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAAEAAAAAkAAAAFJv7/xwBAAAEhIFIAEEOCIUCQg0FQ4cDhgSDBQKACsNBxkHH +QcUMBARHC1sKw0HGQcdBxQwEBEMLAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +IAAAABwAAAAYxvv/CQAAAABBDgiFAkINBUHFDAQERQ4AAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAACsAfv/FAAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAAHAh/f8KAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAANOD7/xQAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAACYIf3/CgAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAcAAAA +HAAAAMwA+/8oAAAAAEEOCIMCRQ4gYA4IQcMOBBQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAApCD9/woAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +HAAAABwAAABI3/v/KAAAAABBDgiDAkUOIGAOCEHDDgQUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAAMAg/f8KAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACAAAAAcAAAAPED9/xIAAAAAQQ4IhQJEDQVLxQwEBEIOAAAAACAAAABAAAAA +LED9/xIAAAAAQQ4IhQJEDQVLxQwEBEIOAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABwAAAAcAAAAVP/6/ycAAAAAQQ4IhQJCDQVhxQwEBAAAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAAAwAAAAJAAAAPT9+v+IAAAABMiBSABBDgiFAkIN +BUOHA4YEgwUCZArDQcZBx0HFDAQEQwsAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAABo//r/FAAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAUAAAA +HAAAAFz/+v8QAAAAAEMOIEoOBAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAcAAAA +HAAAAFz/+v8dAAAAAEEOCIMCRQ4gUQ4IQ8MOBBQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABwAAAAcAAAABP/6/x0AAAAAQQ4IgwJFDiBRDghDww4EFAAAAAAAAAABelIA +AXwIARsMBASIAQAAJAAAABwAAAA87vr/TQAAAABBDgiFAkINBUKGA4MEAkPDQcZB +xQwEBBwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAAKAAAACQAAACU5/r/ +pgAAAATYgUgAQQ4IhQJCDQVBgwN6CsXDDAQEQQsAAAAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAADgAAAAkAAAA+On6//YAAAAEDIJIAEEOCIUCQg0FQoYD +gwRvCsNBxkHFDAQESgsCSArDQcZBxQwEBEMLABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAMAAAACQAAACc5/r/CQEAAARAgkgAQQ4IhQJCDQVDhwOGBIMF +cwrDQcZBx0HFDAQERAsAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +MAAAACQAAABY6Pr/5gAAAAR4gkgAQQ4IhQJCDQVDhwOGBIMFXgrDQcZBx0HFDAQE +SQsAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAAnPz6/x8AAAAAQQ4I +hQJCDQVXxQwEBEUOAAAAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +MAAAACQAAACY+/r/hwAAAASwgkgAQQ4IhQJCDQVDhwOGBIMFAmUKw0HGQcdBxQwE +BEELABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAADQAAAAcAAAA/Or6/1cAAAAAQQ4I +hQJCDQVBhgNDgwR4CsNBxkHFDAQEQwtMw0HGQcUMBARFDgAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAANAAAABwAAABM6vr/VwAAAABBDgiFAkINBUGGA0ODBHgKw0HG +QcUMBARDC0zDQcZBxQwEBEUOAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAwAAAA +HAAAABzr+v9gAAAAAEEOCIUCQg0FQYYDRoMEbgrDQcZBxQwEBEYLXcNBxkHFDAQE +FAAAAAAAAAABelIAAXwIARsMBASIAQAAMAAAABwAAABw6vr/YAAAAABBDgiFAkIN +BUGGA0aDBG4Kw0HGQcUMBARGC13DQcZBxQwEBBwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAOAAAACQAAAC8+/r/NwEAAATAgkgAQQ4IhQJCDQVChgODBAKH +CsNBxkHFDAQEQwtuCsNBxkHFDAQEQwsAHAAAAAAAAAABelBMUgABfAgHAJA3SAAA +GwwEBIgBAAA4AAAAJAAAAODi+v83AQAABACDSABBDgiFAkINBUKGA4MEAmUKw0HG +QcUMBAREC18Kw0HGQcUMBARDCwAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAADgAAAAkAAAAdOf6/yMBAAAEQINIAEEOCIUCQg0FQoYDgwQCgwrDQcZBxQwE +BEYLXwrDQcZBxQwEBEMLABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +EPD4/wQAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAKAAAABwAAADE4vz/ +XwAAAABBDgiFAkINBUWGA4MEcArDQcZBxQwEBEYLAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAcAAAAHAAAADDj/P8aAAAAAEEOCIUCQg0FVsUMBAQAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAOOP8/wkAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAALAAAABwAAADcAP3/YQAAAABBDgiFAkINBUaHA4YEgwV1CsNB +xkHHQcUMBARBCwAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAADU//z/ +FQAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAYAAAAHAAAAOj//P8XAAAA +AEEOCIMCVcMOBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAHAAAABwAAAD0//z/ +PgAAAABBDgiDAnUKww4EQQsAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAFz//P8SAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +cP/8/xIAAAAAAAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAABAAAAA +JAAAAOzL/P9uAwAABHyDSABBDgiFAkINBUaHA4YEgwUClQrDQcZBx0HFDAQEQQsD +vQEKw0HGQcdBxQwEBEELABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABQAAAAcAAAA +IP78/ysAAAAAQw4gZw4EABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABQAAAAcAAAA +IP78/ysAAAAAQw4wZw4EABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABQAAAAcAAAA +kP38/ysAAAAAQw4wZw4EABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAADAAAAAcAAAA +oPz8/1QAAAAAQQ4IhQJCDQVFhgODBGgKw0HGQcUMBARBC17DQcZBxQwEBAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAwAAAAHAAAALT8/P9UAAAAAEEOCIUCQg0FRYYD +gwRoCsNBxkHFDAQEQQtew0HGQcUMBAQAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +MAAAABwAAACo+/z/VAAAAABBDgiFAkINBUWGA4MEaArDQcZBxQwEBEELXsNBxkHF +DAQEABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAAQAAAACQAAABE7fr/ +vgEAAATAg0gAQQ4IhQJCDQVDhwOGBIMFAuwKw0HGQcdBxQwEBEMLaArDQcZBx0HF +DAQEQwsAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAABj4+v8JAAAA +AEEOCIUCQg0FQcUMBARFDgAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAoAAAA +HAAAAPz3+v80AAAAAEMOCIUCQg0FXgrFDAQERQ4AQAtHxQwEBEUOABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACAAAAAcAAAAePf6/wkAAAAAQQ4IhQJCDQVBxQwEBEUO +AAAAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAAQAAAACQAAADk7fr/ +vgEAAAQQhEgAQQ4IhQJCDQVDhwOGBIMFAuwKw0HGQcdBxQwEBEMLaArDQcZBx0HF +DAQEQwsAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAAj3+v8JAAAA +AEEOCIUCQg0FQcUMBARFDgAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAA +HAAAABz3+v8QAAAAAEEOCIUCQg0FSMUMBARFDgAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAgAAAAHAAAAHD2+v8JAAAAAEEOCIUCQg0FQcUMBARFDgAAAAAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAAvOX6/84BAAAEYIRI +AEEOCIUCQg0FQ4cDhgSDBQLxCsNBxkHHQcUMBARGC28Kw0HGQcdBxQwEBEMLAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAABw9fr/EAAAAABBDgiFAkIN +BUjFDAQERQ4AAAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAABAAAAA +JAAAAOzt+v/eAQAABLCESABBDgiFAkINBUOHA4YEgwUDBQEKw0HGQcdBxQwEBEML +bgrDQcZBx0HFDAQEQwsAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAA +sPX6/wkAAAAAQQ4IhQJCDQVBxQwEBEUTAQAAABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAQAAAACQAAAAs7/r/3gEAAAQAhUgAQQ4IhQJCDQVDhwOGBIMF +AwUBCsNBxkHHQcUMBARDC24Kw0HGQcdBxQwEBEMLAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAgAAAAHAAAACD1+v8JAAAAAEEOCIUCQg0FQcUMBARFEwEAAAAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAArOX6/74BAAAEUIVI +AEEOCIUCQg0FQ4cDhgSDBQLsCsNBxkHHQcUMBARDC2gKw0HGQcdBxQwEBEMLAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAACg8/r/CQAAAABBDgiFAkIN +BUHFDAQERRMBAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAHAAAABwAAACE8/r/ +GAAAAABBDgiFAkINBVLFDAQEAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAAEAAAAAkAAAAlOb6/74BAAAEoIVIAEEOCIUCQg0FQ4cDhgSDBQLmCsNBxkHH +QcUMBARDC20Kw0HGQcdBxQwEBEMLAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +IAAAABwAAADY8vr/CQAAAABBDgiFAkINBUHFDAQERRMCAAAAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAABAAAAAJAAAAKTg+v++AQAABPCFSABBDgiFAkIN +BUOHA4YEgwUC7ArDQcZBx0HFDAQEQwtoCsNBxkHHQcUMBARDCwAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACAAAAAcAAAAyPD6/wkAAAAAQQ4IhQJCDQVBxQwEBEUO +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAAXM77/ycAAAAAQQ4I +hQJCDQVhxQwEBAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAwAAAA +JAAAAPzM+/+KAAAABECGSABBDgiFAkINBUGHA0SGBIMFAmQKw0HGQcdBxQwEBEML +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAABwzvv/FAAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAUAAAAHAAAAGTO+/8QAAAAAEMOIEoOBAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAcAAAAHAAAAGTO+/8dAAAAAEEOCIMCRQ4gUQ4I +Q8MOBBQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAADM77/x0AAAAAQQ4I +gwJFDiBRDghDww4EFAAAAAAAAAABelIAAXwIARsMBASIAQAAJAAAABwAAADUvfv/ +TQAAAABBDgiFAkINBUKGA4MEAkPDQcZBxQwEBBwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAKAAAACQAAAAst/v/pgAAAARQhkgAQQ4IhQJCDQVBgwN6CsXD +DAQEQQsAAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAADgAAAAkAAAA +kLn7//YAAAAEhIZIAEEOCIUCQg0FQoYDgwRvCsNBxkHFDAQESgsCSArDQcZBxQwE +BEMLABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAAMAAAACQAAAA0t/v/ +CQEAAAS4hkgAQQ4IhQJCDQVDhwOGBIMFcwrDQcZBx0HFDAQERAsAABwAAAAAAAAA +AXpQTFIAAXwIBwCQN0gAABsMBASIAQAAMAAAACQAAADwt/v/5gAAAATwhkgAQQ4I +hQJCDQVDhwOGBIMFXgrDQcZBx0HFDAQESQsAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACAAAAAcAAAApMv7/x8AAAAAQQ4IhQJCDQVXxQwEBEUOAAAAABwAAAAAAAAA +AXpQTFIAAXwIBwCQN0gAABsMBASIAQAAMAAAACQAAACgyvv/iQAAAAQoh0gAQQ4I +hQJCDQVDhwOGBIMFAmcKw0HGQcdBxQwEBEELABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAADQAAAAcAAAAlLr7/1kAAAAAQQ4IhQJCDQVBhgNDgwR6CsNBxkHFDAQEQwtM +w0HGQcUMBARFDgAAFAAAAAAAAAABelIAAXwIARsMBASIAQAANAAAABwAAADkufv/ +WQAAAABBDgiFAkINBUGGA0ODBHoKw0HGQcUMBARDC0zDQcZBxQwEBEUOAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAwAAAAHAAAALS6+/9gAAAAAEEOCIUCQg0FQYYD +RoMEbgrDQcZBxQwEBEYLXcNBxkHFDAQEFAAAAAAAAAABelIAAXwIARsMBASIAQAA +MAAAABwAAAAIuvv/YAAAAABBDgiFAkINBUGGA0aDBG4Kw0HGQcUMBARGC13DQcZB +xQwEBBwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAAOAAAACQAAADEyvv/ +NwEAAAQ4h0gAQQ4IhQJCDQVChgODBAKHCsNBxkHFDAQEQwtuCsNBxkHFDAQEQwsA +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAABAAAAAJAAAAGiy+/9OAQAA +BHiHSABBDgiFAkINBUOHA4YEgwUCcgrDQcZBx0HFDAQERQt/CsNBxkHHQcUMBARD +CwAAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAAOAAAACQAAAAEt/v/ +IwEAAAS8h0gAQQ4IhQJCDQVChgODBAKDCsNBxkHFDAQERgtfCsNBxkHFDAQEQwsA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAAAAvn/BAAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAkAAAAHAAAAETT/P9GAAAAAEEOCIUCQg0FRIMD +dQrFwwwEBEULAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAHAAAABwAAAB00/z/ +GgAAAABBDgiFAkINBVbFDAQEAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAGzT/P8JAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACgAAAAcAAAA +gPT8/1UAAAAAQQ4IhQJCDQVFhgODBF4Kw0HGQcUMBARICwAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAAB88/z/FQAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAYAAAAHAAAAJDz/P8XAAAAAEEOCIMCVcMOBAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAHAAAABwAAACc8/z/PgAAAABBDgiDAnUKww4EQQsAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAATz/P8SAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAGPP8/xIAAAAAAAAAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAABAAAAAJAAAAIS//P9yAwAABPiHSABBDgiFAkIN +BUaHA4YEgwUCnArDQcZBx0HFDAQESAsDswEKw0HGQcdBxQwEBEELABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABQAAAAcAAAA+PH8/ywAAAAAQw4gaA4EABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACQAAAAcAAAAGPP8/00AAAAAQQ4IhQJCDQVEgwMCQArF +wwwEBEELAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAwAAAAHAAAAJjv/P9UAAAA +AEEOCIUCQg0FRYYDgwRoCsNBxkHFDAQEQQtew0HGQcUMBAQAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAAAwAAAAJAAAAKTv/P+NAQAABESISABBDgiFAkIN +BUaHA4YEgwUC0grDQcZBx0HFDAQEQQsAHAAAAAAAAAABelBMUgABfAgHAJA3SAAA +GwwEBIgBAABAAAAAJAAAAPC8+/+nAQAABJCISABBDgiFAkINBUOHA4YEgwUCxQrD +QcZBx0HFDAQEQwsCTgrDQcZBx0HFDAQEQwsAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACAAAAAcAAAAhMf7/wkAAAAAQQ4IhQJCDQVBxQwEBEUOAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACgAAAAcAAAAaMf7/zQAAAAAQw4IhQJCDQVeCsUMBARF +DgBAC0fFDAQERQ4AFAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAADkxvv/ +CQAAAABBDgiFAkINBUHFDAQERQ4AAAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAA +GwwEBIgBAABAAAAAJAAAAIC9+/+nAQAABOyISABBDgiFAkINBUOHA4YEgwUCxQrD +QcZBx0HFDAQEQwsCTgrDQcZBx0HFDAQEQwsAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACAAAAAcAAAAdMb7/wkAAAAAQQ4IhQJCDQVBxQwEBEUOAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACAAAAAcAAAAiMb7/xAAAAAAQQ4IhQJCDQVIxQwEBEUO +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAA3MX7/wkAAAAAQQ4I +hQJCDQVBxQwEBEUOAAAAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +QAAAACQAAACotfv/pwEAAARIiUgAQQ4IhQJCDQVDhwOGBIMFAsoKw0HGQcdBxQwE +BEMLAk0Kw0HGQcdBxQwEBEMLAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAA +HAAAANzE+/8QAAAAAEEOCIUCQg0FSMUMBARFDgAAAAAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAAeL37/8cBAAAEpIlIAEEOCIUCQg0FQ4cD +hgSDBQLgCsNBxkHHQcUMBARHCwJPCsNBxkHHQcUMBARDCwAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAIAAAABwAAAAcxfv/CQAAAABBDgiFAkINBUHFDAQERRMBAAAA +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAABAAAAAJAAAAKi++//HAQAA +BACKSABBDgiFAkINBUOHA4YEgwUC4ArDQcZBx0HFDAQERwsCTwrDQcZBx0HFDAQE +QwsAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAAjMT7/wkAAAAAQQ4I +hQJCDQVBxQwEBEUTAQAAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +QAAAACQAAAB4tfv/pwEAAARcikgAQQ4IhQJCDQVDhwOGBIMFAssKw0HGQcdBxQwE +BEMLAk0Kw0HGQcdBxQwEBEMLAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAA +HAAAAAzD+/8JAAAAAEEOCIUCQg0FQcUMBARFEwEAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAcAAAAHAAAAPDC+/8YAAAAAEEOCIUCQg0FUsUMBAQAABwAAAAAAAAA +AXpQTFIAAXwIBwCQN0gAABsMBASIAQAAQAAAACQAAABQtvv/pwEAAAS4ikgAQQ4I +hQJCDQVDhwOGBIMFAsUKw0HGQcdBxQwEBEMLAk4Kw0HGQcdBxQwEBEMLAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAETC+/8JAAAAAEEOCIUCQg0FQcUM +BARFEwIAAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAA +oLD7/6cBAAAEFItIAEEOCIUCQg0FQ4cDhgSDBQLFCsNBxkHHQcUMBARDCwJOCsNB +xkHHQcUMBARDCwAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAAA0wPv/ +CQAAAABBDgiFAkINBUHFDAQERQ4AAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAAB4Av3/EgAAAAAAAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAACwAAAAkAAAA5IH8/8oHAAAEcItIAGEOCIUCRw0FRIMDA4sGxcMMBARZDAUI +gwOFAiAAAABUAAAAhIn8/4UAAAAEzItIAHUOIH8KDgRBC0sOBAAAADgAAAB4AAAA +UH78/0ACAAAE4ItIAEEOCIUCQg0FRYYDgwRTCsNBxkHFDAQEQwsDCwIKw0HGQcUM +BARBCxQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAADgAAAAcAAAAXJL4/0YAAAAAQQ4I +hQJDDgyHA0MOEIYEQw4UgwVFDjBuDhRDww4QQ8YODEHHDghBxQ4EABAAAABYAAAA +8Cr7/w0AAAAAAAAANAAAAGwAAACcKPv/VAAAAABBDgiGAkEODIMDRQ4gcgoODEHD +DghBxg4ERQtNDgxDww4IQcYOBAAcAAAApAAAAMQo+/+OAAAAAEMOMGUKDgRICwJZ +DgQAACgAAADEAAAAlCb7/1MAAAAAQQ4IgwJDDiBlCg4IQ8MOBEQLXQ4IQ8MOBAAA +EAAAAPAAAACY9fj/CAAAAAAAAAAQAAAABAEAADQm+/8GAAAAAAAAABAAAAAYAQAA +MCb7/wMAAAAAAAAAKAAAACwBAACsJvv/UAAAAABBDgiDAkUOIFUKDghDww4EQgts +DghDww4EAAAQAAAAWAEAAAAq+/8FAAAAAAAAAFAAAABsAQAAvCb7/1YAAAAAQQ4I +hQJDDgyHA0EOEIYEQQ4UgwVDDjBoCg4UQ8MOEEHGDgxBxw4IQcUOBEkLTQ4UQ8MO +EEHGDgxBxw4IQcUOBAAAABQAAADAAQAAyCb7/xsAAAAAQw4QVQ4EADgAAADYAQAA +ICj7/04AAAAAQQ4IhwJDDgyGA0EOEIMEYQrDDgxBxg4IQccOBEgLWcMODEHGDghB +xw4EADQAAAAUAgAAlCb7/1MAAAAAQQ4IhwJBDgyGA0MOIHYKDgxBxg4IQccOBEQL +Qw4MS8YOCEHHDgQAFAAAAEwCAABsJfv/EQAAAABDDiBNDgQAVAAAAGQCAADkJ/v/ +9QAAAABBDgiFAkEODIcDQQ4QhgRDDhSDBUYOoAECtAoOFEHDDhBBxg4MQccOCEHF +DgRBC2MKDhRBww4QQcYODEXHDghBxQ4EQQsAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAAVMb4/wYAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAAA4xvj/BgAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAFxd/P8HAAAAAAAAABQAAAAwAAAAKF38/xUAAAAAQw4gUQ4EABQAAABIAAAA +wFz8/yMAAAAAQw4gXw4EABQAAABgAAAAaA39/yMAAAAAUw4gTw4EABAAAAB4AAAA +oF/8/x8AAAAAAAAAEAAAAIwAAAB8X/z/CQAAAAAAAAAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAASAD5/2YCAAAEDYxIAEEOCIUCQg0FQ4cD +hgSDBQOzAQrDQcZBx0HFDAQERAtiCsNBxkHHQcUMBARDCwAATAAAAGgAAAB0Avn/ +eAEAAAQcjEgAQQ4IhQJCDQVDhwOGBIMFAoYKw0HGQcdBxQwEBEMLRgrDQcZBx0HF +DAQERQtQCsNBxkHHQcUMBARDCwAcAAAAVAEAAGRD/P9sAAAAAEMOIGUKDgRIC0oK +DgRGCxgAAAB0AQAA5Fr8/1wAAAAAQw4gZgoOBEcLAAAQAAAAkAEAALha/P8GAAAA +AAAAADAAAAAIAQAAZFn8/zwBAAAEOIxIAEEOCIYCQw4MgwNDDiACxAoODEHDDghB +xg4EQQsAAAA4AAAA2AEAAHBf/P94AAAAAEEOCIYCQw4MgwNDDiByCg4MQcMOCEHG +DgRFC2IKDgxBww4IQcYOBEMLAAAsAAAAFAIAAORe/P9DAAAAAEEOCIMCQw4gWgoO +CEHDDgRBC1YKDghBww4EQQsAAABAAAAAqAEAAERH/P+wAQAABGiMSABBDgiFAkEO +DIcDQQ4QhgRBDhSDBUUOMANxAQoOFEHDDhBBxg4MQccOCEHFDgRDCzAAAADsAQAA +oEL8/1MBAAAEhIxIAEEOCIYCQw4MgwNDDjACcwoODEHDDghBxg4ERAsAAAAQAAAA +vAIAAAz++P80AAAAAAAAAEAAAAA0AgAAuEP8/28CAAAEtIxIAEEOCIUCQQ4MhwNB +DhCGBEEOFIMFQw5AA7QBCg4UQcMOEEHGDgxBxw4IQcUOBEMLMAAAABQDAADkRfz/ +TAAAAABBDgiFAkINBUGHA0eGBIMFbQrDQcZBx0HFDAQERRMBCwAAACgAAABIAwAA +AEb8/zsAAAAAQQ4IhQJCDQVBhwNHhgSDBWrDQcZBx0HFDAQEFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAADcq/j/CwAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAcAAAAHAAAAJCr+P8eAAAAAEEOCIMCRQ4gVg4IQcMOBBQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAASKv4/wsAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAHAAAABwAAAD8qvj/HgAAAABBDgiDAkUOIFYOCEHDDgQUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAASt+P8tAAAAAEMOIBwAAAAAAAAA +AXpQTFIAAXwIBwCQN0gAABsMBASIAQAAHAAAACQAAACwmvj/NwAAAAT8i0gATw4g +Tw4EQg4gAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAYAAAAHAAAAJiD/P9uAAAA +AEEOCIMCAmjDDgQAEAAAADgAAAAcgvz/MQAAAAAAAAAcAAAATAAAALh4/P82AAAA +AEEOCIMCRQ4gbA4IQcMOBBwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +WAAAACQAAABYdPz/fwEAAAT4jEgAQQ4IhQJBDgyHA0EOEIYEQQ4UgwVFDjACwwoO +FEHDDhBBxg4MQccOCEHFDgRDC14KDhREww4QQcYODEHHDghBxQ4ESAsAAAA4AAAA +gAAAALx3/P9UAAAABBiNSABBDgiHAkEODIYDQw4QgwRDDiBlCg4QQcMODEHGDghB +xw4EQwsAAAAoAAAAJAEAACB4/P9dAAAAAEEOCIYCQw4MgwNDDiACUw4MQcMOCEHG +DgQAACAAAABQAQAA9IL8/04AAAAAQQ4IhQJCDQVBgwMCRcXDDAQEABwAAAB0AQAA +sIL8/xgAAAAAQQ4IgwJFDiBQDghBww4EFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAAAY7fj/BAAAAAAAAAAQAAAAMAAAADTu+P8EAAAAAAAAACgAAABEAAAA +YLj7/14AAAAAQQ4IhQJCDQVChgODBGQKw0HGQcUMBARBCwAAHAAAAHAAAAAUuPv/ +GAAAAABBDgiDAkUOIFAOCEHDDgQQAAAAkAAAAHQc+/8LAAAAAAAAABwAAACkAAAA +QBz7/x4AAAAAQQ4IgwJFDiBWDghBww4EEAAAAMQAAACg4/v/CwAAAAAAAAAcAAAA +2AAAAGzj+/8eAAAAAEEOCIMCRQ4gVg4IQcMOBBAAAAD4AAAAfPn7/wsAAAAAAAAA +HAAAAAwBAABI+fv/HgAAAABBDgiDAkUOIFYOCEHDDgQoAAAALAEAACgb+/9eAAAA +AEEOCIUCQg0FQoYDgwRkCsNBxkHFDAQEQQsAABwAAABYAQAA3Br7/xgAAAAAQQ4I +gwJFDiBQDghBww4EEAAAAHgBAACcIvv/CwAAAAAAAAAcAAAAjAEAAGgi+/8eAAAA +AEEOCIMCRQ4gVg4IQcMOBBAAAACsAQAAOAX8/wsAAAAAAAAAHAAAAMABAAAEBfz/ +HgAAAABBDgiDAkUOIFYOCEHDDgQQAAAA4AEAAMQi+/8LAAAAAAAAABwAAAD0AQAA +kCL7/x4AAAAAQQ4IgwJFDiBWDghBww4EEAAAABQCAADwIvv/CwAAAAAAAAAcAAAA +KAIAALwi+/8eAAAAAEEOCIMCRQ4gVg4IQcMOBBwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAALAAAACQAAACMGfv/OwAAAAQ4jUgAQQ4IhQJCDQVChgODBGAK +w0HGQcUMBARDCwAAIAAAAJgCAAAsIfv/JAAAAABBDgiFAkINBUGDA13FwwwEBAAA +IAAAALwCAADYA/z/JAAAAABBDgiFAkINBUGDA13FwwwEBAAAIAAAAOACAAB0Ifv/ +JAAAAABBDgiFAkINBUGDA13FwwwEBAAAIAAAAAQDAACwIfv/JAAAAABBDgiFAkIN +BUGDA13FwwwEBAAALAAAAOQAAAActfv/OwAAAAREjUgAQQ4IhQJCDQVChgODBGAK +w0HGQcUMBARDCwAAIAAAAFgDAABcGfv/JAAAAABBDgiFAkINBUGDA13FwwwEBAAA +IAAAAHwDAACY4Pv/JAAAAABBDgiFAkINBUGDA13FwwwEBAAAIAAAAKADAACE9vv/ +JAAAAABBDgiFAkINBUGDA13FwwwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAAB48fj/CAAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAIzx+P8IAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAA +8PD4/y0AAAAAQQ4IgwJDDiBjDghDww4EFAAAAAAAAAABelIAAXwIARsMBASIAQAA +HAAAABwAAAD48Pj/LQAAAABBDgiDAkMOIGMOCEPDDgQcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAACwAAAAkAAAAaDf8/0oAAAAEUI1IAEEOCIYCQQ4MgwNF +DiBpCg4MQ8MOCEHGDgRFCywAAABUAAAAyDj8/0EAAAAEYI1IAEEOCIYCQQ4MgwNF +DiBaCg4MQ8MOCEHGDgRFCxQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +kB77/wsAAAAAAAAAHAAAADAAAAC8Nvz/GAAAAABBDgiDAkUOIFAOCEHDDgQcAAAA +UAAAACw4/P8YAAAAAEEOCIMCRQ4gUA4IQcMOBBwAAABwAAAAHB77/x4AAAAAQQ4I +gwJFDiBWDghBww4EOAAAAJAAAABc7vj/sQAAAABBDgiFAkQNBUKHA4YESYMFAmMK +w0HGQcdBxQwEBEELdsNBxkHHQcUMBAQALAAAAMwAAACw7fj/ZgAAAABBDgiFAkQN +BUKHA4YESYMFAlLDQcZBx0HFDAQEAAAALAAAAHwBAAAwN/z/TQAAAARwjUgAQQ4I +hgJDDgyDA0UOIGgKDgxBww4IQcYOBEMLHAAAACwBAADANvz/OwAAAABBDgiDAkUO +IHEOCEHDDgRAAAAAzAEAAKAc+/+UAAAABHyNSABBDgiFAkINBUGHA0eGBIMFegrD +QcZBx0HFDAQESAttCsNBxkHHQcUMBARDCwAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAAtPH8/wUAAAAAAAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAA +GwwEBIgBAAAcAAAAJAAAALDx/P8lAAAABJCNSABDDiBPCg4EQQsAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAiLP8/y0AAAAAQw4gEAAAADAAAADUqvz/ +LQAAAABDDiAQAAAARAAAACCq/P8tAAAAAEMOIBAAAABYAAAAXKv8/y0AAAAAQw4g +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAgAAAAJAAAAPir/P+RAAAA +BKiNSABBDgiFAkINBUWGA4MEAAAgAAAASAAAAGSt/P+RAAAABLiNSABBDgiFAkIN +BUWGA4MEAAAgAAAAbAAAAOC0/P+RAAAABMiNSABBDgiFAkINBUWGA4MEAAAgAAAA +kAAAAJyu/P+RAAAABNiNSABBDgiFAkINBUWGA4MEAAAgAAAAtAAAABiv/P+RAAAA +BOiNSABBDgiFAkINBUWGA4MEAAAgAAAA2AAAAJSy/P+RAAAABPiNSABBDgiFAkIN +BUWGA4MEAAAgAAAA/AAAAMCr/P+RAAAABAiOSABBDgiFAkINBUWGA4MEAAAgAAAA +IAEAAOyy/P+RAAAABBiOSABBDgiFAkINBUWGA4MEAAAgAAAARAEAAGiz/P+RAAAA +BCiOSABBDgiFAkINBUWGA4MEAAAgAAAAaAEAADSq/P97AAAABDiOSABBDgiFAkIN +BUWGA4MEAAAgAAAAjAEAAOCu/P/NAAAABESOSABBDgiFAkINBUaHA4YEgwUgAAAA +sAEAAJys/P/VAAAABFaOSABBDgiFAkINBUaHA4YEgwUQAAAAPAIAABi0/P8tAAAA +AEMOICAAAADoAQAAdKv8/1AAAAAEaI5IAEEOCIUCQg0FRYYDgwQAABwAAAAAAAAA +AXpQTFIAAXwIBwCQN0gAABsMBASIAQAAJAAAACQAAAAw7/z/bAAAAAR0jkgAQQ4I +gwJIDiBlCg4IQcMOBEELABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +cPX8/wgAAAAAAAAAPAAAADAAAABc8fz/bgAAAABBDgiHAkEODIYDQQ4QgwRyCsMO +DEHGDghBxw4EQQteCsMODEHGDghBxw4ESAsAACwAAABwAAAADPP8/4cAAAAAQQ4I +gwJDDiB2Cg4IQcMOBEULXAoOCEHDDgRDCwAAABQAAACgAAAAjKj8/xQAAAAAQw4Q +UA4EABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACwAAAAcAAAADHv4/0EAAAAAQQ4I +gwJDDiBnCg4IQcMOBEULQwoOCEHDDgRBCwAAABgAAABMAAAA/Pb8/1wAAAAAQQ4I +gwJDDiAAAAAYAAAAaAAAAID2/P9SAAAAAEEOCIMCQw4gAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAAAc9vz/JAAAAABDDiAQAAAAMAAAAOjx/P8kAAAA +AEMOIBQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABQAAAAcAAAAfPz8/yMAAAAAUw4g +Tw4EABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAAOAAAACQAAACE7vz/ +2QAAAASMjkgAQQ4IhwJBDgyGA0EOEIMEQw4gbAoOEETDDgxBxg4IQccOBEgLAAAA +MAAAAGAAAADI8vz/tQAAAASojkgAQQ4IgwJDDiBeCg4IQcMOBEULAmoKDghBww4E +QQsAACwAAACUAAAARO38/8kAAAAE0I5IAEEOCIcCQQ4MgwNDDiBpCg4MQ8MOCEHH +DgRBCzAAAADEAAAApPH8/7UAAAAE7I5IAEEOCIMCQw4gWQoOCEHDDgRFCwJvCg4I +QcMOBEELAAAYAAAAKAEAAGAK/f8qAAAAAEMOIFgKDgRBCwAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAABsnvj/LQAAAABDDiAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAUAAAAHAAAAEB8+P8xAAAAAFcOIFkOBAAQAAAANAAAABgK/f8tAAAA +AEMOIBwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAAOAAAACQAAADU8vz/ +8wAAAAQUj0gAQQ4IgwJDDiBcCg4IQcMOBEELAlIKDghDww4EQQtNCg4IRsMOBEUL +HAAAAGAAAABY8vz/QAAAAAQsj0gAQw4gVAoOBEELAAAcAAAAgAAAAHjz/P9IAAAA +BECPSABDDiBXCg4ERgsAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +oPH4/xwAAAAAAAAAEAAAADAAAAAc8fj/EgAAAAAAAAAQAAAARAAAAFjx+P8cAAAA +AAAAABAAAABYAAAAFPH4/wYAAAAAAAAAEAAAAGwAAAAg8fj/BgAAAAAAAAAQAAAA +gAAAAFzx+P8UAAAAAAAAABAAAACUAAAA6PD4/wYAAAAAAAAAEAAAAKgAAABU8fj/ +EgAAAAAAAAAQAAAAvAAAAIDx+P8DAAAAAAAAABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAALAAAACQAAAA8Xvz/QQAAAARUj0gAQQ4IhgJBDgyDA0UOIFoK +DgxDww4IQcYOBEULHAAAACABAADsXfz/GAAAAABBDgiDAkUOIFAOCEHDDgQsAAAA +dAAAANxe/P9BAAAABGSPSABBDgiGAkEODIMDRQ4gWgoODEPDDghBxg4ERQscAAAA +cAEAAIxe/P8YAAAAAEEOCIMCRQ4gUA4IQcMOBCwAAADEAAAALF38/0IAAAAEdI9I +AEEOCIYCQw4MgwNFDiBdCg4MQcMOCEHGDgRDCxwAAADAAQAAzFz8/zAAAAAAQQ4I +gwJFDiBmDghBww4ELAAAABQBAADMXfz/QgAAAASAj0gAQQ4IhgJDDgyDA0UOIF0K +DgxBww4IQcYOBEMLHAAAABACAABsXfz/MAAAAABBDgiDAkUOIGYOCEHDDgQUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAETO+P8IAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAiM74/wgAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAADczfj/BwAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAACDN+P8HAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAA5Mz4/wcAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAABIz/j/CAAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAIzP+P8IAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +4M74/wcAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAAkzvj/ +BwAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAOjN+P8HAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAHLr5/wgAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAAAuvn/CAAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAALTb+f8DAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAmLf5/wUAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAAB8t/n/AwAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAYAAAAHAAAADD3+P8jAAAAAEEOCIMCX8MOBAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAAAci/z/CwAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAAPCL/P8LAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAAJF/8/wsAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAAD4X/z/CwAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAJz6+/8LAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +MHv8/wsAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAAEevz/ +CwAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAOgh/P8LAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAXCH8/wsAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAADw5fv/CwAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAMTk+/8LAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACAAAAAcAAAAmMj4/y0AAAAAQQ4IhQJCDQVBgwNmxcMM +BAQAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAAPMr4/y0AAAAAQQ4I +hQJCDQVBgwNmxcMMBAQAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAA +ALb5/y0AAAAAQQ4IhQJCDQVBgwNmxcMMBAQAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACAAAAAcAAAApMj4/y0AAAAAQQ4IhQJCDQVBgwNmxcMMBAQAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACAAAAAcAAAA6Mj4/y0AAAAAQQ4IhQJCDQVBgwNmxcMM +BAQAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAAfMj4/y0AAAAAQQ4I +hQJCDQVBgwNmxcMMBAQAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAA +0Mn4/y0AAAAAQQ4IhQJCDQVBgwNmxcMMBAQAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACAAAAAcAAAAFMr4/y0AAAAAQQ4IhQJCDQVBgwNmxcMMBAQAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACAAAAAcAAAAqMn4/y0AAAAAQQ4IhQJCDQVBgwNmxcMM +BAQAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAAjLT5/y0AAAAAQQ4I +hQJCDQVBgwNmxcMMBAQAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAA +gLT5/y0AAAAAQQ4IhQJCDQVBgwNmxcMMBAQAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACAAAAAcAAAApBT8/1kAAAAAQQ4IgwJFDiACSw4IQ8MOBAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACAAAAAcAAAAiBz8/1kAAAAAQQ4IgwJFDiACSw4IQ8MO +BAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAAfO77/00AAAAAQQ4I +gwJFDiB/DghDww4EFAAAAAAAAAABelIAAXwIARsMBASIAQAAHAAAABwAAADUE/z/ +GAAAAABBDgiDAkUOIFAOCEHDDgQUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAcAAAA +HAAAALwb/P8YAAAAAEEOCIMCRQ4gUA4IQcMOBBQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABwAAAAcAAAAZIX8/x4AAAAAQQ4IgwJFDiBWDghBww4EFAAAAAAAAAABelIA +AXwIARsMBASIAQAAHAAAABwAAAAshvz/HgAAAABBDgiDAkUOIFYOCEHDDgQUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAcAAAAHAAAAETt+/8YAAAAAEEOCIMCRQ4gUA4I +QcMOBBQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAAHFn8/x4AAAAAQQ4I +gwJFDiBWDghBww4EFAAAAAAAAAABelIAAXwIARsMBASIAQAAHAAAABwAAADkWfz/ +HgAAAABBDgiDAkUOIFYOCEHDDgQUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAcAAAA +HAAAAHz0+/8eAAAAAEEOCIMCRQ4gVg4IQcMOBBQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABwAAAAcAAAABHX8/x4AAAAAQQ4IgwJFDiBWDghBww4EFAAAAAAAAAABelIA +AXwIARsMBASIAQAAHAAAABwAAADMc/z/HgAAAABBDgiDAkUOIFYOCEHDDgQUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAcAAAAHAAAAKQb/P8eAAAAAEEOCIMCRQ4gVg4I +QcMOBBQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAADBv8/x4AAAAAQQ4I +gwJFDiBWDghBww4EFAAAAAAAAAABelIAAXwIARsMBASIAQAAHAAAABwAAACU3/v/ +HgAAAABBDgiDAkUOIFYOCEHDDgQUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAcAAAA +HAAAAFze+/8eAAAAAEEOCIMCRQ4gVg4IQcMOBBwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAALAAAACQAAAD8avz/NQAAAASMj0gAQQ4IhgJBDgyDA0UOIFQK +DgxDww4IQcYOBEULFAAAAAAAAAABelIAAXwIARsMBASIAQAAHAAAABwAAACUavz/ +GAAAAABBDgiDAkUOIFAOCEHDDgQcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAACwAAAAkAAAAVFX8/zUAAAAEnI9IAEEOCIYCQQ4MgwNFDiBUCg4MQ8MOCEHG +DgRFCxQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAbPj7/wsAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAHAAAABwAAAAg+Pv/HgAAAABBDgiDAkUO +IFYOCEHDDgQUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAAj6+/8LAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAAvPn7/x4AAAAAQQ4I +gwJFDiBWDghBww4EFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAACk2/v/ +CwAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAcAAAAHAAAAFjb+/8eAAAA +AEEOCIMCRQ4gVg4IQcMOBBwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +LAAAACQAAABo/vr/WQAAAASsj0gAQQ4IhgJBDgyDA0UOIHgKDgxDww4IQcYOBEUL +FAAAAAAAAAABelIAAXwIARsMBASIAQAAHAAAABwAAAAA/vr/GAAAAABBDgiDAkUO +IFAOCEHDDgQUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAACjC+/8LAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAA3MH7/x4AAAAAQQ4I +gwJFDiBWDghBww4EHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAwAAAA +JAAAAHzo+P8VAQAABLyPSABBDgiFAkINBUGHA0eGBIMFAtUKw0HGQcdBxQwEBEML +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAAQ+fz/CgAAAAAAAAAQAAAA +MAAAAAz5/P/CAAAAAAAAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +LAAAACQAAAAYUvz/PgAAAATOj0gAQQ4IhgJBDgyDA0UOIGMKDgxBww4IQcYOBEEL +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAsAAAAJAAAALjE+/81AAAA +BN6PSABBDgiGAkEODIMDRQ4gVAoODEPDDghBxg4ERQscAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAACwAAAAkAAAAKMT7/z4AAAAE7o9IAEEOCIYCQQ4MgwNF +DiBjCg4MQcMOCEHGDgRBCxwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +MAAAACQAAABI6Pj/0wEAAAQAkEgAQQ4IhQJCDQVGhwOGBIMFA0cBCsNBxkHHQcUM +BARDCxQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAAEQAAAAcAAAAHIr8/88AAAAAQQ4I +hwJGDgyGA0EOEIMEQw4gAkIKDhBDww4MQcYOCEHHDgRBCwJ2DhBDww4MQcYOCEHH +DgQAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAALAAAACQAAACk6Pr/ +VQAAAAQ0kEgAQQ4IhQJEDQVChgODBHgKw0HGQcUMBARDCwAAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAAAsAAAAJAAAADTn+v9VAAAABECQSABBDgiFAkQN +BUKGA4MEeArDQcZBxQwEBEMLAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAACwAAAAkAAAAROf6/1YAAAAETJBIAEEOCIUCRA0FQoYDgwR5CsNBxkHFDAQE +QwsAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAALAAAACQAAADU5fr/ +VAAAAARYkEgAQQ4IhQJEDQVChgODBHcKw0HGQcUMBARDCwAAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAAAsAAAAJAAAAATn+v9TAAAABGSQSABBDgiFAkQN +BUKGA4MEdgrDQcZBxQwEBEMLAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAACwAAAAkAAAAlOX6/1UAAAAEcJBIAEEOCIUCRA0FQoYDgwR4CsNBxkHFDAQE +QwsAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAfLv4/wcAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAADAu/j/BwAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAGS8+P8gAAAAAEEOCIUCQg0FQYMD +WcXDDAQEAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAIi6+P8gAAAA +AEEOCIUCQg0FQYMDWcXDDAQEAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAA +HAAAAPy6+P8gAAAAAEEOCIUCQg0FQYMDWcXDDAQEAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAgAAAAHAAAAKC6+P8gAAAAAEEOCIUCQg0FQYMDWcXDDAQEAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAACS6+P8HAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABQAAAAcAAAAmLn4/wwAAAAAQw4QSA4EABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABQAAAAcAAAAWLn4/wwAAAAAQw4QSA4EABwAAAAAAAAA +AXpQTFIAAXwIBwCQN0gAABsMBASIAQAALAAAACQAAADQ6Pr/VQAAAAR8kEgAQQ4I +hQJEDQVChgODBHgKw0HGQcUMBARDCwAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAA +GwwEBIgBAAAsAAAAJAAAAGDn+v9VAAAABIiQSABBDgiFAkQNBUKGA4MEeArDQcZB +xQwEBEMLAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAACwAAAAkAAAA +cOf6/1YAAAAElJBIAEEOCIUCRA0FQoYDgwR5CsNBxkHFDAQEQwsAABwAAAAAAAAA +AXpQTFIAAXwIBwCQN0gAABsMBASIAQAALAAAACQAAAAA5vr/VAAAAASgkEgAQQ4I +hQJEDQVChgODBHcKw0HGQcUMBARDCwAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAA +GwwEBIgBAAAsAAAAJAAAADDn+v9TAAAABKyQSABBDgiFAkQNBUKGA4MEdgrDQcZB +xQwEBEMLAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAACwAAAAkAAAA +wOX6/1UAAAAEuJBIAEEOCIUCRA0FQoYDgwR4CsNBxkHFDAQEQwsAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAqLn4/wcAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAADsufj/BwAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAgAAAAHAAAAJC6+P8gAAAAAEEOCIUCQg0FQYMDWcXDDAQEAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAALS4+P8gAAAAAEEOCIUCQg0FQYMD +WcXDDAQEAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAACi5+P8gAAAA +AEEOCIUCQg0FQYMDWcXDDAQEAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAA +HAAAAMy4+P8gAAAAAEEOCIUCQg0FQYMDWcXDDAQEAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAAFC4+P8HAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABQAAAAcAAAAxLf4/wwAAAAAQw4QSA4EABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABQAAAAcAAAAhLf4/wwAAAAAQw4QSA4EABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAApAP8/4oAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAADoAvz/igAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAA +HAAAAFwE/P9ZAAAAAEEOCIMCRQ4gAksOCEPDDgQAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAADAL/P+KAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAAdAr8/4oAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +IAAAABwAAADoC/z/WQAAAABBDgiDAkUOIAJLDghDww4EAAAAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAABAAAAAJAAAAITq+//WAAAABMSQSABBDgiFAkQN +BUOHA4YEgwUCYArDQcZBx0HFDAQERQt+CsNBxkHHQcUMBARDCwAAABwAAAAAAAAA +AXpQTFIAAXwIBwCQN0gAABsMBASIAQAAQAAAACQAAABA6fv/1gAAAATdkEgAQQ4I +hQJEDQVDhwOGBIMFAmIKw0HGQcdBxQwEBEMLfgrDQcZBx0HFDAQEQwsAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAANTq+/8LAAAAAAAAABwAAAAAAAAA +AXpQTFIAAXwIBwCQN0gAABsMBASIAQAAQAAAACQAAACQ6/v/1gAAAAT2kEgAQQ4I +hQJEDQVDhwOGBIMFAmAKw0HGQcdBxQwEBEULfgrDQcZBx0HFDAQEQwsAAAAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAATOr7/9YAAAAED5FI +AEEOCIUCRA0FQ4cDhgSDBQJgCsNBxkHHQcUMBARFC34Kw0HGQcdBxQwEBEMLAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAADg6/v/CwAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAARz/P8XAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAuHL8/xcAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAIAAAABwAAADMGfr/TgAAAABBDgiFAkINBUSDAwJExcMMBAQA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAABAGfr/TgAAAABBDgiFAkIN +BUSDAwJExcMMBAQAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAACEcvz/ +CwAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAAhz/P8XAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAvHL8/xcAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAADgK/r/QQAAAABBDgiFAkIN +BUSDA3fFwwwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAABUK/r/ +QQAAAABBDgiFAkINBUSDA3fFwwwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAACIcvz/CwAAAAAAAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAACwAAAAkAAAApF/8/08AAAAEKJFIAEEOCIUCRA0FQoYDgwRyCsNBxkHFDAQE +QwsAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAALAAAACQAAABkXvz/ +TQAAAAQ0kUgAQQ4IhQJEDQVChgODBHAKw0HGQcUMBARDCwAAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAAAsAAAAJAAAAGRe/P9MAAAABECRSABBDgiFAkQN +BUKGA4MEbwrDQcZBxQwEBEMLAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAACwAAAAkAAAAJF38/04AAAAETJFIAEEOCIUCRA0FQoYDgwRxCsNBxkHFDAQE +QwsAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAALAAAACQAAAAUXvz/ +TAAAAARYkUgAQQ4IhQJEDQVChgODBG8Kw0HGQcUMBARDCwAAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAAAsAAAAJAAAANRc/P9MAAAABGSRSABBDgiFAkQN +BUKGA4MEbwrDQcZBxQwEBEMLAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAADyd+f8HAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +IJ35/wcAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAAAknfn/ +IAAAAABBDgiFAkINBUGDA1nFwwwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +IAAAABwAAAAInfn/IAAAAABBDgiFAkINBUGDA1nFwwwEBAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAIAAAABwAAADsnPn/IAAAAABBDgiFAkINBUGDA1nFwwwEBAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAAw1vv/WAAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAKTV+/9YAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABwAAAAcAAAAqNb7/00AAAAAQQ4IgwJFDiB/DghDww4E +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAABAAAAAJAAAADjH+//EAAAA +BHCRSABBDgiFAkQNBUOHA4YEgwUCWArDQcZBx0HFDAQEQwt2CsNBxkHHQcUMBARD +CwAAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAAQAAAACQAAAAExvv/ +xgAAAASIkUgAQQ4IhQJEDQVDhwOGBIMFAloKw0HGQcdBxQwEBEMLdgrDQcZBx0HF +DAQEQwsAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAHjH+/8LAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA/ED8/xcAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAACwQPz/FwAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAGRV+f9GAAAAAEEOCIUCQg0FRIMD +fMXDDAQEAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAALhW+f9GAAAA +AEEOCIUCQg0FRIMDfMXDDAQEAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAA +HAAAABxX+f9GAAAAAEEOCIUCQg0FRIMDfMXDDAQEAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAgAAAAHAAAAPBV+f9GAAAAAEEOCIUCQg0FRIMDfMXDDAQEAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAFRW+f9GAAAAAEEOCIUCQg0FRIMD +fMXDDAQEAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAALhW+f9GAAAA +AEEOCIUCQg0FRIMDfMXDDAQEAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAA +HAAAAMxW+f9GAAAAAEEOCIUCQg0FRIMDfMXDDAQEAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAgAAAAHAAAALBU+f9GAAAAAEEOCIUCQg0FRIMDfMXDDAQEAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAANRT+f9GAAAAAEEOCIUCQg0FRIMD +fMXDDAQEAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAOhT+f9GAAAA +AEEOCIUCQg0FRIMDfMXDDAQEAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAA +HAAAALxS+f9GAAAAAEEOCIUCQg0FRIMDfMXDDAQEAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAAGA+/P8LAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAA5D78/xcAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAACYPvz/FwAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAA +HAAAAAyN+f86AAAAAEEOCIUCQg0FRIMDcMXDDAQEAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAgAAAAHAAAAJCN+f85AAAAAEEOCIUCQg0FRIMDb8XDDAQEAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAJSN+f85AAAAAEEOCIUCQg0FRIMD +b8XDDAQEAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAJiN+f9AAAAA +AEEOCIUCQg0FRIMDdsXDDAQEAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAA +HAAAAJyN+f9AAAAAAEEOCIUCQg0FRIMDdsXDDAQEAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAgAAAAHAAAACCM+f85AAAAAEEOCIUCQg0FRIMDb8XDDAQEAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAACSM+f85AAAAAEEOCIUCQg0FRIMD +b8XDDAQEAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAACiL+f85AAAA +AEEOCIUCQg0FRIMDb8XDDAQEAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAPw8/P8LAAAAAAAAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +LAAAACQAAABo5Pr/VwAAAASgkUgAQQ4IhQJEDQVChgODBHoKw0HGQcUMBARDCwAA +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAsAAAAJAAAAHji+v9XAAAA +BKyRSABBDgiFAkQNBUKGA4MEegrDQcZBxQwEBEMLAAAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAACwAAAAkAAAAiOL6/1YAAAAEuJFIAEEOCIUCRA0FQoYD +gwR5CsNBxkHFDAQEQwsAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +LAAAACQAAACY4Pr/VgAAAATEkUgAQQ4IhQJEDQVChgODBHkKw0HGQcUMBARDCwAA +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAwAAAAJAAAAEji+v/SAAAA +BNCRSABBDgiFAkQNBUOHA4YEgwUCTgrDQcZBx0HFDAQERwsAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAAAwAAAAJAAAAFTg+v/SAAAABPCRSABBDgiFAkQN +BUOHA4YEgwUCTgrDQcZBx0HFDAQERwsAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAACIq/j/GAAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAHyr+P8YAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +wKv4/xgAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAD0qvj/ +AwAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAEit+P8YAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAzKz4/0UAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAADAqvj/RQAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAOSs+P+BAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA2Kr4/5YAAAAAAAAAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAAAsAAAAJAAAANTh+v9ZAAAABBCSSABBDgiGAkEO +DIMDRQ4geAoODEPDDghBxg4ERQsUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAAzS+/+aAQAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +QND7/5oBAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAACE0/v/ +CwAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAMhT/P8XAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAfFP8/xcAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAACw1fn/SQAAAABBDgiFAkIN +BUSDA3/FwwwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAACEU/z/ +CwAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAHi++/8XAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAALL77/xcAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAABwvvv/CwAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAIRR/P8XAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAOFH8/xcAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAAB8rfn/BwAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAgAAAAHAAAACDO+f9GAAAAAEEOCIUCQg0FRIMDfMXDDAQEAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAJTN+f9GAAAAAEEOCIUCQg0FRIMD +fMXDDAQEAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAGiw+f9GAAAA +AEEOCIUCQg0FRIMDfMXDDAQEAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAA +HAAAAIyw+f9GAAAAAEEOCIUCQg0FRIMDfMXDDAQEAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAgAAAAHAAAAIDN+f9GAAAAAEEOCIUCQg0FRIMDfMXDDAQEAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAACRQ/P8LAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAGLv7/xcAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAADMuvv/FwAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAABC7+/8LAAAAAAAAABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAALAAAACQAAAAsR/z/PAAAAAQgkkgAQQ4IhgJDDgyDA0UOIF0K +DgxBww4IQcYOBEMLHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAsAAAA +JAAAAFxG/P88AAAABCySSABBDgiGAkMODIMDRQ4gXQoODEHDDghBxg4EQwscAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAACwAAAAkAAAATEb8/zwAAAAEOJJI +AEEOCIYCQw4MgwNFDiBdCg4MQcMOCEHGDgRDCxwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAALAAAACQAAAB8Rfz/PAAAAAREkkgAQQ4IhgJDDgyDA0UOIF0K +DgxBww4IQcYOBEMLFAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAADEifn/ +CwAAAABDDgiFAkINBUTFDAQEQhMBAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +HAAAABwAAACYifn/HwAAAABBDgiFAkINBVnFDAQEAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAgAAAAHAAAABCJ+f8+AAAAAEEOCIUCQg0FQYMDd8XDDAQEAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAESJ+f8LAAAAAEMOCIUCQg0FRMUM +BARCDgAAAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAACwAAAAkAAAA +oEX8/zUAAAAEUJJIAEEOCIYCQQ4MgwNFDiBUCg4MQ8MOCEHGDgRFCxQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAmLP7/wsAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAHAAAABwAAABMs/v/HgAAAABBDgiDAkUOIFYOCEHDDgQUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAMSH+f8JAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAqIf5/wsAAAAAAAAAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAABAAAAAJAAAACSy+/+NAAAABGCSSABBDgiFAkIN +BUGHA0eGBIMFegrDQcZBx0HFDAQESAtmCsNBxkHHQcUMBARDCwAAABwAAAAAAAAA +AXpQTFIAAXwIBwCQN0gAABsMBASIAQAAQAAAACQAAAAwsfv/jQAAAARxkkgAQQ4I +hQJCDQVBhwNHhgSDBXoKw0HGQcdBxQwEBEgLZgrDQcZBx0HFDAQEQwsAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAACSy+/8LAAAAAAAAABwAAAAAAAAA +AXpQTFIAAXwIBwCQN0gAABsMBASIAQAAQAAAACQAAABgnPv/jQAAAASCkkgAQQ4I +hQJCDQVBhwNHhgSDBXoKw0HGQcdBxQwEBEgLZgrDQcZBx0HFDAQEQwsAAAAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAAbJv7/40AAAAEk5JI +AEEOCIUCQg0FQYcDR4YEgwV6CsNBxkHHQcUMBARIC2YKw0HGQcdBxQwEBEMLAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAABgnPv/CwAAAAAAAAAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAACwAAAAkAAAAzCz8/zwAAAAEpJJI +AEEOCIYCQw4MgwNFDiBdCg4MQcMOCEHGDgRDCxwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAALAAAACQAAAAMLPz/PAAAAASwkkgAQQ4IhgJDDgyDA0UOIF0K +DgxBww4IQcYOBEMLFAAAAAAAAAABelIAAXwIARsMBASIAQAAHAAAABwAAAAELPz/ +MAAAAABBDgiDAkUOIGYOCEHDDgQUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAcAAAA +HAAAAFwr/P8wAAAAAEEOCIMCRQ4gZg4IQcMOBBQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACAAAAAcAAAAFMX4/wsAAAAAQw4IhQJCDQVExQwEBEITAwAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACAAAAAcAAAAGMX4/zAAAAAAQQ4IhQJCDQVBgwNpxcMM +BAQAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAAjMT4/wsAAAAAQw4I +hQJCDQVExQwEBEITAQAAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +LAAAACQAAADIK/z/NQAAAAS8kkgAQQ4IhgJBDgyDA0UOIFQKDgxDww4IQcYOBEUL +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAABYAAAAJAAAAPic+/+rAAAA +BMySSABBDgiFAkMODIcDQQ4QhgRBDhSDBUUOMAJHCg4UQcMOEEHGDgxBxw4IQcUO +BEoLYgoOFEHDDhBBxg4MQccOCEHFDgRDCwAAABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAWAAAACQAAADMm/v/qwAAAATkkkgAQQ4IhQJDDgyHA0EOEIYE +QQ4UgwVFDjACRwoOFEHDDhBBxg4MQccOCEHFDgRKC2IKDhRBww4QQcYODEHHDghB +xQ4EQwsAAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAACwAAAAkAAAA +MJ37/zUAAAAE/JJIAEEOCIYCQQ4MgwNFDiBUCg4MQ8MOCEHGDgRFCxQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABgAAAAcAAAAKI38/1oAAAAAQw4gAkYKDgRBCwAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAsAAAAHAAAABTI+f+fAQAAAEEOCIUCQg0FRocD +hgSDBQNoAQrDQcZBx0HFDAQEQwsUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAsAAAA +HAAAALym+f8XAgAAAEEOCIUCQg0FQYcDSoYEgwUCoQrDQcZBx0HFDAQEQwsUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAsAAAAHAAAAGSk+f9aAQAAAEEOCIUCQg0FQYcD +R4YEgwUC4grDQcZBx0HFDAQEQwsUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAYAAAA +HAAAANyM/P9aAAAAAEMOIAJGCg4EQQsAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +GAAAABwAAABojfz/WgAAAABDDiACRgoOBEELABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABgAAAAcAAAANJD8/1oAAAAAQw4gAkYKDgRBCwAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAACLj7/6EEAAAEDJNIAEEOCIUCQg0FQ4cD +hgSDBQMkAgrDQcZBx0HFDAQEQwsUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAYAAAA +HAAAACyO/P9aAAAAAEMOIAJGCg4EQQsAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +GAAAABwAAAA4jfz/WgAAAABDDiACRgoOBEELABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABgAAAAcAAAARIn8/1oAAAAAQw4gAkYKDgRBCwAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAADQAAAAkAAAAGOP7/xIGAAAEcJNIAEEOCIUCQg0FQocD +hgRGgwUDnQIKw0HGQcdBxQwEBEMLAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +GAAAABwAAABYiPz/WgAAAABDDiACRgoOBEELABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAANAAAACQAAABs2vv/EgYAAATsk0gAQQ4IhQJCDQVChwOGBEaD +BQOdAgrDQcZBx0HFDAQEQwsAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAYAAAA +HAAAACyR/P9aAAAAAEMOIAJGCg4EQQsAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +GAAAABwAAAA4kPz/WgAAAABDDiACRgoOBEELABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABgAAAAcAAAAhIj8/1oAAAAAQw4gAkYKDgRBCwAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAsAAAAHAAAACDG+f8lAQAAAEEOCIUCQg0FSYcDhgSDBQL0CsNDxkHH +QcUMBARDCwAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAYAAAAHAAAAMiO/P9aAAAA +AEMOIAJGCg4EQQsAFAAAAAAAAAABelIAAXwIARsMBASIAQAAGAAAABwAAADUjfz/ +WgAAAABDDiACRgoOBEELABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABgAAAAcAAAA +IIz8/1oAAAAAQw4gAkYKDgRBCwAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAA +HAAAAJx9/P9RAAAAAEEOCIMCSA4gAkYOCEHDDgQAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAgAAAAHAAAACB+/P9RAAAAAEEOCIMCSA4gAkYOCEHDDgQAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAKR+/P9RAAAAAEEOCIMCSA4gAkYO +CEHDDgQAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAGiB/P9RAAAA +AEEOCIMCSA4gAkYOCEHDDgQAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAA +HAAAAKx//P9RAAAAAEEOCIMCSA4gAkYOCEHDDgQAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAgAAAAHAAAALB+/P9RAAAAAEEOCIMCSA4gAkYOCEHDDgQAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAALR6/P9RAAAAAEEOCIMCSA4gAkYO +CEHDDgQAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAHiD/P9RAAAA +AEEOCIMCSA4gAkYOCEHDDgQAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAA +HAAAAHyC/P9RAAAAAEEOCIMCSA4gAkYOCEHDDgQAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAgAAAAHAAAAMB6/P9RAAAAAEEOCIMCSA4gAkYOCEHDDgQAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAESB/P9RAAAAAEEOCIMCSA4gAkYO +CEHDDgQAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAEiA/P9RAAAA +AEEOCIMCSA4gAkYOCEHDDgQAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAA +HAAAAIx+/P9RAAAAAEEOCIMCSA4gAkYOCEHDDgQAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAA8AAAAHAAAAHBV/P97AQAAAEEOCIUCQw4MhwNBDhCGBEEOFIMFQw4e +A1oBCg4UQcMOEEHGDgxBxw4IQcUOBEELFAAAAAAAAAABelIAAXwIARsMBASIAQAA +UAAAABwAAADoa/n/vAAAAABBDgiFAkEODIcDQQ4QhgRBDhSDBUMOQAJvCg4UQcMO +EEHGDgxBxw4IQcUOBEYLdQ4UQcMOEEHGDgxBxw4IQcUOBAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAKAAAABwAAAD8Xvn/TQAAAABBDgiGAkEODIMDQw4kAkMODEHD +DghBxg4EAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAA +EBH6//gGAAAEaJRIAEEOCIUCQg0FRocDhgSDBQK4CsNBxkHHQcUMBARDCwAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAAvAn6//gGAAAEyJRI +AEEOCIUCQg0FRocDhgSDBQK4CsNBxkHHQcUMBARDCwAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAA2Af6/4oBAAAEKJVIAEEOCIUCQg0FRocD +hgSDBQMVAQrDQ8ZBx0HFDAQEQwsUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAwAAAA +HAAAACwH+v9VAAAAAEEOCIUCQg0FRYYDgwR3CsNBxkHFDAQEQwtMw0HGQcUMBAQA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAPAAAABwAAADw5vv/xAEAAABBDgiFAkIN +BUaHA4YEgwUCaQrDQcZBx0HFDAQESwsCzArDQcZBx0HFDAQERQsAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACgAAAAcAAAAqHH5/0YAAAAAQQ4IhgJBDgyDA0MOMHwO +DEHDDghBxg4EAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAOAAAABwAAAAkT/z/ +oQAAAABBDgiFAkEODIcDQQ4QhgRBDhSDBQJCCsMOEEHGDgxBxw4IQcUOBEELAAAA +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAwAAAAJAAAAMhc+f8TAwAA +BDyVSABBDgiFAkcNBUaHA4YEgwUDXgEKw0HGQcdBxQwEBEMLHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAAAwAAAAJAAAAHRx+f+DAgAABGiVSABBDgiFAkIN +BUaHA4YEgwUCWwrDQcZBx0HFDAQESQsAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +HAAAABwAAAA4dPn/NQAAAABBDgiFAkINBW/FDAQEAAAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAACF/5/9MCAAAElJVIAEEOCIUCRw0FRocD +hgSDBQNIAQrDQcZBx0HFDAQERwsUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAcAAAA +HAAAAOxz+f81AAAAAEEOCIUCQg0Fb8UMBAQAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACgAAAAcAAAA9G/5/2cAAAAAQQ4IhQJCDQVGhwOGBIMFAlbDQ8ZBx0HFDAQE +FAAAAAAAAAABelIAAXwIARsMBASIAQAAPAAAABwAAADQTfz/JQEAAABBDgiFAkEO +DIcDQQ4QhgRBDhSDBUMOQAKHCg4URcMOEEHGDgxBxw4IQcUOBEELABwAAAAAAAAA +AXpQTFIAAXwIBwCQN0gAABsMBASIAQAAMAAAACQAAADAYPn/PQMAAATAlUgAQQ4I +hQJHDQVGhwOGBIMFA4YBCsNBxkHHQcUMBARJCxQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABwAAAAcAAAABHP5/zwAAAAAQQ4IhQJCDQV2xQwEBAAAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAAAwAAAAJAAAAHRj+f/sAgAABOyVSABBDgiFAkcN +BUaHA4YEgwUDVwEKw0HGQcdBxQwEBEgLFAAAAAAAAAABelIAAXwIARsMBASIAQAA +HAAAABwAAAC4cvn/PAAAAABBDgiFAkINBXbFDAQEAAAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAA+Jb4/xsBAAAEGJZIAEEOCIUCRw0FRocD +hgSDBVwKw0HGQcdBxQwEBEMLArgKw0HGQcdBxQwEBEMLAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAIAAAABwAAAA83/v/MQAAAABBDgiDAkUOEGAKDghDww4EQQsA +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAABAAAAAJAAAADiV+P8bAQAA +BECWSABBDgiFAkcNBUaHA4YEgwVcCsNBxkHHQcUMBARDCwK4CsNBxkHHQcUMBARD +CwAAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAAQAAAACQAAACkkfj/ +6QAAAARolkgAQQ4IhQJHDQVGhwOGBIMFXArDQcZBx0HFDAQEQwsChgrDQcZBx0HF +DAQEQwsAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAwAAAAHAAAADhl+f+nAgAA +AEEOCIUCQg0FQYcDSoYEgwUDfAIKw0HGQcdBxQwEBEMLAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAHAAAABwAAACMb/n/PQAAAABBDgiFAkINBXfFDAQEAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAwAAAAHAAAAGRn+f+XAgAAAEEOCIUCQg0FQYcD +SoYEgwUDbgIKw0HGQcdBxQwEBEMLAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +HAAAABwAAABIb/n/PQAAAABBDgiFAkINBXfFDAQEAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAA0AAAAHAAAAOCa+P9SAAAAAEEOCIMCRQ4QWAoOCEHDDgRBC1gKDghB +ww4ERwtJCg4IQcMOBEELABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAAEwAAAAcAAAA +0Jn4/7UAAAAAQQ4IhwJDDgyGA0EOEIMEcgrDDgxBxg4IQccOBEcLXQrDDgxBxg4I +QccOBEMLbwrDDgxBxg4IQccOBEMLAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +LAAAABwAAACYmfn/iAIAAABBDgiFAkINBUaHA4YEgwUCVwrDQcZBx0HFDAQEQwsA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAPAAAABwAAADgrfn/uwMAAABBDgiFAkIN +BUaHA4YEgwUD8QEKw0HGQcdBxQwEBEMLAkAKw0HGQcdBxQwEBEMLABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACwAAAAcAAAAKJf5/8gBAAAAQQ4IhQJCDQVJhwOGBIMF +A1gBCsNDxkHHQcUMBARHCxQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACwAAAAcAAAA +QJv5/4sCAAAAQQ4IhQJCDQVJhwOGBIMFAwsCCsNBxkHHQcUMBARGCxQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACwAAAAcAAAAiJ35/2oPAAAAQQ4IhQJCDQVJhwOGBIMF +AxQBCsNBxkHHQcUMBARDCxQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACwAAAAcAAAA +EJH5/w8BAAAAQQ4IhQJCDQVBhwNHhgSDBQKqCsNBxkHHQcUMBARICxQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACwAAAAcAAAAuI/5/w8BAAAAQQ4IhQJCDQVBhwNHhgSD +BQKqCsNBxkHHQcUMBARICxwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +MAAAACQAAACI0/n/GgsAAASQlkgAQQ4IhQJCDQVGhwOGBIMFA/MHCsNBxkHHQcUM +BARDCxwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAAMAAAACQAAABU3vn/ +OgsAAASolkgAQQ4IhQJCDQVGhwOGBIMFAwMICsNBxkHHQcUMBARDCxwAAAAAAAAA +AXpQTFIAAXwIBwCQN0gAABsMBASIAQAAMAAAACQAAAAw6/n//AAAAATAlkgAQQ4I +hQJCDQVGhwOGBIMFApQKw0HGQcdBxQwEBEMLABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAMAAAACQAAACM6fn/TgEAAATOlkgAQQ4IhQJCDQVChwOGBEaD +BQLhCsNBxkHHQcUMBARDCxwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +MAAAACQAAAAoIfn/YwkAAAThlkgAQQ4IhQJCDQVDhwOGBIMFA5MBCsNBxkHHQcUM +BARDCxwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAAMAAAACQAAACUNfn/ +2AEAAAQhl0gAQQ4IhQJCDQVGhwOGBIMFAvsKw0HGQcdBxQwEBEkLABwAAAAAAAAA +AXpQTFIAAXwIBwCQN0gAABsMBASIAQAAMAAAACQAAACAMfn/2AEAAAQwl0gAQQ4I +hQJCDQVGhwOGBIMFAvsKw0HGQcdBxQwEBEkLABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAMAAAACQAAAAMM/n/2AEAAAQ/l0gAQQ4IhQJCDQVGhwOGBIMF +AvsKw0HGQcdBxQwEBEkLABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +MAAAACQAAAC49/j/lgcAAAROl0gAQQ4IhQJCDQVGhwOGBIMFA1ACCsNBxkHHQcUM +BARECxQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAAfDb5/0IAAAAAQQ4I +hQJCDQV8xQwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAATAAAABwAAAC0LPn/ +mwMAAABBDgiFAkINBUaHA4YEgwUCngrDQcZBx0HFDAQERgsDaQEKw0HGQcdBxQwE +BEQLArIKw0HGQcdBxQwEBEMLAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAADAAAAAkAAAA5AX5/3YHAAAEhZdIAEEOCIUCQg0FRocDhgSDBQNAAgrDQcZB +x0HFDAQERAsUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAcAAAAHAAAACg2+f9CAAAA +AEEOCIUCQg0FfMUMBAQAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +MAAAACQAAAC47vj/dgcAAAS8l0gAQQ4IhQJCDQVGhwOGBIMFA0ACCsNBxkHHQcUM +BARECxQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAArDT5/0IAAAAAQQ4I +hQJCDQV8xQwEBAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAwAAAA +JAAAAEz9+P92BwAABPOXSABBDgiFAkINBUaHA4YEgwUDQAIKw0HGQcdBxQwEBEQL +FAAAAAAAAAABelIAAXwIARsMBASIAQAAHAAAABwAAADANPn/QgAAAABBDgiFAkIN +BXzFDAQEAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAoAAAAHAAAACgq+f91AAAA +AEEOCIUCQg0FRocDhgSDBQJmw0HGQcdBxQwEBBwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAMAAAACQAAAB8C/n/5ggAAAQqmEgAQQ4IhQJCDQVGhwOGBIMF +A/cCCsNBxkHHQcUMBARDCxQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAA +kDT5/0IAAAAAQQ4IhQJCDQV8xQwEBAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAA +GwwEBIgBAAAwAAAAJAAAAOAT+f+GCAAABGGYSABBDgiFAkINBUaHA4YEgwUDtwIK +w0HGQcdBxQwEBEMLFAAAAAAAAAABelIAAXwIARsMBASIAQAAHAAAABwAAABUNPn/ +QgAAAABBDgiFAkINBXzFDAQEAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAUAAAA +HAAAAByn/P8jAAAAAFMOIE8OBAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAACQAAAAkAAAA1Cb4/3QAAAAEmJhIAFEOCIMCQw4gdQoOCEbDDgRBCwAsAAAA +TAAAAMzj+//LDwAABLiYSABBDgiFAkcNBUKGA4MEA/0OCsNBxkHFDAQEQwscAAAA +rAAAAOzc+/8wAAAAAEEOCIUCRw0FZ8UMBAQAACQAAADMAAAAbNz7/1oAAAAAQQ4I +hQJCDQVrCsUMBARCC2nFDAQEAAAwAAAAxAAAAFT4+/+3AAAABDiZSABBDgiGAkEO +DIMDRQ4gAmMKDgxBww4IQcYOBEQLAAAAHAAAACgBAADg9vv/JwAAAABBDgiFAkIN +BWPFDAQEAAAwAAAAGAEAAFD1+/9lAQAABGCZSABBDgiFAkINBUaHA4YEgwUCwArD +QcZBx0HFDAQERAsAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAACEJfj/ +CwAAAAAAAAAcAAAAMAAAAFAl+P8eAAAAAEEOCIMCRQ4gVg4IQcMOBCwAAABQAAAA +MFT4/8AAAAAAQQ4IhQJCDQVDhwOGBIMFAoIKw0HGQcdBxQwEBEULAEgAAACAAAAA +4Ez4/yoCAAAAQQ4IhQJCDQVGhwOGBIMFA0gBCsNBxkHHQcUMBARDCwKECsNBxkHH +QcUMBARDCwJDw0HGQcdBxQwEBAAsAAAAzAAAAMRO+P/pBAAAAEEOCIUCQg0FRocD +hgSDBQMkAgrDQcZBx0HFDAQEQwsUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAACwt+v8jAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +AJL8/wgAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAACUkvz/ +CgAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAcAAAAHAAAAGgs+v82AAAA +AEEOCIMCRQ4gbg4IQcMOBBQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +YJH8/wgAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAD0kfz/ +CgAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAEho+/8jAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAATJH8/wgAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAACgkvz/CgAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAcAAAAHAAAAIRn+/82AAAAAEEOCIMCRQ4gbg4I +QcMOBBQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAArJD8/wgAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAAAkvz/CgAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAANRh/P8GAAAAAAAAABwAAAAAAAAA +AXpQTFIAAXwIBwCQN0gAABsMBASIAQAAMAAAACQAAABwKfr/jQAAAASQmUgAQQ4I +hQJCDQVDhwOGBIMFAmQKw0HGQcdBxQwEBEMLABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAMAAAACQAAABcJ/r/2AAAAAShmUgAQQ4IhQJCDQVDhwOGBIMF +AqMKw0HGQcdBxQwEBEMLABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABgAAAAcAAAA +YCr6/0EAAAAAQQ4IgwJ9ww4EAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAACwAAAAkAAAAJCn6/5AAAAAEtZlIAEEOCIUCQg0FQoYDgwQCaQrDQcZBxQwE +BEMLABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAAMAAAACQAAABkJ/r/ +2wAAAATGmUgAQQ4IhQJCDQVDhwOGBIMFAqgKw0HGQcdBxQwEBEELABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAOGD8/wYAAAAAAAAAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAAAwAAAAJAAAAPRj+/+NAAAABNqZSABBDgiFAkIN +BUOHA4YEgwUCZArDQcZBx0HFDAQEQwsAHAAAAAAAAAABelBMUgABfAgHAJA3SAAA +GwwEBIgBAAAwAAAAJAAAAOBh+//aAAAABOuZSABBDgiFAkINBUOHA4YEgwUCpQrD +QcZBx0HFDAQEQwsAFAAAAAAAAAABelIAAXwIARsMBASIAQAAGAAAABwAAADkZPv/ +QQAAAABBDgiDAn3DDgQAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +LAAAACQAAACoY/v/kAAAAAT/mUgAQQ4IhQJCDQVChgODBAJpCsNBxkHFDAQEQwsA +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAwAAAAJAAAAOhh+//dAAAA +BBCaSABBDgiFAkINBUOHA4YEgwUCqgrDQcZBx0HFDAQEQQsAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAAB8cfj/CAAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAAMBx+P8IAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAAFHH4/wcAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAABYcPj/BwAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAABxw+P8HAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +gHL4/wgAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAADEcvj/ +CAAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAABhy+P8HAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAXHH4/wcAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAAgcfj/BwAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAORf+f8IAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAyF/5/wgAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAADMZPn/AwAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAALBd+f8FAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAAlF35/wMAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +GAAAABwAAABImvj/IwAAAABBDgiDAl/DDgQAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAAlDH8/wsAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAABoMvz/CwAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAJwF/P8LAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +cAb8/wsAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAAUnvv/ +CwAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAKgh/P8LAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAfCD8/wsAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAABQyPv/CwAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAITI+/8LAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAaIz7/wsAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAAA8i/v/CwAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAgAAAAHAAAANBr+P8tAAAAAEEOCIUCQg0FQYMDZsXDDAQEAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAFRs+P8tAAAAAEEOCIUCQg0FQYMD +ZsXDDAQEAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAJhs+P8tAAAA +AEEOCIUCQg0FQYMDZsXDDAQEAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAA +HAAAACxs+P8tAAAAAEEOCIUCQg0FQYMDZsXDDAQEAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAgAAAAHAAAAMBs+P8tAAAAAEEOCIUCQg0FQYMDZsXDDAQEAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAERt+P8tAAAAAEEOCIUCQg0FQYMD +ZsXDDAQEAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAIht+P8tAAAA +AEEOCIUCQg0FQYMDZsXDDAQEAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAA +HAAAABxt+P8tAAAAAEEOCIUCQg0FQYMDZsXDDAQEAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAgAAAAHAAAAGBa+f8tAAAAAEEOCIUCQg0FQYMDZsXDDAQEAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAFRa+f8tAAAAAEEOCIUCQg0FQYMD +ZsXDDAQEAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAAEha+f8tAAAA +AEEOCIUCQg0FQYMDZsXDDAQEAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAA +HAAAAGys+/9ZAAAAAEEOCIMCRQ4gAksOCEPDDgQAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAgAAAAHAAAAECz+/9ZAAAAAEEOCIMCRQ4gAksOCEPDDgQAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAcAAAAHAAAAESP+/9KAAAAAEEOCIMCRQ4gfA4I +Q8MOBBQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAAnKv7/xgAAAAAQQ4I +gwJFDiBQDghBww4EFAAAAAAAAAABelIAAXwIARsMBASIAQAAHAAAABwAAAB0svv/ +GAAAAABBDgiDAkUOIFAOCEHDDgQUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAcAAAA +HAAAANwr/P8eAAAAAEEOCIMCRQ4gVg4IQcMOBBQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABwAAAAcAAAApCz8/x4AAAAAQQ4IgwJFDiBWDghBww4EFAAAAAAAAAABelIA +AXwIARsMBASIAQAAHAAAABwAAAAMjvv/GAAAAABBDgiDAkUOIFAOCEHDDgQUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAcAAAAHAAAAJT/+/8eAAAAAEEOCIMCRQ4gVg4I +QcMOBBQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAAXAD8/x4AAAAAQQ4I +gwJFDiBWDghBww4EFAAAAAAAAAABelIAAXwIARsMBASIAQAAHAAAABwAAAD0l/v/ +HgAAAABBDgiDAkUOIFYOCEHDDgQUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAcAAAA +HAAAAHwb/P8eAAAAAEEOCIMCRQ4gVg4IQcMOBBQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABwAAAAcAAAARBr8/x4AAAAAQQ4IgwJFDiBWDghBww4EFAAAAAAAAAABelIA +AXwIARsMBASIAQAAHAAAABwAAAAMwvv/HgAAAABBDgiDAkUOIFYOCEHDDgQUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAcAAAAHAAAADTC+/8eAAAAAEEOCIMCRQ4gVg4I +QcMOBBQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAADIb7/x4AAAAAQQ4I +gwJFDiBWDghBww4EFAAAAAAAAAABelIAAXwIARsMBASIAQAAHAAAABwAAADUhPv/ +HgAAAABBDgiDAkUOIFYOCEHDDgQcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAACwAAAAkAAAAVBD8/zUAAAAEJJpIAEEOCIYCQQ4MgwNFDiBUCg4MQ8MOCEHG +DgRFCxQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAA7A/8/xgAAAAAQQ4I +gwJFDiBQDghBww4EHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAsAAAA +JAAAAKz6+/81AAAABDSaSABBDgiGAkEODIMDRQ4gVAoODEPDDghBxg4ERQsUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAGSb+/8LAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABwAAAAcAAAAGJv7/x4AAAAAQQ4IgwJFDiBWDghBww4E +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAAAnfv/CwAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAcAAAAHAAAALSc+/8eAAAAAEEOCIMCRQ4gVg4I +QcMOBBQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAvID7/wsAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAHAAAABwAAABwgPv/HgAAAABBDgiDAkUO +IFYOCEHDDgQcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAACwAAAAkAAAA +AJ76/1kAAAAERJpIAEEOCIYCQQ4MgwNFDiB4Cg4MQ8MOCEHGDgRFCxQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABwAAAAcAAAAmJ36/xgAAAAAQQ4IgwJFDiBQDghBww4E +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAADAZ/v/CwAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAcAAAAHAAAAHRn+/8eAAAAAEEOCIMCRQ4gVg4I +QcMOBBQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACgAAAAcAAAAPH74/yYAAAAAQQ4I +hQJCDQVBhgNEgwRaw0HGQcUMBARCDgAAEAAAAEgAAAAQofz/HQAAAAAAAAAQAAAA +XAAAAByh/P/CAAAAAAAAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +LAAAACQAAACY9/v/PgAAAARUmkgAQQ4IhgJBDgyDA0UOIGMKDgxBww4IQcYOBEEL +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAsAAAAJAAAALhp+/81AAAA +BGSaSABBDgiGAkEODIMDRQ4gVAoODEPDDghBxg4ERQscAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAACwAAAAkAAAAKGn7/z4AAAAEdJpIAEEOCIYCQQ4MgwNF +DiBjCg4MQcMOCEHGDgRBCxwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +NAAAACQAAAC4i/j/sAEAAASEmkgAQQ4IhQJCDQVBhwNHhgSDBQMmAQrDQcZBx0HF +DAQEQwsAAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAA +4In4/0EBAAAEuJpIAEEOCIUCQg0FQYcDR4YEgwUCugrDQcZBx0HFDAQESAscAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAACwAAAAkAAAAHIj6/1UAAAAEyppI +AEEOCIUCRA0FQoYDgwR4CsNBxkHFDAQEQwsAABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAALAAAACQAAACshvr/VQAAAATWmkgAQQ4IhQJEDQVChgODBHgK +w0HGQcUMBARDCwAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAsAAAA +JAAAALyG+v9WAAAABOKaSABBDgiFAkQNBUKGA4MEeQrDQcZBxQwEBEMLAAAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAACwAAAAkAAAATIX6/1QAAAAE7ppI +AEEOCIUCRA0FQoYDgwR3CsNBxkHFDAQEQwsAABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAALAAAACQAAAB8hvr/UwAAAAT6mkgAQQ4IhQJEDQVChgODBHYK +w0HGQcUMBARDCwAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAsAAAA +JAAAAAyF+v9VAAAABAabSABBDgiFAkQNBUKGA4MEeArDQcZBxQwEBEMLAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAORe+P8HAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAKF/4/wcAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAIAAAABwAAADMX/j/IAAAAABBDgiFAkINBUGDA1nFwwwEBAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAADwXfj/IAAAAABBDgiFAkIN +BUGDA1nFwwwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAABkXvj/ +IAAAAABBDgiFAkINBUGDA1nFwwwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +IAAAABwAAAAIXvj/IAAAAABBDgiFAkINBUGDA1nFwwwEBAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAACMXfj/BwAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAUAAAAHAAAAABd+P8MAAAAAEMOEEgOBAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAUAAAAHAAAAMBc+P8MAAAAAEMOEEgOBAAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAACwAAAAkAAAAOIj6/1UAAAAEEptIAEEOCIUCRA0FQoYD +gwR4CsNBxkHFDAQEQwsAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +LAAAACQAAADIhvr/VQAAAAQem0gAQQ4IhQJEDQVChgODBHgKw0HGQcUMBARDCwAA +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAsAAAAJAAAANiG+v9WAAAA +BCqbSABBDgiFAkQNBUKGA4MEeQrDQcZBxQwEBEMLAAAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAACwAAAAkAAAAaIX6/1QAAAAENptIAEEOCIUCRA0FQoYD +gwR3CsNBxkHFDAQEQwsAABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +LAAAACQAAACYhvr/UwAAAARCm0gAQQ4IhQJEDQVChgODBHYKw0HGQcUMBARDCwAA +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAsAAAAJAAAACiF+v9VAAAA +BE6bSABBDgiFAkQNBUKGA4MEeArDQcZBxQwEBEMLAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAABBd+P8HAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAAVF34/wcAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +IAAAABwAAAD4Xfj/IAAAAABBDgiFAkINBUGDA1nFwwwEBAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAIAAAABwAAAAcXPj/IAAAAABBDgiFAkINBUGDA1nFwwwEBAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAACQXPj/IAAAAABBDgiFAkIN +BUGDA1nFwwwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAAA0XPj/ +IAAAAABBDgiFAkINBUGDA1nFwwwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAAC4W/j/BwAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAUAAAA +HAAAACxb+P8MAAAAAEMOEEgOBAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAUAAAA +HAAAAOxa+P8MAAAAAEMOEEgOBAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAJyb+/+GAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +4Jr7/4YAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAABUnPv/ +WQAAAABBDgiDAkUOIAJLDghDww4EAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAAAYovv/hgAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAFyh+/+GAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAA +0KL7/1kAAAAAQQ4IgwJFDiACSw4IQ8MOBAAAABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAQAAAACQAAACsjfv/1gAAAARam0gAQQ4IhQJEDQVDhwOGBIMF +AmIKw0HGQcdBxQwEBEMLfgrDQcZBx0HFDAQEQwsAAAAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAAaIz7/9YAAAAEc5tIAEEOCIUCRA0FQ4cD +hgSDBQJgCsNBxkHHQcUMBARFC34Kw0HGQcdBxQwEBEMLAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAAD8jfv/CwAAAAAAAAAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAAuI77/9YAAAAEjJtIAEEOCIUCRA0FQ4cD +hgSDBQJgCsNBxkHHQcUMBARFC34Kw0HGQcdBxQwEBEMLAAAAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAABAAAAAJAAAAHSN+//WAAAABKWbSABBDgiFAkQN +BUOHA4YEgwUCYArDQcZBx0HFDAQERQt+CsNBxkHHQcUMBARDCwAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAACI/7/wsAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAACsGfz/FwAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAAGAZ/P8XAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACAAAAAcAAAApKf5/04AAAAAQQ4IhQJCDQVEgwMCRMXDDAQEABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACAAAAAcAAAAGKf5/04AAAAAQQ4IhQJCDQVEgwMCRMXD +DAQEABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAALBn8/wsAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAACwGfz/FwAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAGQZ/P8XAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACAAAAAcAAAA6ML5/0EAAAAAQQ4IhQJCDQVEgwN3xcMM +BAQAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAAXML5/0EAAAAAQQ4I +hQJCDQVEgwN3xcMMBAQAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +MBn8/wsAAAAAAAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAsAAAA +JAAAAIwD/P9PAAAABL6bSABBDgiFAkQNBUKGA4MEcgrDQcZBxQwEBEMLAAAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAACwAAAAkAAAATAL8/00AAAAEyptI +AEEOCIUCRA0FQoYDgwRwCsNBxkHFDAQEQwsAABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAALAAAACQAAABMAvz/TAAAAATWm0gAQQ4IhQJEDQVChgODBG8K +w0HGQcUMBARDCwAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAsAAAA +JAAAAAwB/P9OAAAABOKbSABBDgiFAkQNBUKGA4MEcQrDQcZBxQwEBEMLAAAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAACwAAAAkAAAA/AH8/0wAAAAE7ptI +AEEOCIUCRA0FQoYDgwRvCsNBxkHFDAQEQwsAABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAALAAAACQAAAC8APz/TAAAAAT6m0gAQQ4IhQJEDQVChgODBG8K +w0HGQcUMBARDCwAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAA0Q/n/ +BwAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAABhD+f8HAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAAHEP5/yAAAAAAQQ4I +hQJCDQVBgwNZxcMMBAQAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAA +AEP5/yAAAAAAQQ4IhQJCDQVBgwNZxcMMBAQAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACAAAAAcAAAA5EL5/yAAAAAAQQ4IhQJCDQVBgwNZxcMMBAQAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAKHf7/1EAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAACcdvv/UQAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAcAAAAHAAAAKB3+/9KAAAAAEEOCIMCRQ4gfA4IQ8MOBBwAAAAAAAAA +AXpQTFIAAXwIBwCQN0gAABsMBASIAQAAQAAAACQAAACAbPv/xgAAAAQGnEgAQQ4I +hQJEDQVDhwOGBIMFAloKw0HGQcdBxQwEBEMLdgrDQcZBx0HFDAQEQwsAAAAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAATGv7/8QAAAAEHpxI +AEEOCIUCRA0FQ4cDhgSDBQJYCsNBxkHHQcUMBARDC3YKw0HGQcdBxQwEBEMLAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAADAbPv/CwAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAKTn+/8XAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAWOf7/xcAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAIAAAABwAAAC8tfj/RgAAAABBDgiFAkINBUSDA3zFwwwEBAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAAAQt/j/RgAAAABBDgiFAkIN +BUSDA3zFwwwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAAB0t/j/ +RgAAAABBDgiFAkINBUSDA3zFwwwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +IAAAABwAAABItvj/RgAAAABBDgiFAkINBUSDA3zFwwwEBAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAIAAAABwAAACstvj/RgAAAABBDgiFAkINBUSDA3zFwwwEBAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAAAQt/j/RgAAAABBDgiFAkIN +BUSDA3zFwwwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAAAkt/j/ +RgAAAABBDgiFAkINBUSDA3zFwwwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +IAAAABwAAAAItfj/RgAAAABBDgiFAkINBUSDA3zFwwwEBAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAIAAAABwAAAAstPj/RgAAAABBDgiFAkINBUSDA3zFwwwEBAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAABAtPj/RgAAAABBDgiFAkIN +BUSDA3zFwwwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAAAUs/j/ +RgAAAABBDgiFAkINBUSDA3zFwwwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAAAI5fv/CwAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAIzl+/8XAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +QOX7/xcAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAADkGvn/ +OgAAAABBDgiFAkINBUSDA3DFwwwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +IAAAABwAAABoG/n/OQAAAABBDgiFAkINBUSDA2/FwwwEBAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAIAAAABwAAABsG/n/OQAAAABBDgiFAkINBUSDA2/FwwwEBAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAABwG/n/QAAAAABBDgiFAkIN +BUSDA3bFwwwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAAB0G/n/ +QAAAAABBDgiFAkINBUSDA3bFwwwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +IAAAABwAAAD4Gfn/OQAAAABBDgiFAkINBUSDA2/FwwwEBAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAIAAAABwAAAD8Gfn/OQAAAABBDgiFAkINBUSDA2/FwwwEBAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAAAAGfn/OQAAAABBDgiFAkIN +BUSDA2/FwwwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAACk4/v/ +CwAAAAAAAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAACwAAAAkAAAA +MIT6/1cAAAAENpxIAEEOCIUCRA0FQoYDgwR6CsNBxkHFDAQEQwsAABwAAAAAAAAA +AXpQTFIAAXwIBwCQN0gAABsMBASIAQAALAAAACQAAABAgvr/VwAAAARCnEgAQQ4I +hQJEDQVChgODBHoKw0HGQcUMBARDCwAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAA +GwwEBIgBAAAsAAAAJAAAAFCC+v9WAAAABE6cSABBDgiFAkQNBUKGA4MEeQrDQcZB +xQwEBEMLAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAACwAAAAkAAAA +YID6/1YAAAAEWpxIAEEOCIUCRA0FQoYDgwR5CsNBxkHFDAQEQwsAABwAAAAAAAAA +AXpQTFIAAXwIBwCQN0gAABsMBASIAQAAMAAAACQAAAAQgvr/0gAAAARonEgAQQ4I +hQJEDQVDhwOGBIMFAk4Kw0HGQcdBxQwEBEcLABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAMAAAACQAAAAcgPr/0gAAAASInEgAQQ4IhQJEDQVDhwOGBIMF +Ak4Kw0HGQcdBxQwEBEcLABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +kE/4/xgAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAACET/j/ +GAAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAMhP+P8YAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA/E74/wMAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAABAUfj/GAAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAMRQ+P9FAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAyE74/0UAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAADcUPj/gQAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAAOBO+P+WAAAAAAAAABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAALAAAACQAAACcgfr/WQAAAASonEgAQQ4IhgJBDgyDA0UOIHgK +DgxDww4IQcYOBEULFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAC0dfv/ +mgEAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAOhz+/+aAQAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAALHf7/wsAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAABw+vv/FwAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAACT6+/8XAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACAAAAAcAAAAaHn5/0kAAAAAQQ4IhQJCDQVEgwN/xcMM +BAQAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAALPr7/wsAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAAgZfv/FwAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAANRk+/8XAAAAAAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAGGX7/wsAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAAAs+Pv/FwAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAAOD3+/8XAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAAFDf5/wcAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +IAAAABwAAADYU/n/RgAAAABBDgiFAkINBUSDA3zFwwwEBAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAIAAAABwAAABMU/n/RgAAAABBDgiFAkINBUSDA3zFwwwEBAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAACwOfn/RgAAAABBDgiFAkIN +BUSDA3zFwwwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAADUOfn/ +RgAAAABBDgiFAkINBUSDA3zFwwwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +IAAAABwAAAA4U/n/RgAAAABBDgiFAkINBUSDA3zFwwwEBAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAADM9vv/CwAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAAMBh+/8XAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAAdGH7/xcAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAAC4Yfv/CwAAAAAAAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAACwAAAAkAAAAtOz7/zwAAAAEuJxIAEEOCIYCQw4MgwNFDiBdCg4MQcMOCEHG +DgRDCxwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAALAAAACQAAADk6/v/ +PAAAAATEnEgAQQ4IhgJDDgyDA0UOIF0KDgxBww4IQcYOBEMLHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAAAsAAAAJAAAANTr+/88AAAABNCcSABBDgiGAkMO +DIMDRQ4gXQoODEHDDghBxg4EQwscAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAACwAAAAkAAAABOv7/zwAAAAE3JxIAEEOCIYCQw4MgwNFDiBdCg4MQcMOCEHG +DgRDCxQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAADDD5/wsAAAAAQw4I +hQJCDQVExQwEBEITAQAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAA +4C/5/x8AAAAAQQ4IhQJCDQVZxQwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +IAAAABwAAABYL/n/PgAAAABBDgiFAkINBUGDA3fFwwwEBAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAIAAAABwAAACML/n/CwAAAABDDgiFAkINBUTFDAQEQg4AAAAA +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAsAAAAJAAAACjr+/81AAAA +BOicSABBDgiGAkEODIMDRQ4gVAoODEPDDghBxg4ERQsUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAAGBZ+/8LAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABwAAAAcAAAAFFn7/x4AAAAAQQ4IgwJFDiBWDghBww4EFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAAAMLvn/CQAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAAPAt+f8LAAAAAAAAABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAQAAAACQAAADsV/v/jQAAAAT4nEgAQQ4IhQJCDQVBhwNHhgSD +BXoKw0HGQcdBxQwEBEgLZgrDQcZBx0HFDAQEQwsAAAAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAA+Fb7/40AAAAECZ1IAEEOCIUCQg0FQYcD +R4YEgwV6CsNBxkHHQcUMBARIC2YKw0HGQcdBxQwEBEMLAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAEAAAABwAAADsV/v/CwAAAAAAAAAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAAKEL7/40AAAAEGp1IAEEOCIUCQg0FQYcD +R4YEgwV6CsNBxkHHQcUMBARIC2YKw0HGQcdBxQwEBEMLAAAAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAABAAAAAJAAAADRB+/+NAAAABCudSABBDgiFAkIN +BUGHA0eGBIMFegrDQcZBx0HFDAQESAtmCsNBxkHHQcUMBARDCwAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAKEL7/wsAAAAAAAAAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAAAsAAAAJAAAAFTS+/88AAAABDydSABBDgiGAkMO +DIMDRQ4gXQoODEHDDghBxg4EQwscAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAACwAAAAkAAAAlNH7/zwAAAAESJ1IAEEOCIYCQw4MgwNFDiBdCg4MQcMOCEHG +DgRDCxQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAAjNH7/zAAAAAAQQ4I +gwJFDiBmDghBww4EFAAAAAAAAAABelIAAXwIARsMBASIAQAAHAAAABwAAADk0Pv/ +MAAAAABBDgiDAkUOIGYOCEHDDgQUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAgAAAA +HAAAAFxo+P8LAAAAAEMOCIUCQg0FRMUMBARCEwMAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAgAAAAHAAAAGBo+P8wAAAAAEEOCIUCQg0FQYMDacXDDAQEAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAgAAAAHAAAANRn+P8LAAAAAEMOCIUCQg0FRMUM +BARCEwEAAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAACwAAAAkAAAA +UNH7/zUAAAAEVJ1IAEEOCIYCQQ4MgwNFDiBUCg4MQ8MOCEHGDgRFCxwAAAAAAAAA +AXpQTFIAAXwIBwCQN0gAABsMBASIAQAAWAAAACQAAAAAQvv/qwAAAARknUgAQQ4I +hQJDDgyHA0EOEIYEQQ4UgwVFDjACRwoOFEHDDhBBxg4MQccOCEHFDgRKC2IKDhRB +ww4QQcYODEHHDghBxQ4EQwsAAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAAFgAAAAkAAAA1ED7/6sAAAAEfJ1IAEEOCIUCQw4MhwNBDhCGBEEOFIMFRQ4w +AkcKDhRBww4QQcYODEHHDghBxQ4ESgtiCg4UQcMOEEHGDgxBxw4IQcUOBEMLAAAA +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAsAAAAJAAAADhC+/81AAAA +BJSdSABBDgiGAkEODIMDRQ4gVAoODEPDDghBxg4ERQsUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAYAAAAHAAAAPAz/P9aAAAAAEMOIAJGCg4EQQsAFAAAAAAAAAABelIA +AXwIARsMBASIAQAALAAAABwAAABca/n/DwIAAABBDgiFAkINBUaHA4YEgwUDEQEK +w0HGQcdBxQwEBEMLFAAAAAAAAAABelIAAXwIARsMBASIAQAATAAAABwAAAAEMPn/ +mgIAAABBDgiFAkINBUGHA0qGBIMFApEKw0HGQcdBxQwEBEMLAzMBCsNBxkHHQcUM +BARFC1kKw0HGQcdBxQwEBEMLAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAsAAAA +HAAAAJwt+f9FAQAAAEEOCIUCQg0FQYcDR4YEgwUCzArDQcZBx0HFDAQERgsUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAYAAAAHAAAAIQz/P9aAAAAAEMOIAJGCg4EQQsA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAGAAAABwAAAAQNPz/WgAAAABDDiACRgoO +BEELABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABgAAAAcAAAA3Db8/1oAAAAAQw4g +AkYKDgRBCwAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAADQAAAAkAAAA +MFn7/1IEAAAEpJ1IAEEOCIUCQg0FQocDhgRGgwUDKAIKw0HGQcdBxQwEBEoLAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAGAAAABwAAADQNPz/WgAAAABDDiACRgoO +BEELABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABgAAAAcAAAA3DP8/1oAAAAAQw4g +AkYKDgRBCwAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAYAAAAHAAAAIgv/P9aAAAA +AEMOIAJGCg4EQQsAHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAA0AAAA +JAAAAOx6+/8PBQAABAieSABBDgiFAkINBUKHA4YERoMFA4ACCsNBxkHHQcUMBARD +CwAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABgAAAAcAAAAnC78/1oAAAAAQw4g +AkYKDgRBCwAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAADQAAAAkAAAA +UHP7/w8FAAAEhJ5IAEEOCIUCQg0FQocDhgRGgwUDgAIKw0HGQcdBxQwEBEMLAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAGAAAABwAAADQN/z/WgAAAABDDiACRgoO +BEELABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABgAAAAcAAAA3Db8/1oAAAAAQw4g +AkYKDgRBCwAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAYAAAAHAAAACgv/P9aAAAA +AEMOIAJGCg4EQQsAFAAAAAAAAAABelIAAXwIARsMBASIAQAALAAAABwAAAC0afn/ +eQEAAABBDgiFAkINBUmHA4YEgwUDGQEKw0HGQcdBxQwEBEgLFAAAAAAAAAABelIA +AXwIARsMBASIAQAAGAAAABwAAABsNfz/WgAAAABDDiACRgoOBEELABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABgAAAAcAAAAeDT8/1oAAAAAQw4gAkYKDgRBCwAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAYAAAAHAAAAMQy/P9aAAAAAEMOIAJGCg4EQQsA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAABAJPz/UQAAAABBDgiDAkgO +IAJGDghBww4EAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAADEJPz/ +UQAAAABBDgiDAkgOIAJGDghBww4EAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +IAAAABwAAABIJfz/UQAAAABBDgiDAkgOIAJGDghBww4EAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAIAAAABwAAAAMKPz/UQAAAABBDgiDAkgOIAJGDghBww4EAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAABQJvz/UQAAAABBDgiDAkgO +IAJGDghBww4EAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAABUJfz/ +UQAAAABBDgiDAkgOIAJGDghBww4EAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +IAAAABwAAABYIfz/UQAAAABBDgiDAkgOIAJGDghBww4EAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAIAAAABwAAAAcKvz/UQAAAABBDgiDAkgOIAJGDghBww4EAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAAAgKfz/UQAAAABBDgiDAkgO +IAJGDghBww4EAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAABkIfz/ +UQAAAABBDgiDAkgOIAJGDghBww4EAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +IAAAABwAAADoJ/z/UQAAAABBDgiDAkgOIAJGDghBww4EAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAIAAAABwAAADsJvz/UQAAAABBDgiDAkgOIAJGDghBww4EAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAAAwJfz/UQAAAABBDgiDAkgO +IAJGDghBww4EAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAPAAAABwAAAAE+/v/ +ZQEAAABBDgiFAkEODIcDQQ4QhgRBDhSDBUMOHQM9AQoOFEHDDhBBxg4MQccOCEHF +DgRICxQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAAFAAAAAcAAAAPPn4/6sAAAAAQQ4I +hQJBDgyHA0EOEIYEQQ4UgwVDDkACaAoOFEHDDhBBxg4MQccOCEHFDgRDC24OFEHD +DhBBxg4MQccOCEHFDgQAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACgAAAAcAAAA +0Oz4/0oAAAAAQQ4IhgJBDgyDA0MOJAJADgxBww4IQcYOBAAAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAAAwAAAAJAAAANSn+f+lBgAABACfSABBDgiFAkIN +BUaHA4YEgwUDagMKw0HGQcdBxQwEBEoLHAAAAAAAAAABelBMUgABfAgHAJA3SAAA +GwwEBIgBAAAwAAAAJAAAANCg+f+lBgAABHyfSABBDgiFAkINBUaHA4YEgwUDagMK +w0HGQcdBxQwEBEoLHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAwAAAA +JAAAALye+f++AQAABPifSABBDgiFAkINBUaHA4YEgwUDNQEKw0PGQcdBxQwEBEML +FAAAAAAAAAABelIAAXwIARsMBASIAQAAMAAAABwAAAAQnvn/VQAAAABBDgiFAkIN +BUWGA4MEdwrDQcZBxQwEBEMLTMNBxkHFDAQEABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAADwAAAAcAAAAtIv7/zMCAAAAQQ4IhQJCDQVGhwOGBIMFAmAKw0HGQcdBxQwE +BEULApAKw0HGQcdBxQwEBEwLAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAoAAAA +HAAAAFz/+P9GAAAAAEEOCIYCQQ4MgwNDDjB8DgxBww4IQcYOBAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAADQAAAAcAAAAaPT7/5sAAAAAQQ4IhQJBDgyHA0EOEIYE +QQ4UgwV/CsMOEEHGDgxBxw4IQcUOBEELHAAAAAAAAAABelBMUgABfAgHAJA3SAAA +GwwEBIgBAAAwAAAAJAAAAKDq+P/3AgAABBCgSABBDgiFAkcNBUaHA4YEgwUDWAEK +w0HGQcdBxQwEBEcLHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAwAAAA +JAAAACz/+P98AgAABDygSABBDgiFAkINBUaHA4YEgwUCWwrDQcZBx0HFDAQESQsA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAHAAAABwAAADgAfn/NQAAAABBDgiFAkIN +BW/FDAQEAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAA +wOz4/7gCAAAEaKBIAEEOCIUCRw0FRocDhgSDBQNAAQrDQcZBx0HFDAQEQwsUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAcAAAAHAAAAJQB+f81AAAAAEEOCIUCQg0Fb8UM +BAQAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACgAAAAcAAAArP34/2cAAAAAQQ4I +hQJCDQVGhwOGBIMFAlbDQ8ZBx0HFDAQEFAAAAAAAAAABelIAAXwIARsMBASIAQAA +PAAAABwAAAAI8/v/FwEAAABBDgiFAkEODIcDQQ4QhgRBDhSDBUMOQAJ+Cg4UQ8MO +EEHGDgxBxw4IQcUOBEELABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +MAAAACQAAABY7vj/HQMAAASUoEgAQQ4IhQJHDQVGhwOGBIMFA4ABCsNBxkHHQcUM +BARDCxQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAArAD5/zwAAAAAQQ4I +hQJCDQV2xQwEBAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAwAAAA +JAAAAOzw+P/KAgAABMCgSABBDgiFAkcNBUaHA4YEgwUDUQEKw0HGQcdBxQwEBEML +FAAAAAAAAAABelIAAXwIARsMBASIAQAAHAAAABwAAABgAPn/PAAAAABBDgiFAkIN +BXbFDAQEAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAA +wDv4/xcBAAAE7KBIAEEOCIUCRw0FRocDhgSDBVwKw0HGQcdBxQwEBEMLArQKw0HG +QcdBxQwEBEMLAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAAAUhvv/ +LwAAAABBDgiDAkUOEF4KDghDww4EQQsAHAAAAAAAAAABelBMUgABfAgHAJA3SAAA +GwwEBIgBAABAAAAAJAAAAAA6+P8XAQAABBShSABBDgiFAkcNBUaHA4YEgwVcCsNB +xkHHQcUMBARDCwK0CsNBxkHHQcUMBARDCwAAABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAQAAAACQAAAC8N/j/4gAAAAQ8oUgAQQ4IhQJHDQVGhwOGBIMF +XArDQcZBx0HFDAQEQwsCfwrDQcZBx0HFDAQEQwsAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAwAAAAHAAAAIDy+P/WAgAAAEEOCIUCQg0FQYcDSoYEgwUDfAIKw0HG +QcdBxQwEBEMLAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAHAAAABwAAAA0/fj/ +PQAAAABBDgiFAkINBXfFDAQEAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAwAAAA +HAAAANz0+P/WAgAAAEEOCIUCQg0FQYcDSoYEgwUDewIKw0HGQcdBxQwEBEQLAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAHAAAABwAAADw/Pj/PQAAAABBDgiFAkIN +BXfFDAQEAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAwAAAAHAAAANhA+P9PAAAA +AEEOCIMCRQ4QUQoOCEHDDgRIC1EKDghBww4EQQtaDghBww4EFAAAAAAAAAABelIA +AXwIARsMBASIAQAARAAAABwAAADMP/j/sgAAAABBDgiGAkMODIMDQw4gaAoODEHD +DghBxg4EQwtqCg4MQcMOCEHGDgRDCwJKDgxBww4IQcYOBAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAALAAAABwAAAA8I/n/jgIAAABBDgiFAkINBUaHA4YEgwUCVwrD +QcZBx0HFDAQEQwsAFAAAAAAAAAABelIAAXwIARsMBASIAQAAPAAAABwAAADEM/n/ +dgMAAABBDgiFAkINBUaHA4YEgwUDrgEKw0HGQcdBxQwEBEYLAkAKw0HGQcdBxQwE +BEMLABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACwAAAAcAAAA3CD5/7EBAAAAQQ4I +hQJCDQVJhwOGBIMFAzkBCsNDxkHHQcUMBARGCxQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACwAAAAcAAAA5CT5/3ECAAAAQQ4IhQJCDQVJhwOGBIMFA+4BCsNDxkHHQcUM +BARDCxQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACwAAAAcAAAAHCf5/7sLAAAAQQ4I +hQJCDQVJhwOGBIMFAyQBCsNBxkHHQcUMBARDCxQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACwAAAAcAAAAdBr5/+gAAAAAQQ4IhQJCDQVGhwOGBIMFAocKw0HGQcdBxQwE +BEMLABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACwAAAAcAAAAPBn5/+gAAAAAQQ4I +hQJCDQVGhwOGBIMFAocKw0HGQcdBxQwEBEMLABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAMAAAACQAAACsbPn//goAAARkoUgAQQ4IhQJCDQVGhwOGBIMF +A4MHCsNBxkHHQcUMBARDCxwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +MAAAACQAAACoYfn/pAoAAASCoUgAQQ4IhQJCDQVGhwOGBIMFA3MHCsNBxkHHQcUM +BARDCxwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAAMAAAACQAAAAUefn/ +0wAAAASgoUgAQQ4IhQJCDQVGhwOGBIMFAogKw0HGQcdBxQwEBEMLABwAAAAAAAAA +AXpQTFIAAXwIBwCQN0gAABsMBASIAQAAMAAAACQAAABQd/n/YgEAAASuoUgAQQ4I +hQJCDQVGhwOGBIMFAuEKw0HGQcdBxQwEBEMLABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAMAAAACQAAAAMgvj/yQgAAATBoUgAQQ4IhQJCDQVDhwOGBIMF +A1EBCsNBxkHHQcUMBARDCxwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAA +MAAAACQAAADolPj/egEAAAQCokgAQQ4IhQJCDQVGhwOGBIMFAt8Kw0HGQcdBxQwE +BEULABwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAAMAAAACQAAACUkfj/ +egEAAAQRokgAQQ4IhQJCDQVGhwOGBIMFAt8Kw0HGQcdBxQwEBEULABwAAAAAAAAA +AXpQTFIAAXwIBwCQN0gAABsMBASIAQAAMAAAACQAAADAkvj/egEAAAQgokgAQQ4I +hQJCDQVGhwOGBIMFAt8Kw0HGQcdBxQwEBEULABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAMAAAACQAAAAsW/j/DQcAAAQvokgAQQ4IhQJCDQVGhwOGBIMF +AzACCsNBxkHHQcUMBARECxQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAA +cJX4/0IAAAAAQQ4IhQJCDQV8xQwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +TAAAABwAAADojPj/cgMAAABBDgiFAkINBUaHA4YEgwUCkwrDQcZBx0HFDAQEQwsD +hwEKw0HGQcdBxQwEBEQLewrDQcZBx0HFDAQEQwsAAAAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAADAAAAAkAAAAOGj4//0GAAAEUKJIAEEOCIUCQg0FRocD +hgSDBQMvAgrDQcZBx0HFDAQERQsUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAcAAAA +HAAAAByV+P9CAAAAAEEOCIUCQg0FfMUMBAQAABwAAAAAAAAAAXpQTFIAAXwIBwCQ +N0gAABsMBASIAQAAMAAAACQAAACMUvj/GAcAAARxokgAQQ4IhQJCDQVGhwOGBIMF +AxkCCsNDxkHHQcUMBARJCxQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAA +oJP4/0IAAAAAQQ4IhQJCDQV8xQwEBAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAA +GwwEBIgBAAAwAAAAJAAAADBg+P/tBgAABJ2iSABBDgiFAkINBUaHA4YEgwUDIQIK +w0HGQcdBxQwEBEMLFAAAAAAAAAABelIAAXwIARsMBASIAQAAHAAAABwAAAC0k/j/ +QgAAAABBDgiFAkINBXzFDAQEAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAoAAAA +HAAAAGyK+P9qAAAAAEEOCIUCQg0FRocDhgSDBQJbw0HGQcdBxQwEBBwAAAAAAAAA +AXpQTFIAAXwIBwCQN0gAABsMBASIAQAAMAAAACQAAABQbfj/RAgAAAS+okgAQQ4I +hQJCDQVGhwOGBIMFA94CCsNBxkHHQcUMBARGCxQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABwAAAAcAAAAhJP4/0IAAAAAQQ4IhQJCDQV8xQwEBAAAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAAA0AAAAJAAAABR1+P82CAAABOCiSABBDgiFAkIN +BUGHA0qGBIMFA6ICCsNBxkHHQcUMBARDCwAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABwAAAAcAAAARJP4/0IAAAAAQQ4IhQJCDQV8xQwEBAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAPAAAABwAAADc/vv/9AAAAABBDgiFAkINBUaHA4YEgwUCkArD +QcZBx0HFDAQEQQtiCsNBxkHHQcUMBARBCwAAADwAAABcAAAAnP/7//YAAAAAQQ4I +hQJCDQVGhwOGBIMFAqgKw0HGQcdBxQwEBEELaArDQcZBx0HFDAQEQQsAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAkAAAAHAAAAKTG+/9FAAAAAEEOCIUCQg0FQoYD +gwR9w0HGQcUMBAQAKAAAAEQAAADsxfv/SQAAAABBDgiFAkINBUKHA4YERoMFeMNB +xkHHQcUMBAQUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAOjh+/8HAAAA +AAAAABAAAAAwAAAAhGr6/wcAAAAAAAAAEAAAAEQAAAAgzPf/BwAAAAAAAAAQAAAA +WAAAAGzM9/8HAAAAAAAAABAAAABsAAAACFr5/wYAAAAAAAAAEAAAAIAAAACUMvj/ +BgAAAAAAAAAUAAAAlAAAAFDh+/8VAAAAAEMOIFEOBAAUAAAArAAAAOhp+v8VAAAA +AEMOIFEOBAAUAAAAxAAAAIDL9/8VAAAAAEMOIFEOBAAUAAAA3AAAAMjL9/8VAAAA +AEMOIFEOBAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAABQAAAAkAAAA +AMv3/xYAAAAEBKNIAEMOIBQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +MBX8/xAAAAAAQw4gEAAAADAAAADcyvf/DAAAAABDDhAQAAAARAAAANji+/8QAAAA +AEMOIBAAAABYAAAAdOb7/xAAAAAAAAAAEAAAAGwAAADA7Pv/EAAAAAAAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAYAAAAHAAAAEQ//P9FAAAAAEEOCIMCQw4gAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAFAAAABwAAADQQvz/EwAAAABDDiBPDgQA +FAAAADQAAACYQvz/EwAAAABDDiBPDgQAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAAD44fv/BwAAAAAAAAAQAAAAMAAAAASr+f8DAAAAAAAAABAAAABEAAAA +AKv5/wMAAAAAAAAAEAAAAFgAAADMqvn/BQAAAAAAAAAUAAAAbAAAAIjh+/8VAAAA +AEMOIFEOBAAcAAAAhAAAANCq+f9DAAAAAEMOIHIKDgRDC0gOBAAAABwAAACkAAAA +YKr5/xgAAAAAQQ4IhQJCDQVSxQwEBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +EAAAABwAAAA4W/z/BwAAAAAAAAAQAAAAMAAAACxb/P8HAAAAAAAAABAAAABEAAAA +IFv8/wcAAAAAAAAAEAAAAFgAAAAUW/z/BwAAAAAAAAAcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAA+PT5/4YCAAAEFKNIAEEOCIUCQg0FQYcD +R4YEgwUDHgEKw0HGQcdBxQwEBEQLAm4Kw0HGQcdBxQwEBEMLTAAAAGgAAABE7vn/ +rQIAAARgo0gAQQ4IhQJCDQVGhwOGBIMFA2QBCsNBxkHHQcUMBARDC38Kw0HGQcdB +xQwEBEMLYQrDQcZBx0HFDAQEQwtAAAAAuAAAADQn/P/rAgAABKCjSABBDgiFAkIN +BUaHA4YEgwUDfAEKw0HGQcdBxQwEBEgLAlsKw0HGQcdBxQwEBEELAEAAAAD8AAAA +ACz8/y4DAAAE+KNIAEEOCIUCQg0FRocDhgSDBQJECsNBxkHHQcUMBARBCwNhAQrD +QcZBx0HFDAQEQQsAMAAAAEABAACcAfz/4QIAAARIpEgAQQ4IhQJCDQVGhwOGBIMF +AkcKw0HGQcdBxQwEBEELAEAAAAB0AQAAuNL6/8ECAAAEmKRIAEEOCIUCQg0FRocD +hgSDBQNQAQrDQcZBx0HFDAQERAsCfwrDQcZBx0HFDAQEQwsAUAAAALgBAACUy/r/ +qAIAAATopEgAQQ4IhQJCDQVGhwOGBIMFA24BCsNBxkHHQcUMBARGCwJCCsNBxkHH +QcUMBARDC2EKw0HGQcdBxQwEBEMLAAAAMAAAAAwCAAAQBPz/LQMAAAQgpUgAQQ4I +hQJCDQVGhwOGBIMFAk0Kw0HGQcdBxQwEBEcLABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACgAAAAcAAAAVOL3/1wAAAAAQQ4IhQJCDQVDhwOGBIMFAlDDQcZBx0HFDAQE +FAAAAAAAAAABelIAAXwIARsMBASIAQAAKAAAABwAAADw5ff/XAAAAABBDgiFAkIN +BUOHA4YEgwUCUMNBxkHHQcUMBAQUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAA0AAAA +HAAAANzg9/9PAAAAAEEOCIYCQQ4MgwNFDiByCg4MQcMOCEHGDgRFC0oODEHDDghB +xg4EABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABQAAAAcAAAA3OD3/ywAAAAAQw4g +Zg4EABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAAFAAAAAcAAAA/OP3/2wAAAAAQQ4I +hQJDDgyHA0EOEIYEQQ4UgwVDDjACRQoOFEPDDhBBxg4MQccOCEHFDgRDC0wOFEPD +DhBBxg4MQccOCEHFDgQAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAA +cOP3/xoAAAAAQQ4IgwJFDiBSDghBww4EFAAAAAAAAAABelIAAXwIARsMBASIAQAA +PAAAABwAAADI4/f/UAAAAABBDgiFAkEODIcDQQ4QhgRBDhSDBUMOMHwKDhRDww4Q +QcYODEHHDghBxQ4EQwsAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +UOb3/w4AAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAB04vf/ +DgAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAcAAAAHAAAAAjh9/9JAAAA +AEMOIGIKDgRBC2IOBAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAA +kOD3/z8AAAAAQQ4IgwJFDiBiCg4IQcMOBEcLABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABQAAAAcAAAANN73/xIAAAAAQw4gTg4EABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABQAAAAcAAAAxOH3/xIAAAAAQw4gTg4EABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACgAAAAcAAAAtN73/2wAAAAAQQ4IhgJDDgyDA0UOIAJcDgxDww4IQcYOBAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAKAAAABwAAABQ4vf/bAAAAABBDgiGAkMO +DIMDRQ4gAlwODEPDDghBxg4EAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAcAAAA +HAAAAHzj9/8oAAAAAEEOCIMCRQ4gYA4IQcMOBBQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACgAAAAcAAAA5OL3/1sAAAAAQQ4IgwJFDiBoCg4IQcMOBEMLZQ4IQcMOBAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAHAAAABwAAADw4/f/IgAAAABBDgiDAkUO +IFoOCEHDDgQUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAcAAAAHAAAAAjg9/8iAAAA +AEEOCIMCRQ4gWg4IQcMOBBQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAADAAAAAcAAAA +EN73/2MAAAAAQQ4IgwJDDiBlCg4IRMMOBEMLUwoOCEbDDgRHC08OCEHDDgQUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAcAAAAHAAAAKTh9/9AAAAAAEMOIF8KDgRDC1MO +BAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACgAAAAcAAAA/Nv3/z4AAAAAQQ4I +gwJDDiBgCg4IQcMOBEELVg4IQcMOBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +FAAAABwAAADYGPz/JAAAAABDDiBgDgQAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +KAAAABwAAACI+vv/XwAAAABBDgiFAkINBUWGA4MEdArDQcZBxQwEBEILAAAcAAAA +AAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAATCz8/9YCAAAEcKVI +AEEOCIUCQg0FSYcDhgSDBQJFCsNBxkHHQcUMBARBCwOBAQrDQcZBx0HFDAQERwsA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAFAAAABwAAADAG/z/JAAAAABDDiBgDgQA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAJAAAABwAAAAA/fv/RgAAAABBDgiFAkIN +BUSDA3kKxcMMBARBCwAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAA +YN33/1oAAAAAQQ4IgwJFDhACUA4IQcMOBAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAACAAAAAcAAAAxNz3/1oAAAAAQQ4IgwJFDhACUA4IQcMOBAAAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAAyNn3/wQAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAIAAAABwAAABs4Pf/XAAAAABBDgiDAkUOEAJSDghBww4EAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAIAAAABwAAADQ3/f/XAAAAABBDgiDAkUO +EAJSDghBww4EAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAADk3Pf/ +BAAAAAAAAAAcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAACwAAAAkAAAA +MNT3/1EAAAAEwKVIAEEOCIYCQQ4MgwNFDiBcCg4MRMMOCEHGDgRFCxwAAAAAAAAA +AXpQTFIAAXwIBwCQN0gAABsMBASIAQAALAAAACQAAADg1/f/UQAAAATQpUgAQQ4I +hgJBDgyDA0UOIFwKDgxEww4IQcYOBEULHAAAAAAAAAABelBMUgABfAgHAJA3SAAA +GwwEBIgBAAAsAAAAJAAAADDX9/9aAAAABOClSABBDgiGAkEODIMDRQ4gbAoODEHD +DghBxg4EQQscAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQEiAEAACwAAAAkAAAA +4NL3/1oAAAAE8KVIAEEOCIYCQQ4MgwNFDiBsCg4MQcMOCEHGDgRBCxQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACwAAAAcAAAAyOH3/2wAAAAAQQ4IhQJCDQVEgwNVCsXD +DAQERAt+CsPFDAQEQgsAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABwAAAAcAAAA +MNL3/xYAAAAAQQ4IgwJFDhBODghBww4EFAAAAAAAAAABelIAAXwIARsMBASIAQAA +HAAAABwAAACY0Pf/FgAAAABBDgiDAkUOEE4OCEHDDgQcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAADwAAAAkAAAAGNH3/5kAAAAEAKZIAEEOCIUCQg0FQ4cD +hgSDBXkKw0HGQcdBxQwEBEMLfQrDQcZBx0HFDAQEQwscAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAADwAAAAkAAAAWM/3/5kAAAAEEqZIAEEOCIUCQg0FQ4cD +hgSDBXkKw0HGQcdBxQwEBEMLfQrDQcZBx0HFDAQEQwscAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAADwAAAAkAAAAuM/3/5kAAAAEJKZIAEEOCIUCQg0FQ4cD +hgSDBXkKw0HGQcdBxQwEBEMLfQrDQcZBx0HFDAQEQwscAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAADwAAAAkAAAA+M33/5kAAAAENqZIAEEOCIUCQg0FQ4cD +hgSDBXkKw0HGQcdBxQwEBEMLfQrDQcZBx0HFDAQEQwscAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAACwAAAAkAAAAGNH3/1EAAAAESKZIAEEOCIYCQQ4MgwNF +DiBcCg4MRMMOCEHGDgRFCxQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +MM33/wgAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAAUzff/ +CAAAAAAAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAsAAAAHAAAAFjf9/9sAAAA +AEEOCIUCQg0FRIMDVQrFwwwEBEQLfgrDxQwEBEILAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAcAAAAHAAAAFDT9/8WAAAAAEEOCIMCRQ4QTg4IQcMOBBQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABwAAAAcAAAAuNH3/xYAAAAAQQ4IgwJFDhBODghBww4E +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAA8AAAAJAAAADjS9/+ZAAAA +BFimSABBDgiFAkINBUOHA4YEgwV5CsNBxkHHQcUMBARDC30Kw0HGQcdBxQwEBEML +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAA8AAAAJAAAAHjQ9/+ZAAAA +BGqmSABBDgiFAkINBUOHA4YEgwV5CsNBxkHHQcUMBARDC30Kw0HGQcdBxQwEBEML +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAA8AAAAJAAAANjQ9/+ZAAAA +BHymSABBDgiFAkINBUOHA4YEgwV5CsNBxkHHQcUMBARDC30Kw0HGQcdBxQwEBEML +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAA8AAAAJAAAABjP9/+ZAAAA +BI6mSABBDgiFAkINBUOHA4YEgwV5CsNBxkHHQcUMBARDC30Kw0HGQcdBxQwEBEML +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAsAAAAJAAAADjS9/9RAAAA +BKCmSABBDgiGAkEODIMDRQ4gXAoODETDDghBxg4ERQsUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAAFDO9/8IAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAANM73/wgAAAAAAAAAHAAAAAAAAAABelBMUgABfAgHAJA3SAAA +GwwEBIgBAABAAAAAJAAAAJDY+/8TAQAABLCmSABBDgiFAkEODIcDQQ4QhgRBDhSD +BUMOQAK6Cg4UQcMOEEHGDgxBxw4IQcUOBEELAEAAAABoAAAADNb7/x0BAAAEyKZI +AEEOCIUCQQ4MhwNBDhCGBEEOFIMFQw5AArgKDhRBww4QQcYODEHHDghBxQ4EQQsA +QAAAAKwAAADo1vv/HQEAAATgpkgAQQ4IhQJBDgyHA0EOEIYEQQ4UgwVDDkACugoO +FEHDDhBBxg4MQccOCEHFDgRBCwAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAoAAAA +HAAAAFyG+/8zAAAAAEEOCIcCRg4MhgNIDiBVCg4MQcYOCEHHDgRBCxAAAABIAAAA +oIb7/wsAAAAAAAAAEAAAAFwAAAAMhvv/AwAAAAAAAAAQAAAAcAAAAIiG+/8DAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAALFL6/wsAAAAAAAAA +HAAAADAAAAD4Ufr/HgAAAABBDgiDAkUOIFYOCEHDDgQcAAAAAAAAAAF6UExSAAF8 +CAcAkDdIAAAbDAQEiAEAAEAAAAAkAAAAGFH6/50AAAAE+KZIAEEOCIUCQg0FQYcD +R4YEgwUCSgrDQcZBx0HFDAQESAtmCsNBxkHHQcUMBARDCwAAGAAAALQAAAD0Jfj/ +NAEAAABDDiACQgoOBEMLABQAAADQAAAAWCX4/xYAAAAAQw4gUA4EADgAAADoAAAA +8CT4/0YAAAAAQQ4IhQJBDgyHA0EOEIYEQQ4UgwVDDjB2DhRDww4QQcYODEHHDghB +xQ4EABQAAAAkAQAAlCT4/xYAAAAAQw4gUA4EADgAAAA8AQAALCT4/0YAAAAAQQ4I +hQJBDgyHA0EOEIYEQQ4UgwVDDjB2DhRDww4QQcYODEHHDghBxQ4EAFAAAAB4AQAA +4Cb4/10AAAAAQQ4IhQJBDgyHA0EOEIYEQw4UgwVFDjB6Cg4URsMOEEHGDgxBxw4I +QcUOBEMLQw4UQ8MOEEHGDgxBxw4IQcUOBAAAADgAAADMAQAAHCb4/28AAAAAQQ4I +hQJBDgyHA0EOEIYEQQ4UgwVDDjACYQ4UQcMOEEHGDgxBxw4IQcUOBDgAAAAIAgAA +ACP4/1EAAAAAQQ4IhQJCDQVGhwOGBIMFUQrDQcZBx0HFDAQEQwtrw0HGQcdBxQwE +BAAAADgAAABEAgAABCT4/1EAAAAAQQ4IhQJCDQVGhwOGBIMFUQrDQcZBx0HFDAQE +Qwtrw0HGQcdBxQwEBAAAABAAAACAAgAAaCb4/xAAAAAAAAAAIAAAAJQCAAAkJvj/ +MAAAAABBDgiGAkEODIMDasMOCEHGDgQAKAAAALgCAAAAJ/j/PAAAAABBDgiDAkMO +IGgKDghBww4EQwtIDghBww4EAAA8AAAA5AIAABQm+P+2AAAAAEEOCIUCQQ4MhwND +DhCGBEEOFIMFQw4wAlQKDhRBww4QQcYODEHHDghBxQ4EQwsALAAAACQDAACkaPv/ +jwAAAABBDgiFAkINBUKHA4YEQ4MFAn0Kw0HGQcdBxQwEBEELFAAAAAAAAAABelIA +AXwIARsMBASIAQAAGAAAABwAAABcH/j/GQAAAABBDgiDAlLDDgQAACgAAAA4AAAA +AB/4/zsAAAAAQQ4IhQJCDQVChwOGBEaDBWrDQcZBx0HFDAQEGAAAAGQAAAC0Hvj/ +GQAAAABBDgiDAlLDDgQAACgAAACAAAAAWB74/zsAAAAAQQ4IhQJCDQVChwOGBEaD +BWrDQcZBx0HFDAQEEAAAAKwAAAAsZfv/BgAAAAAAAAAkAAAAwAAAADhm+/8PAQAA +AEEOCIcCQw4MgwMCtQrDDghIxw4EQwsAJAAAAOgAAAAAZfv/DwEAAABBDgiHAkMO +DIMDArUKww4ISMcOBEMLABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +AD35/wYAAAAAAAAAEAAAADAAAACsufv/CwAAAAAAAAAcAAAARAAAAHi5+/8eAAAA +AEEOCIMCRQ4gVg4IQcMOBBQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +YPL4/wYAAAAAAAAAEAAAADAAAAC8nfv/CwAAAAAAAAAcAAAARAAAAIid+/8eAAAA +AEEOCIMCRQ4gVg4IQcMOBBQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +AAP4/wYAAAAAAAAAEAAAADAAAADMJ/r/CwAAAAAAAAAcAAAARAAAAJgn+v8eAAAA +AEEOCIMCRQ4gVg4IQcMOBBQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA +sOL3/wYAAAAAAAAAEAAAADAAAABM4vf/BgAAAAAAAAAQAAAARAAAAKgN+/8HAAAA +AAAAABAAAABYAAAA5Bj4/wkAAAAAAAAAKAAAAGwAAACQGPj/NgAAAABBDgiFAkIN +BUSDA14KxcMMBARDC0bDxQwEBAAQAAAAmAAAAEQY+P8cAAAAAAAAABAAAACsAAAA +8LH3/wcAAAAAAAAAEAAAAMAAAAAMsvf/BwAAAAAAAAAQAAAA1AAAADgx/P8LAAAA +AAAAABAAAADoAAAAVDH8/wsAAAAAAAAAFAAAAPwAAADQDPv/FQAAAABDDiBRDgQA +FAAAABQBAABosff/FQAAAABDDiBRDgQAFAAAACwBAACAsff/FQAAAABDDiBRDgQA +EAAAAEQBAADYTfr/CwAAAAAAAAAcAAAAWAEAAKRN+v8eAAAAAEEOCIMCRQ4gVg4I +QcMOBCAAAAB4AQAAFOH3/zEAAAAAQQ4IhQJCDQVBgwNqxcMMBAQAACAAAACcAQAA +QOH3/zEAAAAAQQ4IhQJCDQVBgwNqxcMMBAQAABAAAADAAQAA/Av7/wcAAAAAAAAA +EAAAANQBAACo0fv/BgAAAAAAAAAQAAAA6AEAAJTZ+/8GAAAAAAAAABwAAAD8AQAA +0AD4/xoAAAAAQQ4IhQJCDQVWxQwEBAAAFAAAABwCAADQQPz/MwAAAABDDiBvDgQA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAAQ3/f/BgAAAAAAAAAQAAAA +MAAAAAyw9/8LAAAAAAAAABAAAABEAAAAqC/8/xQAAAAAAAAAHAAAAFgAAADEr/f/ +HgAAAABBDgiDAkUOIFYOCEHDDgQQAAAAeAAAAIRL+v8LAAAAAAAAABwAAACMAAAA +UEv6/x4AAAAAQQ4IgwJFDiBWDghBww4EHAAAAAAAAAABelBMUgABfAgHAJA3SAAA +GwwEBIgBAAAoAAAAJAAAAEAU+P9mAAAABAynSABBDgiFAkINBUSDA2oKxcMMBARB +CwAAAFwAAABQAAAARN73/wEBAAAEEKdIAEEOCIUCQg0FQoYDgwQCQArDQcZBxQwE +BEkLXQrDQcZBxQwEBEMLYgrDQcZBxQwEBEoLXwrDQcZBxQwEBEMLXQrDQcZBxQwE +BEMLABQAAABYAQAAdM/7/2IAAAAAUw4gAk4OBBQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAAtBb4/wYAAAAAAAAAEAAAADAAAAAwNPv/CwAAAAAAAAAcAAAA +RAAAAPwz+/8eAAAAAEEOCIMCRQ4gVg4IQcMOBBQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABAAAAAcAAAAtO34/wQAAAAAAAAAKAAAADAAAACAp/v/XgAAAABBDgiFAkIN +BUKGA4MEZArDQcZBxQwEBEELAAAcAAAAXAAAADSn+/8YAAAAAEEOCIMCRQ4gUA4I +QcMOBBwAAAAAAAAAAXpQTFIAAXwIBwCQN0gAABsMBASIAQAAMAAAACQAAACkpvv/ +SQAAAAQgp0gAQQ4IhQJCDQVDhwOGBIMFYArDQcZBx0HFDAQEQwsAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA6EL6/wsAAAAAAAAAHAAAADAAAAC0Qvr/ +HgAAAABBDgiDAkUOIFYOCEHDDgQcAAAAAAAAAAF6UExSAAF8CAcAkDdIAAAbDAQE +iAEAACwAAAAkAAAAxEH6/6MAAAAEOKdIAEEOCIUCQg0FQoYDgwQCSwrDQcZBxQwE +BEMLABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAA7M37/xAAAAAAAAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAEAAAABwAAAAQzff/CwAAAAAAAAAcAAAA +MAAAANzM9/8eAAAAAEEOCIMCRQ4gVg4IQcMOBBQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAADwAAAAcAAAAZCT4/yQBAAAAQQ4IhQJBDgyHA0EOEIYEQQ4UgwVDDkACxwoO +FEHDDhBBxg4MQccOCEHFDgRDCwA8AAAAXAAAAHQj+P+nAAAAAEEOCIUCQQ4MhwNB +DhCGBEEOFIMFQw5AAoYKDhRBww4QQcYODEHHDghBxQ4EQwsAEAAAAJwAAAAEI/j/ +DwAAAAAAAAAQAAAAsAAAAAAj+P8IAAAAAAAAADgAAADEAAAA7CT4/3wAAAAAQQ4I +hQJBDgyHA0EOEIYEQw4UgwVDDkACag4UQ8MOEEHGDgxBxw4IQcUOBBQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAACgAAAAcAAAA+B/6/4oAAAAAQQ4IgwICbQrDDgRCC1EK +ww4EQQtHww4EAAAALAAAAEgAAAD81Pv/ewAAAABBDgiHAkEODIYDQQ4QgwQCbgrD +DgxBxg4IQccOBEELHAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAsAAAA +JAAAAKwn+v82AAAABEynSABBDgiGAkEODIMDRQ4gVQoODEPDDghBxg4ERQsUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAcAAAAHAAAAEQn+v8YAAAAAEEOCIMCRQ4gUA4I +QcMOBCwAAACMAAAAdCP6/zYAAAAEXKdIAEEOCIYCQQ4MgwNFDiBVCg4MQ8MOCEHG +DgRFCxwAAABsAAAAJCP6/xgAAAAAQQ4IgwJFDiBQDghBww4ELAAAANwAAAC0Lvr/ +NgAAAARsp0gAQQ4IhgJBDgyDA0UOIFUKDgxDww4IQcYOBEULHAAAALwAAABkLvr/ +GAAAAABBDgiDAkUOIFAOCEHDDgQsAAAALAEAAIQq+v82AAAABHynSABBDgiGAkEO +DIMDRQ4gVQoODEPDDghBxg4ERQscAAAADAEAADQq+v8YAAAAAEEOCIMCRQ4gUA4I +QcMOBBAAAAAsAQAA5B76/wYAAAAAAAAALAAAAEABAACwIvr/IwEAAABBDgiGAkEO +DIMDQw4gAoEKDgxBww4IQcYOBEMLAAAALAAAAHABAACwHvr/IwEAAABBDgiGAkEO +DIMDQw4gAoEKDgxBww4IQcYOBEMLAAAAIAAAAKABAAAAKvr/NQEAAABBDgiDAkMO +IAKRCg4IQcMOBEMLIAAAAMQBAAD8Jfr/NQEAAABBDgiDAkMOIAKRCg4IQcMOBEML +HAAAAAAAAAABelBMUgABfAgHAJA3SAAAGwwEBIgBAAAsAAAAJAAAAHip+/82AAAA +BIynSABBDgiGAkEODIMDRQ4gVQoODEPDDghBxg4ERQsUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAcAAAAHAAAABCp+/8YAAAAAEEOCIMCRQ4gUA4IQcMOBCwAAACMAAAA +UKz7/zYAAAAEnKdIAEEOCIYCQQ4MgwNFDiBVCg4MQ8MOCEHGDgRFCxwAAABsAAAA +AKz7/xgAAAAAQQ4IgwJFDiBQDghBww4ELAAAAIwAAADQpfv/7QAAAABBDgiGAkEO +DIMDQw4gAoAKDgxBww4IQcYOBEMLAAAAIAAAALwAAADQqPv/8gAAAABBDgiDAkMO +IAJ+Cg4IQcMOBEMLFAAAAAAAAAABelIAAXwIARsMBASIAQAAFAAAABwAAABEIfj/ +KwAAAABDDiBeDgQAFAAAADQAAACsIvj/JQAAAABDDiBfDgQAFAAAAEwAAAD0JPj/ +KwAAAABDDiBeDgQAFAAAAGQAAAAsJvj/JQAAAABDDiBfDgQAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAABAAAAAJAAAAIQA+P/AAAAABKynSABBDgiFAkMO +DIcDQQ4QhgRBDhSDBUMOMAKeCg4UQcMOEEHGDgxBxw4IQcUOBEMLABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABgAAAAcAAAAeCv6/zwDAAAAQw4gA4oBCg4EQwtAAAAA +nAAAACwD+P/CAAAABMSnSABBDgiFAkMODIcDQQ4QhgRBDhSDBUMOMAKgCg4UQcMO +EEHGDgxBxw4IQcUOBEMLABgAAAB8AAAAeDL6/zwDAAAAQw4gA4oBCg4EQwsUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAAsAAAAHAAAAMQf/P/fAAAAAEEOCIUCQg0FRocD +hgSDBQKjCsNBxkHHQcUMBARBCwAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAA +HAAAAEwY/P8tAAAAAEMOIBAAAAAwAAAAaBj8/y0AAAAAQw4gFAAAAAAAAAABelIA +AXwIARsMBASIAQAAIAAAABwAAAC85fj/IAAAAABBDgiFAkINBUGDA1nFwwwEBAAA +IAAAAEAAAAB45vj/IAAAAABBDgiFAkINBUGDA1nFwwwEBAAAHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAABMAAAAJAAAAFTH+f8EAgAABNynSABBDgiFAkIN +BUaHA4YEgwUC0wrDQcZBx0HFDAQEQwsCTgrDQcZBx0HFDAQEQwthCsNBxkHHQcUM +BARDC0wAAAB0AAAApKX6/w0CAAAEHKhIAEEOCIUCQg0FRocDhgSDBQLUCsNBxkHH +QcUMBARDCwJdCsNBxkHHQcUMBARDC2EKw0HGQcdBxQwEBEMLHAAAAAAAAAABelBM +UgABfAgHAJA3SAAAGwwEBIgBAAAoAAAAJAAAAETF9/+nAQAABGCoSABBDgiFAkEO +DIcDQQ4QhgRBDhSDBUMOQBQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABgAAAAcAAAA +kBj8/ysAAAAAQw4QVgoOBEcLAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAA8AAAA +HAAAAPxt9v9aAAAAAEYOCIUCQQ4MhwNBDhCGBEEOFIMFegrDDhBBxg4MQccOCEHF +DgRBC1AOBMPFxscAOAAAAFwAAAAcbvb/QgAAAABBDgiHAkEODIYDQQ4QgwRkCsMO +DEPGDghBxw4ERQtPww4MQcYOCEHHDgQAVAAAAJgAAAAwbvb/+QAAAABBDgiFAkMO +DIcDQw4QhgRDDhSDBUUOGAKJCg4UQ8MOEEHGDgxBxw4IQcUOBEILAkYKDhRDww4Q +QcYODEHHDghBxQ4ERAsAACAAAADwAAAA2G72/08AAAAAQQ4IgwJFDgx2Cg4IQcMO +BEMLADQAAAAUAQAABG/2/68AAAAAQQ4IhwJDDgyGA0MOEIMEQw4UAmoKDhBBww4M +QcYOCEHHDgRBCwAAVAAAAEwBAAB8b/b/tQEAAABRDgiFAkEODIcDQQ4QhgRBDhSD +BUYOIAJOCg4UQcMOEEHGDgxBxw4IQcUOBEQLAnwKDhRBww4QQcYODEHHDghBxQ4E +QQsAACAAAACkAQAA5HD2/3IAAAAAQQ4IgwJDDjBjCg4IQcMOBEgLACwAAADIAQAA +QHH2/1cAAAAAQQ4IhwJDDgyGA0MOEIMEdwrDDgxExg4IQccOBEELACAAAAD4AQAA +cHH2/zgAAAAASQ4IgwJnCsMOBEELQ8MOBAAAACAAAAAcAgAAjHH2/zcAAAAAQQ4I +gwJmCsMOBEELSQrDDgRBCywAAABAAgAAqHH2/08AAAAAQQ4IhgJBDgyDA00Kww4I +QcYOBEELfMMOCEHGDgQAABAAAABwAgAAyHH2/yMAAAAAAAAANAAAAIQCAADkcfb/ +wgAAAABBDgiHAkEODIYDQQ4QgwRFDiACYAoOEEHDDgxBxg4IQccOBEULAAAkAAAA +vAIAAHxy9v9sAAAAAEEOCIYCQw4MgwNPCsMOCEHGDgRBCwAAEAAAAOQCAADEcvb/ +VAAAAAAAAAA0AAAA+AIAABBz9v9ZAAAAAEEOCIYCQw4MgwNFDhBxCg4MQcMOCEHG +DgREC1YODEHDDghBxg4EAEQAAAAwAwAAOHP2/7sAAAAAQQ4IhwJBDgyGA0EOEIME +Qw4gYAoOEEHDDgxBxg4IQccOBEcLaQoOEEHDDgxBxg4IQccOBEQLAFAAAAB4AwAA +sHP2/xsBAAAAQQ4IhQJBDgyHA0EOEIYEQw4UgwVDDjBLCg4UQ8MOEEHGDgxBxw4I +QcUOBEYLbgoOFEHDDhBBxg4MQccOCEHFDgRBC0gAAADMAwAAfHT2/wEBAAAAQQ4I +hwJBDgyGA0EOEIMERQ4wApQKDhBBww4MQcYOCEHHDgRBCwJACg4QQcMODEHGDghB +xw4EQQsAAABsAAAAGAQAAEB19v/1AwAAAEEOCIUCQQ4MhwNBDhCGBEMOFIMFQw5A +fQoOFEPDDhBBxg4MQccOCEHFDgRECwJMCg4UQ8MOEEHGDgxBxw4IQcUOBEELA7UC +Cg4URcMOEEHGDgxBxw4IQcUOBEELAAAAbAAAAIgEAADQePb/GggAAABBDgiFAkEO +DIcDQQ4QhgRBDhSDBUUOQAJkCg4UQcMOEEHGDgxBxw4IQcUOBEELAk8KDhRBww4Q +QcYODEHHDghBxQ4EQQsCZwoOFEHDDhBBxg4MQccOCEHFDgRBCwAAADgAAAD4BAAA +gID2/8AAAAAAQQ4IhgJBDgyDA0UOMAKOCg4MQcMOCEHGDgRBC0MKDgxDww4IQcYO +BEELACgAAAA0BQAABIH2/1QAAAAAQQ4IhgJBDgyDA0UOIG0KDgxBww4IQcYOBEEL +VAAAAGAFAAA4gfb/kwUAAABBDgiFAkEODIcDQQ4QhgRBDhSDBUUOMAKECg4UQcMO +EEHGDgxBxw4IQcUOBEELAmkKDhRBww4QQcYODEHHDghBxQ4EQQsAAGgAAAC4BQAA +gIb2/44BAAAAQQ4IhQJBDgyHA0EOEIYEQQ4UgwVDDjADCgEKDhRBww4QQcYODEHH +DghBxQ4EQQtwCg4UQcMOEEHGDgxBxw4IQcUOBEYLbwoOFEHDDhBBxg4MQccOCEHF +DgRBC1QAAAAkBgAApIf2/+ADAAAAQQ4IhQJBDgyHA0EOEIYEQQ4UgwVFDjACzgoO +FEPDDhBBxg4MQccOCEHFDgRDCwPFAQoOFEPDDhBBxg4MQccOCEHFDgRFCwCAAAAA +fAYAACyL9v+nBQAAAEEOCIUCQQ4MhwNBDhCGBEEOFIMFRQ4wAk4KDhRDww4QQcYO +DEHHDghBxQ4EQwsDcwIKDhRDww4QQ8YODEHHDghBxQ4ERQtYCg4UQ8MOEEHGDgxB +xw4IQcUOBEULQwoOFEPDDhBBxg4MQccOCEHFDgRFCwBEAAAAAAcAAFiQ9v+OAAAA +AEEOCIcCQw4MhgNBDhCDBEUOMAJNCg4QQcMODEHGDghBxw4ERgtNCg4QQcMODEHG +DghBxw4EQQswAAAASAcAAKCQ9v+IAAAAAEEOCIcCQQ4MhgNDDhCDBEUOIAJ6DhBB +ww4MQcYOCEHHDgQAPAAAAHwHAAD8kPb/lTYAAABBDgiFAkMODIcDQQ4QhgRBDhSD +BUUOkAECcAoOFEHDDhBBxg4MQccOCEHFDgRBCxAAAAC8BwAAXMf2/x8AAAAAAAAA +bAAAANAHAABox/b/ZgcAAABBDgiFAkEODIcDQQ4QhgRBDhSDBUUOQAK6Cg4UQcMO +EEHGDgxBxw4IQcUOBEELAzABCg4UQcMOEEHGDgxBxw4IQcUOBEQLA5cDCg4UQ8MO +EEHGDgxBxw4IQcUOBEULAIAAAABACAAAaM72/34DAAAAQQ4IhQJBDgyHA0EOEIYE +QQ4UgwVFDmACewoOFEHDDhBBxg4MQccOCEHFDgRBC1wKDhRBww4QQcYODEHHDghB +xQ4EQQtcCg4UQcMOEEHGDgxBxw4IQcUOBEELAu0KDhRBww4QQcYODEHHDghBxQ4E +QQsAADwAAADECAAAZNH2/3QCAAAAQQ4IhQJDDgyHA0MOEIYEQQ4UgwVFDjACqgoO +FEHDDhBBxg4MQccOCEHFDgRFCwA8AAAABAkAAKTT9v/oAgAAAEEOCIUCQQ4MhwND +DhCGBEEOFIMFRQ4wA2cBCg4UQcMOEEHGDgxBxw4IQcUOBEELaAAAAEQJAABU1vb/ +bQIAAABBDgiFAkEODIcDQw4QhgRDDhSDBUUOQFgKDhRBww4QQcYODEHHDghBxQ4E +RwsCuwoOFEHDDhBBxg4MQccOCEHFDgRBC0gKDhRBww4QQcYODEHHDghBxQ4ERAsA +UAAAALAJAABY2Pb/qAAAAABBDgiFAkEODIcDQQ4QhgRBDhSDBUUOMFIKDhRBww4Q +QcYODEHHDghBxQ4EQQtDCg4UQcMOEEHGDgxBxw4IQcUOBEkLOAAAAAQKAAC02Pb/ +FQEAAABBDgiGAkYODIMDRQ4wXQoODEHDDghBxg4ERQsCZQoODEHDDghBxg4EQQsA +LAAAAEAKAACY2fb/TwMAAABBDgiFAkINBUOHA4YEgwUDYAIKw0HGQcdBxQwEBEcL +aAAAAHAKAAC43Pb/PQEAAABBDgiFAkEODIcDQQ4QhgRBDhSDBUMOQG8KDhRBww4Q +QcYODEHHDghBxQ4ERgsCjAoOFEPDDhBBxg4MQccOCEHFDgRBC1QKDhRBww4QQcYO +DEHHDghBxQ4ERQsAGAAAANwKAACM3fb/LwAAAABDDhBkCg4EQQsAABQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAABwAAAAcAAAAiN32/0MAAAAAQw4gVQoOBEgLYA4EAAAA +OAAAADwAAAC43fb/hgAAAABBDgiGAkEODIMDQw4gZAoODEbDDghBxg4EQwtrCg4M +RsMOCEHGDgRDCwAAEAAAAHgAAAAM3vb/AwAAAAAAAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAQAAAAHAAAAPDd9v8DAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABwAAAAcAAAA1N32/9wAAAAAXQ4IgwICpMMOBEIOCIMCFAAAAAAAAAABelIA +AXwIARsMBASIAQAAHAAAABwAAAB83vb/SgAAAABBDgiGAkEODIMDQw4gAAA8AAAA +PAAAAKze9v/jAAAAAEEOCIUCQg0FQYcDQ4YEQ4MFAkMKw0HGQcdBxQwEBEELAnYK +w0HGQcdBxQwEBEELPAAAAHwAAABc3/b/1wEAAABqDgiFAkEODIcDQQ4QhgRBDhSD +BUMOQALiCg4UQcMOEEHGDgxBxw4IQcUOBEELABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABQAAAAcAAAA5OD2/ywAAAAATg4QXA4EACAAAAA0AAAA/OD2/0kAAAAAQQ4I +gwJDDiBtCg4IQcMOBEELABAAAABYAAAAKOH2/xwAAAAAAAAAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAJAAAABwAAAAc4fb/YgAAAABBDgiFAkINBUWGA4MEAlfDQcZB +xQwEBDQAAABEAAAAZOH2/4EAAAAAQQ4IhQJCDQVBhgNGgwRPCsNBxkHFDAQERQsC +VwrDQcZBxQwEBEELLAAAAHwAAAC84fb/kQAAAABBDgiFAkINBUSDA1IKxcMMBARH +CwJFCsPFDAQEQQsAKAAAAKwAAAAs4vb/lwAAAABBDgiFAkINBWEKxQwEBEELAkcK +xQwEBEQLAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAA8AAAAHAAAALji9v9eAQAA +AEEOCIUCQQ4MhwNBDhCGBEEOFIMFQw4sAmgKDhRBww4QQcYODEHHDghBxQ4EQQsA +FAAAAAAAAAABelIAAXwIARsMBASIAQAANAAAABwAAADA4/b/dAAAAABBDgiFAkIN +BUWGA4MEUgrDQcZBxQwEBEQLVQrDQcZBxQwEBEELAAA0AAAAVAAAAAjk9v86AAAA +AEEOCIYCQQ4MgwNDDhBfCg4MQcMOCEHGDgRKC0MODEHDDghBxg4EACQAAACMAAAA +EOT2/yYAAAAAQQ4IhQJCDQVYCsUMBARFC0HFDAQEAAAkAAAAtAAAABjk9v8zAAAA +AEEOCIUCQg0FRYYDgwRow0HGQcUMBAQAJAAAANwAAAAw5Pb/KQAAAABBDgiFAkIN +BV8KxQwEBEELQcUMBAQAACAAAAAEAQAAOOT2/z8AAAAAQQ4IhQJCDQVEgwN3xcMM +BAQAABwAAAAoAQAAVOT2/xkAAAAAQQ4IhQJCDQVVxQwEBAAAKAAAAEgBAABU5Pb/ +TwAAAABBDgiFAkINBUSDA1gKxcMMBARBC27DxQwEBAAQAAAAdAEAAHjk9v8VAAAA +AAAAACAAAACIAQAAhOT2/0cAAAAAQQ4IhQJCDQVEgwN/xcMMBAQAACAAAACsAQAA +sOT2/00AAAAAQQ4IhQJCDQVEgwMCRcXDDAQEADwAAADQAQAA3OT2/4AAAAAAQQ4I +hQJCDQVFhgODBAJGCsNBxkHFDAQEQQtUCsNBxkHFDAQEQQtVw0HGQcUMBAQ0AAAA +EAIAABzl9v9HAAAAAEEOCIYCQQ4MgwNDDhBtCg4MQcMOCEHGDgRBC08ODEHDDghB +xg4EACgAAABIAgAANOX2/1gAAAAAQQ4IhQJCDQVEgwNPCsXDDAQEQQsCQMPFDAQE +HAAAAHQCAABo5fb/GwAAAABBDgiFAkINBVfFDAQEAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAACAAAAAHAAAAFDl9v9QAQAAAEEOCIUCQQ4MhwNBDhCGBEEOFIMFQw4w +eAoOFEHDDhBBxg4MQccOCEHFDgRBC3QKDhRBww4QQcYODEHHDghBxQ4ERAtnCg4U +QcMOEEHGDgxBxw4IQcUOBEULAngKDhRBww4QQcYODEHHDghBxQ4ERAsAAAAUAAAA +AAAAAAF6UgABfAgBGwwEBIgBAAB8AAAAHAAAAATm9v8NAQAAAEEOCIUCQQ4MhwNB +DhCGBEEOFIMFQw4oAkEKDhRBww4QQcYODEHHDghBxQ4ERAttCg4UQcMOEEHGDgxB +xw4IQcUOBEELSwoOFEHDDhBBxg4MQccOCEHFDgRBCwJ2DhRBww4QQcYODEHHDghB +xQ4EABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACgAAAAcAAAAfOb2/0AAAAAAQQ4I +hwJDDgyGA0MOEIMEdsMODEHGDghBxw4ELAAAAEgAAACQ5vb/jgcAAABBDgiFAkIN +BUaHA4YEgwUCoArDQcZBx0HFDAQERAsAEAAAAHgAAADw7fb/cQAAAAAAAABsAAAA +jAAAAFzu9v9ICAAAAEEOCIUCQw4MhwNDDhCGBEYOFIMFQw5gA6gBCg4UQcMOEEHG +DgxBxw4IQcUOBEQLA9kCCg4UQ8MOEEHGDgxBxw4IQcUOBEELAn8KDhRGww4QQcYO +DEHHDghBxQ4ESAsAPAAAAPwAAAA89vb/uQYAAABBDgiFAkEODIcDQQ4QhgRDDhSD +BUYO0AICbAoOFEHDDhBBxg4MQccOCEHFDgREC1gAAAA8AQAAvPz2/xYDAAAAQQ4I +hQJGDgyHA0EOEIYEQw4UgwVGDtABA0gBCg4UQcMOEEHGDgxBxw4IQcUOBEMLA5AB +Cg4UQcMOEEHGDgxBxw4IQcUOBEELAAAANAAAAJgBAACA//b/XQAAAABBDgiGAkMO +DIMDRQ4QAkAKDgxBww4IQcYOBEULSg4MQcMOCEHGDgRIAAAA0AEAAKj/9v+nAAAA +AEEOCIcCQQ4MhgNDDhCDBEgO8AECfQoOEEbDDgxBxg4IQccOBEELRgoOEEbDDgxB +xg4IQccOBEELAAAAUAAAABwCAAAMAPf/DQEAAABBDgiFAkEODIcDQQ4QhgRDDhSD +BUgOgAICsAoOFEbDDhBBxg4MQccOCEHFDgRBC34OFEPDDhBBxg4MQccOCEHFDgQA +VAAAAHACAADIAPf/EQEAAABBDgiHAkMODIYDQw4QgwRDDjACrQoOEEHDDgxBxg4I +QccOBEYLWQoOEEHDDgxBxg4IQccOBEELcA4QQcMODEHGDghBxw4EACwAAADIAgAA +kAH3/0UCAAAAQQ4IhQJCDQVBhwNEhgSDBQLdCsNBxkHHQcUMBARICygAAAD4AgAA +sAP3/0cAAAAAQQ4IgwJDDhB2Cg4IQcMOBEULRQ4IQcMOBAAAEAAAACQDAADUA/f/ +CAAAAAAAAAAcAAAAOAMAANAD9/9MAAAAAEMOEH4KDgRBC0kOBAAAABAAAABYAwAA +AAT3/wgAAAAAAAAAEAAAAGwDAAD8A/f/FAAAAAAAAAAQAAAAgAMAAAgE9/8MAAAA +AAAAABAAAACUAwAABAT3/wgAAAAAAAAAEAAAAKgDAAAABPf/CAAAAAAAAAAYAAAA +vAMAAPwD9/8qAAAAAEMOMGIKDgRBCwAAEAAAANgDAAAQBPf/CAAAAAAAAAAQAAAA +7AMAAAwE9/8IAAAAAAAAAEQAAAAABAAACAT3/9YAAAAAQQ4IhwJDDgyGA0YOEIME +Rg7QAgK0Cg4QQ8MODEHGDghBxw4EQQtGDhBDww4MQcYOCEHHDgQAABAAAABIBAAA +oAT3/wEAAAAAAAAARAAAAFwEAACcBPf/SgEAAABBDgiFAkINBUuHA4YEgwWCBoAH +AqAKxcfGwwwEBEILTwrDxsfFDAQEQQsCh8XHxsPCwAwBBAAAOAAAAKQEAACkBff/ +ngAAAABBDgiFAkINBUuHA4YEgwWCBoAHAk4Kx8bDDQRBxQ4EQQt9xcfGw8LADAEE +LAAAAOAEAAAIBvf/mQAAAABBDgiFAkINBUuHA4YEgwWCBoAHAojFx8bDwsAMAQQA +OAAAABAFAAB4Bvf/sAAAAABBDgiFAkINBUuHA4YEgwWCBoAHAloKx8bDDQRBxQ4E +Rwt9xcfGw8LADAEEFAAAAEwFAADsBvf/HwAAAABDDiBbDgQAOAAAAGQFAAD0Bvf/ +gAAAAABBDgiFAkINBUmHA4YEgwUCYArDQcZBx0HFDAQEQQtMw0HGQcdBxQwEBAAA +FAAAAAAAAAABelIAAXwIARsMBASIAQAAMAAAABwAAAAgB/f/OwAAAABBDgiHAkEO +DIYDQQ4QgwRFDiBrDhBBww4MQcYOCEHHDgQAADAAAABQAAAADB38/2YAAAAAQQ4I +hwJBDgyGA0EOEIMERQ4gAlgOEEPDDgxBxg4IQccOBAAgAAAAhAAAAPgG9/91AAAA +AEEOCIUCQg0FAl0KxQwEBEELAAAsAAAAqAAAAFQH9/9IAgAAAEEOCIUCQg0FRocD +hgSDBVgKw0HGQcdBxQwEBEELAAAgAAAA2AAAAHQJ9/82AAAAAEEOCIMCbgrDDgRC +C0TDDgQAAAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAoAAAAHAAAAHgJ9/9AAAAA +AEEOCIcCQw4MhgNDDhCDBHbDDgxBxg4IQccOBBgAAABIAAAAjAn3/yEAAAAAQQ4I +gwJfww4EAAA4AAAAZAAAAKAJ9/+4AAAAAEEOCIUCQw4MhwNBDhCGBEEOFIMFQw5A +AqoOFEHDDhBBxg4MQccOCEHFDgQ4AAAAoAAAACQK9/+RAAAAAEEOCIUCQQ4MhwND +DhCGBEEOFIMFQw5AAoMOFEHDDhBBxg4MQccOCEHFDgQcAAAA3AAAAIgK9/8+AAAA +AEEOCIUCQg0FesUMBAQAACgAAAD8AAAAqAr3/0cAAAAAQw4QYgoOBEELTAoOBEEL +TQoOBEELRQ4EAAAAUAAAACgBAADMCvf/3gAAAABBDgiFAkEODIcDQQ4QhgRDDhSD +BUUOQAJKCg4UQcMOEEHGDgxBxw4IQcUOBEcLAnkOFEHDDhBBxg4MQccOCEHFDgQA +OAAAAHwBAABYC/f/5QAAAABBDgiGAkMODIMDQw4wZAoODEHDDghBxg4EQwsChgoO +DEHDDghBxg4ESAsAIAAAALgBAAAMDPf/RgAAAABDDhBWCg4ERwtZCg4ERwtFDgQA +MAAAANwBAAA4DPf/fAAAAABBDgiHAkEODIYDQQ4QgwRDDjACcg4QQcMODEHGDghB +xw4EAFQAAAAQAgAAhAz3/0IBAAAAQQ4IhQJBDgyHA0EOEIYEQQ4UgwVFDlADAAEK +DhRBww4QQcYODEHHDghBxQ4EQwtkCg4URsMOEEHGDgxBxw4IQcUOBEELAAA8AAAA +aAIAAHwN9/8YAQAAAEEOCIUCQw4MhwNBDhCGBEEOFIMFRQ5QAwgBDhRBww4QQcYO +DEHHDghBxQ4EAAAAUAAAAKgCAABcDvf/QAEAAABBDgiFAkMODIcDQQ4QhgRBDhSD +BUUOUAMkAQoOFEPDDhBBxg4MQccOCEHFDgRBC0MOFEPDDhBBxg4MQccOCEHFDgQA +OAAAAPwCAABID/f/mwAAAABBDgiFAkEODIcDQQ4QhgRBDhSDBUMOQAKPDhRBww4Q +QcYODEHHDghBxQ4EVAAAADgDAACsD/f/egYAAABBDgiFAkEODIcDQQ4QhgRDDhSD +BUMOYAJ7Cg4UQcMOEEHGDgxBxw4IQcUOBEgLA1cDCg4UQcMOEEHGDgxBxw4IQcUO +BEELACwAAACQAwAA1BX3/2YBAAAAQQ4IhQJCDQVEgwNUCsXDDAQERQsC2ArDxQwE +BEgLABQAAADAAwAAFBf3/ysAAAAAQw4gZw4EABwAAADYAwAALBf3/zsAAAAAQQ4I +gwJDDiB1DghBww4ELAAAAPgDAABMF/f/RgEAAABBDgiFAkINBUSDAwKsCsPFDAQE +QQtqCsXDDAQEQgsAFAAAACgEAABsGPf/KwAAAABDDiBnDgQAFAAAAEAEAACEGPf/ +MwAAAABDDiBvDgQANAAAAFgEAACsGPf/vgEAAABBDgiFAkINBUWGA4MEArYKw0HG +QcUMBARBCwJHCsNBxkHFDAQERgsQAAAAkAQAADQa9/8FAAAAAAAAABwAAACkBAAA +MBr3/yUAAAAAQw4gTQoOBEELTw4EAAAALAAAAMQEAABAGvf/MQIAAABBDgiFAkIN +BUaHA4YEgwUDFAEKw0HGQcdBxQwEBEELFAAAAAAAAAABelIAAXwIARsMBASIAQAA +bAAAABwAAABYHPf/DwIAAABBDgiFAkEODIcDQQ4QhgRBDhSDBUMOGALcCg4UQ8MO +EEHGDgxBxw4IQcUOBEcLAoYKDhRBww4QRMYODEHHDghBxQ4EQwsCeAoOFETDDhBB +xg4MQccOCEHFDgRBCwAAADgAAACMAAAA+B33/14AAAAAQQ4IhQJBDgyHA0EOEIYE +Qw4UgwVDDjACUA4UQcMOEEHGDgxBxw4IQcUOBFQAAADIAAAAHB73/zACAAAAQQ4I +hQJBDgyHA0MOEIYEQQ4UgwVDDkACqgoOFEHDDhBBxg4MQccOCEHFDgRBCwJDCg4U +Q8MOEEHGDgxBxw4IQcUOBEELAAAwAAAAIAEAAPQf9/9NAAAAAEEOCIcCQw4MhgNB +DhCDBEMOIH8OEEPDDgxBxg4IQccOBAAARAAAAFQBAAAQIPf/YQAAAABBDgiHAkEO +DIYDQw4QgwRFDiACRQoOEEPDDgxBxg4IQccOBEELQw4QRsMODEHGDghBxw4EAAAA +EAAAAJwBAAA4IPf/GQAAAAAAAAAoAAAAsAEAAEQg9/86AAAAAEEOCIYCQw4MgwNF +DiBuDgxBww4IQcYOBAAAADwAAADcAQAAWCD3/+UFAAAAQQ4IhQJCDQVDhwOGBIMF +AlkKw0HGQcdBxQwEBEELA2UDCsNBxkHHQcUMBARFCwA4AAAAHAIAAAgm9/+0AAAA +AEEOCIUCQg0FRocDhgSDBXgKw0HGQcdBxQwEBEELAmvDQcZBx0HFDAQEAAAQAAAA +WAIAAIwm9/8VAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAA +gCb3/zIAAAAAQQ4IhgJBDgyDA27DDghBxg4EABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAAEgAAAAcAAAAhCb3/2kAAAAAQQ4IhwJBDgyGA0EOEIMEAkQKww4MQ8YOCEHH +DgRFC0kKww4MRMYOCEHHDgRCC0bDDgxBxg4IQccOBAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAA4AAAAHAAAAJAm9/9YAAAAAEEOCIcCQQ4MhgNBDhCDBHEKww4MQcYO +CEHHDgRBC17DDgxBxg4IQccOBAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAYAAAA +HAAAAJwm9/8mAAAAAEEOCIMCZMMOBAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +GAAAABwAAACYJvf/MwAAAABBDgiDAnHDDgQAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAABgAAAAcAAAApCb3/4wAAAAAQw5AAloKDgRDCwAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAAYAAAAHAAAAAAn9/8kAQAAAEMOUAKHCg4ERgsAFAAAAAAAAAABelIA +AXwIARsMBASIAQAANAAAABwAAAD8J/f/RQAAAABBDgiGAkEODIMDRQ4gawoODEPD +DghBxg4EQQtLDgxBww4IQcYOBAAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAkAAAA +HAAAAPwn9/+nAAAAAEEOCIUCQg0FApgKxQwEBEULRsUMBAQAFAAAAAAAAAABelIA +AXwIARsMBASIAQAAJAAAABwAAABsKPf/jwAAAABBDgiFAkcNBUwKxQwEBEELAnnF +DAQEABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAACQAAAAcAAAAvCj3/4kAAAAAQQ4I +hQJCDQViCsUMBARBCwJixQwEBAAwAAAARAAAACQp9/9zAAAAAEEOCIcCQQ4MhgNB +DhCDBEMOMAJpDhBBww4MQcYOCEHHDgQAgAAAAHgAAABwKff/SwEAAABBDgiFAkEO +DIcDQQ4QhgRDDhSDBUMOUAKiCg4UQcMOEEHGDgxBxw4IQcUOBEELSwoOFEPDDhBB +xg4MQccOCEHFDgRBC00KDhRBww4QRMYODEHHDghBxQ4EQQsCUwoOFEPDDhBBxg4M +QccOCEHFDgRBCwAAFAAAAAAAAAABelIAAXwIARsMBASIAQAATAAAABwAAAAkKvf/ +ewEAAABBDgiFAkINBUWGA4MEAqEKw0HGQcUMBARFC1kKw0HGQcUMBARFC04Kw0HG +QcUMBARBCwJoCsNBxkHFDAQERQswAAAAbAAAAFQr9/+RAAAAAEEOCIcCQw4MhgNB +DhCDBEMOQAKFDhBBww4MQcYOCEHHDgQAaAAAAKAAAADAK/f/agEAAABBDgiFAkEO +DIcDQQ4QhgRBDhSDBUMOUALpCg4UQ8MOEEHGDgxBxw4IQcUOBEELAlwKDhRDww4Q +QcYODEHHDghBxQ4ERwtDDhRDww4QQcYODEHHDghBxQ4EAAAAKAAAAAwBAADELPf/ +hgAAAABBDgiGAkMODIMDQw5AAnwODEHDDghBxg4EAAAUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAA8AAAAHAAAABAt9//1AwAAAEEOCIUCQg0FRocDhgSDBQKuCsNBxkHH +QcUMBARGCwNmAgrDQ8ZBx0HFDAQERQsAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +QAAAABwAAAC4MPf/RAIAAABBDgiFAkEODIcDQQ4QhgRBDhSDBUYO0AQDSwEKDhRB +ww4QQcYODEHHDghBxQ4ERwsAAABUAAAAYAAAAMQy9/9dAQAAAEEOCIUCQQ4MhwNB +DhCGBEEOFIMFRg7QAgLHCg4UQ8MOEEHGDgxBxw4IQcUOBEELSQoOFEPDDhBBxg4M +QccOCEHFDgRBCwAAKAAAALgAAADMM/f/QwAAAABBDgiGAkEODIMDQw4gZwoODEPD +DghBxg4EQQtIAAAA5AAAAPAz9/8qAQAAAEEOCIcCQQ4MhgNBDhCDBEYOwAJuCg4Q +QcMODEHGDghBxw4ERgsCgwoOEEHDDgxBxg4IQccOBEELAAAAGAAAADABAADUNPf/ +JwAAAABDDhBRCg4EQQsAAFQAAABMAQAA6DT3/08BAAAAQQ4IhQJBDgyHA0EOEIYE +QQ4UgwVGDtACAwgBCg4UQcMOEEHGDgxBxw4IQcUOBEELUQoOFEHDDhBBxg4MQccO +CEHFDgRECwAUAAAAAAAAAAF6UgABfAgBGwwEBIgBAABEAAAAHAAAAMg19/+TAAAA +AEEOCIcCQQ4MhgNBDhCDBEMOIG4KDhBBww4MQcYOCEHHDgRBC1gKDhBBww4MQcYO +CEHHDgRBCwA8AAAAZAAAACA29//9AgAAAEEOCIUCQw4MhwNBDhCGBEEOFIMFQw5Q +A6UBCg4UQcMOEEHGDgxBxw4IQcUOBEELEAAAAKQAAADgOPf/MgAAAAAAAAAsAAAA +uAAAAAw59/91AAAAAEEOCIYCQQ4MgwNDDiACWwoODEHDDghBxg4EQQsAAAA8AAAA +6AAAAFw59//sGgAAAEEOCIUCQQ4MhwNBDhCGBEEOFIMFRg7gAQLnCg4UQcMOEEHG +DgxBxw4IQcUOBEELFAAAAAAAAAABelIAAXwIARsMBASIAQAALAAAABwAAAD0U/f/ +xQAAAABBDgiFAkINBUGDA38KxcMMBARBCwJoCsPFDAQERAsAJAAAAEwAAACUVPf/ +RAAAAABBDgiFAkINBWAKxQwEBEELX8UMBAQAACwAAAB0AAAAvFT3/80AAAAAQQ4I +hQJEDQVGhwOGBIMFAoIKw0HGQcdBxQwEBEELADAAAACkAAAAXFX3/2QAAAAAQQ4I +hQJCDQVEgwN0CsXDDAQERQtECsXDDAQETAtTw8UMBAQ8AAAA2AAAAJhV9//cAAAA +AEEOCIUCQw4MhwNBDhCGBEEOFIMFQw5AAngKDhRBww4QQcYODEHHDghBxQ4EQQsA +FAAAABgBAAA4Vvf/JQAAAABDDiBhDgQAPAAAADABAABQVvf/TwEAAABBDgiFAkEO +DIcDQQ4QhgRBDhSDBUMOUAM/AQoOFEHDDhBBxg4MQccOCEHFDgRBCzwAAABwAQAA +YFf3/4gBAAAAQQ4IhQJCDQVGhwOGBIMFAmwKw0HGQcdBxQwEBEgLAmMKw0HGQcdB +xQwEBEELAAA8AAAAsAEAALBY9/8OAQAAAEEOCIUCQQ4MhwNBDhCGBEEOFIMFQw5A +AuoKDhRBww4QQcYODEHHDghBxQ4EQQsAIAAAAPABAACAWff/RAAAAABBDgiDAnkK +ww4ERgtDww4EAAAAVAAAABQCAACsWff/fAEAAABBDgiFAkEODIcDQQ4QhgRBDhSD +BUMOQAM2AQoOFEHDDhBBxg4MQccOCEHFDgRBC2EKDhRBww4QQcYODEHHDghBxQ4E +QQsAAGgAAABsAgAA1Fr3/+gAAAAAQQ4IhQJGDgyHA0EOEIYEQQ4UgwVDDigCXQoO +FEHDDhBBxg4MQccOCEHFDgRDCwJbCg4UQcMOEEHGDgxBxw4IQcUOBEELUw4UQcMO +EEHGDgxBxw4IQcUOBAAAAFQAAADYAgAAWFv3//kAAAAAQQ4IhQJBDgyHA0EOEIYE +QQ4UgwVDDjACfwoOFEHDDhBBxg4MQccOCEHFDgRGCwJWCg4UQcMOEEHGDgxBxw4I +QcUOBEYLAAAQAAAAMAMAAABc9/8mAAAAAAAAABQAAAAAAAAAAXpSAAF8CAEbDAQE +iAEAADwAAAAcAAAABFz3/+YAAAAAQQ4IhQJGDgyHA0EOEIYEQQ4UgwVDDjACuQoO +FEHDDhBBxg4MQccOCEHFDgRHCwA0AAAAXAAAALRc9/+FAAAAAEEOCIYCQQ4MgwND +DkACXwoODEPDDghBxg4ESAtQDgxDww4IQcYOBEQAAACUAAAADF33/0kAAAAAQQ4I +hQJBDgyHA0EOEIYEQQ4UgwV6CsMOEEHGDgxBxw4IQcUOBEELQcMOEEPGDgxBxw4I +QcUOBDQAAADcAAAAFF33/2MAAAAAQQ4IhQJBDgyHA0EOEIYEQQ4UgwUCW8MOEEHG +DgxBxw4IQcUOBAAAOAAAABQBAABMXff/eQAAAABBDgiHAkEODIYDQQ4QgwR9CsMO +DEHGDghBxw4EQQtuww4MRsYOCEHHDgQAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +VAAAABwAAAB4Xff/EgEAAABBDgiFAkEODIcDQQ4QhgRBDhSDBUMOJALCCg4UQcMO +EEHGDgxBxw4IQcUOBEMLeQoOFEHDDhBBxg4MQccOCEHFDgRBCwAAACQAAAB0AAAA +QF73/z4AAAAAQQ4IgwJwCsMOBEELRwrDDgRBC0PDDgQUAAAAAAAAAAF6UgABfAgB +GwwEBIgBAAA8AAAAHAAAAEBe9/9xAQAAAEEOCIUCQQ4MhwNBDhCGBEEOFIMFQw5A +AxoBCg4UQcMOEEHGDgxBxw4IQcUOBEELFAAAAAAAAAABelIAAXwIARsMBASIAQAA +hAAAABwAAABoX/f/SwkAAABBDgiFAkEODIcDQQ4QhgRBDhSDBUMOUAMyAgoOFEHD +DhBBxg4MQccOCEHFDgRDCwMqAgoOFEbDDhBBxg4MQccOCEHFDgRBCwMWAQoOFEbD +DhBBxg4MQccOCEHFDgRBCwMXAQoOFEPDDhBBxg4MQccOCEHFDgRBCxQAAAAAAAAA +AXpSAAF8CAEbDAQEiAEAAFQAAAAcAAAAGGj3/+kDAAAAQQ4IhQJBDgyHA0EOEIYE +QQ4UgwVDDlAD2QEKDhRBww4QQcYODEHHDghBxQ4EQQsDxQEKDhRGww4QQcYODEHH +DghBxQ4EQQsUAAAAAAAAAAF6UgABfAgBGwwEBIgBAAAQAAAAHAAAAJhr9/9pAAAA +AAAAABQAAAAAAAAAAXpSAAF8CAEbDAQEiAEAABAAAAAcAAAArG/3/wUAAAAAAAAA +EAAAADAAAACob/f/EwAAAAAAAAAAAAAAFAAAAAAAAAABelIAAXwIARsMBASIAQAA +HAAAABwAAACIBvz/GQAAAABBDgiFAkINBVXFDAQEAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAFBgDAAAAAAAAAAAAKxsDABsYgwANGEMAAAAAAAAAAAA +1GwMAFBjDABQYQwAAAAAAAAAAAD4bQwAbGMMAAAAAAAAAAAAAAAAAAAAAAAAAAAA +iGQMAJpkDACoZAwAtGQMAMpkDADeZAwA7GQMAABlDAAYZQwAJmUMADhlDABQZQwA +XmUMAGplDAB8ZQwAjGUMAJ5lDACwZQwAyGUMAN5lDAD0ZQwADGYMACJmDABAZgwA +TmYMAGJmDAByZgwAhmYMAJhmDACoZgwAxGYMANxmDADyZgwACmcMAB5nDAA2ZwwA +QmcMAFBnDABmZwwAemcMAI5nDACmZwwAtmcMAMxnDADgZwwA7mcMAP5nDAAcaAwA +JGgMADBoDAA6aAwASGgMAFZoDABoaAwAeGgMAI5oDAAAAAAApGgMAK5oDAC4aAwA +wGgMAMpoDADWaAwAAAAAAOBoDADwaAwAAGkMABBpDAAeaQwAMGkMADppDABEaQwA +TmkMAFhpDABmaQwAdGkMAIBpDACKaQwAlmkMAKJpDACqaQwAtGkMAMBpDADIaQwA +0mkMANppDADkaQwA7mkMAPhpDAAAagwACGoMABBqDAAYagwAIGoMAChqDAAwagwA +OmoMAEJqDABMagwAWGoMAGZqDABwagwAfGoMAIZqDACQagwAmmoMAKRqDACuagwA +tmoMAMBqDADMagwA1moMAOBqDADqagwA9GoMAP5qDAAIawwAFGsMACBrDAAqawwA +NGsMAD5rDABIawwAUmsMAF5rDABqawwAdGsMAH5rDACKawwAlmsMAKBrDACsawwA +tmsMAMJrDAAAAAAAiGQMAJpkDACoZAwAtGQMAMpkDADeZAwA7GQMAABlDAAYZQwA +JmUMADhlDABQZQwAXmUMAGplDAB8ZQwAjGUMAJ5lDACwZQwAyGUMAN5lDAD0ZQwA +DGYMACJmDABAZgwATmYMAGJmDAByZgwAhmYMAJhmDACoZgwAxGYMANxmDADyZgwA +CmcMAB5nDAA2ZwwAQmcMAFBnDABmZwwAemcMAI5nDACmZwwAtmcMAMxnDADgZwwA +7mcMAP5nDAAcaAwAJGgMADBoDAA6aAwASGgMAFZoDABoaAwAeGgMAI5oDAAAAAAA +pGgMAK5oDAC4aAwAwGgMAMpoDADWaAwAAAAAAOBoDADwaAwAAGkMABBpDAAeaQwA +MGkMADppDABEaQwATmkMAFhpDABmaQwAdGkMAIBpDACKaQwAlmkMAKJpDACqaQwA +tGkMAMBpDADIaQwA0mkMANppDADkaQwA7mkMAPhpDAAAagwACGoMABBqDAAYagwA +IGoMAChqDAAwagwAOmoMAEJqDABMagwAWGoMAGZqDABwagwAfGoMAIZqDACQagwA +mmoMAKRqDACuagwAtmoMAMBqDADMagwA1moMAOBqDADqagwA9GoMAP5qDAAIawwA +FGsMACBrDAAqawwANGsMAD5rDABIawwAUmsMAF5rDABqawwAdGsMAH5rDACKawwA +lmsMAKBrDACsawwAtmsMAMJrDAAAAAAAFQBBcmVGaWxlQXBpc0FOU0kAUgBDbG9z +ZUhhbmRsZQB1AENvcHlGaWxlVwB9AENyZWF0ZURpcmVjdG9yeUV4VwAAgABDcmVh +dGVEaXJlY3RvcnlXAACOAENyZWF0ZUZpbGVXAKkAQ3JlYXRlU2VtYXBob3JlQQAA +zwBEZWxldGVDcml0aWNhbFNlY3Rpb24A1ABEZWxldGVGaWxlVwDbAERldmljZUlv +Q29udHJvbADsAEVudGVyQ3JpdGljYWxTZWN0aW9uAAAXAUV4aXRQcm9jZXNzACwB +RmluZENsb3NlADcBRmluZEZpcnN0RmlsZVcAAEMBRmluZE5leHRGaWxlVwBbAUZv +cm1hdE1lc3NhZ2VBAACEAUdldENvbW1hbmRMaW5lQQC9AUdldEN1cnJlbnREaXJl +Y3RvcnlXAADDAUdldEN1cnJlbnRUaHJlYWRJZAAAzAFHZXREaXNrRnJlZVNwYWNl +RXhXAOMBR2V0RmlsZUF0dHJpYnV0ZXNFeFcAAOYBR2V0RmlsZUF0dHJpYnV0ZXNX +AADoAUdldEZpbGVJbmZvcm1hdGlvbkJ5SGFuZGxlAADuAUdldEZpbGVUaW1lAPcB +R2V0RnVsbFBhdGhOYW1lVwAA/gFHZXRMYXN0RXJyb3IAABECR2V0TW9kdWxlSGFu +ZGxlQQAAQQJHZXRQcm9jQWRkcmVzcwAAgQJHZXRUZW1wUGF0aFcAAN4CSW5pdGlh +bGl6ZUNyaXRpY2FsU2VjdGlvbgDnAkludGVybG9ja2VkRGVjcmVtZW50AADoAklu +dGVybG9ja2VkRXhjaGFuZ2UA6wJJbnRlcmxvY2tlZEluY3JlbWVudAAA+wJJc0RC +Q1NMZWFkQnl0ZUV4AAAuA0xlYXZlQ3JpdGljYWxTZWN0aW9uAAA9A0xvY2FsRnJl +ZQBVA01vdmVGaWxlRXhXAFwDTXVsdGlCeXRlVG9XaWRlQ2hhcgDSA1JlbGVhc2VT +ZW1hcGhvcmUAANcDUmVtb3ZlRGlyZWN0b3J5VwAAHQRTZXRDdXJyZW50RGlyZWN0 +b3J5VwAAIwRTZXRFbmRPZkZpbGUAADEEU2V0RmlsZUF0dHJpYnV0ZXNXAAA3BFNl +dEZpbGVQb2ludGVyRXgAADoEU2V0RmlsZVRpbWUAQwRTZXRMYXN0RXJyb3IAAHQE +U2V0VW5oYW5kbGVkRXhjZXB0aW9uRmlsdGVyAIAEU2xlZXAAkwRUbHNBbGxvYwAA +lARUbHNGcmVlAJUEVGxzR2V0VmFsdWUAlgRUbHNTZXRWYWx1ZQC9BFZpcnR1YWxQ +cm90ZWN0AAC/BFZpcnR1YWxRdWVyeQAAxwRXYWl0Rm9yU2luZ2xlT2JqZWN0AN8E +V2lkZUNoYXJUb011bHRpQnl0ZQAXAF9mZG9wZW4AMwBfbHNlZWsAAEAAX3JlYWQA +UABfc3RyZHVwAFIAX3N0cmljb2xsAG0AX3dyaXRlAAA7AF9fZ2V0bWFpbmFyZ3MA +RgBfX21iX2N1cl9tYXgAAFIAX19wX19lbnZpcm9uAABUAF9fcF9fZm1vZGUAAGkA +X19zZXRfYXBwX3R5cGUAAJAAX2Fzc2VydACaAF9jZXhpdAAAwABfZXJybm8AANIA +X2ZpbGJ1ZgDXAF9maW5kY2xvc2UAANgAX2ZpbmRmaXJzdAAA3gBfZmluZG5leHQA +5QBfZmxzYnVmAPQAX2ZzdGF0NjQAAP4AX2Z1bGxwYXRoACgBX2lvYgAAoQFfb25l +eGl0ANIBX3NldG1vZGUAAH8CYWJvcnQAhgJhdGV4aXQAAIgCYXRvaQAAiwJjYWxs +b2MAAJcCZmNsb3NlAACaAmZmbHVzaAAAogJmb3BlbgCkAmZwdXRjAKUCZnB1dHMA +qAJmcmVhZACpAmZyZWUAAK0CZnNlZWsArwJmdGVsbACxAmZ3cml0ZQAAtwJnZXR3 +YwDEAmlzc3BhY2UAygJpc3djdHlwZQAA1wJsb2NhbGVjb252AADcAm1hbGxvYwAA +3gJtYnN0b3djcwAA4AJtZW1jaHIAAOECbWVtY21wAADiAm1lbWNweQAA4wJtZW1t +b3ZlAOQCbWVtc2V0AADtAnB1dHdjAPICcmVhbGxvYwD4AnNldGxvY2FsZQD5AnNl +dHZidWYA+gJzaWduYWwAAP0Cc3ByaW50ZgACA3N0cmNocgAAAwNzdHJjbXAAAAQD +c3RyY29sbAAHA3N0cmVycm9yAAAIA3N0cmZ0aW1lAAAJA3N0cmxlbgAADANzdHJu +Y3B5ABEDc3RydG9kAAAVA3N0cnhmcm0AHgN0b2xvd2VyACADdG93bG93ZXIAACED +dG93dXBwZXIAACIDdW5nZXRjAAAjA3VuZ2V0d2MAJAN2ZnByaW50ZgAAJwN2c3By +aW50ZgAALQN3Y3Njb2xsADADd2NzZnRpbWUAADEDd2NzbGVuAAA8A3djc3RvbWJz +AAA+A3djc3hmcm0AAGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwA +AGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwA +AGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwA +AGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwA +AGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDABrZXJu +ZWwzMi5kbGwAAAAAFGAMABRgDAAUYAwAFGAMABRgDAAUYAwAbXN2Y3J0LmRsbAAA +KGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwA +KGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwA +KGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwA +KGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwA +KGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwA +KGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAG1zdmNydC5k +bGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AFDAJABQwAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAABgEwAHIBMAOxQTAAEcEwAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +} +} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3.txt" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3.txt" new file mode 100644 index 00000000..ce897714 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3.txt" @@ -0,0 +1,11 @@ +Перем юТест1; + +Функция ПолучитьСписокТестов(ЮнитТестирование1) Экспорт + юТест1 = ЮнитТестирование1; + ВсеТесты1 = Новый Массив; + ВсеТесты1.Добавить("Тест_ДваПлюсДва"); + Возврат ВсеТесты1; +КонецФункции + +Процедура Тест_ДваПлюсДва() Экспорт +КонецПроцедуры diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\224\320\262\320\260\320\242\320\265\321\201\321\202\320\260.txt" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\224\320\262\320\260\320\242\320\265\321\201\321\202\320\260.txt" new file mode 100644 index 00000000..8172a52e --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\224\320\262\320\260\320\242\320\265\321\201\321\202\320\260.txt" @@ -0,0 +1,21 @@ +Перем юТест; + +Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт + + юТест = ЮнитТестирование; + + ВсеТесты = Новый Массив; + ВсеТесты.Добавить("Тест_ДваПлюсДва"); + ВсеТесты.Добавить("Тест_ДваПлюсТри"); + + Возврат ВсеТесты; + +КонецФункции + +Процедура Тест_ДваПлюсДва() Экспорт + +КонецПроцедуры + +Процедура Тест_ДваПлюсТри() Экспорт + +КонецПроцедуры diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\224\320\262\320\260\320\242\320\265\321\201\321\202\320\260_\320\230\320\232\320\276\320\264\320\222\320\276\320\272\321\200\321\203\320\263.txt" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\224\320\262\320\260\320\242\320\265\321\201\321\202\320\260_\320\230\320\232\320\276\320\264\320\222\320\276\320\272\321\200\321\203\320\263.txt" new file mode 100644 index 00000000..c5c6c81b --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\224\320\262\320\260\320\242\320\265\321\201\321\202\320\260_\320\230\320\232\320\276\320\264\320\222\320\276\320\272\321\200\321\203\320\263.txt" @@ -0,0 +1,29 @@ +Перем Перем1; +Перем юТест; +Перем Перем2; + +Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт + + юТест = ЮнитТестирование; + + ВсеТесты = Новый Массив; + ВсеТесты.Добавить("Тест_ДваПлюсДва"); + ВсеТесты.Добавить("Тест_ДваПлюсТри"); + + Возврат ВсеТесты; + +КонецФункции + +Процедура Публичная() Экспорт +КонецПроцедуры + +Процедура Тест_ДваПлюсДва() Экспорт + +КонецПроцедуры + +Процедура Тест_ДваПлюсТри() Экспорт + +КонецПроцедуры + +Процедура Приватная() +КонецПроцедуры diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\224\320\262\320\260\320\242\320\265\321\201\321\202\320\260_\320\230\320\232\320\276\320\264\320\222\320\276\320\272\321\200\321\203\320\263_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\224\320\262\320\260\320\242\320\265\321\201\321\202\320\260_\320\230\320\232\320\276\320\264\320\222\320\276\320\272\321\200\321\203\320\263_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" new file mode 100644 index 00000000..9b161c3a --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\224\320\262\320\260\320\242\320\265\321\201\321\202\320\260_\320\230\320\232\320\276\320\264\320\222\320\276\320\272\321\200\321\203\320\263_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" @@ -0,0 +1,51 @@ +Перем Перем1; +Перем КонтекстЯдра; +Перем Ожидаем; +Перем Утверждения; +Перем ГенераторТестовыхДанных; +Перем ЗапросыИзБД; +Перем УтвержденияПроверкаТаблиц; + +Перем Перем2; + +//Перем юТест; +//Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт +// +// юТест = ЮнитТестирование; +// +// ВсеТесты = Новый Массив; +// ВсеТесты.Добавить("Тест_ДваПлюсДва"); +// ВсеТесты.Добавить("Тест_ДваПлюсТри"); +// +// Возврат ВсеТесты; +// +//КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин("СериализаторMXL"); + ЗапросыИзБД = КонтекстЯдра.Плагин("ЗапросыИзБД"); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); +КонецПроцедуры + +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + НаборТестов.Добавить("Тест_ДваПлюсДва"); + НаборТестов.Добавить("Тест_ДваПлюсТри"); +КонецПроцедуры + +Процедура Публичная() Экспорт +КонецПроцедуры + +Процедура Тест_ДваПлюсДва() Экспорт + +КонецПроцедуры + +Процедура Тест_ДваПлюсТри() Экспорт + +КонецПроцедуры + +Процедура Приватная() +КонецПроцедуры + diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\224\320\262\320\260\320\242\320\265\321\201\321\202\320\260_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\224\320\262\320\260\320\242\320\265\321\201\321\202\320\260_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" new file mode 100644 index 00000000..813a8d54 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\224\320\262\320\260\320\242\320\265\321\201\321\202\320\260_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" @@ -0,0 +1,42 @@ +Перем КонтекстЯдра; +Перем Ожидаем; +Перем Утверждения; +Перем ГенераторТестовыхДанных; +Перем ЗапросыИзБД; +Перем УтвержденияПроверкаТаблиц; + +//Перем юТест; +//Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт +// +// юТест = ЮнитТестирование; +// +// ВсеТесты = Новый Массив; +// ВсеТесты.Добавить("Тест_ДваПлюсДва"); +// ВсеТесты.Добавить("Тест_ДваПлюсТри"); +// +// Возврат ВсеТесты; +// +//КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин("СериализаторMXL"); + ЗапросыИзБД = КонтекстЯдра.Плагин("ЗапросыИзБД"); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); +КонецПроцедуры + +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + НаборТестов.Добавить("Тест_ДваПлюсДва"); + НаборТестов.Добавить("Тест_ДваПлюсТри"); +КонецПроцедуры + +Процедура Тест_ДваПлюсДва() Экспорт + +КонецПроцедуры + +Процедура Тест_ДваПлюсТри() Экспорт + +КонецПроцедуры + diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\225\321\201\321\202\321\214\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217.txt" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\225\321\201\321\202\321\214\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217.txt" new file mode 100644 index 00000000..99ab79ee --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\225\321\201\321\202\321\214\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217.txt" @@ -0,0 +1,18 @@ +Перем юТест1; + +Функция ПолучитьСписокТестов(ЮнитТестирование1) Экспорт + юТест1 = ЮнитТестирование1; + ВсеТесты1 = Новый Массив; + ВсеТесты1.Добавить("Тест_ДваПлюсДва"); + Возврат ВсеТесты1; +КонецФункции + +Процедура Тест_ДваПлюсДва() Экспорт + юТест1.ПроверитьРавенство(2+2, 4, "2+2 = 4"); + юТест1.ПроверитьНеРавенство(2+2, 5); + юТест1.СоздатьДанныеПоМакетам(Объект, "Макет"); + Рез = юТест1.ПолучитьКоличествоЭлементовСправочникаПоОтбору("Спр", Новый Структура); + юТест1.ВывестиСообщение("Текст сообщения"); + юТест1.ПроверитьРавенствоТаблиц(Таб1, Таб2, "Текст сообщения"); + юТест1.ПрерватьТест("Текст сообщения"); +КонецПроцедуры diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\225\321\201\321\202\321\214\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\225\321\201\321\202\321\214\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" new file mode 100644 index 00000000..7f78e181 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\225\321\201\321\202\321\214\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" @@ -0,0 +1,38 @@ +Перем КонтекстЯдра; +Перем Ожидаем; +Перем Утверждения; +Перем ГенераторТестовыхДанных; +Перем ЗапросыИзБД; +Перем УтвержденияПроверкаТаблиц; + +//Перем юТест1; +//Функция ПолучитьСписокТестов(ЮнитТестирование1) Экспорт +// юТест1 = ЮнитТестирование1; +// ВсеТесты1 = Новый Массив; +// ВсеТесты1.Добавить("Тест_ДваПлюсДва"); +// Возврат ВсеТесты1; +//КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин("СериализаторMXL"); + ЗапросыИзБД = КонтекстЯдра.Плагин("ЗапросыИзБД"); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); +КонецПроцедуры + +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + НаборТестов.Добавить("Тест_ДваПлюсДва"); +КонецПроцедуры + +Процедура Тест_ДваПлюсДва() Экспорт + Утверждения.ПроверитьРавенство(2+2, 4, "2+2 = 4"); + Утверждения.ПроверитьНеРавенство(2+2, 5); + ГенераторТестовыхДанных.СоздатьДанныеПоМакетам(Объект, "Макет"); + Рез = ЗапросыИзБД.ПолучитьКоличествоЭлементовСправочникаПоОтбору("Спр", Новый Структура); + КонтекстЯдра.ВывестиСообщение("Текст сообщения"); + УтвержденияПроверкаТаблиц.ПроверитьРавенствоТаблиц(Таб1, Таб2, "Текст сообщения"); + КонтекстЯдра.ВызватьОшибкуПроверки("Текст сообщения"); +КонецПроцедуры + diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\225\321\201\321\202\321\214\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\243\320\244.txt" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\225\321\201\321\202\321\214\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\243\320\244.txt" new file mode 100644 index 00000000..fad949c1 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\225\321\201\321\202\321\214\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\243\320\244.txt" @@ -0,0 +1,21 @@ +&НаКлиенте +Перем юТест1; + +&НаКлиенте +Функция ПолучитьСписокТестов(ЮнитТестирование1) Экспорт + юТест1 = ЮнитТестирование1; + ВсеТесты1 = Новый Массив; + ВсеТесты1.Добавить("Тест_ДваПлюсДва"); + Возврат ВсеТесты1; +КонецФункции + +&НаКлиенте +Процедура Тест_ДваПлюсДва() Экспорт + юТест1.ПроверитьРавенство(2+2, 4, "2+2 = 4"); + юТест1.ПроверитьНеРавенство(2+2, 5); + юТест1.СоздатьДанныеПоМакетам(Объект, "Макет"); + Рез = юТест1.ПолучитьКоличествоЭлементовСправочникаПоОтбору("Спр", Новый Структура); + юТест1.ВывестиСообщение("Текст сообщения"); + юТест1.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Таб1, Таб2, "Текст сообщения"); + юТест1.ПрерватьТест("Текст сообщения"); +КонецПроцедуры diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\225\321\201\321\202\321\214\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\243\320\244_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\225\321\201\321\202\321\214\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\243\320\244_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" new file mode 100644 index 00000000..7c1dcfe2 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\225\321\201\321\202\321\214\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\243\320\244_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" @@ -0,0 +1,47 @@ +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Ожидаем; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем ГенераторТестовыхДанных; +&НаКлиенте +Перем ЗапросыИзБД; +&НаКлиенте +Перем УтвержденияПроверкаТаблиц; + +//Перем юТест1; +//Функция ПолучитьСписокТестов(ЮнитТестирование1) Экспорт +// юТест1 = ЮнитТестирование1; +// ВсеТесты1 = Новый Массив; +// ВсеТесты1.Добавить("Тест_ДваПлюсДва"); +// Возврат ВсеТесты1; +//КонецФункции + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин("СериализаторMXL"); + ЗапросыИзБД = КонтекстЯдра.Плагин("ЗапросыИзБД"); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + НаборТестов.Добавить("Тест_ДваПлюсДва"); +КонецПроцедуры + +&НаКлиенте +Процедура Тест_ДваПлюсДва() Экспорт + Утверждения.ПроверитьРавенство(2+2, 4, "2+2 = 4"); + Утверждения.ПроверитьНеРавенство(2+2, 5); + ГенераторТестовыхДанных.СоздатьДанныеПоМакетам(Объект, "Макет"); + Рез = ЗапросыИзБД.ПолучитьКоличествоЭлементовСправочникаПоОтбору("Спр", Новый Структура); + КонтекстЯдра.ВывестиСообщение("Текст сообщения"); + УтвержденияПроверкаТаблиц.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Таб1, Таб2, "Текст сообщения"); + КонтекстЯдра.ВызватьОшибкуПроверки("Текст сообщения"); +КонецПроцедуры + diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" new file mode 100644 index 00000000..d3847c01 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" @@ -0,0 +1,31 @@ +Перем КонтекстЯдра; +Перем Ожидаем; +Перем Утверждения; +Перем ГенераторТестовыхДанных; +Перем ЗапросыИзБД; +Перем УтвержденияПроверкаТаблиц; + +//Перем юТест1; +//Функция ПолучитьСписокТестов(ЮнитТестирование1) Экспорт +// юТест1 = ЮнитТестирование1; +// ВсеТесты1 = Новый Массив; +// ВсеТесты1.Добавить("Тест_ДваПлюсДва"); +// Возврат ВсеТесты1; +//КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин("СериализаторMXL"); + ЗапросыИзБД = КонтекстЯдра.Плагин("ЗапросыИзБД"); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); +КонецПроцедуры + +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + НаборТестов.Добавить("Тест_ДваПлюсДва"); +КонецПроцедуры + +Процедура Тест_ДваПлюсДва() Экспорт +КонецПроцедуры + diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\243\320\244.txt" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\243\320\244.txt" new file mode 100644 index 00000000..c8fa01dd --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\243\320\244.txt" @@ -0,0 +1,14 @@ +&НаКлиенте +Перем юТест1; + +&НаКлиенте +Функция ПолучитьСписокТестов(ЮнитТестирование1) Экспорт + юТест1 = ЮнитТестирование1; + ВсеТесты1 = Новый Массив; + ВсеТесты1.Добавить("Тест_ДваПлюсДва"); + Возврат ВсеТесты1; +КонецФункции + +&НаКлиенте +Процедура Тест_ДваПлюсДва() Экспорт +КонецПроцедуры diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\243\320\244_\320\224\320\262\320\260\320\242\320\265\321\201\321\202\320\260.txt" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\243\320\244_\320\224\320\262\320\260\320\242\320\265\321\201\321\202\320\260.txt" new file mode 100644 index 00000000..2f7986ff --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\243\320\244_\320\224\320\262\320\260\320\242\320\265\321\201\321\202\320\260.txt" @@ -0,0 +1,25 @@ +&НаКлиенте +Перем юТест; + +&НаКлиенте +Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт + + юТест = ЮнитТестирование; + + ВсеТесты = Новый Массив; + ВсеТесты.Добавить("Тест_ДваПлюсДва"); + ВсеТесты.Добавить("Тест_ДваПлюсТри"); + + Возврат ВсеТесты; + +КонецФункции + +&НаКлиенте +Процедура Тест_ДваПлюсДва() Экспорт + +КонецПроцедуры + +&НаКлиенте +Процедура Тест_ДваПлюсТри() Экспорт + +КонецПроцедуры diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\243\320\244_\320\224\320\262\320\260\320\242\320\265\321\201\321\202\320\260_\320\230\320\232\320\276\320\264\320\222\320\276\320\272\321\200\321\203\320\263.txt" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\243\320\244_\320\224\320\262\320\260\320\242\320\265\321\201\321\202\320\260_\320\230\320\232\320\276\320\264\320\222\320\276\320\272\321\200\321\203\320\263.txt" new file mode 100644 index 00000000..c7587eba --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\243\320\244_\320\224\320\262\320\260\320\242\320\265\321\201\321\202\320\260_\320\230\320\232\320\276\320\264\320\222\320\276\320\272\321\200\321\203\320\263.txt" @@ -0,0 +1,37 @@ +&НаКлиенте +Перем Перем1; +&НаКлиенте +Перем юТест; +&НаКлиенте +Перем Перем2; + +&НаКлиенте +Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт + + юТест = ЮнитТестирование; + + ВсеТесты = Новый Массив; + ВсеТесты.Добавить("Тест_ДваПлюсДва"); + ВсеТесты.Добавить("Тест_ДваПлюсТри"); + + Возврат ВсеТесты; + +КонецФункции + +&НаКлиенте +Процедура Публичная() Экспорт +КонецПроцедуры + +&НаКлиенте +Процедура Тест_ДваПлюсДва() Экспорт + +КонецПроцедуры + +&НаКлиенте +Процедура Тест_ДваПлюсТри() Экспорт + +КонецПроцедуры + +&НаКлиенте +Процедура Приватная() +КонецПроцедуры diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\243\320\244_\320\224\320\262\320\260\320\242\320\265\321\201\321\202\320\260_\320\230\320\232\320\276\320\264\320\222\320\276\320\272\321\200\321\203\320\263_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\243\320\244_\320\224\320\262\320\260\320\242\320\265\321\201\321\202\320\260_\320\230\320\232\320\276\320\264\320\222\320\276\320\272\321\200\321\203\320\263_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" new file mode 100644 index 00000000..c91190b5 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\243\320\244_\320\224\320\262\320\260\320\242\320\265\321\201\321\202\320\260_\320\230\320\232\320\276\320\264\320\222\320\276\320\272\321\200\321\203\320\263_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" @@ -0,0 +1,68 @@ +&НаКлиенте +Перем Перем1; + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Ожидаем; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем ГенераторТестовыхДанных; +&НаКлиенте +Перем ЗапросыИзБД; +&НаКлиенте +Перем УтвержденияПроверкаТаблиц; + +&НаКлиенте +Перем Перем2; + +&НаКлиенте + +//Перем юТест; +//Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт +// +// юТест = ЮнитТестирование; +// +// ВсеТесты = Новый Массив; +// ВсеТесты.Добавить("Тест_ДваПлюсДва"); +// ВсеТесты.Добавить("Тест_ДваПлюсТри"); +// +// Возврат ВсеТесты; +// +//КонецФункции + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин("СериализаторMXL"); + ЗапросыИзБД = КонтекстЯдра.Плагин("ЗапросыИзБД"); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + НаборТестов.Добавить("Тест_ДваПлюсДва"); + НаборТестов.Добавить("Тест_ДваПлюсТри"); +КонецПроцедуры + +&НаКлиенте +Процедура Публичная() Экспорт +КонецПроцедуры + +&НаКлиенте +Процедура Тест_ДваПлюсДва() Экспорт + +КонецПроцедуры + +&НаКлиенте +Процедура Тест_ДваПлюсТри() Экспорт + +КонецПроцедуры + +&НаКлиенте +Процедура Приватная() +КонецПроцедуры + diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\243\320\244_\320\224\320\262\320\260\320\242\320\265\321\201\321\202\320\260_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\243\320\244_\320\224\320\262\320\260\320\242\320\265\321\201\321\202\320\260_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" new file mode 100644 index 00000000..4b8ad768 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\243\320\244_\320\224\320\262\320\260\320\242\320\265\321\201\321\202\320\260_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" @@ -0,0 +1,52 @@ +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Ожидаем; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем ГенераторТестовыхДанных; +&НаКлиенте +Перем ЗапросыИзБД; +&НаКлиенте +Перем УтвержденияПроверкаТаблиц; + +//Перем юТест; +//Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт +// +// юТест = ЮнитТестирование; +// +// ВсеТесты = Новый Массив; +// ВсеТесты.Добавить("Тест_ДваПлюсДва"); +// ВсеТесты.Добавить("Тест_ДваПлюсТри"); +// +// Возврат ВсеТесты; +// +//КонецФункции + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин("СериализаторMXL"); + ЗапросыИзБД = КонтекстЯдра.Плагин("ЗапросыИзБД"); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + НаборТестов.Добавить("Тест_ДваПлюсДва"); + НаборТестов.Добавить("Тест_ДваПлюсТри"); +КонецПроцедуры + +&НаКлиенте +Процедура Тест_ДваПлюсДва() Экспорт + +КонецПроцедуры + +&НаКлиенте +Процедура Тест_ДваПлюсТри() Экспорт + +КонецПроцедуры + diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\243\320\244_\320\224\320\262\320\265\320\232\320\260\320\262\321\213\321\207\320\272\320\270.txt" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\243\320\244_\320\224\320\262\320\265\320\232\320\260\320\262\321\213\321\207\320\272\320\270.txt" new file mode 100644 index 00000000..7d706143 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\243\320\244_\320\224\320\262\320\265\320\232\320\260\320\262\321\213\321\207\320\272\320\270.txt" @@ -0,0 +1,14 @@ +&НаКлиенте +Перем юТест1; + +&НаКлиенте +Функция ПолучитьСписокТестов(ЮнитТестирование1) Экспорт + юТест1 = ЮнитТестирование1; + ВсеТесты1 = Новый Массив; + ВсеТесты1.Добавить(""Тест_ДваПлюсДва""); + Возврат ВсеТесты1; +КонецФункции + +&НаКлиенте +Процедура Тест_ДваПлюсДва() Экспорт +КонецПроцедуры diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\243\320\244_\320\224\320\262\320\265\320\232\320\260\320\262\321\213\321\207\320\272\320\270_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\243\320\244_\320\224\320\262\320\265\320\232\320\260\320\262\321\213\321\207\320\272\320\270_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" new file mode 100644 index 00000000..f39bcb00 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\243\320\244_\320\224\320\262\320\265\320\232\320\260\320\262\321\213\321\207\320\272\320\270_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" @@ -0,0 +1,40 @@ +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Ожидаем; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем ГенераторТестовыхДанных; +&НаКлиенте +Перем ЗапросыИзБД; +&НаКлиенте +Перем УтвержденияПроверкаТаблиц; + +//Перем юТест1; +//Функция ПолучитьСписокТестов(ЮнитТестирование1) Экспорт +// юТест1 = ЮнитТестирование1; +// ВсеТесты1 = Новый Массив; +// ВсеТесты1.Добавить(""Тест_ДваПлюсДва""); +// Возврат ВсеТесты1; +//КонецФункции + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин(""УтвержденияBDD""); + Утверждения = КонтекстЯдра.Плагин(""БазовыеУтверждения""); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин(""СериализаторMXL""); + ЗапросыИзБД = КонтекстЯдра.Плагин(""ЗапросыИзБД""); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин(""УтвержденияПроверкаТаблиц""); +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + НаборТестов.Добавить(""Тест_ДваПлюсДва""); +КонецПроцедуры + +&НаКлиенте +Процедура Тест_ДваПлюсДва() Экспорт +КонецПроцедуры + diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\243\320\244_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\243\320\244_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" new file mode 100644 index 00000000..e574944d --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\271\320\242\320\265\321\201\321\202_v3_\320\243\320\244_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" @@ -0,0 +1,40 @@ +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Ожидаем; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем ГенераторТестовыхДанных; +&НаКлиенте +Перем ЗапросыИзБД; +&НаКлиенте +Перем УтвержденияПроверкаТаблиц; + +//Перем юТест1; +//Функция ПолучитьСписокТестов(ЮнитТестирование1) Экспорт +// юТест1 = ЮнитТестирование1; +// ВсеТесты1 = Новый Массив; +// ВсеТесты1.Добавить("Тест_ДваПлюсДва"); +// Возврат ВсеТесты1; +//КонецФункции + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин("СериализаторMXL"); + ЗапросыИзБД = КонтекстЯдра.Плагин("ЗапросыИзБД"); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + НаборТестов.Добавить("Тест_ДваПлюсДва"); +КонецПроцедуры + +&НаКлиенте +Процедура Тест_ДваПлюсДва() Экспорт +КонецПроцедуры + diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\240\320\260\320\267\320\275\321\213\320\271\320\240\320\265\320\263\320\270\321\201\321\202\321\200.txt" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\240\320\260\320\267\320\275\321\213\320\271\320\240\320\265\320\263\320\270\321\201\321\202\321\200.txt" new file mode 100644 index 00000000..f4d48616 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\240\320\260\320\267\320\275\321\213\320\271\320\240\320\265\320\263\320\270\321\201\321\202\321\200.txt" @@ -0,0 +1,15 @@ +Перем ЮТест1; + +Функция ПолучитьСписокТестов(ЮнитТестирование1) Экспорт + ЮТест1 = ЮнитТестирование1; + ВсеТесты1 = Новый Массив; + ВсеТесты1.Добавить("Тест_ДваПлюсДва"); + Возврат ВсеТесты1; +КонецФункции + +Процедура Тест_ДваПлюсДва() Экспорт + юТест1.ПроверитьРавенство(2+2, 4, "2+2 = 4"); + юТест1.ПроверитьНеРавенство(2+2, 5); + юТест1.СоздатьДанныеПоМакетам(Объект, "Макет"); + Рез = юТест1.ПолучитьКоличествоЭлементовСправочникаПоОтбору("Спр", Новый Структура); +КонецПроцедуры diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\240\320\260\320\267\320\275\321\213\320\271\320\240\320\265\320\263\320\270\321\201\321\202\321\200_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\240\320\260\320\267\320\275\321\213\320\271\320\240\320\265\320\263\320\270\321\201\321\202\321\200_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" new file mode 100644 index 00000000..35431e23 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\240\320\260\320\267\320\275\321\213\320\271\320\240\320\265\320\263\320\270\321\201\321\202\321\200_\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202.txt" @@ -0,0 +1,35 @@ +Перем КонтекстЯдра; +Перем Ожидаем; +Перем Утверждения; +Перем ГенераторТестовыхДанных; +Перем ЗапросыИзБД; +Перем УтвержденияПроверкаТаблиц; + +//Перем ЮТест1; +//Функция ПолучитьСписокТестов(ЮнитТестирование1) Экспорт +// ЮТест1 = ЮнитТестирование1; +// ВсеТесты1 = Новый Массив; +// ВсеТесты1.Добавить("Тест_ДваПлюсДва"); +// Возврат ВсеТесты1; +//КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин("СериализаторMXL"); + ЗапросыИзБД = КонтекстЯдра.Плагин("ЗапросыИзБД"); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); +КонецПроцедуры + +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + НаборТестов.Добавить("Тест_ДваПлюсДва"); +КонецПроцедуры + +Процедура Тест_ДваПлюсДва() Экспорт + Утверждения.ПроверитьРавенство(2+2, 4, "2+2 = 4"); + Утверждения.ПроверитьНеРавенство(2+2, 5); + ГенераторТестовыхДанных.СоздатьДанныеПоМакетам(Объект, "Макет"); + Рез = ЗапросыИзБД.ПолучитьКоличествоЭлементовСправочникаПоОтбору("Спр", Новый Структура); +КонецПроцедуры + diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\244\320\260\320\271\320\273\320\241\320\236\320\264\320\275\320\270\320\274\320\242\320\265\321\201\321\202\320\276\320\274.txt" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\244\320\260\320\271\320\273\320\241\320\236\320\264\320\275\320\270\320\274\320\242\320\265\321\201\321\202\320\276\320\274.txt" new file mode 100644 index 00000000..bbd27e48 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\244\320\260\320\271\320\273\320\241\320\236\320\264\320\275\320\270\320\274\320\242\320\265\321\201\321\202\320\276\320\274.txt" @@ -0,0 +1,93 @@ +{1, +{#base64:////fwACAAAGAAAAAAAAAA0KMDAwMDAwNDggMDAwMDAyMDAgN2ZmZmZmZmYgDQov +AgAAsgIAAP///3/RBAAAGAUAAP///383BwAAtgcAAP///3/VCQAAFAoAAP///38z +DAAAeAwAAP///3+XDgAA3g4AAP///38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0KMDAwMDAwNjQgMDAwMDAw +NjQgN2ZmZmZmZmYgDQrAZesLTkICAMBl6wtOQgIAAAAAADcAMgA3AGUAZABhADUA +ZgAtADUANQA4AGMALQA0ADIAOABiAC0AOAA2AGQAMgAtADMANAAyADEAYwA1ADIA +ZgA0AGMANQAwAC4AMAAAAAAADQowMDAwMDE5MyAwMDAwMDIwMCA3ZmZmZmZmZiAN +Cu1SzUoCURS+za6JeYfDrJQGHTUoEhe1ademB2il0KY2LYKIHAVbGAYRBFFIUcvC +pCHT/HmEc9+hXYsewb7rdXSUKGhbh5nhnHO/7zs/d/r9/qEwhJgR2izTHVhiiUbO +Yk4bWeYaICW8fdDuQHsztB/Qki6NnBCtt2EvZ1YM0cu+z62vGoNKW2Jb5MTORFU3 +R0P2BP2j1d1POQnHdWzbcQ/Ev/0t+8XftSuyYg/fED2ZGtKVM/l3cZV9mWefX0lW ++AaBJwtpy7RMvpVFbnNTlrghTwjADrdkUR4hLMhjvuYuPA/ZZsCDX4/wA1iAjJIN +6OOAayrPfpT4Hqoe6B2ZlwXLnMUzLk4Z+kkirTl8ChU/AMmyYl4pnCzzC/El15D3 +QKinv0DH+AzYR2jW9UQROzjcxJEqVsXAFbAGkR0dlQXvGVXyKFCgaV2N4guA2siV +wnvkxmCzVTUOYp+fsFDI0LeVI1+vLB4fLy2mNYFWt6nHSdI8JbGTBYdsPkcLNdyd +rzdIqjcawtvcCYYLtT3VpCxb5icAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQowMDAwMDAyOCAwMDAw +MDAyOCA3ZmZmZmZmZiANCgAi1JlOQgIAACLUmU5CAgAAAAAAYwBvAHAAeQBpAG4A +ZgBvAAAAAAANCjAwMDAwMDE1IDAwMDAwMjAwIDdmZmZmZmZmIA0Ke797f7WJDi9X +tUEtBqkD4/Fy1QIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANCjAwMDAwMDYwIDAwMDAwMDYwIDdmZmZm +ZmZmIA0KACLUmU5CAgAAItSZTkICAAAAAABmADMAOABjADcANAA2ADUALQAyADEA +MgAwAC0ANABhAGUAYgAtADgANwBmAGMALQAxAGMAZAA2AGEANwAyAGUANAA1ADUA +OQAAAAAADQowMDAwMDE0OCAwMDAwMDIwMCA3ZmZmZmZmZiANCo2QTYqXMQzG9wNz +B3nXDbRpkqbHSZv2AIKr4V3oUVy5HBeuBvUKnZN4Bfv/GEFwYSgl0F+eJ31+vfx8 +SuHx4Wlm7YWEARNGIBsNtMwOqbtYwUHM9QxXtGfNaXQFV2egWTOoIcKsbdqIJWOZ +F+4KUyBBRdQEpI2AxA10TIOWpExtwk4URHu2tk1FvAIRDzBJBWrcoypqfeSLXPwj +HEMMBctw4wnM2oFQ99LiCJkwdcZJneMZjvVlPa+v62X9WN/X5/Xt9ePrp/V83KSO +9x+Ov5F3+/WN2dPHNorn48MZ4r3gH9dbXfn/4M5AF39sfczoCWLdCaXkAq023SjH +tsO0yr7dL2h2GxaTgNRWgIYTVOIMCUtNKRecQ+6oc4uDhwOyOFBMHWrPAlNy7DZd +TfCOji6t8WBoxRTIy+5GryCsKRaTWvu8ff92fgMAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAADQowMDAwMDAyMCAwMDAwMDAyMCA3ZmZmZmZm +ZiANCgAi1JlOQgIAACLUmU5CAgAAAAAAcgBvAG8AdAAAAAAADQowMDAwMDAyZSAw +MDAwMDIwMCA3ZmZmZmZmZiANCnu/e3+1kU6asUWyuYmZqa6RoZGBrkliapKuhXla +sq5hcopZorlRqompqaVOLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAADQowMDAwMDAyNiAwMDAwMDAyNiA3ZmZmZmZmZiANCgAi1JlOQgIAACLUmU5C +AgAAAAAAdgBlAHIAcwBpAG8AbgAAAAAADQowMDAwMDAxMiAwMDAwMDIwMCA3ZmZm +ZmZmZiANCnu/e381L1e1kaGZjkEtL1ctAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQowMDAwMDAy +OCAwMDAwMDAyOCA3ZmZmZmZmZiANCgAi1JlOQgIAACLUmU5CAgAAAAAAdgBlAHIA +cwBpAG8AbgBzAAAAAAANCjAwMDAwMTAyIDAwMDAwMjAwIDdmZmZmZmZmIA0KPY8x +TkQxDAXvkjpGcRzHznESO5a22Y92ERJCnIyCI3EFUtGP3sz7/f75xCw5pbw8SKVW +WHMGNBQGDVcImoVoRQRRTlJl++QAZjVoVRdo9wrUKhrXaMblpaRsTrR73wcZDI2a +wnTpsK34YTBYW052vX7c7nGl7GJmMxqIGh17NxhLEDoh7rAdq2JOp9CkdYaKtUCb ++9glDNC8T6m7MY+UD+U6JIBCKrQyEZQOT7x0IK0xvOT0uK630xnivZrDbnZiCxZY +igK6NWzELtSP930/nrfrfjKPZXRcJ24ptE4Mo64KYyszuZ4X9I8/U27N11Bk8B1n +PghhcRngIdEXWcGxvv4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=} +} \ No newline at end of file diff --git "a/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\244\320\260\320\271\320\273\320\241\320\236\320\264\320\275\320\270\320\274\320\242\320\265\321\201\321\202\320\276\320\274\320\243\320\244.txt" "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\244\320\260\320\271\320\273\320\241\320\236\320\264\320\275\320\270\320\274\320\242\320\265\321\201\321\202\320\276\320\274\320\243\320\244.txt" new file mode 100644 index 00000000..ac66e2b6 --- /dev/null +++ "b/src/Tests/Utils/\320\242\320\265\321\201\321\202_\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262_\320\262_\320\262\320\265\321\200\321\201\320\270\321\2164/\320\234\320\260\320\272\320\265\321\202\321\213/\320\244\320\260\320\271\320\273\320\241\320\236\320\264\320\275\320\270\320\274\320\242\320\265\321\201\321\202\320\276\320\274\320\243\320\244.txt" @@ -0,0 +1,132 @@ +{1, +{#base64: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 +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANCjAwMDAwMDI2IDAwMDAwMDI2IDdmZmZm +ZmZmIA0KEJ6UDE5CAgAQnpQMTkICAAAAAAB2AGUAcgBzAGkAbwBuAAAAAAANCjAw +MDAwMDEyIDAwMDAwMjAwIDdmZmZmZmZmIA0Ke797fzUvV7WRoZmOQS0vVy0AAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAANCjAwMDAwMDI4IDAwMDAwMDI4IDdmZmZmZmZmIA0KEJ6UDE5C +AgAQnpQMTkICAAAAAAB2AGUAcgBzAGkAbwBuAHMAAAAAAA0KMDAwMDAxNDYgMDAw +MDAyMDAgN2ZmZmZmZmYgDQqNkDGOUDEMRO+SOkZOYsfOcRwnlrbZj3YREkKcjIIj +cQW8FNTUmYzfm98/f31vddVSqm1VxOjANDrQxgl254bRt3RdTKazlq/37f3leX0v +dXETa8zQ+s083wu7BQLyYr/zKgfW8vY8X0odLVimC8jAC4TKoGJ5YFxmyqfBu5Zt +YzD3AXdGZIoWrGYLOJaE2EbD/QlLleVsvDc0MgdSU9BwgnXl3Egsd/+/tlL5NDVZ +Cu75Rj4/yI7CGMcQNbaO+GddatOlxyhS+m98ZymSA1tTirM8v9UiXe4xDmDWBOy6 +QefpMKg35x7kjB8ifsa4c+YifTHQIAU7MuE6nszkaEq1xFAXSrDeOgLZzTYJh+Zn +mvRLzCtHscizqEB0s+uKJFmmcvCY3ttRTDJ/Pn97eY0nTSJLhRUO3zRpmOJrIYj1 +WEaHhNqPPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AA==} +} \ No newline at end of file diff --git a/src/Tests/selftests/Tests_CmdLine/ObjectModule.txt b/src/Tests/selftests/Tests_CmdLine/ObjectModule.txt deleted file mode 100644 index 315b64bf..00000000 --- a/src/Tests/selftests/Tests_CmdLine/ObjectModule.txt +++ /dev/null @@ -1,839 +0,0 @@ - -//{ основная процедура для юнит-тестирования xUnitFor1C -Перем ЮТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - ЭтоLinux = ЭтоLinux(); - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ПрефиксПредставления = ""; - ДополнитьСписокТестов(ВсеТесты, КаталогЗапускателяТестов(), ПрефиксПредставления); - - ВсеТесты.Добавить("ТестДолжен_ОбработатьПустойПараметрЗапуска"); - ВсеТесты.Добавить("ТестДолжен_ОбработатьТиповыеПараметрыЗапуска"); - ВсеТесты.Добавить("ТестДолжен_ОбработатьТиповыеПараметрыЗапуска_АнглийскиеКоманды"); - ВсеТесты.Добавить("ТестДолжен_ОбработатьПараметрыЗапускаБезКомандВыполнитьИлиЗагрузить"); - ВсеТесты.Добавить("ТестДолжен_ОбработатьПараметрыЗапускаБезКомандВыполнитьИлиЗагрузить_АнглийскиеКоманды"); - ВсеТесты.Добавить("ТестДолжен_ОбработатьВсеТиповыеПараметрыЗапуска"); - ВсеТесты.Добавить("ТестДолжен_ОбработатьВсеТиповыеПараметрыЗапуска_АнглийскиеКоманды"); - ВсеТесты.Добавить("ТестДолжен_ОбработатьВсеТиповыеПараметрыЗапуска_и_Запись_в_ЖР"); - ВсеТесты.Добавить("ТестДолжен_ОбработатьВсеТиповыеПараметрыЗапуска_и_Запись_в_ЖР_АнглийскиеКоманды"); - ВсеТесты.Добавить("ТестДолжен_ОбработатьВсеТиповыеПараметрыЗапуска_ЕстьПробелыСпередиИСзадиКоманды"); - ВсеТесты.Добавить("ТестДолжен_ОбработатьВсеТиповыеПараметрыЗапускаДляВстроенныхТестов"); - ВсеТесты.Добавить("ТестДолжен_ОбработатьВсеТиповыеПараметрыЗапускаДляВстроенныхТестов_АнглийскиеКоманды"); - - Возврат ВсеТесты; - -КонецФункции - -Функция ДополнитьСписокТестов(ВсеТесты, КаталогЗапускателяТестов, ПрефиксПредставления = "") Экспорт - ТекущийПользователь = ПользователиИнформационнойБазы.ТекущийПользователь(); - ИмяПользователя = ТекущийПользователь.Имя; - //ИмяПользователя = "admin2"; - - ПутьТестов = КаталогЗапускателяТестов+"xddDataFixtureGen.epf"; - КоличествоУпавшихТестов = 0; - КоличествоЗеленыхТестов = 20; - - РежимЗапуска = РежимЗапускаКлиентскогоПриложения.ОбычноеПриложение; - ЗапускатьТолстыйКлиент = Истина; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов,РезультатТестирования,ЗавершатьРаботуСистемы", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов, ЮТест.мЗначенияСостоянияТестов.Прошел, Истина); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить генератор макетов данных ( xddDataFixtureGen ) в отдельном сеансе пользователя <"+ИмяПользователя+"> (Обычное приложение)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - РежимЗапуска = РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение; - ЗапускатьТолстыйКлиент = Истина; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить генератор макетов данных ( xddDataFixtureGen ) в отдельном сеансе пользователя <"+ИмяПользователя+"> (Толстый клиент управляемое приложение)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - КоличествоЗеленыхТестов = 18; - ЗапускатьТолстыйКлиент = Ложь; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов,ЗавершатьРаботуСистемы", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов, Истина); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить генератор макетов данных ( xddDataFixtureGen ) в отдельном сеансе пользователя <"+ИмяПользователя+"> (Тонкий клиент)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - ПутьТестов = КаталогЗапускателяТестов+"TestsShouldFail\ТестПримерСломаногоТеста.epf"; - КоличествоУпавшихТестов = 1; - КоличествоЗеленыхТестов = 0; - - РежимЗапуска = РежимЗапускаКлиентскогоПриложения.ОбычноеПриложение; - ЗапускатьТолстыйКлиент = Истина; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов,РезультатТестирования", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов, ЮТест.мЗначенияСостоянияТестов.Сломался); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить падающий тест в отдельном сеансе пользователя <"+ИмяПользователя+"> (Обычное приложение)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - РежимЗапуска = РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение; - ЗапускатьТолстыйКлиент = Ложь; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов,ЗавершатьРаботуСистемы,РезультатТестирования", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов, Истина, ЮТест.мЗначенияСостоянияТестов.Сломался); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить падающий тест в отдельном сеансе пользователя <"+ИмяПользователя+"> (Тонкий клиент)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - ЗапускатьТолстыйКлиент = Истина; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов,РезультатТестирования", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов, ЮТест.мЗначенияСостоянияТестов.Сломался); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить падающий тест в отдельном сеансе пользователя <"+ИмяПользователя+"> (Толстый клиент управляемое приложение)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - //{ - - РежимЗапуска = РежимЗапускаКлиентскогоПриложения.ОбычноеПриложение; - ЗапускатьТолстыйКлиент = Истина; - ИмяФайлаРезультатовТеста = Новый Файл(ПолучитьИмяВременногоФайла("mxl")); - - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов,ИмяФайлаТеста,ФорматТеста, ПроизводитьПроверкуРезультата", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов, ИмяФайлаРезультатовТеста.Имя, "mxl", Ложь); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить падающий тест и сохранение лога в файл (Обычное приложение)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - - РежимЗапуска = РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение; - ЗапускатьТолстыйКлиент = Ложь; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов,ИмяФайлаТеста,ФорматТеста, ПроизводитьПроверкуРезультата", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов, ИмяФайлаРезультатовТеста.Имя, "mxl", Ложь); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить падающий тест и сохранение лога в файл (Тонкий клиент)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - ИмяФайлаРезультатовТеста = Новый Файл(ПолучитьИмяВременногоФайла("mxl")); - ЗапускатьТолстыйКлиент = Истина; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов,ИмяФайлаТеста,ФорматТеста, ПроизводитьПроверкуРезультата", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов, ИмяФайлаРезультатовТеста.Имя, "mxl", Ложь); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить падающий тест и сохранение лога в файл (Толстый клиент управляемое приложение)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов,ФорматТеста, ПроизводитьПроверкуРезультата", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов, "mxl", Ложь); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить падающий тест и сохранение лога в каталог(каталог существует) (Обычное приложение)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - - РежимЗапуска = РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение; - ЗапускатьТолстыйКлиент = Ложь; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов,ФорматТеста, ПроизводитьПроверкуРезультата", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов, "mxl", Ложь); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить падающий тест и сохранение лога в каталог(каталог существует)(Тонкий клиент)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - ИмяФайлаРезультатовТеста = Новый Файл(ПолучитьИмяВременногоФайла("mxl")); - ЗапускатьТолстыйКлиент = Истина; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов, ФорматТеста, ПроизводитьПроверкуРезультата", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов, "mxl", Ложь); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить падающий тест и сохранение лога в каталог(каталог существует) (Толстый клиент управляемое приложение)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - //} - - ПутьТестов = КаталогЗапускателяТестов+"Tests\selftests\ТестыПроверитьРавенство.epf"; - КоличествоУпавшихТестов = 0; - КоличествоЗеленыхТестов = 4; - - МассивФлаговСлучайногоВыполнения = Новый Массив; - МассивФлаговСлучайногоВыполнения.Добавить(Ложь); - МассивФлаговСлучайногоВыполнения.Добавить(Истина); - - Для каждого СлучайныйПорядок Из МассивФлаговСлучайногоВыполнения Цикл - РежимЗапуска = РежимЗапускаКлиентскогоПриложения.ОбычноеПриложение; - ЗапускатьТолстыйКлиент = Истина; - ДопТекст = "Обычное приложение"; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов,РезультатТестирования", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов, ЮТест.мЗначенияСостоянияТестов.Прошел); - Если СлучайныйПорядок Тогда - Настройка.Вставить("СлучайныйПорядокВыполнения", Истина); - //Настройка.Вставить("ЗавершатьРаботуСистемы", Ложь); - ДопТекст = ДопТекст + ", случайный порядок тестов"; - КонецЕсли; - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить успешный тест в отдельном сеансе пользователя <"+ИмяПользователя+"> ("+ДопТекст+")", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - РежимЗапуска = РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение; - ЗапускатьТолстыйКлиент = Ложь; - ДопТекст = "Тонкий клиент"; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов,РезультатТестирования", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов, ЮТест.мЗначенияСостоянияТестов.Прошел); - Если СлучайныйПорядок Тогда - Настройка.Вставить("СлучайныйПорядокВыполнения", Истина); - ДопТекст = ДопТекст + ", случайный порядок тестов"; - КонецЕсли; - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить успешный тест в отдельном сеансе пользователя <"+ИмяПользователя+"> ("+ДопТекст+")", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - ЗапускатьТолстыйКлиент = Истина; - ДопТекст = "Толстый клиент управляемое приложение"; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов,РезультатТестирования", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов, ЮТест.мЗначенияСостоянияТестов.Прошел); - Если СлучайныйПорядок Тогда - Настройка.Вставить("СлучайныйПорядокВыполнения", Истина); - ДопТекст = ДопТекст + ", случайный порядок тестов"; - КонецЕсли; - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить успешный тест в отдельном сеансе пользователя <"+ИмяПользователя+"> ("+ДопТекст+")", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - КонецЦикла; - - //{ - - ПутьТестов = КаталогЗапускателяТестов+"Tests\selftests\Тест_ЕстьМетодПолучитьСписокТестовыхФорм(ДляCmdLine).epf"; - КоличествоУпавшихТестов = 0; - КоличествоЗеленыхТестов = 2; - - РежимЗапуска = РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение; - ЗапускатьТолстыйКлиент = Ложь; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить ""Протестить сценарий ""Есть метод ПолучитьСписокТестовыхФорм()"" в отдельном сеансе пользователя <"+ИмяПользователя+"> (Тонкий клиент)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - ЗапускатьТолстыйКлиент = Истина; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить сценарий ""Есть метод ПолучитьСписокТестовыхФорм()"" в отдельном сеансе пользователя <"+ИмяПользователя+"> (Толстый клиент управляемое приложение)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - //} - - //{ - - ПутьТестов = КаталогЗапускателяТестов+"Tests\selftests\Тест_НетМетодаПолучитьСписокТестовыхФорм(ДляCmdLine).epf"; - КоличествоУпавшихТестов = 0; - КоличествоЗеленыхТестов = 1; - - РежимЗапуска = РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение; - ЗапускатьТолстыйКлиент = Ложь; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить сценарий ""Нет метода ПолучитьСписокТестовыхФорм()"" в отдельном сеансе пользователя <"+ИмяПользователя+"> (Тонкий клиент)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - ЗапускатьТолстыйКлиент = Истина; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить сценарий ""Нет метода ПолучитьСписокТестовыхФорм()"" в отдельном сеансе пользователя <"+ИмяПользователя+"> (Толстый клиент управляемое приложение)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - //} - - - //{ - РежимЗапуска = РежимЗапускаКлиентскогоПриложения.ОбычноеПриложение; - ЗапускатьТолстыйКлиент = Истина; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов, ПроизводитьПроверкуРезультата", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов, Ложь); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить успешный тест и сохранение лога в каталог <"+ИмяПользователя+"> (Обычное приложение)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - РежимЗапуска = РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение; - ЗапускатьТолстыйКлиент = Ложь; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов, ПроизводитьПроверкуРезультата", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов, Ложь); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить успешный тест и сохранение лога в каталог <"+ИмяПользователя+"> (Тонкий клиент)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - ЗапускатьТолстыйКлиент = Истина; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов, ПроизводитьПроверкуРезультата", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов, Ложь); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить успешный тест и сохранение лога в каталог <"+ИмяПользователя+"> (Толстый клиент управляемое приложение)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - РежимЗапуска = РежимЗапускаКлиентскогоПриложения.ОбычноеПриложение; - ЗапускатьТолстыйКлиент = Истина; - ИмяФайлаРезультатовТеста = Новый Файл(ПолучитьИмяВременногоФайла("xml")); - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов, ИмяФайлаТеста, ПроизводитьПроверкуРезультата", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов, ИмяФайлаРезультатовТеста.Имя, Ложь); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить успешный тест и сохранение лога в файл (Обычное приложение)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - РежимЗапуска = РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение; - ЗапускатьТолстыйКлиент = Ложь; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов,ИмяФайлаТеста, ПроизводитьПроверкуРезультата", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов, ИмяФайлаРезультатовТеста.Имя, Ложь); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить успешный тест и сохранение лога в файл (Тонкий клиент)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - ЗапускатьТолстыйКлиент = Истина; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов,ИмяФайлаТеста, ПроизводитьПроверкуРезультата", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов, ИмяФайлаРезультатовТеста.Имя, Ложь); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить успешный тест и сохранение лога в файл (Толстый клиент управляемое приложение)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - //} - - Для КоличествоУпавшихТестов = 0 По 1 Цикл - Если КоличествоУпавшихТестов = 0 Тогда - ПутьТестов = "Метаданные.Обработки.Тест_Обработка"; - ЧастьПредставленияТеста = "успешный"; - КоличествоЗеленыхТестов = 1; - Иначе - ПутьТестов = "Метаданные.Обработки.ТестПадающий_Обработка"; - ЧастьПредставленияТеста = "падающий"; - КоличествоЗеленыхТестов = 0; - КонецЕсли; - - РежимЗапуска = РежимЗапускаКлиентскогоПриложения.ОбычноеПриложение; - ЗапускатьТолстыйКлиент = Истина; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить "+ЧастьПредставленияТеста+" встроенный тест в отдельном сеансе пользователя <"+ИмяПользователя+"> (Обычное приложение)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - РежимЗапуска = РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение; - ЗапускатьТолстыйКлиент = Ложь; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,ЗавершатьРаботуСистемы,КоличествоЗеленыхТестов", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, Истина, КоличествоЗеленыхТестов); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить "+ЧастьПредставленияТеста+" встроенный тест в отдельном сеансе пользователя <"+ИмяПользователя+"> (Тонкий клиент)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - РежимЗапуска = РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение; - ЗапускатьТолстыйКлиент = Истина; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,ЗавершатьРаботуСистемы,КоличествоЗеленыхТестов", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, Истина, КоличествоЗеленыхТестов); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить "+ЧастьПредставленияТеста+" встроенный тест в отдельном сеансе пользователя <"+ИмяПользователя+"> (Толстый клиент управляемое приложение)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - КонецЦикла; - - Для КоличествоУпавшихТестов = 0 По 1 Цикл - Если КоличествоУпавшихТестов = 0 Тогда - ПутьТестов = "Метаданные.Подсистемы.Тестовая"; - ЧастьПредставленияТеста = "успешных"; - КоличествоЗеленыхТестов = 2; - Иначе - ПутьТестов = "Метаданные.Подсистемы.ПадающаяТестовая"; - ЧастьПредставленияТеста = "падающих"; - КоличествоЗеленыхТестов = 0; - КонецЕсли; - - РежимЗапуска = РежимЗапускаКлиентскогоПриложения.ОбычноеПриложение; - ЗапускатьТолстыйКлиент = Истина; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить несколько "+ЧастьПредставленияТеста+" встроенных тестов в отдельном сеансе пользователя <"+ИмяПользователя+"> (Обычное приложение)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - РежимЗапуска = РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение; - ЗапускатьТолстыйКлиент = Ложь; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,ЗавершатьРаботуСистемы,КоличествоЗеленыхТестов", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, Истина, КоличествоЗеленыхТестов); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить несколько "+ЧастьПредставленияТеста+" встроенных тестов в отдельном сеансе пользователя <"+ИмяПользователя+"> (Тонкий клиент)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - РежимЗапуска = РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение; - ЗапускатьТолстыйКлиент = Истина; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,ЗавершатьРаботуСистемы,КоличествоЗеленыхТестов", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, Истина, КоличествоЗеленыхТестов); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить несколько "+ЧастьПредставленияТеста+" встроенных тестов в отдельном сеансе пользователя <"+ИмяПользователя+"> (Толстый клиент управляемое приложение)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - КонецЦикла; - - ПутьТестов = КаталогЗапускателяТестов+"TestsShouldFail\ТестПримерСломаногоТеста.epf"; - КоличествоУпавшихТестов = 1; - КоличествоЗеленыхТестов = 0; - - ТекстЛога1с = ПолучитьМакет("ЛогТимСити_ПримерСломанногоТеста").ПолучитьТекст(); - Если Не ЮТест.ЭтоВнешняяОбработка() Тогда - ТекстЛога1с = СтрЗаменить(ТекстЛога1с, "ВнешняяОбработка.", "Обработка."); - КонецЕсли; - - РежимЗапуска = РежимЗапускаКлиентскогоПриложения.ОбычноеПриложение; - ЗапускатьТолстыйКлиент = Истина; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов,ТекстЛога1с,ВыводЛогаВФорматеTeamCity", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов,ТекстЛога1с,Истина); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить вывод лога в формате TeamCity (Обычное приложение)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - РежимЗапуска = РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение; - ЗапускатьТолстыйКлиент = Истина; - Если ЮТест.ЭтоВнешняяОбработка() Тогда - ИмяТеста = "ВыполнитьОдинТестЧерезЗапуск1СПредприятия"; - Иначе - ИмяТеста = "Тест_не_реализован_из_за_особенностей_командной_строки_тонкого_клиента_1С_ВыполнитьОдинТестЧерезЗапуск1СПредприятия"; - КонецЕсли; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов,ТекстЛога1с,ВыводЛогаВФорматеTeamCity", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов,ТекстЛога1с,Истина); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", ИмяТеста, - ПрефиксПредставления + "Протестить вывод лога в формате TeamCity (Толстый клиент управляемое приложение)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - РежимЗапуска = РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение; - ЗапускатьТолстыйКлиент = Ложь; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов,ТекстЛога1с,ВыводЛогаВФорматеTeamCity", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов,ТекстЛога1с,Истина); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "Тест_не_реализован_из_за_особенностей_командной_строки_тонкого_клиента_1С_ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить вывод лога в формате TeamCity (Тонкий клиент)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - - РежимЗапуска = РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение; - ЗапускатьТолстыйКлиент = Ложь; - ПутьТестов = КаталогЗапускателяТестов+"Tests\selftests\ТестДолженПроверитьВыполнениеТестовИзНесколькихФорм.epf"; - КоличествоУпавшихТестов = 0; - КоличествоЗеленыхТестов = 2; - Настройка = Новый Структура("ИмяПользователя,ИмяМакета,ЗапускатьТолстыйКлиент,ПутьТестов,КоличествоУпавшихТестов,РежимЗапуска,КоличествоЗеленыхТестов", - ИмяПользователя, "", ЗапускатьТолстыйКлиент, ПутьТестов, КоличествоУпавшихТестов, РежимЗапуска, КоличествоЗеленыхТестов); - ПараметрыТеста = Новый Структура("ИмяТеста,ПредставлениеТеста,Параметр", "ВыполнитьОдинТестЧерезЗапуск1СПредприятия", - ПрефиксПредставления + "Протестить выполнение тестов из нескольких форм обработки (Тонкий клиент)", Настройка); - ВсеТесты.Добавить(ПараметрыТеста); - -КонецФункции - -//} - -//{ блок юнит-тестов - сами тесты - -Процедура ПередЗапускомТеста() Экспорт - ЭтоLinux = ЭтоLinux(); -КонецПроцедуры - -Процедура ПослеЗапускаТеста() Экспорт -КонецПроцедуры - -Процедура ТестДолжен_ОбработатьПустойПараметрЗапуска() Экспорт - СтрокаПараметров = ""; - - ПараметрыЗапуска = РазобратьПараметрыЗапуска(СтрокаПараметров); - - ЮТест.ПроверитьРавенство(ПараметрыЗапуска, Неопределено, "ПараметрыЗапуска"); -КонецПроцедуры - -Процедура ТестДолжен_ОбработатьТиповыеПараметрыЗапуска() Экспорт - СтрокаПараметров = "Тесты_Команда_Тестировать;E:\ТестыИМ\Тесты;ЗавершитьРаботуПослеТестирования"; - - ПараметрыЗапуска = РазобратьПараметрыЗапуска(СтрокаПараметров); - - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.Выполнить, Истина, "ПараметрыЗапуска.Выполнить"); - КоллекцияПутей = Новый Массив(); - КоллекцияПутей.Добавить("E:\ТестыИМ\Тесты"); - КоллекцияПутей.Добавить("E:/ТестыИМ/Тесты"); - - ЮТест.ПроверитьВхождениеВКоллекцию(ПараметрыЗапуска.ПутьТестов,КоллекцияПутей, "ПараметрыЗапуска.ПутьТестов"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ОстановитьСистему, Истина, "ПараметрыЗапуска.ОстановитьСистему"); - - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ФорматОтчета, "", "ПараметрыЗапуска.ФорматОтчета"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ПутьОтчета, "", "ПараметрыЗапуска.ПутьОтчета"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.Загрузить, Истина, "ПараметрыЗапуска.Загрузить"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ВстроенныеТесты, Ложь, "ПараметрыЗапуска.ВстроенныеТесты"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ПутьКодаВозврата, "", "ПараметрыЗапуска.ПутьКодаВозврата"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.РегистрацияПрохожденияТестовВЖР, Ложь, "ПараметрыЗапуска.xddWriteLogEvent"); -КонецПроцедуры - -Процедура ТестДолжен_ОбработатьТиповыеПараметрыЗапуска_АнглийскиеКоманды() Экспорт - СтрокаПараметров = "xddRun;E:\ТестыИМ\Тесты;xddShutdown"; - - ПараметрыЗапуска = РазобратьПараметрыЗапуска(СтрокаПараметров); - - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.Выполнить, Истина, "ПараметрыЗапуска.Выполнить"); - - КоллекцияПутей = Новый Массив(); - КоллекцияПутей.Добавить("E:\ТестыИМ\Тесты"); - КоллекцияПутей.Добавить("E:/ТестыИМ/Тесты"); - ЮТест.ПроверитьВхождениеВКоллекцию(ПараметрыЗапуска.ПутьТестов,КоллекцияПутей, "ПараметрыЗапуска.ПутьТестов"); - - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ОстановитьСистему, Истина, "ПараметрыЗапуска.ОстановитьСистему"); - - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ФорматОтчета, "", "ПараметрыЗапуска.ФорматОтчета"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ПутьОтчета, "", "ПараметрыЗапуска.ПутьОтчета"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.Загрузить, Истина, "ПараметрыЗапуска.Загрузить"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ВстроенныеТесты, Ложь, "ПараметрыЗапуска.ВстроенныеТесты"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ПутьКодаВозврата, "", "ПараметрыЗапуска.ПутьКодаВозврата"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.РегистрацияПрохожденияТестовВЖР, Ложь, "ПараметрыЗапуска.xddWriteLogEvent"); -КонецПроцедуры - -Процедура ТестДолжен_ОбработатьПараметрыЗапускаБезКомандВыполнитьИлиЗагрузить() Экспорт - СтрокаПараметров = "E:\ТестыИМ\Тесты;ЗавершитьРаботуПослеТестирования"; - - ПараметрыЗапуска = РазобратьПараметрыЗапуска(СтрокаПараметров); - - ЮТест.ПроверитьРавенство(ПараметрыЗапуска, Неопределено, "ПараметрыЗапуска"); -КонецПроцедуры - -Процедура ТестДолжен_ОбработатьПараметрыЗапускаБезКомандВыполнитьИлиЗагрузить_АнглийскиеКоманды() Экспорт - СтрокаПараметров = "E:\ТестыИМ\Тесты;xddShutdown"; - - ПараметрыЗапуска = РазобратьПараметрыЗапуска(СтрокаПараметров); - - ЮТест.ПроверитьРавенство(ПараметрыЗапуска, Неопределено, "ПараметрыЗапуска"); -КонецПроцедуры - -Процедура ТестДолжен_ОбработатьВсеТиповыеПараметрыЗапуска() Экспорт - СтрокаПараметров = "Тесты_Команда_Тестировать;E:\Путь с пробелом\Tests;ЗавершитьРаботуПослеТестирования;Тесты_Команда_ФорматОтчета;xml;"+ - "Тесты_Команда_КаталогОтчетов;E:\Путь с пробелом\testReport;Тесты_Путь_КЛогам;E:\f1.log"; - - ПараметрыЗапуска = РазобратьПараметрыЗапуска(СтрокаПараметров); - - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.Выполнить, Истина, "ПараметрыЗапуска.Выполнить"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ПутьТестов, "E:\Путь с пробелом\Tests", "ПараметрыЗапуска.ПутьТестов"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ОстановитьСистему, Истина, "ПараметрыЗапуска.ОстановитьСистему"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ФорматОтчета, "xml", "ПараметрыЗапуска.ФорматОтчета"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ПутьОтчета, ЗаменитьСлеши("E:\Путь с пробелом\testReport"), "ПараметрыЗапуска.ПутьОтчета"); - - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.Загрузить, Истина, "ПараметрыЗапуска.Загрузить"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ВстроенныеТесты, Ложь, "ПараметрыЗапуска.ВстроенныеТесты"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ПутьКодаВозврата, "E:\f1.log", "ПараметрыЗапуска.ПутьКодаВозврата"); -КонецПроцедуры - -Процедура ТестДолжен_ОбработатьВсеТиповыеПараметрыЗапуска_АнглийскиеКоманды() Экспорт - СтрокаПараметров = "xddRun;E:\Путь с пробелом\Tests;xddShutdown;xddReportFormat;xml;xddReportPath;E:\Путь с пробелом\testReport;"+ - "xddExitCodePath;E:\f1.log"; - - ПараметрыЗапуска = РазобратьПараметрыЗапуска(СтрокаПараметров); - - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.Выполнить, Истина, "ПараметрыЗапуска.Выполнить"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ПутьТестов, "E:\Путь с пробелом\Tests", "ПараметрыЗапуска.ПутьТестов"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ОстановитьСистему, Истина, "ПараметрыЗапуска.ОстановитьСистему"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ФорматОтчета, "xml", "ПараметрыЗапуска.ФорматОтчета"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ПутьОтчета, ЗаменитьСлеши("E:\Путь с пробелом\testReport"), "ПараметрыЗапуска.ПутьОтчета"); - - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.Загрузить, Истина, "ПараметрыЗапуска.Загрузить"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ВстроенныеТесты, Ложь, "ПараметрыЗапуска.ВстроенныеТесты"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ПутьКодаВозврата, "E:\f1.log", "ПараметрыЗапуска.ПутьКодаВозврата"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.Загрузить, Истина, "ПараметрыЗапуска.Загрузить"); -КонецПроцедуры - -Процедура ТестДолжен_ОбработатьВсеТиповыеПараметрыЗапуска_и_Запись_в_ЖР() Экспорт - СтрокаПараметров = "Тесты_Команда_Тестировать;E:\Путь с пробелом\Tests;ЗавершитьРаботуПослеТестирования;"+ - "Тесты_Команда_ФорматОтчета;xml;Тесты_Команда_КаталогОтчетов;E:\Путь с пробелом\testReport;Тесты_Путь_КЛогам;E:\f1.log;Тесты_ЗаписьВЖР;Тесты_ЗаписьОшибокВЖР"; - - ПараметрыЗапуска = РазобратьПараметрыЗапуска(СтрокаПараметров); - - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.Выполнить, Истина, "ПараметрыЗапуска.Выполнить"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ПутьТестов, "E:\Путь с пробелом\Tests", "ПараметрыЗапуска.ПутьТестов"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ОстановитьСистему, Истина, "ПараметрыЗапуска.ОстановитьСистему"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ФорматОтчета, "xml", "ПараметрыЗапуска.ФорматОтчета"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ПутьОтчета, ЗаменитьСлеши("E:\Путь с пробелом\testReport"), "ПараметрыЗапуска.ПутьОтчета"); - - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.Загрузить, Истина, "ПараметрыЗапуска.Загрузить"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ВстроенныеТесты, Ложь, "ПараметрыЗапуска.ВстроенныеТесты"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ПутьКодаВозврата, "E:\f1.log", "ПараметрыЗапуска.ПутьКодаВозврата"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.РегистрацияПрохожденияТестовВЖР, Истина, "ПараметрыЗапуска.Тесты_ЗаписьВЖР"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.РегистрацияОшибокТестовВЖР, Истина, "ПараметрыЗапуска.Тесты_ЗаписьОшибокВЖР"); -КонецПроцедуры - -Процедура ТестДолжен_ОбработатьВсеТиповыеПараметрыЗапуска_и_Запись_в_ЖР_АнглийскиеКоманды() Экспорт - СтрокаПараметров = "xddRun;E:\Путь с пробелом\Tests;xddShutdown;xddReportFormat;xml;xddReportPath;E:\Путь с пробелом\testReport;"+ - "xddExitCodePath;E:\f1.log;xddWriteLogEvent;xddWriteErrorIntoLogEvent"; - - ПараметрыЗапуска = РазобратьПараметрыЗапуска(СтрокаПараметров); - - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.Выполнить, Истина, "ПараметрыЗапуска.Выполнить"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ПутьТестов, "E:\Путь с пробелом\Tests", "ПараметрыЗапуска.ПутьТестов"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ОстановитьСистему, Истина, "ПараметрыЗапуска.ОстановитьСистему"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ФорматОтчета, "xml", "ПараметрыЗапуска.ФорматОтчета"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ПутьОтчета, ЗаменитьСлеши("E:\Путь с пробелом\testReport"), "ПараметрыЗапуска.ПутьОтчета"); - - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.Загрузить, Истина, "ПараметрыЗапуска.Загрузить"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ВстроенныеТесты, Ложь, "ПараметрыЗапуска.ВстроенныеТесты"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ПутьКодаВозврата, "E:\f1.log", "ПараметрыЗапуска.ПутьКодаВозврата"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.РегистрацияПрохожденияТестовВЖР, Истина, "ПараметрыЗапуска.xddWriteLogEvent"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.РегистрацияОшибокТестовВЖР, Истина, "ПараметрыЗапуска.xddWriteErrorIntoLogEvent"); -КонецПроцедуры - -Процедура ТестДолжен_ОбработатьВсеТиповыеПараметрыЗапуска_ЕстьПробелыСпередиИСзадиКоманды() Экспорт - СтрокаПараметров = " Тесты_Команда_Тестировать ; E:\Путь с пробелом\Tests ; ЗавершитьРаботуПослеТестирования ; Тесты_Команда_ФорматОтчета ; xml ; Тесты_Команда_КаталогОтчетов ; E:\Путь с пробелом\testReport ; Тесты_Путь_КЛогам ; E:\f1.log "; - - ПараметрыЗапуска = РазобратьПараметрыЗапуска(СтрокаПараметров); - - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.Выполнить, Истина, "ПараметрыЗапуска.Выполнить"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ПутьТестов, "E:\Путь с пробелом\Tests", "ПараметрыЗапуска.ПутьТестов"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ОстановитьСистему, Истина, "ПараметрыЗапуска.ОстановитьСистему"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ФорматОтчета, "xml", "ПараметрыЗапуска.ФорматОтчета"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ПутьОтчета, ЗаменитьСлеши("E:\Путь с пробелом\testReport"), "ПараметрыЗапуска.ПутьОтчета"); - - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.Загрузить, Истина, "ПараметрыЗапуска.Загрузить"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ВстроенныеТесты, Ложь, "ПараметрыЗапуска.ВстроенныеТесты"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ПутьКодаВозврата, "E:\f1.log", "ПараметрыЗапуска.ПутьКодаВозврата"); -КонецПроцедуры - -Процедура ТестДолжен_ОбработатьВсеТиповыеПараметрыЗапускаДляВстроенныхТестов() Экспорт - СтрокаПараметров = "ЭтоТестИзКонфигурации;Тесты_Команда_Тестировать;Подсистема.Тестирование;ЗавершитьРаботуПослеТестирования;Тесты_Команда_ФорматОтчета;xml;Тесты_Команда_КаталогОтчетов;E:\Путь с пробелом\testReport;Тесты_Путь_КЛогам;E:\f1.log"; - - ПараметрыЗапуска = РазобратьПараметрыЗапуска(СтрокаПараметров); - - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.Выполнить, Истина, "ПараметрыЗапуска.Выполнить"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ПутьТестов, "Подсистема.Тестирование", "ПараметрыЗапуска.ПутьТестов"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ОстановитьСистему, Истина, "ПараметрыЗапуска.ОстановитьСистему"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ФорматОтчета, "xml", "ПараметрыЗапуска.ФорматОтчета"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ПутьОтчета, ЗаменитьСлеши("E:\Путь с пробелом\testReport"), "ПараметрыЗапуска.ПутьОтчета"); - - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.Загрузить, Истина, "ПараметрыЗапуска.Загрузить"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ВстроенныеТесты, Истина, "ПараметрыЗапуска.ВстроенныеТесты"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ПутьКодаВозврата, "E:\f1.log", "ПараметрыЗапуска.ПутьКодаВозврата"); -КонецПроцедуры - -Процедура ТестДолжен_ОбработатьВсеТиповыеПараметрыЗапускаДляВстроенныхТестов_АнглийскиеКоманды() Экспорт - СтрокаПараметров = "xddConfig;xddRun;Подсистема.Тестирование;xddShutdown;xddReportFormat;xml;xddReportPath;E:\Путь с пробелом\testReport;xddExitCodePath;E:\f1.log"; - - ПараметрыЗапуска = РазобратьПараметрыЗапуска(СтрокаПараметров); - - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.Выполнить, Истина, "ПараметрыЗапуска.Выполнить"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ПутьТестов, "Подсистема.Тестирование", "ПараметрыЗапуска.ПутьТестов"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ОстановитьСистему, Истина, "ПараметрыЗапуска.ОстановитьСистему"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ФорматОтчета, "xml", "ПараметрыЗапуска.ФорматОтчета"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ПутьОтчета, ЗаменитьСлеши("E:\Путь с пробелом\testReport"), "ПараметрыЗапуска.ПутьОтчета"); - - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.Загрузить, Истина, "ПараметрыЗапуска.Загрузить"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ВстроенныеТесты, Истина, "ПараметрыЗапуска.ВстроенныеТесты"); - ЮТест.ПроверитьРавенство(ПараметрыЗапуска.ПутьКодаВозврата, "E:\f1.log", "ПараметрыЗапуска.ПутьКодаВозврата"); -КонецПроцедуры - -Процедура ВыполнитьОдинТестЧерезЗапуск1СПредприятия(Настройка) Экспорт - - ТолстыйКлиент = Настройка.ЗапускатьТолстыйКлиент; - ИмяПользователя = Настройка.ИмяПользователя; - ИмяМакета = Настройка.ИмяМакета; - ПутьТестов = Настройка.ПутьТестов; - ОжидаемоеКоличествоУпавшихТестов = Настройка.КоличествоУпавшихТестов; - ОжидаемоеКоличествоЗеленыхТестов = Настройка.КоличествоЗеленыхТестов; - РежимЗапуска = Настройка.РежимЗапуска; - ФорматТеста = ?(Настройка.Свойство("ФорматТеста"), Настройка.ФорматТеста, "xml"); - - ТекстЛога1с = ?(Настройка.Свойство("ТекстЛога1с"), Настройка.ТекстЛога1с, ""); - ВыводЛогаВФорматеTeamCity = ?(Настройка.Свойство("ВыводЛогаВФорматеTeamCity"), Настройка.ВыводЛогаВФорматеTeamCity, Ложь); - СлучайныйПорядокВыполнения = ?(Настройка.Свойство("СлучайныйПорядокВыполнения"), Настройка.СлучайныйПорядокВыполнения, Ложь); - - ПроизводитьПроверкуРезультатовТеста = ?(Настройка.Свойство("ПроизводитьПроверкуРезультата"), Настройка.ПроизводитьПроверкуРезультата, Истина); - ОжидаемыйРезультатТестирования = ?(Настройка.Свойство("РезультатТестирования"), Настройка.РезультатТестирования, Неопределено); - - ЗавершатьРаботуСистемы = Истина; - Если НЕ Настройка.Свойство("ЗавершатьРаботуСистемы", ЗавершатьРаботуСистемы) ИЛИ ЗавершатьРаботуСистемы = Истина Тогда - ЗавершатьРаботуСистемы = Истина; - КонецЕсли; - - СтрокаСоединения = СтрокаСоединенияИнформационнойБазы(); - ПутьКФайловойБазе = НСтр(СтрокаСоединения, "File"); - - Если НЕ ПустаяСтрока(ПутьКФайловойБазе) Тогда - СтрокаСоединения = " /F """ + ПутьКФайловойБазе+""""; - Иначе - СтрокаСоединения = " /S " + НСтр(СтрокаСоединения, "Srvr") + "\" + НСтр(СтрокаСоединения, "Ref"); - КонецЕсли; - Если Не ПустаяСтрока(ИмяПользователя) Тогда - СтрокаСоединения = СтрокаСоединения + " /N """ + ИмяПользователя + """"; - Если Настройка.Свойство("ПарольПользователя") Тогда - СтрокаСоединения = СтрокаСоединения + " /P "+Настройка.ПарольПользователя; - КонецЕсли; - КонецЕсли; - - - СисИнфо = Новый СистемнаяИнформация; - - ПутьКПлатформе1С = КаталогПрограммы(); - ИмяПрограмы = "1cv8"; - Если НЕ ТолстыйКлиент Тогда - ИмяПрограмы = ИмяПрограмы + "c"; - КонецЕсли; - - Если НЕ ЭтоLinux Тогда - ИмяПрограмы = ИмяПрограмы + ".exe"; //Для win добавим еще и расширение файла - Иначе - ПутьТестов = ЗаменитьСлеши(ПутьТестов); - КонецЕсли; - - ПутьКПлатформе1С = ПутьКПлатформе1С + ИмяПрограмы; - - СтрокаРежимЗапуска = " /Lru /VLru "; - Если РежимЗапуска = РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение Тогда - СтрокаРежимЗапуска = СтрокаРежимЗапуска + " /RunModeManagedApplication "; - ИначеЕсли РежимЗапуска = РежимЗапускаКлиентскогоПриложения.ОбычноеПриложение Тогда - СтрокаРежимЗапуска = СтрокаРежимЗапуска + " /RunModeOrdinary "; - КонецЕсли; - - ИспользуемоеИмяФайлаЗапускателяТестов = """" + ПолноеИмяВнешнейОбработкиДляЗапускаТестовЧерезКоманднуюСтрокуПредприятия() + """"; - ПутьЛогаТестирования = ""; - - ПутьОтчетов = ПолучитьИмяВременногоФайла(); - СоздатьКаталог(ПутьОтчетов); - - ПутьОтчетов = ЗаменитьСлеши(ПутьОтчетов + "\"); - ПутьФайлаОтчета1С = ПутьОтчетов+"1c.log"; - ПутьОтчетаТестов = ПутьОтчетов; - Если Настройка.Свойство("ИмяФайлаТеста") Тогда - ПутьОтчетаТестов = ПутьОтчетаТестов + Настройка.ИмяФайлаТеста; - ПутьЛогаТестирования = ПутьОтчетаТестов; - КонецЕсли; - - ПутьФайлаКодаВозврата = ПутьОтчетов+"exitCode.log"; - - СтрокаПараметров = "xddRun;"+ПутьТестов+";xddReportFormat;"+ФорматТеста+";xddReportPath;"+ - ПутьОтчетаТестов+";xddExitCodePath;"+ПутьФайлаКодаВозврата+";xddWriteLogEvent;xddWriteErrorIntoLogEvent"; - Если ЗавершатьРаботуСистемы Тогда - СтрокаПараметров = СтрокаПараметров + ";xddShutdown"; - КонецЕсли; - - Если ВыводЛогаВФорматеTeamCity Тогда - СтрокаПараметров = СтрокаПараметров + ";xddLogForTeamCity"; - КонецЕсли; - Если СлучайныйПорядокВыполнения Тогда - СтрокаПараметров = СтрокаПараметров + ";xddRandomOrder"; - КонецЕсли; - - СтрокаКоманды = """"+ПутьКПлатформе1С + """ "+СтрокаРежимЗапуска + СтрокаСоединения +" /DisableStartupMessages /Execute "+ИспользуемоеИмяФайлаЗапускателяТестов+ - " /Out """+ПутьФайлаОтчета1С+""" /C """+СтрокаПараметров+""" /LogUI "; - //Сообщить(СтрокаКоманды); - - ЗапуститьПриложение(СтрокаКоманды,, Истина); - - ПутьЛогаТестирования =?(ПустаяСтрока(ПутьЛогаТестирования), ПутьОтчетов+"лог_тестирования."+ФорматТеста, ПутьЛогаТестирования) ; - ФайлПутьЛогаТестирования = Новый Файл(ПутьЛогаТестирования); - ЮТест.Проверить(ФайлПутьЛогаТестирования.Существует(), "Не существует лог тестирования <"+ПутьЛогаТестирования+">"); - - Если ПроизводитьПроверкуРезультатовТеста Тогда - //ЧтениеТекста = Новый ЧтениеТекста(ПутьЛогаТестирования); - //Сообщить(Символы.ПС+ЧтениеТекста.Прочитать()+Символы.ПС); - - КоличествоУпавшихТестов = 0; - КоличествоЗеленыхТестов = 0; - ЧтениеXML = Новый ЧтениеXML; - ЧтениеXML.ОткрытьФайл(ПутьЛогаТестирования); - Пока ЧтениеXML.Прочитать() Цикл - Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента и ЧтениеXML.Имя = "testsuites" Тогда - Для сч = 0 По ЧтениеXML.КоличествоАтрибутов()-1 Цикл - Если ЧтениеXML.ИмяАтрибута(сч) = "failures" Тогда - КоличествоУпавшихТестов = Число(ЧтениеXML.ЗначениеАтрибута(сч)); - КонецЕсли; - КонецЦикла; - КонецЕсли; - Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента и ЧтениеXML.Имя = "testcase" Тогда - Для сч = 0 По ЧтениеXML.КоличествоАтрибутов()-1 Цикл - Если ЧтениеXML.ИмяАтрибута(сч) = "status" Тогда - СтатусТеста = НРег(Строка(ЧтениеXML.ЗначениеАтрибута(сч))); - Если СтатусТеста = "passed" Тогда - КоличествоЗеленыхТестов = КоличествоЗеленыхТестов + 1; - КонецЕсли; - КонецЕсли; - КонецЦикла; - КонецЕсли; - КонецЦикла; - - Если ОжидаемоеКоличествоУпавшихТестов <> 0 Тогда - ЮТест.ПроверитьРавенство(ОжидаемоеКоличествоУпавшихТестов, КоличествоУпавшихТестов, "Ожидали, что упадут тесты ("+ОжидаемоеКоличествоУпавшихТестов+"шт), а остальные пройдут, а получили <"+КоличествоУпавшихТестов+"> упавших тестов."); - Иначе - ЮТест.ПроверитьРавенство(ОжидаемоеКоличествоУпавшихТестов, КоличествоУпавшихТестов, "Ожидали, что пройдут все тесты, а получили <"+КоличествоУпавшихТестов+"> упавших тестов."); - КонецЕсли; - - Если ОжидаемоеКоличествоЗеленыхТестов <> 0 Тогда - ЮТест.ПроверитьРавенство(ОжидаемоеКоличествоЗеленыхТестов, КоличествоЗеленыхТестов, "Ожидали, что пройдут тесты ("+ОжидаемоеКоличествоЗеленыхТестов+"шт), а остальные упадут, а получили <"+КоличествоЗеленыхТестов+"> прошедших тестов."); - Иначе - ЮТест.ПроверитьРавенство(ОжидаемоеКоличествоЗеленыхТестов, КоличествоЗеленыхТестов, "Ожидали, что упадут все тесты, а получили <"+КоличествоЗеленыхТестов+"> прошедших тестов."); - КонецЕсли; - - КонецЕсли; - - ОжидаемыйКодВозврата = "0"; - ФайлКодаВозврата = Новый Файл(ПутьФайлаКодаВозврата); - ЮТест.Проверить(ФайлКодаВозврата.Существует(), "Ожидали, что будет сформирован файл кода возврата, а файла нет"); - - ЧтениеТекста = Новый ЧтениеТекста(ПутьФайлаКодаВозврата); - ЮТест.ПроверитьРавенство(ОжидаемыйКодВозврата, ЧтениеТекста.ПрочитатьСтроку(), "Ожидали, что код возврата будет <"+ОжидаемыйКодВозврата+">, а получили другой код."); - - Если ОжидаемыйРезультатТестирования <> Неопределено Тогда - КлючПоРезультатуТестирования = НайтиКлючПоРезультатуТестирования(ОжидаемыйРезультатТестирования); - ОчереднаяСтрока = ЧтениеТекста.ПрочитатьСтроку(); - - ЮТест.ПроверитьЗаполненность(ОчереднаяСтрока, "Ожидали, что результат тестирования будет <"+КлючПоРезультатуТестирования+">, а вообще не смогли его получить."); - ЮТест.ПроверитьРавенство(КлючПоРезультатуТестирования, НайтиКлючПоРезультатуТестирования(Число(ОчереднаяСтрока)), "Ожидали, что результат тестирования будет <"+КлючПоРезультатуТестирования+">, а получили другой результат."); - КонецЕсли; - - Если ТолстыйКлиент Тогда - ФайлОтчета1С = Новый Файл(ПутьФайлаОтчета1С); - ЮТест.Проверить(ФайлОтчета1С.Существует(), "Ожидали, что будет сформирован файл лога 1С, а файла нет"); - КонецЕсли; - - Если ВыводЛогаВФорматеTeamCity Тогда - ЧтениеТекста = Новый ЧтениеТекста(ПутьФайлаОтчета1С); - ЮТест.ПроверитьВхождение(СокрЛП(ЧтениеТекста.Прочитать()), СокрЛП(ТекстЛога1с), "Ожидали, что текст лога 1С-возврата будет совпадать с заданным текстом из макета."); - КонецЕсли; -КонецПроцедуры - -Функция НайтиКлючПоРезультатуТестирования(РезультатТестирования) - Для каждого КлючЗначение Из ЮТест.мЗначенияСостоянияТестов Цикл - Если КлючЗначение.Значение = РезультатТестирования Тогда - Возврат КлючЗначение.Ключ; - КонецЕсли; - КонецЦикла; - Возврат Неопределено; -КонецФункции - -Функция КаталогЗапускателяТестов() - Если ЮТест.ЭтоВнешняяОбработка() Тогда - КаталогЗапускателяТестов = Новый Файл(ЮТест.ИспользуемоеИмяФайла); - Иначе - Файл = Новый Файл(ЭтотОбъект.ИспользуемоеИмяФайла); - КаталогЗапускателяТестов = Новый Файл(Файл.Путь+"\.."); - КонецЕсли; - Возврат КаталогЗапускателяТестов.Путь; -КонецФункции - -Функция ПолноеИмяВнешнейОбработкиДляЗапускаТестовЧерезКоманднуюСтрокуПредприятия() - Если ЮТест.ЭтоВнешняяОбработка() Тогда - ПутьФайла = ЮТест.ИспользуемоеИмяФайла; - Иначе - ПутьФайла = КаталогЗапускателяТестов() + "xddScriptRunner.epf"; - КонецЕсли; - Возврат ПутьФайла; -КонецФункции - -Функция ИмяЗапускателяТестов() - Возврат "xddTestRunner"; -КонецФункции - -//} - -Функция ЗаменитьСлеши(Знач ИсходнаяСтрока) - Перем Результат; - - Результат = ИсходнаяСтрока; - - Если ЭтоLinux Тогда - Результат = СтрЗаменить(Результат, "\", "/"); - Иначе - Результат = СтрЗаменить(Результат, "/", "\"); - КонецЕсли; - - Возврат Результат; -КонецФункции - -Функция ЭтоLinux() - СисИнфо = Новый СистемнаяИнформация; - - Возврат Найти(Строка(СисИнфо.ТипПлатформы), "Linux")>0; -КонецФункции - -Функция РазобратьПараметрыЗапуска(СтрокаПараметровЗапуска) Экспорт - Возврат ЮТест.РазобратьПараметрыЗапуска(СтрокаПараметровЗапуска); -КонецФункции diff --git a/src/Tests/selftests/Tests_CmdLine/renames.txt b/src/Tests/selftests/Tests_CmdLine/renames.txt deleted file mode 100644 index 9cfeb95f..00000000 --- a/src/Tests/selftests/Tests_CmdLine/renames.txt +++ /dev/null @@ -1,10 +0,0 @@ -6043c9e4-9d43-466f-9389-73d9a4d45c8f-->und\6043c9e4-9d43-466f-9389-73d9a4d45c8f -6871575a-6b09-4388-a583-288ac222e77c-->und\6871575a-6b09-4388-a583-288ac222e77c -6871575a-6b09-4388-a583-288ac222e77c.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\selftests\Tests_CmdLine\Макеты\ЛогТимСити_ПримерСломанногоТеста.txt -6871575a-6b09-4388-a583-288ac222e77c.0-->und\6871575a-6b09-4388-a583-288ac222e77c.0 -864a8a9a-a51f-4879-9673-64f8d6ed8eae.0\info-->und\864a8a9a-a51f-4879-9673-64f8d6ed8eae.0\info -864a8a9a-a51f-4879-9673-64f8d6ed8eae.0\text-->ObjectModule.txt -copyinfo-->und\copyinfo -root-->und\root -version-->und\version -versions-->und\versions diff --git a/src/Tests/selftests/Tests_CmdLine/und/6043c9e4-9d43-466f-9389-73d9a4d45c8f b/src/Tests/selftests/Tests_CmdLine/und/6043c9e4-9d43-466f-9389-73d9a4d45c8f deleted file mode 100644 index 70d48319..00000000 --- a/src/Tests/selftests/Tests_CmdLine/und/6043c9e4-9d43-466f-9389-73d9a4d45c8f +++ /dev/null @@ -1,39 +0,0 @@ -{1, -{6043c9e4-9d43-466f-9389-73d9a4d45c8f},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,0b9cb39e-86fd-480b-a410-6bd67ce02b26,6addc8b9-7baa-419c-991b-c6c519d3ff62, -{0, -{0, -{0,0,864a8a9a-a51f-4879-9673-64f8d6ed8eae},"Tests_CmdLine", -{1,"ru","Тесты разбора параметра запуска из командной строки xUnitFor1C"},""} -},00000000-0000-0000-0000-000000000000,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,1,6871575a-6b09-4388-a583-288ac222e77c}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,1, -{ -{0, -{25, -{2, -{0, -{0,0,a7e509ec-69cb-494b-9798-a6d4e5094e50},"ЭтоLinux", -{1,"ru","Это linux"},""}, -{"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} -} -} -} -} \ No newline at end of file diff --git a/src/Tests/selftests/Tests_CmdLine/und/6871575a-6b09-4388-a583-288ac222e77c b/src/Tests/selftests/Tests_CmdLine/und/6871575a-6b09-4388-a583-288ac222e77c deleted file mode 100644 index 5b3fdf39..00000000 --- a/src/Tests/selftests/Tests_CmdLine/und/6871575a-6b09-4388-a583-288ac222e77c +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,4, -{0, -{0,0,6871575a-6b09-4388-a583-288ac222e77c},"ЛогТимСити_ПримерСломанногоТеста", -{1,"ru","Лог тим сити пример сломанного теста"},""} -},0} \ No newline at end of file diff --git a/src/Tests/selftests/Tests_CmdLine/und/6871575a-6b09-4388-a583-288ac222e77c.0 b/src/Tests/selftests/Tests_CmdLine/und/6871575a-6b09-4388-a583-288ac222e77c.0 deleted file mode 100644 index 94b238c9..00000000 --- a/src/Tests/selftests/Tests_CmdLine/und/6871575a-6b09-4388-a583-288ac222e77c.0 +++ /dev/null @@ -1 +0,0 @@ -##teamcity[message text='|[ТестПримерСломаногоТеста: Тест_ДваПлюсДва_Сломаный|] |[Failed|] Переданный параметр (ложь) не является Истиной, а хотели, чтобы являлся.|nЗначение не верно' errorDetails='' status='FAILURE'] diff --git a/src/Tests/selftests/Tests_CmdLine/und/copyinfo b/src/Tests/selftests/Tests_CmdLine/und/copyinfo deleted file mode 100644 index 08913bc8..00000000 --- a/src/Tests/selftests/Tests_CmdLine/und/copyinfo +++ /dev/null @@ -1,7 +0,0 @@ -{4, -{0}, -{0}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git a/src/Tests/selftests/Tests_CmdLine/und/root b/src/Tests/selftests/Tests_CmdLine/und/root deleted file mode 100644 index d54952b5..00000000 --- a/src/Tests/selftests/Tests_CmdLine/und/root +++ /dev/null @@ -1 +0,0 @@ -{2,6043c9e4-9d43-466f-9389-73d9a4d45c8f,} \ No newline at end of file diff --git a/src/Tests/selftests/Tests_CmdLine/und/versions b/src/Tests/selftests/Tests_CmdLine/und/versions deleted file mode 100644 index 84ba332f..00000000 --- a/src/Tests/selftests/Tests_CmdLine/und/versions +++ /dev/null @@ -1 +0,0 @@ -{1,9,"",e4102716-4229-435f-b696-92c8df26fb47,"6043c9e4-9d43-466f-9389-73d9a4d45c8f",dd9a33ac-73ef-41e8-b1f0-962c0a13abe3,"6871575a-6b09-4388-a583-288ac222e77c.0",7abe8bd4-7689-4b58-a860-3a6fbedf94a5,"versions",942a4b73-3e28-4d59-bbe7-aa75970a5dcd,"6871575a-6b09-4388-a583-288ac222e77c",da0025b8-eb1e-4df9-a483-5660aa61c124,"root",a6703959-cb1c-4d1a-85e6-3927145b40b3,"version",9d9ca5ec-ee23-4ba3-94a9-5c7568c7a7e0,"864a8a9a-a51f-4879-9673-64f8d6ed8eae.0",ce2ccd7f-1ee5-4a1d-b9c5-86126a67b5df,"copyinfo",37d9d234-8de2-47ba-96a2-c5f6fc0e91f3} \ No newline at end of file diff --git "a/src/Tests/selftests/Tests_CmdLine/\320\234\320\260\320\272\320\265\321\202\321\213/\320\233\320\276\320\263\320\242\320\270\320\274\320\241\320\270\321\202\320\270_\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260.txt" "b/src/Tests/selftests/Tests_CmdLine/\320\234\320\260\320\272\320\265\321\202\321\213/\320\233\320\276\320\263\320\242\320\270\320\274\320\241\320\270\321\202\320\270_\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260.txt" deleted file mode 100644 index 94b238c9..00000000 --- "a/src/Tests/selftests/Tests_CmdLine/\320\234\320\260\320\272\320\265\321\202\321\213/\320\233\320\276\320\263\320\242\320\270\320\274\320\241\320\270\321\202\320\270_\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260.txt" +++ /dev/null @@ -1 +0,0 @@ -##teamcity[message text='|[ТестПримерСломаногоТеста: Тест_ДваПлюсДва_Сломаный|] |[Failed|] Переданный параметр (ложь) не является Истиной, а хотели, чтобы являлся.|nЗначение не верно' errorDetails='' status='FAILURE'] diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index 9e42a172..00000000 --- "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,28 +0,0 @@ -&НаКлиенте -Перем юТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - ВсеТесты.Добавить("Тест_ДолженУстановитьКонтекст"); - - Возврат ВсеТесты; - -КонецФункции - -&НаКлиенте -Функция РазрешенСлучайныйПорядокВыполненияТестов() Экспорт - Возврат Ложь; -КонецФункции - -&НаКлиенте -Процедура Тест_ДолженУстановитьКонтекст() Экспорт - - юТест.УстановитьКонтекст(10, "КонтекстДляПередачиМеждуТестовымиНаборами"); - Контекст = юТест.ПолучитьКонтекст("КонтекстДляПередачиМеждуТестовымиНаборами"); - юТест.ПроверитьРавенство(10, Контекст, НСтр("ru = 'Ошибка установки контекста'")); - -КонецПроцедуры diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/renames.txt" "b/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/renames.txt" deleted file mode 100644 index f048aa73..00000000 --- "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/renames.txt" +++ /dev/null @@ -1,9 +0,0 @@ -2e0e6ce4-462c-490f-b368-6c496f14ffeb-->und\2e0e6ce4-462c-490f-b368-6c496f14ffeb -2fc77050-439d-4afb-a679-1bc7cdaced04-->und\2fc77050-439d-4afb-a679-1bc7cdaced04 -2fc77050-439d-4afb-a679-1bc7cdaced04.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\selftests\_1ТестДолженУстановитьКонтекст\Form\Форма\Форма.txt -2fc77050-439d-4afb-a679-1bc7cdaced04.0-->und\2fc77050-439d-4afb-a679-1bc7cdaced04.0 -2fc77050-439d-4afb-a679-1bc7cdaced04.0-->und\2fc77050-439d-4afb-a679-1bc7cdaced04.0 -copyinfo-->und\copyinfo -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/2e0e6ce4-462c-490f-b368-6c496f14ffeb" "b/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/2e0e6ce4-462c-490f-b368-6c496f14ffeb" deleted file mode 100644 index 63e0552b..00000000 --- "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/2e0e6ce4-462c-490f-b368-6c496f14ffeb" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{2e0e6ce4-462c-490f-b368-6c496f14ffeb},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,3f8f4ea8-7d7a-4228-bc8a-a893da6f0c0c,e9dbbc90-2d74-4a88-954b-bc00f83af3d1, -{0, -{0, -{0,0,e05d4834-92a7-4c72-90c6-b08fd3deec48},"_1ТестДолженУстановитьКонтекст", -{1,"ru","Тест должен установить контекст"},""} -},2fc77050-439d-4afb-a679-1bc7cdaced04,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,2fc77050-439d-4afb-a679-1bc7cdaced04}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/2fc77050-439d-4afb-a679-1bc7cdaced04" "b/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/2fc77050-439d-4afb-a679-1bc7cdaced04" deleted file mode 100644 index 92b5fea1..00000000 --- "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/2fc77050-439d-4afb-a679-1bc7cdaced04" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,2fc77050-439d-4afb-a679-1bc7cdaced04},"Форма", -{1,"ru","Форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/2fc77050-439d-4afb-a679-1bc7cdaced04.0" "b/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/2fc77050-439d-4afb-a679-1bc7cdaced04.0" deleted file mode 100644 index a80f6e7c..00000000 --- "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/2fc77050-439d-4afb-a679-1bc7cdaced04.0" +++ /dev/null @@ -1,95 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"&НаКлиенте -Перем юТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - ВсеТесты.Добавить(""Тест_ДолженУстановитьКонтекст""); - - Возврат ВсеТесты; - -КонецФункции - -&НаКлиенте -Функция РазрешенСлучайныйПорядокВыполненияТестов() Экспорт - Возврат Ложь; -КонецФункции - -&НаКлиенте -Процедура Тест_ДолженУстановитьКонтекст() Экспорт - - юТест.УстановитьКонтекст(10, ""КонтекстДляПередачиМеждуТестовымиНаборами""); - Контекст = юТест.ПолучитьКонтекст(""КонтекстДляПередачиМеждуТестовымиНаборами""); - юТест.ПроверитьРавенство(10, Контекст, НСтр(""ru = 'Ошибка установки контекста'"")); - -КонецПроцедуры -", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",3f8f4ea8-7d7a-4228-bc8a-a893da6f0c0c} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/copyinfo" "b/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/copyinfo" deleted file mode 100644 index 885717b1..00000000 --- "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{2fc77050-439d-4afb-a679-1bc7cdaced04,2fc77050-439d-4afb-a679-1bc7cdaced04,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -}, -{e05d4834-92a7-4c72-90c6-b08fd3deec48,e05d4834-92a7-4c72-90c6-b08fd3deec48,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"_1ТестДолженУстановитьКонтекст"} -} -}, -{1, -{3f8f4ea8-7d7a-4228-bc8a-a893da6f0c0c,e05d4834-92a7-4c72-90c6-b08fd3deec48,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/root" "b/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/root" deleted file mode 100644 index ae4ddeba..00000000 --- "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,2e0e6ce4-462c-490f-b368-6c496f14ffeb,} \ No newline at end of file diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/versions" "b/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/versions" deleted file mode 100644 index a00b8273..00000000 --- "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,8,"",41ef31f5-a14b-4287-aa03-46be9f4d6181,"versions",7e07c8f1-4076-4705-8239-f9b295a898b8,"2fc77050-439d-4afb-a679-1bc7cdaced04",b4865b7a-3146-434e-a41c-d324007b66b3,"2e0e6ce4-462c-490f-b368-6c496f14ffeb",4a5588c1-fe80-4311-91da-2e092e1fd512,"root",549e8ee6-26d3-4f81-97c1-0a3a15c00973,"version",1ea6ba6b-47ff-4205-929d-f814b6c9254f,"2fc77050-439d-4afb-a679-1bc7cdaced04.0",ca54bb48-32f1-4289-82ff-832147151879,"copyinfo",95d3dddf-eab4-453d-81ff-26e611fa97d7} \ No newline at end of file diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index 9227e7d7..00000000 --- "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,92 +0,0 @@ -&НаКлиенте -Перем юТест; - -&НаКлиенте -Перем Журнал; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("Тест1"); - ВсеТесты.Добавить("Тест2"); - - Возврат ВсеТесты; - -КонецФункции - -&НаКлиенте -Функция РазрешенСлучайныйПорядокВыполненияТестов() Экспорт - Возврат Ложь; -КонецФункции - -&НаКлиенте -Процедура ПередЗапускомНабораТестов() Экспорт - - юТест.ПроверитьРавенство("Начало-", Журнал, "ошибка внутри ПослеЗапускаНабораТестов"); - Журнал = ""; - ДобавитьКЖурналу("ПередЗапускомНабораТестов"); - -КонецПроцедуры - -&НаКлиенте -Процедура ПослеЗапускаНабораТестов() Экспорт - юТест.ПроверитьРавенство("ПередЗапускомНабораТестов-ПередЗапускомТеста-Тест1-ПослеЗапускаТеста-ПередЗапускомТеста-Тест2-ПослеЗапускаТеста-", Журнал, "ошибка внутри ПослеЗапускаНабораТестов"); - - ДобавитьКЖурналу("ПослеЗапускаНабораТестов"); - - юТест.УстановитьКонтекст(Журнал, "ТестТестовыйНабор_УФ"); - -КонецПроцедуры - -&НаСервере -Процедура ПередЗапускомНабораТестовСервер() - //ОсновнойОбъект().ОсновнойОбъект( -КонецПроцедуры - -&НаСервере -Функция ОсновнойОбъект() - Возврат РеквизитФормыВЗначение("Объект"); -КонецФункции - -&НаКлиенте -Процедура ПередЗапускомТеста() Экспорт - //юТест.ПроверитьРавенство("ПередЗапускомНабораТестов-", Журнал, "ошибка внутри ПередЗапускомТеста"); - - ДобавитьКЖурналу("ПередЗапускомТеста"); - -КонецПроцедуры - -&НаКлиенте -Процедура ПослеЗапускаТеста() Экспорт - //юТест.ПроверитьРавенство("ПередЗапускомНабораТестов-ПередЗапускомТеста-Тест-", Журнал, "ошибка внутри ПослеЗапускаТеста"); - - ДобавитьКЖурналу("ПослеЗапускаТеста"); - -КонецПроцедуры - -&НаКлиенте -Процедура Тест1() Экспорт - - юТест.ПроверитьРавенство("ПередЗапускомНабораТестов-ПередЗапускомТеста-", Журнал, "ошибка внутри теста"); - ДобавитьКЖурналу("Тест1"); - -КонецПроцедуры - -&НаКлиенте -Процедура Тест2() Экспорт - - юТест.ПроверитьРавенство("ПередЗапускомНабораТестов-ПередЗапускомТеста-Тест1-ПослеЗапускаТеста-ПередЗапускомТеста-", Журнал, "ошибка внутри теста"); - ДобавитьКЖурналу("Тест2"); - -КонецПроцедуры - -&НаКлиенте -Процедура ДобавитьКЖурналу(Стр) - Журнал = Журнал +Стр+ "-"; -КонецПроцедуры - -Журнал = "Начало-"; \ No newline at end of file diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/ObjectModule.txt" "b/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/ObjectModule.txt" deleted file mode 100644 index cde531a0..00000000 --- "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/ObjectModule.txt" +++ /dev/null @@ -1,70 +0,0 @@ -Перем юТест; -Перем Журнал; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("Тест1"); - ВсеТесты.Добавить("Тест2"); - - Возврат ВсеТесты; - -КонецФункции - -Функция РазрешенСлучайныйПорядокВыполненияТестов() Экспорт - Возврат Ложь; -КонецФункции - -Процедура ПередЗапускомНабораТестов() Экспорт - - юТест.ПроверитьРавенство("Начало-", Журнал, "ошибка внутри ПослеЗапускаНабораТестов"); - Журнал = ""; - ДобавитьКЖурналу("ПередЗапускомНабораТестов"); - -КонецПроцедуры - -Процедура ПослеЗапускаНабораТестов() Экспорт - юТест.ПроверитьРавенство("ПередЗапускомНабораТестов-ПередЗапускомТеста-Тест1-ПослеЗапускаТеста-ПередЗапускомТеста-Тест2-ПослеЗапускаТеста-", Журнал, "ошибка внутри ПослеЗапускаНабораТестов"); - - ДобавитьКЖурналу("ПослеЗапускаНабораТестов"); - - юТест.УстановитьКонтекст(Журнал, "ТестТестовыйНабор"); - -КонецПроцедуры - -Процедура ПередЗапускомТеста() Экспорт - //юТест.ПроверитьРавенство("ПередЗапускомНабораТестов-", Журнал, "ошибка внутри ПередЗапускомТеста"); - - ДобавитьКЖурналу("ПередЗапускомТеста"); - -КонецПроцедуры - -Процедура ПослеЗапускаТеста() Экспорт - //юТест.ПроверитьРавенство("ПередЗапускомНабораТестов-ПередЗапускомТеста-Тест1-", Журнал, "ошибка внутри ПослеЗапускаТеста"); - - ДобавитьКЖурналу("ПослеЗапускаТеста"); - -КонецПроцедуры - -Процедура Тест1() Экспорт - - юТест.ПроверитьРавенство("ПередЗапускомНабораТестов-ПередЗапускомТеста-", Журнал, "ошибка внутри теста"); - ДобавитьКЖурналу("Тест1"); - -КонецПроцедуры - -Процедура Тест2() Экспорт - - юТест.ПроверитьРавенство("ПередЗапускомНабораТестов-ПередЗапускомТеста-Тест1-ПослеЗапускаТеста-ПередЗапускомТеста-", Журнал, "ошибка внутри теста"); - ДобавитьКЖурналу("Тест2"); - -КонецПроцедуры - -Процедура ДобавитьКЖурналу(Стр) - Журнал = Журнал +Стр+ "-"; -КонецПроцедуры - -Журнал = "Начало-"; \ No newline at end of file diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/renames.txt" "b/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/renames.txt" deleted file mode 100644 index 6eb5e592..00000000 --- "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/renames.txt" +++ /dev/null @@ -1,11 +0,0 @@ -727eda5f-558c-428b-86d2-3421c52f4c50.0\info-->und\727eda5f-558c-428b-86d2-3421c52f4c50.0\info -727eda5f-558c-428b-86d2-3421c52f4c50.0\text-->ObjectModule.txt -copyinfo-->und\copyinfo -d61e91c3-309f-4a32-a63d-923c97512b78-->und\d61e91c3-309f-4a32-a63d-923c97512b78 -d61e91c3-309f-4a32-a63d-923c97512b78.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\selftests\_1ТестТестовыйНабор\Form\Форма\Форма.txt -d61e91c3-309f-4a32-a63d-923c97512b78.0-->und\d61e91c3-309f-4a32-a63d-923c97512b78.0 -d61e91c3-309f-4a32-a63d-923c97512b78.0-->und\d61e91c3-309f-4a32-a63d-923c97512b78.0 -f38c7465-2120-4aeb-87fc-1cd6a72e4559-->und\f38c7465-2120-4aeb-87fc-1cd6a72e4559 -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/copyinfo" "b/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/copyinfo" deleted file mode 100644 index e48c3ff3..00000000 --- "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{727eda5f-558c-428b-86d2-3421c52f4c50,727eda5f-558c-428b-86d2-3421c52f4c50,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"_1ТестТестовыйНабор"} -}, -{d61e91c3-309f-4a32-a63d-923c97512b78,d61e91c3-309f-4a32-a63d-923c97512b78,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -} -}, -{1, -{46282281-48b4-46da-8efa-b167f8b65d44,727eda5f-558c-428b-86d2-3421c52f4c50,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/d61e91c3-309f-4a32-a63d-923c97512b78" "b/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/d61e91c3-309f-4a32-a63d-923c97512b78" deleted file mode 100644 index 224640af..00000000 --- "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/d61e91c3-309f-4a32-a63d-923c97512b78" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,d61e91c3-309f-4a32-a63d-923c97512b78},"Форма", -{1,"ru","Форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/d61e91c3-309f-4a32-a63d-923c97512b78.0" "b/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/d61e91c3-309f-4a32-a63d-923c97512b78.0" deleted file mode 100644 index 9e81c1ce..00000000 --- "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/d61e91c3-309f-4a32-a63d-923c97512b78.0" +++ /dev/null @@ -1,158 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"&НаКлиенте -Перем юТест; - -&НаКлиенте -Перем Журнал; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить(""Тест1""); - ВсеТесты.Добавить(""Тест2""); - - Возврат ВсеТесты; - -КонецФункции - -&НаКлиенте -Функция РазрешенСлучайныйПорядокВыполненияТестов() Экспорт - Возврат Ложь; -КонецФункции - -&НаКлиенте -Процедура ПередЗапускомНабораТестов() Экспорт - - юТест.ПроверитьРавенство(""Начало-"", Журнал, ""ошибка внутри ПослеЗапускаНабораТестов""); - Журнал = """"; - ДобавитьКЖурналу(""ПередЗапускомНабораТестов""); - -КонецПроцедуры - -&НаКлиенте -Процедура ПослеЗапускаНабораТестов() Экспорт - юТест.ПроверитьРавенство(""ПередЗапускомНабораТестов-ПередЗапускомТеста-Тест1-ПослеЗапускаТеста-ПередЗапускомТеста-Тест2-ПослеЗапускаТеста-"", Журнал, ""ошибка внутри ПослеЗапускаНабораТестов""); - - ДобавитьКЖурналу(""ПослеЗапускаНабораТестов""); - - юТест.УстановитьКонтекст(Журнал, ""ТестТестовыйНабор_УФ""); - -КонецПроцедуры - -&НаСервере -Процедура ПередЗапускомНабораТестовСервер() - //ОсновнойОбъект().ОсновнойОбъект( -КонецПроцедуры - -&НаСервере -Функция ОсновнойОбъект() - Возврат РеквизитФормыВЗначение(""Объект""); -КонецФункции - -&НаКлиенте -Процедура ПередЗапускомТеста() Экспорт - //юТест.ПроверитьРавенство(""ПередЗапускомНабораТестов-"", Журнал, ""ошибка внутри ПередЗапускомТеста""); - - ДобавитьКЖурналу(""ПередЗапускомТеста""); - -КонецПроцедуры - -&НаКлиенте -Процедура ПослеЗапускаТеста() Экспорт - //юТест.ПроверитьРавенство(""ПередЗапускомНабораТестов-ПередЗапускомТеста-Тест-"", Журнал, ""ошибка внутри ПослеЗапускаТеста""); - - ДобавитьКЖурналу(""ПослеЗапускаТеста""); - -КонецПроцедуры - -&НаКлиенте -Процедура Тест1() Экспорт - - юТест.ПроверитьРавенство(""ПередЗапускомНабораТестов-ПередЗапускомТеста-"", Журнал, ""ошибка внутри теста""); - ДобавитьКЖурналу(""Тест1""); - -КонецПроцедуры - -&НаКлиенте -Процедура Тест2() Экспорт - - юТест.ПроверитьРавенство(""ПередЗапускомНабораТестов-ПередЗапускомТеста-Тест1-ПослеЗапускаТеста-ПередЗапускомТеста-"", Журнал, ""ошибка внутри теста""); - ДобавитьКЖурналу(""Тест2""); - -КонецПроцедуры - -&НаКлиенте -Процедура ДобавитьКЖурналу(Стр) - Журнал = Журнал +Стр+ ""-""; -КонецПроцедуры - -Журнал = ""Начало-"";", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",46282281-48b4-46da-8efa-b167f8b65d44} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" "b/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" deleted file mode 100644 index b98d40ac..00000000 --- "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{f38c7465-2120-4aeb-87fc-1cd6a72e4559},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,46282281-48b4-46da-8efa-b167f8b65d44,68c3abeb-66d9-445e-a617-90228868ace3, -{0, -{0, -{0,0,727eda5f-558c-428b-86d2-3421c52f4c50},"_1ТестТестовыйНабор", -{1,"ru","Тесты ""Тестовый набор"" - часть 1"},""} -},d61e91c3-309f-4a32-a63d-923c97512b78,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,d61e91c3-309f-4a32-a63d-923c97512b78}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/root" "b/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/root" deleted file mode 100644 index 7a2de7c1..00000000 --- "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,f38c7465-2120-4aeb-87fc-1cd6a72e4559,} \ No newline at end of file diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/versions" "b/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/versions" deleted file mode 100644 index 9286cc29..00000000 --- "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,10,"",a4824fe3-4e26-4f87-be7c-c137eab34b84,"versions",9ca97fc7-6fbe-4bee-9f94-4fb8427105b5,"root",0c0569f0-b15d-40eb-9cad-99caa351b2af,"d61e91c3-309f-4a32-a63d-923c97512b78.1",118568c4-3a85-4c8a-9a7f-95af40d5bebe,"d61e91c3-309f-4a32-a63d-923c97512b78.0",9090659a-5828-4967-b071-369f9917b0f4,"version",699fb690-4fea-48b3-b6b9-47b8a959744b,"d61e91c3-309f-4a32-a63d-923c97512b78",efa8948e-9199-4257-8e3f-2a7c970dcaee,"727eda5f-558c-428b-86d2-3421c52f4c50.0",0cca98be-b795-4373-b6ab-1b7ba04769dd,"f38c7465-2120-4aeb-87fc-1cd6a72e4559",8aa4c0a6-f235-482d-be09-f986da5962f7,"copyinfo",18184aa5-95ae-4730-b9a1-76763ae98326} \ No newline at end of file diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index 12f869de..00000000 --- "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,82 +0,0 @@ -&НаКлиенте -Перем юТест; - -&НаКлиенте -Перем Журнал Экспорт; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("Тест1"); - ВсеТесты.Добавить("Тест2"); - - Возврат ВсеТесты; - -КонецФункции - -&НаКлиенте -Функция РазрешенСлучайныйПорядокВыполненияТестов() Экспорт - Возврат Ложь; -КонецФункции - -&НаКлиенте -Процедура ПередЗапускомНабораТестов() Экспорт - - юТест.ПроверитьРавенство("Начало-", Журнал, "ошибка внутри ПередЗапускомНабораТестов"); - Журнал = ""; - ДобавитьКЖурналу("ПередЗапускомНабораТестов"); - -КонецПроцедуры - -&НаКлиенте -Процедура ПослеЗапускаНабораТестов() Экспорт - юТест.ПроверитьРавенство("ПередЗапускомНабораТестов-ПередЗапускомТеста-Тест1-ПослеЗапускаТеста-ПередЗапускомТеста-Тест2-ПослеЗапускаТеста-", Журнал, "ошибка внутри ПослеЗапускаНабораТестов"); - - ДобавитьКЖурналу("ПослеЗапускаНабораТестов"); - - юТест.УстановитьКонтекст(Журнал, "ТестТестовыйНабор_УФ2"); - -КонецПроцедуры - -&НаКлиенте -Процедура ПередЗапускомТеста() Экспорт - //юТест.ПроверитьРавенство("ПередЗапускомНабораТестов-", Журнал, "ошибка внутри ПередЗапускомТеста"); - - ДобавитьКЖурналу("ПередЗапускомТеста"); - -КонецПроцедуры - -&НаКлиенте -Процедура ПослеЗапускаТеста() Экспорт - //юТест.ПроверитьРавенство("ПередЗапускомНабораТестов-ПередЗапускомТеста-Тест-", Журнал, "ошибка внутри ПослеЗапускаТеста"); - - ДобавитьКЖурналу("ПослеЗапускаТеста"); - -КонецПроцедуры - -&НаКлиенте -Процедура Тест1() Экспорт - - юТест.ПроверитьРавенство("ПередЗапускомНабораТестов-ПередЗапускомТеста-", Журнал, "ошибка внутри теста"); - ДобавитьКЖурналу("Тест1"); - -КонецПроцедуры - -&НаКлиенте -Процедура Тест2() Экспорт - - юТест.ПроверитьРавенство("ПередЗапускомНабораТестов-ПередЗапускомТеста-Тест1-ПослеЗапускаТеста-ПередЗапускомТеста-", Журнал, "ошибка внутри теста"); - ДобавитьКЖурналу("Тест2"); - -КонецПроцедуры - -&НаКлиенте -Процедура ДобавитьКЖурналу(Стр) - Журнал = Журнал +Стр+ "-"; -КонецПроцедуры - -Журнал = "Начало-"; \ No newline at end of file diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/renames.txt" "b/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/renames.txt" deleted file mode 100644 index 1bb60286..00000000 --- "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/renames.txt" +++ /dev/null @@ -1,11 +0,0 @@ -28a5cb91-00b0-47ba-8fd5-6d15028ac6de-->und\28a5cb91-00b0-47ba-8fd5-6d15028ac6de -28a5cb91-00b0-47ba-8fd5-6d15028ac6de.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\selftests\_1ТестТестовыйНаборУФ\Form\Форма\Форма.txt -28a5cb91-00b0-47ba-8fd5-6d15028ac6de.0-->und\28a5cb91-00b0-47ba-8fd5-6d15028ac6de.0 -28a5cb91-00b0-47ba-8fd5-6d15028ac6de.0-->und\28a5cb91-00b0-47ba-8fd5-6d15028ac6de.0 -727eda5f-558c-428b-86d2-3421c52f4c50.0\info-->und\727eda5f-558c-428b-86d2-3421c52f4c50.0\info -727eda5f-558c-428b-86d2-3421c52f4c50.0\text-->ObjectModule.txt -copyinfo-->und\copyinfo -f38c7465-2120-4aeb-87fc-1cd6a72e4559-->und\f38c7465-2120-4aeb-87fc-1cd6a72e4559 -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/28a5cb91-00b0-47ba-8fd5-6d15028ac6de" "b/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/28a5cb91-00b0-47ba-8fd5-6d15028ac6de" deleted file mode 100644 index 539d597a..00000000 --- "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/28a5cb91-00b0-47ba-8fd5-6d15028ac6de" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,28a5cb91-00b0-47ba-8fd5-6d15028ac6de},"Форма", -{1,"ru","Форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/28a5cb91-00b0-47ba-8fd5-6d15028ac6de.0" "b/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/28a5cb91-00b0-47ba-8fd5-6d15028ac6de.0" deleted file mode 100644 index c6740a3f..00000000 --- "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/28a5cb91-00b0-47ba-8fd5-6d15028ac6de.0" +++ /dev/null @@ -1,148 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"&НаКлиенте -Перем юТест; - -&НаКлиенте -Перем Журнал Экспорт; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить(""Тест1""); - ВсеТесты.Добавить(""Тест2""); - - Возврат ВсеТесты; - -КонецФункции - -&НаКлиенте -Функция РазрешенСлучайныйПорядокВыполненияТестов() Экспорт - Возврат Ложь; -КонецФункции - -&НаКлиенте -Процедура ПередЗапускомНабораТестов() Экспорт - - юТест.ПроверитьРавенство(""Начало-"", Журнал, ""ошибка внутри ПередЗапускомНабораТестов""); - Журнал = """"; - ДобавитьКЖурналу(""ПередЗапускомНабораТестов""); - -КонецПроцедуры - -&НаКлиенте -Процедура ПослеЗапускаНабораТестов() Экспорт - юТест.ПроверитьРавенство(""ПередЗапускомНабораТестов-ПередЗапускомТеста-Тест1-ПослеЗапускаТеста-ПередЗапускомТеста-Тест2-ПослеЗапускаТеста-"", Журнал, ""ошибка внутри ПослеЗапускаНабораТестов""); - - ДобавитьКЖурналу(""ПослеЗапускаНабораТестов""); - - юТест.УстановитьКонтекст(Журнал, ""ТестТестовыйНабор_УФ2""); - -КонецПроцедуры - -&НаКлиенте -Процедура ПередЗапускомТеста() Экспорт - //юТест.ПроверитьРавенство(""ПередЗапускомНабораТестов-"", Журнал, ""ошибка внутри ПередЗапускомТеста""); - - ДобавитьКЖурналу(""ПередЗапускомТеста""); - -КонецПроцедуры - -&НаКлиенте -Процедура ПослеЗапускаТеста() Экспорт - //юТест.ПроверитьРавенство(""ПередЗапускомНабораТестов-ПередЗапускомТеста-Тест-"", Журнал, ""ошибка внутри ПослеЗапускаТеста""); - - ДобавитьКЖурналу(""ПослеЗапускаТеста""); - -КонецПроцедуры - -&НаКлиенте -Процедура Тест1() Экспорт - - юТест.ПроверитьРавенство(""ПередЗапускомНабораТестов-ПередЗапускомТеста-"", Журнал, ""ошибка внутри теста""); - ДобавитьКЖурналу(""Тест1""); - -КонецПроцедуры - -&НаКлиенте -Процедура Тест2() Экспорт - - юТест.ПроверитьРавенство(""ПередЗапускомНабораТестов-ПередЗапускомТеста-Тест1-ПослеЗапускаТеста-ПередЗапускомТеста-"", Журнал, ""ошибка внутри теста""); - ДобавитьКЖурналу(""Тест2""); - -КонецПроцедуры - -&НаКлиенте -Процедура ДобавитьКЖурналу(Стр) - Журнал = Журнал +Стр+ ""-""; -КонецПроцедуры - -Журнал = ""Начало-"";", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",46282281-48b4-46da-8efa-b167f8b65d44} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/copyinfo" "b/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/copyinfo" deleted file mode 100644 index 0e8b7191..00000000 --- "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{28a5cb91-00b0-47ba-8fd5-6d15028ac6de,28a5cb91-00b0-47ba-8fd5-6d15028ac6de,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -}, -{727eda5f-558c-428b-86d2-3421c52f4c50,727eda5f-558c-428b-86d2-3421c52f4c50,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"_1ТестТестовыйНаборУФ"} -} -}, -{1, -{46282281-48b4-46da-8efa-b167f8b65d44,727eda5f-558c-428b-86d2-3421c52f4c50,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" "b/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" deleted file mode 100644 index 1ac30516..00000000 --- "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{f38c7465-2120-4aeb-87fc-1cd6a72e4559},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,46282281-48b4-46da-8efa-b167f8b65d44,68c3abeb-66d9-445e-a617-90228868ace3, -{0, -{0, -{0,0,727eda5f-558c-428b-86d2-3421c52f4c50},"_1ТестТестовыйНаборУФ", -{1,"ru","Тесты ""Тестовый набор УФ"" - часть 1"},""} -},28a5cb91-00b0-47ba-8fd5-6d15028ac6de,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,28a5cb91-00b0-47ba-8fd5-6d15028ac6de}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/root" "b/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/root" deleted file mode 100644 index 7a2de7c1..00000000 --- "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,f38c7465-2120-4aeb-87fc-1cd6a72e4559,} \ No newline at end of file diff --git "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/versions" "b/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/versions" deleted file mode 100644 index 21970694..00000000 --- "a/src/Tests/selftests/_1\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,11,"",82e8ac0c-3da8-487e-87c3-1cba495d4d38,"versions",e00426aa-bad9-468a-bf76-c0069ca1c963,"root",f9fa094a-040a-4c2e-8117-d9169b549bc6,"28a5cb91-00b0-47ba-8fd5-6d15028ac6de.0",59a18a7f-767f-47c2-b074-987434b2a1f5,"28a5cb91-00b0-47ba-8fd5-6d15028ac6de.1",2e8be596-72df-4258-b989-f6a4c6b6c338,"version",d557b847-cb13-4f53-9152-766d867449a0,"34dba071-e476-4e33-bc4c-497049b7c027",bd6cc45a-5254-4ab5-9420-0c1de38b8524,"727eda5f-558c-428b-86d2-3421c52f4c50.0",02ea4aad-43f4-4a99-9f01-64a3a467d5e5,"f38c7465-2120-4aeb-87fc-1cd6a72e4559",bc6b8ffc-d0be-4c04-92d6-19c93f53adf2,"copyinfo",e326ee24-9e14-4bb7-8bff-0dce4833c748,"28a5cb91-00b0-47ba-8fd5-6d15028ac6de",46e7be4f-0031-4f97-b130-0c9e746fb9b3} \ No newline at end of file diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/ObjectModule.txt" "b/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/ObjectModule.txt" deleted file mode 100644 index 434079c4..00000000 --- "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/ObjectModule.txt" +++ /dev/null @@ -1,25 +0,0 @@ -Перем юТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - #Если Не ТолстыйКлиентОбычноеПриложение Тогда - ВсеТесты.Добавить("Тест_ДолженПолучитьКонтекст"); - #КонецЕсли - - Возврат ВсеТесты; - -КонецФункции - -Функция РазрешенСлучайныйПорядокВыполненияТестов() Экспорт - Возврат Ложь; -КонецФункции - -Процедура Тест_ДолженПолучитьКонтекст() Экспорт - - Контекст = юТест.ПолучитьКонтекст("КонтекстДляПередачиМеждуТестовымиНаборами"); - юТест.ПроверитьРавенство(10, Контекст, НСтр("ru = 'Ошибка получения контекста из другого тестового набора.'")); - -КонецПроцедуры diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/renames.txt" "b/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/renames.txt" deleted file mode 100644 index 752068a0..00000000 --- "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/renames.txt" +++ /dev/null @@ -1,7 +0,0 @@ -232bfb90-88be-4312-ae40-9279bce19310-->und\232bfb90-88be-4312-ae40-9279bce19310 -ae6662fb-90ac-432a-b3e3-1a666faafb75.0\info-->und\ae6662fb-90ac-432a-b3e3-1a666faafb75.0\info -ae6662fb-90ac-432a-b3e3-1a666faafb75.0\text-->ObjectModule.txt -copyinfo-->und\copyinfo -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/232bfb90-88be-4312-ae40-9279bce19310" "b/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/232bfb90-88be-4312-ae40-9279bce19310" deleted file mode 100644 index 89bfdd33..00000000 --- "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/232bfb90-88be-4312-ae40-9279bce19310" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{232bfb90-88be-4312-ae40-9279bce19310},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,0554d303-404c-493b-a6fe-d9b114be4330,d28cfab9-6aab-4d2c-b927-469b66cd612d, -{0, -{0, -{0,0,ae6662fb-90ac-432a-b3e3-1a666faafb75},"_2ТестДолженПолучитьКонтекст", -{1,"ru","2)Тест должен получить контекст"},""} -},00000000-0000-0000-0000-000000000000,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/copyinfo" "b/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/copyinfo" deleted file mode 100644 index 08913bc8..00000000 --- "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/copyinfo" +++ /dev/null @@ -1,7 +0,0 @@ -{4, -{0}, -{0}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/root" "b/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/root" deleted file mode 100644 index eb0bcad8..00000000 --- "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,232bfb90-88be-4312-ae40-9279bce19310,} \ No newline at end of file diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/versions" "b/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/versions" deleted file mode 100644 index 27938a07..00000000 --- "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,7,"",77b5e848-423b-42d6-8778-b3bde9b120af,"root",47cfb850-6f80-4a5b-adf7-5c3d365462d6,"232bfb90-88be-4312-ae40-9279bce19310",7999a9f3-1cd5-4157-a6e8-a398c0c91dbd,"ae6662fb-90ac-432a-b3e3-1a666faafb75.0",ba350508-56b4-4322-81d4-d60d3ce65bc8,"copyinfo",ff03f09b-bc50-4674-baae-3296442257a4,"versions",828422a3-9fe6-4c36-b74f-f7cd95cf7f38,"version",54c5a4d4-f89f-4362-a930-caa610d69279} \ No newline at end of file diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index 9201f5f8..00000000 --- "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,29 +0,0 @@ -&НаКлиенте -Перем юТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("Тест_ДолженПроверить_ПолученныйКонтекст_от_ТестНабора_1ТестТестовыйНабор_УФ"); - - Возврат ВсеТесты; - -КонецФункции - -&НаКлиенте -Функция РазрешенСлучайныйПорядокВыполненияТестов() Экспорт - Возврат Ложь; -КонецФункции - -&НаКлиенте -Процедура Тест_ДолженПроверить_ПолученныйКонтекст_от_ТестНабора_1ТестТестовыйНабор_УФ() Экспорт - - Журнал = юТест.ПолучитьКонтекст("ТестТестовыйНабор_УФ"); - юТест.ПроверитьРавенство("ПередЗапускомНабораТестов-ПередЗапускомТеста-Тест1-ПослеЗапускаТеста-ПередЗапускомТеста-Тест2-ПослеЗапускаТеста-ПослеЗапускаНабораТестов-", Журнал, "неверный журнал и последовательность вызовов Перед/После в тесте"); - юТест.УстановитьКонтекст(Неопределено, "ТестТестовыйНабор_УФ"); - -КонецПроцедуры diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/ObjectModule.txt" "b/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/ObjectModule.txt" deleted file mode 100644 index 59edc7a8..00000000 --- "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/ObjectModule.txt" +++ /dev/null @@ -1,25 +0,0 @@ -Перем юТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("Тест_ДолженПроверить_ПолученныйКонтекст_от_ТестНабора_1ТестТестовыйНабор"); - - Возврат ВсеТесты; - -КонецФункции - -Функция РазрешенСлучайныйПорядокВыполненияТестов() Экспорт - Возврат Ложь; -КонецФункции - -Процедура Тест_ДолженПроверить_ПолученныйКонтекст_от_ТестНабора_1ТестТестовыйНабор() Экспорт - - Журнал = юТест.ПолучитьКонтекст("ТестТестовыйНабор"); - юТест.ПроверитьРавенство("ПередЗапускомНабораТестов-ПередЗапускомТеста-Тест1-ПослеЗапускаТеста-ПередЗапускомТеста-Тест2-ПослеЗапускаТеста-ПослеЗапускаНабораТестов-", Журнал, "неверный журнал и последовательность вызовов Перед/После в тесте"); - юТест.УстановитьКонтекст(Неопределено, "ТестТестовыйНабор"); - -КонецПроцедуры diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/renames.txt" "b/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/renames.txt" deleted file mode 100644 index 0ca6d93b..00000000 --- "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/renames.txt" +++ /dev/null @@ -1,11 +0,0 @@ -431d3cb8-4f4e-497b-8b44-5cdce1147e25-->und\431d3cb8-4f4e-497b-8b44-5cdce1147e25 -431d3cb8-4f4e-497b-8b44-5cdce1147e25.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\selftests\_2ТестТестовыйНабор\Form\Форма\Форма.txt -431d3cb8-4f4e-497b-8b44-5cdce1147e25.0-->und\431d3cb8-4f4e-497b-8b44-5cdce1147e25.0 -431d3cb8-4f4e-497b-8b44-5cdce1147e25.0-->und\431d3cb8-4f4e-497b-8b44-5cdce1147e25.0 -727eda5f-558c-428b-86d2-3421c52f4c50.0\info-->und\727eda5f-558c-428b-86d2-3421c52f4c50.0\info -727eda5f-558c-428b-86d2-3421c52f4c50.0\text-->ObjectModule.txt -copyinfo-->und\copyinfo -f38c7465-2120-4aeb-87fc-1cd6a72e4559-->und\f38c7465-2120-4aeb-87fc-1cd6a72e4559 -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/431d3cb8-4f4e-497b-8b44-5cdce1147e25" "b/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/431d3cb8-4f4e-497b-8b44-5cdce1147e25" deleted file mode 100644 index a86fa952..00000000 --- "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/431d3cb8-4f4e-497b-8b44-5cdce1147e25" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,431d3cb8-4f4e-497b-8b44-5cdce1147e25},"Форма", -{1,"ru","Форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/431d3cb8-4f4e-497b-8b44-5cdce1147e25.0" "b/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/431d3cb8-4f4e-497b-8b44-5cdce1147e25.0" deleted file mode 100644 index 30b57bfd..00000000 --- "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/431d3cb8-4f4e-497b-8b44-5cdce1147e25.0" +++ /dev/null @@ -1,96 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"&НаКлиенте -Перем юТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить(""Тест_ДолженПроверить_ПолученныйКонтекст_от_ТестНабора_1ТестТестовыйНабор_УФ""); - - Возврат ВсеТесты; - -КонецФункции - -&НаКлиенте -Функция РазрешенСлучайныйПорядокВыполненияТестов() Экспорт - Возврат Ложь; -КонецФункции - -&НаКлиенте -Процедура Тест_ДолженПроверить_ПолученныйКонтекст_от_ТестНабора_1ТестТестовыйНабор_УФ() Экспорт - - Журнал = юТест.ПолучитьКонтекст(""ТестТестовыйНабор_УФ""); - юТест.ПроверитьРавенство(""ПередЗапускомНабораТестов-ПередЗапускомТеста-Тест1-ПослеЗапускаТеста-ПередЗапускомТеста-Тест2-ПослеЗапускаТеста-ПослеЗапускаНабораТестов-"", Журнал, ""неверный журнал и последовательность вызовов Перед/После в тесте""); - юТест.УстановитьКонтекст(Неопределено, ""ТестТестовыйНабор_УФ""); - -КонецПроцедуры -", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",46282281-48b4-46da-8efa-b167f8b65d44} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/copyinfo" "b/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/copyinfo" deleted file mode 100644 index 3eb9c01c..00000000 --- "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{431d3cb8-4f4e-497b-8b44-5cdce1147e25,431d3cb8-4f4e-497b-8b44-5cdce1147e25,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -}, -{727eda5f-558c-428b-86d2-3421c52f4c50,727eda5f-558c-428b-86d2-3421c52f4c50,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"_1ТестТестовыйНабор"} -} -}, -{1, -{46282281-48b4-46da-8efa-b167f8b65d44,727eda5f-558c-428b-86d2-3421c52f4c50,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" "b/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" deleted file mode 100644 index aae8eb4f..00000000 --- "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{f38c7465-2120-4aeb-87fc-1cd6a72e4559},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,46282281-48b4-46da-8efa-b167f8b65d44,68c3abeb-66d9-445e-a617-90228868ace3, -{0, -{0, -{0,0,727eda5f-558c-428b-86d2-3421c52f4c50},"_1ТестТестовыйНабор", -{1,"ru","Тесты ""Тестовый набор"" - часть 1"},""} -},431d3cb8-4f4e-497b-8b44-5cdce1147e25,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,431d3cb8-4f4e-497b-8b44-5cdce1147e25}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/root" "b/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/root" deleted file mode 100644 index 7a2de7c1..00000000 --- "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,f38c7465-2120-4aeb-87fc-1cd6a72e4559,} \ No newline at end of file diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/versions" "b/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/versions" deleted file mode 100644 index 2555a51b..00000000 --- "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,10,"",32acbe17-6246-4cef-a202-526c0a92d811,"versions",b891c293-690d-4589-8aed-f178ab2294b1,"431d3cb8-4f4e-497b-8b44-5cdce1147e25.1",29574c0a-2133-4354-bbf0-64478887ae27,"431d3cb8-4f4e-497b-8b44-5cdce1147e25.0",b1a905a3-f9ce-49c4-852b-09bf7d246b1e,"root",6ca5dfb2-826e-45e9-8b00-25f43ead4f7f,"version",53ecefd5-b24a-4022-8eac-232532727078,"431d3cb8-4f4e-497b-8b44-5cdce1147e25",60356c3d-b83b-4cb9-a681-f9550f758158,"727eda5f-558c-428b-86d2-3421c52f4c50.0",adf529ca-2a65-4e96-a8c2-f5e5025f070e,"f38c7465-2120-4aeb-87fc-1cd6a72e4559",9fbd525e-3f62-4be3-82f5-01fa79926d18,"copyinfo",d87070bc-d880-458d-9f5c-ca4254338d82} \ No newline at end of file diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index 7545d14b..00000000 --- "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,29 +0,0 @@ -&НаКлиенте -Перем юТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("Тест_ДолженПроверить_ПолученныйКонтекст_от_ТестНабора_1ТестТестовыйНабор_УФ"); - - Возврат ВсеТесты; - -КонецФункции - -&НаКлиенте -Функция РазрешенСлучайныйПорядокВыполненияТестов() Экспорт - Возврат Ложь; -КонецФункции - -&НаКлиенте -Процедура Тест_ДолженПроверить_ПолученныйКонтекст_от_ТестНабора_1ТестТестовыйНабор_УФ() Экспорт - - Журнал = юТест.ПолучитьКонтекст("ТестТестовыйНабор_УФ2"); - юТест.ПроверитьРавенство("ПередЗапускомНабораТестов-ПередЗапускомТеста-Тест1-ПослеЗапускаТеста-ПередЗапускомТеста-Тест2-ПослеЗапускаТеста-ПослеЗапускаНабораТестов-", Журнал, "неверный журнал и последовательность вызовов Перед/После в тесте"); - юТест.УстановитьКонтекст(Неопределено, "ТестТестовыйНабор_УФ2"); - -КонецПроцедуры diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/renames.txt" "b/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/renames.txt" deleted file mode 100644 index b0e6d46f..00000000 --- "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/renames.txt" +++ /dev/null @@ -1,11 +0,0 @@ -727eda5f-558c-428b-86d2-3421c52f4c50.0\info-->und\727eda5f-558c-428b-86d2-3421c52f4c50.0\info -727eda5f-558c-428b-86d2-3421c52f4c50.0\text-->ObjectModule.txt -7ef222bb-c47e-4e97-afb1-92da7265550b-->und\7ef222bb-c47e-4e97-afb1-92da7265550b -7ef222bb-c47e-4e97-afb1-92da7265550b.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\selftests\_2ТестТестовыйНаборУФ\Form\Форма\Форма.txt -7ef222bb-c47e-4e97-afb1-92da7265550b.0-->und\7ef222bb-c47e-4e97-afb1-92da7265550b.0 -7ef222bb-c47e-4e97-afb1-92da7265550b.0-->und\7ef222bb-c47e-4e97-afb1-92da7265550b.0 -copyinfo-->und\copyinfo -f38c7465-2120-4aeb-87fc-1cd6a72e4559-->und\f38c7465-2120-4aeb-87fc-1cd6a72e4559 -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/7ef222bb-c47e-4e97-afb1-92da7265550b" "b/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/7ef222bb-c47e-4e97-afb1-92da7265550b" deleted file mode 100644 index bd0e401a..00000000 --- "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/7ef222bb-c47e-4e97-afb1-92da7265550b" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,7ef222bb-c47e-4e97-afb1-92da7265550b},"Форма", -{1,"ru","Форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/7ef222bb-c47e-4e97-afb1-92da7265550b.0" "b/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/7ef222bb-c47e-4e97-afb1-92da7265550b.0" deleted file mode 100644 index 8be28999..00000000 --- "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/7ef222bb-c47e-4e97-afb1-92da7265550b.0" +++ /dev/null @@ -1,96 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"&НаКлиенте -Перем юТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить(""Тест_ДолженПроверить_ПолученныйКонтекст_от_ТестНабора_1ТестТестовыйНабор_УФ""); - - Возврат ВсеТесты; - -КонецФункции - -&НаКлиенте -Функция РазрешенСлучайныйПорядокВыполненияТестов() Экспорт - Возврат Ложь; -КонецФункции - -&НаКлиенте -Процедура Тест_ДолженПроверить_ПолученныйКонтекст_от_ТестНабора_1ТестТестовыйНабор_УФ() Экспорт - - Журнал = юТест.ПолучитьКонтекст(""ТестТестовыйНабор_УФ2""); - юТест.ПроверитьРавенство(""ПередЗапускомНабораТестов-ПередЗапускомТеста-Тест1-ПослеЗапускаТеста-ПередЗапускомТеста-Тест2-ПослеЗапускаТеста-ПослеЗапускаНабораТестов-"", Журнал, ""неверный журнал и последовательность вызовов Перед/После в тесте""); - юТест.УстановитьКонтекст(Неопределено, ""ТестТестовыйНабор_УФ2""); - -КонецПроцедуры -", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",46282281-48b4-46da-8efa-b167f8b65d44} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/copyinfo" "b/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/copyinfo" deleted file mode 100644 index 5141950b..00000000 --- "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{727eda5f-558c-428b-86d2-3421c52f4c50,727eda5f-558c-428b-86d2-3421c52f4c50,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"_1ТестТестовыйНабор"} -}, -{7ef222bb-c47e-4e97-afb1-92da7265550b,7ef222bb-c47e-4e97-afb1-92da7265550b,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -} -}, -{1, -{46282281-48b4-46da-8efa-b167f8b65d44,727eda5f-558c-428b-86d2-3421c52f4c50,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" "b/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" deleted file mode 100644 index 41977197..00000000 --- "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{f38c7465-2120-4aeb-87fc-1cd6a72e4559},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,46282281-48b4-46da-8efa-b167f8b65d44,68c3abeb-66d9-445e-a617-90228868ace3, -{0, -{0, -{0,0,727eda5f-558c-428b-86d2-3421c52f4c50},"_1ТестТестовыйНабор", -{1,"ru","Тесты ""Тестовый набор"" - часть 1"},""} -},7ef222bb-c47e-4e97-afb1-92da7265550b,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,7ef222bb-c47e-4e97-afb1-92da7265550b}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/root" "b/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/root" deleted file mode 100644 index 7a2de7c1..00000000 --- "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,f38c7465-2120-4aeb-87fc-1cd6a72e4559,} \ No newline at end of file diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/versions" "b/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/versions" deleted file mode 100644 index 70481afe..00000000 --- "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,10,"7ef222bb-c47e-4e97-afb1-92da7265550b.0",3c40e4da-c1ee-4b6d-ac93-f80c10a13e2e,"7ef222bb-c47e-4e97-afb1-92da7265550b.1",be6707bc-f65c-4efa-a0ef-8977375f769c,"7ef222bb-c47e-4e97-afb1-92da7265550b",b2d36ed8-5771-4c79-980d-763214a936db,"",307bd249-db9b-4410-a89c-e52b16772d4f,"versions",e6860435-3a84-4ae1-b686-024d8983860a,"root",15f33ccd-6d54-4acc-8e6d-8796a37f5ac9,"version",6a9440fc-51c6-451d-8c89-cd7f462a7322,"727eda5f-558c-428b-86d2-3421c52f4c50.0",d17203be-6c97-41db-a335-f2f07f092ebf,"f38c7465-2120-4aeb-87fc-1cd6a72e4559",c53116b6-a4da-46fe-acfb-5796e556f14a,"copyinfo",8dbdc8f5-1af3-44a9-8fdf-9371755257da} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/Form/\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\320\260\321\217\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/Form/\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\320\260\321\217\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index 6c741c7f..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/Form/\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\320\260\321\217\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,20 +0,0 @@ -&НаКлиенте -Перем юТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("Тест_Обычный"); - - Возврат ВсеТесты; -КонецФункции - -&НаКлиенте -Процедура Тест_Обычный() Экспорт - - юТест.Проверить(Истина, "Значение ложно"); - -КонецПроцедуры diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index 5e203d59..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,29 +0,0 @@ -&НаКлиенте -Перем юТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("Тест_Обычный"); - - Возврат ВсеТесты; -КонецФункции - -&НаКлиенте -Функция ПолучитьСписокТестовыхФорм() Экспорт - - ТестовыеФормы = Новый Массив; - ТестовыеФормы.Добавить("ДополнительнаяФорма"); - Возврат ТестовыеФормы; - -КонецФункции - -&НаКлиенте -Процедура Тест_Обычный() Экспорт - - юТест.Проверить(Истина, "Значение ложно"); - -КонецПроцедуры diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/ObjectModule.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/ObjectModule.txt" deleted file mode 100644 index dee8e78d..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/ObjectModule.txt" +++ /dev/null @@ -1,8 +0,0 @@ - -Функция ПолучитьСписокТестовыхФорм() Экспорт - - ТестовыеФормы = Новый Массив; - ТестовыеФормы.Добавить("ЗагрузкаФормыПроисходитИзОсновнойУпрФормы"); - Возврат ТестовыеФормы; - -КонецФункции \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/renames.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/renames.txt" deleted file mode 100644 index 24dfbde7..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/renames.txt" +++ /dev/null @@ -1,15 +0,0 @@ -265234cb-5398-47b3-a8e1-d32d748b2c4c-->und\265234cb-5398-47b3-a8e1-d32d748b2c4c -265234cb-5398-47b3-a8e1-d32d748b2c4c.0-->Form\Форма\Форма.txt -265234cb-5398-47b3-a8e1-d32d748b2c4c.0-->und\265234cb-5398-47b3-a8e1-d32d748b2c4c.0 -265234cb-5398-47b3-a8e1-d32d748b2c4c.0-->und\265234cb-5398-47b3-a8e1-d32d748b2c4c.0 -42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3-->und\42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3 -42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3.0-->Form\ДополнительнаяФорма\Форма.txt -42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3.0-->und\42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3.0 -42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3.0-->und\42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3.0 -7b66680b-e180-4230-a526-5aff4cc52aae.0\info-->und\7b66680b-e180-4230-a526-5aff4cc52aae.0\info -7b66680b-e180-4230-a526-5aff4cc52aae.0\text-->ObjectModule.txt -984dfd94-7d1f-404b-b526-3a286429e361-->und\984dfd94-7d1f-404b-b526-3a286429e361 -copyinfo-->und\copyinfo -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/265234cb-5398-47b3-a8e1-d32d748b2c4c" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/265234cb-5398-47b3-a8e1-d32d748b2c4c" deleted file mode 100644 index 3847e6f2..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/265234cb-5398-47b3-a8e1-d32d748b2c4c" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,265234cb-5398-47b3-a8e1-d32d748b2c4c},"Форма", -{1,"ru","Форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/265234cb-5398-47b3-a8e1-d32d748b2c4c.0" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/265234cb-5398-47b3-a8e1-d32d748b2c4c.0" deleted file mode 100644 index 5ccc4efc..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/265234cb-5398-47b3-a8e1-d32d748b2c4c.0" +++ /dev/null @@ -1,96 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{0,0,0},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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"&НаКлиенте -Перем юТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить(""Тест_Обычный""); - - Возврат ВсеТесты; -КонецФункции - -&НаКлиенте -Функция ПолучитьСписокТестовыхФорм() Экспорт - - ТестовыеФормы = Новый Массив; - ТестовыеФормы.Добавить(""ДополнительнаяФорма""); - Возврат ТестовыеФормы; - -КонецФункции - -&НаКлиенте -Процедура Тест_Обычный() Экспорт - - юТест.Проверить(Истина, ""Значение ложно""); - -КонецПроцедуры -", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",02fc0901-3cd2-4561-986b-96cdb0b4b42a} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3" deleted file mode 100644 index 0b169108..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3},"ДополнительнаяФорма", -{1,"ru","Дополнительная форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3.0" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3.0" deleted file mode 100644 index 5ed3ce85..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3.0" +++ /dev/null @@ -1,87 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{0,0,0},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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"&НаКлиенте -Перем юТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить(""Тест_Обычный""); - - Возврат ВсеТесты; -КонецФункции - -&НаКлиенте -Процедура Тест_Обычный() Экспорт - - юТест.Проверить(Истина, ""Значение ложно""); - -КонецПроцедуры -", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",02fc0901-3cd2-4561-986b-96cdb0b4b42a} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/984dfd94-7d1f-404b-b526-3a286429e361" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/984dfd94-7d1f-404b-b526-3a286429e361" deleted file mode 100644 index 822beedb..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/984dfd94-7d1f-404b-b526-3a286429e361" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{984dfd94-7d1f-404b-b526-3a286429e361},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,02fc0901-3cd2-4561-986b-96cdb0b4b42a,6f4bccc5-a1a9-4ebd-b80a-6308244ade10, -{0, -{0, -{0,0,7b66680b-e180-4230-a526-5aff4cc52aae},"ЕстьМетодПолучитьСписокТестовыхФорм", -{1,"ru","Есть метод ПолучитьСписокТестовыхФорм()(Для CmdLine)"},""} -},265234cb-5398-47b3-a8e1-d32d748b2c4c,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,2,265234cb-5398-47b3-a8e1-d32d748b2c4c,42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/copyinfo" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/copyinfo" deleted file mode 100644 index 079f81ef..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{265234cb-5398-47b3-a8e1-d32d748b2c4c,265234cb-5398-47b3-a8e1-d32d748b2c4c,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -}, -{7b66680b-e180-4230-a526-5aff4cc52aae,7b66680b-e180-4230-a526-5aff4cc52aae,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ЕстьМетодПолучитьСписокТестовыхФорм"} -} -}, -{1, -{02fc0901-3cd2-4561-986b-96cdb0b4b42a,7b66680b-e180-4230-a526-5aff4cc52aae,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/root" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/root" deleted file mode 100644 index 37d75fc6..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,984dfd94-7d1f-404b-b526-3a286429e361,} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/versions" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/versions" deleted file mode 100644 index d8ae7e78..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,12,"",09c78a5e-2536-488e-998b-0cacf965a147,"42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3",1e30e4c9-209f-404f-a1ea-dcd1f37ae919,"versions",78a904d5-387b-4f98-a247-f97c986ba680,"42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3.0",50f8cf0f-f036-445f-b07a-6ce4343ef644,"root",03f9e890-680c-42ff-9547-39944791546e,"7b66680b-e180-4230-a526-5aff4cc52aae",fa39057f-cd23-41d3-a68a-77ed63f6d42b,"265234cb-5398-47b3-a8e1-d32d748b2c4c.0",fd636718-49b6-4870-b7c6-216a55a9cc3d,"version",530f6de0-85e7-4631-b042-7a64bbd0f285,"265234cb-5398-47b3-a8e1-d32d748b2c4c",9ed8dd1b-b081-40ee-a33a-de1a2827c8f9,"7b66680b-e180-4230-a526-5aff4cc52aae.0",ebd75b1c-24c6-4bb0-8410-d6aa3092a011,"984dfd94-7d1f-404b-b526-3a286429e361",d027e090-097e-4798-b1be-10c72fb4c56e,"copyinfo",571d613e-efa9-4548-ae12-391c76474724} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/Form/\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\320\260\321\217\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/Form/\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\320\260\321\217\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index 6c741c7f..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/Form/\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\320\260\321\217\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,20 +0,0 @@ -&НаКлиенте -Перем юТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("Тест_Обычный"); - - Возврат ВсеТесты; -КонецФункции - -&НаКлиенте -Процедура Тест_Обычный() Экспорт - - юТест.Проверить(Истина, "Значение ложно"); - -КонецПроцедуры diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index 6c741c7f..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,20 +0,0 @@ -&НаКлиенте -Перем юТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("Тест_Обычный"); - - Возврат ВсеТесты; -КонецФункции - -&НаКлиенте -Процедура Тест_Обычный() Экспорт - - юТест.Проверить(Истина, "Значение ложно"); - -КонецПроцедуры diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/renames.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/renames.txt" deleted file mode 100644 index 24dfbde7..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/renames.txt" +++ /dev/null @@ -1,15 +0,0 @@ -265234cb-5398-47b3-a8e1-d32d748b2c4c-->und\265234cb-5398-47b3-a8e1-d32d748b2c4c -265234cb-5398-47b3-a8e1-d32d748b2c4c.0-->Form\Форма\Форма.txt -265234cb-5398-47b3-a8e1-d32d748b2c4c.0-->und\265234cb-5398-47b3-a8e1-d32d748b2c4c.0 -265234cb-5398-47b3-a8e1-d32d748b2c4c.0-->und\265234cb-5398-47b3-a8e1-d32d748b2c4c.0 -42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3-->und\42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3 -42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3.0-->Form\ДополнительнаяФорма\Форма.txt -42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3.0-->und\42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3.0 -42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3.0-->und\42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3.0 -7b66680b-e180-4230-a526-5aff4cc52aae.0\info-->und\7b66680b-e180-4230-a526-5aff4cc52aae.0\info -7b66680b-e180-4230-a526-5aff4cc52aae.0\text-->ObjectModule.txt -984dfd94-7d1f-404b-b526-3a286429e361-->und\984dfd94-7d1f-404b-b526-3a286429e361 -copyinfo-->und\copyinfo -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/265234cb-5398-47b3-a8e1-d32d748b2c4c" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/265234cb-5398-47b3-a8e1-d32d748b2c4c" deleted file mode 100644 index 3847e6f2..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/265234cb-5398-47b3-a8e1-d32d748b2c4c" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,265234cb-5398-47b3-a8e1-d32d748b2c4c},"Форма", -{1,"ru","Форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/265234cb-5398-47b3-a8e1-d32d748b2c4c.0" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/265234cb-5398-47b3-a8e1-d32d748b2c4c.0" deleted file mode 100644 index 5ed3ce85..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/265234cb-5398-47b3-a8e1-d32d748b2c4c.0" +++ /dev/null @@ -1,87 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{0,0,0},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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"&НаКлиенте -Перем юТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить(""Тест_Обычный""); - - Возврат ВсеТесты; -КонецФункции - -&НаКлиенте -Процедура Тест_Обычный() Экспорт - - юТест.Проверить(Истина, ""Значение ложно""); - -КонецПроцедуры -", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",02fc0901-3cd2-4561-986b-96cdb0b4b42a} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3" deleted file mode 100644 index 0b169108..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3},"ДополнительнаяФорма", -{1,"ru","Дополнительная форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3.0" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3.0" deleted file mode 100644 index 5ed3ce85..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3.0" +++ /dev/null @@ -1,87 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{0,0,0},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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"&НаКлиенте -Перем юТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить(""Тест_Обычный""); - - Возврат ВсеТесты; -КонецФункции - -&НаКлиенте -Процедура Тест_Обычный() Экспорт - - юТест.Проверить(Истина, ""Значение ложно""); - -КонецПроцедуры -", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",02fc0901-3cd2-4561-986b-96cdb0b4b42a} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/984dfd94-7d1f-404b-b526-3a286429e361" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/984dfd94-7d1f-404b-b526-3a286429e361" deleted file mode 100644 index 388c6ba4..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/984dfd94-7d1f-404b-b526-3a286429e361" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{984dfd94-7d1f-404b-b526-3a286429e361},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,02fc0901-3cd2-4561-986b-96cdb0b4b42a,6f4bccc5-a1a9-4ebd-b80a-6308244ade10, -{0, -{0, -{0,0,7b66680b-e180-4230-a526-5aff4cc52aae},"НетМетодаПолучитьСписокТестовыхФорм", -{1,"ru","Нет метода ПолучитьСписокТестовыхФорм()(Для CmdLine)"},""} -},265234cb-5398-47b3-a8e1-d32d748b2c4c,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,2,265234cb-5398-47b3-a8e1-d32d748b2c4c,42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/copyinfo" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/copyinfo" deleted file mode 100644 index 2cef0fbe..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{265234cb-5398-47b3-a8e1-d32d748b2c4c,265234cb-5398-47b3-a8e1-d32d748b2c4c,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -}, -{7b66680b-e180-4230-a526-5aff4cc52aae,7b66680b-e180-4230-a526-5aff4cc52aae,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"НетМетодаПолучитьСписокТестовыхФорм"} -} -}, -{1, -{02fc0901-3cd2-4561-986b-96cdb0b4b42a,7b66680b-e180-4230-a526-5aff4cc52aae,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/root" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/root" deleted file mode 100644 index 37d75fc6..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,984dfd94-7d1f-404b-b526-3a286429e361,} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/version" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/version" deleted file mode 100644 index c23bfe28..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/version" +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/versions" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/versions" deleted file mode 100644 index fe03aad5..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,12,"",acfa4845-16d5-4b74-a386-d3a21f83590c,"42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3",f38c5303-c880-4564-b0e9-593cf305a847,"versions",ee199d64-84b3-49cc-8816-361f99d2c152,"42b9f4c2-1702-4ab5-96d2-1cb5e55a42f3.0",f497c1f8-1a61-4af0-9ce5-e12fb4cef162,"root",00c86b64-676d-438f-9a9c-afda9be85350,"7b66680b-e180-4230-a526-5aff4cc52aae",fa39057f-cd23-41d3-a68a-77ed63f6d42b,"265234cb-5398-47b3-a8e1-d32d748b2c4c.0",9510fcd8-5c75-4fb8-bcfd-7cc68ed3539c,"version",ff1545cb-8fca-47d3-bb8d-fa04c266ecec,"265234cb-5398-47b3-a8e1-d32d748b2c4c",6b9a2203-d4ea-4fef-84cf-8394c4dba60a,"7b66680b-e180-4230-a526-5aff4cc52aae.0",e75c8983-55a9-49ca-887a-ccc3421c910e,"984dfd94-7d1f-404b-b526-3a286429e361",ba251381-40a0-42cc-a847-ddce563c43e2,"copyinfo",46269455-9ced-43d1-b1d3-a24f9e11f70e} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index d09ea9a8..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,55 +0,0 @@ -&НаКлиенте -Перем юТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ПараметрыТеста = Новый Структура("ПредставлениеТеста,ИмяТеста,Транзакция,Параметр", "Тест с опциями", "ТестСОпциями", Истина, "тест представления"); - ВсеТесты.Добавить(ПараметрыТеста); - - ПараметрыТеста = Новый Структура("ИмяТеста,Транзакция,Параметр", "ТестСОпциями", Истина, 1); - ВсеТесты.Добавить(ПараметрыТеста); - - ПараметрыТеста = Новый Структура("ИмяТеста,Транзакция,Параметр", "ТестСОпциями", Истина, 2); - ВсеТесты.Добавить(ПараметрыТеста); - - ПараметрыТеста = Новый Структура("ИмяТеста,Транзакция", "ТестСОпциями_БезПараметра", Истина); - ВсеТесты.Добавить(ПараметрыТеста); - - ПараметрыТеста = Новый Структура("ПредставлениеТеста,ИмяТеста,Транзакция,Параметр", "ТестСОпциями_ ПараметрЗаданКакНеопределено", "ТестСОпциями_ПараметрМожетБытьНеЗадан", Истина, Неопределено); - ВсеТесты.Добавить(ПараметрыТеста); - - ПараметрыТеста = Новый Структура("ПредставлениеТеста,ИмяТеста,Транзакция,Параметр", "ТестСОпциями_ ПараметрЗаданКакПустой", "ТестСОпциями_ПараметрМожетБытьНеЗадан", Истина); - ВсеТесты.Добавить(ПараметрыТеста); - - ВсеТесты.Добавить("ТестСОпциями_БезПараметра"); - ВсеТесты.Добавить("Тест_Обычный"); - - Возврат ВсеТесты; -КонецФункции - -&НаКлиенте -Процедура ТестСОпциями(Парам) Экспорт - - юТест.ПроверитьЗаполненность(Парам, "ТестСОпциями(Парам)"); - -КонецПроцедуры - -&НаКлиенте -Процедура ТестСОпциями_ПараметрМожетБытьНеЗадан(Парам) Экспорт -КонецПроцедуры - -&НаКлиенте -Процедура ТестСОпциями_БезПараметра() Экспорт - -КонецПроцедуры - -&НаКлиенте -Процедура Тест_Обычный() Экспорт - - юТест.Проверить(Истина, "Значение ложно"); - -КонецПроцедуры diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" deleted file mode 100644 index 1e481396..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" +++ /dev/null @@ -1,52 +0,0 @@ - -Перем юТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ПараметрыТеста = Новый Структура("ПредставлениеТеста,ИмяТеста,Транзакция,Параметр", "Тест с опциями", "Модуль_ТестСОпциями", Истина, "тест представления"); - ВсеТесты.Добавить(ПараметрыТеста); - - ПараметрыТестов = Новый Структура("ИмяТеста,Транзакция,Параметр", "Модуль_ТестСОпциями", Истина, 1); - ВсеТесты.Добавить(ПараметрыТестов); - - ПараметрыТестов = Новый Структура("ИмяТеста,Транзакция,Параметр", "Модуль_ТестСОпциями", Истина, 2); - ВсеТесты.Добавить(ПараметрыТестов); - - Параметры = Новый Структура("ИмяТеста,Транзакция", "Модуль_ТестСОпциями_БезПараметра", Истина); - ВсеТесты.Добавить(Параметры); - - ПараметрыТеста = Новый Структура("ПредставлениеТеста,ИмяТеста,Транзакция,Параметр", "ТестСОпциями_ ПараметрЗаданКакНеопределено", "Модуль_ТестСОпциями_ПараметрМожетБытьНеЗадан", Истина, Неопределено); - ВсеТесты.Добавить(ПараметрыТеста); - - ПараметрыТеста = Новый Структура("ПредставлениеТеста,ИмяТеста,Транзакция,Параметр", "ТестСОпциями_ ПараметрЗаданКакПустой", "Модуль_ТестСОпциями_ПараметрМожетБытьНеЗадан", Истина); - ВсеТесты.Добавить(ПараметрыТеста); - - ВсеТесты.Добавить("Модуль_ТестСОпциями_БезПараметра"); - ВсеТесты.Добавить("Модуль_Тест_Обычный"); - - Возврат ВсеТесты; - -КонецФункции - -Процедура Модуль_ТестСОпциями(Парам) Экспорт - - юТест.ПроверитьЗаполненность(Парам, "ТестСОпциями(Парам)"); - -КонецПроцедуры - -Процедура Модуль_ТестСОпциями_ПараметрМожетБытьНеЗадан(Парам) Экспорт -КонецПроцедуры - -Процедура Модуль_ТестСОпциями_БезПараметра() Экспорт - -КонецПроцедуры - -Процедура Модуль_Тест_Обычный() Экспорт - - юТест.Проверить(Истина, "Значение ложно"); - -КонецПроцедуры diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" deleted file mode 100644 index 76b4e6b3..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" +++ /dev/null @@ -1,11 +0,0 @@ -2c227560-91b9-4172-a890-89cbeb09013a-->und\2c227560-91b9-4172-a890-89cbeb09013a -2c227560-91b9-4172-a890-89cbeb09013a.0-->Form\Форма\Форма.txt -2c227560-91b9-4172-a890-89cbeb09013a.0-->und\2c227560-91b9-4172-a890-89cbeb09013a.0 -2c227560-91b9-4172-a890-89cbeb09013a.0-->und\2c227560-91b9-4172-a890-89cbeb09013a.0 -bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0\info-->und\bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0\info -bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0\text-->ObjectModule.txt -c0334e99-c3c6-4bc5-a429-136a15e54924-->und\c0334e99-c3c6-4bc5-a429-136a15e54924 -copyinfo-->und\copyinfo -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/2c227560-91b9-4172-a890-89cbeb09013a" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/2c227560-91b9-4172-a890-89cbeb09013a" deleted file mode 100644 index 018f27ea..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/2c227560-91b9-4172-a890-89cbeb09013a" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,2c227560-91b9-4172-a890-89cbeb09013a},"Форма", -{1,"ru","Форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/2c227560-91b9-4172-a890-89cbeb09013a.0" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/2c227560-91b9-4172-a890-89cbeb09013a.0" deleted file mode 100644 index 45c2e6fd..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/2c227560-91b9-4172-a890-89cbeb09013a.0" +++ /dev/null @@ -1,122 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"&НаКлиенте -Перем юТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ПараметрыТеста = Новый Структура(""ПредставлениеТеста,ИмяТеста,Транзакция,Параметр"", ""Тест с опциями"", ""ТестСОпциями"", Истина, ""тест представления""); - ВсеТесты.Добавить(ПараметрыТеста); - - ПараметрыТеста = Новый Структура(""ИмяТеста,Транзакция,Параметр"", ""ТестСОпциями"", Истина, 1); - ВсеТесты.Добавить(ПараметрыТеста); - - ПараметрыТеста = Новый Структура(""ИмяТеста,Транзакция,Параметр"", ""ТестСОпциями"", Истина, 2); - ВсеТесты.Добавить(ПараметрыТеста); - - ПараметрыТеста = Новый Структура(""ИмяТеста,Транзакция"", ""ТестСОпциями_БезПараметра"", Истина); - ВсеТесты.Добавить(ПараметрыТеста); - - ПараметрыТеста = Новый Структура(""ПредставлениеТеста,ИмяТеста,Транзакция,Параметр"", ""ТестСОпциями_ ПараметрЗаданКакНеопределено"", ""ТестСОпциями_ПараметрМожетБытьНеЗадан"", Истина, Неопределено); - ВсеТесты.Добавить(ПараметрыТеста); - - ПараметрыТеста = Новый Структура(""ПредставлениеТеста,ИмяТеста,Транзакция,Параметр"", ""ТестСОпциями_ ПараметрЗаданКакПустой"", ""ТестСОпциями_ПараметрМожетБытьНеЗадан"", Истина); - ВсеТесты.Добавить(ПараметрыТеста); - - ВсеТесты.Добавить(""ТестСОпциями_БезПараметра""); - ВсеТесты.Добавить(""Тест_Обычный""); - - Возврат ВсеТесты; -КонецФункции - -&НаКлиенте -Процедура ТестСОпциями(Парам) Экспорт - - юТест.ПроверитьЗаполненность(Парам, ""ТестСОпциями(Парам)""); - -КонецПроцедуры - -&НаКлиенте -Процедура ТестСОпциями_ПараметрМожетБытьНеЗадан(Парам) Экспорт -КонецПроцедуры - -&НаКлиенте -Процедура ТестСОпциями_БезПараметра() Экспорт - -КонецПроцедуры - -&НаКлиенте -Процедура Тест_Обычный() Экспорт - - юТест.Проверить(Истина, ""Значение ложно""); - -КонецПроцедуры -", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",f5c382c7-4ddf-4d48-9acd-6889965b8283} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/c0334e99-c3c6-4bc5-a429-136a15e54924" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/c0334e99-c3c6-4bc5-a429-136a15e54924" deleted file mode 100644 index 6e47e3c2..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/c0334e99-c3c6-4bc5-a429-136a15e54924" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{c0334e99-c3c6-4bc5-a429-136a15e54924},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,f5c382c7-4ddf-4d48-9acd-6889965b8283,b0423280-0ae5-49d0-9744-a7f29f0e5b6b, -{0, -{0, -{0,0,bc48c7f8-c422-40cd-bccc-fcd2d13545c9},"Тест_ПараметрыТестов", -{1,"ru","Тест параметры тестов"},""} -},2c227560-91b9-4172-a890-89cbeb09013a,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,2c227560-91b9-4172-a890-89cbeb09013a}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/copyinfo" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/copyinfo" deleted file mode 100644 index 57c5d603..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{2c227560-91b9-4172-a890-89cbeb09013a,2c227560-91b9-4172-a890-89cbeb09013a,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -}, -{bc48c7f8-c422-40cd-bccc-fcd2d13545c9,bc48c7f8-c422-40cd-bccc-fcd2d13545c9,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"Тест_ПараметрыТестов"} -} -}, -{1, -{f5c382c7-4ddf-4d48-9acd-6889965b8283,bc48c7f8-c422-40cd-bccc-fcd2d13545c9,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/root" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/root" deleted file mode 100644 index eb7b8af1..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,c0334e99-c3c6-4bc5-a429-136a15e54924,} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/version" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/version" deleted file mode 100644 index c23bfe28..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/version" +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" deleted file mode 100644 index e031b60d..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,10,"",cf9ddfa7-4379-43e0-bffe-26881d9a6c1e,"versions",226ee9ba-0fb5-4b53-84ee-6790a5347a2e,"root",95b0b5b1-71f0-414c-bcd6-658780105c18,"c0334e99-c3c6-4bc5-a429-136a15e54924",1096a4ee-ede4-45fc-b26c-ec3573e15afc,"2c227560-91b9-4172-a890-89cbeb09013a.0",4925207a-030f-4d9c-9753-d846d977865b,"2c227560-91b9-4172-a890-89cbeb09013a.1",699339f9-578c-4ee8-b7c3-9489b56f6954,"version",8e748656-7d88-49bf-8521-a9c6c6f461c3,"bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0",d926a27c-a41f-4067-8658-c4951918380c,"2c227560-91b9-4172-a890-89cbeb09013a",fee2c582-bbef-4c6a-9d12-e9d406f7a829,"copyinfo",f9b270b5-cf8b-4388-930e-0deb44c0bb08} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index ff04e44c..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,82 +0,0 @@ -&НаКлиенте -Перем ЮТест; // для тестирования - -&НаКлиенте -Перем ВсеТесты; - -//{ основная процедура для юнит-тестирования xUnitFor1C -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("ТестДолжен_ПолучитьДанныеТекущегоТеста"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьДанныеТекущегоТеста_Тест2"); - - ЮТест.УстановитьКонтекст(Неопределено, ИдентификаторКонтекста()); - - Возврат ВсеТесты; -КонецФункции -//} - -//{ блок юнит-тестов - сами тесты - -&НаКлиенте -Функция РазрешенСлучайныйПорядокВыполненияТестов() Экспорт - Возврат Ложь; -КонецФункции - -&НаКлиенте -Процедура ПередЗапускомТеста() Экспорт - ОбновитьПовторноИспользуемыеЗначения(); - - ЮТест.ПроверитьРавенство(2, ВсеТесты.Количество(), "Тестовый сценарий рассчитан только на 2 теста!"); - - Контекст = ЮТест.ПолучитьКонтекст(ИдентификаторКонтекста()); - Если Не ЗначениеЗаполнено(Контекст) Тогда - Контекст = Новый Структура("ИмяНабора", ИдентификаторКонтекста()); - ИндексТеста = 0; - Иначе - ИндексТеста = 1; - КонецЕсли; - Контекст.Вставить("ИмяТеста", ВсеТесты[ИндексТеста]); - ЮТест.УстановитьКонтекст(Контекст, ИдентификаторКонтекста()); - - ПроверитьДанныеТекущегоТеста(ЮТест.ЗначенияСостоянияТестов.НеВыполнялся); -КонецПроцедуры - -&НаКлиенте -Процедура ПослеЗапускаТеста() Экспорт - ПроверитьДанныеТекущегоТеста(ЮТест.ЗначенияСостоянияТестов.Прошел); -КонецПроцедуры - -&НаКлиенте -Функция ИдентификаторКонтекста() - Возврат "Тест_СостояниеТекущегоТеста"; -КонецФункции - -&НаКлиенте -Процедура ТестДолжен_ПолучитьДанныеТекущегоТеста() Экспорт - ПроверитьДанныеТекущегоТеста(ЮТест.ЗначенияСостоянияТестов.НеВыполнялся); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПолучитьДанныеТекущегоТеста_Тест2() Экспорт - ПроверитьДанныеТекущегоТеста(ЮТест.ЗначенияСостоянияТестов.НеВыполнялся); -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьДанныеТекущегоТеста(СостояниеВыполнения) Экспорт - Контекст = ЮТест.ПолучитьКонтекст(ИдентификаторКонтекста()); - - ДанныеТекущегоТеста = юТест.ДанныеТекущегоТеста(); - ЮТест.ПроверитьРавенство(Контекст.ИмяТеста, ДанныеТекущегоТеста.Имя, "Контекст.ИмяТеста, ДанныеТекущегоТеста.Имя"); - ЮТест.ПроверитьРавенство(СостояниеВыполнения, ДанныеТекущегоТеста.СостояниеТеста, "СостояниеВыполнения, ДанныеТекущегоТеста.СостояниеТеста"); - - Файл = Новый Файл(ДанныеТекущегоТеста.ПолныйПуть); - ЮТест.Проверить(Файл.Существует(), "Файл.Существует()"); - ЮТест.ПроверитьРавенство(Контекст.ИмяНабора, Файл.ИмяБезРасширения, "Контекст.ИмяНабора, Файл.ИмяБезРасширения"); -КонецПроцедуры - -//} конец блока юнит-тестов diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/ObjectModule.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/ObjectModule.txt" deleted file mode 100644 index 7146365c..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/ObjectModule.txt" +++ /dev/null @@ -1,74 +0,0 @@ - -//{ основная процедура для юнит-тестирования xUnitFor1C -Перем ЮТест; - -Перем ВсеТесты; - -//{ основная процедура для юнит-тестирования xUnitFor1C -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("ТестДолжен_ПолучитьДанныеТекущегоТеста"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьДанныеТекущегоТеста_Тест2"); - - ЮТест.УстановитьКонтекст(Неопределено, ИдентификаторКонтекста()); - - Возврат ВсеТесты; -КонецФункции -//} - -//{ блок юнит-тестов - сами тесты - -Функция РазрешенСлучайныйПорядокВыполненияТестов() Экспорт - Возврат Ложь; -КонецФункции - -Процедура ПередЗапускомТеста() Экспорт - ОбновитьПовторноИспользуемыеЗначения(); - - ЮТест.ПроверитьРавенство(2, ВсеТесты.Количество(), "Тестовый сценарий рассчитан только на 2 теста!"); - - Контекст = ЮТест.ПолучитьКонтекст(ИдентификаторКонтекста()); - Если Не ЗначениеЗаполнено(Контекст) Тогда - Контекст = Новый Структура("ИмяНабора", ИдентификаторКонтекста()); - ИндексТеста = 0; - Иначе - ИндексТеста = 1; - КонецЕсли; - Контекст.Вставить("ИмяТеста", ВсеТесты[ИндексТеста]); - ЮТест.УстановитьКонтекст(Контекст, ИдентификаторКонтекста()); - - ПроверитьДанныеТекущегоТеста(ЮТест.мЗначенияСостоянияТестов.НеВыполнялся); -КонецПроцедуры - -Процедура ПослеЗапускаТеста() Экспорт - ПроверитьДанныеТекущегоТеста(ЮТест.мЗначенияСостоянияТестов.Прошел); -КонецПроцедуры - -Функция ИдентификаторКонтекста() - Возврат "Тест_СостояниеТекущегоТеста"; -КонецФункции - -Процедура ТестДолжен_ПолучитьДанныеТекущегоТеста() Экспорт - ПроверитьДанныеТекущегоТеста(ЮТест.мЗначенияСостоянияТестов.НеВыполнялся); -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьДанныеТекущегоТеста_Тест2() Экспорт - ПроверитьДанныеТекущегоТеста(ЮТест.мЗначенияСостоянияТестов.НеВыполнялся); -КонецПроцедуры - -Процедура ПроверитьДанныеТекущегоТеста(СостояниеВыполнения) Экспорт - Контекст = ЮТест.ПолучитьКонтекст(ИдентификаторКонтекста()); - - ДанныеТекущегоТеста = юТест.ДанныеТекущегоТеста(); - ЮТест.ПроверитьРавенство(Контекст.ИмяТеста, ДанныеТекущегоТеста.Имя, "Контекст.ИмяТеста, ДанныеТекущегоТеста.Имя"); - ЮТест.ПроверитьРавенство(СостояниеВыполнения, ДанныеТекущегоТеста.СостояниеТеста, "СостояниеВыполнения, ДанныеТекущегоТеста.СостояниеТеста"); - - Файл = Новый Файл(ДанныеТекущегоТеста.ПолныйПуть); - ЮТест.Проверить(Файл.Существует(), "Файл.Существует()"); - ЮТест.ПроверитьРавенство(Контекст.ИмяНабора, Файл.ИмяБезРасширения, "Контекст.ИмяНабора, Файл.ИмяБезРасширения"); -КонецПроцедуры - -//} конец блока юнит-тестов diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/renames.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/renames.txt" deleted file mode 100644 index 1b9a7208..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/renames.txt" +++ /dev/null @@ -1,11 +0,0 @@ -068fd5bb-992b-493e-8ad9-971edc53ba79.0\info-->und\068fd5bb-992b-493e-8ad9-971edc53ba79.0\info -068fd5bb-992b-493e-8ad9-971edc53ba79.0\text-->ObjectModule.txt -2c627ef4-f74e-4daa-b107-83c7aa582b73-->und\2c627ef4-f74e-4daa-b107-83c7aa582b73 -c72aee22-b7f3-4954-a7e9-b91ea942e839-->und\c72aee22-b7f3-4954-a7e9-b91ea942e839 -c72aee22-b7f3-4954-a7e9-b91ea942e839.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\selftests\Тест_СостояниеТекущегоТеста\Form\Форма\Форма.txt -c72aee22-b7f3-4954-a7e9-b91ea942e839.0-->und\c72aee22-b7f3-4954-a7e9-b91ea942e839.0 -c72aee22-b7f3-4954-a7e9-b91ea942e839.0-->und\c72aee22-b7f3-4954-a7e9-b91ea942e839.0 -copyinfo-->und\copyinfo -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/2c627ef4-f74e-4daa-b107-83c7aa582b73" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/2c627ef4-f74e-4daa-b107-83c7aa582b73" deleted file mode 100644 index 351866f0..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/2c627ef4-f74e-4daa-b107-83c7aa582b73" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{2c627ef4-f74e-4daa-b107-83c7aa582b73},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,e9960f5c-8dd8-4268-b169-7f52495c354a,525b7fdf-0d7c-45e8-9132-da30e9c1f18b, -{0, -{0, -{0,0,068fd5bb-992b-493e-8ad9-971edc53ba79},"Тест_СостояниеТекущегоТеста", -{1,"ru","Тест состояние текущего теста"},""} -},c72aee22-b7f3-4954-a7e9-b91ea942e839,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,c72aee22-b7f3-4954-a7e9-b91ea942e839}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/c72aee22-b7f3-4954-a7e9-b91ea942e839" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/c72aee22-b7f3-4954-a7e9-b91ea942e839" deleted file mode 100644 index a8a1d25c..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/c72aee22-b7f3-4954-a7e9-b91ea942e839" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,c72aee22-b7f3-4954-a7e9-b91ea942e839},"Форма", -{1,"ru","Форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/c72aee22-b7f3-4954-a7e9-b91ea942e839.0" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/c72aee22-b7f3-4954-a7e9-b91ea942e839.0" deleted file mode 100644 index d881bbd6..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/c72aee22-b7f3-4954-a7e9-b91ea942e839.0" +++ /dev/null @@ -1,149 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"&НаКлиенте -Перем ЮТест; // для тестирования - -&НаКлиенте -Перем ВсеТесты; - -//{ основная процедура для юнит-тестирования xUnitFor1C -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить(""ТестДолжен_ПолучитьДанныеТекущегоТеста""); - ВсеТесты.Добавить(""ТестДолжен_ПолучитьДанныеТекущегоТеста_Тест2""); - - ЮТест.УстановитьКонтекст(Неопределено, ИдентификаторКонтекста()); - - Возврат ВсеТесты; -КонецФункции -//} - -//{ блок юнит-тестов - сами тесты - -&НаКлиенте -Функция РазрешенСлучайныйПорядокВыполненияТестов() Экспорт - Возврат Ложь; -КонецФункции - -&НаКлиенте -Процедура ПередЗапускомТеста() Экспорт - ОбновитьПовторноИспользуемыеЗначения(); - - ЮТест.ПроверитьРавенство(2, ВсеТесты.Количество(), ""Тестовый сценарий рассчитан только на 2 теста!""); - - Контекст = ЮТест.ПолучитьКонтекст(ИдентификаторКонтекста()); - Если Не ЗначениеЗаполнено(Контекст) Тогда - Контекст = Новый Структура(""ИмяНабора"", ИдентификаторКонтекста()); - ИндексТеста = 0; - Иначе - ИндексТеста = 1; - КонецЕсли; - Контекст.Вставить(""ИмяТеста"", ВсеТесты[ИндексТеста]); - ЮТест.УстановитьКонтекст(Контекст, ИдентификаторКонтекста()); - - ПроверитьДанныеТекущегоТеста(ЮТест.ЗначенияСостоянияТестов.НеВыполнялся); -КонецПроцедуры - -&НаКлиенте -Процедура ПослеЗапускаТеста() Экспорт - ПроверитьДанныеТекущегоТеста(ЮТест.ЗначенияСостоянияТестов.Прошел); -КонецПроцедуры - -&НаКлиенте -Функция ИдентификаторКонтекста() - Возврат ""Тест_СостояниеТекущегоТеста""; -КонецФункции - -&НаКлиенте -Процедура ТестДолжен_ПолучитьДанныеТекущегоТеста() Экспорт - ПроверитьДанныеТекущегоТеста(ЮТест.ЗначенияСостоянияТестов.НеВыполнялся); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПолучитьДанныеТекущегоТеста_Тест2() Экспорт - ПроверитьДанныеТекущегоТеста(ЮТест.ЗначенияСостоянияТестов.НеВыполнялся); -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьДанныеТекущегоТеста(СостояниеВыполнения) Экспорт - Контекст = ЮТест.ПолучитьКонтекст(ИдентификаторКонтекста()); - - ДанныеТекущегоТеста = юТест.ДанныеТекущегоТеста(); - ЮТест.ПроверитьРавенство(Контекст.ИмяТеста, ДанныеТекущегоТеста.Имя, ""Контекст.ИмяТеста, ДанныеТекущегоТеста.Имя""); - ЮТест.ПроверитьРавенство(СостояниеВыполнения, ДанныеТекущегоТеста.СостояниеТеста, ""СостояниеВыполнения, ДанныеТекущегоТеста.СостояниеТеста""); - - Файл = Новый Файл(ДанныеТекущегоТеста.ПолныйПуть); - ЮТест.Проверить(Файл.Существует(), ""Файл.Существует()""); - ЮТест.ПроверитьРавенство(Контекст.ИмяНабора, Файл.ИмяБезРасширения, ""Контекст.ИмяНабора, Файл.ИмяБезРасширения""); -КонецПроцедуры - -//} конец блока юнит-тестов -", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",e9960f5c-8dd8-4268-b169-7f52495c354a} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/copyinfo" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/copyinfo" deleted file mode 100644 index bf55b954..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{068fd5bb-992b-493e-8ad9-971edc53ba79,068fd5bb-992b-493e-8ad9-971edc53ba79,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"Тест_СостояниеТекущегоТеста"} -}, -{c72aee22-b7f3-4954-a7e9-b91ea942e839,c72aee22-b7f3-4954-a7e9-b91ea942e839,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -} -}, -{1, -{e9960f5c-8dd8-4268-b169-7f52495c354a,068fd5bb-992b-493e-8ad9-971edc53ba79,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/root" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/root" deleted file mode 100644 index e4a23a65..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,2c627ef4-f74e-4daa-b107-83c7aa582b73,} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/version" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/version" deleted file mode 100644 index c23bfe28..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/version" +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/versions" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/versions" deleted file mode 100644 index 17ef46bb..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,9,"",e5ec6e2a-1116-4dfc-a07a-b6c8ee47fb35,"c72aee22-b7f3-4954-a7e9-b91ea942e839",0c5463c7-3c9d-426e-bf02-788deebdf761,"versions",2ad4ef1d-f1a5-47b0-b7e9-4e431ef0d28d,"2c627ef4-f74e-4daa-b107-83c7aa582b73",0486b8b6-ce6c-4b7d-ab20-6e17d93b3e17,"root",8280794c-2fac-44ba-ab3f-23483159c8a4,"version",507dd7c3-ed39-430a-9306-5fdfb49c0c23,"c72aee22-b7f3-4954-a7e9-b91ea942e839.0",db5482ea-6902-4295-95b4-47b7b08caf8c,"068fd5bb-992b-493e-8ad9-971edc53ba79.0",f821b55d-c2e2-45a6-b857-934acff79152,"copyinfo",45a6a12f-5fe0-4f81-a110-74310664376a} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/Form/\320\244\320\276\321\200\320\274\320\2601/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/Form/\320\244\320\276\321\200\320\274\320\2601/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index 245e841f..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/Form/\320\244\320\276\321\200\320\274\320\2601/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,24 +0,0 @@ - -&НаКлиенте -Перем ЮТест; // для тестирования - -//{ основная процедура для юнит-тестирования 1CUnit -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("ТестДолжен_ПроверитьИстина_Форма1"); - - Возврат ВсеТесты; - -КонецФункции - -&НаКлиенте -Процедура ТестДолжен_ПроверитьИстина_Форма1() Экспорт - - ЮТест.ПроверитьИстину(Истина); - -КонецПроцедуры diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/Form/\320\244\320\276\321\200\320\274\320\2602/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/Form/\320\244\320\276\321\200\320\274\320\2602/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index 36c230af..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/Form/\320\244\320\276\321\200\320\274\320\2602/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,24 +0,0 @@ - -&НаКлиенте -Перем ЮТест; // для тестирования - -//{ основная процедура для юнит-тестирования 1CUnit -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("ТестДолжен_ПроверитьИстина_Форма2"); - - Возврат ВсеТесты; - -КонецФункции - -&НаКлиенте -Процедура ТестДолжен_ПроверитьИстина_Форма2() Экспорт - - ЮТест.ПроверитьИстину(Истина); - -КонецПроцедуры diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/ObjectModule.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/ObjectModule.txt" deleted file mode 100644 index e6b34839..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/ObjectModule.txt" +++ /dev/null @@ -1,11 +0,0 @@ - -Функция ПолучитьСписокТестовыхФорм() Экспорт - - СписокФорм = Новый Массив; - Для каждого Форма Из Метаданные().Формы Цикл - СписокФорм.Добавить(Форма.Имя); - КонецЦикла; - - Возврат СписокФорм; - -КонецФункции diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/renames.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/renames.txt" deleted file mode 100644 index 5e1cab0c..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/renames.txt" +++ /dev/null @@ -1,15 +0,0 @@ -168f3b5c-d32c-11e4-f984-485d606103c6-->und\168f3b5c-d32c-11e4-f984-485d606103c6 -168f3b68-d32c-11e4-f984-485d606103c6.0\info-->und\168f3b68-d32c-11e4-f984-485d606103c6.0\info -168f3b68-d32c-11e4-f984-485d606103c6.0\text-->ObjectModule.txt -2eecb6d4-d32c-11e4-f984-485d606103c6-->und\2eecb6d4-d32c-11e4-f984-485d606103c6 -2eecb6d4-d32c-11e4-f984-485d606103c6.0-->E:\projects\1c\xUnitFor1C\src\Tests\selftests\ТестДолженПроверитьВыполнениеТестовИзНесколькихФорм\Form\Форма1\Форма.txt -2eecb6d4-d32c-11e4-f984-485d606103c6.0-->und\2eecb6d4-d32c-11e4-f984-485d606103c6.0 -2eecb6d4-d32c-11e4-f984-485d606103c6.0-->und\2eecb6d4-d32c-11e4-f984-485d606103c6.0 -a09fe26a-d32c-11e4-f984-485d606103c6-->und\a09fe26a-d32c-11e4-f984-485d606103c6 -a09fe26a-d32c-11e4-f984-485d606103c6.0-->E:\projects\1c\xUnitFor1C\src\Tests\selftests\ТестДолженПроверитьВыполнениеТестовИзНесколькихФорм\Form\Форма2\Форма.txt -a09fe26a-d32c-11e4-f984-485d606103c6.0-->und\a09fe26a-d32c-11e4-f984-485d606103c6.0 -a09fe26a-d32c-11e4-f984-485d606103c6.0-->und\a09fe26a-d32c-11e4-f984-485d606103c6.0 -copyinfo-->und\copyinfo -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/und/168f3b5c-d32c-11e4-f984-485d606103c6" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/und/168f3b5c-d32c-11e4-f984-485d606103c6" deleted file mode 100644 index dacf0fd6..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/und/168f3b5c-d32c-11e4-f984-485d606103c6" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{168f3b5c-d32c-11e4-f984-485d606103c6},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,168f3b66-d32c-11e4-f984-485d606103c6,168f3b67-d32c-11e4-f984-485d606103c6, -{0, -{0, -{0,0,168f3b68-d32c-11e4-f984-485d606103c6},"ТестДолженПроверитьВыполнениеТестовИзНесколькихФорм", -{1,"ru","Тест должен проверить выполнение тестов из нескольких форм"},""} -},2eecb6d4-d32c-11e4-f984-485d606103c6,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,2,2eecb6d4-d32c-11e4-f984-485d606103c6,a09fe26a-d32c-11e4-f984-485d606103c6}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/und/2eecb6d4-d32c-11e4-f984-485d606103c6" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/und/2eecb6d4-d32c-11e4-f984-485d606103c6" deleted file mode 100644 index 2bdd98d9..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/und/2eecb6d4-d32c-11e4-f984-485d606103c6" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,2eecb6d4-d32c-11e4-f984-485d606103c6},"Форма1", -{1,"ru","Форма1"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/und/2eecb6d4-d32c-11e4-f984-485d606103c6.0" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/und/2eecb6d4-d32c-11e4-f984-485d606103c6.0" deleted file mode 100644 index a904a7a1..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/und/2eecb6d4-d32c-11e4-f984-485d606103c6.0" +++ /dev/null @@ -1,91 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -}," -&НаКлиенте -Перем ЮТест; // для тестирования - -//{ основная процедура для юнит-тестирования 1CUnit -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить(""ТестДолжен_ПроверитьИстина_Форма1""); - - Возврат ВсеТесты; - -КонецФункции - -&НаКлиенте -Процедура ТестДолжен_ПроверитьИстина_Форма1() Экспорт - - ЮТест.ПроверитьИстину(Истина); - -КонецПроцедуры -", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",168f3b66-d32c-11e4-f984-485d606103c6} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/und/a09fe26a-d32c-11e4-f984-485d606103c6" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/und/a09fe26a-d32c-11e4-f984-485d606103c6" deleted file mode 100644 index f4445ca1..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/und/a09fe26a-d32c-11e4-f984-485d606103c6" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,a09fe26a-d32c-11e4-f984-485d606103c6},"Форма2", -{1,"ru","Форма2"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/und/a09fe26a-d32c-11e4-f984-485d606103c6.0" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/und/a09fe26a-d32c-11e4-f984-485d606103c6.0" deleted file mode 100644 index f61ff931..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/und/a09fe26a-d32c-11e4-f984-485d606103c6.0" +++ /dev/null @@ -1,91 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -}," -&НаКлиенте -Перем ЮТест; // для тестирования - -//{ основная процедура для юнит-тестирования 1CUnit -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить(""ТестДолжен_ПроверитьИстина_Форма2""); - - Возврат ВсеТесты; - -КонецФункции - -&НаКлиенте -Процедура ТестДолжен_ПроверитьИстина_Форма2() Экспорт - - ЮТест.ПроверитьИстину(Истина); - -КонецПроцедуры -", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",168f3b66-d32c-11e4-f984-485d606103c6} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/und/copyinfo" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/und/copyinfo" deleted file mode 100644 index 246c339d..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{168f3b68-d32c-11e4-f984-485d606103c6,168f3b68-d32c-11e4-f984-485d606103c6,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ТестДолженПроверитьВыполнениеТестовИзНесколькихФорм"} -}, -{2eecb6d4-d32c-11e4-f984-485d606103c6,2eecb6d4-d32c-11e4-f984-485d606103c6,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма1"} -} -}, -{1, -{168f3b66-d32c-11e4-f984-485d606103c6,168f3b68-d32c-11e4-f984-485d606103c6,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/und/root" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/und/root" deleted file mode 100644 index 6204c73d..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,168f3b5c-d32c-11e4-f984-485d606103c6,} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/und/version" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/und/version" deleted file mode 100644 index c23bfe28..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/und/version" +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/und/versions" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/und/versions" deleted file mode 100644 index 525c1f73..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,12,"",ae2e88a8-b752-4a32-835d-f53b8884b1da,"a09fe26a-d32c-11e4-f984-485d606103c6.0",caa4f5e8-1680-41c6-bed8-14f8c073cf44,"versions",9d6f09ea-cc08-4d8a-b7d2-4e5b1c5144e2,"a09fe26a-d32c-11e4-f984-485d606103c6.1",a0a2816e-d32c-11e4-f984-485d606103c6,"2eecb6d4-d32c-11e4-f984-485d606103c6",f38eea67-b93c-4261-ae8a-e51a462477d3,"root",ef4b5afb-454e-4e2a-9570-5614d2a82556,"a09fe26a-d32c-11e4-f984-485d606103c6",e69e4ad0-d865-4b94-ae13-4cd1a8f822e7,"168f3b68-d32c-11e4-f984-485d606103c6.0",d1ef9260-d332-11e4-f984-485d606103c6,"version",c973b330-d2bb-4112-bda5-afcbc857e94e,"2eecb6d4-d32c-11e4-f984-485d606103c6.0",5a120b74-b94e-460b-96f9-90c63e19191a,"168f3b5c-d32c-11e4-f984-485d606103c6",53adbe9b-75ed-4085-a3ca-fe84901ba8bc,"copyinfo",2b0ea943-402b-460f-a781-ca7756cb654b} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/Form/\320\243\320\244/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/Form/\320\243\320\244/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index 155cdde0..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/Form/\320\243\320\244/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,68 +0,0 @@ -&НаКлиенте -Перем ГлобПерем; // для тестирования - -&НаКлиенте -Перем ЮТест; // для тестирования - -//{ основная процедура для юнит-тестирования 1CUnit -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("ТестДолжен_ИзменитьСостояниеПеременнойУФ"); - ВсеТесты.Добавить("ТестДолжен_СравнитьСостояниеПеременнойУФ"); - ВсеТесты.Добавить("ТестДолжен_ИзменитьСостояниеОбработкиУФ"); - ВсеТесты.Добавить("ТестДолжен_СравнитьСостояниеОбработкиУФ"); - ВсеТесты.Добавить("ТестДолжен_ИзменитьСостояниеУпрФормы"); - ВсеТесты.Добавить("ТестДолжен_СравнитьСостояниеУпрФормы"); - - Возврат ВсеТесты; - -КонецФункции - -&НаКлиенте -Функция РазрешенСлучайныйПорядокВыполненияТестов() Экспорт - Возврат Ложь; -КонецФункции -//} - -//{ блок юнит-тестов - сами тесты - -&НаКлиенте -Процедура ТестДолжен_ИзменитьСостояниеПеременнойУФ() Экспорт - ГлобПерем = 2; -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_СравнитьСостояниеПеременнойУФ() Экспорт - ЮТест.ПроверитьРавенство(2, ГлобПерем, "Не выполнено условие Неопределено == ГлобПерем - тесты являются зависимыми"); - ГлобПерем = 10; -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ИзменитьСостояниеОбработкиУФ() Экспорт - Объект.Состояние = 2; -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_СравнитьСостояниеОбработкиУФ() Экспорт - ЮТест.ПроверитьРавенство(2, Объект.Состояние, "Не выполнено условие 0 == Состояние - тесты являются зависимыми"); - Объект.Состояние = 10; -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ИзменитьСостояниеУпрФормы() Экспорт - Состояние1 = 2; -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_СравнитьСостояниеУпрФормы() Экспорт - ЮТест.ПроверитьРавенство(2, Состояние1, "Не выполнено условие 0 == Состояние - тесты являются зависимыми"); - Состояние1 = 10; -КонецПроцедуры - - -//} конец блока юнит-тестов diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" deleted file mode 100644 index 394f2830..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" +++ /dev/null @@ -1,47 +0,0 @@ -Перем ГлобПерем; - -//{ основная процедура для юнит-тестирования xUnitFor1C -Перем ЮТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("ТестДолжен_ИзменитьСостояниеПеременной"); - ВсеТесты.Добавить("ТестДолжен_СравнитьСостояниеПеременной"); - ВсеТесты.Добавить("ТестДолжен_ИзменитьСостояниеОбработки"); - ВсеТесты.Добавить("ТестДолжен_СравнитьСостояниеОбработки"); - - Возврат ВсеТесты; - -КонецФункции - -Функция РазрешенСлучайныйПорядокВыполненияТестов() Экспорт - Возврат Ложь; -КонецФункции - -//} - -//{ блок юнит-тестов - сами тесты - -Процедура ТестДолжен_ИзменитьСостояниеПеременной() Экспорт - ГлобПерем = 2; -КонецПроцедуры - -Процедура ТестДолжен_СравнитьСостояниеПеременной() Экспорт - ЮТест.ПроверитьРавенство(2, ГлобПерем, "Не выполнено условие 2 != ГлобПерем - тесты НЕ являются зависимыми"); - ГлобПерем = 10; -КонецПроцедуры - -Процедура ТестДолжен_ИзменитьСостояниеОбработки() Экспорт - Состояние = 2; -КонецПроцедуры - -Процедура ТестДолжен_СравнитьСостояниеОбработки() Экспорт - ЮТест.ПроверитьРавенство(2, Состояние, "Не выполнено условие 2 != Состояние - тесты НЕ являются зависимыми"); - Состояние = 10; -КонецПроцедуры - -//} diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" deleted file mode 100644 index ed22b6db..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" +++ /dev/null @@ -1,11 +0,0 @@ -40064018-7955-4f93-897c-58b8ccf911e2.0\info-->und\40064018-7955-4f93-897c-58b8ccf911e2.0\info -40064018-7955-4f93-897c-58b8ccf911e2.0\text-->ObjectModule.txt -525d4c28-9db2-49e5-965b-5b0593f1529a-->und\525d4c28-9db2-49e5-965b-5b0593f1529a -525d4c28-9db2-49e5-965b-5b0593f1529a.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\selftests\ТестПроверяетЗависимостьТестов\Form\УФ\Форма.txt -525d4c28-9db2-49e5-965b-5b0593f1529a.0-->und\525d4c28-9db2-49e5-965b-5b0593f1529a.0 -525d4c28-9db2-49e5-965b-5b0593f1529a.0-->und\525d4c28-9db2-49e5-965b-5b0593f1529a.0 -copyinfo-->und\copyinfo -ef676c3e-40ff-43e3-b1fe-e848dd3acaa8-->und\ef676c3e-40ff-43e3-b1fe-e848dd3acaa8 -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/40064018-7955-4f93-897c-58b8ccf911e2.0/info" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/40064018-7955-4f93-897c-58b8ccf911e2.0/info" deleted file mode 100644 index c70b5f39..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/40064018-7955-4f93-897c-58b8ccf911e2.0/info" +++ /dev/null @@ -1 +0,0 @@ -{3,1,0,"",0} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/525d4c28-9db2-49e5-965b-5b0593f1529a" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/525d4c28-9db2-49e5-965b-5b0593f1529a" deleted file mode 100644 index c9ac874d..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/525d4c28-9db2-49e5-965b-5b0593f1529a" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,525d4c28-9db2-49e5-965b-5b0593f1529a},"УФ", -{1,"ru","УФ"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/525d4c28-9db2-49e5-965b-5b0593f1529a.0" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/525d4c28-9db2-49e5-965b-5b0593f1529a.0" deleted file mode 100644 index 43e846d4..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/525d4c28-9db2-49e5-965b-5b0593f1529a.0" +++ /dev/null @@ -1,156 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"&НаКлиенте -Перем ГлобПерем; // для тестирования - -&НаКлиенте -Перем ЮТест; // для тестирования - -//{ основная процедура для юнит-тестирования 1CUnit -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить(""ТестДолжен_ИзменитьСостояниеПеременнойУФ""); - ВсеТесты.Добавить(""ТестДолжен_СравнитьСостояниеПеременнойУФ""); - ВсеТесты.Добавить(""ТестДолжен_ИзменитьСостояниеОбработкиУФ""); - ВсеТесты.Добавить(""ТестДолжен_СравнитьСостояниеОбработкиУФ""); - ВсеТесты.Добавить(""ТестДолжен_ИзменитьСостояниеУпрФормы""); - ВсеТесты.Добавить(""ТестДолжен_СравнитьСостояниеУпрФормы""); - - Возврат ВсеТесты; - -КонецФункции - -&НаКлиенте -Функция РазрешенСлучайныйПорядокВыполненияТестов() Экспорт - Возврат Ложь; -КонецФункции -//} - -//{ блок юнит-тестов - сами тесты - -&НаКлиенте -Процедура ТестДолжен_ИзменитьСостояниеПеременнойУФ() Экспорт - ГлобПерем = 2; -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_СравнитьСостояниеПеременнойУФ() Экспорт - ЮТест.ПроверитьРавенство(2, ГлобПерем, ""Не выполнено условие Неопределено == ГлобПерем - тесты являются зависимыми""); - ГлобПерем = 10; -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ИзменитьСостояниеОбработкиУФ() Экспорт - Объект.Состояние = 2; -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_СравнитьСостояниеОбработкиУФ() Экспорт - ЮТест.ПроверитьРавенство(2, Объект.Состояние, ""Не выполнено условие 0 == Состояние - тесты являются зависимыми""); - Объект.Состояние = 10; -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ИзменитьСостояниеУпрФормы() Экспорт - Состояние1 = 2; -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_СравнитьСостояниеУпрФормы() Экспорт - ЮТест.ПроверитьРавенство(2, Состояние1, ""Не выполнено условие 0 == Состояние - тесты являются зависимыми""); - Состояние1 = 10; -КонецПроцедуры - - -//} конец блока юнит-тестов -", -{4,2, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",5651e8ee-504c-4940-8b83-89c69a8b875d} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},1,0,0,0, -{0,0}, -{0,0} -}, -{9, -{2},0,"Состояние1", -{1,1, -{"ru","Состояние1"} -}, -{"Pattern", -{"N",10,0,0} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -},0,0, -{#base64:77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxTZXR0 -aW5ncyB4bWxucz0iaHR0cDovL3Y4LjFjLnJ1LzguMS9kYXRhLWNvbXBvc2l0aW9u -LXN5c3RlbS9zZXR0aW5ncyIgeG1sbnM6ZGNzY29yPSJodHRwOi8vdjguMWMucnUv -OC4xL2RhdGEtY29tcG9zaXRpb24tc3lzdGVtL2NvcmUiIHhtbG5zOnN0eWxlPSJo -dHRwOi8vdjguMWMucnUvOC4xL2RhdGEvdWkvc3R5bGUiIHhtbG5zOnN5cz0iaHR0 -cDovL3Y4LjFjLnJ1LzguMS9kYXRhL3VpL2ZvbnRzL3N5c3RlbSIgeG1sbnM6djg9 -Imh0dHA6Ly92OC4xYy5ydS84LjEvZGF0YS9jb3JlIiB4bWxuczp2OHVpPSJodHRw -Oi8vdjguMWMucnUvOC4xL2RhdGEvdWkiIHhtbG5zOndlYj0iaHR0cDovL3Y4LjFj -LnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93ZWIiIHhtbG5zOndpbj0iaHR0cDovL3Y4 -LjFjLnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93aW5kb3dzIiB4bWxuczp4cz0iaHR0 -cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDov -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/copyinfo" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/copyinfo" deleted file mode 100644 index 1c77b1b2..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{40064018-7955-4f93-897c-58b8ccf911e2,40064018-7955-4f93-897c-58b8ccf911e2,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ТестПроверяетЗависимостьТестов"} -}, -{525d4c28-9db2-49e5-965b-5b0593f1529a,525d4c28-9db2-49e5-965b-5b0593f1529a,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"УФ"} -} -}, -{1, -{5651e8ee-504c-4940-8b83-89c69a8b875d,40064018-7955-4f93-897c-58b8ccf911e2,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/ef676c3e-40ff-43e3-b1fe-e848dd3acaa8" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/ef676c3e-40ff-43e3-b1fe-e848dd3acaa8" deleted file mode 100644 index df0a1d67..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/ef676c3e-40ff-43e3-b1fe-e848dd3acaa8" +++ /dev/null @@ -1,39 +0,0 @@ -{1, -{ef676c3e-40ff-43e3-b1fe-e848dd3acaa8},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,5651e8ee-504c-4940-8b83-89c69a8b875d,826a7e31-b3c6-4e14-ad69-466a302b677a, -{0, -{0, -{0,0,40064018-7955-4f93-897c-58b8ccf911e2},"ТестПроверяетЗависимостьТестов", -{1,"ru","Тест проверяет зависимость тестов"},""} -},525d4c28-9db2-49e5-965b-5b0593f1529a,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,525d4c28-9db2-49e5-965b-5b0593f1529a}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,1, -{ -{0, -{25, -{2, -{0, -{0,0,95f40c41-d91c-4721-a13f-779727be14b3},"Состояние", -{1,"ru","Состояние"},""}, -{"Pattern", -{"N",10,0,0} -} -},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} -} -} -} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/root" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/root" deleted file mode 100644 index 4535d2b3..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,ef676c3e-40ff-43e3-b1fe-e848dd3acaa8,} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/version" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/version" deleted file mode 100644 index c23bfe28..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/version" +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" deleted file mode 100644 index d9113b86..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\227\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,9,"",1cf8b40c-b40a-4b31-91a6-9a277cccb903,"versions",f660172e-d5e3-421d-8a50-1c0cde2505a0,"root",7c7a525d-4af8-494a-a81e-957b50dae543,"version",633aabb9-5b5b-47ac-81ee-ee48d22371b7,"525d4c28-9db2-49e5-965b-5b0593f1529a",b0c421df-b303-4f46-af6e-a48323fdaede,"ef676c3e-40ff-43e3-b1fe-e848dd3acaa8",56e576bc-4b2e-416c-8e22-135f553c23c6,"40064018-7955-4f93-897c-58b8ccf911e2.0",cb31d591-8bf7-458e-b5da-41693923389e,"copyinfo",ed4f6f73-6ec6-48ea-89b7-bfb65a630670,"525d4c28-9db2-49e5-965b-5b0593f1529a.0",891f4967-32f5-4961-a511-96ea9f197f48} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/Form/\320\243\320\244/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/Form/\320\243\320\244/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index 4fb7defa..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/Form/\320\243\320\244/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,63 +0,0 @@ -&НаКлиенте -Перем ГлобПерем; // для тестирования - -&НаКлиенте -Перем ЮТест; // для тестирования - -//{ основная процедура для юнит-тестирования 1CUnit -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("ТестДолжен_ИзменитьСостояниеПеременнойУФ"); - ВсеТесты.Добавить("ТестДолжен_СравнитьСостояниеПеременнойУФ"); - ВсеТесты.Добавить("ТестДолжен_ИзменитьСостояниеОбработкиУФ"); - ВсеТесты.Добавить("ТестДолжен_СравнитьСостояниеОбработкиУФ"); - - Возврат ВсеТесты; - -КонецФункции - -Функция РазрешенСлучайныйПорядокВыполненияТестов() Экспорт - Возврат Ложь; -КонецФункции -//} - -//{ блок юнит-тестов - сами тесты -&НаКлиенте -Процедура ПропуститьТестИзОтказаОтСозданияРазныхЭкземпляровТестовойОбработки() Экспорт - ЮТест.ПропуститьТест("Независимость тестов путем создания разных экземпляров обработки-теста больше не поддерживается"); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ИзменитьСостояниеПеременнойУФ() Экспорт - ПропуститьТестИзОтказаОтСозданияРазныхЭкземпляровТестовойОбработки(); - - ГлобПерем = 2; -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_СравнитьСостояниеПеременнойУФ() Экспорт - ПропуститьТестИзОтказаОтСозданияРазныхЭкземпляровТестовойОбработки(); - - ЮТест.ПроверитьРавенство(Неопределено, ГлобПерем, "Не выполнено условие Неопределено == ГлобПерем - тесты являются зависимыми"); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ИзменитьСостояниеОбработкиУФ() Экспорт - ПропуститьТестИзОтказаОтСозданияРазныхЭкземпляровТестовойОбработки(); - - Объект.Состояние = 2; -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_СравнитьСостояниеОбработкиУФ() Экспорт - ПропуститьТестИзОтказаОтСозданияРазныхЭкземпляровТестовойОбработки(); - - ЮТест.ПроверитьРавенство(0, Объект.Состояние, "Не выполнено условие 0 == Состояние - тесты являются зависимыми"); -КонецПроцедуры - -//} конец блока юнит-тестов diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" deleted file mode 100644 index d0f768ce..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" +++ /dev/null @@ -1,55 +0,0 @@ -Перем ГлобПерем; - -//{ основная процедура для юнит-тестирования xUnitFor1C -Перем ЮТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("ТестДолжен_ИзменитьСостояниеПеременной"); - ВсеТесты.Добавить("ТестДолжен_СравнитьСостояниеПеременной"); - ВсеТесты.Добавить("ТестДолжен_ИзменитьСостояниеОбработки"); - ВсеТесты.Добавить("ТестДолжен_СравнитьСостояниеОбработки"); - - Возврат ВсеТесты; - -КонецФункции - -Функция РазрешенСлучайныйПорядокВыполненияТестов() Экспорт - Возврат Ложь; -КонецФункции -//} - -//{ блок юнит-тестов - сами тесты -Процедура ПропуститьТестИзОтказаОтСозданияРазныхЭкземпляровТестовойОбработки() Экспорт - ЮТест.ПропуститьТест("Независимость тестов путем создания разных экземпляров обработки-теста больше не поддерживается"); -КонецПроцедуры - -Процедура ТестДолжен_ИзменитьСостояниеПеременной() Экспорт - ПропуститьТестИзОтказаОтСозданияРазныхЭкземпляровТестовойОбработки(); - - ГлобПерем = 2; -КонецПроцедуры - -Процедура ТестДолжен_СравнитьСостояниеПеременной() Экспорт - ПропуститьТестИзОтказаОтСозданияРазныхЭкземпляровТестовойОбработки(); - - ЮТест.ПроверитьРавенство(Неопределено, ГлобПерем, "Не выполнено условие Неопределено != ГлобПерем - тесты являются зависимыми"); -КонецПроцедуры - -Процедура ТестДолжен_ИзменитьСостояниеОбработки() Экспорт - ПропуститьТестИзОтказаОтСозданияРазныхЭкземпляровТестовойОбработки(); - - Состояние = 2; -КонецПроцедуры - -Процедура ТестДолжен_СравнитьСостояниеОбработки() Экспорт - ПропуститьТестИзОтказаОтСозданияРазныхЭкземпляровТестовойОбработки(); - - ЮТест.ПроверитьРавенство(0, Состояние, "Не выполнено условие Неопределено != Состояние - тесты являются зависимыми"); -КонецПроцедуры - -//} diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" deleted file mode 100644 index dbdac755..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" +++ /dev/null @@ -1,11 +0,0 @@ -40064018-7955-4f93-897c-58b8ccf911e2.0\info-->und\40064018-7955-4f93-897c-58b8ccf911e2.0\info -40064018-7955-4f93-897c-58b8ccf911e2.0\text-->ObjectModule.txt -525d4c28-9db2-49e5-965b-5b0593f1529a-->und\525d4c28-9db2-49e5-965b-5b0593f1529a -525d4c28-9db2-49e5-965b-5b0593f1529a.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\selftests\ТестПроверяетНезависимостьТестов\Form\УФ\Форма.txt -525d4c28-9db2-49e5-965b-5b0593f1529a.0-->und\525d4c28-9db2-49e5-965b-5b0593f1529a.0 -525d4c28-9db2-49e5-965b-5b0593f1529a.0-->und\525d4c28-9db2-49e5-965b-5b0593f1529a.0 -copyinfo-->und\copyinfo -ef676c3e-40ff-43e3-b1fe-e848dd3acaa8-->und\ef676c3e-40ff-43e3-b1fe-e848dd3acaa8 -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/40064018-7955-4f93-897c-58b8ccf911e2.0/info" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/40064018-7955-4f93-897c-58b8ccf911e2.0/info" deleted file mode 100644 index c70b5f39..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/40064018-7955-4f93-897c-58b8ccf911e2.0/info" +++ /dev/null @@ -1 +0,0 @@ -{3,1,0,"",0} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/525d4c28-9db2-49e5-965b-5b0593f1529a" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/525d4c28-9db2-49e5-965b-5b0593f1529a" deleted file mode 100644 index c9ac874d..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/525d4c28-9db2-49e5-965b-5b0593f1529a" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,525d4c28-9db2-49e5-965b-5b0593f1529a},"УФ", -{1,"ru","УФ"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/525d4c28-9db2-49e5-965b-5b0593f1529a.0" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/525d4c28-9db2-49e5-965b-5b0593f1529a.0" deleted file mode 100644 index d9dbaf2c..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/525d4c28-9db2-49e5-965b-5b0593f1529a.0" +++ /dev/null @@ -1,130 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"&НаКлиенте -Перем ГлобПерем; // для тестирования - -&НаКлиенте -Перем ЮТест; // для тестирования - -//{ основная процедура для юнит-тестирования 1CUnit -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить(""ТестДолжен_ИзменитьСостояниеПеременнойУФ""); - ВсеТесты.Добавить(""ТестДолжен_СравнитьСостояниеПеременнойУФ""); - ВсеТесты.Добавить(""ТестДолжен_ИзменитьСостояниеОбработкиУФ""); - ВсеТесты.Добавить(""ТестДолжен_СравнитьСостояниеОбработкиУФ""); - - Возврат ВсеТесты; - -КонецФункции - -Функция РазрешенСлучайныйПорядокВыполненияТестов() Экспорт - Возврат Ложь; -КонецФункции -//} - -//{ блок юнит-тестов - сами тесты -&НаКлиенте -Процедура ПропуститьТестИзОтказаОтСозданияРазныхЭкземпляровТестовойОбработки() Экспорт - ЮТест.ПропуститьТест(""Независимость тестов путем создания разных экземпляров обработки-теста больше не поддерживается""); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ИзменитьСостояниеПеременнойУФ() Экспорт - ПропуститьТестИзОтказаОтСозданияРазныхЭкземпляровТестовойОбработки(); - - ГлобПерем = 2; -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_СравнитьСостояниеПеременнойУФ() Экспорт - ПропуститьТестИзОтказаОтСозданияРазныхЭкземпляровТестовойОбработки(); - - ЮТест.ПроверитьРавенство(Неопределено, ГлобПерем, ""Не выполнено условие Неопределено == ГлобПерем - тесты являются зависимыми""); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ИзменитьСостояниеОбработкиУФ() Экспорт - ПропуститьТестИзОтказаОтСозданияРазныхЭкземпляровТестовойОбработки(); - - Объект.Состояние = 2; -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_СравнитьСостояниеОбработкиУФ() Экспорт - ПропуститьТестИзОтказаОтСозданияРазныхЭкземпляровТестовойОбработки(); - - ЮТест.ПроверитьРавенство(0, Объект.Состояние, ""Не выполнено условие 0 == Состояние - тесты являются зависимыми""); -КонецПроцедуры - -//} конец блока юнит-тестов -", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",5651e8ee-504c-4940-8b83-89c69a8b875d} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/copyinfo" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/copyinfo" deleted file mode 100644 index c4273187..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{40064018-7955-4f93-897c-58b8ccf911e2,40064018-7955-4f93-897c-58b8ccf911e2,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ТестПроверяетНезависимостьТестов"} -}, -{525d4c28-9db2-49e5-965b-5b0593f1529a,525d4c28-9db2-49e5-965b-5b0593f1529a,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"УФ"} -} -}, -{1, -{5651e8ee-504c-4940-8b83-89c69a8b875d,40064018-7955-4f93-897c-58b8ccf911e2,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/ef676c3e-40ff-43e3-b1fe-e848dd3acaa8" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/ef676c3e-40ff-43e3-b1fe-e848dd3acaa8" deleted file mode 100644 index cc271597..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/ef676c3e-40ff-43e3-b1fe-e848dd3acaa8" +++ /dev/null @@ -1,39 +0,0 @@ -{1, -{ef676c3e-40ff-43e3-b1fe-e848dd3acaa8},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,5651e8ee-504c-4940-8b83-89c69a8b875d,826a7e31-b3c6-4e14-ad69-466a302b677a, -{0, -{0, -{0,0,40064018-7955-4f93-897c-58b8ccf911e2},"ТестПроверяетНезависимостьТестов", -{1,"ru","Тест проверяет независимость тестов"},""} -},525d4c28-9db2-49e5-965b-5b0593f1529a,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,525d4c28-9db2-49e5-965b-5b0593f1529a}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,1, -{ -{0, -{25, -{2, -{0, -{0,0,95f40c41-d91c-4721-a13f-779727be14b3},"Состояние", -{1,"ru","Состояние"},""}, -{"Pattern", -{"N",10,0,0} -} -},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} -} -} -} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/root" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/root" deleted file mode 100644 index 4535d2b3..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,ef676c3e-40ff-43e3-b1fe-e848dd3acaa8,} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/version" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/version" deleted file mode 100644 index c23bfe28..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/version" +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" deleted file mode 100644 index fcca3bbf..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202\320\235\320\265\320\267\320\260\320\262\320\270\321\201\320\270\320\274\320\276\321\201\321\202\321\214\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,9,"",4d510551-ec1e-4701-8a1d-d280e718caf9,"versions",87d03925-f50d-4070-9b9f-2e44decdfdad,"root",bae8a20f-eb0e-46a9-9c2d-8e0693519191,"version",5c218900-1a4d-4540-afd1-8d8636be1a35,"525d4c28-9db2-49e5-965b-5b0593f1529a",d817a45e-1bad-4339-bc09-fffd00739b56,"ef676c3e-40ff-43e3-b1fe-e848dd3acaa8",b35806e7-4e8a-4d37-95df-f34215a7f498,"40064018-7955-4f93-897c-58b8ccf911e2.0",76f31a31-12d1-4494-9fab-c16c14ea0a35,"copyinfo",1cbb2e72-219f-43e1-9100-cd3e5a6f1668,"525d4c28-9db2-49e5-965b-5b0593f1529a.0",e14240f8-0d8c-49cf-a0ca-9b6801b6e8ab} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/renames.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/renames.txt" deleted file mode 100644 index 67205fa2..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/renames.txt" +++ /dev/null @@ -1,5 +0,0 @@ -copyinfo-->und\copyinfo -dbf4cba2-b5be-407a-9d46-ce44778e9e5b-->und\dbf4cba2-b5be-407a-9d46-ce44778e9e5b -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/copyinfo" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/copyinfo" deleted file mode 100644 index 08913bc8..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/copyinfo" +++ /dev/null @@ -1,7 +0,0 @@ -{4, -{0}, -{0}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/dbf4cba2-b5be-407a-9d46-ce44778e9e5b" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/dbf4cba2-b5be-407a-9d46-ce44778e9e5b" deleted file mode 100644 index 039e5ad1..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/dbf4cba2-b5be-407a-9d46-ce44778e9e5b" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{dbf4cba2-b5be-407a-9d46-ce44778e9e5b},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,27c9cca0-57fd-40a6-bd05-00977dfd969c,54ce53d0-6990-4c7f-82e8-4d4e4a8321e3, -{0, -{0, -{0,0,d0c90ead-5864-4dfa-a8d0-d3fe408e2a7f},"ТестПустой", -{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}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/root" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/root" deleted file mode 100644 index 661908f2..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,dbf4cba2-b5be-407a-9d46-ce44778e9e5b,} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/version" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/version" deleted file mode 100644 index c23bfe28..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/version" +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/versions" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/versions" deleted file mode 100644 index 84abbea6..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\237\321\203\321\201\321\202\320\276\320\271/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,6,"",34f8a38c-7685-4369-bc4a-265569fbe15c,"versions",750e364b-c98a-4882-a3c9-669a31f1c89d,"dbf4cba2-b5be-407a-9d46-ce44778e9e5b",c8789576-0b6a-4207-b833-962237b53ced,"root",981389a7-6047-4944-9293-17b931e1a213,"version",a042f381-f226-45ec-8515-c6789885e2fd,"copyinfo",3ec48c3e-314c-4ae4-8413-a40e01d6a4bc} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Form/\320\243\320\244/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Form/\320\243\320\244/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index 6b3a2d48..00000000 --- "a/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Form/\320\243\320\244/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,109 +0,0 @@ -&НаКлиенте -Перем ЮТест; // для тестирования - -&НаКлиенте -Перем ОткрытаяФорма; // для тестирования - -//{ основная процедура для юнит-тестирования 1CUnit -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - КоллекцияИнструментов = Новый Соответствие; - Если Не ЮТест.ЭтоВстроеннаяОбработка Тогда - КоллекцияИнструментов.Вставить("Тест открытия инструмента ""Генератор данных""", "xddDataFixtureGen"); - КонецЕсли; - - КоллекцияИнструментов.Вставить("Тест открытия инструмента ""Показать ГУИД""", "xddGuidShow"); - - Суффикс = ?(ЮТест.ЕстьПоддержкаАсинхронныхВызовов, "_ВАсинхронномРежимеНеПоддерживается", ""); - - Для каждого КлючЗначение Из КоллекцияИнструментов Цикл - ПараметрыТеста = Новый Структура("ПредставлениеТеста,ИмяТеста,Параметр", КлючЗначение.Ключ + " - метод xddTestRunner.ОткрытьИнструмент", "ТестДолжен_ОткрытьЗакрытьИнструмент_ЧерезМетод_ЮТест_ОткрытьИнструмент" + Суффикс, КлючЗначение.Значение); - ВсеТесты.Добавить(ПараметрыТеста); - - ПараметрыТеста = Новый Структура("ПредставлениеТеста,ИмяТеста,Параметр", КлючЗначение.Ключ + " - перебор команд УФ xddTestRunner", "ТестДолжен_ОткрытьЗакрытьИнструмент_ЧерезПереборКомандЮТест" + Суффикс, КлючЗначение.Значение); - ВсеТесты.Добавить(ПараметрыТеста); - КонецЦикла; - - Возврат ВсеТесты; - -КонецФункции -//} - -//{ блок юнит-тестов - сами тесты - -&НаКлиенте -Процедура ПередЗапускомТеста() Экспорт - ОткрытаяФорма = Неопределено; -КонецПроцедуры - -&НаКлиенте -Процедура ПослеЗапускаТеста() Экспорт - Если ТипЗнч(ОткрытаяФорма) = Тип("УправляемаяФорма") Тогда - ОткрытаяФорма.Закрыть(); - КонецЕсли; - ОткрытаяФорма = Неопределено; -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ОткрытьЗакрытьИнструмент_ЧерезМетод_ЮТест_ОткрытьИнструмент(ИмяИнструмента) Экспорт - ОткрытаяФорма = ЮТест.ОткрытьИнструмент(ИмяИнструмента); - ЮТест.ПроверитьТип(ОткрытаяФорма, "УправляемаяФорма", "Не удалось получить управляемую форму инструмента <"+ИмяИнструмента+">"); - ЮТест.Проверить(ОткрытаяФорма.Открыта(), "Форма инструмента должна быть открыта. Инструмент <"+ИмяИнструмента+">"); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ОткрытьЗакрытьИнструмент_ЧерезПереборКомандЮТест(ИмяИнструмента) Экспорт - Перем Окна, Окно, Окн, НовоеОкно; - - СоответствиеОкон = Новый Соответствие; - Окна = ПолучитьОкна(); - Если НЕ Окна = Неопределено Тогда - Для к=-Окна.Количество()+1 По 0 Цикл - Попытка - Окно = Окна.Получить(-к); - СоответствиеОкон.Вставить(Окно, Окно); - Исключение - КонецПопытки; - КонецЦикла; - КонецЕсли; - - ЮТест.ОткрытьИнструмент(ИмяИнструмента); - //Вот тут надо поспать... - - ТаймаутОжиданияПриложенияВСекундах = 5; - ВремяОкончанияОжидания = ТекущаяДата() + ТаймаутОжиданияПриложенияВСекундах; //60; - ОписаниеОшибкиСоединения = ""; - Пока Не ТекущаяДата() >= ВремяОкончанияОжидания Цикл - Попытка - Соединение = Новый HTTPСоединение("localhost", 23453,,,,10); - Ответ = Соединение.Получить("mussor.html"); - Исключение - КонецПопытки; - - КонецЦикла; - Окн = ПолучитьОкна(); - - юТест.ВывестиСообщение(ТипЗнч(Окн)); - - Для к=-Окн.Количество()+1 По 0 Цикл - Попытка - НовоеОкно = Окн.Получить(-к); - Если СоответствиеОкон.Получить(НовоеОкно) = Неопределено Тогда - ОткрытаяФорма = НовоеОкно.ПолучитьСодержимое(); - Прервать; - КонецЕсли; - Исключение - КонецПопытки; - КонецЦикла; - - ЮТест.ПроверитьТип(ОткрытаяФорма, "УправляемаяФорма", "Не удалось получить управляемую форму инструмента <"+ИмяИнструмента+">"); - ЮТест.Проверить(ОткрытаяФорма.Открыта(), "Форма инструмента должна быть открыта. Инструмент <"+ИмяИнструмента+">"); - -КонецПроцедуры - -//} конец блока юнит-тестов diff --git "a/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/ObjectModule.txt" "b/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/ObjectModule.txt" deleted file mode 100644 index f2818fcf..00000000 --- "a/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/ObjectModule.txt" +++ /dev/null @@ -1,20 +0,0 @@ -Перем ГлобПерем; - -//{ основная процедура для юнит-тестирования xUnitFor1C -Перем ЮТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - - Возврат ВсеТесты; - -КонецФункции -//} - -//{ блок юнит-тестов - сами тесты - -//} diff --git "a/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/renames.txt" "b/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/renames.txt" deleted file mode 100644 index 329fb36d..00000000 --- "a/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/renames.txt" +++ /dev/null @@ -1,11 +0,0 @@ -40064018-7955-4f93-897c-58b8ccf911e2.0\info-->und\40064018-7955-4f93-897c-58b8ccf911e2.0\info -40064018-7955-4f93-897c-58b8ccf911e2.0\text-->ObjectModule.txt -525d4c28-9db2-49e5-965b-5b0593f1529a-->und\525d4c28-9db2-49e5-965b-5b0593f1529a -525d4c28-9db2-49e5-965b-5b0593f1529a.0-->c:\home\projects\xUnitFor1C\src\Tests\selftests\ТестыОткрытиеИнструментов\Form\УФ\Форма.txt -525d4c28-9db2-49e5-965b-5b0593f1529a.0-->und\525d4c28-9db2-49e5-965b-5b0593f1529a.0 -525d4c28-9db2-49e5-965b-5b0593f1529a.0-->und\525d4c28-9db2-49e5-965b-5b0593f1529a.0 -copyinfo-->und\copyinfo -ef676c3e-40ff-43e3-b1fe-e848dd3acaa8-->und\ef676c3e-40ff-43e3-b1fe-e848dd3acaa8 -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/40064018-7955-4f93-897c-58b8ccf911e2.0/info" "b/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/40064018-7955-4f93-897c-58b8ccf911e2.0/info" deleted file mode 100644 index c70b5f39..00000000 --- "a/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/40064018-7955-4f93-897c-58b8ccf911e2.0/info" +++ /dev/null @@ -1 +0,0 @@ -{3,1,0,"",0} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/525d4c28-9db2-49e5-965b-5b0593f1529a" "b/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/525d4c28-9db2-49e5-965b-5b0593f1529a" deleted file mode 100644 index c9ac874d..00000000 --- "a/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/525d4c28-9db2-49e5-965b-5b0593f1529a" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,525d4c28-9db2-49e5-965b-5b0593f1529a},"УФ", -{1,"ru","УФ"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/525d4c28-9db2-49e5-965b-5b0593f1529a.0" "b/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/525d4c28-9db2-49e5-965b-5b0593f1529a.0" deleted file mode 100644 index 4718efa0..00000000 --- "a/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/525d4c28-9db2-49e5-965b-5b0593f1529a.0" +++ /dev/null @@ -1,176 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"&НаКлиенте -Перем ЮТест; // для тестирования - -&НаКлиенте -Перем ОткрытаяФорма; // для тестирования - -//{ основная процедура для юнит-тестирования 1CUnit -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - КоллекцияИнструментов = Новый Соответствие; - Если Не ЮТест.ЭтоВстроеннаяОбработка Тогда - КоллекцияИнструментов.Вставить(""Тест открытия инструмента """"Генератор данных"""""", ""xddDataFixtureGen""); - КонецЕсли; - - КоллекцияИнструментов.Вставить(""Тест открытия инструмента """"Показать ГУИД"""""", ""xddGuidShow""); - - Суффикс = ?(ЮТест.ЕстьПоддержкаАсинхронныхВызовов, ""_ВАсинхронномРежимеНеПоддерживается"", """"); - - Для каждого КлючЗначение Из КоллекцияИнструментов Цикл - ПараметрыТеста = Новый Структура(""ПредставлениеТеста,ИмяТеста,Параметр"", КлючЗначение.Ключ + "" - метод xddTestRunner.ОткрытьИнструмент"", ""ТестДолжен_ОткрытьЗакрытьИнструмент_ЧерезМетод_ЮТест_ОткрытьИнструмент"" + Суффикс, КлючЗначение.Значение); - ВсеТесты.Добавить(ПараметрыТеста); - - ПараметрыТеста = Новый Структура(""ПредставлениеТеста,ИмяТеста,Параметр"", КлючЗначение.Ключ + "" - перебор команд УФ xddTestRunner"", ""ТестДолжен_ОткрытьЗакрытьИнструмент_ЧерезПереборКомандЮТест"" + Суффикс, КлючЗначение.Значение); - ВсеТесты.Добавить(ПараметрыТеста); - КонецЦикла; - - Возврат ВсеТесты; - -КонецФункции -//} - -//{ блок юнит-тестов - сами тесты - -&НаКлиенте -Процедура ПередЗапускомТеста() Экспорт - ОткрытаяФорма = Неопределено; -КонецПроцедуры - -&НаКлиенте -Процедура ПослеЗапускаТеста() Экспорт - Если ТипЗнч(ОткрытаяФорма) = Тип(""УправляемаяФорма"") Тогда - ОткрытаяФорма.Закрыть(); - КонецЕсли; - ОткрытаяФорма = Неопределено; -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ОткрытьЗакрытьИнструмент_ЧерезМетод_ЮТест_ОткрытьИнструмент(ИмяИнструмента) Экспорт - ОткрытаяФорма = ЮТест.ОткрытьИнструмент(ИмяИнструмента); - ЮТест.ПроверитьТип(ОткрытаяФорма, ""УправляемаяФорма"", ""Не удалось получить управляемую форму инструмента <""+ИмяИнструмента+"">""); - ЮТест.Проверить(ОткрытаяФорма.Открыта(), ""Форма инструмента должна быть открыта. Инструмент <""+ИмяИнструмента+"">""); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ОткрытьЗакрытьИнструмент_ЧерезПереборКомандЮТест(ИмяИнструмента) Экспорт - Перем Окна, Окно, Окн, НовоеОкно; - - СоответствиеОкон = Новый Соответствие; - Окна = ПолучитьОкна(); - Если НЕ Окна = Неопределено Тогда - Для к=-Окна.Количество()+1 По 0 Цикл - Попытка - Окно = Окна.Получить(-к); - СоответствиеОкон.Вставить(Окно, Окно); - Исключение - КонецПопытки; - КонецЦикла; - КонецЕсли; - - ЮТест.ОткрытьИнструмент(ИмяИнструмента); - //Вот тут надо поспать... - - ТаймаутОжиданияПриложенияВСекундах = 5; - ВремяОкончанияОжидания = ТекущаяДата() + ТаймаутОжиданияПриложенияВСекундах; //60; - ОписаниеОшибкиСоединения = """"; - Пока Не ТекущаяДата() >= ВремяОкончанияОжидания Цикл - Попытка - Соединение = Новый HTTPСоединение(""localhost"", 23453,,,,10); - Ответ = Соединение.Получить(""mussor.html""); - Исключение - КонецПопытки; - - КонецЦикла; - Окн = ПолучитьОкна(); - - юТест.ВывестиСообщение(ТипЗнч(Окн)); - - Для к=-Окн.Количество()+1 По 0 Цикл - Попытка - НовоеОкно = Окн.Получить(-к); - Если СоответствиеОкон.Получить(НовоеОкно) = Неопределено Тогда - ОткрытаяФорма = НовоеОкно.ПолучитьСодержимое(); - Прервать; - КонецЕсли; - Исключение - КонецПопытки; - КонецЦикла; - - ЮТест.ПроверитьТип(ОткрытаяФорма, ""УправляемаяФорма"", ""Не удалось получить управляемую форму инструмента <""+ИмяИнструмента+"">""); - ЮТест.Проверить(ОткрытаяФорма.Открыта(), ""Форма инструмента должна быть открыта. Инструмент <""+ИмяИнструмента+"">""); - -КонецПроцедуры - -//} конец блока юнит-тестов -", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",5651e8ee-504c-4940-8b83-89c69a8b875d} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/copyinfo" "b/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/copyinfo" deleted file mode 100644 index 174b34dd..00000000 --- "a/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{40064018-7955-4f93-897c-58b8ccf911e2,40064018-7955-4f93-897c-58b8ccf911e2,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ТестыОткрытиеИнструментов"} -}, -{525d4c28-9db2-49e5-965b-5b0593f1529a,525d4c28-9db2-49e5-965b-5b0593f1529a,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"УФ"} -} -}, -{1, -{5651e8ee-504c-4940-8b83-89c69a8b875d,40064018-7955-4f93-897c-58b8ccf911e2,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/ef676c3e-40ff-43e3-b1fe-e848dd3acaa8" "b/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/ef676c3e-40ff-43e3-b1fe-e848dd3acaa8" deleted file mode 100644 index 16eb3915..00000000 --- "a/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/ef676c3e-40ff-43e3-b1fe-e848dd3acaa8" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{ef676c3e-40ff-43e3-b1fe-e848dd3acaa8},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,5651e8ee-504c-4940-8b83-89c69a8b875d,826a7e31-b3c6-4e14-ad69-466a302b677a, -{0, -{0, -{0,0,40064018-7955-4f93-897c-58b8ccf911e2},"ТестыОткрытиеИнструментов", -{1,"ru","Тесты открытия инструментов"},""} -},525d4c28-9db2-49e5-965b-5b0593f1529a,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,525d4c28-9db2-49e5-965b-5b0593f1529a}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/root" "b/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/root" deleted file mode 100644 index 4535d2b3..00000000 --- "a/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,ef676c3e-40ff-43e3-b1fe-e848dd3acaa8,} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/version" "b/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/version" deleted file mode 100644 index c23bfe28..00000000 --- "a/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/version" +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/versions" "b/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/versions" deleted file mode 100644 index 11b4fb12..00000000 --- "a/src/Tests/selftests/\320\242\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\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\320\276\320\262/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,9,"",67302e8a-1ecf-449d-bef2-9c9a0347fe96,"versions",dab61f12-cbc7-4968-b171-b0869ea2b444,"root",831fb28e-267d-43ed-8048-31017cf2e8cc,"version",284635bf-00b8-4f1d-b85f-e025729fe4bd,"525d4c28-9db2-49e5-965b-5b0593f1529a",3b275950-0718-4c9f-a28a-d0393862ceb6,"ef676c3e-40ff-43e3-b1fe-e848dd3acaa8",3b40c6a9-c1ba-4149-93de-e345d851a668,"40064018-7955-4f93-897c-58b8ccf911e2.0",7c6e8ae5-7062-4cd6-ba8f-a7bd49dec196,"copyinfo",60084099-47a4-4593-a26c-924318aa9644,"525d4c28-9db2-49e5-965b-5b0593f1529a.0",35a9afa9-2865-4ac9-9d90-985a555080f6} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/ObjectModule.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/ObjectModule.txt" deleted file mode 100644 index 238692cc..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/ObjectModule.txt" +++ /dev/null @@ -1,39 +0,0 @@ -Перем Я_Тест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - Я_Тест = ЮнитТестирование; - - Результат = Я_Тест.Новый_НаборТестов(); - - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьИстинуВыполнилось"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьИстинуПадает"); - - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьЛожьВыполнилось"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьЛожьПадает"); - - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьЛожьПадаетДопСообщениеОшибки"); - - Возврат Результат; - -КонецФункции - -Процедура Тест_ПроверитьИстинуВыполнилось() Экспорт - Я_Тест.Проверить(Истина); -КонецПроцедуры - -Процедура Тест_ПроверитьИстинуПадает() Экспорт - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.Проверить(Ложь)", "Переданный параметр (ложь) не является Истиной, а хотели, чтобы являлся."); -КонецПроцедуры - -Процедура Тест_ПроверитьЛожьВыполнилось() Экспорт - Я_Тест.ПроверитьЛожь(Ложь); -КонецПроцедуры - -Процедура Тест_ПроверитьЛожьПадает() Экспорт - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьЛожь(Истина)", "Переданный параметр (истина) не является Ложью, а хотели, чтобы являлся."); -КонецПроцедуры - -Процедура Тест_ПроверитьЛожьПадаетДопСообщениеОшибки() Экспорт - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.Проверить(Ложь, ""Доп. сообщение ошибки"")", "Переданный параметр (ложь) не является Истиной, а хотели, чтобы являлся."+Символы.ПС+"Доп. сообщение ошибки"); -КонецПроцедуры diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/renames.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/renames.txt" deleted file mode 100644 index cf49b3ea..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/renames.txt" +++ /dev/null @@ -1,7 +0,0 @@ -7b66680b-e180-4230-a526-5aff4cc52aae.0\info-->und\7b66680b-e180-4230-a526-5aff4cc52aae.0\info -7b66680b-e180-4230-a526-5aff4cc52aae.0\text-->ObjectModule.txt -984dfd94-7d1f-404b-b526-3a286429e361-->und\984dfd94-7d1f-404b-b526-3a286429e361 -copyinfo-->und\copyinfo -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/7b66680b-e180-4230-a526-5aff4cc52aae.0/info" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/7b66680b-e180-4230-a526-5aff4cc52aae.0/info" deleted file mode 100644 index c70b5f39..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/7b66680b-e180-4230-a526-5aff4cc52aae.0/info" +++ /dev/null @@ -1 +0,0 @@ -{3,1,0,"",0} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/984dfd94-7d1f-404b-b526-3a286429e361" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/984dfd94-7d1f-404b-b526-3a286429e361" deleted file mode 100644 index 6c41311b..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/984dfd94-7d1f-404b-b526-3a286429e361" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{984dfd94-7d1f-404b-b526-3a286429e361},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,02fc0901-3cd2-4561-986b-96cdb0b4b42a,6f4bccc5-a1a9-4ebd-b80a-6308244ade10, -{0, -{0, -{0,0,7b66680b-e180-4230-a526-5aff4cc52aae},"ПроверитьПроверить", -{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}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/copyinfo" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/copyinfo" deleted file mode 100644 index 08913bc8..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/copyinfo" +++ /dev/null @@ -1,7 +0,0 @@ -{4, -{0}, -{0}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/root" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/root" deleted file mode 100644 index 37d75fc6..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,984dfd94-7d1f-404b-b526-3a286429e361,} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/version" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/version" deleted file mode 100644 index c23bfe28..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/version" +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/versions" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/versions" deleted file mode 100644 index cf52a38f..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,8,"",163c4636-6ee6-4315-9b2d-26ff9e81af71,"versions",470bbd9a-801d-4096-a097-8ae4185cee9d,"root",e82c5f2f-51a6-4956-ac72-f60c7f410bc2,"7b66680b-e180-4230-a526-5aff4cc52aae",fa39057f-cd23-41d3-a68a-77ed63f6d42b,"version",4ff51ff0-bd4b-417c-844d-6c7c3452e283,"7b66680b-e180-4230-a526-5aff4cc52aae.0",005aff40-80a4-4331-9435-acb5a23403c3,"984dfd94-7d1f-404b-b526-3a286429e361",d13ae462-4507-438b-85a2-e6d3262b0ee4,"copyinfo",e7b000c0-b579-46bc-9768-055e43625ce1} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/ObjectModule.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/ObjectModule.txt" deleted file mode 100644 index bd14b5e7..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/ObjectModule.txt" +++ /dev/null @@ -1,59 +0,0 @@ -Перем Я_Тест; - -Функция ПолучитьСписокТестов(юТест) Экспорт - - Я_Тест = юТест; - - Результат = Я_Тест.Новый_НаборТестов(); - - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьБольшеВыполняется"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьБольшеПадает"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьБольшеИлиРавноВыполняется"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьБольшеИлиРавноПадает"); - - Возврат Результат; - -КонецФункции - -Процедура Тест_ПроверитьБольшеВыполняется() Экспорт - - Я_Тест.ПроверитьБольше(2, 1); - Я_Тест.ПроверитьБольше("2", "1"); - Я_Тест.ПроверитьБольше('20100102', '20100101'); - -КонецПроцедуры - -Процедура Тест_ПроверитьБольшеПадает() Экспорт - - Я_Тест.ПроверитьНеВыполнилось("ПроверитьБольше(1, 2)", "Первый параметр (1) меньше или равен второму (2) а хотели, чтобы был больше."); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьБольше(1, 1)", "Первый параметр (1) меньше или равен второму (1) а хотели, чтобы был больше."); - - Я_Тест.ПроверитьНеВыполнилось("ПроверитьБольше(""1"", ""2"")", "Первый параметр (1) меньше или равен второму (2) а хотели, чтобы был больше."); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьБольше(""1"", ""1"")", "Первый параметр (1) меньше или равен второму (1) а хотели, чтобы был больше."); - - Я_Тест.ПроверитьНеВыполнилось("ПроверитьБольше('20100101', '20100102')", "Первый параметр (" + '20100101' + ") меньше или равен второму (" + '20100102' + ") а хотели, чтобы был больше."); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьБольше('20100101', '20100101')", "Первый параметр (" + '20100101' + ") меньше или равен второму (" + '20100101' + ") а хотели, чтобы был больше."); - -КонецПроцедуры - -Процедура Тест_ПроверитьБольшеИлиРавноВыполняется() Экспорт - - Я_Тест.ПроверитьБольшеИлиРавно(2, 1); - Я_Тест.ПроверитьБольшеИлиРавно(2, 2); - - Я_Тест.ПроверитьБольшеИлиРавно("2", "1"); - Я_Тест.ПроверитьБольшеИлиРавно("2", "2"); - - Я_Тест.ПроверитьБольшеИлиРавно('20100102', '20100101'); - Я_Тест.ПроверитьБольшеИлиРавно('20100102', '20100102'); - -КонецПроцедуры - -Процедура Тест_ПроверитьБольшеИлиРавноПадает() Экспорт - //FIXME: проверить на невыполнилось. - Я_Тест.ПроверитьНеВыполнилось("ПроверитьБольшеИлиРавно(1, 2)", "Первый параметр (1) меньше второго (2) а хотели, чтобы был больше или равен."); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьБольшеИлиРавно(""1"", ""2"")", "Первый параметр (1) меньше второго (2) а хотели, чтобы был больше или равен."); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьБольшеИлиРавно('20100101', '20100102')", "Первый параметр (" + '20100101' + ") меньше второго (" + '20100102' + ") а хотели, чтобы был больше или равен."); - -КонецПроцедуры - diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/renames.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/renames.txt" deleted file mode 100644 index a7517a74..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/renames.txt" +++ /dev/null @@ -1,7 +0,0 @@ -2c7403d9-12d3-4793-8638-68665c64c197-->und\2c7403d9-12d3-4793-8638-68665c64c197 -6c74a597-6dc6-44ac-97bd-b8871cccb0b2.0\info-->und\6c74a597-6dc6-44ac-97bd-b8871cccb0b2.0\info -6c74a597-6dc6-44ac-97bd-b8871cccb0b2.0\text-->ObjectModule.txt -copyinfo-->und\copyinfo -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/2c7403d9-12d3-4793-8638-68665c64c197" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/2c7403d9-12d3-4793-8638-68665c64c197" deleted file mode 100644 index aadbc17a..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/2c7403d9-12d3-4793-8638-68665c64c197" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{2c7403d9-12d3-4793-8638-68665c64c197},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,bae2cfe0-259d-4f0e-809c-21b0d0e4fd9c,429f79b4-5172-49fc-b7d7-325fa840a1d6, -{0, -{0, -{0,0,6c74a597-6dc6-44ac-97bd-b8871cccb0b2},"ПроверитьПроверитьБольше", -{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}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/6c74a597-6dc6-44ac-97bd-b8871cccb0b2.0/info" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/6c74a597-6dc6-44ac-97bd-b8871cccb0b2.0/info" deleted file mode 100644 index c70b5f39..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/6c74a597-6dc6-44ac-97bd-b8871cccb0b2.0/info" +++ /dev/null @@ -1 +0,0 @@ -{3,1,0,"",0} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/copyinfo" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/copyinfo" deleted file mode 100644 index 08913bc8..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/copyinfo" +++ /dev/null @@ -1,7 +0,0 @@ -{4, -{0}, -{0}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/root" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/root" deleted file mode 100644 index c9367b87..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,2c7403d9-12d3-4793-8638-68665c64c197,} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/version" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/version" deleted file mode 100644 index c23bfe28..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/version" +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/versions" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/versions" deleted file mode 100644 index a93bc3a9..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\221\320\276\320\273\321\214\321\210\320\265/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,8,"",7ae5e1b9-a396-4e7c-a1fb-88b993165e21,"versions",eb29e33d-3f5c-43a4-b74c-9d697e4f37ff,"root",efc2f5c6-bce8-4188-a00f-a9459116eb3c,"6c74a597-6dc6-44ac-97bd-b8871cccb0b2",031d5ee2-034e-468f-a330-65734c021447,"6c74a597-6dc6-44ac-97bd-b8871cccb0b2.0",f48f00cf-1e8f-44b9-a197-4f2744f3a966,"2c7403d9-12d3-4793-8638-68665c64c197",cac36bdf-5a3c-40e2-8f61-ab61227e3070,"version",8ee0c8bf-58f9-49d0-8aea-be55354e147b,"copyinfo",f6a0779a-275f-4a02-a509-9abbbce7469c} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index 46138811..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,181 +0,0 @@ - -//{ основная процедура для юнит-тестирования xUnitFor1C -&НаКлиенте -Перем ЮТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеВКоллекцию_Массив"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеВКоллекцию_Массив_ЭлементНеНайден"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированныйМассив"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированныйМассив_ЭлементНеНайден"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеВКоллекцию_Структура"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеВКоллекцию_Структура_ЭлементНеНайден"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированнаяСтруктура"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированнаяСтруктура_ЭлементНеНайден"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеВКоллекцию_Соответствие"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеВКоллекцию_Соответствие_ЭлементНеНайден"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированноеСоответствие"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированноеСоответствие_ЭлементНеНайден"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеВКоллекцию_СписокЗначений"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеВКоллекцию_СписокЗначений_ЭлементНеНайден"); - - Возврат ВсеТесты; - -КонецФункции -//} - -//{ блок юнит-тестов - сами тесты - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_Массив() Экспорт - Коллекция = Новый Массив(); - Элемент = 20; - Коллекция.Добавить(Элемент); - - ЮТест.ПроверитьВхождениеВКоллекцию(Элемент, Коллекция, "Элемент, Коллекция"); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_Массив_ЭлементНеНайден() Экспорт - Коллекция = Новый Массив(); - Элемент = 20; - Коллекция.Добавить(Элемент); - - ПроверитьНеверныйЭлемент(10, Коллекция); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированныйМассив() Экспорт - Коллекция = Новый Массив(); - Элемент = 20; - Коллекция.Добавить(Элемент); - Коллекция = Новый ФиксированныйМассив(Коллекция); - - ЮТест.ПроверитьВхождениеВКоллекцию(Элемент, Коллекция, "Элемент, Коллекция"); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированныйМассив_ЭлементНеНайден() Экспорт - Коллекция = Новый Массив(); - Элемент = 20; - Коллекция.Добавить(Элемент); - Коллекция = Новый ФиксированныйМассив(Коллекция); - - ПроверитьНеверныйЭлемент(10, Коллекция); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_Структура() Экспорт - Коллекция = Новый Структура(); - Элемент = 20; - Коллекция.Вставить("Ключ", Элемент); - - ЮТест.ПроверитьВхождениеВКоллекцию(Элемент, Коллекция, "Элемент, Коллекция"); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_Структура_ЭлементНеНайден() Экспорт - Коллекция = Новый Структура(); - Элемент = 20; - Коллекция.Вставить("Ключ", Элемент); - - ПроверитьНеверныйЭлемент(10, Коллекция); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированнаяСтруктура() Экспорт - Коллекция = Новый Структура(); - Элемент = 20; - Коллекция.Вставить("Ключ", Элемент); - Коллекция = Новый ФиксированнаяСтруктура(Коллекция); - - ЮТест.ПроверитьВхождениеВКоллекцию(Элемент, Коллекция, "Элемент, Коллекция"); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированнаяСтруктура_ЭлементНеНайден() Экспорт - Коллекция = Новый Структура(); - Элемент = 20; - Коллекция.Вставить("Ключ", Элемент); - Коллекция = Новый ФиксированнаяСтруктура(Коллекция); - - ПроверитьНеверныйЭлемент(10, Коллекция); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_Соответствие() Экспорт - Коллекция = Новый Соответствие(); - Элемент = 20; - Коллекция.Вставить("Ключ", Элемент); - - ЮТест.ПроверитьВхождениеВКоллекцию(Элемент, Коллекция, "Элемент, Коллекция"); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_Соответствие_ЭлементНеНайден() Экспорт - Коллекция = Новый Соответствие(); - Элемент = 20; - Коллекция.Вставить("Ключ", Элемент); - - ПроверитьНеверныйЭлемент(10, Коллекция); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированноеСоответствие() Экспорт - Коллекция = Новый Соответствие(); - Элемент = 20; - Коллекция.Вставить("Ключ", Элемент); - Коллекция = Новый ФиксированноеСоответствие(Коллекция); - - ЮТест.ПроверитьВхождениеВКоллекцию(Элемент, Коллекция, "Элемент, Коллекция"); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированноеСоответствие_ЭлементНеНайден() Экспорт - Коллекция = Новый Соответствие(); - Элемент = 20; - Коллекция.Вставить("Ключ", Элемент); - Коллекция = Новый ФиксированноеСоответствие(Коллекция); - - ПроверитьНеверныйЭлемент(10, Коллекция); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_СписокЗначений() Экспорт - Коллекция = Новый СписокЗначений(); - Элемент = 20; - Коллекция.Добавить(Элемент, "Ключ"); - - ЮТест.ПроверитьВхождениеВКоллекцию(Элемент, Коллекция, "Элемент, Коллекция"); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_СписокЗначений_ЭлементНеНайден() Экспорт - Коллекция = Новый СписокЗначений(); - Элемент = 20; - Коллекция.Добавить(Элемент, "Ключ"); - - ПроверитьНеверныйЭлемент(10, Коллекция); -КонецПроцедуры - - -&НаКлиенте -Процедура ПроверитьНеверныйЭлемент(НеверныйЭлемент, Коллекция) - БылоИсключение = Ложь; - Попытка - ЮТест.ПроверитьВхождениеВКоллекцию(НеверныйЭлемент, Коллекция, "Элемента нет в Коллекция"); - Исключение - Ошибка = ОписаниеОшибки(); - БылоИсключение = Истина; - КонецПопытки; - ЮТест.Проверить(БылоИсключение, "Ожидала исключения от ""ПроверитьВхождениеВКоллекцию"", а его не было"); - ЮТест.ПроверитьВхождение(Ошибка, "Не нашли элемент <"+НеверныйЭлемент+"> в коллекции, а хотели, чтобы он был в коллекции.", "текст исключения"); -КонецПроцедуры - -//} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/ObjectModule.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/ObjectModule.txt" deleted file mode 100644 index 07f4cf4c..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/ObjectModule.txt" +++ /dev/null @@ -1,164 +0,0 @@ - -//{ основная процедура для юнит-тестирования xUnitFor1C -Перем ЮТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеВКоллекцию_Массив"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеВКоллекцию_Массив_ЭлементНеНайден"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированныйМассив"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированныйМассив_ЭлементНеНайден"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеВКоллекцию_Структура"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеВКоллекцию_Структура_ЭлементНеНайден"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированнаяСтруктура"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированнаяСтруктура_ЭлементНеНайден"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеВКоллекцию_Соответствие"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеВКоллекцию_Соответствие_ЭлементНеНайден"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированноеСоответствие"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированноеСоответствие_ЭлементНеНайден"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеВКоллекцию_СписокЗначений"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеВКоллекцию_СписокЗначений_ЭлементНеНайден"); - - Возврат ВсеТесты; - -КонецФункции -//} - -//{ блок юнит-тестов - сами тесты - -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_Массив() Экспорт - Коллекция = Новый Массив(); - Элемент = 20; - Коллекция.Добавить(Элемент); - - ЮТест.ПроверитьВхождениеВКоллекцию(Элемент, Коллекция, "Элемент, Коллекция"); -КонецПроцедуры - -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_Массив_ЭлементНеНайден() Экспорт - Коллекция = Новый Массив(); - Элемент = 20; - Коллекция.Добавить(Элемент); - - ПроверитьНеверныйЭлемент(10, Коллекция); -КонецПроцедуры - -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированныйМассив() Экспорт - Коллекция = Новый Массив(); - Элемент = 20; - Коллекция.Добавить(Элемент); - Коллекция = Новый ФиксированныйМассив(Коллекция); - - ЮТест.ПроверитьВхождениеВКоллекцию(Элемент, Коллекция, "Элемент, Коллекция"); -КонецПроцедуры - -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированныйМассив_ЭлементНеНайден() Экспорт - Коллекция = Новый Массив(); - Элемент = 20; - Коллекция.Добавить(Элемент); - Коллекция = Новый ФиксированныйМассив(Коллекция); - - ПроверитьНеверныйЭлемент(10, Коллекция); -КонецПроцедуры - -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_Структура() Экспорт - Коллекция = Новый Структура(); - Элемент = 20; - Коллекция.Вставить("Ключ", Элемент); - - ЮТест.ПроверитьВхождениеВКоллекцию(Элемент, Коллекция, "Элемент, Коллекция"); -КонецПроцедуры - -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_Структура_ЭлементНеНайден() Экспорт - Коллекция = Новый Структура(); - Элемент = 20; - Коллекция.Вставить("Ключ", Элемент); - - ПроверитьНеверныйЭлемент(10, Коллекция); -КонецПроцедуры - -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированнаяСтруктура() Экспорт - Коллекция = Новый Структура(); - Элемент = 20; - Коллекция.Вставить("Ключ", Элемент); - Коллекция = Новый ФиксированнаяСтруктура(Коллекция); - - ЮТест.ПроверитьВхождениеВКоллекцию(Элемент, Коллекция, "Элемент, Коллекция"); -КонецПроцедуры - -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированнаяСтруктура_ЭлементНеНайден() Экспорт - Коллекция = Новый Структура(); - Элемент = 20; - Коллекция.Вставить("Ключ", Элемент); - Коллекция = Новый ФиксированнаяСтруктура(Коллекция); - - ПроверитьНеверныйЭлемент(10, Коллекция); -КонецПроцедуры - -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_Соответствие() Экспорт - Коллекция = Новый Соответствие(); - Элемент = 20; - Коллекция.Вставить("Ключ", Элемент); - - ЮТест.ПроверитьВхождениеВКоллекцию(Элемент, Коллекция, "Элемент, Коллекция"); -КонецПроцедуры - -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_Соответствие_ЭлементНеНайден() Экспорт - Коллекция = Новый Соответствие(); - Элемент = 20; - Коллекция.Вставить("Ключ", Элемент); - - ПроверитьНеверныйЭлемент(10, Коллекция); -КонецПроцедуры - -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированноеСоответствие() Экспорт - Коллекция = Новый Соответствие(); - Элемент = 20; - Коллекция.Вставить("Ключ", Элемент); - Коллекция = Новый ФиксированноеСоответствие(Коллекция); - - ЮТест.ПроверитьВхождениеВКоллекцию(Элемент, Коллекция, "Элемент, Коллекция"); -КонецПроцедуры - -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированноеСоответствие_ЭлементНеНайден() Экспорт - Коллекция = Новый Соответствие(); - Элемент = 20; - Коллекция.Вставить("Ключ", Элемент); - Коллекция = Новый ФиксированноеСоответствие(Коллекция); - - ПроверитьНеверныйЭлемент(10, Коллекция); -КонецПроцедуры - -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_СписокЗначений() Экспорт - Коллекция = Новый СписокЗначений(); - Элемент = 20; - Коллекция.Добавить(Элемент, "Ключ"); - - ЮТест.ПроверитьВхождениеВКоллекцию(Элемент, Коллекция, "Элемент, Коллекция"); -КонецПроцедуры - -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_СписокЗначений_ЭлементНеНайден() Экспорт - Коллекция = Новый СписокЗначений(); - Элемент = 20; - Коллекция.Добавить(Элемент, "Ключ"); - - ПроверитьНеверныйЭлемент(10, Коллекция); -КонецПроцедуры - - -Процедура ПроверитьНеверныйЭлемент(НеверныйЭлемент, Коллекция) - БылоИсключение = Ложь; - Попытка - ЮТест.ПроверитьВхождениеВКоллекцию(НеверныйЭлемент, Коллекция, "Элемента нет в Коллекция"); - Исключение - Ошибка = ОписаниеОшибки(); - БылоИсключение = Истина; - КонецПопытки; - ЮТест.Проверить(БылоИсключение, "Ожидала исключения от ""ПроверитьВхождениеВКоллекцию"", а его не было"); - ЮТест.ПроверитьВхождение(Ошибка, "Не нашли элемент <"+НеверныйЭлемент+"> в коллекции, а хотели, чтобы он был в коллекции.", "текст исключения"); -КонецПроцедуры - -//} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/renames.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/renames.txt" deleted file mode 100644 index 571c005d..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/renames.txt" +++ /dev/null @@ -1,11 +0,0 @@ -7fee0032-60d2-407f-8cb4-61ed1c95ba08-->und\7fee0032-60d2-407f-8cb4-61ed1c95ba08 -81c30b94-2b30-4e2d-b046-69aa3fc912ab.0\info-->und\81c30b94-2b30-4e2d-b046-69aa3fc912ab.0\info -81c30b94-2b30-4e2d-b046-69aa3fc912ab.0\text-->ObjectModule.txt -copyinfo-->und\copyinfo -fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa-->und\fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa -fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0-->Form\Форма\Форма.txt -fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0-->und\fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0 -fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0-->und\fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0 -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/und/7fee0032-60d2-407f-8cb4-61ed1c95ba08" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/und/7fee0032-60d2-407f-8cb4-61ed1c95ba08" deleted file mode 100644 index 83441e37..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/und/7fee0032-60d2-407f-8cb4-61ed1c95ba08" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{7fee0032-60d2-407f-8cb4-61ed1c95ba08},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,ba46524a-1f27-4008-8686-2703897f6737,60ebfd09-c7a5-4a20-9de2-e03bac2c8b27, -{0, -{0, -{0,0,81c30b94-2b30-4e2d-b046-69aa3fc912ab},"ТестыПроверитьВхождениеВКоллекцию", -{1,"ru","Тесты проверить вхождение в коллекцию"},""} -},fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/und/81c30b94-2b30-4e2d-b046-69aa3fc912ab.0/info" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/und/81c30b94-2b30-4e2d-b046-69aa3fc912ab.0/info" deleted file mode 100644 index c70b5f39..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/und/81c30b94-2b30-4e2d-b046-69aa3fc912ab.0/info" +++ /dev/null @@ -1 +0,0 @@ -{3,1,0,"",0} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/und/copyinfo" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/und/copyinfo" deleted file mode 100644 index ebcbc5b5..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{81c30b94-2b30-4e2d-b046-69aa3fc912ab,81c30b94-2b30-4e2d-b046-69aa3fc912ab,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ТестыПроверитьВхождениеВКоллекцию"} -}, -{fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa,fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -} -}, -{1, -{ba46524a-1f27-4008-8686-2703897f6737,81c30b94-2b30-4e2d-b046-69aa3fc912ab,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/und/fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/und/fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0" deleted file mode 100644 index ac074b9d..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/und/fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0" +++ /dev/null @@ -1,247 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -}," -//{ основная процедура для юнит-тестирования xUnitFor1C -&НаКлиенте -Перем ЮТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить(""ТестДолжен_ПроверитьВхождениеВКоллекцию_Массив""); - ВсеТесты.Добавить(""ТестДолжен_ПроверитьВхождениеВКоллекцию_Массив_ЭлементНеНайден""); - ВсеТесты.Добавить(""ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированныйМассив""); - ВсеТесты.Добавить(""ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированныйМассив_ЭлементНеНайден""); - ВсеТесты.Добавить(""ТестДолжен_ПроверитьВхождениеВКоллекцию_Структура""); - ВсеТесты.Добавить(""ТестДолжен_ПроверитьВхождениеВКоллекцию_Структура_ЭлементНеНайден""); - ВсеТесты.Добавить(""ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированнаяСтруктура""); - ВсеТесты.Добавить(""ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированнаяСтруктура_ЭлементНеНайден""); - ВсеТесты.Добавить(""ТестДолжен_ПроверитьВхождениеВКоллекцию_Соответствие""); - ВсеТесты.Добавить(""ТестДолжен_ПроверитьВхождениеВКоллекцию_Соответствие_ЭлементНеНайден""); - ВсеТесты.Добавить(""ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированноеСоответствие""); - ВсеТесты.Добавить(""ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированноеСоответствие_ЭлементНеНайден""); - ВсеТесты.Добавить(""ТестДолжен_ПроверитьВхождениеВКоллекцию_СписокЗначений""); - ВсеТесты.Добавить(""ТестДолжен_ПроверитьВхождениеВКоллекцию_СписокЗначений_ЭлементНеНайден""); - - Возврат ВсеТесты; - -КонецФункции -//} - -//{ блок юнит-тестов - сами тесты - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_Массив() Экспорт - Коллекция = Новый Массив(); - Элемент = 20; - Коллекция.Добавить(Элемент); - - ЮТест.ПроверитьВхождениеВКоллекцию(Элемент, Коллекция, ""Элемент, Коллекция""); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_Массив_ЭлементНеНайден() Экспорт - Коллекция = Новый Массив(); - Элемент = 20; - Коллекция.Добавить(Элемент); - - ПроверитьНеверныйЭлемент(10, Коллекция); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированныйМассив() Экспорт - Коллекция = Новый Массив(); - Элемент = 20; - Коллекция.Добавить(Элемент); - Коллекция = Новый ФиксированныйМассив(Коллекция); - - ЮТест.ПроверитьВхождениеВКоллекцию(Элемент, Коллекция, ""Элемент, Коллекция""); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированныйМассив_ЭлементНеНайден() Экспорт - Коллекция = Новый Массив(); - Элемент = 20; - Коллекция.Добавить(Элемент); - Коллекция = Новый ФиксированныйМассив(Коллекция); - - ПроверитьНеверныйЭлемент(10, Коллекция); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_Структура() Экспорт - Коллекция = Новый Структура(); - Элемент = 20; - Коллекция.Вставить(""Ключ"", Элемент); - - ЮТест.ПроверитьВхождениеВКоллекцию(Элемент, Коллекция, ""Элемент, Коллекция""); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_Структура_ЭлементНеНайден() Экспорт - Коллекция = Новый Структура(); - Элемент = 20; - Коллекция.Вставить(""Ключ"", Элемент); - - ПроверитьНеверныйЭлемент(10, Коллекция); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированнаяСтруктура() Экспорт - Коллекция = Новый Структура(); - Элемент = 20; - Коллекция.Вставить(""Ключ"", Элемент); - Коллекция = Новый ФиксированнаяСтруктура(Коллекция); - - ЮТест.ПроверитьВхождениеВКоллекцию(Элемент, Коллекция, ""Элемент, Коллекция""); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированнаяСтруктура_ЭлементНеНайден() Экспорт - Коллекция = Новый Структура(); - Элемент = 20; - Коллекция.Вставить(""Ключ"", Элемент); - Коллекция = Новый ФиксированнаяСтруктура(Коллекция); - - ПроверитьНеверныйЭлемент(10, Коллекция); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_Соответствие() Экспорт - Коллекция = Новый Соответствие(); - Элемент = 20; - Коллекция.Вставить(""Ключ"", Элемент); - - ЮТест.ПроверитьВхождениеВКоллекцию(Элемент, Коллекция, ""Элемент, Коллекция""); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_Соответствие_ЭлементНеНайден() Экспорт - Коллекция = Новый Соответствие(); - Элемент = 20; - Коллекция.Вставить(""Ключ"", Элемент); - - ПроверитьНеверныйЭлемент(10, Коллекция); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированноеСоответствие() Экспорт - Коллекция = Новый Соответствие(); - Элемент = 20; - Коллекция.Вставить(""Ключ"", Элемент); - Коллекция = Новый ФиксированноеСоответствие(Коллекция); - - ЮТест.ПроверитьВхождениеВКоллекцию(Элемент, Коллекция, ""Элемент, Коллекция""); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_ФиксированноеСоответствие_ЭлементНеНайден() Экспорт - Коллекция = Новый Соответствие(); - Элемент = 20; - Коллекция.Вставить(""Ключ"", Элемент); - Коллекция = Новый ФиксированноеСоответствие(Коллекция); - - ПроверитьНеверныйЭлемент(10, Коллекция); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_СписокЗначений() Экспорт - Коллекция = Новый СписокЗначений(); - Элемент = 20; - Коллекция.Добавить(Элемент, ""Ключ""); - - ЮТест.ПроверитьВхождениеВКоллекцию(Элемент, Коллекция, ""Элемент, Коллекция""); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеВКоллекцию_СписокЗначений_ЭлементНеНайден() Экспорт - Коллекция = Новый СписокЗначений(); - Элемент = 20; - Коллекция.Добавить(Элемент, ""Ключ""); - - ПроверитьНеверныйЭлемент(10, Коллекция); -КонецПроцедуры - - -&НаКлиенте -Процедура ПроверитьНеверныйЭлемент(НеверныйЭлемент, Коллекция) - БылоИсключение = Ложь; - Попытка - ЮТест.ПроверитьВхождениеВКоллекцию(НеверныйЭлемент, Коллекция, ""Элемента нет в Коллекция""); - Исключение - Ошибка = ОписаниеОшибки(); - БылоИсключение = Истина; - КонецПопытки; - ЮТест.Проверить(БылоИсключение, ""Ожидала исключения от """"ПроверитьВхождениеВКоллекцию"""", а его не было""); - ЮТест.ПроверитьВхождение(Ошибка, ""Не нашли элемент <""+НеверныйЭлемент+""> в коллекции, а хотели, чтобы он был в коллекции."", ""текст исключения""); -КонецПроцедуры - -//} ", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",ba46524a-1f27-4008-8686-2703897f6737} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/und/version" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/und/version" deleted file mode 100644 index c23bfe28..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/und/version" +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/und/versions" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/und/versions" deleted file mode 100644 index 39173600..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\205\320\276\320\266\320\264\320\265\320\275\320\270\320\265\320\222\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\216/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,9,"",d87294d9-4647-4c94-a325-52b30625d0b6,"versions",7a91fa4b-220c-4645-a5e9-56f39f9e23c1,"root",02accd6f-4ebe-4372-ac17-aa399dcde397,"81c30b94-2b30-4e2d-b046-69aa3fc912ab.0",b52a6cd7-8a55-4d89-9a92-bb3667b8a133,"version",421af4dd-726b-438e-9afc-8bfeb1899cb9,"7fee0032-60d2-407f-8cb4-61ed1c95ba08",e75ac95f-1354-4267-aff0-556adeb0ba70,"fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0",791b2660-5bd8-46a2-ab0f-b9561399772a,"copyinfo",d04afa4b-33c6-4e28-8803-bee8c11bca0b,"fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa",3a72c0d4-18d8-45a2-91aa-daec83c85be4} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/ObjectModule.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/ObjectModule.txt" deleted file mode 100644 index 1534fa53..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/ObjectModule.txt" +++ /dev/null @@ -1,126 +0,0 @@ -Перем ЮТест; - -Функция ПолучитьСписокТестов(ОбъектТестирования) Экспорт - - юТест = ОбъектТестирования; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("Тесты_ПроверитьВыполнилось_БезПараметров"); - ВсеТесты.Добавить("Тесты_ПроверитьВыполнилось_ПараметрыВСтруктуре"); - ВсеТесты.Добавить("Тесты_ПроверитьВыполнилось_ПараметрыВМассиве"); - ВсеТесты.Добавить("Тесты_ПроверитьВыполнилосьУпал"); - ВсеТесты.Добавить("Тест_ПроверитьНеВыполнилось_БезПараметров"); - ВсеТесты.Добавить("Тест_ПроверитьНеВыполнилось_ЯвноУказанНеопределенныйПараметр"); - ВсеТесты.Добавить("Тест_ПроверитьНеВыполнилось_ПараметрыВСтруктуре"); - ВсеТесты.Добавить("Тест_ПроверитьНеВыполнилось_ПараметрыВМассиве"); - ВсеТесты.Добавить("Тест_ПроверитьНеВыполнилосьУпал"); - ВсеТесты.Добавить("Тесты_ПроверитьМетодВыполнился_БезПараметров"); - ВсеТесты.Добавить("Тесты_ПроверитьМетодВыполнился_ЯвноУказанНеопределенныйПараметр"); - ВсеТесты.Добавить("Тесты_ПроверитьМетодВыполнился_Параметры"); - ВсеТесты.Добавить("Тесты_ПроверитьМетодВыполнилсяУпал"); - ВсеТесты.Добавить("Тесты_ПроверитьМетодНеВыполнился"); - ВсеТесты.Добавить("Тесты_ПроверитьМетодНеВыполнилсяУпал"); - - Возврат ВсеТесты; - -КонецФункции - -Процедура Тесты_ПроверитьВыполнилось_БезПараметров() Экспорт - рез = 2; - ЮТест.ПроверитьВыполнилось("рез = 10"); - ЮТест.ПроверитьРавенство(2, рез, "рез"); -КонецПроцедуры - -Процедура Тесты_ПроверитьВыполнилось_ПараметрыВСтруктуре() Экспорт - рез = 2; - Параметры = Новый Структура("рез", рез); - ЮТест.ПроверитьВыполнилось("Параметры.рез = 10", Параметры); - ЮТест.ПроверитьРавенство(10, Параметры.рез, "Параметры.рез"); -КонецПроцедуры - -Процедура Тесты_ПроверитьВыполнилось_ПараметрыВМассиве() Экспорт - рез = 2; - Параметры = Новый Массив; - Параметры.Добавить(рез); - ЮТест.ПроверитьВыполнилось("Параметры[0] = 10", Параметры); - ЮТест.ПроверитьРавенство(2, рез, "рез"); - ЮТест.ПроверитьРавенство(10, Параметры[0], "Параметры[0]"); -КонецПроцедуры - -Процедура Тесты_ПроверитьВыполнилосьУпал() Экспорт - рез = 2; - ЮТест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьВыполнилось(""рез = 1/0"")", "Хотели, чтобы алгоритм ""рез = 1/0"" выполнился, а он упал с ошибкой ""{(1)}: Деление на 0"); -КонецПроцедуры - -Процедура Тест_ПроверитьНеВыполнилось_БезПараметров() Экспорт - рез = 2; - ЮТест.ПроверитьНеВыполнилось("рез = 1/0", "Деление на 0"); -КонецПроцедуры - -Процедура Тест_ПроверитьНеВыполнилось_ЯвноУказанНеопределенныйПараметр() Экспорт - рез = 2; - ЮТест.ПроверитьНеВыполнилось("рез = 1/0", Неопределено,"Деление на 0"); -КонецПроцедуры - -Процедура Тест_ПроверитьНеВыполнилось_ПараметрыВСтруктуре() Экспорт - рез = 2; - Параметры = Новый Структура("рез", рез); - ЮТест.ПроверитьНеВыполнилось("Параметры.рез = 1/0", Параметры, "Деление на 0"); - ЮТест.ПроверитьРавенство(2, рез, "рез"); - ЮТест.ПроверитьРавенство(2, Параметры.рез, "Параметры.рез"); -КонецПроцедуры - -Процедура Тест_ПроверитьНеВыполнилось_ПараметрыВМассиве() Экспорт - рез = 2; - Параметры = Новый Массив; - Параметры.Добавить(рез); - ЮТест.ПроверитьНеВыполнилось("Параметры[0] = 1/0", Параметры, "Деление на 0"); - ЮТест.ПроверитьРавенство(2, рез, "рез"); - ЮТест.ПроверитьРавенство(2, Параметры[0], "Параметры[0]"); -КонецПроцедуры - -Процедура Тест_ПроверитьНеВыполнилосьУпал() Экспорт - ЮТест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьНеВыполнилось(""рез = 10"", ""Деление на 0"")", "Хотели, чтобы алгоритм ""рез = 10"" упал, а он выполнился"); - ЮТест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьНеВыполнилось(""рез = 1/0"", ""Другое сообщение об ошибке"")", "Хотели, чтобы алгоритм ""рез = 1/0"" упал с сообщением об ошибке ""Другое сообщение об ошибке"", а он упал с сообщением ""{(1)}: Деление на 0"); -КонецПроцедуры - -Процедура Тесты_ПроверитьМетодВыполнился_БезПараметров() Экспорт - Текст = Новый ТекстовыйДокумент; - Текст.УстановитьТекст("ывадол"); - ЮТест.ПроверитьМетодВыполнился(Текст, "Очистить"); - ЮТест.ПроверитьНеЗаполненность(Текст.ПолучитьТекст(), "Текст"); -КонецПроцедуры - -Процедура Тесты_ПроверитьМетодВыполнился_ЯвноУказанНеопределенныйПараметр() Экспорт - Текст = Новый ТекстовыйДокумент; - ЮТест.ПроверитьМетодВыполнился(Текст, "Очистить", Неопределено, "Текст.Очистить"); - ЮТест.ПроверитьНеЗаполненность(Текст.ПолучитьТекст(), "Текст"); -КонецПроцедуры - -Процедура Тесты_ПроверитьМетодВыполнился_Параметры() Экспорт - Текст = Новый ТекстовыйДокумент; - Параметры = Новый Массив; - Параметры.Добавить("НовыйТекст"); - ЮТест.ПроверитьМетодВыполнился(Текст, "УстановитьТекст", Параметры); - ЮТест.ПроверитьРавенство("НовыйТекст", Текст.ПолучитьТекст(), "Текст.ПолучитьТекст()"); -КонецПроцедуры - -Процедура Тесты_ПроверитьМетодВыполнилсяУпал() Экспорт - ЮТест.ПроверитьНеВыполнилось("Текст = Новый ТекстовыйДокумент; ЭтотОбъект.ПроверитьМетодВыполнился(Текст, ""__Очистить"")", "Хотели, чтобы код ""Объект.__Очистить()"" выполнился, а он упал с ошибкой ""{(1)}: Метод объекта не обнаружен (__Очистить)"); -КонецПроцедуры - -Процедура Тесты_ПроверитьМетодНеВыполнился() Экспорт - Текст = Новый ТекстовыйДокумент; - ЮТест.ПроверитьМетодНеВыполнился(Текст, "__Очистить", "Метод объекта не обнаружен (__Очистить)"); -КонецПроцедуры - -Процедура Тесты_ПроверитьМетодНеВыполнилсяУпал() Экспорт - ЮТест.ПроверитьНеВыполнилось("Текст = Новый ТекстовыйДокумент;ЭтотОбъект.ПроверитьМетодНеВыполнился(Текст, ""Очистить"", ""Тут неважно, что"")", "Хотели, чтобы код ""Объект.Очистить()"" упал, а он выполнился"); - ЮТест.ПроверитьНеВыполнилось("Текст = Новый ТекстовыйДокумент;ЭтотОбъект.ПроверитьМетодНеВыполнился(Текст, ""__Очистить"", ""Тут неважно, что"")", "Хотели, чтобы код ""Объект.__Очистить()"" упал с сообщением об ошибке ""Тут неважно, что"", а он упал с сообщением ""{(1)}: Метод объекта не обнаружен (__Очистить)"); -КонецПроцедуры - -Процедура Bug_4456() Экспорт - ЮТест.ПроверитьВыполнилось("Упало = Истина"); - ЮТест.ПроверитьВыполнилось("Успех = Ложь"); -КонецПроцедуры \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/renames.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/renames.txt" deleted file mode 100644 index c4953d9e..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/renames.txt" +++ /dev/null @@ -1,7 +0,0 @@ -498e7f98-0af6-4b64-81e4-2c1e28c56195.0\info-->und\498e7f98-0af6-4b64-81e4-2c1e28c56195.0\info -498e7f98-0af6-4b64-81e4-2c1e28c56195.0\text-->ObjectModule.txt -copyinfo-->und\copyinfo -db8c43bc-6c10-462b-ae61-3c7c1d32345a-->und\db8c43bc-6c10-462b-ae61-3c7c1d32345a -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/498e7f98-0af6-4b64-81e4-2c1e28c56195.0/info" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/498e7f98-0af6-4b64-81e4-2c1e28c56195.0/info" deleted file mode 100644 index c70b5f39..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/498e7f98-0af6-4b64-81e4-2c1e28c56195.0/info" +++ /dev/null @@ -1 +0,0 @@ -{3,1,0,"",0} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/copyinfo" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/copyinfo" deleted file mode 100644 index 08913bc8..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/copyinfo" +++ /dev/null @@ -1,7 +0,0 @@ -{4, -{0}, -{0}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/db8c43bc-6c10-462b-ae61-3c7c1d32345a" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/db8c43bc-6c10-462b-ae61-3c7c1d32345a" deleted file mode 100644 index fd42a824..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/db8c43bc-6c10-462b-ae61-3c7c1d32345a" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{db8c43bc-6c10-462b-ae61-3c7c1d32345a},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,ba5460d1-9861-4aa5-b6cb-88d26240fac8,b2c5a111-d175-4d14-a391-a99f98dc2ad1, -{0, -{0, -{0,0,498e7f98-0af6-4b64-81e4-2c1e28c56195},"Тесты_ПроверитьВыполнилось_и_ПроверитьНеВыполнилось", -{1,"ru","Тесты ПроверитьВыполнилось и ПроверитьНеВыполнилось"},"Автор - Артур Аюханов aka artbear 2010"} -},00000000-0000-0000-0000-000000000000,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/root" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/root" deleted file mode 100644 index 927969f0..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,db8c43bc-6c10-462b-ae61-3c7c1d32345a,} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/version" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/version" deleted file mode 100644 index c23bfe28..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/version" +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/versions" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/versions" deleted file mode 100644 index 839856d7..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\270\321\202\321\214/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,8,"",fab9e224-e462-4836-b0be-7c9a069b34bf,"versions",eae61b50-2f32-4cf8-bf36-d0ba0af0beba,"498e7f98-0af6-4b64-81e4-2c1e28c56195.0",475df2e9-1842-4f5c-93ad-af4dc0c2b3ba,"root",8a3466ef-1445-407f-b8fb-67b24e8a2f84,"db8c43bc-6c10-462b-ae61-3c7c1d32345a",47011afa-911c-46b0-93a2-400bb4c18a40,"version",89e3944f-1645-499e-84c0-8eb8ff97d2c2,"498e7f98-0af6-4b64-81e4-2c1e28c56195",65bd47e4-a012-4529-b35b-986912bf078c,"copyinfo",c0a1c3e6-0f83-4e62-b5b8-dd68f7bad577} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index 343ed416..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,88 +0,0 @@ - -//{ основная процедура для юнит-тестирования xUnitFor1C -&НаКлиенте -Перем ЮТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеДатыВПериод"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьДатыОтличающиеНа1Секунду"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьДатыОтличающиеНа2Секунды"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьДатыОтличающиеНа3Секунды"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьРазныеДаты"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьОдинаковыеДаты"); - - Возврат ВсеТесты; - -КонецФункции -//} - -//{ блок юнит-тестов - сами тесты - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеДатыВПериод() Экспорт - Дата = '20101201235426'; - Период = Новый СтандартныйПериод(НачалоМинуты(Дата), КонецМинуты(Дата)); - ЮТест.ПроверитьДату(Дата, Период, "Дата должна находиться в периоде, а это не выполнено!"); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьДатыОтличающиеНа1Секунду() Экспорт - Дата = '20101201235426'; - Дата2 = '20101201235426'-1; - ЮТест.ПроверитьРавенствоДатСТочностью2Секунды(Дата, Дата2, "Даты должны считаться одинаковыми, а это не выполнено!"); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьДатыОтличающиеНа2Секунды() Экспорт - Дата = '20101201235426'; - Дата2 = '20101201235426'-2; - ЮТест.ПроверитьРавенствоДатСТочностью2Секунды(Дата, Дата2, "Даты должны считаться одинаковыми, а это не выполнено!"); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьДатыОтличающиеНа3Секунды() Экспорт - Дата = '20101201235426'; - Дата2 = '20101201235426'-3; - ОжидаемоеОписаниеОшибки = "Даты должны считаться разными, а это не выполнено!"; - - ПроверитьРавенствоДатСТочностью2Секунды(Дата, Дата2, ОжидаемоеОписаниеОшибки); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьРазныеДаты() Экспорт - Дата = '20101201235426'; - Дата2 = ТекущаяДата(); - ОжидаемоеОписаниеОшибки = "Даты должны считаться разными, а это не выполнено!"; - - ПроверитьРавенствоДатСТочностью2Секунды(Дата, Дата2, ОжидаемоеОписаниеОшибки); -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьРавенствоДатСТочностью2Секунды(Дата, Дата2, ОжидаемоеОписаниеОшибки) - БылоИсключение = Ложь; - Попытка - ЮТест.ПроверитьРавенствоДатСТочностью2Секунды(Дата, Дата2, ОжидаемоеОписаниеОшибки); - Исключение - БылоИсключение = Истина; - ПолученноеОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - КонецПопытки; - - Если НЕ БылоИсключение ИЛИ Найти(ПолученноеОписаниеОшибки, ОжидаемоеОписаниеОшибки) = 0 Тогда - ВызватьИсключение ОжидаемоеОписаниеОшибки+Символы.ПС+ПолученноеОписаниеОшибки; - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьОдинаковыеДаты() Экспорт - Дата = '20101201235426'; - Дата2 = '20101201235426'; - ЮТест.ПроверитьРавенствоДатСТочностью2Секунды(Дата, Дата2, "Даты должны считаться одинаковыми, а это не выполнено!"); -КонецПроцедуры - -//} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/ObjectModule.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/ObjectModule.txt" deleted file mode 100644 index 8db0ab6e..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/ObjectModule.txt" +++ /dev/null @@ -1,79 +0,0 @@ - -//{ основная процедура для юнит-тестирования xUnitFor1C -Перем ЮТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеДатыВПериод"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьДатыОтличающиеНа1Секунду"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьДатыОтличающиеНа2Секунды"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьДатыОтличающиеНа3Секунды"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьРазныеДаты"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьОдинаковыеДаты"); - - Возврат ВсеТесты; - -КонецФункции -//} - -//{ блок юнит-тестов - сами тесты - -Процедура ТестДолжен_ПроверитьВхождениеДатыВПериод() Экспорт - Дата = '20101201235426'; - Период = Новый СтандартныйПериод(НачалоМинуты(Дата), КонецМинуты(Дата)); - ЮТест.ПроверитьДату(Дата, Период, "Дата должна находиться в периоде, а это не выполнено!"); -КонецПроцедуры - -Процедура ТестДолжен_ПроверитьДатыОтличающиеНа1Секунду() Экспорт - Дата = '20101201235426'; - Дата2 = '20101201235426'-1; - ЮТест.ПроверитьРавенствоДатСТочностью2Секунды(Дата, Дата2, "Даты должны считаться одинаковыми, а это не выполнено!"); -КонецПроцедуры - -Процедура ТестДолжен_ПроверитьДатыОтличающиеНа2Секунды() Экспорт - Дата = '20101201235426'; - Дата2 = '20101201235426'-2; - ЮТест.ПроверитьРавенствоДатСТочностью2Секунды(Дата, Дата2, "Даты должны считаться одинаковыми, а это не выполнено!"); -КонецПроцедуры - -Процедура ТестДолжен_ПроверитьДатыОтличающиеНа3Секунды() Экспорт - Дата = '20101201235426'; - Дата2 = '20101201235426'-3; - ОжидаемоеОписаниеОшибки = "Даты должны считаться разными, а это не выполнено!"; - - ПроверитьРавенствоДатСТочностью2Секунды(Дата, Дата2, ОжидаемоеОписаниеОшибки); -КонецПроцедуры - -Процедура ТестДолжен_ПроверитьРазныеДаты() Экспорт - Дата = '20101201235426'; - Дата2 = ТекущаяДата(); - ОжидаемоеОписаниеОшибки = "Даты должны считаться разными, а это не выполнено!"; - - ПроверитьРавенствоДатСТочностью2Секунды(Дата, Дата2, ОжидаемоеОписаниеОшибки); -КонецПроцедуры - -Процедура ПроверитьРавенствоДатСТочностью2Секунды(Дата, Дата2, ОжидаемоеОписаниеОшибки) - БылоИсключение = Ложь; - Попытка - ЮТест.ПроверитьРавенствоДатСТочностью2Секунды(Дата, Дата2, ОжидаемоеОписаниеОшибки); - Исключение - БылоИсключение = Истина; - ПолученноеОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - КонецПопытки; - - Если НЕ БылоИсключение ИЛИ Найти(ПолученноеОписаниеОшибки, ОжидаемоеОписаниеОшибки) = 0 Тогда - ВызватьИсключение ОжидаемоеОписаниеОшибки+Символы.ПС+ПолученноеОписаниеОшибки; - КонецЕсли; -КонецПроцедуры - -Процедура ТестДолжен_ПроверитьОдинаковыеДаты() Экспорт - Дата = '20101201235426'; - Дата2 = '20101201235426'; - ЮТест.ПроверитьРавенствоДатСТочностью2Секунды(Дата, Дата2, "Даты должны считаться одинаковыми, а это не выполнено!"); -КонецПроцедуры - -//} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/renames.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/renames.txt" deleted file mode 100644 index bba7e7c7..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/renames.txt" +++ /dev/null @@ -1,11 +0,0 @@ -7fee0032-60d2-407f-8cb4-61ed1c95ba08-->und\7fee0032-60d2-407f-8cb4-61ed1c95ba08 -81c30b94-2b30-4e2d-b046-69aa3fc912ab.0\info-->und\81c30b94-2b30-4e2d-b046-69aa3fc912ab.0\info -81c30b94-2b30-4e2d-b046-69aa3fc912ab.0\text-->ObjectModule.txt -copyinfo-->und\copyinfo -fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa-->und\fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa -fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0-->C:\Projects\GitHub\xUnitFor1C\src\Tests\selftests\ТестыПроверитьДату\Form\Форма\Форма.txt -fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0-->und\fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0 -fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0-->und\fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0 -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/und/7fee0032-60d2-407f-8cb4-61ed1c95ba08" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/und/7fee0032-60d2-407f-8cb4-61ed1c95ba08" deleted file mode 100644 index e56f9c20..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/und/7fee0032-60d2-407f-8cb4-61ed1c95ba08" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{7fee0032-60d2-407f-8cb4-61ed1c95ba08},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,ba46524a-1f27-4008-8686-2703897f6737,60ebfd09-c7a5-4a20-9de2-e03bac2c8b27, -{0, -{0, -{0,0,81c30b94-2b30-4e2d-b046-69aa3fc912ab},"ТестыПроверитьДату", -{1,"ru","Тесты проверить дату"},""} -},fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/und/81c30b94-2b30-4e2d-b046-69aa3fc912ab.0/info" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/und/81c30b94-2b30-4e2d-b046-69aa3fc912ab.0/info" deleted file mode 100644 index c70b5f39..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/und/81c30b94-2b30-4e2d-b046-69aa3fc912ab.0/info" +++ /dev/null @@ -1 +0,0 @@ -{3,1,0,"",0} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/und/copyinfo" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/und/copyinfo" deleted file mode 100644 index 96df3ae6..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{81c30b94-2b30-4e2d-b046-69aa3fc912ab,81c30b94-2b30-4e2d-b046-69aa3fc912ab,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ТестыПроверитьДату"} -}, -{fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa,fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -} -}, -{1, -{ba46524a-1f27-4008-8686-2703897f6737,81c30b94-2b30-4e2d-b046-69aa3fc912ab,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/und/fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/und/fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa" deleted file mode 100644 index 9e5c9e8d..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/und/fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa},"Форма", -{1,"ru","Форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/und/fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/und/fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0" deleted file mode 100644 index 9876d7ce..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/und/fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0" +++ /dev/null @@ -1,154 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -}," -//{ основная процедура для юнит-тестирования xUnitFor1C -&НаКлиенте -Перем ЮТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить(""ТестДолжен_ПроверитьВхождениеДатыВПериод""); - ВсеТесты.Добавить(""ТестДолжен_ПроверитьДатыОтличающиеНа1Секунду""); - ВсеТесты.Добавить(""ТестДолжен_ПроверитьДатыОтличающиеНа2Секунды""); - ВсеТесты.Добавить(""ТестДолжен_ПроверитьДатыОтличающиеНа3Секунды""); - ВсеТесты.Добавить(""ТестДолжен_ПроверитьРазныеДаты""); - ВсеТесты.Добавить(""ТестДолжен_ПроверитьОдинаковыеДаты""); - - Возврат ВсеТесты; - -КонецФункции -//} - -//{ блок юнит-тестов - сами тесты - -&НаКлиенте -Процедура ТестДолжен_ПроверитьВхождениеДатыВПериод() Экспорт - Дата = '20101201235426'; - Период = Новый СтандартныйПериод(НачалоМинуты(Дата), КонецМинуты(Дата)); - ЮТест.ПроверитьДату(Дата, Период, ""Дата должна находиться в периоде, а это не выполнено!""); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьДатыОтличающиеНа1Секунду() Экспорт - Дата = '20101201235426'; - Дата2 = '20101201235426'-1; - ЮТест.ПроверитьРавенствоДатСТочностью2Секунды(Дата, Дата2, ""Даты должны считаться одинаковыми, а это не выполнено!""); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьДатыОтличающиеНа2Секунды() Экспорт - Дата = '20101201235426'; - Дата2 = '20101201235426'-2; - ЮТест.ПроверитьРавенствоДатСТочностью2Секунды(Дата, Дата2, ""Даты должны считаться одинаковыми, а это не выполнено!""); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьДатыОтличающиеНа3Секунды() Экспорт - Дата = '20101201235426'; - Дата2 = '20101201235426'-3; - ОжидаемоеОписаниеОшибки = ""Даты должны считаться разными, а это не выполнено!""; - - ПроверитьРавенствоДатСТочностью2Секунды(Дата, Дата2, ОжидаемоеОписаниеОшибки); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьРазныеДаты() Экспорт - Дата = '20101201235426'; - Дата2 = ТекущаяДата(); - ОжидаемоеОписаниеОшибки = ""Даты должны считаться разными, а это не выполнено!""; - - ПроверитьРавенствоДатСТочностью2Секунды(Дата, Дата2, ОжидаемоеОписаниеОшибки); -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьРавенствоДатСТочностью2Секунды(Дата, Дата2, ОжидаемоеОписаниеОшибки) - БылоИсключение = Ложь; - Попытка - ЮТест.ПроверитьРавенствоДатСТочностью2Секунды(Дата, Дата2, ОжидаемоеОписаниеОшибки); - Исключение - БылоИсключение = Истина; - ПолученноеОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - КонецПопытки; - - Если НЕ БылоИсключение ИЛИ Найти(ПолученноеОписаниеОшибки, ОжидаемоеОписаниеОшибки) = 0 Тогда - ВызватьИсключение ОжидаемоеОписаниеОшибки+Символы.ПС+ПолученноеОписаниеОшибки; - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПроверитьОдинаковыеДаты() Экспорт - Дата = '20101201235426'; - Дата2 = '20101201235426'; - ЮТест.ПроверитьРавенствоДатСТочностью2Секунды(Дата, Дата2, ""Даты должны считаться одинаковыми, а это не выполнено!""); -КонецПроцедуры - -//} ", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",ba46524a-1f27-4008-8686-2703897f6737} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/und/root" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/und/root" deleted file mode 100644 index fd74c4bf..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,7fee0032-60d2-407f-8cb4-61ed1c95ba08,} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/und/version" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/und/version" deleted file mode 100644 index c23bfe28..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/und/version" +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/und/versions" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/und/versions" deleted file mode 100644 index 8c1d7fd6..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\224\320\260\321\202\321\203/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,9,"",5827eab6-717a-40dc-9830-49a237dcc107,"versions",4b90159e-804e-4e55-bf06-b21942ccac17,"root",6a538c98-bbd3-4e7c-a4c7-77dc71440b56,"81c30b94-2b30-4e2d-b046-69aa3fc912ab.0",a2d27ad5-cafb-479b-89a4-e13aa549155c,"version",d52f0b07-141e-4cdc-8470-df5d86c97e01,"7fee0032-60d2-407f-8cb4-61ed1c95ba08",c4a941b2-929d-4ea9-b347-7eaafebad63e,"fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0",18702c22-935a-49a9-83ab-c84954920e99,"copyinfo",1d4f8d84-f971-48d8-b0d5-ca7289b56104,"fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa",6eff904a-462a-482e-a952-07356b99eca5} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/ObjectModule.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/ObjectModule.txt" deleted file mode 100644 index 3c60f490..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/ObjectModule.txt" +++ /dev/null @@ -1,118 +0,0 @@ -Перем Я_Тест; - -Функция ПолучитьСписокТестов(юТест) Экспорт - - Я_Тест = юТест; - - Результат = Я_Тест.Новый_НаборТестов(); - - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьЗаполненность"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьЗаполненностьПадает"); - - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьНеЗаполненность"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьНеЗаполненностьПадает"); - - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьЗаполненность_и_НеЗаполненность_Булево"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьЗаполненность_и_НеЗаполненность_Массивы"); - // TODO Другие коллекции значений - - Возврат Результат; - -КонецФункции - -Процедура Тест_ПроверитьЗаполненность() Экспорт - Я_Тест.ПроверитьЗаполненность(1); - Я_Тест.ПроверитьЗаполненность(-1); - Я_Тест.ПроверитьЗаполненность(0.00000000000000000000000001); - Я_Тест.ПроверитьЗаполненность(-0.00000000000000000000000001); - - Я_Тест.ПроверитьЗаполненность('00010102'); - Я_Тест.ПроверитьЗаполненность(ТекущаяДата()); - - Я_Тест.ПроверитьЗаполненность("а"); - - Если Метаданные.Отчеты.Количество() > 0 Тогда - Я_Тест.ПроверитьЗаполненность(Отчеты[Метаданные.Отчеты[0].Имя].Создать()); - КонецЕсли; - Если Метаданные.Обработки.Количество() > 0 Тогда - Я_Тест.ПроверитьЗаполненность(Обработки[Метаданные.Обработки[0].Имя].Создать()); - КонецЕсли; -КонецПроцедуры - -Процедура Тест_ПроверитьЗаполненностьПадает() Экспорт - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьЗаполненность(0)", "Значение (0) не заполнено, а ожидалась заполненность"); - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьЗаполненность('00010101')", "Значение (" + '00010101' + ") не заполнено, а ожидалась заполненность"); - - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьЗаполненность("""")", "Значение () не заполнено, а ожидалась заполненность"); - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьЗаполненность("" "")", "Значение ( ) не заполнено, а ожидалась заполненность"); // один пробел - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьЗаполненность("" "")", "Значение ( ) не заполнено, а ожидалась заполненность"); // два пробела - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьЗаполненность("" "")", "Значение ( ) не заполнено, а ожидалась заполненность"); // табуляция - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьЗаполненность(NULL, ""NULL"")", "Значение () не заполнено, а ожидалась заполненность"+Символы.ПС+"NULL"); - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьЗаполненность(Неопределено, ""Неопределено"")", "Значение () не заполнено, а ожидалась заполненность"+Символы.ПС+"Неопределено"); - - Если Метаданные.Справочники.Количество() > 0 Тогда - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьЗаполненность(Справочники[Метаданные.Справочники[0].Имя].ПустаяСсылка())", "Значение () не заполнено, а ожидалась заполненность"); - КонецЕсли; - Если Метаданные.Документы.Количество() > 0 Тогда - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьЗаполненность(Документы[Метаданные.Документы[0].Имя].ПустаяСсылка())", "Значение () не заполнено, а ожидалась заполненность"); - КонецЕсли; -КонецПроцедуры - -Процедура Тест_ПроверитьНеЗаполненность() Экспорт - Я_Тест.ПроверитьНеЗаполненность(0); - Я_Тест.ПроверитьНеЗаполненность('00010101'); - - Я_Тест.ПроверитьНеЗаполненность(""); - Я_Тест.ПроверитьНеЗаполненность(" "); - Я_Тест.ПроверитьНеЗаполненность(" "); - Я_Тест.ПроверитьНеЗаполненность(" "); // там табуляция - Я_Тест.ПроверитьНеЗаполненность(NULL, "NULL"); - Я_Тест.ПроверитьНеЗаполненность(Неопределено, "Неопределено"); - - Если Метаданные.Справочники.Количество() > 0 Тогда - Я_Тест.ПроверитьНеЗаполненность(Справочники[Метаданные.Справочники[0].Имя].ПустаяСсылка()); - КонецЕсли; - Если Метаданные.Документы.Количество() > 0 Тогда - Я_Тест.ПроверитьНеЗаполненность(Документы[Метаданные.Документы[0].Имя].ПустаяСсылка()); - КонецЕсли; -КонецПроцедуры - -Процедура Тест_ПроверитьНеЗаполненностьПадает() Экспорт - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьНеЗаполненность(1)", "Значение (1) заполнено, а ожидалась незаполненность"); - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьНеЗаполненность(-1)", "Значение (-1) заполнено, а ожидалась незаполненность"); - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьНеЗаполненность(0.00000000000000000000000001)", "Значение (0,00000000000000000000000001) заполнено, а ожидалась незаполненность"); - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьНеЗаполненность(-0.00000000000000000000000001)", "Значение (-0,00000000000000000000000001) заполнено, а ожидалась незаполненность"); - - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьНеЗаполненность('00010102')", "Значение (" + '00010102' + ") заполнено, а ожидалась незаполненность"); - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьНеЗаполненность(ТекущаяДата())", "Значение ("+ТекущаяДата()+") заполнено, а ожидалась незаполненность"); - - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьНеЗаполненность(""а"")", "Значение (а) заполнено, а ожидалась незаполненность"); - - Если Метаданные.Отчеты.Количество() > 0 Тогда - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьНеЗаполненность(Отчеты[Метаданные.Отчеты[0].Имя].Создать())", "Значение (ОтчетОбъект."+Метаданные.Отчеты[0].Имя+") заполнено, а ожидалась незаполненность"); - КонецЕсли; - Если Метаданные.Обработки.Количество() > 0 Тогда - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьНеЗаполненность(Обработки[Метаданные.Обработки[0].Имя].Создать())", "Значение (ОбработкаОбъект."+Метаданные.Обработки[0].Имя+") заполнено, а ожидалась незаполненность"); - КонецЕсли; -КонецПроцедуры - -Процедура Тест_ПроверитьЗаполненность_и_НеЗаполненность_Булево() Экспорт - Я_Тест.ПроверитьЗаполненность(Истина); - Я_Тест.ПроверитьЗаполненность(ЛОЖЬ); -КонецПроцедуры - -Процедура Тест_ПроверитьЗаполненность_и_НеЗаполненность_Массивы() Экспорт - Массив = Новый Массив(1); - Я_Тест.ПроверитьЗаполненность(Массив); - Я_Тест.ПроверитьЗаполненность(Новый ФиксированныйМассив(Массив)); - - Массив = Новый Массив(2); - Я_Тест.ПроверитьЗаполненность(Массив); - Я_Тест.ПроверитьЗаполненность(Новый ФиксированныйМассив(Массив)); - - Я_Тест.ПроверитьНеЗаполненность(Новый Массив); - Массив = Новый Массив(1); - Массив.Очистить(); - Я_Тест.ПроверитьНеЗаполненность(Массив); - Я_Тест.ПроверитьНеЗаполненность(Новый ФиксированныйМассив(Массив)); -КонецПроцедуры diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/renames.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/renames.txt" deleted file mode 100644 index c4953d9e..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/renames.txt" +++ /dev/null @@ -1,7 +0,0 @@ -498e7f98-0af6-4b64-81e4-2c1e28c56195.0\info-->und\498e7f98-0af6-4b64-81e4-2c1e28c56195.0\info -498e7f98-0af6-4b64-81e4-2c1e28c56195.0\text-->ObjectModule.txt -copyinfo-->und\copyinfo -db8c43bc-6c10-462b-ae61-3c7c1d32345a-->und\db8c43bc-6c10-462b-ae61-3c7c1d32345a -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/498e7f98-0af6-4b64-81e4-2c1e28c56195.0/info" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/498e7f98-0af6-4b64-81e4-2c1e28c56195.0/info" deleted file mode 100644 index c70b5f39..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/498e7f98-0af6-4b64-81e4-2c1e28c56195.0/info" +++ /dev/null @@ -1 +0,0 @@ -{3,1,0,"",0} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/copyinfo" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/copyinfo" deleted file mode 100644 index 08913bc8..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/copyinfo" +++ /dev/null @@ -1,7 +0,0 @@ -{4, -{0}, -{0}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/db8c43bc-6c10-462b-ae61-3c7c1d32345a" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/db8c43bc-6c10-462b-ae61-3c7c1d32345a" deleted file mode 100644 index 4fbbff6a..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/db8c43bc-6c10-462b-ae61-3c7c1d32345a" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{db8c43bc-6c10-462b-ae61-3c7c1d32345a},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,ba5460d1-9861-4aa5-b6cb-88d26240fac8,b2c5a111-d175-4d14-a391-a99f98dc2ad1, -{0, -{0, -{0,0,498e7f98-0af6-4b64-81e4-2c1e28c56195},"БазовыеТесты_Артур", -{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}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/root" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/root" deleted file mode 100644 index 927969f0..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,db8c43bc-6c10-462b-ae61-3c7c1d32345a,} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/version" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/version" deleted file mode 100644 index c23bfe28..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/version" +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/versions" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/versions" deleted file mode 100644 index e03f1d20..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\275\320\276\321\201\321\202\321\214/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,8,"",ceac00ac-0e05-43d7-9d2b-796f0d6b230a,"versions",59c8e6ce-a349-4839-8841-b4250413c433,"498e7f98-0af6-4b64-81e4-2c1e28c56195.0",3adf15bf-1ff2-4d54-a382-91c4f1e41443,"root",c44e8d64-d6eb-4dd7-b134-f2ca32a4022a,"db8c43bc-6c10-462b-ae61-3c7c1d32345a",fe6d5053-eeb6-4405-ab69-1f2805c1dcea,"version",d30fd652-7d94-4eb4-ad7a-3ac89bafdd3b,"498e7f98-0af6-4b64-81e4-2c1e28c56195",3eb346f0-3d20-4fb7-9b8a-da7d5c29401f,"copyinfo",f982bc33-9b57-4c47-bce2-f5c8dd6c333d} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/ObjectModule.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/ObjectModule.txt" deleted file mode 100644 index 5852cf60..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/ObjectModule.txt" +++ /dev/null @@ -1,62 +0,0 @@ -Перем Я_Тест; - -Функция ПолучитьСписокТестов(юТест) Экспорт - - Я_Тест = юТест; - - Результат = Я_Тест.Новый_НаборТестов(); - - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьРавенствоУспех"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьРавенствоПадение"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьНеРавенствоУспех"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьНеРавенствоПадение"); - - Возврат Результат; - -КонецФункции - -Процедура Тест_ПроверитьРавенствоУспех() Экспорт - Я_Тест.ПроверитьРавенство(2,2); - Я_Тест.ПроверитьРавенство("1","1"); - Я_Тест.ПроверитьРавенство(Неопределено, Неопределено); - Я_Тест.ПроверитьРавенство('20100203', '20100203'); -КонецПроцедуры - -Процедура Тест_ПроверитьРавенствоПадение() Экспорт - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьРавенство(2, 3)", "Сравниваемые значения (2; 3) не равны, а хотели, чтобы были равны."); - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьРавенство(""1"", 1)", "Сравниваемые значения (1; 1) не равны, а хотели, чтобы были равны."); // Сообщение об ошибке - Зачет !!! - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьРавенство(Неопределено, 0)", "Сравниваемые значения (; 0) не равны, а хотели, чтобы были равны."); - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьРавенство(Неопределено, Null)", "Сравниваемые значения (; ) не равны, а хотели, чтобы были равны."); // А тут - зачет автоматом :)) - - //учту разные региональные настройки при преобразовании даты в строку - ПредставлениеДаты1 = ""+'20100203'; - Если ПредставлениеДаты1 <> "03.02.2010 0:00:00" Тогда - ПредставлениеДаты1 = "03.02.2010 00:00:00"; - КонецЕсли; - ПредставлениеДаты2 = ""+'20100204'; - Если ПредставлениеДаты2 <> "04.02.2010 0:00:00" Тогда - ПредставлениеДаты2 = "04.02.2010 00:00:00"; - КонецЕсли; - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьРавенство('20100203', '20100204')", "Сравниваемые значения ("+ПредставлениеДаты1+"; "+ПредставлениеДаты2+") не равны, а хотели, чтобы были равны."); -КонецПроцедуры - -Процедура Тест_ПроверитьНеРавенствоУспех() Экспорт - Я_Тест.ПроверитьНеРавенство(2, 3); - Я_Тест.ПроверитьНеРавенство("1", 1); - Я_Тест.ПроверитьНеРавенство(Неопределено, 0); - Я_Тест.ПроверитьНеРавенство(Неопределено, Null); - Я_Тест.ПроверитьНеРавенство('20100203', '20100204'); -КонецПроцедуры - -Процедура Тест_ПроверитьНеРавенствоПадение() Экспорт - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьНеРавенство(2,2)", "Сравниваемые значения (2; 2) равны, а хотели, чтобы были не равны."); - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьНеРавенство(""1"",""1"")", "Сравниваемые значения (1; 1) равны, а хотели, чтобы были не равны."); - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьНеРавенство(Неопределено, Неопределено)", "Сравниваемые значения (; ) равны, а хотели, чтобы были не равны."); - - //учту разные региональные настройки при преобразовании даты в строку - ПредставлениеДаты1 = ""+'20100203'; - Если ПредставлениеДаты1 <> "03.02.2010 0:00:00" Тогда - ПредставлениеДаты1 = "03.02.2010 00:00:00"; - КонецЕсли; - Я_Тест.ПроверитьНеВыполнилось("ЭтотОбъект.ПроверитьНеРавенство('20100203', '20100203')", "Сравниваемые значения ("+ПредставлениеДаты1+"; "+ПредставлениеДаты1+") равны, а хотели, чтобы были не равны."); -КонецПроцедуры \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/renames.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/renames.txt" deleted file mode 100644 index ddf02b42..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/renames.txt" +++ /dev/null @@ -1,7 +0,0 @@ -07573e7b-0512-47c2-8d9b-ad23810dfa3a-->und\07573e7b-0512-47c2-8d9b-ad23810dfa3a -164f86b3-6b0d-4640-ba21-1138c5c2fbfc.0\info-->und\164f86b3-6b0d-4640-ba21-1138c5c2fbfc.0\info -164f86b3-6b0d-4640-ba21-1138c5c2fbfc.0\text-->ObjectModule.txt -copyinfo-->und\copyinfo -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/07573e7b-0512-47c2-8d9b-ad23810dfa3a" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/07573e7b-0512-47c2-8d9b-ad23810dfa3a" deleted file mode 100644 index 71d7579a..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/07573e7b-0512-47c2-8d9b-ad23810dfa3a" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{07573e7b-0512-47c2-8d9b-ad23810dfa3a},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,fabc541a-e1d4-402a-9fb9-cfd3b45871d1,8ffee35e-d269-44cd-8db4-903ef098f75c, -{0, -{0, -{0,0,164f86b3-6b0d-4640-ba21-1138c5c2fbfc},"ПроверитьРавенство", -{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}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/164f86b3-6b0d-4640-ba21-1138c5c2fbfc.0/info" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/164f86b3-6b0d-4640-ba21-1138c5c2fbfc.0/info" deleted file mode 100644 index c70b5f39..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/164f86b3-6b0d-4640-ba21-1138c5c2fbfc.0/info" +++ /dev/null @@ -1 +0,0 @@ -{3,1,0,"",0} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/copyinfo" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/copyinfo" deleted file mode 100644 index 08913bc8..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/copyinfo" +++ /dev/null @@ -1,7 +0,0 @@ -{4, -{0}, -{0}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/root" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/root" deleted file mode 100644 index 016944d1..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,07573e7b-0512-47c2-8d9b-ad23810dfa3a,} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/version" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/version" deleted file mode 100644 index c23bfe28..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/version" +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/versions" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/versions" deleted file mode 100644 index d089a911..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,8,"",6acac803-f41e-45a1-bb95-4fef8f5913e5,"versions",1a58ec72-1220-48b1-97b5-33d8f514a7e8,"root",46c842e8-af95-4e28-8e28-b11316fef79d,"07573e7b-0512-47c2-8d9b-ad23810dfa3a",c31a8817-ce15-4c94-add2-e69bf7b872d7,"version",7ff75fd2-d5a9-4ee9-8e93-17c7f67057fc,"164f86b3-6b0d-4640-ba21-1138c5c2fbfc.0",c753c553-9d9a-4e09-abc8-ee084bca630e,"164f86b3-6b0d-4640-ba21-1138c5c2fbfc",832eb0f2-6509-421e-b715-08fcfc0bc1c9,"copyinfo",a2989ef1-9203-42f7-85a9-1919a0bf00e9} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index 0a3beec8..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,118 +0,0 @@ - -//{ основная процедура для юнит-тестирования xUnitFor1C -&НаКлиенте -Перем ЮТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("Тест_ДолженПроверитьНеРавенствоТабличныхДокументов"); - ВсеТесты.Добавить("Тест_ДолженПроверитьРавенствоТабличныхДокументов"); - ВсеТесты.Добавить("Тест_ДолженПроверитьРавенствоТабличныхДокументовСоСкрытымиКолонками"); - ВсеТесты.Добавить("Тест_ДолженПроверитьРавенствоТабличныхДокументовСоСкрытымиСтроками"); - - Возврат ВсеТесты; - -КонецФункции -//} - -//{ блок юнит-тестов - сами тесты -&НаКлиенте -Процедура Тест_ДолженПроверитьНеРавенствоТабличныхДокументов() Экспорт - Макет1 = ПолучитьМакет("СозданиеОдногоПользователяИБ"); - Макет2 = ПолучитьМакет("СозданиеОдногоПользователяИБ_УФ"); - - БылоИсключение = Ложь; - Попытка - ЮТест.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет2, "Таблицы 1 и 2 не должны совпадать, а они одинаковы!"); - Исключение - Ошибка = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - БылоИсключение = Истина; - КонецПопытки; - ЮТест.Проверить(БылоИсключение, "Должны были получить исключение из-за неравенства таблиц, а его не было"); - - СтрокаОшибки = - "Таблицы должны совпадать, а они различны - |Различия в таблицах: - |Ожидали статус <ТаблицыСовпадают>, а получили <НеСовпадаютЗначенияВЯчейкеТаблицы> - |Значение [К6:6]. Ожидали <Обычное приложение>, а получили <Управляемое приложение> - | - |Таблицы 1 и 2 не должны совпадать, а они одинаковы!"; - - ЮТест.ПроверитьВхождение(Ошибка, СтрокаОшибки, "Должны были получить исключение из-за неравенства таблиц, а его не было"); -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ДолженПроверитьРавенствоТабличныхДокументов() Экспорт - Макет1 = ПолучитьМакет("СозданиеОдногоПользователяИБ_УФ"); - Макет2 = ПолучитьМакет("СозданиеОдногоПользователяИБ_УФ"); - - ЮТест.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет2, "Таблицы 1 и 2 должны совпадать, а они различны!"); -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ДолженПроверитьРавенствоТабличныхДокументовСоСкрытымиКолонками() Экспорт - - Макет1 = ПолучитьМакет("СозданиеОдногоПользователяИБ"); - Макет2 = ПолучитьМакет("СозданиеОдногоПользователяИБ_СоСкрытойКолонкой"); - - ЮТест.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет2, Истина, "Таблицы 1 и 2 должны совпадать, а они различны!"); - - Макет3 = ПолучитьМакет("СозданиеОдногоПользователяИБ"); - Макет3.Область(0, 1, 1, 1).Видимость = Ложь; - - ЮТест.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет3, "Таблицы 1 и 3 должны совпадать, а они различны!"); - - Макет4 = ПолучитьМакет("СозданиеОдногоПользователяИБ_УФ"); - Макет4.Область(0, 6, 1, 6).Видимость = Ложь; - Макет5 = ПолучитьМакет("СозданиеОдногоПользователяИБ"); - Макет5.Область(0, 6, 1, 6).Видимость = Ложь; - - ЮТест.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет4, Макет5, Истина, "Таблицы 4 и 5 должны совпадать, а они различны!"); - -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ДолженПроверитьРавенствоТабличныхДокументовСоСкрытымиСтроками() Экспорт - - Макет1 = ПолучитьМакет("СозданиеОдногоПользователяИБ"); - Макет2 = ПолучитьМакет("СозданиеОдногоПользователяИБ_УФ"); - - Макет1.Область(6,, 6).Видимость = Ложь; - Макет2.Область(6,, 6).Видимость = Ложь; - - ЮТест.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет2,, Истина, "Таблицы 1 и 2 должны совпадать, а они различны!"); - - //Макет3 = ПолучитьМакет("СозданиеОдногоПользователяИБ"); - //Макет3.ВставитьОбласть(Макет2.Область(2,, 2), Макет3.Область(1,, 1), ТипСмещенияТабличногоДокумента.ПоВертикали); - //Макет3.Область(1,, 1).Видимость = Ложь; - // - //ЮТест.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет3,, Истина, "Таблицы 1 и 3 должны совпадать, а они различны!"); - - Макет4 = ПолучитьМакет("СозданиеОдногоПользователяИБ"); - Макет4.Область(1,, 1).Видимость = Ложь; - - ЮТест.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет4, "Таблицы 1 и 4 должны совпадать, а они различны!"); - -КонецПроцедуры - -&НаСервере -Функция ПолучитьМакет(ИмяМакета) - ОсновнойОбъект = ОсновнойОбъект(); - Макет = ОсновнойОбъект.ПолучитьМакет(ИмяМакета); - - Макет2 = Новый ТабличныйДокумент; - Макет2.Вывести(Макет); - Возврат Макет2; -КонецФункции - -&НаСервере -Функция ОсновнойОбъект() - Возврат РеквизитФормыВЗначение("Объект"); -КонецФункции - -//} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/ObjectModule.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/ObjectModule.txt" deleted file mode 100644 index c610104c..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/ObjectModule.txt" +++ /dev/null @@ -1,176 +0,0 @@ - -//{ основная процедура для юнит-тестирования xUnitFor1C -Перем ЮТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("ТестДолжен_ПроверитьРавенствоТаблиц"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьНеРавенствоТаблиц"); - ВсеТесты.Добавить("Тест_ДолженПроверитьНеРавенствоТабличныхДокументов"); - ВсеТесты.Добавить("Тест_ДолженПроверитьРавенствоТабличныхДокументов"); - ВсеТесты.Добавить("Тест_ДолженПроверитьРавенствоТабличныхДокументовСоСкрытымиКолонками"); - ВсеТесты.Добавить("Тест_ДолженПроверитьРавенствоТабличныхДокументовСоСкрытымиСтроками"); - - Возврат ВсеТесты; - -КонецФункции -//} - -//{ блок юнит-тестов - сами тесты - -Процедура ТестДолжен_ПроверитьРавенствоТаблиц() Экспорт - Таблицы = Создать2ТаблицыСДанными(); - Таб1 = Таблицы.Таблица1; - Таб2 = Таблицы.Таблица2; - - ЮТест.ПроверитьРавенствоТаблиц(Таб1, Таб2, "Таблицы 1 и 2 должны совпадать, а они различны!"); -КонецПроцедуры - -Процедура ТестДолжен_ПроверитьНеРавенствоТаблиц() Экспорт - Таблицы = Создать2ТаблицыСДанными(); - Таб1 = Таблицы.Таблица1; - Таб2 = Таблицы.Таблица2; - - Строка = Таб2[0]; - Строка.Колонка1 = 21; - Строка.Колонка2 = "строка21"; - - Строка = Таб2[1]; - Строка.Колонка1 = 22; - Строка.Колонка2 = "строка22"; - - БылоИсключение = Ложь; - Попытка - ЮТест.ПроверитьРавенствоТаблиц(Таб1, Таб2, "Таблицы 1 и 2 не должны совпадать, а они одинаковы!"); - Исключение - Ошибка = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - БылоИсключение = Истина; - КонецПопытки; - ЮТест.Проверить(БылоИсключение, "Должны были получить исключение из-за неравенства таблиц, а его не было"); - - СтрокаОшибки = - "Таблицы должны совпадать, а они различны - |Различия в таблицах: - |Ожидали статус <ТаблицыСовпадают>, а получили <НеСовпадаютЗначенияВЯчейкеТаблицы> - |Значение [Колонка1:1]. Ожидали <11>, а получили <21> - |Значение [Колонка2:1]. Ожидали <строка11>, а получили <строка21> - |Значение [Колонка1:2]. Ожидали <12>, а получили <22> - |Значение [Колонка2:2]. Ожидали <строка12>, а получили <строка22> - | - |Таблицы 1 и 2 не должны совпадать, а они одинаковы!"; - - ЮТест.ПроверитьВхождение(Ошибка, СтрокаОшибки, "Должны были получить исключение из-за неравенства таблиц, а его не было"); -КонецПроцедуры - -Функция Создать2ТаблицыСДанными() - Таб1 = Новый ТаблицаЗначений; - Таб1.Колонки.Добавить("Колонка1",, "Колонка1"); - Таб1.Колонки.Добавить("Колонка2",, "Колонка2"); - Строка = Таб1.Добавить(); - Строка.Колонка1 = 11; - Строка.Колонка2 = "строка11"; - - Строка = Таб1.Добавить(); - Строка.Колонка1 = 12; - Строка.Колонка2 = "строка12"; - - Таб2 = Новый ТаблицаЗначений; - Таб2.Колонки.Добавить("Колонка1",, "Колонка1"); - Таб2.Колонки.Добавить("Колонка2",, "Колонка2"); - Строка = Таб2.Добавить(); - Строка.Колонка1 = 11; - Строка.Колонка2 = "строка11"; - - Строка = Таб2.Добавить(); - Строка.Колонка1 = 12; - Строка.Колонка2 = "строка12"; - - Рез = Новый Структура("Таблица1, Таблица2", Таб1, Таб2); - Возврат Рез; - -КонецФункции - -Процедура Тест_ДолженПроверитьНеРавенствоТабличныхДокументов() Экспорт - Макет1 = ПолучитьМакет("СозданиеОдногоПользователяИБ"); - Макет2 = ПолучитьМакет("СозданиеОдногоПользователяИБ_УФ"); - - БылоИсключение = Ложь; - Попытка - ЮТест.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет2, "Таблицы 1 и 2 не должны совпадать, а они одинаковы!"); - Исключение - Ошибка = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - БылоИсключение = Истина; - КонецПопытки; - ЮТест.Проверить(БылоИсключение, "Должны были получить исключение из-за неравенства таблиц, а его не было"); - - СтрокаОшибки = - "Таблицы должны совпадать, а они различны - |Различия в таблицах: - |Ожидали статус <ТаблицыСовпадают>, а получили <НеСовпадаютЗначенияВЯчейкеТаблицы> - |Значение [К6:6]. Ожидали <Обычное приложение>, а получили <Управляемое приложение> - | - |Таблицы 1 и 2 не должны совпадать, а они одинаковы!"; - - ЮТест.ПроверитьВхождение(Ошибка, СтрокаОшибки, "Должны были получить исключение из-за неравенства таблиц, а его не было"); -КонецПроцедуры - -Процедура Тест_ДолженПроверитьРавенствоТабличныхДокументов() Экспорт - Макет1 = ПолучитьМакет("СозданиеОдногоПользователяИБ_УФ"); - Макет2 = Новый ТабличныйДокумент; - Макет2.Вывести(ПолучитьМакет("СозданиеОдногоПользователяИБ_УФ")); - - ЮТест.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет2, "Таблицы 1 и 2 должны совпадать, а они различны!"); -КонецПроцедуры - -Процедура Тест_ДолженПроверитьРавенствоТабличныхДокументовСоСкрытымиКолонками() Экспорт - - Макет1 = ПолучитьМакет("СозданиеОдногоПользователяИБ"); - Макет2 = ПолучитьМакет("СозданиеОдногоПользователяИБ_СоСкрытойКолонкой"); - - ЮТест.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет2, Истина, "Таблицы 1 и 2 должны совпадать, а они различны!"); - - Макет3 = Новый ТабличныйДокумент; - Макет3.Вывести(Макет1); - Макет3.Область(0, 1, 1, 1).Видимость = Ложь; - - ЮТест.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет3, "Таблицы 1 и 3 должны совпадать, а они различны!"); - - Макет4 = ПолучитьМакет("СозданиеОдногоПользователяИБ_УФ"); - Макет4.Область(0, 6, 1, 6).Видимость = Ложь; - Макет5 = ПолучитьМакет("СозданиеОдногоПользователяИБ"); - Макет5.Область(0, 6, 1, 6).Видимость = Ложь; - - ЮТест.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет4, Макет5, Истина, "Таблицы 4 и 5 должны совпадать, а они различны!"); - -КонецПроцедуры - -Процедура Тест_ДолженПроверитьРавенствоТабличныхДокументовСоСкрытымиСтроками() Экспорт - - Макет1 = ПолучитьМакет("СозданиеОдногоПользователяИБ"); - Макет2 = ПолучитьМакет("СозданиеОдногоПользователяИБ_УФ"); - - Макет1.Область(6,, 6).Видимость = Ложь; - Макет2.Область(6,, 6).Видимость = Ложь; - - ЮТест.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет2,, Истина, "Таблицы 1 и 2 должны совпадать, а они различны!"); - - Макет3 = Новый ТабличныйДокумент; - Макет3.Вывести(Макет1); - Макет3.ВставитьОбласть(Макет2.Область(2,, 2), Макет3.Область(1,, 1), ТипСмещенияТабличногоДокумента.ПоВертикали); - Макет3.Область(1,, 1).Видимость = Ложь; - - ЮТест.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет3,, Истина, "Таблицы 1 и 3 должны совпадать, а они различны!"); - - Макет4 = Новый ТабличныйДокумент; - Макет4.Вывести(Макет1); - Макет4.Область(1,, 1).Видимость = Ложь; - - ЮТест.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет4, "Таблицы 1 и 4 должны совпадать, а они различны!"); - -КонецПроцедуры - -//} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/renames.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/renames.txt" deleted file mode 100644 index 87176f28..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/renames.txt" +++ /dev/null @@ -1,20 +0,0 @@ -21e58e83-24b5-4a1b-81aa-940391b10b11-->und\21e58e83-24b5-4a1b-81aa-940391b10b11 -21e58e83-24b5-4a1b-81aa-940391b10b11.0-->E:\projects\1c\xUnitFor1C\src\Tests\selftests\ТестыПроверитьРавенствоТаблиц\Макеты\СозданиеОдногоПользователяИБ_УФ.mxl -21e58e83-24b5-4a1b-81aa-940391b10b11.0-->und\21e58e83-24b5-4a1b-81aa-940391b10b11.0 -6baf118e-696d-404d-9ad0-3b66c2730177-->und\6baf118e-696d-404d-9ad0-3b66c2730177 -6baf118e-696d-404d-9ad0-3b66c2730177.0-->E:\projects\1c\xUnitFor1C\src\Tests\selftests\ТестыПроверитьРавенствоТаблиц\Макеты\СозданиеОдногоПользователяИБ.mxl -6baf118e-696d-404d-9ad0-3b66c2730177.0-->und\6baf118e-696d-404d-9ad0-3b66c2730177.0 -7fee0032-60d2-407f-8cb4-61ed1c95ba08-->und\7fee0032-60d2-407f-8cb4-61ed1c95ba08 -81c30b94-2b30-4e2d-b046-69aa3fc912ab.0\info-->und\81c30b94-2b30-4e2d-b046-69aa3fc912ab.0\info -81c30b94-2b30-4e2d-b046-69aa3fc912ab.0\text-->ObjectModule.txt -copyinfo-->und\copyinfo -e91aafdf-ef58-4ed3-b426-4baf984d368e-->und\e91aafdf-ef58-4ed3-b426-4baf984d368e -e91aafdf-ef58-4ed3-b426-4baf984d368e.0-->und\e91aafdf-ef58-4ed3-b426-4baf984d368e.0 -e91aafdf-ef58-4ed3-b426-4baf984d368e.0-->E:\projects\1c\xUnitFor1C\src\Tests\selftests\ТестыПроверитьРавенствоТаблиц\Макеты\СозданиеОдногоПользователяИБ_СоСкрытойКолонкой.mxl -fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa-->und\fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa -fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0-->E:\projects\1c\xUnitFor1C\src\Tests\selftests\ТестыПроверитьРавенствоТаблиц\Form\Форма\Форма.txt -fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0-->und\fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0 -fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0-->und\fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0 -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/81c30b94-2b30-4e2d-b046-69aa3fc912ab.0/info" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/81c30b94-2b30-4e2d-b046-69aa3fc912ab.0/info" deleted file mode 100644 index c70b5f39..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/81c30b94-2b30-4e2d-b046-69aa3fc912ab.0/info" +++ /dev/null @@ -1 +0,0 @@ -{3,1,0,"",0} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa" deleted file mode 100644 index 9e5c9e8d..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa},"Форма", -{1,"ru","Форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0" deleted file mode 100644 index 3fae5535..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0" +++ /dev/null @@ -1,184 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -}," -//{ основная процедура для юнит-тестирования xUnitFor1C -&НаКлиенте -Перем ЮТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить(""Тест_ДолженПроверитьНеРавенствоТабличныхДокументов""); - ВсеТесты.Добавить(""Тест_ДолженПроверитьРавенствоТабличныхДокументов""); - ВсеТесты.Добавить(""Тест_ДолженПроверитьРавенствоТабличныхДокументовСоСкрытымиКолонками""); - ВсеТесты.Добавить(""Тест_ДолженПроверитьРавенствоТабличныхДокументовСоСкрытымиСтроками""); - - Возврат ВсеТесты; - -КонецФункции -//} - -//{ блок юнит-тестов - сами тесты -&НаКлиенте -Процедура Тест_ДолженПроверитьНеРавенствоТабличныхДокументов() Экспорт - Макет1 = ПолучитьМакет(""СозданиеОдногоПользователяИБ""); - Макет2 = ПолучитьМакет(""СозданиеОдногоПользователяИБ_УФ""); - - БылоИсключение = Ложь; - Попытка - ЮТест.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет2, ""Таблицы 1 и 2 не должны совпадать, а они одинаковы!""); - Исключение - Ошибка = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - БылоИсключение = Истина; - КонецПопытки; - ЮТест.Проверить(БылоИсключение, ""Должны были получить исключение из-за неравенства таблиц, а его не было""); - - СтрокаОшибки = - ""Таблицы должны совпадать, а они различны - |Различия в таблицах: - |Ожидали статус <ТаблицыСовпадают>, а получили <НеСовпадаютЗначенияВЯчейкеТаблицы> - |Значение [К6:6]. Ожидали <Обычное приложение>, а получили <Управляемое приложение> - | - |Таблицы 1 и 2 не должны совпадать, а они одинаковы!""; - - ЮТест.ПроверитьВхождение(Ошибка, СтрокаОшибки, ""Должны были получить исключение из-за неравенства таблиц, а его не было""); -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ДолженПроверитьРавенствоТабличныхДокументов() Экспорт - Макет1 = ПолучитьМакет(""СозданиеОдногоПользователяИБ_УФ""); - Макет2 = ПолучитьМакет(""СозданиеОдногоПользователяИБ_УФ""); - - ЮТест.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет2, ""Таблицы 1 и 2 должны совпадать, а они различны!""); -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ДолженПроверитьРавенствоТабличныхДокументовСоСкрытымиКолонками() Экспорт - - Макет1 = ПолучитьМакет(""СозданиеОдногоПользователяИБ""); - Макет2 = ПолучитьМакет(""СозданиеОдногоПользователяИБ_СоСкрытойКолонкой""); - - ЮТест.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет2, Истина, ""Таблицы 1 и 2 должны совпадать, а они различны!""); - - Макет3 = ПолучитьМакет(""СозданиеОдногоПользователяИБ""); - Макет3.Область(0, 1, 1, 1).Видимость = Ложь; - - ЮТест.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет3, ""Таблицы 1 и 3 должны совпадать, а они различны!""); - - Макет4 = ПолучитьМакет(""СозданиеОдногоПользователяИБ_УФ""); - Макет4.Область(0, 6, 1, 6).Видимость = Ложь; - Макет5 = ПолучитьМакет(""СозданиеОдногоПользователяИБ""); - Макет5.Область(0, 6, 1, 6).Видимость = Ложь; - - ЮТест.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет4, Макет5, Истина, ""Таблицы 4 и 5 должны совпадать, а они различны!""); - -КонецПроцедуры - -&НаКлиенте -Процедура Тест_ДолженПроверитьРавенствоТабличныхДокументовСоСкрытымиСтроками() Экспорт - - Макет1 = ПолучитьМакет(""СозданиеОдногоПользователяИБ""); - Макет2 = ПолучитьМакет(""СозданиеОдногоПользователяИБ_УФ""); - - Макет1.Область(6,, 6).Видимость = Ложь; - Макет2.Область(6,, 6).Видимость = Ложь; - - ЮТест.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет2,, Истина, ""Таблицы 1 и 2 должны совпадать, а они различны!""); - - //Макет3 = ПолучитьМакет(""СозданиеОдногоПользователяИБ""); - //Макет3.ВставитьОбласть(Макет2.Область(2,, 2), Макет3.Область(1,, 1), ТипСмещенияТабличногоДокумента.ПоВертикали); - //Макет3.Область(1,, 1).Видимость = Ложь; - // - //ЮТест.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет3,, Истина, ""Таблицы 1 и 3 должны совпадать, а они различны!""); - - Макет4 = ПолучитьМакет(""СозданиеОдногоПользователяИБ""); - Макет4.Область(1,, 1).Видимость = Ложь; - - ЮТест.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет1, Макет4, ""Таблицы 1 и 4 должны совпадать, а они различны!""); - -КонецПроцедуры - -&НаСервере -Функция ПолучитьМакет(ИмяМакета) - ОсновнойОбъект = ОсновнойОбъект(); - Макет = ОсновнойОбъект.ПолучитьМакет(ИмяМакета); - - Макет2 = Новый ТабличныйДокумент; - Макет2.Вывести(Макет); - Возврат Макет2; -КонецФункции - -&НаСервере -Функция ОсновнойОбъект() - Возврат РеквизитФормыВЗначение(""Объект""); -КонецФункции - -//} ", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",ba46524a-1f27-4008-8686-2703897f6737} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/root" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/root" deleted file mode 100644 index fd74c4bf..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,7fee0032-60d2-407f-8cb4-61ed1c95ba08,} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/version" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/version" deleted file mode 100644 index c23bfe28..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/version" +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/versions" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/versions" deleted file mode 100644 index 22a0fa02..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\242\320\260\320\261\320\273\320\270\321\206/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,15,"",d3359d2a-90cd-4ad6-aae1-62fa3c446a17,"versions",b3f6f0f1-55f1-4955-9fe3-c9be5c526d77,"root",873b84db-4a41-471d-8b48-fd69c6d1beba,"e91aafdf-ef58-4ed3-b426-4baf984d368e",9a63ab3a-d629-4353-ba0a-390de3816de8,"6baf118e-696d-404d-9ad0-3b66c2730177",fedf0a4a-288d-4d2c-a22b-6a7b9212f959,"81c30b94-2b30-4e2d-b046-69aa3fc912ab.0",4ff88481-040b-4704-bdf1-2333c9b4100c,"version",597f1abb-c0fb-4aff-b2d7-ce1c567674cf,"7fee0032-60d2-407f-8cb4-61ed1c95ba08",d5cf1f01-0d60-43a4-83a8-bea25b115326,"e91aafdf-ef58-4ed3-b426-4baf984d368e.0",114b0602-5527-428f-90dc-fdcb24b1adba,"21e58e83-24b5-4a1b-81aa-940391b10b11.0",a5c9943f-5adc-4ff5-82de-d03796f411e4,"fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa.0",3428f3f6-5644-45bd-a2d2-f1cba6ae96f7,"6baf118e-696d-404d-9ad0-3b66c2730177.0",1f95bfab-a95d-4766-8525-4d2b3892955c,"21e58e83-24b5-4a1b-81aa-940391b10b11",549fc6de-fd04-4306-82d6-422e4694edaa,"copyinfo",2f74b742-be5e-4194-801b-34f022eda069,"fde46a88-2879-4ff4-b1eb-6a5e7c2cbafa",a120cea9-31bf-44e1-8bd4-13ae119e96dc} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/ObjectModule.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/ObjectModule.txt" deleted file mode 100644 index 84fa2b38..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/ObjectModule.txt" +++ /dev/null @@ -1,89 +0,0 @@ -Перем Я_Тест; - -Функция ПолучитьСписокТестов(юТест) Экспорт - - Я_Тест = юТест; - - Результат = Я_Тест.Новый_НаборТестов(); - - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьТип_НаименованиеТипа"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьТип_СамТип"); - Я_Тест.НаборТестов_Добавить(Результат, "Тест_ПроверитьТип_Ошибки"); - - Возврат Результат; - -КонецФункции - -Процедура Тест_ПроверитьТип_НаименованиеТипа() Экспорт - - Я_Тест.ПроверитьТип(ТипЗнч(1), "Тип"); - - Я_Тест.ПроверитьТип(1, "Число"); - Я_Тест.ПроверитьТип(0, "Число"); - - Я_Тест.ПроверитьТип("", "Строка"); - Я_Тест.ПроверитьТип("12", "Строка"); - - Я_Тест.ПроверитьТип(Ложь, "Булево"); - Я_Тест.ПроверитьТип(Истина, "Булево"); - - Я_Тест.ПроверитьТип('00010101', "Дата"); - Я_Тест.ПроверитьТип(ТекущаяДата(), "Дата"); - - Если Метаданные.Справочники.Количество() > 0 Тогда - имяМетаданного = Метаданные.Справочники[0].Имя; - Я_Тест.ПроверитьТип(Справочники[имяМетаданного].ПустаяСсылка(), "СправочникСсылка."+имяМетаданного); - КонецЕсли; - Если Метаданные.Документы.Количество() > 0 Тогда - имяМетаданного = Метаданные.Документы[0].Имя; - Я_Тест.ПроверитьТип(Документы[имяМетаданного].ПустаяСсылка(), "ДокументСсылка."+имяМетаданного); - КонецЕсли; - Если Метаданные.Отчеты.Количество() > 0 Тогда - имяМетаданного = Метаданные.Отчеты[0].Имя; - Я_Тест.ПроверитьТип(Отчеты[имяМетаданного].Создать(), "ОтчетОбъект."+имяМетаданного); - КонецЕсли; - Если Метаданные.Обработки.Количество() > 0 Тогда - имяМетаданного = Метаданные.Обработки[0].Имя; - Я_Тест.ПроверитьТип(Обработки[имяМетаданного].Создать(), "ОбработкаОбъект."+имяМетаданного); - КонецЕсли; -КонецПроцедуры - -Процедура Тест_ПроверитьТип_СамТип() Экспорт - Я_Тест.ПроверитьТип(1, Тип("Число")); - Я_Тест.ПроверитьТип(0, Тип("Число")); - - Я_Тест.ПроверитьТип("", Тип("Строка")); - Я_Тест.ПроверитьТип("12", Тип("Строка")); - - Я_Тест.ПроверитьТип(ЛОЖЬ, Тип("Булево")); - Я_Тест.ПроверитьТип(Истина, Тип("Булево")); - - Я_Тест.ПроверитьТип('00010101', Тип("Дата")); - Я_Тест.ПроверитьТип(ТекущаяДата(), Тип("Дата")); - - Если Метаданные.Справочники.Количество() > 0 Тогда - имяМетаданного = Метаданные.Справочники[0].Имя; - Я_Тест.ПроверитьТип(Справочники[имяМетаданного].ПустаяСсылка(), Тип("СправочникСсылка."+имяМетаданного)); - КонецЕсли; - Если Метаданные.Документы.Количество() > 0 Тогда - имяМетаданного = Метаданные.Документы[0].Имя; - Я_Тест.ПроверитьТип(Документы[имяМетаданного].ПустаяСсылка(), Тип("ДокументСсылка."+имяМетаданного)); - КонецЕсли; - Если Метаданные.Отчеты.Количество() > 0 Тогда - имяМетаданного = Метаданные.Отчеты[0].Имя; - Я_Тест.ПроверитьТип(Отчеты[имяМетаданного].Создать(), Тип("ОтчетОбъект."+имяМетаданного)); - КонецЕсли; - Если Метаданные.Обработки.Количество() > 0 Тогда - имяМетаданного = Метаданные.Обработки[0].Имя; - Я_Тест.ПроверитьТип(Обработки[имяМетаданного].Создать(), Тип("ОбработкаОбъект."+имяМетаданного)); - КонецЕсли; -КонецПроцедуры - -Процедура Тест_ПроверитьТип_Ошибки() Экспорт - //Я_Тест.ПроверитьТип(1, Истина); - //Я_Тест.ПроверитьТип(1, "Строка"); - - Я_Тест.ПроверитьНеВыполнилось("ПроверитьТип(1, Истина)", "ПроверитьТип: Тип значения параметра ТипИлиИмяТипа должен быть <Тип> или <Строка>, а получили <Булево>"); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьТип(1, ""Строка"")", "Типом значения <1> является <Число>, а ожидался тип <Строка>."); - Я_Тест.ПроверитьНеВыполнилось("ПроверитьТип(1, ТипЗнч(""Строка""))", "Типом значения <1> является <Число>, а ожидался тип <Строка>."); -КонецПроцедуры diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/renames.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/renames.txt" deleted file mode 100644 index fedbe7a6..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/renames.txt" +++ /dev/null @@ -1,7 +0,0 @@ -74b001c8-6be4-4e47-8bc9-538820412842.0\info-->und\74b001c8-6be4-4e47-8bc9-538820412842.0\info -74b001c8-6be4-4e47-8bc9-538820412842.0\text-->ObjectModule.txt -79484d08-04c6-46d8-8f77-43c6f3819dd9-->und\79484d08-04c6-46d8-8f77-43c6f3819dd9 -copyinfo-->und\copyinfo -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/74b001c8-6be4-4e47-8bc9-538820412842.0/info" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/74b001c8-6be4-4e47-8bc9-538820412842.0/info" deleted file mode 100644 index c70b5f39..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/74b001c8-6be4-4e47-8bc9-538820412842.0/info" +++ /dev/null @@ -1 +0,0 @@ -{3,1,0,"",0} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/79484d08-04c6-46d8-8f77-43c6f3819dd9" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/79484d08-04c6-46d8-8f77-43c6f3819dd9" deleted file mode 100644 index 8f775380..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/79484d08-04c6-46d8-8f77-43c6f3819dd9" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{79484d08-04c6-46d8-8f77-43c6f3819dd9},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,be3b4dc4-f783-49aa-b38f-f92991f424a5,7f3ef92c-d2e0-42b8-acab-f37b00a0f018, -{0, -{0, -{0,0,74b001c8-6be4-4e47-8bc9-538820412842},"ТестыПроверитьТип", -{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}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/copyinfo" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/copyinfo" deleted file mode 100644 index 08913bc8..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/copyinfo" +++ /dev/null @@ -1,7 +0,0 @@ -{4, -{0}, -{0}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/root" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/root" deleted file mode 100644 index 9746f31c..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,79484d08-04c6-46d8-8f77-43c6f3819dd9,} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/version" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/version" deleted file mode 100644 index c23bfe28..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/version" +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/versions" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/versions" deleted file mode 100644 index d0810681..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\242\320\270\320\277/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,8,"",ad9bf14a-367b-4d89-8f3b-c4cd576c787c,"versions",7049e444-e5c6-4e7d-85cb-86dfefa81720,"root",4e5a5062-7ae8-4e7b-9d8d-af2335b3e68f,"74b001c8-6be4-4e47-8bc9-538820412842.0",08268245-5651-412c-9d52-3a817c73f53b,"79484d08-04c6-46d8-8f77-43c6f3819dd9",54215287-20f1-4ec7-9e89-b34fb86bada2,"version",81eb3b6d-6027-48fb-8b78-316502dfd46e,"74b001c8-6be4-4e47-8bc9-538820412842",ec722e06-0afe-4162-ba79-a2faa3b2c374,"copyinfo",2eafad02-a6fd-4b90-aa17-d5a2c6f3eabd} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/ObjectModule.txt" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/ObjectModule.txt" deleted file mode 100644 index 7a44b56b..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/ObjectModule.txt" +++ /dev/null @@ -1,89 +0,0 @@ -#Если ТолстыйКлиентОбычноеПриложение или ТолстыйКлиентУправляемоеПриложение Тогда - -Перем ПутьФайла1; -Перем ПутьФайла2; - -//{ основная процедура для юнит-тестирования xUnitFor1C -Перем ЮТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("ТестДолжен_ПроверитьРавенствоФайлов"); - //ВсеТесты.Добавить("ТестДолжен_ПроверитьРавенствоФайловСУчетомПереданныхПараметровСравнения"); - - Возврат ВсеТесты; - -КонецФункции -//} - -//{ блок юнит-тестов - сами тесты - -Процедура ПередЗапускомТеста() Экспорт -КонецПроцедуры - -Процедура ПослеЗапускаТеста() Экспорт - Попытка - УдалитьФайлы(ПутьФайла1); - УдалитьФайлы(ПутьФайла2); - Исключение - КонецПопытки; -КонецПроцедуры - -Процедура ТестДолжен_ПроверитьРавенствоФайлов() Экспорт - МассивСтрок = Новый Массив(); - Для к = 1 По 10 Цикл - МассивСтрок.Добавить("строка "+к); - КонецЦикла; - ПутьФайла1 = ПолучитьИмяВременногоФайла("txt"); - СоздатьТекстовыйФайл(ПутьФайла1, МассивСтрок); - - ПутьФайла2 = ПолучитьИмяВременногоФайла("txt"); - СоздатьТекстовыйФайл(ПутьФайла2, МассивСтрок); - - ПоказатьРазличия = Ложь; - ЮТест.ПроверитьРавенствоФайлов(ПутьФайла1, ПутьФайла2, "ПутьФайла1, ПутьФайла2",, ПоказатьРазличия); -КонецПроцедуры - -Процедура ТестДолжен_ПроверитьРавенствоФайловСУчетомПереданныхПараметровСравнения() Экспорт - СравнениеФайлов = Новый СравнениеФайлов; - СравнениеФайлов.УчитыватьРегистр = Ложь; - СравнениеФайлов.СпособСравнения = СпособСравненияФайлов.ТекстовыйДокумент; - - МассивСтрок = Новый Массив(); - Для к = 1 По 10 Цикл - МассивСтрок.Добавить("строка "+к); - КонецЦикла; - ПутьФайла1 = ПолучитьИмяВременногоФайла(); - СоздатьТекстовыйФайл(ПутьФайла1, МассивСтрок); - - МассивСтрок2 = Новый Массив(); - Для каждого Строка Из МассивСтрок Цикл - МассивСтрок2.Добавить(ВРег(Строка)); - КонецЦикла; - - ПутьФайла2 = ПолучитьИмяВременногоФайла(); - СоздатьТекстовыйФайл(ПутьФайла2, МассивСтрок2); - - БылаПопытка = Ложь; - Попытка - ЮТест.ПроверитьРавенствоФайловСУчетомПереданныхПараметровСравнения(СравнениеФайлов, ПутьФайла1, ПутьФайла2, "ПутьФайла1, ПутьФайла2"); - Исключение - БылаПопытка = Истина; - КонецПопытки; - ЮТест.ПроверитьЛожь(БылаПопытка, "Ожидали исключение на утверждении сравнения файлов, а его не было"); -КонецПроцедуры - -Процедура СоздатьТекстовыйФайл(ПутьФайла, МассивСтрок) - Текст = Новый ТекстовыйДокумент; - Для каждого Строка Из МассивСтрок Цикл - Текст.ДобавитьСтроку(Строка); - КонецЦикла; - Текст.Записать(ПутьФайла); -КонецПроцедуры - -//} -#КонецЕсли diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/und/14b97335-3f44-42ce-84bd-44eecba0fb30.0/info" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/und/14b97335-3f44-42ce-84bd-44eecba0fb30.0/info" deleted file mode 100644 index c70b5f39..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/und/14b97335-3f44-42ce-84bd-44eecba0fb30.0/info" +++ /dev/null @@ -1 +0,0 @@ -{3,1,0,"",0} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/und/copyinfo" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/und/copyinfo" deleted file mode 100644 index 08913bc8..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/und/copyinfo" +++ /dev/null @@ -1,7 +0,0 @@ -{4, -{0}, -{0}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/und/version" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/und/version" deleted file mode 100644 index c23bfe28..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/und/version" +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/und/versions" "b/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/und/versions" deleted file mode 100644 index 74c9ca4b..00000000 --- "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\321\213\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217_\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\240\320\260\320\262\320\265\320\275\321\201\321\202\320\262\320\276\320\244\320\260\320\271\320\273\320\276\320\262/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,7,"ce88669a-4b6f-4a4b-89c6-bd7db1a4961b",cfd8deda-9383-448b-9d88-9fd50c611252,"root",14f71bec-ff64-42c5-aafd-723659586eb0,"",437f52e8-80cc-4f08-8b56-562841c872ec,"14b97335-3f44-42ce-84bd-44eecba0fb30.0",9f05cb7d-abca-4718-a6cf-86862b33bb50,"copyinfo",82ffb8d0-f0b0-4f16-830b-01a4151a6cfa,"versions",fefcbf7b-01b0-4f77-bcd5-5667825e6cfb,"version",ec3f0eae-e27f-45f3-b376-d629b0d7468c} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index 566c380c..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,53 +0,0 @@ -&НаКлиенте -Перем юТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ПараметрыТеста = Новый Структура("ПредставлениеТеста, ИмяТеста,Транзакция,Параметр", "Тест с опциями", "ТестСОпциями", Истина, "тест представления"); - ВсеТесты.Добавить(ПараметрыТеста); - - ПараметрыТеста = Новый Структура("ИмяТеста,Транзакция,Параметр", "ТестСОпциями", Истина, 1); - ВсеТесты.Добавить(ПараметрыТеста); - - ПараметрыТеста = Новый Структура("ИмяТеста,Транзакция,Параметр", "ТестСОпциями", Истина, 2); - ВсеТесты.Добавить(ПараметрыТеста); - - ПараметрыТеста = Новый Структура("ИмяТеста,Транзакция", "ТестСОпциями_БезПараметра", Истина); - ВсеТесты.Добавить(ПараметрыТеста); - - ПараметрыТеста = Новый Структура("ИмяТеста,Параметр", "НесуществующийТест", 1); - ВсеТесты.Добавить(ПараметрыТеста); - - //ПараметрыТеста = Новый Структура("Парам1", 1); // нет имени теста - браузер не загрузит тестовый набор - //ВсеТесты.Добавить(ПараметрыТеста); - - ВсеТесты.Добавить("ТестСОпциями_БезПараметра"); - ВсеТесты.Добавить("Тест_Обычный"); - - Возврат ВсеТесты; - -КонецФункции - -&НаКлиенте -Процедура ТестСОпциями(Парам) Экспорт - - Сообщить("Парам теста <"+Парам+">"); - юТест.ПроверитьНеЗаполненность(Парам, "ТестСОпциями(Парам)"); - -КонецПроцедуры - -&НаКлиенте -Процедура ТестСОпциями_БезПараметра() Экспорт - -КонецПроцедуры - -&НаКлиенте -Процедура Тест_Обычный() Экспорт - - юТест.Проверить(Истина, "Значение ложно"); - -КонецПроцедуры diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" deleted file mode 100644 index c73b0fe6..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" +++ /dev/null @@ -1,15 +0,0 @@ - -Перем юТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ПараметрыТестов = Новый Структура("ИмяТеста,Параметр", "Модуль_НесуществующийТест", 1); - ВсеТесты.Добавить(ПараметрыТестов); - - Возврат ВсеТесты; - -КонецФункции diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" deleted file mode 100644 index 65dccf51..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" +++ /dev/null @@ -1,11 +0,0 @@ -2c227560-91b9-4172-a890-89cbeb09013a-->und\2c227560-91b9-4172-a890-89cbeb09013a -2c227560-91b9-4172-a890-89cbeb09013a.0-->C:\Projects\GitHub\xUnitFor1C\src\TestsShouldFail\ManagedApp\Тест_НеверныеПараметрыТестов\Form\Форма\Форма.txt -2c227560-91b9-4172-a890-89cbeb09013a.0-->und\2c227560-91b9-4172-a890-89cbeb09013a.0 -2c227560-91b9-4172-a890-89cbeb09013a.0-->und\2c227560-91b9-4172-a890-89cbeb09013a.0 -bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0\info-->und\bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0\info -bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0\text-->ObjectModule.txt -c0334e99-c3c6-4bc5-a429-136a15e54924-->und\c0334e99-c3c6-4bc5-a429-136a15e54924 -copyinfo-->und\copyinfo -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/2c227560-91b9-4172-a890-89cbeb09013a" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/2c227560-91b9-4172-a890-89cbeb09013a" deleted file mode 100644 index 018f27ea..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/2c227560-91b9-4172-a890-89cbeb09013a" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,2c227560-91b9-4172-a890-89cbeb09013a},"Форма", -{1,"ru","Форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/2c227560-91b9-4172-a890-89cbeb09013a.0" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/2c227560-91b9-4172-a890-89cbeb09013a.0" deleted file mode 100644 index 7d1f4a88..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/2c227560-91b9-4172-a890-89cbeb09013a.0" +++ /dev/null @@ -1,120 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"&НаКлиенте -Перем юТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ПараметрыТеста = Новый Структура(""ПредставлениеТеста, ИмяТеста,Транзакция,Параметр"", ""Тест с опциями"", ""ТестСОпциями"", Истина, ""тест представления""); - ВсеТесты.Добавить(ПараметрыТеста); - - ПараметрыТеста = Новый Структура(""ИмяТеста,Транзакция,Параметр"", ""ТестСОпциями"", Истина, 1); - ВсеТесты.Добавить(ПараметрыТеста); - - ПараметрыТеста = Новый Структура(""ИмяТеста,Транзакция,Параметр"", ""ТестСОпциями"", Истина, 2); - ВсеТесты.Добавить(ПараметрыТеста); - - ПараметрыТеста = Новый Структура(""ИмяТеста,Транзакция"", ""ТестСОпциями_БезПараметра"", Истина); - ВсеТесты.Добавить(ПараметрыТеста); - - ПараметрыТеста = Новый Структура(""ИмяТеста,Параметр"", ""НесуществующийТест"", 1); - ВсеТесты.Добавить(ПараметрыТеста); - - //ПараметрыТеста = Новый Структура(""Парам1"", 1); // нет имени теста - браузер не загрузит тестовый набор - //ВсеТесты.Добавить(ПараметрыТеста); - - ВсеТесты.Добавить(""ТестСОпциями_БезПараметра""); - ВсеТесты.Добавить(""Тест_Обычный""); - - Возврат ВсеТесты; - -КонецФункции - -&НаКлиенте -Процедура ТестСОпциями(Парам) Экспорт - - Сообщить(""Парам теста <""+Парам+"">""); - юТест.ПроверитьНеЗаполненность(Парам, ""ТестСОпциями(Парам)""); - -КонецПроцедуры - -&НаКлиенте -Процедура ТестСОпциями_БезПараметра() Экспорт - -КонецПроцедуры - -&НаКлиенте -Процедура Тест_Обычный() Экспорт - - юТест.Проверить(Истина, ""Значение ложно""); - -КонецПроцедуры -", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",f5c382c7-4ddf-4d48-9acd-6889965b8283} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0/info" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0/info" deleted file mode 100644 index c70b5f39..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0/info" +++ /dev/null @@ -1 +0,0 @@ -{3,1,0,"",0} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/c0334e99-c3c6-4bc5-a429-136a15e54924" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/c0334e99-c3c6-4bc5-a429-136a15e54924" deleted file mode 100644 index 6e47e3c2..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/c0334e99-c3c6-4bc5-a429-136a15e54924" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{c0334e99-c3c6-4bc5-a429-136a15e54924},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,f5c382c7-4ddf-4d48-9acd-6889965b8283,b0423280-0ae5-49d0-9744-a7f29f0e5b6b, -{0, -{0, -{0,0,bc48c7f8-c422-40cd-bccc-fcd2d13545c9},"Тест_ПараметрыТестов", -{1,"ru","Тест параметры тестов"},""} -},2c227560-91b9-4172-a890-89cbeb09013a,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,2c227560-91b9-4172-a890-89cbeb09013a}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/copyinfo" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/copyinfo" deleted file mode 100644 index 57c5d603..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{2c227560-91b9-4172-a890-89cbeb09013a,2c227560-91b9-4172-a890-89cbeb09013a,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -}, -{bc48c7f8-c422-40cd-bccc-fcd2d13545c9,bc48c7f8-c422-40cd-bccc-fcd2d13545c9,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"Тест_ПараметрыТестов"} -} -}, -{1, -{f5c382c7-4ddf-4d48-9acd-6889965b8283,bc48c7f8-c422-40cd-bccc-fcd2d13545c9,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/root" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/root" deleted file mode 100644 index eb7b8af1..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,c0334e99-c3c6-4bc5-a429-136a15e54924,} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/version" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/version" deleted file mode 100644 index c23bfe28..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/version" +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" deleted file mode 100644 index af7c7101..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,10,"",dd59e79c-38b6-4a6b-9a49-6e3bcf0843f3,"versions",69bd8035-f43c-4677-9382-c2ac8b29a101,"root",e722a471-88f8-47ca-8624-6b2bb2571b9e,"c0334e99-c3c6-4bc5-a429-136a15e54924",1ef2a796-388c-4943-9036-16606f23a662,"2c227560-91b9-4172-a890-89cbeb09013a.0",2d7695cb-546c-419f-9e8f-c4c234b427be,"2c227560-91b9-4172-a890-89cbeb09013a.1",699339f9-578c-4ee8-b7c3-9489b56f6954,"version",c77e3f98-6688-4e93-b900-d75e21a477ce,"bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0",a412d1a8-8f5d-4ce9-af9c-3f8f526b7cbe,"2c227560-91b9-4172-a890-89cbeb09013a",f36d9d87-6bfd-4f62-bd14-a3e257f75373,"copyinfo",b1ae445e-8779-4e8e-830a-3069e0b267df} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index fa43a327..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,6 +0,0 @@ -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ВызватьИсключение "спец.ошибка в ПолучитьСписокТестов"; - -КонецФункции diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/renames.txt" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/renames.txt" deleted file mode 100644 index 40e598dc..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/renames.txt" +++ /dev/null @@ -1,9 +0,0 @@ -064b90a2-eb02-4faf-b067-921eb4ee4d8f-->und\064b90a2-eb02-4faf-b067-921eb4ee4d8f -064b90a2-eb02-4faf-b067-921eb4ee4d8f.0-->Form\Форма\Форма.txt -064b90a2-eb02-4faf-b067-921eb4ee4d8f.0-->und\064b90a2-eb02-4faf-b067-921eb4ee4d8f.0 -064b90a2-eb02-4faf-b067-921eb4ee4d8f.0-->und\064b90a2-eb02-4faf-b067-921eb4ee4d8f.0 -copyinfo-->und\copyinfo -dbf4cba2-b5be-407a-9d46-ce44778e9e5b-->und\dbf4cba2-b5be-407a-9d46-ce44778e9e5b -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/064b90a2-eb02-4faf-b067-921eb4ee4d8f" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/064b90a2-eb02-4faf-b067-921eb4ee4d8f" deleted file mode 100644 index ab24aa10..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/064b90a2-eb02-4faf-b067-921eb4ee4d8f" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,064b90a2-eb02-4faf-b067-921eb4ee4d8f},"Форма", -{1,"ru","Форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/064b90a2-eb02-4faf-b067-921eb4ee4d8f.0" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/064b90a2-eb02-4faf-b067-921eb4ee4d8f.0" deleted file mode 100644 index f8162fe3..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/064b90a2-eb02-4faf-b067-921eb4ee4d8f.0" +++ /dev/null @@ -1,73 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ВызватьИсключение ""спец.ошибка в ПолучитьСписокТестов""; - -КонецФункции -", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",27c9cca0-57fd-40a6-bd05-00977dfd969c} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/copyinfo" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/copyinfo" deleted file mode 100644 index 7aea5825..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{064b90a2-eb02-4faf-b067-921eb4ee4d8f,064b90a2-eb02-4faf-b067-921eb4ee4d8f,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -}, -{d0c90ead-5864-4dfa-a8d0-d3fe408e2a7f,d0c90ead-5864-4dfa-a8d0-d3fe408e2a7f,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"Тест_НеверныйМетод_ПолучитьСписокТестовыхСлучаев"} -} -}, -{1, -{27c9cca0-57fd-40a6-bd05-00977dfd969c,d0c90ead-5864-4dfa-a8d0-d3fe408e2a7f,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/dbf4cba2-b5be-407a-9d46-ce44778e9e5b" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/dbf4cba2-b5be-407a-9d46-ce44778e9e5b" deleted file mode 100644 index f1c34b46..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/dbf4cba2-b5be-407a-9d46-ce44778e9e5b" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{dbf4cba2-b5be-407a-9d46-ce44778e9e5b},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,27c9cca0-57fd-40a6-bd05-00977dfd969c,54ce53d0-6990-4c7f-82e8-4d4e4a8321e3, -{0, -{0, -{0,0,d0c90ead-5864-4dfa-a8d0-d3fe408e2a7f},"Тест_НеверныйМетод_ПолучитьСписокТестовыхСлучаев", -{1,"ru","Тест неверный метод получить список тестовых случаев"},""} -},064b90a2-eb02-4faf-b067-921eb4ee4d8f,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,064b90a2-eb02-4faf-b067-921eb4ee4d8f}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/root" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/root" deleted file mode 100644 index 661908f2..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,dbf4cba2-b5be-407a-9d46-ce44778e9e5b,} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/version" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/version" deleted file mode 100644 index c23bfe28..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/version" +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/versions" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/versions" deleted file mode 100644 index 5339f87d..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,8,"",aa5b2151-bec6-4be0-aa2e-1d38c3878eb1,"064b90a2-eb02-4faf-b067-921eb4ee4d8f",c3b85342-e956-4738-bc7f-eddf8a03f2f1,"versions",7d916171-47af-43a3-898f-b08470d9c28e,"dbf4cba2-b5be-407a-9d46-ce44778e9e5b",754680cc-da1d-47fd-aa60-724e10b695b5,"064b90a2-eb02-4faf-b067-921eb4ee4d8f.0",7105b2d9-7c97-42c7-bccc-27dbf74249c7,"root",a71a453b-3bf3-4a7b-8d1a-18c17c1e4776,"version",46ef029b-f5de-49bf-97ce-ee9a213d53b8,"copyinfo",25f07512-0ef6-4acf-b571-06b26c90884e} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index 7078076f..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,21 +0,0 @@ -&НаКлиенте -Перем юТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - ВсеТесты.Добавить("Тест_ДваПлюсДва_Сломаный"); - - Возврат ВсеТесты; - -КонецФункции - -&НаКлиенте -Процедура Тест_ДваПлюсДва_Сломаный() Экспорт - - юТест.Проверить(2 + 2 = 5, "Значение не верно"); - -КонецПроцедуры diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/ObjectModule.txt" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/ObjectModule.txt" deleted file mode 100644 index e01e88be..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/ObjectModule.txt" +++ /dev/null @@ -1,18 +0,0 @@ -Перем юТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - ВсеТесты.Добавить("Тест_ДваПлюсДва_Сломаный"); - - Возврат ВсеТесты; - -КонецФункции - -Процедура Тест_ДваПлюсДва_Сломаный() Экспорт - - юТест.Проверить(2 + 2 = 5, "Значение не верно - 2 + 2 = 5"); - -КонецПроцедуры diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/renames.txt" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/renames.txt" deleted file mode 100644 index 129d917e..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/renames.txt" +++ /dev/null @@ -1,11 +0,0 @@ -727eda5f-558c-428b-86d2-3421c52f4c50.0\info-->und\727eda5f-558c-428b-86d2-3421c52f4c50.0\info -727eda5f-558c-428b-86d2-3421c52f4c50.0\text-->ObjectModule.txt -ada02760-1fa7-4a08-aad3-fe9359a8d782-->und\ada02760-1fa7-4a08-aad3-fe9359a8d782 -ada02760-1fa7-4a08-aad3-fe9359a8d782.0-->Form\Форма\Форма.txt -ada02760-1fa7-4a08-aad3-fe9359a8d782.0-->und\ada02760-1fa7-4a08-aad3-fe9359a8d782.0 -ada02760-1fa7-4a08-aad3-fe9359a8d782.0-->und\ada02760-1fa7-4a08-aad3-fe9359a8d782.0 -copyinfo-->und\copyinfo -f38c7465-2120-4aeb-87fc-1cd6a72e4559-->und\f38c7465-2120-4aeb-87fc-1cd6a72e4559 -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" deleted file mode 100644 index c70b5f39..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" +++ /dev/null @@ -1 +0,0 @@ -{3,1,0,"",0} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/ada02760-1fa7-4a08-aad3-fe9359a8d782" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/ada02760-1fa7-4a08-aad3-fe9359a8d782" deleted file mode 100644 index 906a7d55..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/ada02760-1fa7-4a08-aad3-fe9359a8d782" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,ada02760-1fa7-4a08-aad3-fe9359a8d782},"Форма", -{1,"ru","Форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/ada02760-1fa7-4a08-aad3-fe9359a8d782.0" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/ada02760-1fa7-4a08-aad3-fe9359a8d782.0" deleted file mode 100644 index 33781b3d..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/ada02760-1fa7-4a08-aad3-fe9359a8d782.0" +++ /dev/null @@ -1,88 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"&НаКлиенте -Перем юТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - ВсеТесты.Добавить(""Тест_ДваПлюсДва_Сломаный""); - - Возврат ВсеТесты; - -КонецФункции - -&НаКлиенте -Процедура Тест_ДваПлюсДва_Сломаный() Экспорт - - юТест.Проверить(2 + 2 = 5, ""Значение не верно""); - -КонецПроцедуры -", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",46282281-48b4-46da-8efa-b167f8b65d44} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/copyinfo" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/copyinfo" deleted file mode 100644 index c2ddd30e..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{727eda5f-558c-428b-86d2-3421c52f4c50,727eda5f-558c-428b-86d2-3421c52f4c50,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ТестПримерСломаногоТеста"} -}, -{ada02760-1fa7-4a08-aad3-fe9359a8d782,ada02760-1fa7-4a08-aad3-fe9359a8d782,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -} -}, -{1, -{46282281-48b4-46da-8efa-b167f8b65d44,727eda5f-558c-428b-86d2-3421c52f4c50,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" deleted file mode 100644 index 316eb4d8..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{f38c7465-2120-4aeb-87fc-1cd6a72e4559},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,46282281-48b4-46da-8efa-b167f8b65d44,68c3abeb-66d9-445e-a617-90228868ace3, -{0, -{0, -{0,0,727eda5f-558c-428b-86d2-3421c52f4c50},"ТестПримерСломаногоТеста", -{1,"ru","Пример сломаного теста"},""} -},ada02760-1fa7-4a08-aad3-fe9359a8d782,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,ada02760-1fa7-4a08-aad3-fe9359a8d782}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/root" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/root" deleted file mode 100644 index 7a2de7c1..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,f38c7465-2120-4aeb-87fc-1cd6a72e4559,} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/version" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/version" deleted file mode 100644 index c23bfe28..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/version" +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/versions" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/versions" deleted file mode 100644 index 785d0272..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,9,"",e2442157-08fd-4fb9-985d-d30e77ad44fd,"versions",ea637776-6ccb-41f6-9571-6fd2ea57cfcd,"root",52194370-74c8-4cdd-97bf-4e10aa0405fe,"version",f81825a3-0705-4166-a635-45252ce586c8,"ada02760-1fa7-4a08-aad3-fe9359a8d782",8f45c611-b221-4619-a20c-a82649a22512,"ada02760-1fa7-4a08-aad3-fe9359a8d782.0",aed5eb63-9ae9-4957-9ce3-afe10996755b,"727eda5f-558c-428b-86d2-3421c52f4c50.0",2ecff828-ccc8-495c-b080-7c783e87e81a,"f38c7465-2120-4aeb-87fc-1cd6a72e4559",6aa5d7ef-da6b-47c3-a042-3b1176556048,"copyinfo",cba002a0-f8bd-4c17-aaf2-3e60fc64c8b5} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index b8b828af..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,20 +0,0 @@ -&НаКлиенте -Перем ЮТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - Результат = ЮТест.Новый_НаборТестов(); - - ЮТест.НаборТестов_Добавить(Результат, "Тест_ПриватныйТестовыйСлучайТрактуетсяКакНеРеализованный"); - - Возврат Результат; - -КонецФункции - -&НаКлиенте -Функция Тест_ПриватныйТестовыйСлучайТрактуетсяКакНеРеализованный() - ЮТест.Проверить(Истина); -КонецФункции diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/ObjectModule.txt" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/ObjectModule.txt" deleted file mode 100644 index d966b200..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/ObjectModule.txt" +++ /dev/null @@ -1,17 +0,0 @@ -Перем ЮТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - Результат = ЮТест.Новый_НаборТестов(); - - ЮТест.НаборТестов_Добавить(Результат, "Тест_ПриватныйТестовыйСлучайТрактуетсяКакНеРеализованный"); - - Возврат Результат; - -КонецФункции - -Функция Тест_ПриватныйТестовыйСлучайТрактуетсяКакНеРеализованный() - ЮТест.Проверить(Истина); -КонецФункции diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/renames.txt" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/renames.txt" deleted file mode 100644 index dc6dd08c..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/renames.txt" +++ /dev/null @@ -1,11 +0,0 @@ -1bf6058d-6b06-41fe-b3ec-d726dd328899-->und\1bf6058d-6b06-41fe-b3ec-d726dd328899 -1bf6058d-6b06-41fe-b3ec-d726dd328899.0-->Form\Форма\Форма.txt -1bf6058d-6b06-41fe-b3ec-d726dd328899.0-->und\1bf6058d-6b06-41fe-b3ec-d726dd328899.0 -1bf6058d-6b06-41fe-b3ec-d726dd328899.0-->und\1bf6058d-6b06-41fe-b3ec-d726dd328899.0 -af30e85a-d1f6-44e2-b2c2-6c5961f06ba2-->und\af30e85a-d1f6-44e2-b2c2-6c5961f06ba2 -c06e2011-e1e8-42d8-8bc3-de699e96174c.0\info-->und\c06e2011-e1e8-42d8-8bc3-de699e96174c.0\info -c06e2011-e1e8-42d8-8bc3-de699e96174c.0\text-->ObjectModule.txt -copyinfo-->und\copyinfo -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/1bf6058d-6b06-41fe-b3ec-d726dd328899" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/1bf6058d-6b06-41fe-b3ec-d726dd328899" deleted file mode 100644 index c39a65b4..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/1bf6058d-6b06-41fe-b3ec-d726dd328899" +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,1bf6058d-6b06-41fe-b3ec-d726dd328899},"Форма", -{1,"ru","Форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/1bf6058d-6b06-41fe-b3ec-d726dd328899.0" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/1bf6058d-6b06-41fe-b3ec-d726dd328899.0" deleted file mode 100644 index ced5a8b4..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/1bf6058d-6b06-41fe-b3ec-d726dd328899.0" +++ /dev/null @@ -1,87 +0,0 @@ -{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}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -},"&НаКлиенте -Перем ЮТест; - -&НаКлиенте -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - Результат = ЮТест.Новый_НаборТестов(); - - ЮТест.НаборТестов_Добавить(Результат, ""Тест_ПриватныйТестовыйСлучайТрактуетсяКакНеРеализованный""); - - Возврат Результат; - -КонецФункции - -&НаКлиенте -Функция Тест_ПриватныйТестовыйСлучайТрактуетсяКакНеРеализованный() - ЮТест.Проверить(Истина); -КонецФункции -", -{4,1, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",495bbdf1-347b-484e-bad8-6442774d548f} -}, -{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 -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,0}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/af30e85a-d1f6-44e2-b2c2-6c5961f06ba2" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/af30e85a-d1f6-44e2-b2c2-6c5961f06ba2" deleted file mode 100644 index b55852b4..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/af30e85a-d1f6-44e2-b2c2-6c5961f06ba2" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{af30e85a-d1f6-44e2-b2c2-6c5961f06ba2},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,495bbdf1-347b-484e-bad8-6442774d548f,1553e296-7e3b-4b0c-b598-6594f5cd9ba3, -{0, -{0, -{0,0,c06e2011-e1e8-42d8-8bc3-de699e96174c},"ТестыПриватныйТестовыйСлучай", -{1,"ru","Приватный тестовый случай"},"https://github.com/kuntashov/1CUnit/issues/24 (Нет ошибки, если метод определен как приватный)"} -},1bf6058d-6b06-41fe-b3ec-d726dd328899,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,1bf6058d-6b06-41fe-b3ec-d726dd328899}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/c06e2011-e1e8-42d8-8bc3-de699e96174c.0/info" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/c06e2011-e1e8-42d8-8bc3-de699e96174c.0/info" deleted file mode 100644 index c70b5f39..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/c06e2011-e1e8-42d8-8bc3-de699e96174c.0/info" +++ /dev/null @@ -1 +0,0 @@ -{3,1,0,"",0} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/copyinfo" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/copyinfo" deleted file mode 100644 index 8f458d98..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/copyinfo" +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{1bf6058d-6b06-41fe-b3ec-d726dd328899,1bf6058d-6b06-41fe-b3ec-d726dd328899,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -}, -{c06e2011-e1e8-42d8-8bc3-de699e96174c,c06e2011-e1e8-42d8-8bc3-de699e96174c,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ТестыПриватныйТестовыйСлучай"} -} -}, -{1, -{495bbdf1-347b-484e-bad8-6442774d548f,c06e2011-e1e8-42d8-8bc3-de699e96174c,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/root" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/root" deleted file mode 100644 index 87a4e403..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,af30e85a-d1f6-44e2-b2c2-6c5961f06ba2,} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/version" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/version" deleted file mode 100644 index c23bfe28..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/version" +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/versions" "b/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/versions" deleted file mode 100644 index e3ba8b2c..00000000 --- "a/src/TestsShouldFail/ManagedApp/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,9,"",7eb78baa-6838-4949-a562-bc895a91924e,"versions",3645ba85-6c58-439a-8f79-88b9285f61c0,"root",1b844c2b-49d4-41fc-a994-931430d42e71,"version",8cbb2f5b-0d20-4735-b75a-a8a5bd5d0879,"1bf6058d-6b06-41fe-b3ec-d726dd328899.0",3aa7e235-1bad-48c1-9161-536f35f05801,"af30e85a-d1f6-44e2-b2c2-6c5961f06ba2",4bf6178c-61d6-4f96-8786-6425bee003e4,"c06e2011-e1e8-42d8-8bc3-de699e96174c.0",216ed7a1-e4ea-4ab4-95a8-a0ebd07fb66e,"1bf6058d-6b06-41fe-b3ec-d726dd328899",4ae24bb0-1516-4583-b612-b92ae1e222bc,"copyinfo",9742056b-458e-4d05-a44e-5e2ba3f4c879} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" deleted file mode 100644 index e85adcb5..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/ObjectModule.txt" +++ /dev/null @@ -1,50 +0,0 @@ - -Перем юТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - Параметры = Новый Структура("ПредставлениеТеста, ИмяТеста,Транзакция,Параметр", "Тест с опциями", "ТестСОпциями", Истина, "тест представления"); - ВсеТесты.Добавить(Параметры); - - Параметры = Новый Структура("ИмяТеста,Транзакция,Параметр", "ТестСОпциями", Истина, 1); - ВсеТесты.Добавить(Параметры); - - Параметры = Новый Структура("ИмяТеста,Транзакция,Параметр", "ТестСОпциями", Истина, 2); - ВсеТесты.Добавить(Параметры); - - Параметры = Новый Структура("ИмяТеста,Транзакция", "ТестСОпциями_БезПараметра", Истина); - ВсеТесты.Добавить(Параметры); - - Параметры = Новый Структура("ИмяТеста,Параметр", "НесуществующийТест", 1); - ВсеТесты.Добавить(Параметры); - - //Параметры = Новый Структура("Парам1", 1); // нет имени теста - браузер не загрузит тестовый набор - //ВсеТесты.Добавить(Параметры); - - ВсеТесты.Добавить("ТестСОпциями_БезПараметра"); - ВсеТесты.Добавить("Тест_Обычный"); - - Возврат ВсеТесты; - -КонецФункции - -Процедура ТестСОпциями(Парам) Экспорт - - Сообщить("Парам теста <"+Парам+">"); - юТест.ПроверитьНеЗаполненность(Парам, "ТестСОпциями(Парам)"); - -КонецПроцедуры - -Процедура ТестСОпциями_БезПараметра() Экспорт - -КонецПроцедуры - -Процедура Тест_Обычный() Экспорт - - юТест.Проверить(Истина, "Значение ложно"); - -КонецПроцедуры diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" deleted file mode 100644 index ceae4cab..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/renames.txt" +++ /dev/null @@ -1,7 +0,0 @@ -bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0\info-->und\bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0\info -bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0\text-->ObjectModule.txt -c0334e99-c3c6-4bc5-a429-136a15e54924-->und\c0334e99-c3c6-4bc5-a429-136a15e54924 -copyinfo-->und\copyinfo -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0/info" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0/info" deleted file mode 100644 index c70b5f39..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0/info" +++ /dev/null @@ -1 +0,0 @@ -{3,1,0,"",0} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/c0334e99-c3c6-4bc5-a429-136a15e54924" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/c0334e99-c3c6-4bc5-a429-136a15e54924" deleted file mode 100644 index 59d2513e..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/c0334e99-c3c6-4bc5-a429-136a15e54924" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{c0334e99-c3c6-4bc5-a429-136a15e54924},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,f5c382c7-4ddf-4d48-9acd-6889965b8283,b0423280-0ae5-49d0-9744-a7f29f0e5b6b, -{0, -{0, -{0,0,bc48c7f8-c422-40cd-bccc-fcd2d13545c9},"Тест_ПараметрыТестов", -{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}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/copyinfo" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/copyinfo" deleted file mode 100644 index 08913bc8..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/copyinfo" +++ /dev/null @@ -1,7 +0,0 @@ -{4, -{0}, -{0}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/root" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/root" deleted file mode 100644 index eb7b8af1..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,c0334e99-c3c6-4bc5-a429-136a15e54924,} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/version" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/version" deleted file mode 100644 index c23bfe28..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/version" +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" deleted file mode 100644 index 03cf7714..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\276\320\262/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,7,"",d97ac699-867c-46d3-a417-ea03b244c700,"root",039e1400-8126-4f73-8a43-59e700825269,"c0334e99-c3c6-4bc5-a429-136a15e54924",7ac912fa-dfe3-429f-b119-d26ac5ce218e,"copyinfo",acdc6d5b-7113-4b39-aa24-b86495d69830,"bc48c7f8-c422-40cd-bccc-fcd2d13545c9.0",158c726d-9866-4485-8443-481c5ceb6ac5,"versions",96cb2727-4a21-4af7-9ba8-620cfe1e21be,"version",4b53c203-39c2-4c54-877b-e14a8bc465f9} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/ObjectModule.txt" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/ObjectModule.txt" deleted file mode 100644 index faa99c9e..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/ObjectModule.txt" +++ /dev/null @@ -1,6 +0,0 @@ - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ВызватьИсключение "спец.ошибка в ПолучитьСписокТестов"; - -КонецФункции diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/renames.txt" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/renames.txt" deleted file mode 100644 index f92ea327..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/renames.txt" +++ /dev/null @@ -1,7 +0,0 @@ -3c482af6-f78a-49de-98f9-6e0acd95825a-->und\3c482af6-f78a-49de-98f9-6e0acd95825a -4636a258-949e-45c9-a528-bc3cbfbba491.0\info-->und\4636a258-949e-45c9-a528-bc3cbfbba491.0\info -4636a258-949e-45c9-a528-bc3cbfbba491.0\text-->ObjectModule.txt -copyinfo-->und\copyinfo -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/3c482af6-f78a-49de-98f9-6e0acd95825a" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/3c482af6-f78a-49de-98f9-6e0acd95825a" deleted file mode 100644 index 91ad2d92..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/3c482af6-f78a-49de-98f9-6e0acd95825a" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{3c482af6-f78a-49de-98f9-6e0acd95825a},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,cb913ea4-8305-45e6-93c9-dcd247f12e73,34b95634-1ffb-455d-89b6-f670f2e776df, -{0, -{0, -{0,0,4636a258-949e-45c9-a528-bc3cbfbba491},"Тест_НеверныйМетод_ПолучитьСписокТестовыхСлучаев", -{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}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/4636a258-949e-45c9-a528-bc3cbfbba491.0/info" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/4636a258-949e-45c9-a528-bc3cbfbba491.0/info" deleted file mode 100644 index c70b5f39..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/4636a258-949e-45c9-a528-bc3cbfbba491.0/info" +++ /dev/null @@ -1 +0,0 @@ -{3,1,0,"",0} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/copyinfo" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/copyinfo" deleted file mode 100644 index 08913bc8..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/copyinfo" +++ /dev/null @@ -1,7 +0,0 @@ -{4, -{0}, -{0}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/root" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/root" deleted file mode 100644 index e1b4082d..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,3c482af6-f78a-49de-98f9-6e0acd95825a,} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/version" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/version" deleted file mode 100644 index c23bfe28..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/version" +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/versions" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/versions" deleted file mode 100644 index 73c51f7e..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202_\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271\320\234\320\265\321\202\320\276\320\264_\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\241\320\273\321\203\321\207\320\260\320\265\320\262/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,7,"",cbd3aed3-eae3-4fcb-bb4d-db810965f44f,"root",02492773-78a9-4ab4-8409-2c48148549e6,"3c482af6-f78a-49de-98f9-6e0acd95825a",fee63df7-56a8-4139-883b-b0270a910210,"4636a258-949e-45c9-a528-bc3cbfbba491.0",2bf199c7-0431-46aa-8b2b-80a88875b4ea,"copyinfo",e1100ebb-5b5b-4080-8136-6b5333047bfb,"versions",58ebce3a-a3d7-4ded-9a7a-a57caa5c80f2,"version",8ce16500-1c35-4602-916a-35f52c6c7961} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\236\321\210\320\270\320\261\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/ObjectModule.txt" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\236\321\210\320\270\320\261\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/ObjectModule.txt" deleted file mode 100644 index cb64e4a7..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\236\321\210\320\270\320\261\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/ObjectModule.txt" +++ /dev/null @@ -1,27 +0,0 @@ -Перем юТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - ВсеТесты.Добавить("Тест_ДваПлюсДва_Сломаный"); - - Возврат ВсеТесты; - -КонецФункции - -Процедура Тест_ДваПлюсДва_Сломаный() Экспорт - юТест.Проверить(2 + 2 = 5, "Значение не верно"); -КонецПроцедуры - -Процедура тест_ПроверитьМетодНеВыполнился() Экспорт - - //юТест.ПроверитьМетодНеВыполнился(какойТоМодуль, "поделитьнаНоль", "Деление на ноль"); - // - //юТест.ПроверитьМетодНеВыполнился(Контекст, "Записать", "Деление на ноль"); - -КонецПроцедуры - - артТесты.НесуществующийМетод(); //спец.ошибка - diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\236\321\210\320\270\320\261\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/renames.txt" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\236\321\210\320\270\320\261\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/renames.txt" deleted file mode 100644 index 33b979fd..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\236\321\210\320\270\320\261\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/renames.txt" +++ /dev/null @@ -1,7 +0,0 @@ -727eda5f-558c-428b-86d2-3421c52f4c50.0\info-->und\727eda5f-558c-428b-86d2-3421c52f4c50.0\info -727eda5f-558c-428b-86d2-3421c52f4c50.0\text-->ObjectModule.txt -copyinfo-->und\copyinfo -f38c7465-2120-4aeb-87fc-1cd6a72e4559-->und\f38c7465-2120-4aeb-87fc-1cd6a72e4559 -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\236\321\210\320\270\320\261\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\236\321\210\320\270\320\261\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" deleted file mode 100644 index c70b5f39..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\236\321\210\320\270\320\261\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" +++ /dev/null @@ -1 +0,0 @@ -{3,1,0,"",0} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\236\321\210\320\270\320\261\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/und/copyinfo" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\236\321\210\320\270\320\261\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/und/copyinfo" deleted file mode 100644 index 08913bc8..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\236\321\210\320\270\320\261\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/und/copyinfo" +++ /dev/null @@ -1,7 +0,0 @@ -{4, -{0}, -{0}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\236\321\210\320\270\320\261\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\236\321\210\320\270\320\261\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" deleted file mode 100644 index ca3b616f..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\236\321\210\320\270\320\261\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{f38c7465-2120-4aeb-87fc-1cd6a72e4559},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,46282281-48b4-46da-8efa-b167f8b65d44,68c3abeb-66d9-445e-a617-90228868ace3, -{0, -{0, -{0,0,727eda5f-558c-428b-86d2-3421c52f4c50},"ТестОшибкаЗагрузки", -{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}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\236\321\210\320\270\320\261\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/und/root" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\236\321\210\320\270\320\261\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/und/root" deleted file mode 100644 index 7a2de7c1..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\236\321\210\320\270\320\261\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,f38c7465-2120-4aeb-87fc-1cd6a72e4559,} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\236\321\210\320\270\320\261\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/und/version" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\236\321\210\320\270\320\261\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/und/version" deleted file mode 100644 index c23bfe28..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\236\321\210\320\270\320\261\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/und/version" +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\236\321\210\320\270\320\261\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/und/versions" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\236\321\210\320\270\320\261\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/und/versions" deleted file mode 100644 index eb1816ed..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\236\321\210\320\270\320\261\320\272\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,7,"",5f6aad10-ad04-428f-a7a3-75c97feaa77b,"root",3baeb27c-32e1-4f30-8542-3224299e5d2d,"727eda5f-558c-428b-86d2-3421c52f4c50.0",9cd96d7c-58d9-4bfe-b0b1-fc4fd7cd6b6e,"copyinfo",457e282b-8b2a-4e8e-8af7-85c62008b3e4,"versions",c6123ff5-9001-4292-bc2e-83a3d1551538,"f38c7465-2120-4aeb-87fc-1cd6a72e4559",648df63b-43f7-4913-9218-1c429660d3fa,"version",ad17a275-3a45-45e3-87a0-cb73b338862a} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/ObjectModule.txt" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/ObjectModule.txt" deleted file mode 100644 index 31e553f7..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/ObjectModule.txt" +++ /dev/null @@ -1,18 +0,0 @@ -Перем юТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - ВсеТесты.Добавить("Тест_ДваПлюсДва_Сломаный"); - - Возврат ВсеТесты; - -КонецФункции - -Процедура Тест_ДваПлюсДва_Сломаный() Экспорт - - юТест.Проверить(2 + 2 = 5, "Значение не верно"); - -КонецПроцедуры diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/renames.txt" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/renames.txt" deleted file mode 100644 index 33b979fd..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/renames.txt" +++ /dev/null @@ -1,7 +0,0 @@ -727eda5f-558c-428b-86d2-3421c52f4c50.0\info-->und\727eda5f-558c-428b-86d2-3421c52f4c50.0\info -727eda5f-558c-428b-86d2-3421c52f4c50.0\text-->ObjectModule.txt -copyinfo-->und\copyinfo -f38c7465-2120-4aeb-87fc-1cd6a72e4559-->und\f38c7465-2120-4aeb-87fc-1cd6a72e4559 -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" deleted file mode 100644 index c70b5f39..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" +++ /dev/null @@ -1 +0,0 @@ -{3,1,0,"",0} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/copyinfo" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/copyinfo" deleted file mode 100644 index 08913bc8..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/copyinfo" +++ /dev/null @@ -1,7 +0,0 @@ -{4, -{0}, -{0}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" deleted file mode 100644 index b2975433..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{f38c7465-2120-4aeb-87fc-1cd6a72e4559},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,46282281-48b4-46da-8efa-b167f8b65d44,68c3abeb-66d9-445e-a617-90228868ace3, -{0, -{0, -{0,0,727eda5f-558c-428b-86d2-3421c52f4c50},"ТестПримерСломаногоТеста", -{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}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/root" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/root" deleted file mode 100644 index 7a2de7c1..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,f38c7465-2120-4aeb-87fc-1cd6a72e4559,} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/version" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/version" deleted file mode 100644 index c23bfe28..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/version" +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/versions" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/versions" deleted file mode 100644 index 9f89bf49..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\241\320\273\320\276\320\274\320\260\320\275\320\276\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,7,"",e81b1f7a-074f-4baa-ac53-b316e32ab402,"root",53598061-5eb0-40fc-b2bd-f9f3e9c09e3f,"727eda5f-558c-428b-86d2-3421c52f4c50.0",0f1b8ad0-1665-4d4e-9a18-b1b92bade431,"copyinfo",59b72a0d-a6d6-41ef-b85a-f411a41834fd,"f38c7465-2120-4aeb-87fc-1cd6a72e4559",b42f12e9-c2cd-4cd3-b16e-eb640271d7fa,"versions",9af3b194-20f8-4c0f-a797-28957dc0d3e9,"version",eda9b4b9-7e06-4711-98a4-4fc014c24951} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/ObjectModule.txt" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/ObjectModule.txt" deleted file mode 100644 index d966b200..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/ObjectModule.txt" +++ /dev/null @@ -1,17 +0,0 @@ -Перем ЮТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - ЮТест = ЮнитТестирование; - - Результат = ЮТест.Новый_НаборТестов(); - - ЮТест.НаборТестов_Добавить(Результат, "Тест_ПриватныйТестовыйСлучайТрактуетсяКакНеРеализованный"); - - Возврат Результат; - -КонецФункции - -Функция Тест_ПриватныйТестовыйСлучайТрактуетсяКакНеРеализованный() - ЮТест.Проверить(Истина); -КонецФункции diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/renames.txt" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/renames.txt" deleted file mode 100644 index c572b547..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/renames.txt" +++ /dev/null @@ -1,7 +0,0 @@ -af30e85a-d1f6-44e2-b2c2-6c5961f06ba2-->und\af30e85a-d1f6-44e2-b2c2-6c5961f06ba2 -c06e2011-e1e8-42d8-8bc3-de699e96174c.0\info-->und\c06e2011-e1e8-42d8-8bc3-de699e96174c.0\info -c06e2011-e1e8-42d8-8bc3-de699e96174c.0\text-->ObjectModule.txt -copyinfo-->und\copyinfo -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/af30e85a-d1f6-44e2-b2c2-6c5961f06ba2" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/af30e85a-d1f6-44e2-b2c2-6c5961f06ba2" deleted file mode 100644 index 82d67062..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/af30e85a-d1f6-44e2-b2c2-6c5961f06ba2" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{af30e85a-d1f6-44e2-b2c2-6c5961f06ba2},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,495bbdf1-347b-484e-bad8-6442774d548f,1553e296-7e3b-4b0c-b598-6594f5cd9ba3, -{0, -{0, -{0,0,c06e2011-e1e8-42d8-8bc3-de699e96174c},"ТестыПриватныйТестовыйСлучай", -{1,"ru","Приватный тестовый случай"},"https://github.com/kuntashov/1CUnit/issues/24 (Нет ошибки, если метод определен как приватный)"} -},00000000-0000-0000-0000-000000000000,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,0}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/c06e2011-e1e8-42d8-8bc3-de699e96174c.0/info" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/c06e2011-e1e8-42d8-8bc3-de699e96174c.0/info" deleted file mode 100644 index c70b5f39..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/c06e2011-e1e8-42d8-8bc3-de699e96174c.0/info" +++ /dev/null @@ -1 +0,0 @@ -{3,1,0,"",0} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/copyinfo" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/copyinfo" deleted file mode 100644 index 08913bc8..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/copyinfo" +++ /dev/null @@ -1,7 +0,0 @@ -{4, -{0}, -{0}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/root" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/root" deleted file mode 100644 index 87a4e403..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,af30e85a-d1f6-44e2-b2c2-6c5961f06ba2,} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/version" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/version" deleted file mode 100644 index c23bfe28..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/version" +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/versions" "b/src/TestsShouldFail/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/versions" deleted file mode 100644 index bc6b3caf..00000000 --- "a/src/TestsShouldFail/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\270\320\262\320\260\321\202\320\275\321\213\320\271\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\241\320\273\321\203\321\207\320\260\320\271/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,7,"af30e85a-d1f6-44e2-b2c2-6c5961f06ba2",c5221ce7-3df9-4764-81af-df23554fa122,"root",45654373-1e0a-4bfe-8cc6-83d68e24d3ab,"",da8c0aa5-679a-448d-bbea-4fb5e2b0093d,"c06e2011-e1e8-42d8-8bc3-de699e96174c.0",216ed7a1-e4ea-4ab4-95a8-a0ebd07fb66e,"copyinfo",690a3778-f65a-4878-84d5-88fbb5687db5,"versions",c8e77ceb-023f-4b7e-9762-f8f85aa4fc87,"version",5b5a616a-ef61-463b-8036-74f981d6f46c} \ No newline at end of file diff --git "a/src/TestsSnegopat/Automated/1CUnit/\320\242\320\265\321\201\321\202\321\213/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/ObjectModule.txt" "b/src/TestsSnegopat/Automated/1CUnit/\320\242\320\265\321\201\321\202\321\213/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/ObjectModule.txt" deleted file mode 100644 index 59b3b5c5..00000000 --- "a/src/TestsSnegopat/Automated/1CUnit/\320\242\320\265\321\201\321\202\321\213/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/ObjectModule.txt" +++ /dev/null @@ -1,38 +0,0 @@ -Перем юТест; - -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("Тест_ДваПлюсДва"); - ВсеТесты.Добавить("Тест_ДваПлюсТри"); - - Возврат ВсеТесты; - -КонецФункции - -Процедура ПередЗапускомТеста() Экспорт - - //юТест.ВывестиСообщение("Перед запуском теста"); - -КонецПроцедуры - -Процедура ПослеЗапускаТеста() Экспорт - - //юТест.ВывестиСообщение("После запуска теста"); - -КонецПроцедуры - -Процедура Тест_ДваПлюсДва() Экспорт - - юТест.Проверить(2 + 2 = 4, "Значение не верно"); - -КонецПроцедуры - -Процедура Тест_ДваПлюсТри() Экспорт - - юТест.Проверить(2 + 3 = 5, "Значение не верно"); - -КонецПроцедуры diff --git "a/src/TestsSnegopat/Automated/1CUnit/\320\242\320\265\321\201\321\202\321\213/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/renames.txt" "b/src/TestsSnegopat/Automated/1CUnit/\320\242\320\265\321\201\321\202\321\213/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/renames.txt" deleted file mode 100644 index 33b979fd..00000000 --- "a/src/TestsSnegopat/Automated/1CUnit/\320\242\320\265\321\201\321\202\321\213/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/renames.txt" +++ /dev/null @@ -1,7 +0,0 @@ -727eda5f-558c-428b-86d2-3421c52f4c50.0\info-->und\727eda5f-558c-428b-86d2-3421c52f4c50.0\info -727eda5f-558c-428b-86d2-3421c52f4c50.0\text-->ObjectModule.txt -copyinfo-->und\copyinfo -f38c7465-2120-4aeb-87fc-1cd6a72e4559-->und\f38c7465-2120-4aeb-87fc-1cd6a72e4559 -root-->und\root -version-->und\version -versions-->und\versions diff --git "a/src/TestsSnegopat/Automated/1CUnit/\320\242\320\265\321\201\321\202\321\213/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" "b/src/TestsSnegopat/Automated/1CUnit/\320\242\320\265\321\201\321\202\321\213/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" deleted file mode 100644 index c70b5f39..00000000 --- "a/src/TestsSnegopat/Automated/1CUnit/\320\242\320\265\321\201\321\202\321\213/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/727eda5f-558c-428b-86d2-3421c52f4c50.0/info" +++ /dev/null @@ -1 +0,0 @@ -{3,1,0,"",0} \ No newline at end of file diff --git "a/src/TestsSnegopat/Automated/1CUnit/\320\242\320\265\321\201\321\202\321\213/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/copyinfo" "b/src/TestsSnegopat/Automated/1CUnit/\320\242\320\265\321\201\321\202\321\213/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/copyinfo" deleted file mode 100644 index 08913bc8..00000000 --- "a/src/TestsSnegopat/Automated/1CUnit/\320\242\320\265\321\201\321\202\321\213/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/copyinfo" +++ /dev/null @@ -1,7 +0,0 @@ -{4, -{0}, -{0}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git "a/src/TestsSnegopat/Automated/1CUnit/\320\242\320\265\321\201\321\202\321\213/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" "b/src/TestsSnegopat/Automated/1CUnit/\320\242\320\265\321\201\321\202\321\213/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" deleted file mode 100644 index d5189511..00000000 --- "a/src/TestsSnegopat/Automated/1CUnit/\320\242\320\265\321\201\321\202\321\213/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/f38c7465-2120-4aeb-87fc-1cd6a72e4559" +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{f38c7465-2120-4aeb-87fc-1cd6a72e4559},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,46282281-48b4-46da-8efa-b167f8b65d44,68c3abeb-66d9-445e-a617-90228868ace3, -{0, -{0, -{0,0,727eda5f-558c-428b-86d2-3421c52f4c50},"ТестПримерТеста", -{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}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,0}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git "a/src/TestsSnegopat/Automated/1CUnit/\320\242\320\265\321\201\321\202\321\213/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/root" "b/src/TestsSnegopat/Automated/1CUnit/\320\242\320\265\321\201\321\202\321\213/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/root" deleted file mode 100644 index 7a2de7c1..00000000 --- "a/src/TestsSnegopat/Automated/1CUnit/\320\242\320\265\321\201\321\202\321\213/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/root" +++ /dev/null @@ -1 +0,0 @@ -{2,f38c7465-2120-4aeb-87fc-1cd6a72e4559,} \ No newline at end of file diff --git "a/src/TestsSnegopat/Automated/1CUnit/\320\242\320\265\321\201\321\202\321\213/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/version" "b/src/TestsSnegopat/Automated/1CUnit/\320\242\320\265\321\201\321\202\321\213/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/version" deleted file mode 100644 index c23bfe28..00000000 --- "a/src/TestsSnegopat/Automated/1CUnit/\320\242\320\265\321\201\321\202\321\213/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/version" +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git "a/src/TestsSnegopat/Automated/1CUnit/\320\242\320\265\321\201\321\202\321\213/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/versions" "b/src/TestsSnegopat/Automated/1CUnit/\320\242\320\265\321\201\321\202\321\213/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/versions" deleted file mode 100644 index d8b5c7ee..00000000 --- "a/src/TestsSnegopat/Automated/1CUnit/\320\242\320\265\321\201\321\202\321\213/\320\242\320\265\321\201\321\202\320\237\321\200\320\270\320\274\320\265\321\200\320\242\320\265\321\201\321\202\320\260/und/versions" +++ /dev/null @@ -1 +0,0 @@ -{1,7,"",26ca703f-96ed-4342-9dcf-e2e394e8d006,"root",d1698192-5db3-438b-a1de-76faa0a051b6,"727eda5f-558c-428b-86d2-3421c52f4c50.0",44187d83-21b8-43ac-a21e-9b31309e5593,"copyinfo",555e6e07-23e0-402c-9c44-b5e8554bc705,"versions",ac080062-0690-42ae-a8b0-717e5b571fad,"f38c7465-2120-4aeb-87fc-1cd6a72e4559",11a65b2c-f4f0-4d49-a717-c0d0a69893fa,"version",34573b95-97af-470f-ae33-74bc375251ab} \ No newline at end of file diff --git "a/src/xddGuidShow/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.txt" "b/src/Utils/xddGuidShow/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.txt" similarity index 100% rename from "src/xddGuidShow/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.txt" rename to "src/Utils/xddGuidShow/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.txt" diff --git "a/src/xddGuidShow/Form/\320\244\320\276\321\200\320\274\320\260/form" "b/src/Utils/xddGuidShow/Form/\320\244\320\276\321\200\320\274\320\260/form" similarity index 100% rename from "src/xddGuidShow/Form/\320\244\320\276\321\200\320\274\320\260/form" rename to "src/Utils/xddGuidShow/Form/\320\244\320\276\321\200\320\274\320\260/form" diff --git "a/src/xddGuidShow/Form/\320\244\320\276\321\200\320\274\320\260/module" "b/src/Utils/xddGuidShow/Form/\320\244\320\276\321\200\320\274\320\260/module" similarity index 100% rename from "src/xddGuidShow/Form/\320\244\320\276\321\200\320\274\320\260/module" rename to "src/Utils/xddGuidShow/Form/\320\244\320\276\321\200\320\274\320\260/module" diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/ObjectModule.txt" b/src/Utils/xddGuidShow/ObjectModule.txt similarity index 100% rename from "src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/ObjectModule.txt" rename to src/Utils/xddGuidShow/ObjectModule.txt diff --git a/src/xddGuidShow/renames.txt b/src/Utils/xddGuidShow/renames.txt similarity index 100% rename from src/xddGuidShow/renames.txt rename to src/Utils/xddGuidShow/renames.txt diff --git a/src/xddGuidShow/und/44cb9069-2878-4703-b01b-33aa08c11930 b/src/Utils/xddGuidShow/und/44cb9069-2878-4703-b01b-33aa08c11930 similarity index 100% rename from src/xddGuidShow/und/44cb9069-2878-4703-b01b-33aa08c11930 rename to src/Utils/xddGuidShow/und/44cb9069-2878-4703-b01b-33aa08c11930 diff --git a/src/xddGuidShow/und/92eac85b-2ca6-453b-8e22-0f36d0ea780b b/src/Utils/xddGuidShow/und/92eac85b-2ca6-453b-8e22-0f36d0ea780b similarity index 100% rename from src/xddGuidShow/und/92eac85b-2ca6-453b-8e22-0f36d0ea780b rename to src/Utils/xddGuidShow/und/92eac85b-2ca6-453b-8e22-0f36d0ea780b diff --git a/src/xddGuidShow/und/92eac85b-2ca6-453b-8e22-0f36d0ea780b.0 b/src/Utils/xddGuidShow/und/92eac85b-2ca6-453b-8e22-0f36d0ea780b.0 similarity index 100% rename from src/xddGuidShow/und/92eac85b-2ca6-453b-8e22-0f36d0ea780b.0 rename to src/Utils/xddGuidShow/und/92eac85b-2ca6-453b-8e22-0f36d0ea780b.0 diff --git a/src/xddGuidShow/und/a336df50-4fff-4b45-98a1-a69ce7ae23f3 b/src/Utils/xddGuidShow/und/a336df50-4fff-4b45-98a1-a69ce7ae23f3 similarity index 100% rename from src/xddGuidShow/und/a336df50-4fff-4b45-98a1-a69ce7ae23f3 rename to src/Utils/xddGuidShow/und/a336df50-4fff-4b45-98a1-a69ce7ae23f3 diff --git a/src/xddGuidShow/und/copyinfo b/src/Utils/xddGuidShow/und/copyinfo similarity index 100% rename from src/xddGuidShow/und/copyinfo rename to src/Utils/xddGuidShow/und/copyinfo diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/068fd5bb-992b-493e-8ad9-971edc53ba79.0/info" b/src/Utils/xddGuidShow/und/d3dfaee6-6db7-4643-bc26-98aab6f9dd78.0/info similarity index 100% rename from "src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\242\320\265\321\201\321\202\320\260/und/068fd5bb-992b-493e-8ad9-971edc53ba79.0/info" rename to src/Utils/xddGuidShow/und/d3dfaee6-6db7-4643-bc26-98aab6f9dd78.0/info diff --git a/src/xddGuidShow/und/root b/src/Utils/xddGuidShow/und/root similarity index 100% rename from src/xddGuidShow/und/root rename to src/Utils/xddGuidShow/und/root diff --git "a/src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/version" b/src/Utils/xddGuidShow/und/version similarity index 100% rename from "src/Tests/selftests/_2\320\242\320\265\321\201\321\202\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\235\320\260\320\261\320\276\321\200\320\243\320\244/und/version" rename to src/Utils/xddGuidShow/und/version diff --git a/src/xddGuidShow/und/versions b/src/Utils/xddGuidShow/und/versions similarity index 100% rename from src/xddGuidShow/und/versions rename to src/Utils/xddGuidShow/und/versions diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/ObjectModule.txt" "b/src/Utils/xddTestsConvertIntoRebornFormat/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.txt" similarity index 100% rename from "src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\235\320\265\321\202\320\234\320\265\321\202\320\276\320\264\320\260\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/ObjectModule.txt" rename to "src/Utils/xddTestsConvertIntoRebornFormat/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.txt" diff --git "a/src/Utils/xddTestsConvertIntoRebornFormat/Form/\320\244\320\276\321\200\320\274\320\260/form" "b/src/Utils/xddTestsConvertIntoRebornFormat/Form/\320\244\320\276\321\200\320\274\320\260/form" new file mode 100644 index 00000000..d25182ed --- /dev/null +++ "b/src/Utils/xddTestsConvertIntoRebornFormat/Form/\320\244\320\276\321\200\320\274\320\260/form" @@ -0,0 +1,904 @@ +{27, +{16, +{ +{1,1, +{"ru","Конвертация тестов xUnitFor1C в версию4 из формата версии 3"} +},10,3}, +{09ccdc77-ea1a-4a6d-ab1c-3435eada2433, +{1, +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,0, +{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, +{1,0} +},21,0,2, +{0,3,1}, +{0,6,1},2, +{0,2,2}, +{0,3,2},3, +{0,2,3}, +{0,3,3}, +{0,6,3},0,0, +{3,1, +{3,0, +{0},"",-1,-1,1,0} +},0,1, +{1,1, +{3, +{1,1, +{"ru","Страница1"} +}, +{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,33,0,1,2,0,0,0,0}, +{2,392,1,1,3,0,0,8,0}, +{2,259,0,1,4,0,0,33,0},0,4294967295,5,64,0}, +{0} +}, +{3, +{e69bf21d-97b2-4f37-86db-675aea9ec2cb,2, +{2, +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-21} +}, +{3,0, +{0},4,1,0,00000000-0000-0000-0000-000000000000}, +{1,0} +},8,2,1,0,1,1, +{5,ed01fa45-2335-4c14-a640-86e38fddc832,12,1,0,1, +{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,0, +{0,0, +{0} +} +} +},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,9d0a2e40-b978-11d4-84b6-008048da06df,0} +}, +{8,0,0,400,25,1, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,2,0,25}, +{2,-1,6,0} +}, +{0, +{2,0,2,0}, +{2,-1,6,0} +}, +{0, +{2,0,3,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},1, +{0,2,1},0,0,0,0,0,0,0,1,1,0}, +{14,"КоманднаяПанель1",0,0,0,0}, +{0} +}, +{e69bf21d-97b2-4f37-86db-675aea9ec2cb,3, +{2, +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-21} +}, +{3,0, +{0},7,1,0,00000000-0000-0000-0000-000000000000}, +{1,0} +},8,2,0,2,0,1, +{5,446869d9-b94d-4b96-9a69-26db4a727003,3,1,3, +{6,15082afb-9836-4847-90b9-46954d7dc19a,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, +{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, +{6,68c603a3-e31a-427c-88b8-492d345a62bc,1,fbe38877-b914-4fd5-8540-07dde06ba2e1, +{6,2,00000000-0000-0000-0000-000000000000,142, +{1,0,357c6a54-357d-425d-a2bd-22f4f6e86c87,2147483647,0},0,1},0}, +{6,8d65addf-45e2-4e95-ab96-6b0df61bfe94,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},1, +{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,3,8d65addf-45e2-4e95-ab96-6b0df61bfe94, +{8,"ОсновныеДействияФормыКонвертировать",0,1, +{1,1, +{"ru","Выполнить"} +},1,446869d9-b94d-4b96-9a69-26db4a727003,1,1e2,0,1,1,0,1,0,0},15082afb-9836-4847-90b9-46954d7dc19a, +{8,"Разделитель",0,1, +{1,0},0,446869d9-b94d-4b96-9a69-26db4a727003,2,1e2,2,1,1,0,1,0,0},68c603a3-e31a-427c-88b8-492d345a62bc, +{8,"ОсновныеДействияФормыЗакрыть",0,1, +{1,1, +{"ru","Закрыть"} +},1,446869d9-b94d-4b96-9a69-26db4a727003,3,1e2,0,1,1,0,1,0,0}, +{-1,0, +{0} +} +} +},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,643ced3a-fa90-4cfa-855c-4e77e8a13ad8,1} +}, +{8,0,267,400,292,1, +{0, +{2,3,1,-25}, +{2,-1,6,0} +}, +{0, +{2,0,1,0}, +{2,-1,6,0} +}, +{0, +{2,0,2,0}, +{2,-1,6,0} +}, +{0, +{2,0,3,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},1, +{0,3,1},1, +{0,3,0},0,0,0,0,0,1,3,1,1}, +{14,"ОсновныеДействияФормы",0,0,0,0}, +{0} +}, +{09ccdc77-ea1a-4a6d-ab1c-3435eada2433,6, +{1, +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,0, +{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, +{1,0} +},21,0,1, +{0,8,1},0,2, +{0,5,3}, +{0,8,3},0,0, +{3,1, +{3,0, +{0},"",-1,-1,1,0} +},1,1, +{1,2, +{3, +{1,1, +{"ru","Каталог"} +}, +{3,0, +{3,0, +{0},"",-1,-1,1,0} +},-1,1,1,"Каталог",1}, +{3, +{1,1, +{"ru","Файлы"} +}, +{3,0, +{3,0, +{0},"",-1,-1,1,0} +},-1,1,1,"Файлы",1} +},1,1,0,8, +{2,6,1,1,1,0,0,0,0}, +{2,6,0,1,2,0,0,0,0}, +{2,376,1,1,3,0,0,6,0}, +{2,200,0,1,4,0,0,6,0}, +{2,6,1,1,1,1,0,0,0}, +{2,6,0,1,2,1,0,0,0}, +{2,376,1,1,3,1,0,6,0}, +{2,200,0,1,4,1,0,6,0},0,4294967295,4294967295,5,64,0}, +{0} +}, +{8,8,33,392,259,1, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,0,1,-33}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,0,3,-8}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},0,0,0,0,0,0,0,2,2,0,0}, +{14,"Панель1",4294967295,0,0,0}, +{6, +{0fc7e20d-f241-460c-bdf4-5ad88e5474a5,4, +{3, +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,0, +{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, +{1,0} +},7, +{1,1, +{"ru","Каталог:"} +},0,1,0,0,0, +{0,0,0},0, +{1,0},1, +{3,0, +{3,0, +{0},"",-1,-1,1,0} +},4}, +{0} +}, +{8,6,6,50,25,1, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,4,0,19}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,4,2,44}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},1, +{0,4,1},0,1, +{0,4,3},0,0,0,0,0,1,0,0}, +{14,"НадписьКаталог",4294967295,0,0,0}, +{0} +}, +{381ed624-9217-4e63-85db-c4c3cb87daae,5, +{9, +{"Pattern", +{"S"} +}, +{ +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,1, +{-18},0,0,0}, +{1,0} +},21,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,4,0, +{"U"}, +{"U"},"",0,1,0,0,0,0, +{3,0, +{0},"",-1,-1,1,0}, +{3,0, +{0},"",-1,-1,1,0},0,0,0, +{0,0,0}, +{1,0},0,0,0,0} +}, +{1, +{9a7643d2-19e9-45e2-8893-280bc9195a97, +{4, +{"U"}, +{"U"},0,"",0,0} +} +}, +{1, +{2,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,1,0, +{1,0},0}, +{8,55,6,376,25,1, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,5,0,19}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,0,3,-6}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},1, +{0,5,1},0,0,0,0,0,0,1,2,0,0}, +{14,"Каталог",4294967295,0,0,0}, +{0} +}, +{0fc7e20d-f241-460c-bdf4-5ad88e5474a5,7, +{3, +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,0, +{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, +{1,0} +},7, +{1,1, +{"ru","Файлы:"} +},0,1,0,0,0, +{0,0,0},0, +{1,0},1, +{3,0, +{3,0, +{0},"",-1,-1,1,0} +},4}, +{0} +}, +{8,6,6,46,25,1, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,7,0,19}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,7,2,40}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},1, +{0,7,1},0,1, +{0,7,3},0,0,0,1,0,1,0,0}, +{14,"НадписьФайлы",4294967295,0,0,0}, +{0} +}, +{381ed624-9217-4e63-85db-c4c3cb87daae,8, +{9, +{"Pattern", +{"S"} +}, +{ +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,1, +{-18},0,0,0}, +{1,0} +},21,0,2,1,0,0,1,0,0,0,1,0,0,0,0,0,4,0, +{"U"}, +{"U"},"",0,1,0,0,1,0, +{3,0, +{0},"",-1,-1,1,0}, +{3,0, +{0},"",-1,-1,1,0},0,0,0, +{0,0,0}, +{1,0},0,0,0,0} +}, +{1, +{9a7643d2-19e9-45e2-8893-280bc9195a97, +{4, +{"U"}, +{"U"},1,"",0,0} +} +}, +{1, +{2,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,1,0, +{1,0},0}, +{8,51,6,376,194,1, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,0,1,-12}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,0,3,-6}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},0,0,0,0,0,0,1,1,2,0,0}, +{14,"Файлы",4294967295,0,0,0}, +{0} +}, +{35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26,9, +{1, +{ +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,0, +{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, +{1,0} +},4, +{1,1, +{"ru","Искать в подкаталогах"} +},1,0,1},1,0,0}, +{0} +}, +{8,6,30,376,49,1, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,9,0,19}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,9,2,370}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},1, +{0,9,1},0,1, +{0,9,3},0,0,0,0,2,3,0,0}, +{14,"ИскатьВПодкаталогах",4294967295,0,0,0}, +{0} +}, +{35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26,10, +{1, +{ +{ +{10,1, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},0, +{3,3, +{-22} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,3, +{-7} +}, +{3,3, +{-21} +}, +{3,0, +{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, +{1,0} +},4, +{1,1, +{"ru","Подробный лог"} +},1,0,1},1,0,0}, +{0} +}, +{8,6,54,376,73,1, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,10,0,19}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,10,2,370}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +}, +{0, +{2,-1,6,0}, +{2,-1,6,0} +},1, +{0,10,1},0,1, +{0,10,3},0,0,0,0,3,4,0,0}, +{14,"ПодробныйЛог",4294967295,0,0,0}, +{0} +} +} +} +} +},400,292,1,0,1,4,4,35}, +{ +{1},6, +{5, +{ +{1},0,0,1,"ОбработкаОбъект", +{"Pattern", +{"#",2bd25281-0454-4bf1-9b52-a17b78c7834f} +} +}, +{ +{2},1,0,1,"Каталог", +{"Pattern", +{"S"} +} +}, +{ +{3},1,0,1,"Файлы", +{"Pattern", +{"S"} +} +}, +{ +{4},1,0,1,"ИскатьВПодкаталогах", +{"Pattern", +{"B"} +} +}, +{ +{5},1,0,1,"ПодробныйЛог", +{"Pattern", +{"B"} +} +} +}, +{4, +{5, +{1, +{2} +} +}, +{8, +{1, +{3} +} +}, +{9, +{1, +{4} +} +}, +{10, +{1, +{5} +} +} +} +}, +{59d6c227-97d3-46f6-84a0-584c5a2807e1,1, +{2,1, +{0,3, +{"#",91f722a0-4cc1-11d6-a3c9-0050bae0a776, +{3,6641570f-5fe8-41b8-9fdd-a7d1b233a01c,"Каталог",1, +{2} +} +}, +{"#",91f722a0-4cc1-11d6-a3c9-0050bae0a776, +{3,6641570f-5fe8-41b8-9fdd-a7d1b233a01c,"Файлы",1, +{3} +} +}, +{"#",91f722a0-4cc1-11d6-a3c9-0050bae0a776, +{3,6641570f-5fe8-41b8-9fdd-a7d1b233a01c,"ИскатьВПодкаталогах",1, +{4} +} +} +}, +{0},1} +}, +{1, +{70001,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} +} +} +} +},1,4,1,0,0,0, +{0}, +{0}, +{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/Utils/xddTestsConvertIntoRebornFormat/Form/\320\244\320\276\321\200\320\274\320\260/module" "b/src/Utils/xddTestsConvertIntoRebornFormat/Form/\320\244\320\276\321\200\320\274\320\260/module" new file mode 100644 index 00000000..645fc08d --- /dev/null +++ "b/src/Utils/xddTestsConvertIntoRebornFormat/Form/\320\244\320\276\321\200\320\274\320\260/module" @@ -0,0 +1,71 @@ + +Процедура ПриОткрытии() + ИскатьВПодкаталогах = Истина; +КонецПроцедуры + +Процедура КнопкаКонвертироватьНажатие(Кнопка) + Инициализация(); + ВключитьЛог(ПодробныйЛог); + + Если ЭлементыФормы.Панель1.ТекущаяСтраница = ЭлементыФормы.Панель1.Страницы.Каталог Тогда + РезультатыПреобразования = ПреобразоватьКаталог(Каталог, ИскатьВПодкаталогах); + Иначе + НаборФайлов = Новый Массив; + Для к = 1 По СтрЧислоСтрок(Файлы) Цикл + НаборФайлов.Добавить(Новый Файл(СтрПолучитьСтроку(Файлы, 1))); + КонецЦикла; + РезультатыПреобразования = ПреобразоватьФайлы(НаборФайлов); + КонецЕсли; + ПоказатьСтатистику(РезультатыПреобразования); +КонецПроцедуры + +Процедура ПоказатьСтатистику(РезультатыПреобразования) + Сообщить("Найдено внешних обработок - "+РезультатыПреобразования.НайденоВнешнихОбработок+" шт."); + Сообщить("Найдено файлов-тестов в старом формате - "+РезультатыПреобразования.НайденоФайловТестов+" шт."); + Сообщить("Конвертировано в новый формат тестов - "+РезультатыПреобразования.КонвертированоТестов+" шт."); +КонецПроцедуры + +Процедура КаталогНачалоВыбора(Элемент, СтандартнаяОбработка) + НовыйКаталог = ВыбратьПутьИнтерактивно(Каталог); + Если Не ПустаяСтрока(НовыйКаталог) Тогда + Каталог = НовыйКаталог; + КонецЕсли; +КонецПроцедуры + +Функция ВыбратьПутьИнтерактивно(ТекущийПуть = "") Экспорт + ДиалогВыбораКаталога = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога); + ДиалогВыбораКаталога.Каталог = ТекущийПуть; + + Результат = ""; + Если ДиалогВыбораКаталога.Выбрать() Тогда + Результат = ДиалогВыбораКаталога.Каталог; + КонецЕсли; + + Возврат Результат; +КонецФункции + +Процедура ФайлыНачалоВыбора(Элемент, СтандартнаяОбработка) + ПервыйФайл = ?(ЗначениеЗаполнено(Файлы), СтрПолучитьСтроку(Файлы, 1), ""); + НовыеФайлы = ВыбратьФайлыИнтерактивно(ПервыйФайл); + Если Не ПустаяСтрока(НовыеФайлы) Тогда + Файлы = НовыеФайлы; + КонецЕсли; +КонецПроцедуры + +Функция ВыбратьФайлыИнтерактивно(ТекущийПуть = "") Экспорт + ДиалогВыбораТеста = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); + ДиалогВыбораТеста.Фильтр = "Обработка-тест (*.epf)|*.epf|Все файлы|*"; + ДиалогВыбораТеста.МножественныйВыбор = Истина; + ДиалогВыбораТеста.ПроверятьСуществованиеФайла = Истина; + ДиалогВыбораТеста.ПолноеИмяФайла = ТекущийПуть; + + Результат = Новый ТекстовыйДокумент; + Если ДиалогВыбораТеста.Выбрать() Тогда + Для каждого ПолноеИмяФайла Из ДиалогВыбораТеста.ВыбранныеФайлы Цикл + Результат.ДобавитьСтроку(ПолноеИмяФайла); + КонецЦикла; + КонецЕсли; + Текст = Результат.ПолучитьТекст(); + + Возврат Лев(Текст, СтрДлина(Текст) - 1); +КонецФункции diff --git a/src/Utils/xddTestsConvertIntoRebornFormat/ObjectModule.txt b/src/Utils/xddTestsConvertIntoRebornFormat/ObjectModule.txt new file mode 100644 index 00000000..1dfacafb --- /dev/null +++ b/src/Utils/xddTestsConvertIntoRebornFormat/ObjectModule.txt @@ -0,0 +1,707 @@ +//Перем КонтекстЯдра; +Перем Ожидаем; +Перем ВременныеФайлы; +Перем КомандныйФайл; + +Перем Лог; +Перем ЛогВключен; + +Перем RegExp_ПолучитьСписокТестов; +Перем RegExp_КонецФункции_ПолучитьСписокТестов; + +//{ Интерфейс конвертера + +Функция Инициализация() Экспорт + ВременныеФайлы = СоздатьУтилиту("ВременныеФайлы"); + КомандныйФайл = СоздатьУтилиту("КомандныйФайл"); + Ожидаем = СоздатьУтилиту("УтвержденияBDD"); + + РегулярныеВыражения_Инициализация (RegExp_ПолучитьСписокТестов, "^\s*((?:procedure)|(?:function)|(?:процедура)|(?:функция))\s+(получитьсписоктестов)\s*\(([\wА-яёЁ\d]+)\s*\)\s+экспорт"); + РегулярныеВыражения_Инициализация (RegExp_КонецФункции_ПолучитьСписокТестов, "^\s*конецфункции"); + + ВключитьЛог(Ложь); + Лог = ""; +КонецФункции + +Функция ПреобразоватьКаталог(КаталогТестов, ИскатьВПодкаталогах = Ложь) Экспорт + Рез = СоздатьСтруктуруРезультатаПреобразования(); + + Файлы = НайтиФайлы(КаталогТестов, "*.epf", ИскатьВПодкаталогах); + Возврат ПреобразоватьФайлы(Файлы, Истина); +КонецФункции + +Функция ПреобразоватьФайлы(НаборФайлов, НужноДелатьКопию = Истина) Экспорт + Рез = СоздатьСтруктуруРезультатаПреобразования(); + + Если НаборФайлов.Количество() = 0 Тогда + Возврат Рез; + КонецЕсли; + Для Каждого Файл Из НаборФайлов Цикл + Попытка + РезультатыПоФайлу = ПреобразоватьФайл(Файл, Истина); + ДобавитьЧислаВНаборИзДругогоНабора(Рез, РезультатыПоФайлу); + Исключение + Сообщить(Файл.ПолноеИмя + " : " + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); + КонецПопытки; + КонецЦикла; + Возврат Рез; +КонецФункции + +Функция ПреобразоватьФайл(ИсходныйФайл, НужноДелатьКопию = Истина) Экспорт + Рез = СоздатьСтруктуруРезультатаПреобразования(); + Рез.НайденоВнешнихОбработок = 1; + + ИмяКаталогаСборки = ПодготовитьВременныйКаталогДляСборкиРазборки(); + + ФайлУтилиты = ПолучитьУтилитуСборкиРазборки(ИмяКаталогаСборки); + МассивОписанийФайловМодулей = РазобратьФайлТестаНаИсходники(ИмяКаталогаСборки, ИсходныйФайл, ФайлУтилиты); + НовыйМассивОписанийФайловМодулей = НайтиФайлыМодуляТестаВИсходниках(МассивОписанийФайловМодулей); + Если НовыйМассивОписанийФайловМодулей.Количество() = 0 Тогда + Возврат Рез; + КонецЕсли; + Рез.НайденоФайловТестов = 1; + + Для Каждого ОписаниеФайлаМодуля Из НовыйМассивОписанийФайловМодулей Цикл + ФайлМодуляТеста = ОписаниеФайлаМодуля.Файл; + ИсходныйТекст = ПолучитьИсходныйТекстМодуляТеста(ФайлМодуляТеста); + ЭтоОбычнаяФорма = ОписаниеФайлаМодуля.БылРазборДополнительногоКонтейнера; + КонечныйТекст = ПреобразоватьТекстМодуляТестаВФормат_v4_reborn(ИсходныйТекст, ЭтоОбычнаяФорма); + ЗаписатьНовыйТекстМодуляТестаВИсходникМодуляФайлТеста(ФайлМодуляТеста, КонечныйТекст); + КонецЦикла; + Если НужноДелатьКопию Тогда + ФайлКопии = СделатьКопиюФайла(ИсходныйФайл); + КонецЕсли; + ПодменитьФайлВерсийВИсходниках(ИмяКаталогаСборки, ИсходныйФайл, ФайлУтилиты); + + СобратьФайлТеста(ИмяКаталогаСборки, ИсходныйФайл, ФайлУтилиты, МассивОписанийФайловМодулей); + Рез.КонвертированоТестов = 1; + + УдалитьВременныеФайлы(); + Возврат Рез; +КонецФункции + +Процедура УдалитьВременныеФайлы() Экспорт + ВременныеФайлы.Удалить(); +КонецПроцедуры + +Процедура ВключитьЛог(НовоеЗначение = Истина) Экспорт + ЛогВключен = НовоеЗначение = Истина; +КонецПроцедуры + +Функция ПолучитьЛог() Экспорт + Возврат Лог; +КонецФункции + +//} + +//{ приватные методы + +Функция СоздатьУтилиту(ИмяУтилиты) + ФайлОбработки = Новый Файл(ИспользуемоеИмяФайла); + Возврат ВнешниеОбработки.Создать(ФайлОбработки.Путь+"/../Plugins/"+ИмяУтилиты+".epf", Ложь); +КонецФункции + +Функция ПодготовитьВременныйКаталогДляСборкиРазборки() + ИмяКаталогаСборки = ВременныеФайлы.СоздатьКаталог_(); + Возврат ИмяКаталогаСборки; +КонецФункции + +Функция ПолучитьУтилитуСборкиРазборки(ИмяКаталогаСборки) + МакетУтилиты = ПолучитьМакет("v8unpack"); + + Файл = Новый Файл(ИмяКаталогаСборки+"\v8unpack.exe"); + + МакетУтилиты.Записать(Файл.ПолноеИмя); + Возврат Файл; +КонецФункции + +Функция РазобратьФайлТестаНаИсходники(ИмяКаталогаСборки, ФайлТеста, ФайлУтилиты) + МассивОписанийФайловМодулей = Новый Массив; + + ИмяКаталогаИсходниковФайла = ФайлТеста.ИмяБезРасширения; + + Файл = КомандныйФайл.Открыть(ВременныеФайлы.НовоеИмяФайла("bat")); + КомандныйФайл.Добавить("cd /d " + ИмяКаталогаСборки); + КомандныйФайл.Добавить(ФайлУтилиты.ПолноеИмя + " -unpack """ + ФайлТеста.ПолноеИмя + """ " + ИмяКаталогаИсходниковФайла + " > "+ИмяКаталогаИсходниковФайла+".unpack.log"); + КодВозврата = КомандныйФайл.ВыполнитьКоманду(); + Ожидаем.Что(КодВозврата, "КодВозврата первый -unpack").Равно(0); + + Файлы = НайтиФайлы(ИмяКаталогаСборки+"/"+ИмяКаталогаИсходниковФайла, "*.0.data"); + Ожидаем.Что(Файлы.Количество(), "Должны быть файлы, а их нет").Больше(0); + Для Каждого БинарныйФайл Из Файлы Цикл + ИмяФайлаИсходников = БинарныйФайл.Имя + ".txt"; + + Файл = КомандныйФайл.Открыть(ВременныеФайлы.НовоеИмяФайла("bat")); + КомандныйФайл.Добавить("cd /d " + БинарныйФайл.Путь); + КомандныйФайл.Добавить(ФайлУтилиты.ПолноеИмя + " -undeflate " + БинарныйФайл.Имя + " " + ИмяФайлаИсходников + " > "+БинарныйФайл.ИмяБезРасширения+".unpack.log"); + КодВозврата = КомандныйФайл.ВыполнитьКоманду(); + Ожидаем.Что(КодВозврата, "КодВозврата -undeflate "+БинарныйФайл.Имя).Равно(0); + + Файл = КомандныйФайл.Открыть(ВременныеФайлы.НовоеИмяФайла("bat")); + КомандныйФайл.Добавить("cd /d " + БинарныйФайл.Путь); + КомандныйФайл.Добавить(ФайлУтилиты.ПолноеИмя + " -unpack " + ИмяФайлаИсходников + " " + БинарныйФайл.ИмяБезРасширения + " > "+БинарныйФайл.ИмяБезРасширения+".unpack.log"); + КодВозврата = КомандныйФайл.ВыполнитьКоманду(); + + ОписаниеИсходника = Новый Структура("ИсходныйФайл", БинарныйФайл); + ОписаниеИсходника.Вставить("ФайлДополнительногоКонтейнера", Новый Файл(БинарныйФайл.Путь +"/"+ИмяФайлаИсходников)); + Если КодВозврата = 4294967245 Тогда //UnpackToFolder. This is not V8 file! + ОписаниеИсходника.Вставить("БылРазборДополнительногоКонтейнера", Ложь); + ОписаниеИсходника.Вставить("Файл", Новый Файл(БинарныйФайл.Путь +"/"+ИмяФайлаИсходников)); + МассивОписанийФайловМодулей.Добавить(ОписаниеИсходника); + Продолжить; + ИначеЕсли КодВозврата = 0 Тогда + ОписаниеИсходника.Вставить("БылРазборДополнительногоКонтейнера", Истина); + ОписаниеИсходника.Вставить("Файл", Новый Файл(БинарныйФайл.Путь +"/"+БинарныйФайл.ИмяБезРасширения+"/text.data")); + МассивОписанийФайловМодулей.Добавить(ОписаниеИсходника); + Продолжить; + КонецЕсли; + Ожидаем.Что(КодВозврата, "КодВозврата второй -unpack "+БинарныйФайл.Имя).Равно(0); + КонецЦикла; + Возврат МассивОписанийФайловМодулей; + + //разборка + //@echo off + //v8unpack.exe -unpack ШаблонТестаУФ.epf .\ШаблонТестаУФ + //v8unpack.exe -undeflate .\ШаблонТестаУФ\727eda5f-558c-428b-86d2-3421c52f4c50.0.data .\ШаблонТестаУФ\Module.txt + //v8unpack.exe -unpack .\ШаблонТестаУФ\Module.txt .\ШаблонТестаУФ\Module + + //v8unpack.exe -undeflate .\ШаблонТестаУФ\ba335523-e6ff-4049-91a9-5f97f7ab0a0b.0.data .\ШаблонТестаУФ\UF.txt + //rem v8unpack.exe -unpack .\ШаблонТестаУФ\UF.txt .\ШаблонТеста\UF + + //сборка + //rem @echo off + //v8unpack.exe -pack .\ШаблонТеста\Module .\ШаблонТеста\NewModule.txt + //v8unpack.exe -deflate .\ШаблонТеста\NewModule.txt .\ШаблонТеста\727eda5f-558c-428b-86d2-3421c52f4c50.0.data + //v8unpack.exe -pack .\ШаблонТеста ШаблонТеста2.epf +КонецФункции + +Функция ПолучитьИмяКонтейнераИзФайла(БинарныйФайл) + Возврат БинарныйФайл.Имя + ".txt"; +КонецФункции + +Функция НайтиФайлыМодуляТестаВИсходниках(МассивОписанийФайловМодулей) + НовыйМассивОписанийФайловМодулей = Новый Массив; + Для Каждого ОписаниеИсходника Из МассивОписанийФайловМодулей Цикл + Файл = ОписаниеИсходника.Файл; + Текст = Новый ЧтениеТекста(Файл.ПолноеИмя, КодировкаТекста.UTF8); + Стр = Текст.ПрочитатьСтроку(); + Пока Стр <> Неопределено Цикл + Если РегулярныеВыражения_Проверка(RegExp_ПолучитьСписокТестов, Стр) Тогда + НовыйМассивОписанийФайловМодулей.Добавить(ОписаниеИсходника); + Прервать; + КонецЕсли; + Стр = Текст.ПрочитатьСтроку(); + КонецЦикла; + КонецЦикла; + Возврат НовыйМассивОписанийФайловМодулей;; +КонецФункции + +Функция ПолучитьИсходныйТекстМодуляТеста(ФайлМодуляТеста) + Возврат ПолучитьТекстФайла(ФайлМодуляТеста); +КонецФункции + +Функция ПреобразоватьТекстМодуляТестаВФормат_v4_reborn(ИсходныйТекст, ЭтоОбычнаяФорма) + ЕстьДвеДвойныеКавычки = Не ЭтоОбычнаяФорма; + Возврат ПреобразоватьТекст(ИсходныйТекст, ЭтоОбычнаяФорма, ЕстьДвеДвойныеКавычки); +КонецФункции + +Функция ЗаписатьНовыйТекстМодуляТестаВИсходникМодуляФайлТеста(ФайлМодуляТеста, КонечныйТекст) + ЗаписатьТекстВФайл(ФайлМодуляТеста, КонечныйТекст); +КонецФункции + +Функция СделатьКопиюФайла(ИсходныйФайл) + ФайлКопии = Новый Файл(ИсходныйФайл.Путь+"/"+ИсходныйФайл.ИмяБезРасширения +".orig.epf"); + КопироватьФайл(ИсходныйФайл.ПолноеИмя, ФайлКопии.ПолноеИмя); + Ожидаем.Что(ФайлКопии.Существует(), "не удалось сделать копию-файла для файла "+ИсходныйФайл.ПолноеИмя +", ожидали файл копии "+ФайлКопии.ПолноеИмя).ЭтоИстина(); + Возврат ФайлКопии; +КонецФункции + +Процедура ПодменитьФайлВерсийВИсходниках(ИмяКаталогаСборки, ИсходныйФайл, ФайлУтилиты) + НовыйФайлВерсий = Новый Файл(ВременныеФайлы.НовоеИмяФайла("txt")); + ЗаписатьТекстВФайл(НовыйФайлВерсий, "{1,0}"); + + Файл = КомандныйФайл.Открыть(ВременныеФайлы.НовоеИмяФайла("bat")); + КомандныйФайл.Добавить("cd /d " + ИмяКаталогаСборки+"/"+ИсходныйФайл.ИмяБезРасширения); + КомандныйФайл.Добавить(ФайлУтилиты.ПолноеИмя + " -deflate " + НовыйФайлВерсий.ПолноеИмя + " versions.data >> versions.data.pack.log"); + + КодВозврата = КомандныйФайл.ВыполнитьКоманду(); + Ожидаем.Что(КодВозврата, "КодВозврата versions -pack").Равно(0); +КонецПроцедуры + +Функция СобратьФайлТеста(ИмяКаталогаСборки, ФайлТеста, ФайлУтилиты, МассивОписанийФайловМодулей) + УдалитьФайлы(ФайлТеста.ПолноеИмя); + Ожидаем.Что(ФайлТеста.Существует(), "исходный файл теста не удалось удалить "+ФайлТеста.ПолноеИмя).ЭтоЛожь(); + + Файл = КомандныйФайл.Открыть(ВременныеФайлы.НовоеИмяФайла("bat")); + КомандныйФайл.Добавить("cd /d " + ИмяКаталогаСборки+"/"+ФайлТеста.ИмяБезРасширения); + Для Каждого ОписаниеИсходника Из МассивОписанийФайловМодулей Цикл + РазобранныйФайл = ОписаниеИсходника.Файл; + ИсходныйФайл = ОписаниеИсходника.ИсходныйФайл; + ФайлДополнительногоКонтейнера = ОписаниеИсходника.ФайлДополнительногоКонтейнера; + Если ОписаниеИсходника.БылРазборДополнительногоКонтейнера Тогда + КомандныйФайл.Добавить(ФайлУтилиты.ПолноеИмя + " -pack " + РазобранныйФайл.Путь + " " + ФайлДополнительногоКонтейнера.Имя + " > "+РазобранныйФайл.Имя +".pack.log"); + КонецЕсли; + + КомандныйФайл.Добавить(ФайлУтилиты.ПолноеИмя + " -deflate " + ФайлДополнительногоКонтейнера.Имя + " " + ИсходныйФайл.Имя + " >> "+РазобранныйФайл.Имя +".pack.log"); + КонецЦикла; + ИмяКаталогаИсходниковФайла = ФайлТеста.ИмяБезРасширения; + + КомандныйФайл.Добавить("cd .."); + КомандныйФайл.Добавить(ФайлУтилиты.ПолноеИмя + " -pack " + ИмяКаталогаИсходниковФайла + " """ + ФайлТеста.ПолноеИмя + """ > "+ИмяКаталогаИсходниковФайла+".pack.log"); + КодВозврата = КомандныйФайл.ВыполнитьКоманду(); + Ожидаем.Что(КодВозврата, "КодВозврата первый -pack").Равно(0); +КонецФункции + +Функция ПреобразоватьТекст(Знач Исходный, ЭтоОбычнаяФорма, ЕстьДвеДвойныеКавычки) Экспорт + + ОписаниеМетодаПолучитьСписокТестов = ПолучитьОписаниеМетода_ПолучитьСписокТестов(Исходный); + Если Не ЗначениеЗаполнено(ОписаниеМетодаПолучитьСписокТестов) Тогда + Возврат ""; + КонецЕсли; + + СтрокаРез = ИсправитьОписаниеТестов(Исходный, ОписаниеМетодаПолучитьСписокТестов, ЭтоОбычнаяФорма, ЕстьДвеДвойныеКавычки); + СтрокаРез = ПодменитьБазовыеУтверждения(СтрокаРез, ОписаниеМетодаПолучитьСписокТестов); + Возврат СтрокаРез; +КонецФункции + +Функция ПолучитьОписаниеМетода_ПолучитьСписокТестов(Знач ИсходныйТекст) Экспорт + ОписаниеМетода = Новый Структура("Начало, Конец, ИмяПараметра_КонтекстЯдра, ТелоМетода, КоллекцияТестов"); + + Группировки = РегулярныеВыражения_Выполнить(RegExp_ПолучитьСписокТестов, ИсходныйТекст); + Если Не ЗначениеЗаполнено(Группировки) Тогда + ДобавитьЛог("Не удалось найти экспортную процедуру ПолучитьСписокТестов с одним параметром."); + Возврат Неопределено; + КонецЕсли; + + Группировка_Процедура = Группировки[0]; + Ожидаем.Что(Группировка_Процедура.ПодВыражения.Количество(), "Ожидаем, что количество найденных элементов при поиске ПолучитьСписокТестов равно образцу, а это не так").Равно(3); + Если Сред(ИсходныйТекст, Группировка_Процедура.Начало, 1) = Символы.ПС Тогда + Начало = Группировка_Процедура.Начало + 1; + КонецЕсли; + Если Сред(ИсходныйТекст, Начало, 1) = Символы.ПС Тогда + Начало = Начало + 1; + КонецЕсли; + ОписаниеМетода.Вставить("Начало", Начало); + ОписаниеМетода.Вставить("ИмяПараметра_КонтекстЯдра", Группировка_Процедура.ПодВыражения[2]); + ДобавитьЛог("ОписаниеМетода.ИмяПараметра_КонтекстЯдра "+ОписаниеМетода.ИмяПараметра_КонтекстЯдра); + + НачалоКодаПроцедуры = Группировка_Процедура.Начало + Группировка_Процедура.Длина + 2; + + Группировки_КонецПроцедуры = РегулярныеВыражения_Выполнить(RegExp_КонецФункции_ПолучитьСписокТестов, Сред(ИсходныйТекст, НачалоКодаПроцедуры)); + Если Не ЗначениеЗаполнено(Группировки_КонецПроцедуры) Тогда + ВызватьИсключение "Не удалось найти конец процедуры для процедуры ПолучитьСписокТестов с одним параметром."; + КонецЕсли; + + ГруппировкаДляКонецПроцедуры = Группировки_КонецПроцедуры[0]; + ТекстМетодаПолучитьСписокТестов = Сред(ИсходныйТекст, НачалоКодаПроцедуры, ГруппировкаДляКонецПроцедуры.Начало - 1); + + ОписаниеМетода.Вставить("Конец", НачалоКодаПроцедуры + ГруппировкаДляКонецПроцедуры.Начало + ГруппировкаДляКонецПроцедуры.Длина + 2); + ОписаниеМетода.Вставить("ТелоМетода", ТекстМетодаПолучитьСписокТестов); + + ДобавитьЛог("ТелоМетода ПолучитьСписокТестов <"+ОписаниеМетода.ТелоМетода+">"); + + ОписаниеГлобальнойПеременнойКонтекстаЯдра = ПолучитьОписаниеГлобальнойПеременнойКонтекстаЯдра(ИсходныйТекст, ОписаниеМетода); + ПодтвердитьИмяГлобальнойПеременнойКонтекстаЯдра(ИсходныйТекст, ОписаниеМетода, ОписаниеГлобальнойПеременнойКонтекстаЯдра); + ОписаниеМетода.Вставить("ОписаниеГлобальнойПеременнойКонтекстаЯдра", ОписаниеГлобальнойПеременнойКонтекстаЯдра); + + КоллекцияТестов = ПолучитьКоллекциюТестов(ИсходныйТекст, ОписаниеМетода); + ОписаниеМетода.Вставить("КоллекцияТестов", КоллекцияТестов); + + Возврат ОписаниеМетода; +КонецФункции + +Функция ПолучитьОписаниеГлобальнойПеременнойКонтекстаЯдра(Знач ИсходныйТекст, ОписаниеМетода) + RegExp_ПрисваиваниеКонтекстаЯдра = Неопределено; + РегулярныеВыражения_Инициализация (RegExp_ПрисваиваниеКонтекстаЯдра, "^\s*([\wА-яёЁ\d]+)\s*=\s*" + ОписаниеМетода.ИмяПараметра_КонтекстЯдра + "\s*;"); + Группировки = РегулярныеВыражения_Выполнить(RegExp_ПрисваиваниеКонтекстаЯдра, ОписаниеМетода.ТелоМетода); + Если Не ЗначениеЗаполнено(Группировки) Тогда + ВызватьИсключение "Не удалось найти присваивание параметра контекста ядра."; + КонецЕсли; + Группировка = Группировки[0]; + + Ожидаем.Что(Группировка.ПодВыражения.Количество(), "Ожидаем, что количество найденных элементов при поиске ИмяГлобальнойПеременнойКонтекстаЯдра равно образцу, а это не так").Равно(1); + + ОписаниеГлобальнойПеременнойКонтекстаЯдра = Новый Структура("Имя, НачалоОписания, КонецОписания"); + + ОписаниеГлобальнойПеременнойКонтекстаЯдра.Вставить("Имя", Группировка.ПодВыражения[0]); + + ДобавитьЛог("предварительно ОписаниеГлобальнойПеременнойКонтекстаЯдра.Имя = " + ОписаниеГлобальнойПеременнойКонтекстаЯдра.Имя); + Возврат ОписаниеГлобальнойПеременнойКонтекстаЯдра; +КонецФункции + +Процедура ПодтвердитьИмяГлобальнойПеременнойКонтекстаЯдра(Знач ИсходныйТекст, ОписаниеМетода, ОписаниеГлобальнойПеременнойКонтекстаЯдра) + RegExp_ОбъявлениеГлобальнойПеременнойКонтекстаЯдра = Неопределено; + РегулярныеВыражения_Инициализация (RegExp_ОбъявлениеГлобальнойПеременнойКонтекстаЯдра, "^\s*Перем\s+(" + ОписаниеГлобальнойПеременнойКонтекстаЯдра.Имя + ")\s*[;,]"); + Группировки = РегулярныеВыражения_Выполнить(RegExp_ОбъявлениеГлобальнойПеременнойКонтекстаЯдра, ИсходныйТекст); + Если Не ЗначениеЗаполнено(Группировки) Тогда + ВызватьИсключение ("Не удалось найти глобальную переменную контекста ядра."); + КонецЕсли; + Группировка = Группировки[0]; + + Ожидаем.Что(Группировка.ПодВыражения.Количество(), "Ожидаем, что количество найденных элементов при проверке ИмяГлобальнойПеременнойКонтекстаЯдра равно образцу, а это не так").Равно(1); + ДобавитьЛог("подтверждено ИмяГлобальнойПеременнойКонтекстаЯдра = "+Группировка.ПодВыражения[0]); + + ОписаниеГлобальнойПеременнойКонтекстаЯдра.Вставить("НачалоОписания", Группировка.Начало); + ОписаниеГлобальнойПеременнойКонтекстаЯдра.Вставить("КонецОписания", Группировка.Начало + Группировка.Длина); +КонецПроцедуры + +Функция ПолучитьКоллекциюТестов(Знач ИсходныйТекст, ОписаниеМетода) + RegExp_ИмяКоллекцииТестов = Неопределено; + //РегулярныеВыражения_Инициализация (RegExp_ИмяКоллекцииТестов, "\s*([\wА-яёЁ\d]+)\s*=\s*Новый\s+Массив\s*[;\(]([.\s].+)+Возврат\s+([\wА-яёЁ\d]+)"); + РегулярныеВыражения_Инициализация (RegExp_ИмяКоллекцииТестов, "^\s*Возврат\s+([\wА-яёЁ\d]+)"); + Группировки = РегулярныеВыражения_Выполнить(RegExp_ИмяКоллекцииТестов, ОписаниеМетода.ТелоМетода); + Если Не ЗначениеЗаполнено(Группировки) Тогда + ВызватьИсключение "Не удалось найти создание коллекции тестов."; + КонецЕсли; + Ожидаем.Что(Группировки[0].ПодВыражения.Количество(), "Ожидаем, что количество найденных элементов при поиске ИмяГлобальнойПеременнойКонтекстаЯдра равно образцу, а это не так").Равно(1); + ИмяПеременнойКоллекцииСпискаТестов = Группировки[0].ПодВыражения[0]; + ДобавитьЛог("ИмяПеременнойКоллекцииСпискаТестов = "+ИмяПеременнойКоллекцииСпискаТестов); + + RegExp_ДобавлениеТеста = Неопределено; + РегулярныеВыражения_Инициализация (RegExp_ДобавлениеТеста, "^\s*" + ИмяПеременнойКоллекцииСпискаТестов + "\s*\.\s*Добавить\(\s*""{1,2}([\wА-яёЁ\d]+)""{1,2}\s*\)\s*;"); + Группировки = РегулярныеВыражения_Выполнить(RegExp_ДобавлениеТеста, ОписаниеМетода.ТелоМетода); + + КоллекцияТестов = Новый Массив; + Если Не ЗначениеЗаполнено(Группировки) Тогда + Возврат КоллекцияТестов; + КонецЕсли; + Ожидаем.Что(Группировки[0].ПодВыражения.Количество(), "Ожидаем, что количество найденных элементов при поиске ИмяГлобальнойПеременнойКонтекстаЯдра равно образцу, а это не так").Равно(1); + + Для Каждого Группировка Из Группировки Цикл + ИмяТеста = Группировка.ПодВыражения[0]; + ДобавитьЛог("добавляем имя теста = "+ИмяТеста); + КоллекцияТестов.Добавить(ИмяТеста); + КонецЦикла; + + Возврат КоллекцияТестов; +КонецФункции + +Функция ИсправитьОписаниеТестов(Знач Исходный, ОписаниеМетодаПолучитьСписокТестов, ЭтоОбычнаяФорма, ЕстьДвеДвойныеКавычки) + Ожидаем.Что(Не ЭтоОбычнаяФорма ИЛИ ЭтоОбычнаяФорма И Не ЕстьДвеДвойныеКавычки, "Ожидаем, что ЕстьДвеДвойныеКавычки только в режиме УФ, а сейчас наоборот").ЭтоИстина(); + + ОписаниеГлобальнойПеременнойКонтекстаЯдра = ОписаниеМетодаПолучитьСписокТестов.ОписаниеГлобальнойПеременнойКонтекстаЯдра; + ИмяГлобальнойПеременнойКонтекстаЯдра = ОписаниеГлобальнойПеременнойКонтекстаЯдра.Имя; + + Макет = ПолучитьМакет("ШаблонТеста"); + + ОбластьПеременныеТестирования = ?(ЭтоОбычнаяФорма, Макет.ПолучитьОбласть("ПеременныеТестирования"), Макет.ПолучитьОбласть("ПеременныеТестирования_УФ")); + ОбластьОписанияТестов = ?(ЭтоОбычнаяФорма, Макет.ПолучитьОбласть("ОписанияТестов"), Макет.ПолучитьОбласть("ОписанияТестов_УФ")); + Если ЕстьДвеДвойныеКавычки Тогда + ОбластьОписанияТестов = Макет.ПолучитьОбласть("ОписанияТестов_УФ_ДвеДвойныеКавычки"); + КонецЕсли; + + ОбластьДобавитьИмяТеста = Макет.ПолучитьОбласть("ДобавитьИмяТеста"); + ОбластьЗавершениеСпискаТестов = Макет.ПолучитьОбласть("ЗавершениеСпискаТестов"); + ОбластьУФ_НаКлиенте = Макет.ПолучитьОбласть("УФ_НаКлиенте"); + + ИтоговыйТекст = Новый ТекстовыйДокумент; + + ТекстДоОписанияГлобальнойПеременнойКонтекстаЯдра = СокрЛП(Лев(Исходный, ОписаниеГлобальнойПеременнойКонтекстаЯдра.НачалоОписания-1)); + СтрЧислоСтрок_ТекстДо = СтрЧислоСтрок(ТекстДоОписанияГлобальнойПеременнойКонтекстаЯдра); + Если СтрЧислоСтрок_ТекстДо > 0 и СтрПолучитьСтроку(ТекстДоОписанияГлобальнойПеременнойКонтекстаЯдра, СтрЧислоСтрок_ТекстДо) = "&НаКлиенте" Тогда + ТекстДо = ""; + Для к = 1 По СтрЧислоСтрок_ТекстДо-1 Цикл + ТекстДо = ТекстДо + СтрПолучитьСтроку(ТекстДоОписанияГлобальнойПеременнойКонтекстаЯдра, к) + Символы.ПС; + КонецЦикла; + ТекстДоОписанияГлобальнойПеременнойКонтекстаЯдра = ТекстДо; + //Если ТекстДоОписанияГлобальнойПеременнойКонтекстаЯдра = "&НаКлиенте" Тогда + // ТекстДоОписанияГлобальнойПеременнойКонтекстаЯдра = ""; + КонецЕсли; + ДобавитьЛог("текст до описания глобальной переменной контекста "+Символы.ПС+ТекстДоОписанияГлобальнойПеременнойКонтекстаЯдра +"=========="+Символы.ПС); + + ДобавитьНепустуюСтрокуКТексту(ИтоговыйТекст, ТекстДоОписанияГлобальнойПеременнойКонтекстаЯдра); + + ИтоговыйТекст.Вывести(ОбластьПеременныеТестирования); + ИтоговыйТекст.ДобавитьСтроку(""); + + ТекстДоМетодаПолучитьСписокТестов = СокрЛП(Сред(Исходный, ОписаниеГлобальнойПеременнойКонтекстаЯдра.КонецОписания + 1, ОписаниеМетодаПолучитьСписокТестов.Начало-1 - ОписаниеГлобальнойПеременнойКонтекстаЯдра.КонецОписания - 1)); + Если ТекстДоМетодаПолучитьСписокТестов = "&НаКлиенте" Тогда + ТекстДоМетодаПолучитьСписокТестов = ""; + КонецЕсли; + ДобавитьЛог("текст до ПолучитьСписокТестов"+Символы.ПС+ТекстДоМетодаПолучитьСписокТестов +"=========="+Символы.ПС); + ДобавитьНепустуюСтрокуКТексту(ИтоговыйТекст, ТекстДоМетодаПолучитьСписокТестов); + Если Не ПустаяСтрока(ТекстДоМетодаПолучитьСписокТестов) Тогда + ИтоговыйТекст.ДобавитьСтроку(""); + КонецЕсли; + + ИтоговыйТекст.ДобавитьСтроку(ДобавитьКомментарии("Перем " + ИмяГлобальнойПеременнойКонтекстаЯдра + ";")); + + ИсходныйТекстВКомментарии = ДобавитьКомментарии(Сред(Исходный, ОписаниеМетодаПолучитьСписокТестов.Начало, ОписаниеМетодаПолучитьСписокТестов.Конец-ОписаниеМетодаПолучитьСписокТестов.Начало - 2)); + + ИтоговыйТекст.ДобавитьСтроку(ИсходныйТекстВКомментарии); + ИтоговыйТекст.ДобавитьСтроку(""); + + ИтоговыйТекст.Вывести(ОбластьОписанияТестов); + + Для Каждого ИмяТеста Из ОписаниеМетодаПолучитьСписокТестов.КоллекцияТестов Цикл + // из-за невозможности управлять длиной строки-параметра при установке параметра не использую параметры макета текстового документа + НужныеКавычки = ?(ЕстьДвеДвойныеКавычки, """"+"""", """"); + ВставляемоеИмяТеста = НужныеКавычки + ИмяТеста + НужныеКавычки; + ДобавляемыйТекст = СтрЗаменить(ОбластьДобавитьИмяТеста.ПолучитьСтроку(2), "%ИмяТеста%", ВставляемоеИмяТеста); + ИтоговыйТекст.ДобавитьСтроку(ДобавляемыйТекст); + КонецЦикла; + ИтоговыйТекст.Вывести(ОбластьЗавершениеСпискаТестов); + + ОсновнойТекст = Сред(Исходный, ОписаниеМетодаПолучитьСписокТестов.Конец); + ИтоговыйТекст.ДобавитьСтроку(ОсновнойТекст); + + ДобавитьЛог("ИтоговыйТекст.ПолучитьТекст() = "+Символы.ПС + ИтоговыйТекст.ПолучитьТекст()+"=========="+Символы.ПС); + + Возврат ИтоговыйТекст.ПолучитьТекст(); +КонецФункции + +Функция ПодменитьБазовыеУтверждения(Знач Исходный, ОписаниеМетодаПолучитьСписокТестов) + НаборОписанийУтвержденийДляЗамены = Новый Структура; + НаборОписанийУтвержденийДляЗамены.Вставить("БазовыеУтверждения", "Утверждения"); + НаборОписанийУтвержденийДляЗамены.Вставить("ГенераторТестовыхДанных", "ГенераторТестовыхДанных"); + НаборОписанийУтвержденийДляЗамены.Вставить("ЗапросыИзБД", "ЗапросыИзБД"); + НаборОписанийУтвержденийДляЗамены.Вставить("УтвержденияПроверкаТаблиц", "УтвержденияПроверкаТаблиц"); + НаборОписанийУтвержденийДляЗамены.Вставить("КонтекстЯдра", "КонтекстЯдра"); + + Для Каждого ОписаниеУтверждения Из НаборОписанийУтвержденийДляЗамены Цикл + НаборБазовыхУтверждений = ПолучитьНаборБазовыхУтверждений(ОписаниеУтверждения.Ключ); + Исходный = ЗаменитьБазовыеУтвержденияИзНабораУтверждений(Исходный, ОписаниеМетодаПолучитьСписокТестов.ОписаниеГлобальнойПеременнойКонтекстаЯдра.Имя, НаборБазовыхУтверждений, ОписаниеУтверждения.Значение); + КонецЦикла; + Возврат Исходный; +КонецФункции + +Функция ПолучитьНаборБазовыхУтверждений(ИмяМакетаУтверждений) + ТекстУтверждений = ПолучитьМакет(ИмяМакетаУтверждений); + НаборБазовыхУтверждений = Новый Структура; + Для к = 1 По ТекстУтверждений.КоличествоСтрок() Цикл + ТекстУтверждения = СокрЛП(ТекстУтверждений.ПолучитьСтроку(к)); + Если ПустаяСтрока(ТекстУтверждения) Тогда + Продолжить; + КонецЕсли; + Описание = ПолучитьОписаниеБазовогоУтверждения(ТекстУтверждения); + НаборБазовыхУтверждений.Вставить(Описание.Исходное, Описание); + КонецЦикла; + Возврат НаборБазовыхУтверждений; +КонецФункции + +Функция ПолучитьОписаниеБазовогоУтверждения(ТекстУтверждения) + Результат = Новый Структура("Исходное, Результирующее, ЕстьЗамена"); + + МассивСтрок = РазложитьСтрокуВМассивПодстрок(ТекстУтверждения, "="); + + Если МассивСтрок.Количество() = 1 Тогда + Результат.Вставить("Исходное", ТекстУтверждения); + Результат.Вставить("Результирующее", ТекстУтверждения); + Результат.Вставить("ЕстьЗамена", Ложь); + ИначеЕсли МассивСтрок.Количество() = 2 Тогда + Результат.Вставить("Исходное", МассивСтрок[0]); + Результат.Вставить("Результирующее", МассивСтрок[1]); + Результат.Вставить("ЕстьЗамена", Истина); + Иначе + ВызватьИсключение "Неверный формат базового утверждения. В макете разрешено либо название утверждения (например, ПроверитьРавенство) либо описание замены (например, ПрерватьТест=КонтекстЯдра.ВызватьОшибкуПроверки)"; + КонецЕсли; + + Возврат Результат; +КонецФункции + +Функция ЗаменитьБазовыеУтвержденияИзНабораУтверждений(Знач Исходный, ОписаниеГлобальнойПеременнойКонтекстаЯдра, НаборБазовыхУтверждений, ИмяНовойПеременнойУтверждений) + + НаборЗамен = Новый Соответствие; + ШаблонУтверждений = "("; + Для Каждого Структура Из НаборБазовыхУтверждений Цикл + ИсходноеУтверждение = Структура.Ключ; + ОписаниеУтверждения = Структура.Значение; + + ШаблонУтверждений = ШаблонУтверждений + "(" + ОписаниеГлобальнойПеременнойКонтекстаЯдра + "\s*\.\s*("+ИсходноеУтверждение+")\s*\()|"; + + Если ОписаниеУтверждения.ЕстьЗамена Тогда + НаборЗамен.Вставить(НРег(ОписаниеГлобальнойПеременнойКонтекстаЯдра + "." + ИсходноеУтверждение + "("), ОписаниеУтверждения.Результирующее + "("); + Иначе + НаборЗамен.Вставить(НРег(ОписаниеГлобальнойПеременнойКонтекстаЯдра + "." + ИсходноеУтверждение + "("), ИмяНовойПеременнойУтверждений + "." + ИсходноеУтверждение + "("); + КонецЕсли; + КонецЦикла; + НаборЗамен = Новый ФиксированноеСоответствие(НаборЗамен); // для точной проверки свойств через НаборЗамен[ТекстУтверждения], а не переустановки значения свойство в Неопределено + + ШаблонУтверждений = Лев(ШаблонУтверждений, СтрДлина(ШаблонУтверждений) - 1); + ШаблонУтверждений = ШаблонУтверждений + ")+"; + ДобавитьЛог(ИмяНовойПеременнойУтверждений + " ШаблонУтверждений " + ШаблонУтверждений); + + RegExp_ШаблонУтверждений = Неопределено; + РегулярныеВыражения_Инициализация (RegExp_ШаблонУтверждений, ШаблонУтверждений); + Группировки = РегулярныеВыражения_Выполнить(RegExp_ШаблонУтверждений, Исходный); + + Если Не ЗначениеЗаполнено(Группировки) Тогда + ДобавитьЛог("Не удалось найти использование утверждений в тексте теста"); + Возврат Исходный; + КонецЕсли; + + //обход в обратном порядке, чтобы не было проблем с индексом по строке в Лев, Сред + Для н = -Группировки.Количество()+1 По 0 Цикл + к = -н; + Группировка = Группировки[к]; + + ТекстУтверждения = Группировка.ПодВыражения[0]; + ДобавитьЛог(ИмяНовойПеременнойУтверждений + " найден текст утверждения имя теста = "+ТекстУтверждения); + ДобавитьЛог(ИмяНовойПеременнойУтверждений + " найден НаборЗамен["+НРег(ТекстУтверждения)+"] = "+НаборЗамен[НРег(ТекстУтверждения)]); + ЛеваяЧасть = Лев(Исходный, Группировка.Начало); + ПраваяЧасть = Сред(Исходный, Группировка.Начало + Группировка.Длина + 1); + + Исходный = ЛеваяЧасть + НаборЗамен[НРег(ТекстУтверждения)] + ПраваяЧасть; + КонецЦикла; + + ДобавитьЛог(ИмяНовойПеременнойУтверждений + " После ЗаменитьБазовыеУтвержденияИзНабораУтверждений ============== "+Символы.ПС + Исходный); + Возврат Исходный; +КонецФункции + +Функция ДобавитьКомментарии(Строка) + Рез = Новый ТекстовыйДокумент; + Для к=1 По СтрЧислоСтрок(Строка) Цикл + Рез.ДобавитьСтроку("//"+СтрПолучитьСтроку(Строка, к)); + КонецЦикла; + Возврат СокрЛП(Рез.ПолучитьТекст()); +КонецФункции + +Процедура ДобавитьНепустуюСтрокуКТексту(Текст, Строка) + Если Не ПустаяСтрока(Строка) Тогда + Текст.ДобавитьСтроку(Строка); + КонецЕсли; +КонецПроцедуры + +Функция ПолучитьТекстФайла(Файл) + Текст = Новый ЧтениеТекста(Файл.ПолноеИмя, КодировкаТекста.UTF8); + Стр = Текст.Прочитать(); + Возврат Стр; +КонецФункции + +Процедура ЗаписатьТекстВФайл(Файл, Строка) + Текст = Новый ЗаписьТекста(Файл.ПолноеИмя, КодировкаТекста.UTF8); + Текст.Записать(Строка); + Текст.Закрыть(); +КонецПроцедуры + +Процедура ДобавитьЛог(Сообщение) + Если ЛогВключен Тогда + Лог = Лог + Сообщение + Символы.ПС; + КонецЕсли; +КонецПроцедуры + +Функция СоздатьСтруктуруРезультатаПреобразования() + Возврат Новый Структура("НайденоВнешнихОбработок,НайденоФайловТестов,КонвертированоТестов",0,0,0); +КонецФункции + +Процедура ДобавитьЧислаВНаборИзДругогоНабора(ИсходныйНабор, ДобавляемыйНабор) + Для Каждого КлючЗначение Из ДобавляемыйНабор Цикл + Ключ = КлючЗначение.Ключ; + ИсходныйНабор.Вставить(Ключ, ИсходныйНабор[Ключ] + КлючЗначение.Значение); + КонецЦикла; +КонецПроцедуры + +// Разбивает строку на несколько строк по разделителю. Разделитель может иметь любую длину. +// Общий модуль СтроковыеФункцииКлиентСервер. +// +// Параметры: +// Строка - Строка - текст с разделителями; +// Разделитель - Строка - разделитель строк текста, минимум 1 символ; +// ПропускатьПустыеСтроки - Булево - признак необходимости включения в результат пустых строк. +// Если параметр не задан, то функция работает в режиме совместимости со своей предыдущей версией: +// - для разделителя-пробела пустые строки не включаются в результат, для остальных разделителей пустые строки +// включаются в результат. +// - если параметр Строка не содержит значащих символов или не содержит ни одного символа (пустая строка), то в +// случае разделителя-пробела результатом функции будет массив, содержащий одно значение "" (пустая строка), а +// при других разделителях результатом функции будет пустой массив. +// +// +// Возвращаемое значение: +// Массив - массив строк. +// +// Примеры: +// РазложитьСтрокуВМассивПодстрок(",один,,два,", ",") - возвратит массив из 5 элементов, три из которых - пустые строки; +// РазложитьСтрокуВМассивПодстрок(",один,,два,", ",", Истина) - возвратит массив из двух элементов; +// РазложитьСтрокуВМассивПодстрок(" один два ", " ") - возвратит массив из двух элементов; +// РазложитьСтрокуВМассивПодстрок("") - возвратит пустой массив; +// РазложитьСтрокуВМассивПодстрок("",,Ложь) - возвратит массив с одним элементом "" (пустой строкой); +// РазложитьСтрокуВМассивПодстрок("", " ") - возвратит массив с одним элементом "" (пустой строкой); +// +Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",", Знач ПропускатьПустыеСтроки = Неопределено) + + Результат = Новый Массив; + + // для обеспечения обратной совместимости + Если ПропускатьПустыеСтроки = Неопределено Тогда + ПропускатьПустыеСтроки = ?(Разделитель = " ", Истина, Ложь); + Если ПустаяСтрока(Строка) Тогда + Если Разделитель = " " Тогда + Результат.Добавить(""); + КонецЕсли; + Возврат Результат; + КонецЕсли; + КонецЕсли; + // + + Позиция = Найти(Строка, Разделитель); + Пока Позиция > 0 Цикл + Подстрока = Лев(Строка, Позиция - 1); + Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Подстрока) Тогда + Результат.Добавить(Подстрока); + КонецЕсли; + Строка = Сред(Строка, Позиция + СтрДлина(Разделитель)); + Позиция = Найти(Строка, Разделитель); + КонецЦикла; + + Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Строка) Тогда + Результат.Добавить(Строка); + КонецЕсли; + + Возврат Результат; + +КонецФункции + +//} + +//{ RegExp + +Процедура РегулярныеВыражения_Инициализация (RegExp, Шаблон, ИскатьДоПервогоСовпадения = Ложь, МногоСтрок = Истина, ИгнорироватьРегистр = Истина) Экспорт + + Если RegExp = Неопределено Тогда + RegExp = Новый COMОбъект("VBScript.RegExp"); + КонецЕсли; + + RegExp.MultiLine = МногоСтрок; // истина — текст многострочный, ложь — одна строка + RegExp.Global = Не ИскатьДоПервогоСовпадения; // истина — поиск по всей строке, ложь — до первого совпадения + RegExp.IgnoreCase = ИгнорироватьРегистр; // истина — игнорировать регистр строки при поиске + RegExp.Pattern = Шаблон; // шаблон (регулярное выражение) + +КонецПроцедуры + +Функция РегулярныеВыражения_Проверка(RegExp, ПроверяемыйТекст) + + Возврат RegExp.Test(ПроверяемыйТекст); + +КонецФункции + +Функция РегулярныеВыражения_Выполнить(RegExp, АнализируемыйТекст) Экспорт + + РезультатАнализаСтроки = RegExp.Execute(АнализируемыйТекст); + + Группировки = Новый Массив; + + Для Каждого Выражение Из РезультатАнализаСтроки Цикл + СтруктураВыражение = Новый Структура ("Начало, Длина, Значение, ПодВыражения", Выражение.FirstIndex, Выражение.Length,Выражение.Value); + + МассивПодВыражений = Новый Массив; + Для Каждого ПодВыражение Из Выражение.SubMatches Цикл + МассивПодВыражений.Добавить(ПодВыражение); + КонецЦикла; + СтруктураВыражение.ПодВыражения = МассивПодВыражений; + + Группировки.Добавить (СтруктураВыражение); + + КонецЦикла; + + Возврат Группировки; + +КонецФункции + +Функция РегулярныеВыражения_Заменить(RegExp, АнализируемыйТекст, ЗаменяемыйТекст) Экспорт + + Рез = RegExp.Replace(АнализируемыйТекст, ЗаменяемыйТекст); + Возврат Рез; + +КонецФункции + +//} \ No newline at end of file diff --git a/src/Utils/xddTestsConvertIntoRebornFormat/maps.txt b/src/Utils/xddTestsConvertIntoRebornFormat/maps.txt new file mode 100644 index 00000000..c3ebe66c --- /dev/null +++ b/src/Utils/xddTestsConvertIntoRebornFormat/maps.txt @@ -0,0 +1,8 @@ +Form\УправляемаяФорма\Форма.txt-->1c85fafa-c8c3-4b1c-a5a5-06833393c6c5.0 (64, 64) +Макеты\v8unpack.txt-->d41c4a3c-7890-4572-a6c9-1e1ad5f3d0a8.0 +Макеты\БазовыеУтверждения.txt-->fcfede74-2426-4bbc-9d8c-cbb168909665.0 +Макеты\ГенераторТестовыхДанных.txt-->ca555899-4850-4863-9cf3-a59edea89072.0 +Макеты\ЗапросыИзБД.txt-->07ad65a2-ee47-46ed-8632-42d4a0bf76b0.0 +Макеты\КонтекстЯдра.txt-->efc43c90-f8d2-444b-a250-5d567bef39ad.0 +Макеты\УтвержденияПроверкаТаблиц.txt-->9809c3cc-c2aa-427f-9e39-0d7b776446b0.0 +Макеты\ШаблонТеста.txt-->66035cac-eeb6-4708-9998-7f619b73e7f1.0 diff --git a/src/Utils/xddTestsConvertIntoRebornFormat/renames.txt b/src/Utils/xddTestsConvertIntoRebornFormat/renames.txt new file mode 100644 index 00000000..a9860a28 --- /dev/null +++ b/src/Utils/xddTestsConvertIntoRebornFormat/renames.txt @@ -0,0 +1,25 @@ +07ad65a2-ee47-46ed-8632-42d4a0bf76b0-->und\07ad65a2-ee47-46ed-8632-42d4a0bf76b0 +07ad65a2-ee47-46ed-8632-42d4a0bf76b0.0-->und\07ad65a2-ee47-46ed-8632-42d4a0bf76b0.0 +1c85fafa-c8c3-4b1c-a5a5-06833393c6c5-->und\1c85fafa-c8c3-4b1c-a5a5-06833393c6c5 +1c85fafa-c8c3-4b1c-a5a5-06833393c6c5.0-->und\1c85fafa-c8c3-4b1c-a5a5-06833393c6c5.0 +66035cac-eeb6-4708-9998-7f619b73e7f1-->und\66035cac-eeb6-4708-9998-7f619b73e7f1 +66035cac-eeb6-4708-9998-7f619b73e7f1.0-->und\66035cac-eeb6-4708-9998-7f619b73e7f1.0 +6641570f-5fe8-41b8-9fdd-a7d1b233a01c.0\info-->und\6641570f-5fe8-41b8-9fdd-a7d1b233a01c.0\info +6641570f-5fe8-41b8-9fdd-a7d1b233a01c.0\text-->ObjectModule.txt +9809c3cc-c2aa-427f-9e39-0d7b776446b0-->und\9809c3cc-c2aa-427f-9e39-0d7b776446b0 +9809c3cc-c2aa-427f-9e39-0d7b776446b0.0-->und\9809c3cc-c2aa-427f-9e39-0d7b776446b0.0 +ca555899-4850-4863-9cf3-a59edea89072-->und\ca555899-4850-4863-9cf3-a59edea89072 +ca555899-4850-4863-9cf3-a59edea89072.0-->und\ca555899-4850-4863-9cf3-a59edea89072.0 +copyinfo-->und\copyinfo +d41c4a3c-7890-4572-a6c9-1e1ad5f3d0a8-->und\d41c4a3c-7890-4572-a6c9-1e1ad5f3d0a8 +d41c4a3c-7890-4572-a6c9-1e1ad5f3d0a8.0-->und\d41c4a3c-7890-4572-a6c9-1e1ad5f3d0a8.0 +eab4f8c5-602e-4d5a-bdfa-910323eb3c1f-->und\eab4f8c5-602e-4d5a-bdfa-910323eb3c1f +eefa7064-8a52-4268-a696-7bf0e82d0af8-->und\eefa7064-8a52-4268-a696-7bf0e82d0af8 +eefa7064-8a52-4268-a696-7bf0e82d0af8.0-->Form\Форма +efc43c90-f8d2-444b-a250-5d567bef39ad-->und\efc43c90-f8d2-444b-a250-5d567bef39ad +efc43c90-f8d2-444b-a250-5d567bef39ad.0-->und\efc43c90-f8d2-444b-a250-5d567bef39ad.0 +fcfede74-2426-4bbc-9d8c-cbb168909665-->und\fcfede74-2426-4bbc-9d8c-cbb168909665 +fcfede74-2426-4bbc-9d8c-cbb168909665.0-->und\fcfede74-2426-4bbc-9d8c-cbb168909665.0 +root-->und\root +version-->und\version +versions-->und\versions diff --git a/src/Utils/xddTestsConvertIntoRebornFormat/und/07ad65a2-ee47-46ed-8632-42d4a0bf76b0 b/src/Utils/xddTestsConvertIntoRebornFormat/und/07ad65a2-ee47-46ed-8632-42d4a0bf76b0 new file mode 100644 index 00000000..494b1678 --- /dev/null +++ b/src/Utils/xddTestsConvertIntoRebornFormat/und/07ad65a2-ee47-46ed-8632-42d4a0bf76b0 @@ -0,0 +1,6 @@ +{1, +{2,4, +{1, +{0,0,07ad65a2-ee47-46ed-8632-42d4a0bf76b0},"ЗапросыИзБД", +{1,"ru","Запросы из БД"},"",0,0} +},0} \ No newline at end of file diff --git a/src/Utils/xddTestsConvertIntoRebornFormat/und/07ad65a2-ee47-46ed-8632-42d4a0bf76b0.0 b/src/Utils/xddTestsConvertIntoRebornFormat/und/07ad65a2-ee47-46ed-8632-42d4a0bf76b0.0 new file mode 100644 index 00000000..20982aa6 --- /dev/null +++ b/src/Utils/xddTestsConvertIntoRebornFormat/und/07ad65a2-ee47-46ed-8632-42d4a0bf76b0.0 @@ -0,0 +1,10 @@ +ПолучитьКоличествоДокументовПоОтбору +ПолучитьКоличествоЭлементовСправочникаПоОтбору +ПолучитьКоличествоСтрокВДокументахПоОтбору +ПолучитьИтоговуюСуммуТабличнойЧастиДокументовПоОтбору +ПолучитьИтоговуюСуммуДокументовПоОтбору +ПолучитьКоличествоЭлементовМетаданногоПоОтбору +ПолучитьКоличествоБизнесПроцессовПоОтбору +ПолучитьКоличествоЗадачПоОтбору +ПолучитьКоличествоЭлементовРегистраПоОтбору +ПолучитьЭлементыМетаданногоПоОтбору \ No newline at end of file diff --git a/src/Utils/xddTestsConvertIntoRebornFormat/und/1c85fafa-c8c3-4b1c-a5a5-06833393c6c5 b/src/Utils/xddTestsConvertIntoRebornFormat/und/1c85fafa-c8c3-4b1c-a5a5-06833393c6c5 new file mode 100644 index 00000000..afd28ef1 --- /dev/null +++ b/src/Utils/xddTestsConvertIntoRebornFormat/und/1c85fafa-c8c3-4b1c-a5a5-06833393c6c5 @@ -0,0 +1,10 @@ +{1, +{1, +{0, +{9, +{0, +{0,0,1c85fafa-c8c3-4b1c-a5a5-06833393c6c5},"УправляемаяФорма", +{1,"ru","Управляемая форма"},""},0,1}, +{0} +} +},0} \ No newline at end of file diff --git a/src/Utils/xddTestsConvertIntoRebornFormat/und/1c85fafa-c8c3-4b1c-a5a5-06833393c6c5.0 b/src/Utils/xddTestsConvertIntoRebornFormat/und/1c85fafa-c8c3-4b1c-a5a5-06833393c6c5.0 new file mode 100644 index 00000000..3289531d --- /dev/null +++ b/src/Utils/xddTestsConvertIntoRebornFormat/und/1c85fafa-c8c3-4b1c-a5a5-06833393c6c5.0 @@ -0,0 +1,102 @@ +{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}, +{0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},1, +{0,0,1},0,1},1,3d3cb80c-508b-41fa-8a18-680cdf5f1712, +{5, +{1,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},0,"Декорация1", +{1,1, +{"ru","Конвертация тестов из формата 3.Х в новый формат (4.Х) работает только в режиме обычного приложения. + +Запустите 1С в указанном приложении!"} +}, +{1,0},1,0,0,2,2, +{3,2, +{24} +}, +{6,1,63, +{0},120,700,0,0,0,"Tahoma",1}, +{0,0,0},1, +{4,0,0,3,0, +{0} +},1, +{17, +{2,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},8,"Декорация1КонтекстноеМеню", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{1,1},0,1},1,2},"","",1, +{17, +{0},0,0,0,7,"Navigator", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},0,0,1} +},"", +{4,1, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",2bd25281-0454-4bf1-9b52-a17b78c7834f} +}, +{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 +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,0}, +{0,0}, +{0,0}, +{0,0} +} \ No newline at end of file diff --git a/src/Utils/xddTestsConvertIntoRebornFormat/und/66035cac-eeb6-4708-9998-7f619b73e7f1 b/src/Utils/xddTestsConvertIntoRebornFormat/und/66035cac-eeb6-4708-9998-7f619b73e7f1 new file mode 100644 index 00000000..7cd3dc3a --- /dev/null +++ b/src/Utils/xddTestsConvertIntoRebornFormat/und/66035cac-eeb6-4708-9998-7f619b73e7f1 @@ -0,0 +1,6 @@ +{1, +{2,4, +{0, +{0,0,66035cac-eeb6-4708-9998-7f619b73e7f1},"ШаблонТеста", +{1,"ru","Шаблон теста"},""} +},0} \ No newline at end of file diff --git a/src/Utils/xddTestsConvertIntoRebornFormat/und/66035cac-eeb6-4708-9998-7f619b73e7f1.0 b/src/Utils/xddTestsConvertIntoRebornFormat/und/66035cac-eeb6-4708-9998-7f619b73e7f1.0 new file mode 100644 index 00000000..0a533b32 --- /dev/null +++ b/src/Utils/xddTestsConvertIntoRebornFormat/und/66035cac-eeb6-4708-9998-7f619b73e7f1.0 @@ -0,0 +1,79 @@ +#Область ПеременныеТестирования +Перем КонтекстЯдра; +Перем Ожидаем; +Перем Утверждения; +Перем ГенераторТестовыхДанных; +Перем ЗапросыИзБД; +Перем УтвержденияПроверкаТаблиц; +#КонецОбласти + +#Область ПеременныеТестирования_УФ +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Ожидаем; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем ГенераторТестовыхДанных; +&НаКлиенте +Перем ЗапросыИзБД; +&НаКлиенте +Перем УтвержденияПроверкаТаблиц; +#КонецОбласти + +#Область ОписанияТестов +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин("СериализаторMXL"); + ЗапросыИзБД = КонтекстЯдра.Плагин("ЗапросыИзБД"); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); +КонецПроцедуры + +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт +#КонецОбласти + +#Область ОписанияТестов_УФ +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин("СериализаторMXL"); + ЗапросыИзБД = КонтекстЯдра.Плагин("ЗапросыИзБД"); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт +#КонецОбласти + +#Область ОписанияТестов_УФ_ДвеДвойныеКавычки +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин(""УтвержденияBDD""); + Утверждения = КонтекстЯдра.Плагин(""БазовыеУтверждения""); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин(""СериализаторMXL""); + ЗапросыИзБД = КонтекстЯдра.Плагин(""ЗапросыИзБД""); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин(""УтвержденияПроверкаТаблиц""); +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт +#КонецОбласти + +#Область ДобавитьИмяТеста + НаборТестов.Добавить(%ИмяТеста%); +#КонецОбласти + +#Область ЗавершениеСпискаТестов +КонецПроцедуры + +#КонецОбласти + +#Область УФ_НаКлиенте +&НаКлиенте +#КонецОбласти diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/und/168f3b68-d32c-11e4-f984-485d606103c6.0/info" b/src/Utils/xddTestsConvertIntoRebornFormat/und/6641570f-5fe8-41b8-9fdd-a7d1b233a01c.0/info similarity index 100% rename from "src/Tests/selftests/\320\242\320\265\321\201\321\202\320\224\320\276\320\273\320\266\320\265\320\275\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\235\320\265\321\201\320\272\320\276\320\273\321\214\320\272\320\270\321\205\320\244\320\276\321\200\320\274/und/168f3b68-d32c-11e4-f984-485d606103c6.0/info" rename to src/Utils/xddTestsConvertIntoRebornFormat/und/6641570f-5fe8-41b8-9fdd-a7d1b233a01c.0/info diff --git a/src/Utils/xddTestsConvertIntoRebornFormat/und/9809c3cc-c2aa-427f-9e39-0d7b776446b0 b/src/Utils/xddTestsConvertIntoRebornFormat/und/9809c3cc-c2aa-427f-9e39-0d7b776446b0 new file mode 100644 index 00000000..671168bb --- /dev/null +++ b/src/Utils/xddTestsConvertIntoRebornFormat/und/9809c3cc-c2aa-427f-9e39-0d7b776446b0 @@ -0,0 +1,6 @@ +{1, +{2,4, +{0, +{0,0,9809c3cc-c2aa-427f-9e39-0d7b776446b0},"УтвержденияПроверкаТаблиц", +{1,"ru","Утверждения проверка таблиц"},""} +},0} \ No newline at end of file diff --git a/src/Utils/xddTestsConvertIntoRebornFormat/und/9809c3cc-c2aa-427f-9e39-0d7b776446b0.0 b/src/Utils/xddTestsConvertIntoRebornFormat/und/9809c3cc-c2aa-427f-9e39-0d7b776446b0.0 new file mode 100644 index 00000000..66522822 --- /dev/null +++ b/src/Utils/xddTestsConvertIntoRebornFormat/und/9809c3cc-c2aa-427f-9e39-0d7b776446b0.0 @@ -0,0 +1,3 @@ +ПроверитьРавенствоТаблиц +ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям +ПолучитьТаблицуЗначенийИзТабличногоДокумента \ No newline at end of file diff --git a/src/Utils/xddTestsConvertIntoRebornFormat/und/ca555899-4850-4863-9cf3-a59edea89072 b/src/Utils/xddTestsConvertIntoRebornFormat/und/ca555899-4850-4863-9cf3-a59edea89072 new file mode 100644 index 00000000..593fa6d6 --- /dev/null +++ b/src/Utils/xddTestsConvertIntoRebornFormat/und/ca555899-4850-4863-9cf3-a59edea89072 @@ -0,0 +1,6 @@ +{1, +{2,4, +{0, +{0,0,ca555899-4850-4863-9cf3-a59edea89072},"ГенераторТестовыхДанных", +{1,"ru","Генератор тестовых данных"},""} +},0} \ No newline at end of file diff --git a/src/Utils/xddTestsConvertIntoRebornFormat/und/ca555899-4850-4863-9cf3-a59edea89072.0 b/src/Utils/xddTestsConvertIntoRebornFormat/und/ca555899-4850-4863-9cf3-a59edea89072.0 new file mode 100644 index 00000000..2cf09194 --- /dev/null +++ b/src/Utils/xddTestsConvertIntoRebornFormat/und/ca555899-4850-4863-9cf3-a59edea89072.0 @@ -0,0 +1,5 @@ +СоздатьДанныеПоМакетам +СоздатьДанныеПоТабличномуДокументу +УдалитьСозданныеДанные +СоздатьПользователяИБ +РазложитьСтрокуВМассивПодстрок \ No newline at end of file diff --git a/src/Utils/xddTestsConvertIntoRebornFormat/und/copyinfo b/src/Utils/xddTestsConvertIntoRebornFormat/und/copyinfo new file mode 100644 index 00000000..ecf5a8a6 --- /dev/null +++ b/src/Utils/xddTestsConvertIntoRebornFormat/und/copyinfo @@ -0,0 +1,19 @@ +{4, +{3, +{1c85fafa-c8c3-4b1c-a5a5-06833393c6c5,1c85fafa-c8c3-4b1c-a5a5-06833393c6c5,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"УправляемаяФорма"} +}, +{6641570f-5fe8-41b8-9fdd-a7d1b233a01c,6641570f-5fe8-41b8-9fdd-a7d1b233a01c,1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"xddTestsConvertIntoRebornFormat"} +}, +{eefa7064-8a52-4268-a696-7bf0e82d0af8,eefa7064-8a52-4268-a696-7bf0e82d0af8,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} +} +}, +{1, +{2bd25281-0454-4bf1-9b52-a17b78c7834f,6641570f-5fe8-41b8-9fdd-a7d1b233a01c,0} +}, +{0}, +{0,0}, +{0} +} \ No newline at end of file diff --git a/src/Utils/xddTestsConvertIntoRebornFormat/und/d41c4a3c-7890-4572-a6c9-1e1ad5f3d0a8 b/src/Utils/xddTestsConvertIntoRebornFormat/und/d41c4a3c-7890-4572-a6c9-1e1ad5f3d0a8 new file mode 100644 index 00000000..c096b49f --- /dev/null +++ b/src/Utils/xddTestsConvertIntoRebornFormat/und/d41c4a3c-7890-4572-a6c9-1e1ad5f3d0a8 @@ -0,0 +1,6 @@ +{1, +{2,1, +{0, +{0,0,d41c4a3c-7890-4572-a6c9-1e1ad5f3d0a8},"v8unpack", +{1,"ru","V8unpack"},""} +},0} \ No newline at end of file diff --git a/src/Utils/xddTestsConvertIntoRebornFormat/und/d41c4a3c-7890-4572-a6c9-1e1ad5f3d0a8.0 b/src/Utils/xddTestsConvertIntoRebornFormat/und/d41c4a3c-7890-4572-a6c9-1e1ad5f3d0a8.0 new file mode 100644 index 00000000..4dfae103 --- /dev/null +++ b/src/Utils/xddTestsConvertIntoRebornFormat/und/d41c4a3c-7890-4572-a6c9-1e1ad5f3d0a8.0 @@ -0,0 +1,16675 @@ +{1, +{#base64:TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5v +dCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAABQRQAATAEIAAAAAAAAAAAA +AAAAAOAADwMLAQIYAJoIAAAyDAAADgAAcBUAAAAQAAAAsAgAAABAAAAQAAAAAgAA +BAAAAAEAAAAEAAAAAAAAAACQDAAABAAAWhwNAAMAAAAAACAAABAAAAAAEAAAEAAA +AAAAABAAAAAAAAAAAAAAAABgDAAEDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAwAGAAAAAAAAAAAAAAA +AAAAAAAAAABsYgwAHAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAA +gJgIAAAQAAAAmggAAAQAAAAAAAAAAAAAAAAAAGAAUGAuZGF0YQAAAPxiAAAAsAgA +AGQAAACeCAAAAAAAAAAAAAAAAABAAGDALnJkYXRhAADExgAAACAJAADIAAAAAgkA +AAAAAAAAAAAAAAAAQABgQC5laF9mcmFt4FcCAADwCQAAWAIAAMoJAAAAAAAAAAAA +AAAAAEAAMEAuYnNzAAAAAEAMAAAAUAwAAAAAAAAAAAAAAAAAAAAAAAAAAACAAGDA +LmlkYXRhAAAEDgAAAGAMAAAQAAAAIgwAAAAAAAAAAAAAAAAAQAAwwC5DUlQAAAAA +GAAAAABwDAAAAgAAADIMAAAAAAAAAAAAAAAAAEAAMMAudGxzAAAAACAAAAAAgAwA +AAIAAAA0DAAAAAAAAAAAAAAAAABAADDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +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 +////x4Xs/v//DKJJAMeF8P7//wAAAADHhWD///+w2UkA6FqZBwCLheT9//+NWPSB ++2AMSQAPhSUBAACNZfSJ8FteX13Dvsz////p8P7//5CJRCQMjbXs/f//jQRKiXQk +CIlEJASJFCTo80oCAIu17P3//+lY/P//iUQkDAHRjYXk/f//iUQkCIlMJASJFCTo +XEgCAOnS+///jbQmAAAAAIlEJAyNhfD9//+JRCQIjQRKiUQkBIkUJOijSgIAi7Xw +/f//6YD9//+JRCQMAdGNhej9//+JRCQIiUwkBIkUJOgMSAIA6eX8//+NtCYAAAAA +A0j0i0EUg8gEiQQk6D+mBwDpcPz//wNI9ItBFIPIBIkEJOgppgcA6cj9//+NdCYA +vs3////pjv7//4M9AFFMAAAPhcEAAACLUPyNSv+JSPyJ0IXAD49u/v//jYXw/f// +ifmJBCTo1oMFAFDpWP7//4M9AFFMAAAPhZgAAACLUPyNSv+JSPyJ0IXAD4+7/v// +jYXw/f//idmJBCTooIMFAFDppf7//4M9AFFMAAB1dotQ/I1K/4lI/InQhcAPj9z7 +//+NhfT9//+J8YkEJOge9AUAUOnG+///gz0AUUwAAHVRi1D8jXL/iXD8idCFwA+P +GP3//4217P3//4k0JOju8wUAUekE/f//g+gE6E4dCADpPf///4PoBOhBHQgAjXYA +6WP///+D6AToMR0IAI12AOuIg+gEiY3U/f//6B4dCACLjdT9///rpMeF9P3//4yi +SQCJw8eFZP7//6CiSQCLhfD9//+Ntez9//+JNCSNSPTom/MFAFKNjWT+///HhWT+ +//+w2UkA6AWXBwCLhej9//+JNCSNSPToxIIFAFCNjez+///omJ4DAIuF5P3//41I +9I2F4P3//4kEJOihggUAUIkcJOhIFQMAicPrkonDi4Xo/f//jUj0jYXi/f//iQQk +6HuCBQBX67WJxonZ6M9TBgCJ8MeF7P7//wyiSQCJw8eFYP///yCiSQDHhfD+//8A +AAAAi4Xs/f//jUj0jYX0/f//iQQk6ObyBQBQjY1g////x4Vg////sNlJAOhQlgcA +6WP////rrInDjbQmAAAAAOvBjY30/f//icONtez9///oG58DAOkh////icONtez9 +///p//7//4nDjY0U/v//x4X4/f//6NBJAI217P3//+gMbgcAjY1k/v//x4X0/f// +jKJJAMeFZP7//7DZSQDo3ZUHAOnT/v//icONtez9///pxv7//42NHP///4nD6B41 +BgCNjRD////HhfT+///o0EkA6LltBwCNjWD////Hhez+//8MokkAx4Xw/v//AAAA +AMeFYP///7DZSQDogJUHAOmT/v//jY0g/v//icPozjQGAOlS////icPrp4nDjXYA +6XP+//+Jw4uF7P3//41I9I2F4f3//4kEJOjC8QUAUOnX/v//icOLhfD9//+NSPSN +heP9//+JBCToo/EFAFaNtez9///p/f3//4nDifnoPlIGAInY6b/9//+Jw+mb/v// +icOLheT9//+NSPSNhez+///pEf7//412AI28JwAAAABVuFyAAACJ5VdWU+jw5gIA +KcSNnbB////HRCQMOAAAAMdEJAiAIEkAx0QkBPH///+JHCTHhdB///8AAAAAx4XU +f///AAAAAMeF2H///wAAAADHhbR///8AAAAAx4Wwf///AAAAAOiGAAEAhcCJxw+F +lQAAAI216H///4tNCMdEJAQAQAAAiTQk6NO1BQCLVQiLCotABIPsCImFtH///4tJ +9PZEChQBD4XEAAAAhcAPhMsAAACJtbB///+Nhei////HRCQEAAAAAIkcJMeFwH// +/wBAAACJhbx////osAMBAIP4/onHD4StAAAAg/j8fCGD+P1+CoP4AnUXv/3///+J +HCToqSgBAIn4jWX0W15fXcO4AEAAAItNDCuFwH///4lEJASNhei///+JBCToj9QF +AItFDItVDIsAg+wIi0D09kQCFAF1KouFwH///4XAD4Rm////g/8BD4Ud////iRwk +6EsoAQAxwOugjbQmAAAAAIkcJOg4KAEAuP/////riokcJOgpKAEAMcCD/wEPlMCN +RED96XH////HRCQI3QAAAMdEJASGIEkAxwQklSBJAOh0jwMAjbYAAAAAjb8AAAAA +VYnlV1ZTgew8AgAAx4Xk/f//bAxJAOhVCgIAi1UIixKLSvSFyQ+FHQQAAI2NYP// +/+hakgcAx4Vg////sNlJAMdF0AAAAADGRdQAxkXVAMdF2AAAAADHRdwAAAAAx0Xg +AAAAAMdF5AAAAADoAAoCAIuV5P3//758DEkAx4Xs/f//fAxJAItK9IXJD4WQAwAA +xwQkAAAAAI2NYP///8eF7P7//wyiSQDHhWD///8gokkAx4Xw/v//AAAAAOjQnwcA +jZ30/v//g+wEidnHhez+//9MokkAx4Vg////YKJJAOjMTAYAi4Xs/v//jY3s/v// +A0j0iRwk6JWfBwCD7ASJ2cdEJAQMAAAAiTQk6FA5BgCD7AiFwIuF7P7//42N7P7/ +/w+EmQMAAANI9McEJAAAAADoqp8HAIuF7P3//4PsBI1w9IH+cAxJAA+FGAQAAPaF +dP///wXHhez+//+MxkkAx4Vg////oMZJAA+FgQMAAMeF6P3//2wMSQDo8ggCAItV +DIsSi0r0hckPhQoDAACNjWT+///o95AHAMeFZP7//7DZSQDHhdT+//8AAAAAxoXY +/v//AMaF2f7//wDHhdz+//8AAAAAx4Xg/v//AAAAAMeF5P7//wAAAADHhej+//8A +AAAA6IgIAgCLlej9//+/fAxJAMeF8P3//3wMSQCLSvSFyQ+FaAIAAMcEJAAAAACN +jWT+///HhfT9//+MokkAx4Vk/v//oKJJAOhingcAjbX4/f//g+wEifHHhfT9///M +okkAx4Vk/v//4KJJAOheSwYAi4X0/f//jY30/f//A0j0iTQk6CeeBwCD7ASJ8cdE +JAQUAAAAiTwk6OI3BgCD7AiFwIuF9P3//42N9P3//w+EQQIAAANI9McEJAAAAADo +PJ4HAIuF8P3//4PsBI1I9IH5cAxJAA+F3AIAAPaFeP7//wXHhfT9///MxkkAx4Vk +/v//4MZJAA+FMwEAAI2F9P3//4lEJASNhez+//+JBCToS/v//4P4/b+3////dAqD ++AEZ//fXg+e6ifHHhfT9///MokkAx4Vk/v//4KJJAMeF+P3//+jMSQDogjgGAI2N +IP7//+hHLwYAjY0U/v//x4X4/f//6NBJAOjiZwcAjY1k/v//x4X0/f//jKJJAMeF +ZP7//7DZSQDos48HAIuF6P3//41w9IH+YAxJAA+FeAEAAInZx4Xs/v//TKJJAMeF +YP///2CiSQDHhfT+///ozEkA6Ak4BgCNjRz////ozi4GAI2NEP///8eF9P7//+jQ +SQDoaWcHAI2NYP///8eF7P7//wyiSQDHhfD+//8AAAAAx4Vg////sNlJAOgwjwcA +i4Xk/f//jVj0gftgDEkAD4UrAQAAjWX0ifhbXl9dw5C/uP///+nv/v//jbYAAAAA +iUQkDI297P3//40ESol8JAiJRCQEiRQk6MNAAgCLtez9///pSPz//4lEJAwB0Y2F +5P3//4lEJAiJTCQEiRQk6Cw+AgDpwvv//420JgAAAACJRCQMjYXw/f//iUQkCI0E +SolEJASJFCToc0ACAIu98P3//+lw/f//iUQkDAHRjYXo/f//iUQkCIlMJASJFCTo +3D0CAOnV/P//jbQmAAAAAANI9ItBFIPIBIkEJOgPnAcA6WD8//8DSPSLQRSDyASJ +BCTo+ZsHAOm4/f//jXQmAL+5////6Yj+//+DPQBRTAAAD4XBAAAAi1D8jUr/iUj8 +idCFwA+PaP7//42F8P3//4nxiQQk6KZ5BQBR6VL+//+DPQBRTAAAD4WYAAAAi1D8 +jUr/iUj8idCFwA+Ptf7//42F8P3//4nZiQQk6HB5BQBS6Z/+//+DPQBRTAAAdXaL +UPyNSv+JSPyJ0IXAD4/M+///jYX0/f//ifGJBCTo7ukFAFDptvv//4M9AFFMAAB1 +UYtQ/I16/4l4/InQhcAPjwj9//+Nvez9//+JPCTovukFAFfp9Pz//4PoBOgeEwgA +6T3///+D6AToERMIAI12AOlj////g+gE6AETCACNdgDriIPoBImN1P3//+juEggA +i43U/f//66THhfT9//+MokkAicPHhWT+//+gokkAi4Xw/f//jb3s/f//iTwkjUj0 +6GvpBQBWjY1k/v//x4Vk/v//sNlJAOjVjAcAi4Xo/f//iTwkjUj06JR4BQBQjY3s +/v//6GiUAwCLheT9//+NSPSNheD9//+JBCTocXgFAFCJHCToGAsDAInD65KJw4uF +6P3//41I9I2F4v3//4kEJOhLeAUAUOu1icaJ2eifSQYAifDHhez+//8MokkAicPH +hWD///8gokkAx4Xw/v//AAAAAIuF7P3//41I9I2F9P3//4kEJOi26AUAUI2NYP// +/8eFYP///7DZSQDoIIwHAOlj////66yJw420JgAAAADrwY2N9P3//4nDjb3s/f// +6OuUAwDpIf///4nDjb3s/f//6f/+//+Jw42NFP7//8eF+P3//+jQSQCNvez9///o +3GMHAI2NZP7//8eF9P3//4yiSQDHhWT+//+w2UkA6K2LBwDp0/7//4nDjb3s/f// +6cb+//+NjRz///+Jw+juKgYAjY0Q////x4X0/v//6NBJAOiJYwcAjY1g////x4Xs +/v//DKJJAMeF8P7//wAAAADHhWD///+w2UkA6FCLBwDpk/7//42NIP7//4nD6J4q +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 +BMeF1Oz//wAAAACJBCToLdT//42F8O3//4lEJAyLhdDs///Hhfjs//8AAAAAx4Xw +7f//AAAAAIlEJAiNhfjs//+JRCQEi4XU7P//iQQk6F3O//+FwInGD4UlAQAAi4XU +7P//hcB0CIkEJOihzgcAi4XQ7P//i7347P//iUQkBIk8JOgJ2P//hMAPhCkBAACL +hfDt//+Nnejv///HRCQMAAAAAInZx0QkCAAAAACJPCSJRCQEx4Xo7///qMRJAMeF +/O///wAAAADHhQDw//8AAAAAx4UE8P//AAAAAMeFCPD//wAAAADHhQzw//8AAAAA +x4UQ8P//AAAAAMaFFPD//wHoavL//4PsEOiizwEAi30Qx4Xs7v//fAxJAIsXjb3s +7v//ib2E7P//i0r0hckPhdAHAACLhYTs//+J2YkEJOjc2P//i5Xs7v//g+wEjXr0 +gf9wDEkAD4XmEgAAidnordD//4nZ6Ia3//+Lhfjs//+JBCToaFQDAI1l9InwW15f +XcOLvdTs//+LhdDs///HhdTs//8AAAAAiTwkiUQkBIm9+Oz//4mF8O3//+jg1v// +hMAPhdf+//+NhVjw//+JwYmFfOz//+gFVwcAx4VY8P//sNlJAMeFyPD//wAAAADG +hczw//8AxoXN8P//AMeF0PD//wAAAADHhdTw//8AAAAAx4XY8P//AAAAAMeF3PD/ +/wAAAADols4BAIt9EMeF7O7//3wMSQCLF798DEkAi0r0hckPhTcHAACLjXzs///H +BCQAAAAAx4Xo7///jKJJAMeFWPD//6CiSQDocWQHAI2F7O///4PsBInBx4Xo7/// +zKJJAMeFWPD//+CiSQCJhYDs///oZxEGAIuF6O///42d6O///4tI9IuFgOz//wHZ +iQQk6ChkBwCLjYDs//+D7ATHRCQEFAAAAIk8JOjf/QUAg+wIhcCLhejv//+J2Q+E +zgcAAANI9McEJAAAAADoPWQHAIuV7O7//4PsBI169IH/cAxJAA+FphMAAIuF8O3/ +/4nZx4Xo7///zMZJAMeFWPD//+DGSQCJRCQEi4X47P//iQQk6BeXBQCLjYDs//+D +7AjHhejv///MokkAx4VY8P//4KJJAMeF7O///+jMSQDom/4FAI2NFPD//+hg9QUA +jY0I8P//x4Xs7///6NBJAOj7LQcAi4187P//x4Xo7///jKJJAMeFWPD//7DZSQDo +zFUHAOnR/f//jbQmAAAAAI2FWPD//4nGicGJhXzs///oG1UHAInxxwQkAAAAAMeF +yPD//wAAAADGhczw//8AxoXN8P//AMeF0PD//wAAAADHhdTw//8AAAAAx4XY8P// +AAAAAMeF3PD//wAAAADHhejv//+MokkAx4VY8P//oKJJAOi5YgcAjYXs7///g+wE +icGJxseF6O///8yiSQDHhVjw///gokkAiYWA7P//6K0PBgCLhejv//+Nnejv//+L +SPSJNCQB2eh0YgcAg+wEx4Xo7///zMZJAMeFWPD//+DGSQDoOMwBAIuVoOz//7l8 +DEkAx4Xs7v//fAxJAIty9IX2D4WIBAAAiQwki42A7P//x0QkBBQAAADo8vsFAIPs +CIXAi4Xo7///idkPhJQGAAADSPTHBCQAAAAA6FBiBwCLlezu//+D7ASNcvSB/nAM +SQAPhQ8QAACNhfjs//+JRCQMi0UIiVwkCIl8JATHhfjs//8AAAAAiQQk6NHQ//+L +jYDs///o1vwFAIXAD4QkBQAAjYW47P//jbWg7P//icGJNCSJhXTs///o8kgFAIuN +gOz//4PsBMeF6O///8yiSQDHhVjw///gokkAx4Xs7///6MxJAOiG/AUAjY0U8P// +6EvzBQCNjQjw///Hhezv///o0EkA6OYrBwCLjXzs///Hhejv//+MokkAx4VY8P// +sNlJAOi3UwcAMfboAMsBAIuVuOz//7l8DEkAx4Xo7///fAxJAIt69IX/D4U4BAAA +iQwkjY347f//x0QkBAwAAADouvoFAIPsCIXAi4Xw7f//jY3w7f//D4QzBAAAA0j0 +xwQkAAAAAOgUYQcAi5Xo7///g+wEjVr0gftwDEkAD4WwDAAAjYXw7f//iQQk6B7R +//+EwA+EtgEAAMeF6O///6jESQCNnejv///Hhfzv//8AAAAAx4UA8P//AAAAAMeF +BPD//wAAAADHhQjw//8AAAAAx4UM8P//AAAAAMeFEPD//wAAAADGhRTw//8B6B7K +AQCLfRDHhbzs//98DEkAixeNvbzs//+LSvSFyQ+FDgMAAIuFeOz//42d6O///8dE +JBAAAAAAidnHRCQMAAAAAIk8JIlEJAiNhfDt//+JRCQE6AoQAACLlbzs//+D7BSN +evSB/3AMSQAPhTwKAACNjfjt///o5/oFAIXAD4S3AwAAidno+Mr//4uFdOz//8dE +JAQAAAAAiQQk6MKZAQCJ2ei7sf//i5W47P//jXr0gf9gDEkAD4UqDwAAi5Ws7P// +jXr0gf9gDEkAD4XtCgAAi5Wg7P//jXr0gf9gDEkAD4X4BQAAjY347f//x4Xw7f// +TKJJAMeFZO7//2CiSQDHhfjt///ozEkA6FP6BQCNjSDu///oGPEFAI2NFO7//8eF ++O3//+jQSQDosykHAI2NZO7//8eF8O3//wyiSQDHhfTt//8AAAAAx4Vk7v//sNlJ +AOh6UQcAjWX0ifBbXl9dw42N+O3//+j1+QUAhcAPhLUCAADHhejv//8AAAAA6G4g +AgCJhezv//+LRRCNnejv//+JXCQIiUQkBIuFdOz//4kEJOipRAEA6fn+//+NdCYA +jY207P//AdCJXCQMiUwkCIlEJASJFCTodAACAIuVyOz//+k18v//jY2o7P//AdCJ +XCQMiUwkCIlEJASJFCToTQACAIuVwOz//+kw8f//ZpCLjYTs///HRCQIAAAAAMcE +JAAAAADHRCQEAAAAAOhOdQUAg+wMjZ3o7///6xCNdgD2hXTv//8FD4Xn9f//i42E +7P//x0QkBAAQAACJHCTo/XEFAItABIPsCIXAdNOJRCQEjY347P//iRwk6EGRBQCD +7AjrvIlEJAyNBEqJfCQIiUQkBIkUJOglAgIA6RT4//+JRCQMi4WE7P//iRQkiUQk +CI0EcolEJAToAwICAIuN7O7//+lQ+///iUQkDI2F1Oz//4lEJAiNBEqJRCQEiRQk +6NsBAgCLndTs///pUPT//4lEJAyNhezu//+JRCQIjQRKiUQkBIkUJOizAQIAi73s +7v//6aH4//+JRCQMjYXM7P//iUQkCI0EWolEJASJFCToiwECAIuNzOz//+l58v// +iUQkDI0ESol8JAiJRCQEiRQk6GkBAgDp1vz//410JgCJRCQMjYXQ7P//iUQkCI0E +WolEJASJFCToQwECAIuN0Oz//+nq8v//iUQkDI2d6O///40EeolcJAiJRCQEiRQk +6BsBAgCLjejv///poPv//wNI9ItBFIPIBIkEJOjfXAcA6cb7//+Lhejv//+LSPQB +2YtBFIPIBIkEJOjBXAcAg+wE6bv6//+Lhfjs//+Njfjs//8DSPSLQRSDyASJBCTo +nFwHAIPsBOlg9P//A0j0i0EUg8gEiQQk6INcBwDpxPP//wNI9ItBFIPIBIkEJOht +XAcA6Sv4//+NjfDt///oDa7//+k7/f//jY3w7f//6P2t///pOfz//wNI9ItBFIPI +BIkEJOg3XAcA6Yfx//+Lhfjs//+Njfjs//8DSPSLQRSDyASJBCToFVwHAIPsBOm6 +8f//A0j0i0EUg8gEiQQk6PxbBwDpBfL//420JgAAAACLhezu//+LjYTs//8DSPSL +QRSDyASJBCTo01sHAIPsBOlu8///A0j0i0EUg8gEiQQk6LpbBwDpZfn//4nDi4Xo +7///jUj0jYWe7P//iQQk6FyqBQBWi4W47P//jUj0jYX47P//iQQk6JQ5BQBQi4Ws +7P//jUj0jYX47P//iQQk6Hw5BQBQi4Wg7P//jUj0jYXE7P//iQQk6GQ5BQBQjY3w +7f//6DhVAwCJHCToAMwCAInDi4XM7P//jUj0jYWX7P//iQQk6OepBQBQjY347P// +6EtWAwDpe////4nDi4Xs7v//jUj0jYXM7P//iQQk6L2pBQBWi4187P//x4VY8P// +sNlJAOgnTQcAiRwk6J/LAgCJw4uF1Oz//41I9I2Fmuz//4kEJOiGqQUAUI2NYO// +/8eFYO///7DZSQDo8EwHAOuIicaLhezu//+NSPSNhZzs//+JBCToVakFAFCJ2Ynz +6LtVAwDp6/7//4nDi4XQ7P//jUj0jYWZ7P//iQQk6C2pBQBR6UH///+JxouFvOz/ +/42d6O///41I9I2Fn+z//4kEJOgIqQUAUInZifPoDqz//+me/v//i42A7P//icPo +nAkGAInYx4Xo7///jKJJAInDi4187P//x4VY8P//sNlJAOhJTAcA6Wn+//+NjRzv +//+Jw+iX6wUAjY0Q7///x4X07v//6NBJAOgyJAcAjY1g7///x4Xs7v//DKJJAMeF +8O7//wAAAADHhWDv//+w2UkA6PlLBwDpjv7//4M9AFFMAACNQvx1dItC/I1I/4lK +/IXAD4/r+f//iRwkifnofTcFAFDp2/n//42NIO7//4nD6BrrBQCNjRTu///Hhfjt +///o0EkA6LUjBwCNjWTu///HhfDt//8MokkAx4X07f//AAAAAMeFZO7//7DZSQDo +fEsHAIkcJOj0yQIA6D3RBwDrjonD66+J9o28JwAAAADp8f7//4nGi4Xs7v//jUj0 +jYXM7P//iQQk6MKnBQBXidnoyqr//4k0JOiyyQIAicOLhcDs//+NSPSNhejv//+J +BCTomacFAFCLhajs//+NSPSNhZLs//+JBCTo0TYFAFDpaP3//4nDi4XI7P//jUj0 +jYXo7///iQQk6GKnBQBRi4W07P//jUj0jYWU7P//iQQk6Jo2BQBS6Rn9//+Jw42N +ZO7//8eFZO7//7DZSQDorUoHAIkcJOglyQIAgz0AUUwAAI1C/HVai1r8jUP/iUL8 +idiFwA+PSuz//42d6O///4kcJOgoNgUAUOk27P//gz0AUUwAAI1C/HU6i1r8jUP/ +iUL8idiFwA+PAuz//42d6O///4kcJOj1NQUAUOnu6///iY2A7P//6ALQBwCLjYDs +///rnomNgOz//+jvzwcAi42A7P//676JxouF+Oz//41I9I2Flez//4kEJOjQNQUA +UIuFsOz//42d6O///4kcJI1I9Oi4NQUAUIuFtOz//4kcJInzjUj06KQ1BQBQ6SP8 +//+JxuvLicPp4v7//4M9AFFMAACNQvx1ZIta/I1D/4lC/InYhcAPj33r//+Nnejv +//+JHCToRjUFAFDpaev//4nGjZ3o7///65+DPQBRTAAAjUL8dTqLWvyNQ/+JQvyJ +2IXAD4+y6v//jZ3o7///iRwk6LmlBQBT6Z7q//+JjYDs///oFs8HAIuNgOz//+uU +iY2A7P//6APPBwCLjYDs///rvoM9AFFMAACNQvx1Wota/I1D/4lC/InYhcAPjwnq +//+Nnejv//+JHCTosDQFAFDp9en//4M9AFFMAACNQvx1Oota/I1D/4lC/InYhcAP +j8Hp//+Nnejv//+JHCTofTQFAFDpren//4mNgOz//+iKzgcAi42A7P//656JjYDs +///od84HAIuNgOz//+u+gz0AUUwAAI1C/HUsi1r8jUP/iUL8idiFwA+PU+n//42d +6O///4kcJOgkNAUAUOk/6f//6RP7//+JjYDs///oLM4HAIuNgOz//+vMicaJ2eg9 +UQMAiTQk6MXGAgCJxouFvOz//41I9IuFhOz//4kEJOispAUAUOmf+///gz0AUUwA +AI1C/HVGi0L8jUj/iUr8hcAPj6f1//+LhYTs//+J+YkEJOhZpAUAUOmR9f//icOL +hdTs//+NSPSNhejv//+JBCToWqQFAFDpz/r//+idzQcA67zHhezu//8MokkAicPH +hWDv//8gokkAx4Xw7v//AAAAAOu6icPpn/r//4nG6cn6//+DPQBRTAAAjUL8D4Xg +AAAAi0r8jUH/iUL8iciFwA+PmOz//42d6O///4nxiRwk6MqjBQBQ6YLs//+LjYTs +//+Jw+gHTwMA6ez5///Hhfjs//+MokkAicONjWjt///HhWjt//+w2UkA6DFHBwDp +Ufn//4nDjY387P//6E8EBgCJ2OvJicPprvn//4M9AFFMAACNQvx1bYtC/I1I/4lK +/IXAD4/29P//iRwkifnonTIFAFDp5vT//4uNgOz//4nD6AoEBgCJ2MeF6O///4yi +SQCJw8eFWPD//6CiSQDpafn//4nDifno5AMGAInY6eD+///odswHAOkh////icOQ +6VX////oZMwHAI22AAAAAOuP67SDPQBRTAAAjUL8dWeLSvyNQf+JQvyJyIXAD48x +8///i4WE7P//idmJBCTovaIFAFPpG/P//4nDi4Xo7///jUj0jYWd7P//iQQk6L6i +BQBR6V34//+Jw4uF0Oz//41I9I2FmOz//4kEJOifogUAUOmz+P//6OLLBwCNdCYA +65mJxumA+f//gz0AUUwAAI1C/HV7i0r8jUH/iUL8iciFwA+Pzun//42d6O///4nx +iRwk6DiiBQBS6bjp//+Jw+lt+f//icaLhcTs//+NSPSNhZPs//+JBCTogjEFAFCL +haTs//+Nnejv//+JHCSNSPToajEFAFGLhajs//+JHCSJ841I9OhWMQUAUunt9/// +6EnLBwDriYnG6TH6//+Jw4uFzOz//41I9I2Fluz//4kEJOjZoQUAVunt9///gz0A +UUwAAI1C/HVci0r8jUH/iUL8iciFwA+PYej//42d6O///4nxiRwk6IShBQBQ6Uvo +//+DPQBRTAAAjUL8dTSLQvyNSP+JSvyFwA+P/ez//42FzOz//4n5iQQk6FGhBQBQ +6efs///otMoHAI22AAAAAOui6KfKBwDrzonGi4Xs7v//jUj0jYWb7P//iQQk6D6h +BQBX6eT3///pWPn//4nDkOlv9///icONjQjw///Hhezv///o0EkA6KQcBwCLjXzs +///Hhejv//+MokkAx4VY8P//sNlJAOh1RAcA6ZX2//+Jw+mO9v//gz0AUUwAAI1C +/A+FhAAAAItK/I1B/4lC/InIhcAPj87v//+Nhfjs//+J8YkEJOiWoAUAUOm47/// +jY0U8P//icPog+MFAOl1////jY0U8P//icPoceMFAI2NCPD//8eF7O///+jQSQDo +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 +iUQkDI2F0Pv//4lEJAiNBEqJRCQEiRQk6GPgAQCLndD7///p4vz//4lEJAwB0Y2F +uPv//4lEJAiJTCQEiRQk6MzdAQDpR/z//420JgAAAACJ8egZnwMAiwaJ8ccEJAoA +AAD/UBiD7ATpTf///412AMdEJAgiAAAAx0QkBHAiSQDHBCRgDkkA6NRVBwChYA5J +AItA9IuY3A5JAIXbD4V5/f//6KlcBwCJ+eiC1gUAhcAPhJMKAACLtZz7//+LjaT7 +///HRCQMAAAAAMdEJAgAAAAAiVwkBIk0JOjSx///g+wQicOJNCTodaMHAIP7zQ+E +rAkAAMeFvPv//2wMSQDo7aQBAIt1DI2dvPv//4sWi0r0hckPhRMDAADHRCQEAAAA +AIkcJOjHRQEAi5W8+///D7bwjVr0gftgDEkAD4VuDAAAhfYPhR8DAACLRQyNjcD7 +//+JBCToJqAFAIPsBMdEJAQLAAAAjY3A+///xwQkuyJJAOjJjQUAg+wIx4XE+/// +bAxJAOhnpAEAi5XA+///i0r0hckPha0CAACNjWT8///oaywHAMeFZPz//7DZSQDH +hdT8//8AAAAAxoXY/P//AMaF2fz//wDHhdz8//8AAAAAx4Xg/P//AAAAAMeF5Pz/ +/wAAAADHhej8//8AAAAA6PyjAQCLlcT7//+7fAxJAMeF1Pv//3wMSQCLSvSFyQ+F +8AgAAMcEJAAAAACNjWT8///HhfT7//+MokkAx4Vk/P//oKJJAOjWOQcAg+wEjY34 ++///x4X0+///zKJJAMeFZPz//+CiSQDo1OYFAIuF9Pv//42N9Pv//wNI9I2F+Pv/ +/4kEJOiXOQcAg+wEx0QkBBQAAACNjfj7//+JHCToTtMFAIPsCIXAi4X0+///jY30 ++///D4Q5CgAAA0j0xwQkAAAAAOioOQcAi5XU+///g+wEjVr0gftwDEkAD4VRDQAA +i5XE+///x4X0+///zMZJAMeFZPz//+DGSQCNWvSB+2AMSQAPhfMMAAD2hXj8//8F +D4TUAQAAx0QkCCcAAADHRCQEyCJJAMcEJGAOSQDoPlMHAKFgDkkAi0D0i5jcDkkA +hdsPhCEOAACAexwAD4SCCAAAD7ZDJw++wLlgDkkAiQQk6DpnBQCD7ASJwehwaAUA +ifONjfj7///HhfT7///MokkAx4Vk/P//4KJJAMeF+Pv//+jMSQDopdMFAI2NIPz/ +/+hqygUAjY0U/P//x4X4+///6NBJAOgFAwcAjY1k/P//x4X0+///jKJJAMeFZPz/ +/7DZSQDo1ioHAIuVwPv//41y9IH+cAxJAA+Eafr//4M9AFFMAACNQvwPheoMAACL +QvyNSP+JSvyFwA+PSPr//42F4Pv//4nxiQQk6PCGBQBQ6TL6//8DSPSLQRSDyASJ +BCToOTgHAOmE+f//AdGJRCQMiVwkCIlMJASJFCToztkBAOnS/P//iUQkDAHRjYXE ++///iUQkCIlMJASJFCTordkBAOky/f//6KsmAwCDOAIPhdP8///HRCQILAAAAMdE +JAQAI0kAxwQkYA5JAOjOUQcAoWAOSQCLQPSLmNwOSQCF2w+EhwwAAIB7HAAPhHoG +AAAPtkMnD77AuWAOSQCJBCToymUFAIPsBInB6ABnBQC7AQAAAOlu+f//i7Wk+/// +jY30+///x0QkBBAAAACJ8IPABIkEJOiFagUAg+wIjY30+///6Od0BgCLTiS6H4Xr +UYteIInIKdjB+AJpwPHw8PD34omVlPv//8GtlPv//wSLhZT7//+FwA+VwInGiIWi ++///D7aFmPv//4nyINCIhaH7//8PhaQGAAA52Q+EDAYAAIuFlPv//8eFnPv//wAA +AACNBIABwImFmPv//412AItDBI1w7DHAg+b+dByNdgCLEw+2TAIUicKDwALR6jnw +iIwV6P3//3Lni0UQhcB0HY2F6P3//4lEJASLRRCJBCTocyUDAIXAD4UWAwAAi0UM +jY3A+///iQQk6AKOBQCD7ATHRCQEAQAAAI2NwPv//8cEJBYhSQDoRYkFAIPsCI2V +6P3//4sKg8IEjYH//v7+99EhyCWAgICAdOqJwcHpEKmAgAAAD0TBjUoCD0TRAMCD +2gONhej9//8pwolUJASNjcD7//+JBCTo9IgFAIPsCMdEJAQHAAAAjY3A+///xwQk +8CJJAOjXiAUAg+wIx4XI+///bAxJAOh1nwEAi5XA+///i0r0hckPhRQDAADoX58B +AIuVyPv//7l8DEkAx4XY+///fAxJAIty9IX2D4XDAgAAiQwkjY34+///x0QkBBQA +AADoGc8FAIPsCIXAi4X0+///jY30+///D4RMAwAAA0j0xwQkAAAAAOhzNQcAi5XY ++///g+wEjXL0gf5wDEkAD4WTCgAAi5XI+///jXL0gf5gDEkAD4VJCgAA9oV4/P// +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 +9IuFpPv//4kEJOghDAUAUIuFwPv//41I9I2F4Pv//4kEJOi5fAUAUOkN////icPr +34nDjY30+///6BIpAwDr0InDi4XY+///jUj0jYWz+///iQQk6Id8BQBRi4XI+/// +jUj0jYXg+///iQQk6L8LBQBQ67+Jw4uF3Pv//41I9I2Ftvv//4kEJOhTfAUAUIuF +zPv//+vKgz0AUUwAAI1C/HVei0r8jUH/iUL8iciFwA+PrPn//42F4Pv//4nxiQQk +6EsLBQBQ6Zb5//+DPQBRTAAAjUL8dTCLSvyNQf+JQvyJyIXAD49i+f//jYXg+/// +ifGJBCToxnsFAFDpTPn//+gppQcA66boIqUHAI10JgDr0MeF9Pv//4yiSQCJw8eF +ZPz//6CiSQCLhdT7//+NSPSNhej9//+JBCSJhaT7///om3sFAIuFpPv//1LpjP7/ +/4nD69OJw4uFzPv//41I9I2Ftfv//4kEJOjCCgUAUOm//v//icOLhdz7//+NSPSN +hbf7//+JBCToU3sFAFDp+/7//+h4TQcAicONjfj7///o69sFAInY6Wb///+DPQBR +TAAAjUL8dV6LSvyNQf+JQvyJyIXAD4/u8v//jYXo/f//idmJBCToNQoFAFDp2PL/ +/4M9AFFMAACNQvx1NYtK/I1B/4lC/InIhcAPj5Dy//+Nhej9//+J2YkEJOiwegUA +Uel68v//6BOkBwCQjXQmAOuh6AekBwDrz4nDkI10JgDpWf7//4nD6R7+//+Jw4uF +yPv//41I9I2Fsvv//4kEJOjbCQUAUOnY/f//icOLhdj7//+NSPSNhbT7//+JBCTo +bHoFAFfp4P3//4nDi4XE+///jUj0jYWw+///iQQk6J0JBQBX6Xf9///okKMHAGaQ +6RPz//+Jw42NFPz//8eF+Pv//+jQSQDotPUGAI2NZPz//8eF9Pv//4yiSQDHhWT8 +//+w2UkA6IUdBwDpMP3//42NIPz//4nD6NO8BQDruOgcTAcAicOLhdT7//+NSPSN +hbH7//+JBCTo03kFAI2F6P3//1bpxPz//+jySwcA6O1LBwCDPQBRTAAAjUL8dV6L +SvyNQf+JQvyJyIXAD4+Y9f//jYXg+///ifGJBCTovggFAFLpgvX//4M9AFFMAACN +Qvx1MItK/I1B/4lC/InIhcAPj071//+NheD7//+J8YkEJOg5eQUAVuk49f//6Jyi +BwDrpuiVogcAjbQmAAAAAOvNicOLhbj7//+NSPSNhej9///pnPv//4nDifnoz9kF +AInYx4Xs/P//DKJJAInDx4Vg/f//IKJJAMeF8Pz//wAAAACLhdD7//+NSPSNhej9 +//+JBCTo5ngFAFCNjWD9///HhWD9//+w2UkA6FAcBwDpMPv//+usicONtCYAAAAA +68Ho6UoHAInD69CJw412AOkF+///jY0c/f//icPofrsFAI2NEP3//8eF9Pz//+jQ +SQDoGfQGAI2NYP3//8eF7Pz//wyiSQDHhfD8//8AAAAAx4Vg/f//sNlJAOjgGwcA +6cD6//+Jw4uF0Pv//41I9I2Frvv//4kEJOhCeAUAUOlX////6GdKBwCJw5CNdCYA +65CJw+mM+v//g+gE6G2hBwDpCvr//412AI28JwAAAABVieVXVlOJy4HsjAIAAImN +gP3//42NZP7//+jhGgcAjY1k/v//xwQkAAAAAMeF1P7//wAAAADGhdj+//8AxoXZ +/v//AMeF3P7//wAAAADHheD+//8AAAAAx4Xk/v//AAAAAMeF6P7//wAAAADHhfD9 +//8MokkAx4Vk/v//IKJJAMeF9P3//wAAAADocSgHAIPsBI2N+P3//8eF8P3//0yi +SQDHhWT+//9gokkA6G/VBQCLhfD9//+NjfD9//8DSPSNhfj9//+JBCToMigHAIt7 +IIPsBItzJMdDBP///3/HQwgAAgAAx0MMAAAAADn3x0MQAAAAAIn7x4Xw/f//jMZJ +AMeFZP7//6DGSQB0Eo12AI1LEOgIev//g8NEOd518YuFgP3//8eFrP3//2wMSQCJ +eCToqZEBAItdCIsTi0r0hckPhYAHAADHBCQYAAAA6E2QBwDHAGwMSQCJw8dABAAA +AADHQAj//wAAx0AMAAAAAMdAEP//AADHQBQAAAAAxwQkEAAAAImFpP3//8eFqP3/ +/wAAAADoBpAHAIlYDIudqP3//8dABAEAAADHAGjHSQDHQAgBAAAAhduJhaj9//90 +E7j/////8A/BQwSD+AEPhDoHAACNhaz9//+JRCQEjYWk/f//x0QkCAAAAACJBCTo +XEkBAIuVrP3//41a9IH7YAxJAA+F+wgAAIuFpP3//42dkP3//4XAD4RWBAAAjXYA +iQQkidmJnXz9///oUBwFAIPsBIkcJI2NlP3//+jvigEAg+wE6JeQAQCLlZT9//++ +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 +/4PsBOki+f//jbQmAAAAAMcEJC0jSQDohEYHAKEAUUwAhcAPhb0EAACLTvyNQf+J +RvyJyIXAD4/a+P//jYXs/v//ifmJBCSJlYT9///oLm4FAIuVhP3//4PsBOm2+P// +icONhez+//+NTvSJBCSJhYT9///oJ24FAIPsBIuFlP3//41I9IuFhP3//4kEJOhd +/QQAg+wEi4WQ/f//jUj0jYWM/f//iQQk6EP9BACD7ASLjaj9//+FyXQF6CEiAwCN +jfD9///oBhkDAIuFfP3//7lwDEkAiQQk6MNtBQCD7ASJHCTouI8CAIPoBImVhP3/ +/+j4lgcAi5WE/f//6dz+//+Jw4uNqP3//4XJdAXoziEDAIuFrP3//41I9I2F7P7/ +/4kEJOjH/AQAjYWQ/f//iYV8/f//g+wE64WLjaj9//+Jw4XJdMzolSEDAOvFiQQk +6FuJBwCJHCTo0yADAOhejwcAicPrrInD6Sn///+Jw5DpO////4nDjYXs/v//iYWE +/f//6fT+//+Jw+gRiwcA6W////+LDQBRTACNQvyFyXU/i0L8jUj/iUr8hcAPj+f2 +//+Nhez+//+J2YkEJOgO/AQAg+wE6c/2//+Jw4uFrP3//41I9I2FnP3//+lB//// +6AmWBwDrw4nDjYWQ/f//iYV8/f//6cX+//+Jw42N+P3//+hJzQUAidjHhfD9//8M +okkAicPHhfT9//8AAAAAjY1k/v//x4Vk/v//sNlJAOjsDwcAjYWQ/f//iYV8/f// +6YX+///rwonD69SJw42FkP3//4mFfP3//+ls/v//icONjRT+///Hhfj9///o0EkA +6LvnBgCNjWT+///HhfD9//8MokkAx4X0/f//AAAAAMeFZP7//7DZSQDogg8HAI2F +kP3//4mFfP3//+kb/v//jY0g/v//icPoxK4FAOuiiw0AUUwAjUL8hckPhaAAAACL +SvyNQf+JQvyJyIXAD4/h+f//i4WE/f//ifmJBCTojmsFAIPsBOnJ+f//icOLhZz9 +//+NSPSNhY79//+JBCTojWsFAIPsBIuF7P7//421vP3//41I9I2FoP3//4kEJOi9 ++gQAg+wEifHoc27//+lU/f//icOLhZj9//+NSPSNhY39//+JBCToRWsFAI2F7P7/ +/4mFhP3//4PsBOkN/f//6HqUBwDpYf///4s9AFFMAI1C/IX/dWeLSvyNQf+JQvyJ +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 +JMeF3P3//wAAAADHheD9//8AAAAAx4Xk/f//AAAAAMeF6P3//wAAAADGhez9//8B +xoXw/f//AImFtP3//+h+eQcAi5W0/f//x0QkBAAAAACJBCSJhbD9//+JVCQI6B4A +AwCLnZz9//8xwItz9AH2dCSJwtHqD7YME4uVsP3//4hMAhSLlbD9///GRAIVAIPA +AjnwctyNhZj9///HRCQEAAAAAI2dwP3//4kEJOivEAEAg/gDD4QXBgAAjYWY/f// +x0QkBAAAAACNncD9//+JBCTGhfD9//8A6FM6AQCJBCSJhbz9///o1XgHAImFuP3/ +/8eFoP3//2wMSQDoMHoBAIt1CIsWi0r0hckPhaAFAADoG3oBAInGi4Wc/f//i0D0 +hcAPhTgFAACNjWD////oHQIHAMeFYP///7DZSQDHRdAAAAAAxkXUAMZF1QDHRdgA +AAAAx0XcAAAAAMdF4AAAAADHReQAAAAA6MN5AQCLlaD9//++fAxJAMeFpP3//3wM +SQCLSvSFyQ+FqwQAAMcEJAAAAACNjWD////Hhez+//8MokkAx4Vg////IKJJAMeF +8P7//wAAAADokw8HAI2d9P7//4PsBInZx4Xs/v//TKJJAMeFYP///2CiSQDoj7wF +AIuF7P7//42N7P7//wNI9IkcJOhYDwcAg+wEidnHRCQEDAAAAIk0JOgTqQUAg+wI +hcCLhez+//+Njez+//8PhPcFAAADSPTHBCQAAAAA6G0PBwCLlaT9//+D7ASNcvSB +/nAMSQAPhcwMAACLhbz9//+Njez+///Hhez+//+MxkkAx4Vg////oMZJAIlEJASL +hbj9//+JBCTo4yIFAIPsCInZx4Xs/v//TKJJAMeFYP///2CiSQDHhfT+///ozEkA +6MupBQCNjRz////okKAFAI2NEP///8eF9P7//+jQSQDoK9kGAI2NYP///8eF7P7/ +/wyiSQDHhfD+//8AAAAAx4Vg////sNlJAOjyAAcAi5Wg/f//jXL0gf5gDEkAD4U8 +CwAAjZ3A/f//jYWw/f//iQQk6PmP//+LhYT9//+LtXj9//+NBECNDIaJOYuVtP3/ +/41EFx+JQQSLtbz9///HQQj///9/iVQkDIlUJAiNfDAfBR8CAACB/gECAACLtXz9 +//8PQviLhbD9//+J8YlEJASNhfT9//+JBCTo4X///4uFvP3//4PsEInxx0QkDAAC +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 +///oae0CAOn7+v//i42E/f//icOFyQ+E6/r//+hP7QIA6eH6///ruInDjbYAAAAA +6ff6//+Jxo2d7P7//4uFXP3//4kcJI1I9OgyyAQAg+wE6c/9//+JxunI/f//jXYA +68aJw4uFcP3//41I9I2F7P7//4kEJOi1OAUAg+wE6Q3///+Jxo2NEP///8eF9P7/ +/+jQSQDoJrQGAI2NYP///8eF7P7//wyiSQDHhfD+//8AAAAAx4Vg////sNlJAOjt +2wYA6T79//+NjRz///+Jxug7ewUA666JxouFdP3//41I9I2FSf3//4kEJOhAOAUA +g+wE6Yb9//+JxouFeP3//41I9I2FmP3//4kEJOgfOAUAg+wE6Tz+//+Jw42N+P3/ +/+i6mAUAidjHhfD9//8MokkAicPHhWT+//8gokkAx4X0/f//AAAAAOkX////69mJ +w+k6/v//iQQk6OJTBwCJHCToWusCAOjlWQcAicONjRT+///Hhfj9///o0EkA6D6z +BgCNjWT+///HhfD9//8MokkAx4X0/f//AAAAAMeFZP7//7DZSQDoBdsGAOli+f// +jY0c////icboU3oFAOkl/f//idmJxuiV4gIA6Ur8//+JxouFYP3//42d7P7//4kc +JI1I9OhHNwUAg+wE6Uz+//+Jw4uF7P7//41I9I2FWP3//4kEJOh2xgQAg+wE6eb4 +//+LPQBRTACNQvyF/3VKi0L8jUj/iUr8hcAPj/zr//+Nnez+//+J8YkcJOjQNgUA +g+wE6eTr//+Jxo2d7P7//4uFZP3//4kcJI1I9OgfxgQAg+wE6bz7///oEGAHAGaQ +67aJxouFaP3//42d7P7//41I9I2FSP3//4kEJOifNgUAg+wE67qJw+lq+P//icaL +hXz9//+NSPSNhUv9//+JBCToejYFAIPsBOkz+///icaLhWD9//+Nnez+//+NSPSN +hUf9//+JBCToUzYFAIPsBOlY/f//icaLhWj9//+Nnez+//+JHCSNSPToMjYFAIPs +BOlK////icaJ+ejRlgUAifDpLvv//4s9AFFMAI1C/IX/dV+LQvyNSP+JSvyFwA+P +7vX//42F7P7//4nZiQQk6Mw1BQCD7ATp1vX//4sNAFFMAI1C/IXJdTCLQvyNSP+J +SvyFwA+Po/X//42F7P7//4nZiQQk6ObEBACD7ATpi/X//+j3XgcA66ONtCYAAAAA +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 +/429qP7//8dDDAAAAACNtSj+///zpcHqHynQiUMQjZWo/v//idjohff//4P4B3Wk +jZWo/v//jYUo/v//6C/5//+LtfT+//+JdCQEicOLhfD+//+JBCToxf7//4nZjUwN +BIl0HQSLReyLVfCLXfSLdfiLffyLbQCJzMONtgAAAABVieVXVlNSUIHsFAEAAItN +BI2d6P7//41VCInYjb1o////id7o5/n//4tFDLkgAAAA86WLfQiNlWj///+JRwyL +RRCJRxCJ+OiU9///g/gHdA2LXfSLdfiLffyJ7F3DjZVo////idjohfj//4t1tIl0 +JASJw4tFsIkEJOgh/v//idmNTA0EiXQdBItF7ItV8Itd9It1+It9/IttAInMw2aQ +VYnlV1ZTUlCB7BQBAACLTQSNVQiNhej+//+NnWj////oS/n//4tFCLkgAAAAid+J +2o216P7///Oli0gMhcl1D+hL9v//g/gHdA/ouX0AAItFCOjp9v//6+yJ2o2F6P7/ +/+jq9///i3W0iXQkBInDi0WwiQQk6Ib9//+J2Y1MDQSJdB0Ei0Xsi1Xwi130i3X4 +i338i20AiczDjbQmAAAAAFWJ5VdWU1JQgewUAQAAi0UIi1gMhdt0OotNBI2d6P7/ +/41VCInYjb1o////id7onfj//4tFCI2VaP///7kgAAAA86XoWPb//4P4B3Qj6BZ9 +AACLRQiJBCToE/3//4td9It1+It9/InsXcONtgAAAACNlWj///+J2Ogz9///i3W0 +iXQkBInDi0WwiQQk6M/8//+J2Y1MDQSJdB0Ei0Xsi1Xwi130i3X4i338i20AiczD +g+wci1QkIItCCIXAdA2JVCQExwQkAQAAAP/Qg8Qcw5BVieVXVlOB7FwBAACLTQSN +naj+//+LfQiNVQiJ2Oje9///6yKLRQyJHCSJRCQE/9eFwHUsg/4FdDeNlSj///+J +2Oh69P//jZUo////idjoPeL//4P4BYnGdMqFwHTGZpCBxFwBAAC4AwAAAFteX13D +gcRcAQAAuAUAAABbXl9dw1dWUzHbg+wQi3QkIIs+hf90GotEngSFwHQLi0D8iQQk +6Ot7AACDwwE5+3XmiXQkIIPEEFteX+nVewAAkI10JgBVieWD7BjHRCQMAAAAAMdE +JAj//wAAx0QkBAAAAADHBCQAAAAAxwVEUUwA/////+i8fgAAg+wQo0hRTADol34A +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 +dXaLUPyNcv+JcPyJ0IXAf72NReeJ+YkEJOjSTAIAV+utgz0AUUwAAHVYi1D8jXL/ +iXD8idCFwH+wjUXnifmJBCTo+tsBAFHroIM9AFFMAAB1OotQ/I1y/4lw/InQhcAP +j3f///+NReeJ+YkEJOjO2wEAVulk////g+gE6GCBBADri4PoBOhWgQQA66mD6ATo +TIEEAOvHkJCQkJCQkJCQkFWJ5VdWU4PsLItdCIXbdCCNQxSJBCToFeD9/4sDjXj0 +gf9gDEkAdRCJHCTogGUEAI1l9FteX13Dgz0AUUwAAHUfi1D8jXL/iXD8idCFwH/Y +jUXnifmJBCToQ9sBAFLryIPoBOhWdQQA6+KLC41V54nGiRQkg+kM6ETbAQBQiTQk +6Ott//+QkJCQkJCQkJCQkIXJdAyLAYtABP/gkI10JgDzw5CQkJCQkJCQkJCQkJCQ +U7j/////g+wIicvwD8FBBIP4AXQLg8QIW8ONtgAAAACLAf9QCLj/////8A/BQwiD ++AF14YsDidmLQAyDxAhb/+CQkJCQkJCQkJCQkJCQkJCD7ByJDCTHASjHSQDon2QE +AIPEHMOQkJCQkJCQkJCQkMcBKMdJAMOQkJCQkJCQkJAxwMIEAJCQkJCQkJCQkJCQ +McDDkJCQkJCQkJCQkJCQkFWJ5VdWU4PsLItZDIXbdDGLQwiNePSB/3AMSQB1K4tD +BI149IH/YAxJAHVtiwONePSB/2AMSQB1OIkcJOgfZAQAjWX0W15fXcODPQBRTAAA +dXaLUPyNcv+JcPyJ0IXAf72NReeJ+YkEJOiSSgIAUOutgz0AUUwAAHVYi1D8jXL/ +iXD8idCFwH+wjUXnifmJBCToutkBAFDroIM9AFFMAAB1OotQ/I1y/4lw/InQhcAP +j3f///+NReeJ+YkEJOiO2QEAUOlk////g+gE6CB/BADri4PoBOgWfwQA66mD6ATo +DH8EAOvHkJCQkJCQkJCQkIPsHIkMJMcBKMdJAOhfYwQAg8Qcw5CQkJCQkJCQkJCQ +xwEox0kAw5CQkJCQkJCQkDHAwgQAkJCQkJCQkJCQkJAxwMOQkJCQkJCQkJCQkJCQ +VYnlV1ZTg+wsi1kMhdt0II1DFIkEJOiF3f3/iwONePSB/2AMSQB1EIkcJOjwYgQA +jWX0W15fXcODPQBRTAAAdR+LUPyNcv+JcPyJ0IXAf9iNReeJ+YkEJOiz2AEAVuvI +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 +iwaDwwGDxwI7WPRzKItUJDiJVCQID7cEOIksJIlEJATo62f//4XAddeDxByJ2Fte +X13CDACDxBy4/////1teX13CDACQkJCQkJCQkJCQkJBVieWD7BiLRQiLAItQ9IkE +JIlUJAiLVQyJVCQE6G////+D7AzJwggAkJCQkJCQkJBWU4sRi0QkEIt0JAyLSvQ5 +yHMaD7ccQmY583QK6xRmkGY5HEJ1DIPAATnIcvO4/////1tewggAkJCQkJCQkJCQ +g+wciwGLVCQgO1D0cwmNBFCDxBzCBADHBCQ4bkkA6E3yAwCQkJCQkJCQkJCQkJCQ +iwGLUPSNBFDDkJCQkJCQkItBCMHoH8OQkJCQkJCQkJCLUQiF0g+fwMOQkJCQkJCQ +iwGLUPSNRFD+w5CQkJCQkIsBi1D0jQRQw5CQkJCQkJBTg+wYiwmLRCQoi1QkJItZ +9DnYd0MpwznTD0fahdt0HIP7AY0EQXQdiUQkBItEJCCJXCQIiQQk6FRl//+DxBiJ +2FvCDAAPtwCLVCQgZokCg8QYidhbwgwAxwQkSW5JAOiM8QMAkJCQkJCQkJCQkJCQ +iwHDkJCQkJCQkJCQkJCQkFWJ5VaJzlOD7BCLXQiJHCTom7n//4nxiRwkiUQkCItF +DIlEJAToFgAAAIPsDI1l+FteXcIIAJCQkJCQkJCQkJBVV1ZTg+wsiwmLRCRIi3wk +QItR9IXAdRi4/////zlUJEQPRkQkRIPELFteX13CDAA50HYPg8QsuP////9bXl9d +wgwAKcI7VCREcumLdCREg+gBidWJRCQYjUcCiUQkHI1eAY00WesKg8MBg8YCOcVy +ww+3F41L/4nYZjlW/nXoi0QkGIk0JIlMJBSJRCQIi0QkHIlEJATodWT//4tMJBSF +wHQEidjrwInI6Xj///+QkFWJ5YPsGItFCIsAi1D0iQQkiVQkCItVDIlUJAToL/// +/4PsDMnCCACQkJCQkJCQkFZTg+wUixmLRCQki3QkIItT9DnQcg2DxBS4/////1te +wggAKcIPt/aNBEOJVCQIiXQkBIkEJOj1ZP//hcB01ynYg8QU0fhbXsIIAJCQkJCQ +i1QkBInIixKJEcIEAJCQkIsBi0D0w5CQkJCQkJCQkJCLAcOQkJCQkJCQkJCQkJCQ +iwHDkJCQkJCQkJCQkJCQkItUJASJyIsSiRHCBACQkJCLAYtI9IXJD5TAw5CQkJCQ +iwHDkJCQkJCQkJCQkJCQkFWJ5VaJzlOD7BCLXQiJHCTou7f//4nxiRwkiUQkCItF +DIlEJAToFgAAAIPsDI1l+FteXcIIAJCQkJCQkJCQkJBVV1ZTg+wciwGLfCQ4i2wk +MItY9Dnfdg+DxBy4/////1teX13CDAAp+ztcJDQPR1wkNI00WOsMg+4ChduNQ/90 +14nDiXwkCIlsJASJNCTo3WL//4XAdeCDxByJ2FteX13CDACQkJCQkJCQkJCQkJCQ +VYnlg+wYi0UIiwCLUPSJBCSJVCQIi1UMiVQkBOhv////g+wMycIIAJCQkJCQkJCQ +U4sJuP////8Pt1wkCItR9IXSdQRbwggAjUL/OUQkDA9GRCQM6wyNUP9mOVxRAnTk +idCD+P9171vCCACQkJCQkIsBg+gMw5CQkJCQkJCQkJCLAcOQkJCQkJCQkJCQkJCQ +iwGLQPTDkJCQkJCQkJCQkItUJASJyIsSi0r0jRRKiRDCBACQkJCQkJCQkJCQkJCQ +VYnlVlOD7BCLVQiLXQyLAjtY9Hcji0UQic6JXCQEiRQkiUQkCOjGvAEAifCD7AyN +ZfhbXl3CDADHBCRtb0kA6NztAwCQkJCQkJCQkJCQkJCLAcOQkJCQkJCQkJCQkJCQ +iwGLUPSNBFDDkJCQkJCQkFWJzVdWU4PsHIsBi3wkMItY9Ik8JOjWtf//iXwkBDnY +icaJ2A9GxinziUQkCItFAIkEJOhYYf//hcAPRMODxBxbXl9dwgQAkJCQkJCQkJCQ +VlOD7BSLAYtUJCCLcPSLEonxi1r0iVQkBIkEJDnzD0bLKd6JTCQI6BRh//+FwA9E +xoPEFFtewgQAkJCQkJCQkFWJzVdWU4PsHIsRi1wkMItEJDSLcvQ583dHKd45xg9H +8ItEJDiJBCToM7X//znwiceJ8A9Gxyn+iUQkCItEJDiJRCQEi0UAjQRYiQQk6K5g +//+FwA9ExoPEHFteX13CDADHBCRcbkkA6LPsAwCQkJBXVlOD7BCLEYtEJCCLfCQk +i1wkLIty9DnwdzUpxonZOf4PR/c53g9GzineiUwkCItMJCiNBEKJBCSJTCQE6E5g +//+FwA9ExoPEEFteX8IQAMcEJFxuSQDoVOwDAJCQkJBXVlOD7BCLEYtEJCCLXCQk +i3L0OfB3OotMJCgpxjneD0fzjQRCiwmLWfSJTCQEiQQkOd6J3w9G/ineiXwkCOjt +X///hcAPRMaDxBBbXl/CDADHBCRcbkkA6PPrAwCQkJBVV1ZTg+wciwmLRCQwi2wk +NItUJDyLWfQ52HdNi3QkOIs2i370Ofp3QCnDOesPR90p1zt8JEAPR3wkQI0UVo0E +QTn7if0PRusp+4lsJAiJVCQEiQQk6HZf//+FwA9Ew4PEHFteX13CFADHBCRcbkkA +6HvrAwCQkJCQkJCQkJCQkItUJASJyIsSi0r0jRRKiRDCBACQkJCQkJCQkJCQkJCQ +g+wcixGLRCQgO0L0dwaDxBzCCACLRCQkiQQk6DDrAwCLAYtUJAiLQPQrRCQEOdAP +R8LCCACQkJCQkJCQkJCQkIsBi0D4w5CQkJCQkJCQkJC4/v//H8OQkJCQkJCQkJCQ +iwHDkJCQkJCQkJCQkJCQkIsBi1QkBI0EUMIEAJCQkJCLQQTDkJCQkJCQkJCQkJCQ +D7YBw5CQkJCQkJCQkJCQkA+2AcOQkJCQkJCQkJCQkJBTixG4AQAAAItcJAg503II +A1L0OdMPl8BbwgQAkJCQkFWJ5VaJzlOD7BCLXQiJHCTom7L//4nxiRwkiUQkCItF +DIlEJAToFgAAAIPsDI1l+FteXcIIAJCQkJCQkJCQkJBVV1ZTg+wcizGLfCQ4i2wk +MIte9IX/dQ+DxBy4/////1teX13CDACF23Ttg+sBOVwkNA9GXCQ06xCNtCYAAAAA +hduNQ/900YnDiXwkCA++BB6JLCSJRCQE6Duy//+FwHTfg8QcidhbXl9dwgwAkJCQ +VYnlg+wYi0UIiwCLUPSJBCSJVCQIi1UMiVQkBOhv////g+wMycIIAJCQkJCQkJCQ +U4sJuP////8PtlwkCItR9IXSdQRbwggAjUL/OUQkDA9GRCQM6wo6HAGNUP905onQ +g/j/dfFbwggAkJCQkJCQkFWJ5VaJzlOD7BCLXQiJHCToe7H//4nxiRwkiUQkCItF +DIlEJAToFgAAAIPsDI1l+FteXcIIAJCQkJCQkJCQkJBVuP////9XVlOD7ByLdCQ4 +i1wkNIX2dDGLOYtv9DnddiiJdCQID74EH4lEJASLRCQwiQQk6D+x//+FwHUWg8MB +Od133bj/////g8QcW15fXcIMAIPEHInYW15fXcIMAJBVieWD7BiLRQiLAItQ9IkE +JIlUJAiLVQyJVCQE6H////+D7AzJwggAkJCQkJCQkJBVieUPvkUIiUUIyemwBAAA +icjCBACQkJCQkJCQkJCQkIPsHIsRuPz//z8rQvQDRCQgO0QkJHIGg8QcwgwAi0Qk +KIkEJOin5wMAkJCQkJCQkFWJ5VaJzlOD7BCLXQiJHCToW7D//4nxiRwkiUQkCItF +DIlEJAToFgAAAIPsDI1l+FteXcIIAJCQkJCQkJCQkJBVuP////9XVlOD7ByLMYt8 +JDCLbCQ4i170hdt1CoPEHFteX13CDACD6wE5XCQ0D0ZcJDTrCYXbjUP/dCaJw4ls +JAgPvgQeiTwkiUQkBOgGsP//hcB134PEHInYW15fXcIMAIPEHLj/////W15fXcIM +AJCQkJCQkJCQkJCQkJCQkFWJ5YPsGItFCIsAi1D0iQQkiVQkCItVDIlUJAToX/// +/4PsDMnCCACQkJCQkJCQkFOLCbj/////D7ZcJAiLUfSF0nUEW8IIAI1C/zlEJAwP +RkQkDOsCidA4HAF154XAjVD/dfK4/////1vCCACQkJBVieVWic5Tg+wQi10IiRwk +6Cuv//+J8YkcJIlEJAiLRQyJRCQE6BYAAACD7AyNZfhbXl3CCACQkJCQkJCQkJCQ +VVdWU4PsHIsZi3QkNItsJDCLfCQ4i0P0OcaJRCQMcgvrLoPGATt0JAxzJYl8JAgP +vgQziSwkiUQkBOjprv//hcB134PEHInwW15fXcIMAJCDxBy4/////1teX13CDACQ +VYnlg+wYi0UIiwCLUPSJBCSJVCQIi1UMiVQkBOh/////g+wMycIIAJCQkJCQkJCQ +V1ZTixGLRCQUi3QkEIt69Dn4cxgPthwCifE4y3QH6xE4HAJ1DIPAATn4cvS4//// +/1teX8IIAJCQkJCQkJCQkIPsHIsRi0QkIDtC9HMIAdCDxBzCBADHBCTsbEkA6N7l +AwCQkJCQkJCQkJCQkJCQkIsBA0D0w5CQkJCQkJCQkJCLQQjB6B/DkJCQkJCQkJCQ +i1EIhdIPn8DDkJCQkJCQkIsBi1D0jUQQ/8OQkJCQkJCLAQNA9MOQkJCQkJCQkJCQ +U4PsGIsJi0QkKItUJCSLWfQ52HdBKcM50w9H2oXbdBsByIP7AXQdiUQkBItEJCCJ +XCQIiQQk6B2t//+DxBiJ2FvCDAAPtgCLVCQgiAKDxBiJ2FvCDADHBCT9bEkA6B7l +AwCQkJCQkJCQkJCQkJCQkIsBw5CQkJCQkJCQkJCQkJBVieVWic5Tg+wQi10IiRwk +6But//+J8YkcJIlEJAiLRQyJRCQE6BYAAACD7AyNZfhbXl3CCACQkJCQkJCQkJCQ +Vbj/////V1ZTg+wsizGLbCRIi370he11Fzl8JEQPRkQkRIPELFteX13CDACNdCYA +Of137invOXwkRHfmi0QkQA+2EItEJESNWAGNRf8B3olEJBiLRCRAidWDwAGJRCQc +6wqDwwGDxgE5x3I0iemJ2DhO/41T/3Xqi0QkGIk0JIlUJBSJRCQIi0QkHIlEJATo +fKz//4tUJBSFwHQUidjrwrj/////6Xj///+NtgAAAACJ0Olr////kJCQkJCQkJCQ +VYnlg+wYi0UIiwCLUPSJBCSJVCQIi1UMiVQkBOgf////g+wMycIIAJCQkJCQkJCQ +V1ZTu/////+D7BCLMYtEJCSLfCQgi1b0OdByC4PEEInYW15fwggAifkpwg+++QHw +iVQkCIl8JASJBCTo6Kv//4nCKfKFwA9F2oPEEInYW15fwggAkJCQkJCQkJCQkJCQ +i1QkBInIixKJEcIEAJCQkIsBi0D0w5CQkJCQkJCQkJCLAcOQkJCQkJCQkJCQkJCQ +iwHDkJCQkJCQkJCQkJCQkItUJASJyIsSiRHCBACQkJCLAYtI9IXJD5TAw5CQkJCQ +iwHDkJCQkJCQkJCQkJCQkFWJ5VaJzlOD7BCLXQiJHCToG6v//4nxiRwkiUQkCItF +DIlEJAToFgAAAIPsDI1l+FteXcIIAJCQkJCQkJCQkJBVuP////9XVlOD7ByLOYt0 +JDiLbCQwi1/0Od52CoPEHFteX13CDAAp8ztcJDQPR1wkNOsJhduNQ/90JYnDjQQf +iXQkCIlsJASJBCTowKr//4XAdeCDxByJ2FteX13CDACDxBy4/////1teX13CDACQ +VYnlg+wYi0UIiwCLUPSJBCSJVCQIi1UMiVQkBOhv////g+wMycIIAJCQkJCQkJCQ +U4sJuP////8PtlwkCItR9IXSdQRbwggAjUL/OUQkDA9GRCQM6wo4HAGNUP905onQ +g/j/dfFbwggAkJCQkJCQkIsBg+gMw5CQkJCQkJCQkJCLAcOQkJCQkJCQkJCQkJCQ +iwGLQPTDkJCQkJCQkJCQkItUJASJyIsSA1L0iRHCBABVieVWU4PsEItVCItdDIsC +O1j0dyOLRRCJzolcJASJFCSJRCQI6DYgAgCJ8IPsDI1l+FteXcIMAMcEJCFuSQDo +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 +wgQAkJCQkJCQkJCQkJCQkItRCItEJASLUgiJEItRCItSDIlQBMIEAJCQkJCQkJCQ +i1EIi0QkBItSEIkQi1EIi1IUiVAEwgQAkJCQkJCQkJCLUQiLRCQEi1JIiRCLUQiL +UkyJUASLUQiLUlCJUAiLUQiLUlSJUAyLUQiLUliJUBCLUQiLUlyJUBSLUQiLUmCJ +UBjCBACQkJCQkJCQkJCQkItRCItEJASLUhiJEItRCItSHIlQBMIEAJCQkJCQkJCQ +i1EIi0QkBIuSlAAAAIkQi1EIi5KYAAAAiVAEi1EIi5KcAAAAiVAIi1EIi5KgAAAA +iVAMi1EIi5KkAAAAiVAQi1EIi5KoAAAAiVAUi1EIi5KsAAAAiVAYi1EIi5KwAAAA +iVAci1EIi5K0AAAAiVAgi1EIi5K4AAAAiVAki1EIi5K8AAAAiVAoi1EIi5LAAAAA +iVAswgQAkJCQkJCQkJCQkFWJzVdWU4PsHMdEJAQAAAAAxwQkAAAAAOi7nf//iQQk +icboWZ3//414AYk8JOh+FgQAiXwkCInDiXQkBIkEJOjknP//i0UQxwQkAAAAAIlE +JATogZ3//4tEJDyJRCQMi0QkOIlEJAiLRCQ0iUQkBItEJDCJBCTo9Z3//4lcJASJ +xscEJAAAAADoS53//4XbdAiJHCTo5xUEAIX2dQeLRCQwxgAAg8QcW15fXcIQAIPC +AYkEJHQF6JUe///oYBkEAItRCItEJASLUiyJEItRCItSMIlQBItRCItSNIlQCItR +CItSOIlQDItRCItSPIlQEItRCItSQIlQFItRCItSRIlQGMIEAJCQkJCQkJCQkJCQ +i1EIi0QkBItSIIkQi1EIi1IkiVAEwgQAkJCQkJCQkJCLUQiLRCQEi1JkiRCLUQiL +UmiJUASLUQiLUmyJUAiLUQiLUnCJUAyLUQiLUnSJUBCLUQiLUniJUBSLUQiLUnyJ +UBiLUQiLkoAAAACJUByLUQiLkoQAAACJUCCLUQiLkogAAACJUCSLUQiLkowAAACJ +UCiLUQiLkpAAAACJUCzCBACQkJCQkJCQkJCQkJCQkJDCBACQkJCQkJCQkJCQkJCQ +i1EIi0QkBItSCIkQi1EIi1IMiVAEwgQAkJCQkJCQkJCLUQiLRCQEi1IQiRCLUQiL +UhSJUATCBACQkJCQkJCQkItRCItEJASLUkiJEItRCItSTIlQBItRCItSUIlQCItR +CItSVIlQDItRCItSWIlQEItRCItSXIlQFItRCItSYIlQGMIEAJCQkJCQkJCQkJCQ +i1EIi0QkBItSGIkQi1EIi1IciVAEwgQAkJCQkJCQkJCLUQiLRCQEi5KUAAAAiRCL +UQiLkpgAAACJUASLUQiLkpwAAACJUAiLUQiLkqAAAACJUAyLUQiLkqQAAACJUBCL +UQiLkqgAAACJUBSLUQiLkqwAAACJUBiLUQiLkrAAAACJUByLUQiLkrQAAACJUCCL +UQiLkrgAAACJUCSLUQiLkrwAAACJUCiLUQiLksAAAACJUCzCBACQkJCQkJCQkJCQ +VYnNV1ZTg+wcx0QkBAAAAADHBCQAAAAA6Jua//+JBCSJw+g5mv//jXABiTQk6F4T +BACJXCQEiceJdCQIiQQk6MSZ//+LRRDHBCQAAAAAiUQkBOhhmv//i0QkPIlEJAyL +RCQ4iUQkCItEJDSJRCQEi0QkMIkEJOjdmv//iXwkBMcEJAAAAACJw+grmv//hf90 +CIk8JOjHEgQAhdt1CYtEJDAx0maJEIPEHFteX13CEACDwgGJBCR0BehzG///6D4W +BACQkJCQkJCQkJCQkJCQkItRCItEJASLUiyJEItRCItSMIlQBItRCItSNIlQCItR +CItSOIlQDItRCItSPIlQEItRCItSQIlQFItRCItSRIlQGMIEAJCQkJCQkJCQkJCQ +i1EIi0QkBItSIIkQi1EIi1IkiVAEwgQAkJCQkJCQkJCLUQiLRCQEi1JkiRCLUQiL +UmiJUASLUQiLUmyJUAiLUQiLUnCJUAyLUQiLUnSJUBCLUQiLUniJUBSLUQiLUnyJ +UBiLUQiLkoAAAACJUByLUQiLkoQAAACJUCCLUQiLkogAAACJUCSLUQiLkowAAACJ +UCiLUQiLkpAAAACJUCzCBACQkJCQkJCQkJCQkJCQkJBVuZgNSQCJ5VdWU4PsHOit +EwAAicaLRQiLAItADI0csIsDhcB0Co1l9FteX13CBADHBCRoAAAA6LQRBACJx8dA +BAAAAACJ+ccA8NJJAMdACAAAAADHQAwAAAAAxkAQAMdAFAAAAADHQBgAAAAAx0Ac +AAAAAMdAIAAAAADGQCQAxkAlAMZAZACLRQiJBCToHhMDAItFCIPsBIl0JASJPCSL +COh6VwMAiwOD7AiNZfRbXl9dwgQAiQQk6LMTBADovhkEAIkEJOimEwQAiweJ+f9Q +BOvqicPohhUEAIkcJOh+Gf//kJCQkJCQkJCQkJCQkJBVuZwNSQCJ5VdWU4PsHOi9 +EgAAicaLRQiLAItADI0csIsDhcB0Co1l9FteX13CBADHBCSoAAAA6MQQBAAxyTHS +ZolIJonHx0AEAAAAAIn5xwAA00kAx0AIAAAAAMdADAAAAADGQBAAx0AUAAAAAMdA +GAAAAADHQBwAAAAAx0AgAAAAAGaJUCTGgKQAAAAAi0UIiQQk6AcYAwCLRQiD7ASJ +dCQEiTwkiwjog1YDAIsDg+wIjWX0W15fXcIEAIkEJOi8EgQA6McYBACJBCTorxIE +AIsHifn/UATr6onD6I8UBACJHCTohxj//5CQkJCQkJBVuYwMSQCJ5VdWU4PsHOjN +EQAAiceLRQiLAItADI00uIsGhcB0Co1l9FteX13CBADHBCREAAAA6NQPBACJw8dA +BAAAAACJ2ccAaNRJAMdACAAAAADHQAwAAAAAxkAQAMZAEQDGQBIAx0AUAAAAAMdA +GAAAAADHQBwAAAAAx0AgAAAAAMdAJAAAAADHQCgAAAAAx0AsAAAAAMZAMADGQDEA +xkAyAMZAMwDGQDQAxkA1AMZANgDGQDcAxkBDAItFCIkEJOipLAMAi0UIg+wEiXwk +BIkcJIsI6GVVAwCLBoPsCI1l9FteX13CBACJBCTonhEEAOipFwQAiQQk6JERBACL +A4nZ/1AE6+qJw+hxEwQAiRwk6GkX//+QkJCQkJCQkJBVuZAMSQCJ5VdWU4PsHOit +EAAAiceLRQiLAItADI00uIsGhcB0Co1l9FteX13CBADHBCREAAAA6LQOBACJw8dA +BAAAAACJ2ccAeNRJAMdACAAAAADHQAwAAAAAxkAQAMZAEQDGQBIAx0AUAAAAAMdA +GAAAAADHQBwAAAAAx0AgAAAAAMdAJAAAAADHQCgAAAAAx0AsAAAAAMZAMADGQDEA +xkAyAMZAMwDGQDQAxkA1AMZANgDGQDcAxkBDAItFCIkEJOiZMgMAi0UIg+wEiXwk +BIkcJIsI6EVUAwCLBoPsCI1l9FteX13CBACJBCTofhAEAOiJFgQAiQQk6HEQBACL +A4nZ/1AE6+qJw+hREgQAiRwk6EkW//+QkJCQkJCQkJBVuZQMSQCJ5VdWU4PsHOiN +DwAAiceLRQiLAItADI00uIsGhcB0Co1l9FteX13CBADHBCRUAAAA6JQNBACJw8dA +BAAAAACJ2ccAiNRJAMdACAAAAADHQAwAAAAAxkAQADHAZolDEjHAZolDFItFCMdD +GAAAAADHQxwAAAAAx0MgAAAAAMdDJAAAAADHQygAAAAAx0MsAAAAAMdDMAAAAADG +QzQAxkM1AMZDNgDGQzcAxkM4AMZDOQDGQzoAxkM7AMZDUgCJBCTohTgDAItFCIPs +BIl8JASJHCSLCOghUwMAiwaD7AiNZfRbXl9dwgQAiQQk6FoPBADoZRUEAIkEJOhN +DwQAiwOJ2f9QBOvqicPoLREEAIkcJOglFf//kJCQkJBVuZgMSQCJ5VdWU4PsHOht +DgAAiceLRQiLAItADI00uIsGhcB0Co1l9FteX13CBADHBCRUAAAA6HQMBACJw8dA +BAAAAACJ2ccAmNRJAMdACAAAAADHQAwAAAAAxkAQADHAZolDEjHAZolDFItFCMdD +GAAAAADHQxwAAAAAx0MgAAAAAMdDJAAAAADHQygAAAAAx0MsAAAAAMdDMAAAAADG +QzQAxkM1AMZDNgDGQzcAxkM4AMZDOQDGQzoAxkM7AMZDUgCJBCTohT8DAItFCIPs +BIl8JASJHCSLCOgBUgMAiwaD7AiNZfRbXl9dwgQAiQQk6DoOBADoRRQEAIkEJOgt +DgQAiwOJ2f9QBOvqicPoDRAEAIkcJOgFFP//kJCQkJCLQQTDkJCQkJCQkJCQkJCQ +iwGFwA+VwMOQkJCQkJCQkFWJ5VOD7CSLQQyLSQiLEIlMJASNTfSJBCT/UgyLRfSN +SPSD7AiB+XAMSQB1BYtd/MnDgz0AUUwAAHUhi1D8jVr/iVj8hdJ/5Y1V84kUJIlF +5Ohq8QEAUItF5OvRg8r/8A/BUPzr3pCQkJCQkJCQkJC433RJAMOQkJCQkJCQkJCQ +g8Eo6Wj///+QkJCQkJCQkIPBKOlY////kJCQkJCQkJCNQQzDkJCQkJCQkJCQkJCQ +g8E06Tj///+QkJCQkJCQkI1BDMOQkJCQkJCQkJCQkJCDwTTpGP///5CQkJCQkJCQ +i0EEw5CQkJCQkJCQkJCQkA+2AcOQkJCQkJCQkJCQkJAPtgHDkJCQkJCQkJCQkJCQ +i0EEw5CQkJCQkJCQkJCQkI1BCMOQkJCQkJCQkJCQkJCDwTDpuP7//5CQkJCQkJCQ +jUEIw5CQkJCQkJCQkJCQkIPBMOmY/v//kJCQkJCQkJCNQQTDkJCQkJCQkJCQkJCQ +g8Es6Xj+//+QkJCQkJCQkI1BBMOQkJCQkJCQkJCQkJCDwSzpWP7//5CQkJCQkJCQ +i1QkBDHAOUoEdAXCCABmkItEJAg5Ag+UwMIIAJCQkJBVieVTg+wUiwGLVQiLXQyJ +FCT/UBAxyYPsBDlTBHQJiciLXfzJwggAOQOLXfzJD5TBicjCCACQkJCQkJCQkJCQ +icqLRCQEwgQAkJCQkJCQkItBCMOQkJCQkJCQkJCQkJCLQRTDkJCQkJCQkJCQkJCQ +i0EEw5CQkJCQkJCQkJCQkItBDMOQkJCQkJCQkJCQkJCLQRjDkJCQkJCQkJCQkJCQ +i0EQw5CQkJCQkJCQkJCQkFWJ5VOJy4PsFItFCIPAHIkEJOgJagMAidiLXfyD7ATJ +wgQAkJCQkJCQkJCQkJCQkItBCMOQkJCQkJCQkJCQkJCLQRTDkJCQkJCQkJCQkJCQ +i0EEw5CQkJCQkJCQkJCQkItBDMOQkJCQkJCQkJCQkJCLQRjDkJCQkJCQkJCQkJCQ +i0EQw5CQkJCQkJCQkJCQkFWJ5VOJy4PsFItFCIPAHIkEJOh5aQMAidiLXfyD7ATJ +wgQAkJCQkJCQkJCQkJCQkLiodkkAw5CQkJCQkJCQkJBWic5Tg+wUiwmLXCQghcl0 +UjHSg34E/3QbiwuFyXRLMcCDewT/dB840A+UwIPEFFtewgQAi0EIO0EMczUPtgCJ +RgQx0uvTi0EIO0EMczoPtgCJQwQxwDjQD5TAg8QUW17CBAC6AQAAAOuvuAEAAADr +tosB/1Akg/j/dcTHBgAAAAC6AQAAAOuRiwGJVCQM/1Aki1QkDIP4/3W3uAEAAAA4 +0McDAAAAAA+UwIPEFFtewgQAkJCQkJCQkJCQkJCQkJBTicuD7AiLCYXJdCeLQwSD ++P90DIPECFvDjbQmAAAAAItBCDtBDHMSD7YAiUMEg8QIW8O4/////+vaiwH/UCSD ++P9158cDAAAAAIPECFvDkFeJz1ZTiwm7AQAAAIt0JBCFyXQJMdtmg38E/3RFiw64 +AQAAAIXJdAkxwGaDfgT/dA842A+UwFteX8IEAI10JgCLQQg7QQxzZQ+3AGaD+P90 +L2aJRgQxwDjYD5TAW15fwgQAi0EIO0EMczwPtwBmg/j/dCNmiUcEMdvropCNdCYA +uAEAAAA42McGAAAAAA+UwFteX8IEAMcHAAAAALsBAAAA6Xf///+LAf9QJOvAiwGQ +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 +VYnlU4nLg+wki0UIi00YixCJTCQQi00UiQQkiUwkDItNEIlMJAiLTQyJTCQEidn/ +UgyJ2Itd/IPsFMnCFACQkIsBVYnli0AIyf/gkJCQkJBVieWD7BiLAYtVDIlUJASL +VQiJFCT/UAiD7AjJwgwAkIsBVYnli0AQyf/gkJCQkJBVieVTicuD7BSLRRiJBCTo +7CwBAInYi138g+wEycIUADHAwggAkJCQkJCQkJCQkJDCBACQkJCQkJCQkJCQkJCQ +i0QkBIsAwgQAkJCQkJCQkInIxwFsDEkAwggAkJCQkJBVieVTicuD7CSLRQiLTRiL +EIlMJBCLTRSJBCSJTCQMi00QiUwkCItNDIlMJASJ2f9SDInYi138g+wUycIUAJCQ +iwFVieWLQAjJ/+CQkJCQkFWJ5YPsGIsBi1UMiVQkBItVCIkUJP9QCIPsCMnCDACQ +iwFVieWLQBDJ/+CQkJCQkFWJ5VOJy4PsFItFGIkEJOgcvAAAidiLXfyD7ATJwhQA +McDCCACQkJCQkJCQkJCQkMIEAJCQkJCQkJCQkJCQkJBVieVTicuD7CSNRfeJRCQE +i0UIi0AIi0AIiQQk6B8rAQCJ2Itd/IPsCMnCBACQkJBVieVTicuD7CSNRfeJRCQE +i0UIi0AIi0AUiQQk6O8qAQCJ2Itd/IPsCMnCBACQkJBVieVTicuD7CSNRfeJRCQE +i0UIi0AIi0AciQQk6L8qAQCJ2Itd/IPsCMnCBACQkJCLAYtACP/gkJCQkJCQkJCQ +iwGLQAz/4JCQkJCQkJCQkItBCA+2QCTDkJCQkJCQkJCLQQgPtkAlw5CQkJCQkJCQ +VYnlU4nLg+wUi0UIixCJBCT/UhCJ2Itd/IPsBMnCBABVieVTicuD7BSLRQiLEIkE +JP9SFInYi138g+wEycIEAFWJ5VOJy4PsFItFCIsQiQQk/1IYidiLXfyD7ATJwgQA +VYnlU4nLg+wkjUX3iUQkBItFCItACItACIkEJOjvKQEAidiLXfyD7AjJwgQAkJCQ +VYnlU4nLg+wkjUX3iUQkBItFCItACItAFIkEJOjPuQAAidiLXfyD7AjJwgQAkJCQ +VYnlU4nLg+wkjUX3iUQkBItFCItACItAHIkEJOifuQAAidiLXfyD7AjJwgQAkJCQ +iwGLQAj/4JCQkJCQkJCQkIsBi0AM/+CQkJCQkJCQkJCLQQgPt0Akw5CQkJCQkJCQ +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 +izyHg8YBiTwk6AKp/v85xonDcxWNRRCJBCSNTQjoHhr//4PsBITAdCE53g+FL/7/ +/4tFGIt94Ik46Sj+//9mkLj/////6Tb///8PtgQ3jU0IiEXk6Kca//84ReR1y41N +CIPGAejHXQIAOd5yp+u6iwGJVdz/UCSLVdyD+P8PhUX////HRQgAAAAAuP/////p +7P7//4sB/1Ao6a3+//+QkFWJ5VdWU4HsvAAAAItVDImNaP///4tFEItNFItdCImV +bP///4tVGImFdP///4mNcP///416bIk8JOiC+wIAiTwkicboOPwCAItGCIu4lAAA +AIl9iIu4mAAAAIuAnAAAAIl9jIlFkItGCIuAoAAAAIlFlItGCIuApAAAAIlFmItG +CIuAqAAAAIlFnItGCIuArAAAAIlFoItGCIuAsAAAAIlFpItGCIuAtAAAAIlFqItG +CIuAuAAAAIlFrItGCIuAvAAAAIlFsItGCIuAwAAAAIlFtItGCItAZIlFuItGCItA +aIlFvItGCItAbIlFwItGCItAcIlFxItGCItAdIlFyItGCItAeIlFzItGCItAfIlF +0ItGCIuAgAAAAIlF1ItGCIuAhAAAAIlF2ItGCIuAiAAAAIlF3ItGCIuAjAAAAIlF +4ItGCIuAkAAAAIlF5IuNcP///41FhIlEJCCNRYiLfRiJRCQUjUWAi5Vs////iUQk +EIuFdP///4lMJAyLjWj///+JfCQciRwkx0QkGAwAAACJRCQIiVQkBMdFhAAAAADo +nAwAAInDiceLRYSD7CSJ1oXAdU6LTYCLRSCJSBCF2w+EhAAAAIP6/8aFbP///wB0 +P4uddP///4XbdGcxwIO9cP////90PjqFbP///3UGi0UcgwgCjWX0ifhbifJeX13C +HACLRRyDCATrs422AAAAAItDCDtDDHM9D7YwxoVs////AOuti4V0////i1gMOVgI +cwQxwOuwicGLAP9QJIPAAXXwuAEAAADrncaFbP///wHpfP///4sDidn/UCSD+P+J +xnW4xoVs////ATH/6WD///+QkJCQkJCQkJCQkJCQkJBVieVXVlOB7IwAAACLRRiJ +TaCNWGyJHCToI/kCAIkcJDHbiUWU6Nb5AgCJxotFJIkEJOi5pf7/x0WwAAAAAIlF +pItNCIXJD4R5CgAAMdKDfQz/D4QMAQAAi00QhckPhGwKAAAxwIN9FP8PhBEBAAA4 +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 +iwSfi1UciwSCiQQk6I+M/v85xg9H8IPDATtd5HLii00Ihcl0G4tBCDtBDA+DTQEA +AIPAAolBCLv/////ZoldDINF3AE5ddwPgwP///+NRRCJBCSNTQjodf7+/4PsBITA +D4Xq/v//i0XcMdKLXeQBwIlF4OsMg+sBiwSfOdOJBnY5jTSXi00ciwaLBIGLTeAP +twQIi00IZolF5Lj/////hcl0Cg+3RQxmg/j/dHhmOUXkdcKDwgE503fHg/sBiV3k +D4ca////idqD+gEPhX/+//+NTQjoB0ECAIsHi30ci13ciUXgiwSHg8MBiQQkiUXk +6KuL/v85w4nGcxWNRRCJBCSNTQjox/3+/4PsBITAdDw58w+FOP7//4tFGIt94Ik4 +6TH+//+LQQg7QQxzRA+3AGaD+P90CmaJRQzpbv///5DHRQgAAAAA6WH///+LReSN +TQgPtzxY6DX+/v9mOcd1sI1NCIPDAeh1QAIAOfNyjOufiwGJVdj/UCSLVdjrsosB +/1Ao6a/+//+QkJCQkJCQkFWJ5VdWU4HsvAAAAItFCIt1FImNYP///4tNGIt9DImF +ZP///4tFEIm1aP///41xbIk0JImFbP///+hy3gIAiTQkicPoKN8CAItDCIuQlAAA +AIlViIuQmAAAAIuAnAAAAIlVjIlFkItDCIuAoAAAAIlFlItDCIuApAAAAIlFmItD +CIuAqAAAAIlFnItDCIuArAAAAIlFoItDCIuAsAAAAIlFpItDCIuAtAAAAIlFqItD +CIuAuAAAAIlFrItDCIuAvAAAAIlFsItDCIuAwAAAAIlFtItDCItAZIlFuItDCItA +aIlFvItDCItAbIlFwItDCItAcIlFxItDCItAdIlFyItDCItAeIlFzItDCItAfIlF +0ItDCIuAgAAAAIlF1ItDCIuAhAAAAIlF2ItDCIuAiAAAAIlF3ItDCIuAjAAAAIlF +4ItDCIuAkAAAAIlF5I1FhItNGIlEJCCNRYiLtWj///+JRCQUjUWAiUQkEIuFbP// +/4lMJByLjWD///+JdCQMiXwkBIlEJAiLhWT////HRCQYDAAAAMdFhAAAAACJBCTo +XBAAAInDZonXidCJ1omVdP///4tVhIPsJImdcP///4mdZP///4XSdVeLVYCLTSCJ +URCF27oBAAAAdAgx0maD+P90X4uNbP///7gBAAAAhcl0DDHAZoO9aP////90KjjQ +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 +iUUM6ej7//+NRbCLVRSJRCQki0UYi43s/v//x0QkHAIAAACJVCQMi1UMiUQkIItF +IMdEJBg7AAAAx0QkFAAAAACJVCQEg8AEiUQkEItFEIlEJAiLRQiJBCToAvD//4mF +QP///4PsKImVRP///4lFCA+3hUT///9miUUM6XD7//+LA419uInZiXwkCMdEJAT9 +cUkAxwQk93FJAP9QLItFIItVFIuN7P7//4PsDIlEJBiNRbCJRCQUi0UYiVQkDItV +DIl8JByJRCQQi0UQiVQkBIlEJAiLRQiJBCTokfj//4mFOP///4PsIImVPP///4lF +CA+3hTz///9miUUM6e/6//+NRbCLVRSJRCQki0UYi43s/v//x0QkHAIAAACJVCQM +i1UMiUQkIItFIMdEJBg9AAAAx0QkFAAAAACJVCQEiUQkEItFEIlEJAiLRQiJBCTo +DO///4mFMP///4PsKImVNP///4lFCA+3hTT///9miUUM6Xr6//+LA419uInZiXwk +CMdEJAQGckkAxwQk/XFJAP9QLItFIItVFIuN7P7//4PsDIlEJBiNRbCJRCQUi0UY +iVQkDItVDIl8JByJRCQQi0UQiVQkBIlEJAiLRQiJBCTom/f//4mFKP///4PsIImV +LP///4lFCA+3hSz///9miUUM6fn5//+Lhej+//+LVRSLjez+//+LQAiLQBCJVCQM +i1UMiUQkHItFIIlUJASJRCQYjUWwiUQkFItFGIlEJBCLRRCJRCQIi0UIiQQk6C73 +//+JhRj///+D7CCJlRz///+JRQgPt4Uc////ZolFDOmM+f//jU0I6HTy/v+LE4nZ +xwQkAQAAAA+3wIlEJAT/UgiD7AiEwA+EXPn//41FsItVFIlEJCCLRRiLjez+///H +RCQYDgAAAIlUJAyLVQyJRCQcjUW4iUQkEItFEMdEJBQADUkAiVQkBIlEJAiLRQiJ +BCToefH//41NCImFCP///4PsJImVDP///4lFCA+3hQz///9miUUMjUUQiQQk6B7x +/v+D7ASEwA+F4/j//4t1sIX2D4XY+P//i024hckPhc34//+NTQjotfH+/4nZicaL +A8cEJC0AAAD/UCiD7ARmOcZ0JI1NCOiV8f7/idmJxosDxwQkKwAAAP9QKIPsBGY5 +xg+Fifj//41FsItVFIlEJCSLRRiLvez+///HRCQcAgAAAIlUJAyLVQyJRCQgjUW4 +iUQkEItFEIn5x0QkGBcAAADHRCQUAAAAAIlUJASJRCQIi0UIiQQk6KTs//+J+YmV +BP///4PsKItVFIlFCImFAP///w+3hQT////HRCQcAgAAAIlUJAzHRCQYOwAAAGaJ +RQyNRbCLVQyJRCQki0UYx0QkFAAAAACJVCQEiUQkII1FuIlEJBCLRRCJRCQIi0UI +iQQk6Djs//+Jhfj+//+D7CiJlfz+//+JRQgPt4X8/v//ZolFDOmm9///jbYAAAAA +i73o/v//i0cIi1BIiVW4i1BMiVW8i0BQi1UUiUXAi0cIi0BUiUXEi0cIi0BYiUXI +i0cIi0BciUXMi0cIi0BgiVQkDItVDMdEJBgHAAAAiUXQjUWwiUQkIItFGIlEJByN +RbiJRCQUi0Ugg8AYiUQkEItFEIlEJAiLRQiJBCSLjez+//+JVCQE6HTv//+JRaCD +7CSJVaSJRQgPt0WkZolFDOn79v//i73o/v//i0cIi5CUAAAAiVW4i5CYAAAAiVW8 +i4CcAAAAiUXAi0cIi4CgAAAAiUXEi0cIi4CkAAAAiUXIi0cIi4CoAAAAiUXMi0cI +i4CsAAAAiUXQi0cIi4CwAAAAiUXUi0cIi4C0AAAAiUXYi0cIi4C4AAAAiUXci0cI +i4C8AAAAiUXgi0cIi4DAAAAAiUXkjUWwi1UUiUQkIItFGIuN7P7//8dEJBgMAAAA +iVQkDItVDIlEJByNRbiJRCQUi0UgiVQkBIPAEIlEJBCLRRCJRCQIi0UIiQQk6H7u +//+JRZCD7CSJVZSJRQgPt0WUZolFDOkF9v//kI10JgCLhej+//+LVRSLjez+//+L +QAiLQBiJVCQMi1UMiUQkHItFIIlUJASJRCQYjUWwiUQkFItFGIlEJBCLRRCJRCQI +i0UIiQQk6DXz//+JRYCD7CCJVYSJRQgPt0WEZolFDOmc9f//jUWwi1UUiUQkJItF +GIuN7P7//8dEJBwCAAAAiVQkDItVDIlEJCCLRSDHRCQYHwAAAMdEJBQBAAAAiVQk +BIPADIlEJBCLRRCJRCQIi0UIiQQk6Lbp//+JhXj///+D7CiJlXz///+JRQgPt4V8 +////ZolFDOkk9f//jXQmAI1NCOgI7v7/ixOJ2ccEJCAAAAAPt8CJRCQE/1IIg+wI +hMAPhEABAACNTQiNfbDoLTACAIt1EIl8JCSLfRjHRCQcAQAAAIuN7P7//8dEJBgJ +AAAAx0QkFAEAAACJfCQgi30giXQkCI1XDIt9FIlUJBCJfCQMi1AEiwCJVCQEiQQk +6Avp//+JhXD///+D7CiJlXT///+JRQgPt4V0////ZolFDOl59P//jUWwi1UUiUQk +JItFGIuN7P7//8dEJBwCAAAAiVQkDItVDIlEJCCNRbSJRCQQi0UQx0QkGAwAAADH +RCQUAQAAAIlUJASJRCQIi0UIiQQk6Jbo//+JhUj///+D7CiJlUz///+JRQgPt4VM +////ZolFDItFsIXAD4X+8///i0W0i30gg+gBiUcQ6e3z//+NTQjo1ez+/4sTidnH +RCQEAAAAAA+3wIkEJP9SMIPsCDwJD4W98///jU0I6P0uAgDpuPP//41FsItVFIlE +JCSLRRiLjez+///HRCQcAgAAAIlUJAyLVQyJRCQgi0Ugx0QkGB8AAADHRCQUCgAA +AIlUJASDwAyJRCQQi0UQiUQkCItFCIkEJOjS5///iYVo////g+woiZVs////iUUI +D7eFbP///2aJRQzpQPP//4sB/1Ak6Yfy//+LAYmV8P7///9QJIuV8P7//+kD8v// +iwH/UCTp1fH//5CQkJCQkFWJ5VdWU4PsLItFJIPAbIkEJOhZzQIAiUXci0UgjQTF +HgAAAIPg8OhEzv3/KcSNRRCJBCSNTQiNfCQT6ADr/v+D5/CD7ASEwA+EJgIAADH2 +x0XYAAAAAMdF3AAAAACLRdiLTQgBwIlFzI20JgAAAACFybsBAAAAdA0x22aDfQz/ +D4T6AAAAi00QuAEAAACFyXQNMcBmg30U/w+EBQEAADjYD4QkAQAAi00IuP////9m +iUXWhcl0Eg+3RQxmg/j/ZolF1g+ENwEAAIX2D4RfAQAAMcDHRdAAAAAAiXXkiX3g +6wyDRdABg8ABOUXkdkiLdeCNFIUAAAAAi30cjQwWixkDVdyLHJ+Lfdg7OnPVi33M +D7d11mY5NDt0WoNt5AGLfeSLXeCLddw5ReSLHLuJGYsMvokKd7iLdeQ7ddCLfeAP +hIYAAACLTQiFyXQbi0EIO0EMD4MgAgAAg8ACiUEIuP////9miUUMg0XYAYNFzALp +/P7//4PAAelt////jXQmAItBCDtBDA+DDAIAAA+3AGaD+P8PhK0AAABmiUUMMdvp +4v7//4tBCDtBDA+D2wEAAA+3AGaD+P8PhJoAAABmiUUUMcA42A+F3P7//4P+AQ+F +fwEAAItF3It12DswdVKLB4nCK1UgOUUgD0bCi1UYiQKLRQiLVQyNZfRbXl9dwiQA +i0EIO0EMD4M5AQAAD7cAZolF1g+3RdZmg/j/dEuF9maJRQwPhaj+//+NtCYAAAAA +i0Uoi1UMgwgEi0UIjWX0W15fXcIkAMdFCAAAAAC7AQAAAOkv/v//x0UQAAAAALgB +AAAA6Tf+///HRQgAAAAA6VX+//+NTQjohOn+/4t1IAH2iXXkD4TE/f//iX3YMdsx +9otVHInH6yOJVeCLVdyLAokMJInR/1AYi1Xgg+wEZjnHdBODwwE7XeR0HIsEmg+3 +CGY5+XXSi0XYiRywg8YBg8MBO13kdeSF9ot92A+ExgAAAI1NCOhmKwIAjQS1HgAA +AIPg8Oh3y/3/MdspxI1EJBOJReSDZeTwi0XkiXXgif6J34tdHIlF3IsEvosEg4kE +JOjqdf7/i03kiQS5g8cBO33gdeSJ94t14MdF2AEAAADpGf3//4sB/1AkZolF1unA +/v//g/4CD4XU/v//i0Xci3XYOzAPhHT+//87cAQPhb3+///pZv7//4sBjbYAAAAA +/1Aoi00I6dP9//+LAY12AP9QJOkb/v//iwGNtgAAAAD/UCTp5/3//8dF2AAAAADH +RdwAAAAA6aP8//+QkJCQkFWJ5VOD7CSLRSCLVRSLGYlEJBiLRRyJVCQMi1UMiUQk +FItFGIlUJASJRCQQi0UQiUQkCItFCIkEJP9TEItd/IPsHMnCHACQkJCQkJCQkJCQ +VYnlU4PsJItFIItVFIsZiUQkGItFHIlUJAyLVQyJRCQUi0UYiVQkBIlEJBCLRRCJ +RCQIi0UIiQQk/1MMi138g+wcycIcAJCQkJCQkJCQkJBVieVTg+wki0Ugi1UUixmJ +RCQYi0UciVQkDItVDIlEJBSLRRiJVCQEiUQkEItFEIlEJAiLRQiJBCT/UxyLXfyD +7BzJwhwAkJCQkJCQkJCQkFWJ5VdWU4PsTItFDIt9CItdHIlN0A+2dRSJRdyIRduL +RRCJfdSDwGyJBCToMMgCADtdIA+E0AAAAInHifAPvsCJRcgPvhMPtvIPtoQ3HQEA +AITAD4QXAQAAPCUPhe8AAACNQwE5RSCJRcwPhJkAAAAPvksBD7bxD76UNx0BAACE +0g+EDgEAAID6Tw+FMQEAAI1zAjl1IHRxD75LAg+22Q++hB8dAQAAhMB0dYnzi03Q +iwmLcQiJRCQUi0UYD7ZN24lUJBiJRCQQi0XIiE3ci03QiUQkDItFEIlEJAiLRdSJ +BCSLRdyJRCQE/9aD7ByJReCJVeSIVdyJRdSIVduDwwE5XSAPhTr///8PtkXbiEXc +i0XUi1XcjWX0W15fXcIcAIsHiVXMiQwkifnHRCQEAAAAAP9QIItVzIPsCITAD4Wg +AAAAD77SifMxwOle////kIB92wAPthN1pIt11ItGFDtGGA+DjQAAAIgQg0YUAeuN +iweJ+cdEJAQAAAAAiRQk/1Agg+wIhMB0x4iENx0BAADpxP7//4sHiQwkifnHRCQE +AAAAAP9QIA++0IPsCITSdCaA+k+IlDcdAQAAD4TP/v//gPpFD4TG/v//D77Ci13M +MdLp1v7//4tdzDHAMdLpyv7//4iEHx0BAAAPvtIPvsDptv7//4tN1IsBiRQk/1A0 +g+wEg/j/D5RF2+nu/v//kFWJ5VOD7CQPvkUgi1UMixmJRCQYD75FHIlUJASJRCQU +i0UYiUQkEA++RRSJRCQMi0UQiUQkCItFCIkEJP9TCItd/IPsHMnCHACQkJCQkJCQ +VYnlV1ZTgey8AAAAi0UMi10IiYVM////i0UciYVQ////i0UgiYVU////i0UQjXhs +iTwk6MjFAgCJPCSJxuj+xAIAgH4cAInCD4QCAQAAD7ZGQoC9VP///wCIhWT///8P +hMsAAAAPtoVU////xoVn////AIiFZf///w+2hVD///+IhWb///+LRRiJ0cdEJASA +AAAAiUQkDI2FZP///4lEJAiNhWj///+JBCSJhVT////ou9P+/4uFVP///4nGg+wQ +iw6DxgSNkf/+/v730SHKgeKAgICAdOmJ0cHpEPfCgIAAAA9E0Y1OAg9E8YuNTP// +/wDSg94DKcaEyYnPdRuLE4nZiXQkBIkEJP9SMIPsCDnGuAEAAAAPRfiNZfSJ+DHS +iMKJ2FteX13CHACQjXQmAA+2hVD////GhWb///8AiIVl////6T3///+NtCYAAAAA +ifGJhUj////os+T+/4sGifHHBCQlAAAA/1AYi5VI////g+wE6dn+//+QkJCQkJCQ +VYnlV1ZTg+xMD7dFFIt1DItdHIlN1GaJRdyLRQiJRdiJ8IhF34tFEIPAbIkEJOit +xAIAO10gD4QlAQAAiccPt0XciUXI6zWAfd8AD7cDdSCLTdiLURQ7URgPgy0BAABm +iQKDwgKJURRmg/j/D5RF34PDAjldIA+E5QAAAIsHifnHRCQEAAAAAA+3E4kUJP9Q +MIPsCDwlda+NQwI5RSCJRdAPhLoAAACLB8dEJAQAAAAAD7dLAokMJIn5/1Awg+wI +PE+Jwg+FrQAAAI1DBDlFIIlVzIlF0A+EhQAAAIsHx0QkBAAAAAAPt0sEiQwkifn/ +UDCLVcyLXdAPvsqD7AiIRdyLRdSDwwKLEInwikXfi1IIicYPvkXciUwkGItN1Il0 +JASJRCQUi0UYiUQkEItFyIlEJAyLRRCJRCQIi0XYiQQk/9KJ8YPsHIjROV0gic6J +ReCJVeSJRdiIVd8PhRv///+J8IpF34nGi0XYjWX0ifJbXl9dwhwAPEUPhEv///+I +RdyLXdAxyel1////i03YixGJBCT/UjSD7ATpyf7//5BVieVTg+wkD75FIItVDIsZ +iUQkGA++RRyJVCQEiUQkFItFGIlEJBAPt0UUiUQkDItFEIlEJAiLRQiJBCT/UwiL +XfyD7BzJwhwAkJCQkJCQkFWJ5VdWU4HsPAEAAItFDItVIIt1CImF0P7//4tFHImV +zP7//4mF1P7//4tFEI14bIk8JOi4wgIAiTwkicPo7sECAInZiceLA8cEJCUAAAD/ +UCiLlcz+//+D7ASE0maJheD+//8PhJ4AAABmD76F1P7//2YPvtJmiZXi/v//ZomF +5P7//zHAZomF5v7//4tFGI2d6P7//4n5x0QkBIAAAACJHCSJRCQMjYXg/v//iUQk +COhq0/7/g+wQiRwk6M9t/v+Jx4uF0P7//4TAicJ1J4sGifGJldT+//+JfCQEiRwk +/1Awi5XU/v//g+wIOce4AQAAAA9F0DHJifCNZfSI0VuJyl5fXcIcAGYPvoXU/v// +ZomF4v7//zHAZomF5P7//+lo////kJCQkJCQkJCQkJC4/HVJAMOQkJCQkJCQkJCQ +i0EQw5CQkJCQkJCQkJCQkItBFIPgAcOQkJCQkJCQkJD2QRQCD5XAw5CQkJCQkJCQ +i0Fww5CQkJCQkJCQkJCQkPZBFAUPlcDDkJCQkJCQkJBVieVWU4nLg+wQgHl1AHQQ +D7ZBdI1l+FteXcOQjXQmAItxfIX2dDOAfhwAdBMPtkY9iEN0xkN1AY1l+FteXcOQ +ifHoyeD+/4sGifHHBCQgAAAA/1AYg+wE69fokZ4CAJCLSRSFyQ+UwMOQkJCQkJCQ +i0F4w5CQkJCQkJCQkJCQkFWJ5VaLdQhTi1l8hdt0N4B7HAB0E4nwD7bwD7ZEMx2N +ZfhbXl3CBACJ2ehh4P7/iwOJ8g++8onZiXUIi0AYjWX4W15d/+DoJZ4CAJCQkJCQ +VYnlV1ZTg+wci1l8i1UIi30Mhdt0Tg+28g+2hDMdAQAAhMB0C41l9FteX13CCACQ +iwOJ+Q++0g++yYlMJASJ2YkUJP9QIIn6g+wIOMJ0EYiEMx0BAACNZfRbXl9dwggA +ifjrwei3nQIAkJCQkJCQkItBFMOQkJCQkJCQkJCQkJAxwPZBFAUPRMHDkJCQkJCQ +9kEUBQ+VwMOQkJCQkJCQkItBEMOQkJCQkJCQkJCQkJCLQRSD4AHDkJCQkJCQkJCQ +9kEUAg+VwMOQkJCQkJCQkItBcMOQkJCQkJCQkJCQkJD2QRQFD5XAw5CQkJCQkJCQ +VYnlU4nLg+wUgHl2AHQJD7dBdItd/MnDi0l8hcl0HIsBxwQkIAAAAP9QKMZDdgFm +iUN0g+wEi138ycPo8JwCAItJFIXJD5TAw5CQkJCQkJCLQXjDkJCQkJCQkJCQkJCQ +VYnlg+wIi0l8i0UIhcl0DosRD77AiUUIi0Ioyf/g6K2cAgCQkJCQkJCQkJCQkJCQ +VYnlU4PsBItJfItFCItVDIXJdBeLGQ+3wA++0olVDIlFCItDMItd/Mn/4OhwnAIA +i0EUw5CQkJCQkJCQkJCQkDHA9kEUBQ9EwcOQkJCQkJD2QRQFD5XAw5CQkJCQkJCQ +uNB0SQDDkJCQkJCQkJCQkFWJ5VdWU4PsXItFGI1YbIkcJOgpvgIAjU3aiRwkiUXA +6FvT/v/GRbgAi1Agg+wEjXg4iUXQiX28hdJ0CYtAKIXAD5VFuItF0MdF3HwMSQCA +eBAAdBLHBCQgAAAAjU3c6HzcAACD7ATHBCQgAAAAjU3gx0XgfAxJAOhj3AAAi0XQ +g+wEx0XEAAAAAMZFuwDHRbAAAAAAjXg5i0A0iX3MMf/HRbQAAAAAxkW6AIlF5A+2 +RbiD8AGIRbmLRcSAfAXkBA+HVgQAAA+2RAXk/ySFvHRJAI1FEIkEJI1NCOiA2v7/ +g+wEhMAPhWUCAACNTQjoLdv+/w+20ItFwItAGPYEUCAPhEoCAACNTQjoQh4CAGaQ +g33EA74BAAAAD4Q9AgAAi00IhckPhLYGAAAx24N9DP8PhGEEAACLTRCFyQ+EdQQA +ADHAg30U/w+E2QMAADjDD4XtAwAAifCEwA+E/QEAAItFxIPAAYP4Aw+P7gEAAIlF +xOlC////i00I6cwAAABmkItNEIXJD4TyAAAAMcCDfRT/D4QpBAAAONgPhPEAAACL +TQiFyQ+E0wYAAItFDIP4/w+EKgQAAInDD77AiUQkBItFzMdEJAgKAAAAiQQk6IZo +/v+FwA+EdgQAAIsViAxJACtFvA+2NAKLReCLUPSNWgE7WPh3B4tI/IXJfhSJHCSN +TeDo2doAAItF4IPsBItQ9InxiAwQi0XgPXwMSQAPhY0HAACDxwGLTQiFyQ+EoAQA +AItBCDtBDA+DhgcAAIPAAYlBCMdFDP////+FyQ+EfwQAADHbg30M/w+FIv///4tB +CDtBDA+DpAcAAA+2AItNEDHbiUUMhckPhQ7///+4AQAAADjYD4UV////jbYAAAAA +vgEAAACLReCLSPSFyQ+EfQQAAOmt/v//i0XQi3AghfYPhT0FAACLRdCLcCiF9g+F +dAUAAItF0ItYIIXbD4QYBQAAi0XQi1gohdsPhQoFAAC+AQAAAMZFugHpcf7//2aQ +i0UY9kANAg+F0wEAAIN9tAEPh8kBAACLRcSFwA+EvgEAAIN9xAEPhKkBAACDfcQC +vgEAAAAPhTT+//8PtkXnPAQPhJkBAACAfbgAdAg8Aw+EiwEAALgDAAAA6R/+//+Q +MfaDfcQDD4XD/f//g320AQ+XwCHwhMAPhDAFAACAfboAi0XQD4VkBQAAi0AciUXM +vgEAAACNXRCJHCSNTQjozdf+/4PsBITAdQk7dbQPgk0FAAA7dbQPhXcDAACLReCD +ePQBdj3HRCQEAAAAAI1N4McEJDAAAADo9Lf+/4PsCIXAdB+D+P8PhEUFAACJRCQE +jU3gxwQkAAAAAOhxyQAAg+wIgH26AHRdi0Xgi1D8hdJ4C41N4OhWwAAAi0XggDgw +dEOLSPyFyXgIjU3g6D/AAADHRCQMLQAAAI1N4MdEJAgBAAAAx0QkBAAAAADHBCQA +AAAA6BjEAACLReCD7BDHQPz/////i0Xci0D0hcB0Qw++RbCJ+oB9uwAPvtKNXdyJ +2Q9EwokEJOjE2gAAi3XQg+wEiVwkCItGDIlEJASLRgiJBCToaJgCAITAdQaLRRyD +CASAfbsAD4UeBAAAi00gjUXgiQQk6IbHAACD7ASNXRDpZAIAAIB9uAAPhN0DAACQ +i0XQMduLTQiLQBiFyYlFyA+E6gIAADH2g30M/w+EBQEAAItNEIXJD4QZAQAAMcCD +fRT/D4QqAQAAifI4wg+EEgEAADtdyA+F2wEAAL4BAAAA6Tn8//+LQQg7QQwPg/0D +AAAPtgCJRRQxwDjDD4QT/P//i00IhckPhD8DAACLRQyD+P8PhIcBAAAPtsABwItV +wItSGPYEAiAPhOf7//+LTQiFyQ+EZwIAAItBCDtBDA+DjwMAAIPAAYlBCMdFDP// +///pi/v//4tBCDtBDA+DqwMAAA+2AItNEDHbiUUMhckPhYv7//+4AQAAAOmN+/// +i0EIO0EMD4MjBAAAD7YAiUUUMcDpvvv//420JgAAAACLQQg7QQwPg4EDAAAPtgCJ +RQzpv/v//4tBCDtBDA+DjgMAAA+2AItNEDH2iUUMhckPhef+//+4AQAAAInyOMIP +he7+//87XcgPheAAAADp6f7//4tBCDtBDA+DkQMAAA+2AIlFFDHA6b3+//+NdCYA +i0XQOFgRD4QmAQAAi0XQgHgQAA+EJ/z//zhYEg+FHvz//4B9uwAPhRT8//+F/2aQ +D4QQAgAAi0Xcif6LUPSNWgE7WPh3B4t4/IX/fhSJHCSNTdzoONYAAItF3IPsBItQ +9InxiAwQi0XcPXwMSQAPhawDAACLTQgx/4XJD4Vg+///uwEAAADppfr//5CNdCYA +i0EIO0EMD4OZAwAAD7YAiUUM6WL+//+NTQjoIdX+/4t10ItWFDgEGg+ElwAAAIXb +dQ6LRRj2QA0CD4T9/f//kI1dEItFHIMIBIkcJI1NCOgs1P7/g+wEhMB0BotFHIMI +AotFCI1d24tVDIkcJIlF0ItF4IlV1I1I9OiiwgAAi0XcjUj0g+wEiRwk6JHCAACL +RdCLVdSD7ASNZfRbXl9dwhwAgH27AA+F0P7//4tALIXAD475+v//iX2wMf/GRbsB +6YH6//+LTQiFyXQZi0EIO0EMD4N1AgAAg8ABiUEIx0UM/////4PDAYXJD4UW/f// +vgEAAADpGP3//422AAAAALsBAAAA6Uz5//8PtnW56WL5//+NRRCJBCSNTQjoX9P+ +/4PsBITAD4Wq+v//jU0I6AzU/v+LddCLVhw4Ag+FlPr//4tF0I1NCItAIIlFtOgd +FwIA6eT8//+NRRCJBCSNTQjoGtP+/4PsBITAD4Vz+v//jU0I6MfT/v+LddCLViQ4 +Ag+FXfr//4tF0I1NCItAKIlFtOjYFgIA6WP6//+4/////7v/////6S/5//+4/gEA +AOnI/P//Mfbp+Pn//4nwhMAPhQX7///pdP7//4B95AMPhBr8//+AfeYBuAIAAAAP +han4///pBvz//4tF0I1dEDl4LA+FSv7//+nO+///i0AkiUXM6Zf6//+NtCYAAAAA +jU0I6CjT/v+LVcw4BDIPhR/+//+NTQjoRBYCAIPGAel0+v//iwH/UCiLTQjpavz/ +/4tF4ItA9IPoAemt+v//iwH/UCSD+P8Phfj7///HRRAAAAAAuAEAAADp//f//4sB +/1Akg/j/D4VK/P//x0UIAAAAALsBAAAA6cn3//+LAf9QJIP4/w+FdPz//8dFCAAA +AAC4/////7v/////6Sr4//+LAf9QJIP4/w+FZ/z//8dFCAAAAAC+AQAAAOlC+/// +x0D8AAAAAIlY9MYEGADpYPj//4sB/1Aoi00I6XP4//+LAf9QJIP4/w+FZPz//8dF +EAAAAAC4AQAAAOka+///iwH/UCSD+P8PhdL7///HRRAAAAAAuAEAAADpiff//4sB +/1Akg/j/D4VR+P//x0UIAAAAALsBAAAA6VP3//+LAf9QKItNCOmE/f//icaNXduL +RdyJHCSNSPTos78AAIPsBIk0JOio4f3/icaLReCNXduJHCSNSPTolb8AAIPsBOvP +x0D8AAAAADH/iVj0xgQYAOmh9///iwH/UCSD+P8PhVz8///HRQgAAAAAuP4BAADp +uvr//5CQkJCQkJCQkJCQkFWJ5VdWU4PsXItFGI1YbIkcJOh5swIAjU3aiRwkiUXA +6MvJ/v/GRbgAi1Agg+wEjXg4iUXQiX28hdJ0CYtAKIXAD5VFuItF0MdF3HwMSQCA +eBAAdBLHBCQgAAAAjU3c6MzRAACD7ATHBCQgAAAAjU3gx0XgfAxJAOiz0QAAi0XQ +g+wEx0XEAAAAAMZFuwDHRbAAAAAAjXg5i0A0iX3MMf/HRbQAAAAAxkW6AIlF5A+2 +RbiD8AGIRbmLRcSAfAXkBA+HVgQAAA+2RAXk/ySFqHRJAI1FEIkEJI1NCOjQz/7/ +g+wEhMAPhWUCAACNTQjofdD+/w+20ItFwItAGPYEUCAPhEoCAACNTQjokhMCAGaQ +g33EA74BAAAAD4Q9AgAAi00IhckPhOYGAAAx24N9DP8PhGEEAACLTRCFyQ+EdQQA +ADHAg30U/w+E2QMAADjYD4XtAwAAifCEwA+E/QEAAItFxIPAAYP4Aw+P7gEAAIlF +xOlC////i00I6cwAAABmkItNEIXJD4TyAAAAMcCDfRT/D4QpBAAAONgPhPEAAACL +TQiFyQ+EAwcAAItFDIP4/w+EKgQAAInDD77AiUQkBItFzMdEJAgKAAAAiQQk6NZd +/v+FwA+EdgQAAIsViAxJACtFvA+2NAKLReCLUPSNWgE7WPh3B4tI/IXJfhSJHCSN +TeDoKdAAAItF4IPsBItQ9InxiAwQi0XgPXwMSQAPhYQHAACDxwGLTQiFyQ+EoAQA +AItBCDtBDA+DfQcAAIPAAYlBCMdFDP////+FyQ+EfwQAADHbg30M/w+FIv///4tB +CDtBDA+DqQcAAA+2AItNEDHbiUUMhckPhQ7///+4AQAAADjYD4UV////jbYAAAAA +vgEAAACLReCLSPSFyQ+EjQQAAOmt/v//i0XQi3AghfYPhW0FAACLRdCLWCiF2w+F +pAUAAItF0ItIIIXJD4RIBQAAi0XQi1gohdsPhToFAAC+AQAAAMZFugHpcf7//2aQ +i0UY9kANAg+F0wEAAIN9tAEPh8kBAACLRcSFwA+EvgEAAIN9xAEPhKkBAACDfcQC +vgEAAAAPhTT+//8PtkXnPAQPhJkBAACAfbgAdAg8Aw+EiwEAALgDAAAA6R/+//+Q +MfaDfcQDD4XD/f//g320AQ+XwCHwhMAPhGAFAACAfboAi0XQD4WUBQAAi0AciUXM +vgEAAACNXRCJHCSNTQjoHc3+/4PsBITAdQk7dbQPgn0FAAA7dbQPhYcDAACLReCD +ePQBdj3HRCQEAAAAAI1N4McEJDAAAADoRK3+/4PsCIXAdB+D+P8PhH8FAACJRCQE +jU3gxwQkAAAAAOjBvgAAg+wIgH26AHRdi0Xgi1D8hdJ4C41N4OimtQAAi0XggDgw +dEOLUPyF0ngIjU3g6I+1AADHRCQMLQAAAI1N4MdEJAgBAAAAx0QkBAAAAADHBCQA +AAAA6Gi5AACLReCD7BDHQPz/////i0Xci3D0hfZ0Qw++RbCJ+oB9uwAPvtKNXdyJ +2Q9EwokEJOgU0AAAi3XQg+wEiVwkCItGDIlEJASLRgiJBCTouI0CAITAdQaLRRyD +CASAfbsAD4VOBAAAi00gjUXgiQQk6Na8AACD7ASNXRDpdAIAAIB9uAAPhA0EAACQ +i0XQMduLTQiLQBiFyYlFyA+E+AIAADH2g30M/w+EBQEAAItNEIXJD4QZAQAAMcCD +fRT/D4QqAQAAifI4wg+EEgEAADtdyA+F2wEAAL4BAAAA6Tn8//+LQQg7QQwPgzcE +AAAPtgCJRRQxwDjYD4QT/P//i00IhckPhG8DAACLRQyD+P8PhIcBAAAPtsABwItV +wItSGPYEAiAPhOf7//+LTQiFyQ+ElwIAAItBCDtBDA+DyQMAAIPAAYlBCMdFDP// +///pi/v//4tBCDtBDA+D5QMAAA+2AItNEDHbiUUMhckPhYv7//+4AQAAAOmN+/// +i0EIO0EMD4MbBAAAD7YAiUUUMcDpvvv//420JgAAAACLQQg7QQwPg0YEAAAPtgCJ +RQzpv/v//4tBCDtBDA+DUwQAAA+2AItNEDH2iUUMhckPhef+//+4AQAAAInyOMIP +he7+//87XcgPhe8AAADp6f7//4tBCDtBDA+DiAMAAA+2AIlFFDHA6b3+//+NdCYA +i0XQOFgRD4SMAQAAi0XQgHgQAA+EJ/z//zhYEg+FHvz//4B9uwAPhRT8//+F/2aQ +D4RAAgAAi0Xcif6LUPSNWgE7WPh3B4t4/IX/fhSJHCSNTdzoiMsAAItF3IPsBItQ +9InxiAwQi0XcPXwMSQAPhc8DAACLTQgx/4XJD4Vg+///uwEAAADppfr//5CNdCYA +i0EIO0EMD4PzAwAAD7YAiUUM6WL+//+LTQiFyQ+EQgIAAItFDIP4/w+EhAAAAIt1 +0ItWFDgEGg+ElgAAAIXbdQ+LRRj2QA0CD4Tu/f//ZpCNXRCLRRyDCASJHCSNTQjo +bMn+/4PsBITAdAaLRRyDCAKLRQiNXduLVQyJHCSJRdCLReCJVdSNSPTo4rcAAItF +3I1I9IPsBIkcJOjRtwAAi0XQi1XUg+wEjWX0W15fXcIcAItBCDtBDA+DCgMAAA+2 +AIt10IlFDItWFDgEGg+Fav///4tNCIXJdBmLQQg7QQwPg0ACAACDwAGJQQjHRQz/ +////g8MBhckPhQj9//++AQAAAOkK/f//gH27AA+Fav7//4tALIXAD46T+v//iX2w +Mf/GRbsB6Rv6//+QjXQmALsBAAAA6Rz5//8PtnW56TL5//+NRRCJBCSNTQjof8j+ +/4PsBITAD4V6+v//jU0I6CzJ/v+LddCLVhw4Ag+FZPr//4tF0I1NCItAIIlFtOg9 +DAIA6bT8//+NRRCJBCSNTQjoOsj+/4PsBITAD4VD+v//jU0I6OfI/v+LddCLViQ4 +Ag+FLfr//4tF0I1NCItAKIlFtOj4CwIA6TP6//+4/////7v/////6f/4//+4/gEA +AOmY/P//MfbpyPn//4nwhMAPhdX6///pVP7//4B95AMPhOr7//+AfeYBuAIAAAAP +hXn4///p1vv//4tF0I1dEDl4LA+FKv7//+me+///i0AkiUXM6Wf6//+NtCYAAAAA +jU0I6EjI/v+LVcw4BDIPhf/9//+NTQjoZAsCAIPGAelE+v//uP/////pwP3//4sB +/1Aoi00I6TD8//+LReCLQPSD6AHpc/r//4sB/1Akg/j/D4W++///x0UQAAAAALgB +AAAA6cX3//+LAf9QJIP4/w+FEPz//8dFCAAAAAC7AQAAAOmP9///x0D8AAAAAIlY +9MYEGADpafj//4sB/1Aoi00I6Xz4//+LAf9QJIP4/5APhWz8///HRRAAAAAAuAEA +AADpIvv//4sB/1Akg/j/D4Xa+///x0UQAAAAALgBAAAA6ZH3//+LAf9QKItNCOm5 +/f//iwH/UCSD+P8PhUz4///HRQgAAAAAuwEAAADpTvf//4sB/1Akg/j/D4Wv+/// +x0UIAAAAALj/////u//////pZff//4sB/1Akg/j/D4Wi+///x0UIAAAAAL4BAAAA +6X36//+Jxo1d24tF3IkcJI1I9OjItAAAg+wEiTQk6L3W/f/HQPwAAAAAMf+JWPTG +BBgA6X73//+LAf9QJIP4/w+F6/z//8dFCAAAAAC4/////+lH/P//icaLReCNXduJ +HCSNSPTodrQAAIPsBOubiwH/UCSD+P8PhQL8///HRQgAAAAAuP4BAADpYPr//5CQ +VYnlU4PsJItFJItVFIsZiUQkHItFIIlUJAyLVQyJRCQYi0UciVQkBIlEJBQPtkUY +iUQkEItFEIlEJAiLRQiJBCT/UwyLXfyD7CDJwiAAkJBVieVTg+wki0Uki1UUixmJ +RCQci0UgiVQkDItVDIlEJBiLRRyJVCQEiUQkFA+2RRiJRCQQi0UQiUQkCItFCIkE +JP9TCItd/IPsIMnCIACQkFWJ5VdWU4PsPItFHIlN1ItdGIt9JIPAbIkEJOjQpwIA +i1UUhNvHReR8DEkAi03UiVQkDItVDInGjUXkiUQkGItFIIlUJASJRCQUi0UciUQk +EItFEIlEJAiLRQiJBCQPhIwAAADo9/P//4lFCItF5IPsHIlVDItY9IXbdFnHRCQE +AAAAAIn5iRwk6JLAAACLB4PsCIlF1ItA/IXAeAyJ+ehsrQAAiweJRdSLfeQPtkYc +Afs8AXRahMB0RosGifGLVdSJXCQEiTwkiVQkCP9QHItF5IPsDI1Y9IH7cAxJAHVK +i0UIi1UMjWX0W15fXcIgAOi76P//6W////+NtgAAAACJ8ej5xv7/67GNtCYAAAAA +i0XUKfuJXCQIiXwkBIkEJOhjUv7/i0Xk66uD6AToPusCAIXAf6qNReOJ2YkEJOhN +sgAAV+uaicOLReSNSPSNReOJBCToV7IAAFaJHCToTtT9/5CQkJCQkJCQkJCQkJCQ +VYnlV1ZTg+w8i0UQi1UUjX3gi3Uci10giUQkCItFCIlUJAyLVQyAfRgAx0XgfAxJ +AIl8JBiJXCQUiXQkEIkEJIlUJAR0Ueil8v//g+wciUUIiVUM6NcoAgCJReSLRSSN +deSJXCQIiXQkDIlEJASLReCJBCToV3kCAItF4I1Y9IH7cAxJAHUXi0UIi1UMjWX0 +W15fXcIgAOik5///662D6AToWuoCAIXAf92J2Yk0JOhssQAAU+vQicOLReCNSPSN +ReSJBCTodrEAAFGJHCTobdP9/5CQkJCQkJCQkJCQkJBVieVXVlOD7FyLRRiNWGyJ +HCTo6aUCAI1N2okcJIlFxOj7vP7/xkW4AItQJIPsBI14PIlF0Il9vIXSdAmLQCyF +wA+VRbiLRdDHRdx8DEkAgHgQAHQSxwQkIAAAAI1N3OjcwwAAg+wExwQkIAAAAI1N +4MdF4HwMSQDow8MAAItF0IPsBMdFwAAAAADGRbsAx0WwAAAAAI14PotAOIl9zDH/ +x0W0AAAAAMZFuQCJReQPtkW4g/ABiEW6i0XAgHwF5AQPh6oEAAAPtkQF5P8khexy +SQCNRRCJBCSNTQjo8ML+/4PsBITAD4XlAgAAjU0I6J3D/v+LdcQPt8CLFonxiUQk +BMcEJCAAAAD/UgiD7AiEwA+EugIAAI1NCOjCBQIAZpCDfcADvgEAAAAPhK0CAACL +TQiFyQ+ErQQAAI22AAAAADHbZoN9DP8PhNQEAACLTRCFyQ+EnwQAADHAZoN9FP8P +hJwEAAA42A+FEwQAAInwhMAPhGUCAACLRcCDwAGD+AMPj1YCAACJRcDpKv///2aQ +i00I63QrRbyLFYgMSQDR+A+2NAKLReCLUPSNWgE7WPh3B4tI/IXJfhSJHCSNTeDo +fMIAAItF4IPsBItQ9InxiAwQi0XgPXwMSQAPhYgIAACDxwGLTQiFyQ+EBAEAAItB +CDtBDA+DOAgAAIPAAolBCLj/////ZolFDIXJD4ThAAAAMdtmg30M/w+EaQQAAItN +EIXJD4TZAAAAMcBmg30U/w+ELQQAADjDD4TSAAAAi00IhckPhIkEAAAPt10MZoP7 +/w+EWQQAAA+3w4lEJASLRczHRCQICgAAAIkEJOjP+/3/hcAPhRz///+LRdBmOVgS +D4QQBgAAi0XQgHgQAA+EfQAAAGY5WBR1d4B9uwB1cYX/D4TYBgAAi0Xcif6LUPSN +WgE7WPh3B4tI/IXJfhSJHCSNTdzod8EAAItF3IPsBItQ9InxiAwQi0XcPXwMSQAP +heAHAACLTQgx/4XJD4X8/v//i00QuwEAAACFyQ+FJ////7gBAAAAOMMPhS////+Q +vgEAAACLReCLQPSFwA+EfQQAAOlF/v//i0XQi3AkhfYPhb0FAACLRdCLQCyFwA+F +9QUAAItF0ItAJIXAD4SYBQAAi0XQi1gshdsPhYoFAAC+AQAAAMZFuQHpCf7//2aQ +i0UY9kANAg+FowEAAIN9tAEPh5kBAACLRcCFwA+EjgEAAIN9wAEPhHkBAACDfcAC +vgEAAAAPhcz9//8PtkXnPAQPhGkBAACAfbgAdAg8Aw+EWwEAALgDAAAA6bf9//+Q +MfaDfcADD4VT/f//g320AQ+XwCHwhMAPhZkFAACJ8ITAD4SpAwAAi0Xgg3j0AXZC +x0QkBAAAAACNTeDHBCQwAAAA6Amf/v+D7AiFwHQkg/j/dQmLReCLQPSD6AGJRCQE +jU3gxwQkAAAAAOiBsAAAg+wIgH25AHRdi0Xgi1D8hdJ4C41N4OhmpwAAi0XggDgw +dEOLQPyFwHgIjU3g6E+nAADHRCQMLQAAAI1N4MdEJAgBAAAAx0QkBAAAAADHBCQA +AAAA6CirAACLReCD7BDHQPz/////i0Xci0D0hcB0Qw++RbCJ+oB9uwAPvtKNXdyJ +2Q9EwokEJOjUwQAAi3XQg+wEiVwkCItGDIlEJASLRgiJBCToeH8CAITAdQaLRRyD +CASAfbsAD4XvBAAAi00gjUXgiQQk6JauAACD7ASNXRDplAIAAIB9uAAPhKYEAACQ +i0XQMduLTQiLQByJRchmkIXJD4QoAgAAMfZmg30M/w+E2wEAAItNEIXJD4QAAgAA +McBmg30U/w+EhAEAAInyOMIPhKkBAAA7XcgPhQACAAC+AQAAAOn9+///jbYAAAAA +i00IhckPhJgCAAAPt1UMZoP6/w+EaQIAAItNxIsBiVQkBMcEJCAAAAD/UAiD7AiE +wInDD4S0+///i00IhckPhIn7//+LQQg7QQwPg1UEAACDwAKJQQi7/////4XJZold +DA+FWfv//4tNELsBAAAAhckPhWH7//+4AQAAAOlk+///i0EIO0EMD4NLBAAAD7cA +ZoP4/3QrZolFFDHA6UT7//+LQQg7QQwPgx8EAAAPtwBmg/j/dBxmiUUMMdvpDPv/ +/8dFEAAAAAC4AQAAAOkT+///x0UIAAAAALsBAAAA6er6//+LQQg7QQwPgwwEAAAP +twBmg/j/D4S0AQAAZolFFDHA6a/7//+LQQg7QQwPg/IDAAAPtwBmg/j/D4ShAQAA +ZolFDDHb6XP7//+QjXQmAItBCDtBDA+D2QMAAA+3GGaD+/8PhIkBAABmiV0M6YX7 +//+4//8AALv/////6Xn7//+LQQg7QQwPg7gDAAAPtwBmg/j/D4R6AQAAZolFFIny +McA4wg+FXf7//422AAAAADtdyHVz6Vb+//+NtgAAAACLQQg7QQwPg4kDAAAPtwBm +g/j/D4QqAQAAi00QMfZmiUUMhckPhQb+//+NtgAAAAC4AQAAAOkD/v//jbYAAAAA +vgEAAADp2/3//422AAAAAI1NCOgYvf7/i3XQi1YYZjkEWg+EOAEAAIXbdRSLRRj2 +QA0CD4TX/f//jbQmAAAAAI1dEItFHIMIBIkcJI1NCOgcvP7/g+wEhMB0BotFHIMI +AotFCI1d24tVDIkcJIlF0ItF4IlV1I1I9OiCqQAAi0XcjUj0g+wEiRwk6HGpAACL +RdCLVdSD7ASNZfRbXl9dwhwAi0EIO0EMD4PMAgAAD7cAZoP4/3RuZolFDA+30Ol2 +/f//uv//AADpbP3//412AMdFEAAAAAC4AQAAAOn1+f//x0UIAAAAALsBAAAA6cz5 +///HRQgAAAAAuP//AADp9/n//8dFCAAAAAC+AQAAAOnR/P//x0UQAAAAALgBAAAA +6dj8///HRQgAAAAAuv//AADpA/3//4B9uwAPheb5//+LWDCF2w+OZfr//4l9sDH/ +xkW7Aekq+f//jbQmAAAAAItNCIXJdBuLQQg7QQwPg2wBAACDwAKJQQi4/////2aJ +RQyDwwHpRvz//w+2dbrpevj//41FEIkEJI1NCOjPuv7/g+wEhMAPhSr6//+NTQjo +fLv+/4t10ItWIGY5Ag+FE/r//4tF0I1NCItAJIlFtOis/QEA6Tf8//+NRRCJBCSN +TQjoibr+/4PsBITAD4Xy+f//jU0I6Da7/v+LddCLVihmOQIPhdv5//+LRdCNTQiL +QCyJRbToZv0BAOnh+f//Mfbpj/n//4B9uQCLRdB1VItAIIlFzL4BAAAAjV0QjXYA +iRwkjU0I6CW6/v+D7ASEwHUFO3W0ckk7dbQPheP9///pMvr//4B95AMPhFH7//+A +feYBuAIAAAAPhaj3///pPfv//4tAKIlFzOuqi0XQjV0QOXgwD4Wp/f//6f36//+Q +jU0I6Ii6/v+LVcxmOQRyD4WO/f//jU0I6MP8AQCDxgHpe////4sB/1Aoi00I6aT7 +//+LAf9QKItNCOnB9///iwH/UCiLTQjpjf7//4sBZpD/UCTp2Pv//4sBjbYAAAAA +/1Ak6aj7///HQPwAAAAAiVj0xgQYAOll9///iwH/UCTp7fv//4sB/1AkjbYAAAAA +6QH8//+LAf9QJInDjXQmAOka/P//iwH/UCSNtgAAAADpO/z//4sB/1AkjbYAAAAA +6Wr8///HQPwAAAAAMf+JWPTGBBgA6Qn3//+LAf9QJOkt/f//icaNXduLRdyJHCSN +SPToaaYAAIPsBIk0JOheyP3/icaLReCNXduJHCSNSPToS6YAAIPsBOvPkJCQkJCQ +VYnlV1ZTg+xci0UYjVhsiRwk6MmaAgCNTdqJHCSJRcTo+7L+/8ZFuACLUCSD7ASN +eDyJRdCJfbyF0nQJi0AshcAPlUW4i0XQx0XcfAxJAIB4EAB0EscEJCAAAACNTdzo +vLgAAIPsBMcEJCAAAACNTeDHReB8DEkA6KO4AACLRdCD7ATHRcAAAAAAxkW7AMdF +sAAAAACNeD6LQDiJfcwx/8dFtAAAAADGRbkAiUXkD7ZFuIPwAYhFuotFwIB8BeQE +D4e6BAAAD7ZEBeT/JIUAc0kAjUUQiQQkjU0I6NC3/v+D7ASEwA+F5QIAAI1NCOh9 +uP7/i3XED7fAixaJ8YlEJATHBCQgAAAA/1IIg+wIhMAPhLoCAACNTQjoovoBAGaQ +g33AA74BAAAAD4StAgAAi00IhckPhL0EAACNtgAAAAAx22aDfQz/D4TkBAAAi00Q +hckPhK8EAAAxwGaDfRT/D4SsBAAAOMMPhSMEAACJ8ITAD4RlAgAAi0XAg8ABg/gD +D49WAgAAiUXA6Sr///9mkItNCOt0K0W8ixWIDEkA0fgPtjQCi0Xgi1D0jVoBO1j4 +dweLSPyFyX4UiRwkjU3g6Fy3AACLReCD7ASLUPSJ8YgMEItF4D18DEkAD4WoCAAA +g8cBi00IhckPhAQBAACLQQg7QQwPg1YIAACDwAKJQQi4/////2aJRQyFyQ+E4QAA +ADHbZoN9DP8PhHkEAACLTRCFyQ+E2QAAADHAZoN9FP8PhD0EAAA42A+E0gAAAItN +CIXJD4SZBAAAD7ddDGaD+/8PhGkEAAAPt8OJRCQEi0XMx0QkCAoAAACJBCTor/D9 +/4XAD4Uc////i0XQZjlYEg+EIAYAAItF0IB4EAAPhH0AAABmOVgUdXeAfbsAdXGF +/w+E6AYAAItF3In+i1D0jVoBO1j4dweLSPyFyX4UiRwkjU3c6Fe2AACLRdyD7ASL +UPSJ8YgMEItF3D18DEkAD4UACAAAi00IMf+FyQ+F/P7//4tNELsBAAAAhckPhSf/ +//+4AQAAADjYD4Uv////kL4BAAAAi0Xgi0D0hcAPhI0EAADpRf7//4tF0ItwJIX2 +D4XNBQAAi0XQi3AshfYPhQUGAACLRdCLWCSF2w+EqAUAAItF0ItYLIXbD4WaBQAA +vgEAAADGRbkB6Qn+//9mkItFGPZADQIPhbMBAACDfbQBD4epAQAAi0XAhcAPhJ4B +AACDfcABD4SHAQAAg33AAr4BAAAAD4XM/f//D7ZF5zwED4R5AQAAgH24AHQIPAMP +hGsBAAC4AwAAAOm3/f//kDH2g33AAw+FU/3//4N9tAEPl8Ah8ITAD4WpBQAAifCE +wA+EuQMAAItF4IN49AF2UMdEJAQAAAAAjU3gxwQkMAAAAOjpk/7/g+wIhcB0MoP4 +/w+EGwYAAItV4ItS9DnCD0bCx0QkCAAAAACNTeCJRCQExwQkAAAAAOiztQAAg+wM +gH25AHRdi0Xgi1D8hdJ4C41N4Og4nAAAi0XggDgwdEOLSPyFyXgIjU3g6CGcAADH +RCQMLQAAAI1N4MdEJAgBAAAAx0QkBAAAAADHBCQAAAAA6PqfAACLReCD7BDHQPz/ +////i0Xci0D0hcB0Qw++RbCJ+oB9uwAPvtKNXdyJ2Q9EwokEJOimtgAAi3XQg+wE +iVwkCItGDIlEJASLRgiJBCToSnQCAITAdQaLRRyDCASAfbsAD4XxBAAAi00gjUXg +iQQk6GijAACD7ASNXRDplgIAAIB9uAAPhKgEAACNdgCLRdAx24tNCItAHIlFyGaQ +hckPhCgCAAAx9maDfQz/D4TbAQAAi00QhckPhAACAAAxwGaDfRT/D4SEAQAAifI4 +0A+EqQEAADtdyA+FAAIAAL4BAAAA6e37//+NtgAAAACLTQiFyQ+EmAIAAA+3VQxm +g/r/D4RpAgAAi03EiwGJVCQExwQkIAAAAP9QCIPsCITAicMPhKT7//+LTQiFyQ+E +efv//4tBCDtBDA+DVQQAAIPAAolBCLv/////hclmiV0MD4VJ+///i00QuwEAAACF +yQ+FUfv//7gBAAAA6VT7//+LQQg7QQwPg1sEAAAPtwBmg/j/dCtmiUUUMcDpNPv/ +/4tBCDtBDA+DLgQAAA+3AGaD+P90HGaJRQwx2+n8+v//x0UQAAAAALgBAAAA6QP7 +///HRQgAAAAAuwEAAADp2vr//4tBCDtBDA+DHAQAAA+3AGaD+P8PhLQBAABmiUUU +McDpn/v//4tBCDtBDA+DAgQAAA+3AGaD+P8PhKEBAABmiUUMMdvpY/v//5CNdCYA +i0EIO0EMD4PpAwAAD7cYZoP7/w+EiQEAAGaJXQzpdfv//7j//wAAu//////pafv/ +/4tBCDtBDA+DyAMAAA+3AGaD+P8PhHoBAABmiUUUifIxwDjQD4Vd/v//jbYAAAAA +O13IdXPpVv7//422AAAAAItBCDtBDA+DmQMAAA+3AGaD+P8PhCoBAACLTRAx9maJ +RQyFyQ+FBv7//422AAAAALgBAAAA6QP+//+NtgAAAAC+AQAAAOnb/f//jbYAAAAA +jU0I6Oix/v+LddCLVhhmOQRaD4Q4AQAAhdt1FItFGPZADQIPhNf9//+NtCYAAAAA +jV0Qi0UcgwgEiRwkjU0I6Oyw/v+D7ASEwHQGi0UcgwgCi0UIjV3bi1UMiRwkiUXQ +i0XgiVXUjUj06FKeAACLRdyNSPSD7ASJHCToQZ4AAItF0ItV1IPsBI1l9FteX13C +HACLQQg7QQwPg9wCAAAPtwBmg/j/dG5miUUMD7fQ6Xb9//+6//8AAOls/f//jXYA +x0UQAAAAALgBAAAA6eX5///HRQgAAAAAuwEAAADpvPn//8dFCAAAAAC4//8AAOnn ++f//x0UIAAAAAL4BAAAA6dH8///HRRAAAAAAuAEAAADp2Pz//8dFCAAAAAC6//8A +AOkD/f//gH27AA+F1vn//4tYMIXbD45V+v//iX2wMf/GRbsB6Rr5//+NtCYAAAAA +i00Ihcl0G4tBCDtBDA+DegEAAIPAAolBCLj/////ZolFDIPDAelG/P//D7Z1uulq ++P//jUUQiQQkjU0I6J+v/v+D7ASEwA+FGvr//41NCOhMsP7/i3XQi1YgZjkCD4UD ++v//i0XQjU0Ii0AkiUW06HzyAQDpN/z//41FEIkEJI1NCOhZr/7/g+wEhMAPheL5 +//+NTQjoBrD+/4t10ItWKGY5Ag+Fy/n//4tF0I1NCItALIlFtOg28gEA6dH5//8x +9ul/+f//gH25AItF0HVUi0AgiUXMvgEAAACNXRCNdgCJHCSNTQjo9a7+/4PsBITA +dQU7dbRySTt1tA+F4/3//+ki+v//gH3kAw+EUfv//4B95gG4AgAAAA+FmPf//+k9 ++///i0AoiUXM66qLRdCNXRA5eDAPhan9///p+/r//5CNTQjoWK/+/4tVzGY5BHIP +hY79//+NTQjok/EBAIPGAel7////iwH/UCiLTQjppPv//4tF4ItQ9I1C/+nd+f// +iwH/UCiLTQjpo/f//4sBkP9QKItNCOl+/v//iwGNdgD/UCTpyPv//4sBjbYAAAAA +/1Ak6Zj7///HQPwAAAAAiVj0xgQYAOlF9///iwH/UCTp3fv//4sB/1AkjbYAAAAA +6fH7//+LAf9QJInDjXQmAOkK/P//iwH/UCSNtgAAAADpK/z//4sB/1AkjbYAAAAA +6Vr8///HQPwAAAAAMf+JWPTGBBgA6en2//+LAf9QJOkd/f//icaNXduLRdyJHCSN +SPToKZsAAIPsBIk0JOgevf3/icaLReCNXduJHCSNSPToC5sAAIPsBOvPkJCQkJCQ +VYnlU4PsJItFJItVFIsZiUQkHItFIIlUJAyLVQyJRCQYi0UciVQkBIlEJBQPtkUY +iUQkEItFEIlEJAiLRQiJBCT/UwyLXfyD7CDJwiAAkJBVieVTg+wki0Uki1UUixmJ +RCQci0UgiVQkDItVDIlEJBiLRRyJVCQEiUQkFA+2RRiJRCQQi0UQiUQkCItFCIkE +JP9TCItd/IPsIMnCIACQkFWJ5VdWic5Tg+xMi0Uci1UYi30Ii10Mg8BsiQQkiVXI +6NuOAgCLVciJ8cdF5HwMSQCJPCSJXCQEhNKLVRSJRcyNReSJRCQYi0UgiVQkDIlE +JBSLRRyJRCQQi0UQiUQkCA+EjAAAAOi18///iUXQicdmMduJVdQPt0XUg+wcCcOL +ReSLcPSF9nRQi00kx0QkBAAAAACJNCTo5DYAAItFJIPsCIsAi1D8hdJ4DYtNJOgd +IwAAi0UkiwCLVcyLTeSLEgHOiQwki03MiUQkCIl0JAT/UiyLReSD7AyNcPSB/nAM +SQB1GI1l9In4idpbXl9dwiAA6Ano///pb////4M9AFFMAAB1H4tQ/I1K/4lI/InQ +hcB/0I1F44nxiQQk6B+ZAABQ68CD6AToFNECAI10JgDr3onDi0XkjUj0jUXjiQQk +6BuZAABQiRwk6BK7/f+QkFWJ5VdWU4PsTIt9II114ItFCItdDItVHIl0JBiLdRCJ +fCQUi30UgH0YAMdF4HwMSQCJVCQQiXQkCIl8JAyJBCSJXCQEdF3ohfL//4nGZjHb +iUXQg+wciVXUD7dF1AnD6JwPAgCJReSNReSJRCQMi0UgiUQkCItFJIlEJASLReCJ +BCToGWACAItF4I1I9IH5cAxJAHUVjWX0ifCJ2lteX13CIADoCOf//+uhgz0AUUwA +AHUdi1D8jXr/iXj8idCFwH/TjUXkiQQk6COYAABX68WD6ASJTczoFdACAItNzOve +icOLReCNSPSNReSJBCToHZgAAFGJHCToFLr9/5CQkJBVieVTg+wki0Uci1UMixmJ +RCQUD75FGIlUJASJRCQQi0UUiUQkDA+2RRCJRCQIi0UIiQQk/1MMi138g+wYycIY +AJCQkJCQkJCQkJCQkJCQkFWJ5VOD7CQPvkUYi1UMixnbbRyJRCQQi0UU23wkFIlU +JASJRCQMD7ZFEIlEJAiLRQiJBCT/UwiLXfyD7CDJwiAAkJCQkJCQkJCQkJCQkJCQ +VYnlVlOD7CCLdRyLXRiLRQiLVQyJdCQQi3UUgH0QAA++24lcJAyJBCSJdCQIiVQk +BHUR6OgBAACD7BSNZfhbXl3CGADohwgAAIPsFI1l+FteXcIYAJCQkJCQkJCQkJCQ +VYnlV1ZTg+xci0UQiU3MjU3giUXIi0UYiUXEi0UUg8BsiQQk6JcRAgCNReCD7ASJ +BCToGYsCAIlF1LhgEwAA6GyM/f8pxI1cJC+D4/Dorg0CANttHMdEJBAAAAAAjXXk +23wkFMdEJAykc0kAx0QkCAAAAACJXCQEiTQkiUXk6P1gAgCJx4nxjUXfiUQkCMdE +JAQAAAAAiTwk6DKuAACLReSD7AyJRdCLQPyFwHgNifHou5AAAItF5IlF0ItF1AHf +D7ZAHDwBD4SUAAAAhMAPhHwAAACLTdSLVdCLAYlUJAiJfCQEiRwk/1Acg+wMD75F +xItVDIB9yACJdCQQi03MiUQkDItFFIlUJASJRCQIi0UIiQQkdDDoVQcAAInGi0Xk +g+wUideNWPSB+3AMSQB1So1N4OhoEQIAjWX0ifBbifpeX13CIADodQAAAOvOjXYA +i03U6Aiq/v/pd////412AItF0CnfiXwkCIlcJASJBCToczX+/+lz////g+gE6E7O +AgCFwH+qjUXfidmJBCToXZUAAFDrmonDi0XkjUj0jUXfiQQk6GeVAABWjU3g6O4Q +AgCJHCToVrf9/4nD6+yQkFWJ5VdWU4PsbItFCIlFzItFDInHiUXQi0UUiUW4iEW8 +ifiIRcuLRRCNeGyJPCToXYkCALmMDEkAiUXA6HCw/v+JxotFEItAbItADI0EsIlF +xIsAhcCJRdQPhKIEAACLRRiLMItF1A+2QDg4Bg+EsAMAAItN1ItBMIt5HIlF5ItB +IItO9Il9tIlFxAHxOc4Pg8QCAACLRcCLUBgPtgb2BEIID4SxAgAAifONtCYAAAAA +g8MBOcsPhcUCAAAp84Xbid8PhJECAACNBBuJBCSNTdzHRdx8DEkA6FSnAACLTdSJ +2oPsBItBLCnChdKJVcAPjt8AAACLSQyFwA9J+ol9wIXJD4RZAwAAifgBwIlEJAiL +RdyNTdzHRCQMAAAAAItA9McEJAAAAACJRCQE6ICSAACJ+IPsEAHwiUWwi0XUi1AM +D754EolVrItQCItF3IlVqItQ/IXSeAuNTdzoUY4AAItF3ItVsIl8JASJdCQQiQQk +iVQkFItVrIlUJAyLVaiJVCQI6ElXAgCLfdyJRbCLR/yFwHgLjU3c6BSOAACLfdyL +V/SLRbCJ0Sn4KcE50A+HrwQAAIlMJASNTdzHRCQIAAAAAIkEJOhGpwAAi0XUg+wM +i0AshcB+O4tF1I1N3A++QBGJBCTop6gAAItFwIPsBIXAD4jPAgAAi0XUjU3cA3XA +i0AsiTQkiUQkBOhhlwAAg+wIi0UQMfaLVdyLfcSLQAwDevSJwYn6geGwAAAA9sQC +iU2wD4UXAgAAAdaNBDaJBCSNTeDHReB8DEkA6OClAACLRRCD7AS7AQAAAIt4CDn+ +D5JFwIN9sBAPlMAgRcAPvkW8iUW8ifgp8InGjUXjAdiAOAQPh4gBAAAPtgD/JIWQ +c0kAg33EAXYei0XEjU3gg+gBiUQkBItFtIPAAYkEJOi8lgAAg+wIi0Xgi1D0OdcP +hjMCAACDfbAgD75FuA+EvQEAAIlEJAyJ+CnQiUQkCI1N4MdEJAQAAAAAxwQkAAAA +AOi6kAAAi0Xgg+wQgH3LAHUdi03MixGJfCQEiQQk/1Iwg+wIOceLReAPhb8CAACN +WPSB+3AMSQAPhYsCAACLRdyNWPSB+3AMSQB0HIPoBOjMygIAhcB/EI1F24nZiQQk +6NuRAACD7ASLRRDHQAgAAAAAD7ZFy4hF0ItFzItV0I1l9FteX13CFACNtCYAAAAA +D7YD9gRCCA+FI/3//+kp/f//i0XEhcAPhRMBAACD+wR1eOkQ////i0UQ9kANAnRh +i1XUjU3gi0IYiUQkBItCFIkEJOiolQAA6yKNtgAAAACAfcAAi0W8D4SjAAAAiUQk +BI1N4Ik0JOgEmAAAg+wI6yCAfcAAdBqLRbzr4Y10JgCNRdyJBCSNTeDocpYAAIPs +BIP7BA+Eef7//4PDAelZ/v//i33Ui070i0c0i1ckhcmJReSLRyiJVbSJRcQPhBb/ +//+DxgHpQPz//422AAAAAItF1ItwGOne/f//kI10JgCLRcCNTdyJNCSJRCQE6K6Y +AACLRdSD7AiLQCzpU/3//4kEJI1N4OgFpgAA64GNdgCJRCQEifgp0IkEJI1N4OhN +lwAAg+wIi0Xg6U7+//9mkItFtI1N4A++AIkEJOjPpQAA6Uj///+LRdSNTdwPvkA5 +iUQkBItFwPfYiQQk6A+XAACD7AiJXCQEjU3ciTQk6H2UAADpF/3//4nX6f39//+Q +xwQkRAAAAOjUqQIAx0AEAAAAAInBicPHAGjUSQDHQAgAAAAAx0AMAAAAAMZAEADG +QBEAxkASAMdAFAAAAADHQBgAAAAAx0AcAAAAAMdAIAAAAADHQCQAAAAAx0AoAAAA +AMdALAAAAADGQDAAxkAxAMZAMgDGQDMAxkA0AMZANQDGQDYAxkA3AMZAQwCJPCTo +rMYBAItFEIPsBItIbIl0JASJHCToZ+8BAItFxIsAg+wIiUXU6aX6//+D6AToT8gC +AIXAD49l/f//jUXbidmJBCToWo8AAIPsBOlQ/f//xkXLAek4/f//i33cjV3bjU/0 +iRwkiUXU6FWPAACLRdSD7ASJBCToR7H9/+vcicaLReCNXduJHCSNSPToMo8AAInw +i33cg+wE68WJBCToMKsCAIsDidn/UAToNLECAIkEJOgcqwIA6/Hrn4nDjbYAAAAA +6PusAgCJHCTo87D9/+uIkOuFxwQkaHNJAOjiZgIA6XT///+NXdvpcv///5CNdCYA +6WL////pXf///422AAAAAOlS////jXQmAI28JwAAAADpQv///5CQkJCQkJCQkJCQ +VYnlV1ZTg+xsi0UIiUXMi0UMiceJRdCLRRSJRbiIRbyJ+IhFy4tFEI14bIk8JOit +ggIAuZAMSQCJRcDowKn+/4nGi0UQi0Bsi0AMjQSwiUXEiwCFwIlF1A+EogQAAItF +GIswi0XUD7ZAODgGD4SwAwAAi03Ui0Ewi3kciUXki0Egi070iX20iUXEAfE5zg+D +xAIAAItFwItQGA+2BvYEQggPhLECAACJ8420JgAAAACDwwE5yw+FxQIAACnzhduJ +3w+EkQIAAI0EG4kEJI1N3MdF3HwMSQDopKAAAItN1Inag+wEi0EsKcKF0olVwA+O +3wAAAItJDIXAD0n6iX3AhckPhFkDAACJ+AHAiUQkCItF3I1N3MdEJAwAAAAAi0D0 +xwQkAAAAAIlEJATo0IsAAIn4g+wQAfCJRbCLRdSLUAwPvngSiVWsi1AIi0XciVWo +i1D8hdJ4C41N3OihhwAAi0Xci1WwiXwkBIl0JBCJBCSJVCQUi1WsiVQkDItVqIlU +JAjomVACAIt93IlFsItH/IXAeAuNTdzoZIcAAIt93ItX9ItFsInRKfgpwTnQD4ev +BAAAiUwkBI1N3MdEJAgAAAAAiQQk6JagAACLRdSD7AyLQCyFwH47i0XUjU3cD75A +EYkEJOj3oQAAi0XAg+wEhcAPiM8CAACLRdSNTdwDdcCLQCyJNCSJRCQE6LGQAACD +7AiLRRAx9otV3It9xItADAN69InBifqB4bAAAAD2xAKJTbAPhRcCAAAB1o0ENokE +JI1N4MdF4HwMSQDoMJ8AAItFEIPsBLsBAAAAi3gIOf4PkkXAg32wEA+UwCBFwA++ +RbyJRbyJ+CnwicaNReMB2IA4BA+HiAEAAA+2AP8khXxzSQCDfcQBdh6LRcSNTeCD +6AGJRCQEi0W0g8ABiQQk6AyQAACD7AiLReCLUPQ51w+GMwIAAIN9sCAPvkW4D4S9 +AQAAiUQkDIn4KdCJRCQIjU3gx0QkBAAAAADHBCQAAAAA6AqKAACLReCD7BCAfcsA +dR2LTcyLEYl8JASJBCT/UjCD7Ag5x4tF4A+FvwIAAI1Y9IH7cAxJAA+FiwIAAItF +3I1Y9IH7cAxJAHQcg+gE6BzEAgCFwH8QjUXbidmJBCToK4sAAIPsBItFEMdACAAA +AAAPtkXLiEXQi0XMi1XQjWX0W15fXcIUAI20JgAAAAAPtgP2BEIID4Uj/f//6Sn9 +//+LRcSFwA+FEwEAAIP7BHV46RD///+LRRD2QA0CdGGLVdSNTeCLQhiJRCQEi0IU +iQQk6PiOAADrIo22AAAAAIB9wACLRbwPhKMAAACJRCQEjU3giTQk6FSRAACD7Ajr +IIB9wAB0GotFvOvhjXQmAI1F3IkEJI1N4OjCjwAAg+wEg/sED4R5/v//g8MB6Vn+ +//+LfdSLTvSLRzSLVySFyYlF5ItHKIlVtIlFxA+EFv///4PGAelA/P//jbYAAAAA +i0XUi3AY6d79//+QjXQmAItFwI1N3Ik0JIlEJATo/pEAAItF1IPsCItALOlT/f// +iQQkjU3g6FWfAADrgY12AIlEJASJ+CnQiQQkjU3g6J2QAACD7AiLReDpTv7//2aQ +i0W0jU3gD74AiQQk6B+fAADpSP///4tF1I1N3A++QDmJRCQEi0XA99iJBCToX5AA +AIPsCIlcJASNTdyJNCTozY0AAOkX/f//idfp/f3//5DHBCREAAAA6CSjAgDHQAQA +AAAAicGJw8cAeNRJAMdACAAAAADHQAwAAAAAxkAQAMZAEQDGQBIAx0AUAAAAAMdA +GAAAAADHQBwAAAAAx0AgAAAAAMdAJAAAAADHQCgAAAAAx0AsAAAAAMZAMADGQDEA +xkAyAMZAMwDGQDQAxkA1AMZANgDGQDcAxkBDAIk8JOgMxwEAi0UQg+wEi0hsiXQk +BIkcJOi36AEAi0XEiwCD7AiJRdTppfr//4PoBOifwQIAhcAPj2X9//+NRduJ2YkE +JOiqiAAAg+wE6VD9///GRcsB6Tj9//+LfdyNXduNT/SJHCSJRdTopYgAAItF1IPs +BIkEJOiXqv3/69yJxotF4I1d24kcJI1I9OiCiAAAifCLfdyD7ATrxYkEJOiApAIA +iwOJ2f9QBOiEqgIAiQQk6GykAgDr8euficONtgAAAADoS6YCAIkcJOhDqv3/64iQ +64XHBCRoc0kA6DJgAgDpdP///41d2+ly////kI10JgDpYv///+ld////jbYAAAAA +6VL///+NdCYAjbwnAAAAAOlC////kJCQkJCQkJCQkJBVieVTg+wki0Uci1UMixmJ +RCQUD7dFGIlUJASJRCQQi0UUiUQkDA+2RRCJRCQIi0UIiQQk/1MMi138g+wYycIY +AJCQkJCQkJCQkJCQkJCQkFWJ5VOD7CQPt0UYi1UMixnbbRyJRCQQi0UU23wkFIlU +JASJRCQMD7ZFEIlEJAiLRQiJBCT/UwiLXfyD7CDJwiAAkJCQkJCQkJCQkJCQkJCQ +VYnlVlOD7CCLdRyLXRiLRQiLVQyJdCQQi3UUgH0QAA+324lcJAyJBCSJdCQIiVQk +BHUR6LgBAACD7BSNZfhbXl3CGADopwgAAIPsFI1l+FteXcIYAJCQkJCQkJCQkJCQ +VYnlV1ZTg+xMi0UQiU3QjU3giUXMi0UYiUXIi0UUg8BsiQQk6HcBAgCNReCD7ASJ +BCToWXsCAIlF1LhgEwAA6Ex8/f8pxI1cJC+D4/Dojv0BANttHMdEJBAAAAAAjXXk +23wkFMdEJAzocUkAx0QkCAAAAACJXCQEiTQkiUXk6N1QAgCJx4nxjUXfiUQkCMdE +JAQAAAAAiTwk6EIuAACLReSD7AyLUPyF0ngKifHorg8AAItF5ItN1AHfixGJRCQI +iXwkBIkcJP9SLA+3RciD7AyLVQyAfcwAiXQkEItN0IlEJAyLRRSJVCQEiUQkCItF +CIkEJHQw6JUHAACJxotF5IPsFInXjVj0gftgDEkAdR2NTeDoaAECAI1l9InwW4n6 +Xl9dwiAA6GUAAADrzoM9AFFMAAB1H4tQ/I1K/4lI/InQhcB/y41F34nZiQQk6M4U +AABQ67uD6AToc70CAI12AOvficOLReSNSPSNRd+JBCToyxQAAFCNTeDoAgECAIkc +JOhqp/3/icPr7JCQkJCQkFWJ5VdWU4PsbItFCItNFIlF0ItFDIlNvGaJTcyJRdSI +Rc+LRRCDwGyJBCSJRcjozXkCALmUDEkAicfogaD+/4nGi0UQi0Bsi0AMjQSwixiJ +RcSF2w+E1gQAAItFGIswD7dDPGY5Bg+ExgMAAItDNIlF5ItDIIlFwItDJIlFyItG +9IsXjQRGifmJRCQIiXQkBMcEJAgAAAD/UhQp8IPsDNH4iUXEdSGLRRDHQAgAAAAA +D7ZFz4hF1ItF0ItV1I1l9FteX13CFACJxwHAiQQkjU3cx0XcbAxJAOiDJwAAi0Mw +ifmD7AQpx4X/ifqJfbgPjtUAAACLewyFwA9I0YlVuIX/D4RZAwAAi0XcjTwSx0Qk +DAAAAACNTdyJfCQIi0D0xwQkAAAAAIlEJATo0REAAI0EPoPsEA+3exSJRbSLQwyJ +RbCLQwiJRayLRdyLSPyFyXgLjU3c6HYNAACLRdyLVbSJfCQEiXQkEIkEJIlUJBSL +VbCJVCQMi1WsiVQkCOjOSAIAiceLRdyLUPyF0ngLjU3c6DoNAACLRdwpx4tA9NH/ +icIp+jnHD4fwBAAAx0QkCAAAAACNTdyJVCQEiTwk6H0nAACLQzCD7AyFwH5kD7dD +EmaJRbSLRdyLUPSNegE7ePgPhvkCAACJPCSNTdzobiYAAItF3IPsBItQ9A+3TbQ9 +bAxJAGaJDFAPhXkEAACLfbiF/w+I1wMAAItDMI1N3IlEJASNBH6JBCTo0hYAAIPs +CItFEDH/i03Ii0AMicKB4rAAAACJVbiLVdwDSvT2xAKJyg+F/AEAAI0EOonGAcCJ +BCSNTeDHReBsDEkA6O8lAACLRRCD7ASJ8Yt4CDn+vgEAAAAPkkXEg324EA+UwCBF +xA+3RcyJRbSJ+CnIiUWwjUXjAfCAOAQPh3QBAAAPtgD/JIXUcUkAi0XIhcAPhU4C +AACD/gQPhV8BAADrd412AItFEPZADQIPhEQBAACLQxyNTeCJRCQEi0MYiQQk6A4W +AADrH4B9xAAPhIIBAACLRbSNTeCJRCQEi0WwiQQk6I0YAACD7AiD/gQPhQsBAACQ +g33IAXYei0XIjU3gg+gBiUQkBItFwIPAAokEJOi/FQAAg+wIi0Xgi1D0OdcPhtQB +AACDfbggD7dFvA+EkAEAAIlEJAyJ+CnQiUQkCI1N4MdEJAQAAAAAxwQkAAAAAOh9 +DwAAi0Xgg+wQgH3PAHUfi13QixOJ2Yl8JASJBCT/UjCD7Ag5xw+FqgIAAItF4I1Y +9IH7YAxJAA+FZQIAAItF3I1Y9IH7YAxJAA+E1/z//4M9AFFMAAAPhYICAACLUPyN +Sv+JSPyJ0IXAD4+3/P//jUXbidmJBCTolBAAAFDppPz//4B9xAB0Genx/v//jXYA +jUXciQQkjU3g6PIVAACD7ASD/gQPhPb+//+DxgHpbf7//4tDOI1WAolF5ItDKIlF +wItDLIlFyItG9IXAD0Xy6S38//+Lexzp/P3//410JgCLRbiNTdyJNCSJRCQE6F4Y +AACD7AiLQzDpTP3//412AItF4ItQ9I1KATtI+IlNrHcHi0j8hcl+F4tFrI1N4IkE +JOi6IwAAi0Xgg+wEi1D0D7dNzD1sDEkAZokMUA+EX////4tVrMdA/AAAAACJUPRm +xwRQAADpR////422AAAAAItI/IXJD4/8/P//6Qv9//+JRCQEifgp0IkEJI1N4Oid +FgAAg+wIi0Xg6Xv+//9mkItFwI1N4A+3AIkEJOiPJQAA6fj+//+J1+lc/v//jXYA +xwQkVAAAAOi0mQIAicPHQAQAAAAAidnHAIjUSQDHQAgAAAAAx0AMAAAAAMZAEAAx +wGaJQxIxwGaJQxSLRcjHQxgAAAAAx0McAAAAAMdDIAAAAADHQyQAAAAAx0MoAAAA +AMdDLAAAAADHQzAAAAAAxkM0AMZDNQDGQzYAxkM3AMZDOADGQzkAxkM6AMZDOwDG +Q1IAiQQk6KXEAQCLRRCD7ASLSGyJHCSJdCQE6EDfAQCLRcSLGIPsCOlt+v//jXYA +D7dDPo1N3IlEJASLRbj32IkEJOiYFQAAi0XEg+wIiTQkjU3ciUQkBOjjEgAA6Qz8 +//+DPQBRTAAAD4W8AAAAi1D8jUr/iUj8idCFwA+Pe/3//41F24nZiQQk6EEOAABQ +6Wj9///GRc8B6U39//+D6ATo2rYCAOl8/f//iQQk6P2aAgDoCKECAInD6OGcAgCJ +HCTo2aD9/8dA/AAAAACJePRmxwR4AADpcvv//8cEJKxxSQDouFYCAInGjV3bi0Xc +iRwkjUj06PUNAABQiTQk6Jyg/f+JBCTopJoCAIsDidn/UATrnonGi0XgjV3biRwk +jUj06MgNAABQ68KD6AToTbYCAOlC////kJCQkJCQkJBVieVXVlOD7GyLRQiLTRSJ +RdCLRQyJTbxmiU3MiUXUiEXPi0UQg8BsiQQkiUXI6M1yAgC5mAxJAInH6IGZ/v+J +xotFEItAbItADI0EsIsYiUXEhdsPhNYEAACLRRiLMA+3QzxmOQYPhMYDAACLQzSJ +ReSLQyCJRcCLQySJRciLRvSLF40ERon5iUQkCIl0JATHBCQIAAAA/1IUKfCD7AzR ++IlFxHUhi0UQx0AIAAAAAA+2Rc+IRdSLRdCLVdSNZfRbXl9dwhQAiccBwIkEJI1N +3MdF3GwMSQDogyAAAItDMIn5g+wEKceF/4n6iX24D47VAAAAi3sMhcAPSNGJVbiF +/w+EWQMAAItF3I08EsdEJAwAAAAAjU3ciXwkCItA9McEJAAAAACJRCQE6NEKAACN +BD6D7BAPt3sUiUW0i0MMiUWwi0MIiUWsi0Xci0j8hcl4C41N3Oh2BgAAi0Xci1W0 +iXwkBIl0JBCJBCSJVCQUi1WwiVQkDItVrIlUJAjozkECAInHi0Xci1D8hdJ4C41N +3Og6BgAAi0XcKceLQPTR/4nCKfo5xw+H8AQAAMdEJAgAAAAAjU3ciVQkBIk8JOh9 +IAAAi0Mwg+wMhcB+ZA+3QxJmiUW0i0Xci1D0jXoBO3j4D4b5AgAAiTwkjU3c6G4f +AACLRdyD7ASLUPQPt020PWwMSQBmiQxQD4V5BAAAi324hf8PiNcDAACLQzCNTdyJ +RCQEjQR+iQQk6NIPAACD7AiLRRAx/4tNyItADInCgeKwAAAAiVW4i1XcA0r09sQC +icoPhfwBAACNBDqJxgHAiQQkjU3gx0XgbAxJAOjvHgAAi0UQg+wEifGLeAg5/r4B +AAAAD5JFxIN9uBAPlMAgRcQPt0XMiUW0ifgpyIlFsI1F4wHwgDgED4d0AQAAD7YA +/ySFwHFJAItFyIXAD4VOAgAAg/4ED4VfAQAA63eNdgCLRRD2QA0CD4REAQAAi0Mc +jU3giUQkBItDGIkEJOgODwAA6x+AfcQAD4SCAQAAi0W0jU3giUQkBItFsIkEJOiN +EQAAg+wIg/4ED4ULAQAAkIN9yAF2HotFyI1N4IPoAYlEJASLRcCDwAKJBCTovw4A +AIPsCItF4ItQ9DnXD4bUAQAAg324IA+3RbwPhJABAACJRCQMifgp0IlEJAiNTeDH +RCQEAAAAAMcEJAAAAADofQgAAItF4IPsEIB9zwB1H4td0IsTidmJfCQEiQQk/1Iw +g+wIOccPhaoCAACLReCNWPSB+2AMSQAPhWUCAACLRdyNWPSB+2AMSQAPhNf8//+D +PQBRTAAAD4WCAgAAi1D8jUr/iUj8idCFwA+Pt/z//41F24nZiQQk6JQJAABQ6aT8 +//+AfcQAdBnp8f7//412AI1F3IkEJI1N4OjyDgAAg+wEg/4ED4T2/v//g8YB6W3+ +//+LQziNVgKJReSLQyiJRcCLQyyJRciLRvSFwA9F8ukt/P//i3sc6fz9//+NdCYA +i0W4jU3ciTQkiUQkBOheEQAAg+wIi0Mw6Uz9//+NdgCLReCLUPSNSgE7SPiJTax3 +B4tI/IXJfheLRayNTeCJBCTouhwAAItF4IPsBItQ9A+3Tcw9bAxJAGaJDFAPhF// +//+LVazHQPwAAAAAiVD0ZscEUAAA6Uf///+NtgAAAACLSPyFyQ+P/Pz//+kL/f// +iUQkBIn4KdCJBCSNTeDonQ8AAIPsCItF4Ol7/v//ZpCLRcCNTeAPtwCJBCTojx4A +AOn4/v//idfpXP7//412AMcEJFQAAADotJICAInDx0AEAAAAAInZxwCY1EkAx0AI +AAAAAMdADAAAAADGQBAAMcBmiUMSMcBmiUMUi0XIx0MYAAAAAMdDHAAAAADHQyAA +AAAAx0MkAAAAAMdDKAAAAADHQywAAAAAx0MwAAAAAMZDNADGQzUAxkM2AMZDNwDG +QzgAxkM5AMZDOgDGQzsAxkNSAIkEJOjFxQEAi0UQg+wEi0hsiRwkiXQkBOhA2AEA +i0XEixiD7Ajpbfr//412AA+3Qz6NTdyJRCQEi0W499iJBCTomA4AAItFxIPsCIk0 +JI1N3IlEJATo4wsAAOkM/P//gz0AUUwAAA+FvAAAAItQ/I1K/4lI/InQhcAPj3v9 +//+NRduJ2YkEJOhBBwAAUOlo/f//xkXPAelN/f//g+gE6NqvAgDpfP3//4kEJOj9 +kwIA6AiaAgCJw+jhlQIAiRwk6NmZ/f/HQPwAAAAAiXj0ZscEeAAA6XL7///HBCSs +cUkA6LhPAgCJxo1d24tF3IkcJI1I9Oj1BgAAUIk0JOicmf3/iQQk6KSTAgCLA4nZ +/1AE656JxotF4I1d24kcJI1I9OjIBgAAUOvCg+gE6E2vAgDpQv///5CQkJCQkJCQ +VYnlg+wYi0UIiQQk6D8AAACD7ATJwgwAkJCQkJCQkJAxwMIIAJCQkJCQkJCQkJCQ +McDDkJCQkJCQkJCQkJCQkDHAw5CQkJCQkJCQkJCQkJCD7ByLRCQgOch0LYtRBIA6 +KnQdi0AEMcmAOCqJFCQPlMEByIlEJATo/Bb+/4XAdAgxwIPEHMIEALgBAAAAg8Qc +wgQAkJCQkJCQkJCQkJCQkItEJAQrRCQIw5CQkJCQkJCLRCQEiQHCCACQkJCQkJCQ +i0QkBIkBwggAkJCQkJCQkFWJ5VOJy4PsFIsBPWwMSQB0L4tQ/IXSfiHHRCQIAAAA +AMdEJAQAAAAAxwQkAAAAAOg7GgAAiwOD7AzHQPz/////i138ycOQkJCQkJCQkJCQ +i0QkBItUJAiLTCQMhcB0CA+30ukIAAAAuGwMSQDDkJBVieVXiddWU4nDg+wciUwk +CMdEJAQAAAAAiQQk6L8GAACF24nGjUAMdCCD+wGNVgx0LokUJIlcJAiJfCQEiVXk +6IvC/f+LVeSJ0IH+YAxJAHUWjWX0W15fXcONtgAAAABmiX4MidDr4onxiRwkiUXk +6IusAgCLReRR69eQkJCQkFWJ5VdWU4PsHIt9CItdDDnfdE2LRRAp+9H7x0QkBAAA +AACJHCSJRCQI6DIGAACD+wGJwY1wDHQ4iVwkCIl8JASJNCSJTeTo9cD9/4tN5IH5 +YAxJAHUjjWX0ifBbXl9dw41l9L5sDEkAW4nwXl9dw5APtwdmiUEM69WJHCTo/6sC +AFDr0pCQkJCQkJCQkJCQkFWJ5VdWU4PsHItdCIt9DDn7D4SBAAAAhdsPhIgAAACL +RRAp39H/x0QkBAAAAACJPCSJRCQI6JYFAACD/wGJwY1wDHU8D7cDZolBDIH5YAxJ +AHVkjWX0ifBbXl9dw4tFEDH/x0QkBAAAAADHBCQAAAAAiUQkCOhWBQAAicGNcAyQ +iXwkCIlcJASJNCSJTeToHcD9/4tN5OuzjWX0vmwMSQBbifBeX13Dhf90sscEJChv +SQDoqUgCAIk8JOgxqwIAUOuRkJCQkJCQkJCQkJCQkJBVieVXVlOD7ByLXQiLfQw5 ++w+EgQAAAIXbD4SIAAAAi0UQKd/R/8dEJAQAAAAAiTwkiUQkCOjGBAAAg/8BicGN +cAx1PA+3A2aJQQyB+WAMSQB1ZI1l9InwW15fXcOLRRAx/8dEJAQAAAAAxwQkAAAA +AIlEJAjohgQAAInBjXAMkIl8JAiJXCQEiTQkiU3k6E2//f+LTeTrs41l9L5sDEkA +W4nwXl9dw4X/dLLHBCQob0kA6NlHAgCJPCToYaoCAFDrkZCQkJCQkJCQkJCQkJCQ +uGAMSQDDkJCQkJCQkJCQkItUJAiLRCQMi0wkBCnQ0fiD+AF0EYlEJAyJVCQIiUwk +BOnavv3/D7cCZokBw5CQkItUJAiLRCQMi0wkBCnQ0fiD+AF0EYlEJAyJVCQIiUwk +BOmqvv3/D7cCZokBw5CQkItUJAiLRCQMi0wkBCnQ0fiD+AF0EYlEJAyJVCQIiUwk +BOl6vv3/D7cCZokBw5CQkItUJAiLRCQMi0wkBCnQ0fiD+AF0EYlEJAyJVCQIiUwk +BOlKvv3/D7cCZokBw5CQkIsBi1D0OVD4dwbDkI10JgBVieWD7BjHBCQAAAAA6H4V +AACD7ATJw4kEJOiBjgIAyelrkAIAkJCQkJCQkJCQkJBVieVXVonOU4PsHIsJi0UM +i10Qi30UicIrUfSJ0YHB/v//HznLd1iJRCQEi0UIifGJXCQIiQQk6AQWAACD7AyF +23QgiwaD+wGLVQiNBFB0IA+3/4lcJAiJfCQEiQQk6K2+/f+NZfSJ8FteX13CEACQ +Zok4jWX0ifBbXl9dwhAAxwQknm5JAOg1SQIAkJCQkJBVieVXVonOU4PsHItdFIt9 +CItFDIlcJAiJPCSJRCQE6IwVAACD7AyF23QdiwaD+wGNBHh0H4tVEIlcJAiJBCSJ +VCQE6Ci9/f+NZfSJ8FteX13CEACLVRAPtxJmiRCNZfSJ8FteX13CEACQkJCQkJCQ +i0QkBItUJAiLTCQMhcB0CA+30uko+///uGwMSQDDkJBWU4nLg+wUiwGLdCQgO3D0 +cxmLUPyF0ngH6JL6//+LA4PEFI0EcFtewgQAxwQkOG5JAOgJSQIAkJCQkJCQkJCQ +U4nLg+wIiwGLUPyF0ngH6Fz6//+LA4tQ9IPECFuNBFDDkJCQkJCQkJCQkJCQkJCQ +g+wciQwk6AWKAgCDxBzCBACQkJCQkJCQkJCQkJCQkJCB+WAMSQB1A8IEAIPsDOil +pwIAg8QM6/CQkJCQkJCQkIH5YAxJAHUEjUEMw1CNQQiJDCTocKcCAIsMJFqNQQzD +jUEMw5CQkJCQkJCQkJCQkLhgDEkAw5CQkJCQkJCQkJDHQQj/////w5CQkJCQkJCQ +x0EIAAAAAMOQkJCQkJCQkFWB+WAMSQCJ5XUEycIEAMnp+6YCAJCQkJCQkJCQkJCQ +VYnlg+wYi1EIi0UIhdJ4EIH5YAxJAHUYjUEMycIIAJDHRQwAAAAAiUUIyekQAAAA +jUEIiU306M2mAgCLTfTr2FWJ5VdWU4nLg+wci1UIi0UMiVQkCItRBIlUJAQDAYkE +JOhqAAAAixOF0onGjUAMdB+D+gGNfgx0KY1DDIlUJAiJRCQEiTwk6CS7/f+LE4n4 +gf5gDEkAdRaNZfRbXl9dwggAD7dDDGaJRgyJ+OviifGJFCSJReToNaYCAItF5FHr +15CQkJCQkJCQkJCQkJCQkFOD7BiLXCQgi0QkJIH7/v//H3dcOcONVBsOdj2NFAA5 +0w9C2o1UGwKNShyB+QAQAAB2STnYc0WB4f8PAAC4ABAAACnI0egB2Lv+//8fPf7/ +/x8PRtiNVBsOiRQk6G+IAgCJWATHQAgAAAAAg8QYW8PHBCRybkkA6CRGAgCDwgzr +2JCQkJCQkJCQkJCQkJCQkFZTicuD7ASLAYtI/ItQ9IXJjXL/eAmJ2egD+P//iwOD +xASNBHBbXsOQkJCQkJCQkFaJzlOD7ASLXCQQixOLSvyFyXgJidno1ff//4sTiRaD +xASJ8FtewgQAkJCQkJCQkIsRU4tcJAiLQvyFwHgXiwODePwAeQfHQPwAAAAAiQGJ +E1vCBADHQvwAAAAA6+CQkFOJy4PsCIsBi1D8hdJ4B+h89///iwODxAhbw5CQkJCQ +VYnlg+wYiwHHRCQIAAAAAItA9McEJAAAAACJRCQE6L0RAACD7AzJw5CQkJCQkJCQ +VYnlVonOU4PsEItdCCsZx0QkCAAAAADHRCQEAQAAANH7iRwk6IcRAACLBsdA/P// +//+NBFiD7AyNZfhbXl3CBACQkJCQkJCQkJCQkJCQkJBVieVWU4PsEItFCItVDCnC +0fp1DI1l+FteXcIIAI12ACsBicvHRCQIAAAAAIlUJASJxtH+iTQk6CQRAACLA8dA +/P////+NBHCD7AyNZfhbXl3CCACQkJCQkJCQkJCQkJBVieVWU4nLg+wQiwOLVQiL +TQyLQPSJxinWOc4PRs45wnckiUwkBInZx0QkCAAAAACJFCToyBAAAInYg+wMjWX4 +W15dwggAxwQkim5JAOjORAIAkJCQkJCQkJCQkJCQkJBTicuD7AiLAYtQ/IXSeAfo +HPb//4sDg8QIW8OQkJCQkFWJ5VZTicuD7BCLdQiJNCToywz+/4XAdBGJRCQEidmJ +NCToSQAAAIPsCI1l+InYW15dwgQAkJCQkJCQkJCQkJBVieVTicuD7BSLVQyF0nQS +i0UIiVQkBIkEJOgRAAAAg+wIidiLXfzJwggAkJCQkJBVieVXv/7//x9Wic5Tg+wc +iwGLXQyLVQiLSPQpzznfD4KiAAAAjTwLO3j4dkM50HZJifGJPCSJVeTo8g4AAIsG +i1Xki0j0g+wEg/sBjQxIdVcPtxJmiRGNSPSB+WAMSQB1Wo1l9DHAW15fXcIIAGaQ +g3j8AH7TOdB3t40MSDnKd7Apwonx0fqJPCSJVeTong4AAIsGi1Xki0j0jRRQg+wE +g/sBjQxIdKmJXCQIiVQkBIkMJOgYt/3/iwbrm4k8JOhMogIAUOubxwQk+25JAOi9 +QgIAkJCQkJCQkJCQkJCQkFWJ5VdWU4nLg+wci0UIixCLevSF/3RJiwGLSPSNNDk7 +cPh2TInZiTQk6CIOAACLRQiLEIsDg+wEi0j0g/8BjQxIdDWJfCQIiVQkBIkMJOid +tv3/iwONSPSB+WAMSQB1II1l9InYW15fXcIEAI10JgCDePwAf67rww+3EmaJEevV +iTQk6KihAgBX69WQkJCQkFWJ5VdWU4PsHIt9CItFEIsXi3L0OXUMD4eZAAAAK3UM +ics5xg9H8IX2dFWLAYtI9I08Djt4+Il95HZVi0XkidmJBCToeA0AAItFCIsQiwOD +7ASLSPSLfQyD/gGNDEiNFHp0PYl0JAiJVCQEiQwk6O21/f+LA41I9IH5YAxJAHUo +jWX0idhbXl9dwgwAjXQmAIt4/IX/f6TrvI20JgAAAAAPtxJmiRHrzYtF5IkEJOjt +oAIAUOvKxwQk+25JAOj+QQIAkJCQkJCQkJCQkJCQkJBVieVTicuD7BSLRQyLVQiF +wHQPiUQkBIkUJOih/f//g+wIidiLXfzJwggAkJCQkJBVieVTicuD7BSLVQiLRQyF +0nQSD7fAiUQkBIkUJOgOAAAAg+wIidiLXfzJwggAkJBVieVXv/7//x9Wic5Tg+wc +iwGLXQiLVQyLSPQpzznfcmeNPAs7ePh2TInxiTwkiVXk6FoMAACLBotV5ItI9IPs +BIP7AY0MSHQ6D7fSiVwkCIlUJASJDCTo5LX9/4sGjUj0gflgDEkAdSuNZfQxwFte +X13CCACDePwAf66D+wGNDEh1xmaJEevWxwQk+25JAOhcQAIAiTwk6NSfAgBQ68qQ +U4nIiwmLXCQIi1H8hdJ4F4sTg3r8AHkHx0L8AAAAAIkQiQtbwgQAx0H8AAAAAOvg +VYnlVonOU4PsEItdCIkcJOjrCP7/ifGJHCSJRCQE6A0AAACD7AiNZfhbXl3CBACQ +VYnlV1aJzlOD7ByLfQyLEYtdCIH//v//H4tC9A+HmQAAADnTcyqJfCQMifGJXCQI +iUQkBMcEJAAAAADogPb//4PsEI1l9FteX13CCACNdgCNDEI5y3fPi0r8hcl/yInY +KdDR+DnHdy6D/wF0RokUJIl8JAiJXCQE6LOz/f+LFo1K9IH5YAxJAHU9jWX0ifBb +Xl9dwggAhcB05YP/AXQUiRQkiXwkCIlcJAToMbT9/4sW68wPtwNmiQLrxMcEJOZu +SQDoKT8CAIk8JOihngIAifBT6Wz///+QkJCQkJCQkJBVieVWU4nLg+wgi1UIiwGL +MoPoDI1O9DnIdBuLVvyF0ngfgflgDEkAdT2JwYH5YAxJAHUsiTONZfiJ2FteXcIE +AI1F98dEJAQAAAAAiQQk6Iz3//+LE41K9IPsCInG68zoU54CAOvNjUb86DmeAgCL +A41I9Ou2kJCQkJCQkJCQkFWJ5VdWU4PsHItVCItFDItdEIs6i1f0idYpxjneD0be +OdB3HI0ER4lcJASJBCTobf7//4PsCI1l9FteX13CDADHBCTmbkkA6OQ+AgCQkJCQ +VYnlyelH/v//kJCQkJCQkFWJ5YPsGA+3RQyJRCQMi0UIiUQkCIsBi0D0xwQkAAAA +AIlEJAToRvT//4PsEMnCCACQkJCQkJCQkJCQkJCQkJBVieWLRQgrAdH4iUUIyend +AAAAkJCQkJCQkJCQkJCQkFWJ5YPsGA+3VRCLRQgrAcdEJAQAAAAAiVQkDItVDNH4 +iQQkiVQkCOjk8///g+wQycIMAJCQkJCQkJCQkJCQkJBVieVWic5Tg+wQi10ID7dF +DCsZx0QkCAEAAADHRCQEAAAAANH7iRwkiUQkDOif8///iwbHQPz/////jQRYg+wQ +jWX4W15dwggAkJCQkJCQkFWJ5VaJzlOD7BCLXQyJHCToCwb+/4nxiVwkBIlEJAiL +RQiJBCToFgAAAIPsDI1l+FteXcIIAJCQkJCQkJCQkJBVieVXVonOU4PsLIs5i0UM +i10Qi0/0OU0ID4dPAQAAuv7//x8pyjnTD4dMAQAAOfhzLolEJAiLRQiJ8YlcJAzH +RCQEAAAAAIkEJOiB8///g+wQjWX0W15fXcIMAI10JgCNFE850HfLi1f8hdJ/xIlF +5ItFCInxiVwkCMdEJAQAAAAAiQQk6PYIAACLReSNDBuLFin4i30Ig+D+AdCD7AyN +PHqNFAg513IXg/sBdSgPtwBmiQeNZfSJ8FteX13CDAA5+HIug/sBdVcPtwJmiQeJ +8Ol8////iVwkCIk8JIlEJAToWrD9/41l9InwW15fXcIMAIn6KcLR+oP6AXVTD7cA +ZokHKdMB+YP7AY0EV3UoD7cRZokQifDpNv///410JgCJXCQIiVQkBIk8JOgQsP3/ +ifDpG////4lcJAiJTCQEiQQk6Pmv/f+J8OkE////ZpCJVCQIiUQkBIk8JIlN4IlV +5Ojar/3/i03gi1Xk65XHBCS7bkkA6CY8AgDHBCS7bkkA6Ho7AgCQkJCQkJCQkJCQ +VYnlg+wYi0UMiwCLUPSJRCQEi0UIiVQkCIkEJOhP/v//g+wMycIIAJCQkJCQkJCQ +VYnlV1ZTg+wci1UMi0UQi10UizqLV/SJ1inGOd4PRt450HcjjQRHiUQkBItFCIlc +JAiJBCToBv7//4PsDI1l9FteX13CEADHBCS7bkkA6I07AgCQkJCQkJCQkJCQkJCQ +VYnlU4PsFIsRi0UID7ddEDtC9Hcli1UMiVwkDMdEJAQAAAAAiQQkiVQkCOjw8P// +i138g+wQycIMAMcEJLtuSQDoOjsCAJCQkJCQkJCQkJBWic5Tg+wEi1wkEIsTi0r8 +hcl4CYnZ6IXs//+LE4tC9I0EQokGg8QEifBbXsIEAJBVieWD7BiLRQjHRCQEAAAA +AIkEJOgHAAAAg+wIycIEAFWJ5VOD7BSLRQiLEYtdDD3+//8fi1L0d0k50HYLKdB1 +L4td/MnCCABz9ynCx0QkCAAAAACJVCQEiQQk6IAGAACLXfyD7AzJwggAjbYAAAAA +D7fbiV0Mi138iUUIyenu+P//xwQkEG9JAOjSOQIAkJCLRCQMi1QkBItMJAiD+AF0 +EYlEJAyJTCQIiVQkBOnurf3/D7cBZokCw5CQkJCQkJCLRCQEiQHCBACQkJCQkJCQ +iwGLQPyFwHgH6ZLr//9mkPPDkJCQkJCQkJCQkJCQkJCLRCQMi1QkBItMJAiD+AF0 +EYlEJAyJTCQIiVQkBOk+rv3/D7cBZokCw5CQkJCQkJBVieVWi0UMU4tdCIt1EItV +FCnY0fiJRQyJ2CnyKwHR+olVFNH4iUUIjWX4W15d6S0CAACQkJCQkJCQkJCQkJCQ +VYnlV4nPVlOD7ByLdRCLXQiJNCToxwH+/4tVDIn5iXQkCCna0fqJRCQMidgrB4lU +JATR+IkEJOjkAQAAg+wQjWX0W15fXcIMAJCQkJCQkJBVieVWi0UMU4tdCIt1EItV +FCnY0fiJRQyJ2CnyKwHR+olVFNH4iUUIjWX4W15d6Z0BAACQkJCQkJCQkJCQkJCQ +VYnli1UIi0UMU4td/CnQ0fiJRQyJ0CsB0fiJRQjJ6W0BAACQkJCQkJCQkJCQkJCQ +VYnlVlOD7BCLXRCLVQiLRQyLGynQ0fiLc/SJRCQEidArAYlcJAiJdCQM0fiJBCTo +LAEAAIPsEI1l+FteXcIMAFWJ5VaLRQxTi10Ii3UQi1UUKdjR+IlFDInYKfIrAdH6 +iVUU0fiJRQiNZfhbXl3p7QAAAJCQkJCQkJCQkJCQkJBVieVWi0UMU4tdCIt1EItV +FCnY0fiJRQyJ2CnyKwHR+olVFNH4iUUIjWX4W15d6a0AAACQkJCQkJCQkJCQkJCQ +VYnli0UMU4tdCItVFCnY0fgB0olFDInYi138KwHR+olVFNH4iUUIyelzAAAAkJCQ +VYnli1UIi0UMUw+3XRQp0NH4iUUMidArAYldFItd/NH4iUUIyelm7f//kJCQkJCQ +VYnlVonOU4PsEItdEIkcJOjr//3/ifGJXCQIiUQkDItFDIlEJASLRQiJBCToDwAA +AIPsEI1l+FteXcIMAJCQkFWJ5VdWic5Tg+w8iwGLXQiLVQyLSPQ5yw+HXAEAAInP +Kd851w9G14nXKc+Bx/7//x85fRQPhzQBAAA5RRBzKYtFFInxiVQkBIkcJIlEJAyL +RRCJRCQI6FXt//+D7BCNZfRbXl9dwhAAjQxIOU0Qd8+LSPyFyX/Ii00Qi30UjTx5 +jQwbiU3UAcE5z3dEi30QKcfR/4tFFInxiVQkBIkcJIlEJAjouAIAAIsWjQR6i33U +g+wMAdeDfRQBdTUPtwBmiQeNZfSJ8FteX13CEACNdgCNDBqNDEg5TRByNYtNECnB +icjR+ANFFInHKdfrpo12AItdFIk8JIlEJASJXCQI6B2q/f+NZfSJ8FteX13CEACQ +jUXniUQkCItFEIl8JATGRCQMAIlV1IkEJOhC6f//i1XUifGJHCSJVCQEiceLRRSJ +fCQIiUQkDOhk7P//jU/0g+wQgflgDEkAD4QA////iUXU6CKVAgCLRdTp8P7//8cE +JNBuSQDoZjUCAMcEJNBuSQDo+jUCAI1P9InDgflgDEkAdAXo8JQCAIkcJOjgf/3/ +VYnlg+wYi0UQiwCLUPSJRCQIi0UMiVQkDIlEJASLRQiJBCToOP7//4PsEMnCDACQ +VYnlV1ZTg+wci1UQi0UUi10YizqLV/SJ1inGOd4PRt450HcqjQRHiUQkCItFDIlc +JAyJRCQEi0UIiQQk6O/9//+D7BCNZfRbXl9dwhQAxwQk0G5JAOhWNQIAkJCQkJCQ +VYnlV1ZTg+wcixGLRQiLdRAPt30Ui1L0idMpwztdDA9HXQw50HcYiX0UiXUQiV0M +iUUIjWX0W15fXemx6v//xwQk0G5JAOgFNQIAkJCQkJBVieVWU4nLg+wgiwGLVQg7 +UPh0PItw9I1I9I1F94kEJDnyD0LWKfKJVCQE6ADt//+LM41O9IPsCIH5YAxJAHUZ +iQONZfhbXl3CBACQjXQmAItw/IX2f73r6YlF5OinkwIAi0Xk69qQkJCQkJCQkJCQ +VYnlg+wYiwGLQPSNUP85wncdx0QkCAAAAADHRCQEAQAAAIkUJOhGAAAAg+wMycPH +BCSKbkkA6FU0AgCQkJCQkItEJAiLVCQEi0wkDIP4AXQUD7fJiUQkDIlMJAiJVCQE +6duo/f9miQrDkJCQkJCQkFWJ5VdWic5Tg+w8ixGLfRArfQyLWvSLQvgB3ytdCCtd +DDnHdwuLSvyFyQ+OkgAAAI1V54lUJAiJRCQEiTwk6J3s//+LTQiFyXQeg30IAY1Q +DIsOiVXUD4WoAAAAD7cRZolQDItV1OsFiw6NUAyF23Qni0UMA0UIjQRBiUXUi0UQ +A0UIg/sBjQRCD4WVAAAAi13UD7cbZokYg+kMgflgDEkAD4WdAAAAiRaNSvSB+WAM +SQAPhZwAAACNZfRbXl9dwgwAi0UQOUUMdN+F23Tbi0UMA0UIjQxCi0UQA0UIg/sB +jQRCdQsPtwlmiQjrvI12AIlcJAiJTCQEiQQk6HCn/f+LFuuli0UIiUwkBIlEJAiL +RdSJBCTopqb9/4sOi1XU6Un///+LTdSJXCQIiQQkiVXQiUwkBOiGpv3/iw6LVdDp +VP///4lV1OjckQIAi1XU6VP///+JPCTopJECAFPpVv///5CQkJCQkJCQkJCQkJCQ +VYnlV1ZTicuD7ByLAYt9CItQ9I1yATtw+HcHi0j8hcl+Eok0JInZ6IT9//+LA4tQ +9IPsBI1I9IH5YAxJAGaJPFB1Co1l9FteX13CBACJdQiNZfRbXl9d6TSRAgCQkJCQ +i0QkBIsQiRHHAGwMSQDCBACQkJCQkJCQkJCQkJCQkJBWuP7///9Tic6D7BSLXCQg +hdt0C4kcJOhU+v3/jQRDi1QkJIkcJMZEJAwAiUQkBIlUJAjo6OT//4kGg8QUW17C +CACQkJCQkJCQkJCQkJCQkFOJy4PsGItUJCiLRCQgxkQkDACJVCQIi1QkJIkEJI0U +UIlUJATopuT//4kDg8QYW8IMAJCQkJCQkJCQkJCQkJDHAWwMSQDCBACQkJCQkJCQ +VYnlVonOU4PsIItFCIsYi0P8jUv0hcB4F4H5YAxJAHUwidiJBo1l+FteXcIEAGaQ +jUX3x0QkBAAAAACJBCTofen//4kGg+wIjWX4W15dwgQAjUP86C+QAgDrxpCQkJCQ +VYnNV1ZTg+wsi1QkQItEJESLdCRIixKLWvSJ3ynHOfcPRvcBxjnYjQxydymNXCQf +jQRCiVwkCMZEJAwAiUwkBIkEJOio5P//iUUAg8QsW15fXcIMAMcEJFJvSQDozzAC +AJCQkJCQkJCQkJCQkJCQkFWJzVdWU4PsHItUJDCLRCQ0i3QkOIsSi1r0id8pxzn3 +D0b3AcY52I0Mcncpi1wkPI0EQsZEJAwAiUwkBIkEJIlcJAjoOOT//4lFAIPEHFte +X13CEADHBCRSb0kA6F8wAgCQkJCQkJCQkJCQkJCQkJBTicuD7BiLVCQoi0QkIMZE +JAwAiVQkCItUJCSJBCSNFFCJVCQE6Bbj//+JA4PEGFvCDACQkJCQkJCQkJCQkJCQ +U4nLg+wIi0QkEItUJBSFwHUOuGwMSQCJA4PECFvCDACLTCQYD7fS6MTh//+JA4PE +CFvCDACQkJCQkJCQkJCQkMcBbAxJAMOQkJCQkJCQkJBTicuD7BiLRCQoxkQkDACJ +RCQIi0QkJIlEJASLRCQgiQQk6Pnh//+JA4PEGFvCDABTicuD7BiLRCQoxkQkDACJ +RCQIi0QkJIlEJASLRCQgiQQk6Fni//+JA4PEGFvCDABTicuD7BiLRCQoxkQkDACJ +RCQIi0QkJIlEJASLRCQgiQQk6Pni//+JA4PEGFvCDACLRCQEixCJEccAbAxJAMIE +AJCQkJCQkJCQkJCQkJCQkFa4/v///1OJzoPsFItcJCCF23QLiRwk6DT3/f+NBEOL +VCQkiRwkxkQkDACJRCQEiVQkCOjI4f//iQaDxBRbXsIIAJCQkJCQkJCQkJCQkJCQ +U4nLg+wYi1QkKItEJCDGRCQMAIlUJAiLVCQkiQQkjRRQiVQkBOiG4f//iQODxBhb +wgwAkJCQkJCQkJCQkJCQkMcBbAxJAMIEAJCQkJCQkJBVieVWic5Tg+wgi0UIixiL +Q/yNS/SFwHgXgflgDEkAdTCJ2IkGjWX4W15dwgQAZpCNRffHRCQEAAAAAIkEJOhd +5v//iQaD7AiNZfhbXl3CBACNQ/zoD40CAOvGkJCQkJBVic1XVlOD7CyLVCRAi0Qk +RIt0JEiLEota9InfKcc59w9G9wHGOdiNDHJ3KY1cJB+NBEKJXCQIxkQkDACJTCQE +iQQk6Ijh//+JRQCDxCxbXl9dwgwAxwQkUm9JAOivLQIAkJCQkJCQkJCQkJCQkJCQ +VYnNV1ZTg+wci1QkMItEJDSLdCQ4ixKLWvSJ3ynHOfcPRvcBxjnYjQxydymLXCQ8 +jQRCxkQkDACJTCQEiQQkiVwkCOgY4f//iUUAg8QcW15fXcIQAMcEJFJvSQDoPy0C +AJCQkJCQkJCQkJCQkJCQkFOJy4PsGItUJCiLRCQgxkQkDACJVCQIi1QkJIkEJI0U +UIlUJATo9t///4kDg8QYW8IMAJCQkJCQkJCQkJCQkJBTicuD7AiLRCQQi1QkFIXA +dQ64bAxJAIkDg8QIW8IMAItMJBgPt9LopN7//4kDg8QIW8IMAJCQkJCQkJCQkJCQ +xwFsDEkAw5CQkJCQkJCQkFOJy4PsGItEJCjGRCQMAIlEJAiLRCQkiUQkBItEJCCJ +BCTo2d7//4kDg8QYW8IMAFOJy4PsGItEJCjGRCQMAIlEJAiLRCQkiUQkBItEJCCJ +BCToOd///4kDg8QYW8IMAFOJy4PsGItEJCjGRCQMAIlEJAiLRCQkiUQkBItEJCCJ +BCTo2d///4kDg8QYW8IMAIsJg+kMgflgDEkAdQLzw+kEiwIAkJCQkJCQkJCQkJCQ +iwmD6QyB+WAMSQB1AvPD6eSKAgCQkJCQkJCQkJCQkJBTiciLCYtcJAiLUfyF0ngX +ixODevwAeQfHQvwAAAAAiRCJC1vCBADHQfwAAAAA6+BVieVWic5Tg+wQi10IiRwk +6Mvz/f+J8YkcJIlEJATo7er//4PsCI1l+FteXcIEAJBVieXJ6bfr//+QkJCQkJCQ +VYnlU4nLg+wUi0UMiUQkBItFCIkEJOi16v//idiLXfyD7AjJwggAkJCQkJCQkJCQ +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 +i138g+wQycIMAMcEJG9tSQDo6soBAJCQkJCQkJCQkJBWic5Tg+wEi1wkEIsTi0r8 +hcl4CYnZ6CXt//+LEwNS9InwiRaDxARbXsIEAJCQkJBVieWD7BiLRQjHRCQEAAAA +AIkEJOgHAAAAg+wIycIEAFWJ5VOD7BSLRQiLEYtdDD38//8/i1L0d0k50HYLKdB1 +L4td/MnCCABz9ynCx0QkCAAAAACJVCQEiQQk6BAGAACLXfyD7AzJwggAjbYAAAAA +D77biV0Mi138iUUIyen++P//xwQkxG1JAOiCyQEAkJCLRCQMi1QkBItMJAiD+AF0 +EYlEJAyJTCQIiVQkBOnWkf3/D7YBiALDkJCQkJCQkJCLRCQEiQHCBACQkJCQkJCQ +iwGLQPyFwHgH6TLs//9mkPPDkJCQkJCQkJCQkJCQkJCLRCQMi1QkBItMJAiD+AF0 +EYlEJAyJTCQIiVQkBOmukf3/D7YBiALDkJCQkJCQkJBVieWLVQiLRQxTi10QKV0U +i138KdArEYlFDIlVCMnp3QEAAJCQkJCQkJCQkJCQkJBVieVXic9WU4PsHIt1EItd +CIk0JOh3kf3/ifmJdCQIiUQkDItFDCnYKx+JRCQEiRwk6JoBAACD7BCNZfRbXl9d +wgwAkJCQkJCQkJCQkJCQkFWJ5YtVCItFDFOLXRApXRSLXfwp0CsRiUUMiVUIyeld +AQAAkJCQkJCQkJCQkJCQkFWJ5YtVCItFDFOLXfwp0CsRiUUMiVUIyekzAQAAkJCQ +VYnlVlOD7BCLXRCLVQiLRQyLGynQKxGLc/SJXCQIiUQkBIkUJIl0JAzoAgEAAIPs +EI1l+FteXcIMAJCQkJCQkFWJ5YtVCItFDFOLXRApXRSLXfwp0CsRiUUMiVUIyenN +AAAAkJCQkJCQkJCQkJCQkFWJ5YtVCItFDFOLXRApXRSLXfwp0CsRiUUMiVUIyemd +AAAAkJCQkJCQkJCQkJCQkFWJ5YtVCItFDFOLXfwp0CsRiUUMiVUIyelzAAAAkJCQ +VYnli1UIi0UMUw++XRQp0CsRiV0Ui138iUUMiVUIyek87v//kJCQkJCQkJCQkJCQ +VYnlVonOU4PsEItdEIkcJOjrj/3/ifGJXCQIiUQkDItFDIlEJASLRQiJBCToDwAA +AIPsEI1l+FteXcIMAJCQkFWJ5VdWic5Tg+w8iwGLXQiLfQyLSPQ5yw+HQQEAAInK +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 +i0QkBAFBCMIEAJCQkJCQkMIEAJCQkJCQkJCQkJCQkJCLRCQEAUEUwgQAkJCQkJCQ +i0EIO0EMcwQPtgDDiwGLQCT/4JCQkJCQkJCQkJCQkJCLAVWJ5YtAIMn/4JCQkJCQ +i1EUO1EYVYnli0UIcw2IAg+2wINBFAHJwgQAixEPtsCJRQiLQjTJ/+CQkJCQkJCQ +iwFVieWLQDDJ/+CQkJCQkFOJy4PsCIsB/1Akg/j/dBGLUwgPtgKDwgGJUwiDxAhb +w7j/////6/SQkJCQkJCQkItRCDtRDHMKD7YCg8IBiVEIw4sBi0Ao/+CQkJCQkJCQ +icjCCACQkJCQkJCQkJCQkFOJy4PsCItRCItBDDnCcxKDwgGJUQg5wnMfD7YCg8QI +W8OLAf9QKInCg8j/g8IBdOyLUwiLQwzr3YsDidmLQCSDxAhb/+CQkJCQkJCQkJCQ +i0EIO0EMcwiDwAGJQQjDkIsBi0Ao/+CQkJCQkJCQkJBVV1ZTg+wci0QkNIt8JDCF +wH5oicsx7YtTCItDDCnQdSaLA4nZ/1Aog/j/dEKDxQE5bCQ0jVcBiAd+NInXi0MM +i1MIKdB02otMJDSJVCQEiTwkKek5wQ9OwYnGiUQkCAH16KKX/P8Bcwg5bCQ0fxCD +xByJ6FteX13CCAAx7evwAffrnpCQkJCQkJCQkJCQkJBVieVXVlOD7ByLVQyLdQiF +0n5uicsx/4tTFItDGCnQdSqLA4nZD7YWiRQk/1A0g+wEg/j/dD+DxwGDxgE5fQx+ +NItTFItDGCnQdNaLTQyJdCQEiRQkKfk5wQ9PyIlMJAiJTeToEJf8/4tN5AFLFAHP +OX0MfxCNZfSJ+FteX13CCAAx/+vwAc7rmJCQkJCQkJCLAYtAGP/gkJCQkJCQkJCQ +icjHAf/////HQQT/////x0EIAAAAAMIUAJCQkJCQkJCD7BSJyMcB/////8dBBP// +///HQQgAAAAAg8QUwhgAkItBCDlBBHMLjVD/iVEID7ZA/8NVieWD7BiLAccEJP// +////UCxSycOQkJCQkJCQkItBDCtBCHQI88ONtgAAAACLAYtAHP/gkJCQkJCQkJCQ +uP/////CBACQkJCQkJCQkFWJ5VdWU4nLg+wci3UIjX4ciTwk6PdwAACLBonxi1UM +g+wEiRQk/1AIi0UMg+wEifmJBCToB3IAAInYg+wEjWX0W15fXcIIAInGidnon3EA +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 +cUkAuQYAAADzpnUKjWX0W15fXcIIAItFCI115MdEJAgAAAAAiTQkiUQkBOgAXwAA +i0XkidmJBCTo05EAAIPsBIk0JOhYXwAAjWX0W15fXcIIAInGidnotZQAAIk0JOht +Cfz/icaJ2eh0XwAAiTQk6FwJ/P+QkJCQkJCQkJCQkJBTicuD7BjHAejRSQDof5QA +AIkcJOh3AAEAg8QYW8OQkMcB6NFJAOlllAAAkJCQkJDHAejRSQDpVZQAAJCQkJCQ +i1QkCDHAxwEo0kkAhdIPlcCJQQTCCACQkJCQkJCQkJCLVCQIMcDHASjSSQCF0g+V +wIlBBMIIAJCQkJCQkJCQkFOJy4PsGMcB6NhJAOjPXgAAiRwk6Pf/AACDxBhbw5CQ +xwHo2EkA6bVeAACQkJCQkMcB6NhJAOmlXgAAkJCQkJCLVCQIMcDHAWjSSQCF0g+V +wIlBBMIIAJCQkJCQkJCQkItUJAgxwMcBaNJJAIXSD5XAiUEEwggAkJCQkJCQkJCQ +U4nLg+wYxwEo2UkA6E9eAACJHCTod/8AAIPEGFvDkJDHASjZSQDpNV4AAJCQkJCQ +xwEo2UkA6SVeAACQkJCQkItUJAgxwMcBqNJJAIXSD5XAiUEEwggAkJCQkJCQkJCQ +i1QkCDHAxwGo0kkAhdIPlcCJQQTCCACQkJCQkJCQkJBTicuD7BjHAWjZSQDoz10A +AIkcJOj3/gAAg8QYW8OQkMcBaNlJAOm1XQAAkJCQkJDHAWjZSQDppV0AAJCQkJCQ +i1QkCDHAxwHA0kkAhdIPlcCJQQTCCACQkJCQkJCQkJCLVCQIMcDHAcDSSQCF0g+V +wIlBBMIIAJCQkJCQkJCQkFOJy4PsGMcBgNlJAOhPXQAAiRwk6Hf+AACDxBhbw5CQ +xwGA2UkA6TVdAACQkJCQkMcBgNlJAOklXQAAkJCQkJBVieVTicuD7BSLRQiJBCTo +DL7//8cD2NJJAItd/IPsBMnCBACQkJCQkJCQkJCQkJBTicuD7BjHAdjSSQDoP77/ +/4kcJOgH/gAAg8QYW8OQkMcB2NJJAOklvv//kJCQkJBVieVXVonOU4PsTItFCMZB +ZAGJBCToVt0AAI1N0InDiwCJHCT/UBCLRdCD7ASLUPSNePSB/3AMSQCJVgwPhbQC +AACJFCToxv0AAIlFxIsDjU3Ui34MiRwk/1AQi0XEg+wEx0QkCAAAAACNTdSJfCQE +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 +HCTo6YcAAIPEFFtew4nGidnoqub//4k0JOiSkPv/kJBWU4nLg+wUjUEIxwHI1kkA +iQQk6Ejm//+DxBSJ2Vte6Xzm//+JxonZ6HPm//+JNCToW5D7/5CQkJCQkJCQkJCQ +VlOJy4PsFI1BCMcByNZJAIkEJOgI5v//g8QUidlbXuk85v//icaJ2egz5v//iTQk +6BuQ+/+QkJCQkJCQkJCQkItUJAQxwMcB6NZJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +i1QkBDHAxwHo1kkAhdIPlcCJQQTCBACQkJCQkJCQkJBTicuD7BjHAejWSQDoz+X/ +/4kcJOj3hgAAg8QYW8OQkMcB6NZJAOm15f//kJCQkJDHAejWSQDppeX//5CQkJCQ +i1QkBDHAxwEo10kAhdIPlcCJQQTCBACQkJCQkJCQkJCLVCQEMcDHASjXSQCF0g+V +wIlBBMIEAJCQkJCQkJCQkFOJy4PsGMcBKNdJAOhP5f//iRwk6HeGAACDxBhbw5CQ +xwEo10kA6TXl//+QkJCQkMcBKNdJAOkl5f//kJCQkJCLVCQEMcDHAWjXSQCF0g+V +wIlBBMIEAJCQkJCQkJCQkItUJAQxwMcBaNdJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +U4nLg+wYxwFo10kA6M/k//+JHCTo94UAAIPEGFvDkJDHAWjXSQDpteT//5CQkJCQ +xwFo10kA6aXk//+QkJCQkItUJAQxwMcBqNdJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +i1QkBDHAxwGo10kAhdIPlcCJQQTCBACQkJCQkJCQkJBTicuD7BjHAajXSQDoT+T/ +/4kcJOh3hQAAg8QYW8OQkMcBqNdJAOk15P//kJCQkJDHAajXSQDpJeT//5CQkJCQ +U4nLg+wYxwHo10kA6H8pAACJHCToN4UAAIPEGFvDkJDHAejXSQDpZSkAAJCQkJCQ +VVdWU4nLg+wcg3wkMAeLbCQ0jXkkD46VAAAAgXwkMP///38PhKoAAACLRCQwjXAB +uP////+NFPUAAAAAgf4AAOAPD0bCiQQkiXQkCOjvhAAAicUxwMdExQAAAAAAx0TF +BAAAAACDwAE58HXpi0tki0Nohcl+JDHSiVwkDI10JgCLHNCLdNAEiVzVAIl01QSD +wgE5ynXqi1wkDIXAdGI5x3ReiQQkie/oZIQAAOsKZpDHRCQICAAAAItEJAiJe2iJ +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 +/4kcJOhnawAAg8QYW8OQkMcB6NhJAOklyv//kJCQkJDHAejYSQDpFcr//5CQkJCQ +i1QkBDHAxwEo2UkAhdIPlcCJQQTCBACQkJCQkJCQkJCLVCQEMcDHASjZSQCF0g+V +wIlBBMIEAJCQkJCQkJCQkFOJy4PsGMcBKNlJAOi/yf//iRwk6OdqAACDxBhbw5CQ +xwEo2UkA6aXJ//+QkJCQkMcBKNlJAOmVyf//kJCQkJCLVCQEMcDHAWjZSQCF0g+V +wIlBBMIEAJCQkJCQkJCQkItUJAQxwMcBaNlJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +U4nLg+wYxwFo2UkA6D/J//+JHCToZ2oAAIPEGFvDkJDHAWjZSQDpJcn//5CQkJCQ +xwFo2UkA6RXJ//+QkJCQkItUJAQxwMcBgNlJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +i1QkBDHAxwGA2UkAhdIPlcCJQQTCBACQkJCQkJCQkJBTicuD7BjHAYDZSQDov8j/ +/4kcJOjnaQAAg8QYW8OQkMcBgNlJAOmlyP//kJCQkJDHAYDZSQDplcj//5CQkJCQ +U4nLg+wYxwGY2UkA6O8NAACJHCTop2kAAIPEGFvDkJDHAZjZSQDp1Q0AAJCQkJCQ +VYnli0UIiUEQi0EUiUUIyel7AQAAkJCQkJCQkJCQkJCD7AyLRCQQCUEUhUEQdQaD +xAzCBADoNnIAAJCQkJCQkFaJzlOD7BSLXCQgiRwk6K05AACEwHRHiRwk6DFEAACJ +RnyJHCToljwAAITAdEWJHCToGkcAAImGgAAAAIkcJOi8OwAAhMB0H4kcJOhARgAA +iYaEAAAAg8QUW17CBADHRnwAAAAA67vHhoQAAAAAAAAA6+PHhoAAAAAAAAAA672Q +i1QkBItBcIlRcMIEAJCQkFWJ5VZTicuD7BCLVQiAeXUAdBAPtkF0iFN0jWX4W15d +wgQAi3F8hfZ0PYB+HAB0Fw+2Rj2IQ3TGQ3UBiFN0jWX4W15dwgQAifGJVfTof2P8 +/4sGifHHBCQgAAAA/1AYi1X0g+wE683oRCEAAJCQkJBVieVWU4nLg+wQi3UI6M7w +//+NQ2yJ2YkEJOjh/v//McCJc3jGQ3QAxkN1AMdDcAAAAADHQxAAAAAAg+wEhfYP +lMCJQxSNZfhbXl3CBACQkIPsHItReItEJCCF0nQShUEQiUEUdQ+DxBzCBACNdCYA +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 +2UkAx0NwAAAAAGaJQ3TGQ3YAx0N4AAAAAMdDfAAAAADHg4AAAAAAAAAAx4OEAAAA +AAAAAIPECFvDkJCQkJCQkFWJ5VZTicuD7BDokeb//zHAidlmiUN0i0UIxwPA2UkA +x0NwAAAAAMZDdgDHQ3gAAAAAx0N8AAAAAMeDgAAAAAAAAADHg4QAAAAAAAAAiQQk +6Bv7//+D7ASNZfhbXl3CBACJxonZ6Mbm//+JNCToPmX7/5CQkJCQkJCQkJCQkJCQ +U4nLg+wI6BXm//8xwMcDwNlJAMdDcAAAAABmiUN0xkN2AMdDeAAAAADHQ3wAAAAA +x4OAAAAAAAAAAMeDhAAAAAAAAACDxAhbw5CQkJCQkJBTicuD7BjHAcDZSQDoT+b/ +/4kcJOgHXAAAg8QYW8OQkMcBwNlJAOk15v//kJCQkJDHAcDZSQDpJeb//5CQkJCQ +g+wciQwkxwHQ2UkA6M9bAACDxBzDkJCQkJCQkJCQkJDHAdDZSQDDkJCQkJCQkJCQ +i1QkBDHAxwHo2UkAhdIPlcCJQQTCBACQkJCQkJCQkJCLVCQEMcDHAejZSQCF0g+V +wIlBBMIEAJCQkJCQkJCQkFOJy4PsGMcB6NlJAOgvuv//iRwk6FdbAACDxBhbw5CQ +xwHo2UkA6RW6//+QkJCQkMcB6NlJAOkFuv//kJCQkJCLVCQEMcDHAQDaSQCF0g+V +wIlBBMIEAJCQkJCQkJCQkItUJAQxwMcBANpJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +U4nLg+wYxwEA2kkA6K+5//+JHCTo11oAAIPEGFvDkJDHAQDaSQDplbn//5CQkJCQ +xwEA2kkA6YW5//+QkJCQkItUJAQxwMcBGNpJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +i1QkBDHAxwEY2kkAhdIPlcCJQQTCBACQkJCQkJCQkJBTicuD7BjHARjaSQDoL7n/ +/4kcJOhXWgAAg8QYW8OQkMcBGNpJAOkVuf//kJCQkJDHARjaSQDpBbn//5CQkJCQ +i1QkBDHAxwEw2kkAhdIPlcCJQQTCBACQkJCQkJCQkJCLVCQEMcDHATDaSQCF0g+V +wIlBBMIEAJCQkJCQkJCQkFOJy4PsGMcBMNpJAOivuP//iRwk6NdZAACDxBhbw5CQ +xwEw2kkA6ZW4//+QkJCQkMcBMNpJAOmFuP//kJCQkJCD7ByJDCTHAUjaSQDon1kA +AIPEHMOQkJCQkJCQkJCQkMcBSNpJAMOQkJCQkJCQkJCD7ByhhPtIAIkEJOjg5/v/ +VVdWU4tsJBSAfCQkAItMJBiLdCQcdDCJ67/NzMzMZpCJyIPrAffnweoDjQSSAcAp +wYXSD7ZEDgSJ0YgDdeKJ6CnYW15fXcOLRCQgg+BKg/hAdC6LRCQgieslAEAAAIP4 +ARnAg+DwjVQGFInIg+sBg+APD7YEAsHpBIXJiAN16+u9ieuJyIPrAYPgBw+2RAYE +wekDhcmIA3Xq66OQkJCQkFVXVlOD7CyLRCREi1QkSIB8JFQAi3QkTIlEJBiJVCQc +dGqLXCRAi3wkGIPrAYtsJBzHRCQICgAAAMdEJAwAAAAAiTwkiWwkBOiTOvv/D7ZU +BgSIE8dEJAgKAAAAx0QkDAAAAACJPCSJbCQE6MA7+/+J0QnBiUQkGIlUJBx1qItE +JECDxCwp2FteX13Di0QkUIPgSoP4QHRGi0QkUItcJEAlAEAAAIP4ARnAg+DwjVQG +FIt0JBiD6wGLfCQcifCD4A8PtgQCD6z+BMHvBIl0JBiJfCQciAOJ+AnwddXroItc +JECLVCQYg+sBi0wkHInQg+AHD7ZEBgSIA4nQicrB6gMPrMgDidcJx4lEJBiJVCQc +ddDpZ////5CQkJCQkJCQkFVXVlOLbCQUgHwkJACLTCQYi3QkHHQzieu/zczMzGaQ +iciD6wL358HqA40EkgHAKcGF0g+3RE4IidFmiQN14YnoKdjR+FteX13Di0QkIIPg +SoP4QHQwi0QkIInrJQBAAACD+AEZwIPg8IPAFInKg+sCg+IPAcIPtxRWwekEhclm +iRN16Ou5ieuJyIPrAoPgBw+3REYIwekDhclmiQN16euekJCQkJCQkJCQkJCQkJCQ +VVdWU4PsLItEJESLVCRIgHwkVACLfCRAiUQkGIt0JEyJVCQcdHGJ+4tEJBiD6wKL +VCQcx0QkCAoAAADHRCQMAAAAAIkEJIlUJATowTj7/w+3VEYIi0QkGGaJE4tUJBzH +RCQICgAAAMdEJAwAAAAAiQQkiVQkBOjlOfv/idEJwYlEJBiJVCQcdZ+J+IPELCnY +0fhbXl9dw4tEJFCD4EqD+EB0SotEJFCJ+yUAQAAAg/gBGcCD4PCDwBSLTCQYg+sC +g+EPicqLTCQcAcIPtxRWZokTi1QkGA+sygTB6QSJzQnViVQkGIlMJBx1zuucifuL +VCQYg+sCi0wkHInQg+AHD7dERghmiQOJ0InKweoDD6zIA4nRCcGJRCQYiVQkHHXP +6WT///+QkJCQkJCQkJCQkItUJAShgPtIAIkVgPtIAMNVV1ZTg+wJi3wkJQ+2TCQh +i2wkMYtUJC0Ptj+IDCQxycdEJAUAAAAAifsPvvOLXCQpg+sBiVwkAYnrjbYAAAAA +id0p1Tn1fi2Nb/+J6Dx9dyQp8ztMJAEPg/MAAACLRCQlg8EBid0p1Q+2PAiJ+A++ +8Dn1f9OLRCQdOdOJ1onHdB+JRCQdg8YBD7ZG/4PHATneiEf/de+LRCQdKdYB8gHw +i3wkBYPvAYP//3RNjXQmAA+2HCSNaAGLdCQliBgPthwOhNsPjpUAAACD6wEPtvMx +24PGAYlMJAEPtgwaiEwYAYPDATnzdfGD7wEB2otMJAGD//+NRB0AdbeD6QGD+f90 +QA+2HCSNeAGLdCQliBgPthwOhNt+RIPrAYnND7bzMduDxgEPtgwaiEwYAYPDATnz +dfGJ6QHag+kBg/n/jQQfdcCDxAlbXl9dw420JgAAAACDRCQFAenm/v//ifjrm4no +6T////+QkJCQkJCQkJCQkFUx7VdWU4PsCg+3fCQii0QkHotUJC6LdCQyZok8JIt8 +JCYPtg+Jyw+++4tcJCqITCQCMcmD6wGJXCQGkI10JgCJ8ynT0fs5+344D7ZcJAKD +6wGA+313K40cPyneO0wkBg+DAgEAAIt8JCaDwQEPthwPD777iFwkAonzKdPR+zn7 +f8g51onTicd0K4lEJB5mkIPDAg+3Q/6DxwI53maJR/517o1aAotEJB4p3tHujVw2 +AgHYAdqD7QGD/f90VI12AA+3NCSNeAJmiTCLdCQmD7YcDoTbD46WAAAAg+sBD7bb +jXQbAjHbiUwkAo22AAAAAA+3DBpmiUwYAoPDAjnzdfCD7QEB2otMJAKD/f+NBB91 +r4PpAYP5/3RHjbQmAAAAAA+3PCSNaAJmiTiLfCQmD7YcD4TbfkGD6wEPttuNfBsC +MdsPtzQaZol0GAKDwwI5+3Xwg+kBAdqD+f+NRB0AdcCDxApbXl9dw4PFAenQ/v// +ifjpPv///4no65aQkJCQkFVXVlOD7CzHRCQEAAAAAItsJETHBCQAAAAA6PnZ+/+J +BCSJxuiX2fv/jXgBiTwk6LxSAACJfCQIicOJdCQEiQQk6CLZ+//HRCQEAHVJAMcE +JAAAAADovtn7/41EJByJRCQEi0QkQIkEJOgC2vv/i0QkHDtEJEDdVQB0CYA4AHRE +3djrAt3Yi0QkSNnu3V0AxwAEAAAA6wnd2I20JgAAAACJXCQExwQkAAAAAOho2fv/ +hdt0CIkcJOgEUgAAg8QsW15fXcPdBYB1SQDZydvp3dl3Ct0FiHVJAN/pdrvZ7tnJ +3+nd2HYa3QWAdUkA3V0Ai0QkSMcABAAAAOulkI10JgDdBYh1SQDdXQDr5IPCAYkE +JHQF6Hha+//oQ1UAAJCQkFVXVlOD7CzHRCQEAAAAAItsJETHBCQAAAAA6NnY+/+J +BCSJxuh32Pv/jXgBiTwk6JxRAACJfCQIicOJdCQEiQQk6ALY+//HRCQEAHVJAMcE +JAAAAADontj7/41EJByJRCQEi0QkQIkEJOiyhfv/i0QkHDtEJEDZwNt9AHQJgDgA +dETd2OsC3diLRCRI2e7bfQDHAAQAAADrCY20JgAAAADd2IlcJATHBCQAAAAA6EbY ++/+F23QIiRwk6OJQAACDxCxbXl9dw9stkHVJANnJ2+nd2XcK2y2gdUkA3+l2wtnu +2cnf6d3YdhjbLZB1SQDbfQCLRCRIxwAEAAAA66WNdgDbLaB1SQDbfQDr5oPCAYkE +JHQF6FhZ+//oI1QAAJCQkFVXVlOD7CzHRCQEAAAAAItsJETHBCQAAAAA6LnX+/+J +BCSJxuhX1/v/jXgBiTwk6HxQAACJfCQIicOJdCQEiQQk6OLW+//HRCQEAHVJAMcE +JAAAAADoftf7/41EJByJRCQEi0QkQIkEJOgChPv/i0QkHDtEJEDZVQB0CYA4AHRG +3djrAt3Yi0QkSMdFAAAAAADHAAQAAADrCY20JgAAAADd2IlcJATHBCQAAAAA6CbX ++/+F23QIiRwk6MJPAACDxCxbXl9dw9kFdHVJANnJ2+nd2XcK2QV4dUkA3+l2wqF4 +dUkA2e7Zyd/p3dgPRwV0dUkAiUUAi0QkSMcABAAAAOuhg8IBiQQkdAXoQlj7/+gN +UwAAkJCQkJCQkJCQkJCQkItUJAShhPtIAIkVhPtIAMOAPWCxSAAAdAe42BJJAMOQ +g+wcxwQkYLFIAOihVgAAhcB0NrnYEkkAxwXYEkkAAAAAAOiJOv//xwQkYLFIAMcF +2BJJAMjFSQDoc1cAAMcEJNA8SADopzf4/7jYEkkAg8Qcw5CQkJCQkJCQkJCQkJCQ +i1QkBKH0EkkAiRX0EkkAw7jEB0kAw5CQkJCQkJCQkJBXv6RxSQBWU4PsEMdEJAQA +AAAAxwQkBAAAAOj51fv/uQIAAACJxonD86Z1J41EJDCJRCQIi0QkLIlEJASLRCQk +iQQk6NjV+/+Jw4PEEInYW15fw4kEJOhl1fv/jXgBiTwk6IpOAACJXCQEiXwkCIkE +JInG6PDU+//HRCQEpHFJAMcEJAQAAADojNX7/41EJDCJRCQIi0QkLIlEJASLRCQk +iQQk6HjV+/+F9onDdJyJdCQExwQkBAAAAOha1fv/iTQk6PpNAACDxBCJ2FteX8OQ +VYnlV1ZTg+w8i10IjU3giRwk6Dka/v+D7ASAfeAAdEqLA4tQ9I00E4tGCDtFEIlF +zA+OGQEAAItGDIn3JbAAAACD+CAPlMCEwIhF0w+EbgEAAItHFIXAD4QUAQAAgH3T +AHU/x0cIAAAAAItF5IsQA0L09kANIInGdB7o8QcAAITAdRWLTniFyXQOiwH/UBiD ++P8PhKgBAACNZfSJ2FteX13Di3cUhfZ1uot1zCt1EIB/dQAPhbcBAACLR3yFwIlF +1A+ELQIAAItF1IB4HAAPhKwBAAAPtkA9iEd0ixPGR3UBiEXUi1L0jTwThfYPjnH/ +//8Pvn3U6xQPtlXUiBCDQRQBg+4BiwN0N4tQ9ItME3iLQRQ7QRhy4Ik8JOj4agAA +g8ABUXXciwOLSPQB2YtBFIPIAYkEJOjF5P//iwOD7ASLePQB3+kZ////jbYAAAAA +i054i30QiwGJfCQEi30MiTwk/1Awg+wIOUUQiwN1uevPi094i30QiwGJfCQEi30M +iTwk/1Awg+wIOUUQiwN0GItI9AHZi0EUg8gBiQQk6F3k//+LA4PsBItQ9IB90wCN +PBMPhKv+///p5f7//412AItFzCtFEIB+dQCJRdQPhZAAAACLfnyF/w+EGwEAAIB/ +HAAPhLgAAAAPtkc9iEZ0ixPGRnUBicaLUvSNPBOLTdSFyQ+OSv7//4nwD774jXYA +i0wTeItBFDtBGA+DnQAAAInyiBCDQRQBiwODbdQBi1D0dd2NPBPpF/7//5CNdCYA +i03kiwEDSPSLQRSDyAGJBCToquP//4nYg+wEjWX0W15fXcMPtnZ065SNtCYAAAAA +D7ZHdIhF1Olu/v//jXQmAItN1OiIRvz/i03UiwHHBCQgAAAA/1AYg+wE6Tn+//+Q +ifnoaUb8/4sHifnHBCQgAAAA/1AYg+wE6S////+JPCToU2kAAIPAAVIPhVn///+L +A4tI9AHZi0EUg8gBiQQk6Bzj//+LA4PsBItQ9I08E+le/f//6PcDAADo8gMAAIPq +AYkEJHUZ6MVNAACLAwNY9INLFAH2QxABdDzowVMAAOisTQAAiwOLePQB34NPFAH2 +RxABdSrohk8AAOkr/f//icPoek8AAI1N4OjCF/7/iRwk6GpT+//ohVMAAInD6+eQ +6HtTAACJw+hUTwAA69iQkFWJ5VdWU4PsPItdCI1N4IkcJOg59v7/g+wEgH3gAHRR +iwOLUPSNPBOLRwg7RRCJRcgPjv0AAACLRwyJfdQlsAAAAIP4IA+UwITAiEXPD4R0 +AQAAi0XUi3gUhf8PhBcBAACAfc8AdUmLRdTHQAgAAAAAi0XkixADQvT2QA0gicZ0 +Huh6BAAAhMB1FYtOeIXJdA6LAf9QGIP4/w+EpQEAAI1l9InYW15fXcONtCYAAAAA +i0XUi3AUhfZ1rYtF1It1yCt1EIB4dgAPhNUBAAAPt3h0hfZ+kg+3x4lF1OsPjXYA +g+4BD4SCAAAAi1D0i0wTeItBFDtBGA+D6gEAAGaJOIPAAolBFIn4ZoP4/4sDddGL +SPQB2YtBFIPIAYkEJOg+6P//iwOD7ASLcPQB3ol11Okz////i094i30QiwGJfCQE +i30MiTwk/1Awg+wIOUUQiwN0GItI9AHZi0EUg8gBiQQk6Prn//+LA4PsBIt49AHf +iX3U6e/+//+LSHiLfRCLdQyLAYl8JASJNCT/UDCD7Ag5RRCLA3QYi0j0AdmLQRSD +yAGJBCTotuf//4sDg+wEi1D0gH3PAI0EE4lF1A+Epf7//+np/v//i0XIK0UQgH92 +AIlF0A+EmAAAAA+3d3SLTdCFyQ+Oav7//w+3/usNZpCLA4Nt0AGLUPR0bItME3iL +QRQ7QRgPg80AAABmiTCDwAKJQRSJ8GaD+P911IsDi0j0AdmLQRSDyAGJBCToL+f/ +/4sDg+wEi1D0jQQTiUXU6Q/+//+LTeSLAQNI9ItBFIPIAYkEJOgG5///idiD7ASN +ZfRbXl9dw40EE4lF1Onh/f//i098hcl0fosBxwQkIAAAAP9QKIsTg+wEZolHdMZH +dgGLUvSNNBOJddSJxuk8////i0XUi0h8hcl0cYsBxwQkIAAAAP9QKIsTg+wEi33U +i1L0ZolHdMZHdgGNPBOJfdSJx+n5/f//iTwk6NxlAABS6TD///+LRdSJBCToy2UA +AFHpEP7//+iEAAAAg+oBiQQkdTroV0oAAIsDA1j0g0sUAfZDEAF0IehTUAAA6F4A +AACJw+gnTAAAjU3g6N/z/v+JHCToF1D7/+gyUAAA6B1KAACLA4tw9AHeg04UAfZG +EAF1Cuj3SwAA6RP9//9mkOgLUAAAicPrwInD6OBLAADrt5CQkJCQkJCQkJCQkJCQ +g+wcxwQkBAAAAOiRSAAAxwDo10kAx0QkCOCnRwDHRCQErKxJAIkEJOgjUAAAkJCQ +uMgHSQDDkJCQkJCQkJCQkIPsLI1EJB+JRCQIi0QkNIlEJASLRCQwiQQk6OEGAACD +xCzDkJCQkJCQkJCQkJCQkIPsLI1EJB+JRCQIi0QkNIlEJASLRCQwiQQk6LEHAACD +xCzDkJCQkJCQkJCQkJCQkIPsHMcEJAQAAADo8UcAAMcAmNlJAMdEJAhww0cAx0Qk +BHitSQCJBCTog08AAJCQkFdWU4tEJBiLfCQQixiLQ/SNUP+LRCQUjXD/OdYPR/KF +9nRRMcnrBDnxcxQPtgQPOAQTD5TAg+oBg8EBhMB16IXSD7YMN3QahMB1CesUjXYA +hdJ0DTgMEw+UwIPqAYTAde+NUf+A+n13BzgLD57CIdBbXl/DuAEAAADrxJCQkJCQ +g+wcxwQkBAAAAOhBRwAAxwAoykkAx0QkCFAyRgDHRCQEEKhJAIkEJOjTTgAAkJCQ +g+wM6GhMAACLQASFwA+VwIPEDMOQkJCQkJCQkJCQkJBVieVWU4PsIMcEJAgAAACN +dfTo6UYAAInxicONRfKJRCQEi0UIiQQk6MNB/v+D7AiJ2Yk0JOgWzv//i0X0jUj0 +jUXzg+wEiQQk6OIr/v+D7ATHRCQIYLZHAMdEJASsp0kAiRwk6EdOAACJxokcJOgN +SwAAiTQk6LVN+/+QkJCQkFWJ5VZTg+wgxwQkCAAAAI119OhpRgAAifGJw41F8olE +JASLRQiJBCToQ0H+/4PsCInZiTQk6DZo/v+LRfSD7ASNSPSNRfOJBCToYiv+/4Ps +BMdEJAjwUEYAx0QkBNioSQCJHCTox00AAInGiRwk6I1KAACJNCToNU37/4nGi0X0 +jUj0jUXziQQk6CIr/v9Q69qQkJCQkJCQkJCQkJCQkJBVieVWU4PsIMcEJAgAAACN +dfToyUUAAInxicONRfKJRCQEi0UIiQQk6KNA/v+D7AiJ2Yk0JOhWaP7/i0X0g+wE +jUj0jUXziQQk6MIq/v+D7ATHRCQIoFFGAMdEJATkqEkAiRwk6CdNAACJxokcJOjt +SQAAiTQk6JVM+/+JxotF9I1I9I1F84kEJOiCKv7/UOvakJCQkJCQkJCQkJCQkJCQ +VYnlVlOD7BDHBCQMAAAA6CxFAACJw4tFCInZiQQk6C1o/v+D7ATHRCQIgFJGAMdE +JATwqEkAiRwk6LJMAACJxokcJOh4SQAAiTQk6CBM+/9VieVWU4PsIMcEJAgAAACN +dfTo2UQAAInxicONRfKJRCQEi0UIiQQk6LM//v+D7AiJ2Yk0JOh2bv7/i0X0g+wE +jUj0jUXziQQk6NIp/v+D7ATHRCQIsFhGAMdEJAQcqUkAiRwk6DdMAACJxokcJOj9 +SAAAiTQk6KVL+/+JxotF9I1I9I1F84kEJOiSKf7/UevakJCQkJCQkJCQkJCQkJCQ +VYnlV1ZTg+wsxwQkEAAAAI115Og4RAAAicPoQfP//4nxxwQkvHBJAInHjUXjiUQk +BOgKP/7/g+wIidmJNCTo/WX+/4tF5IPsBI1I9IH5cAxJAHUni0UIxwNgzEkAiXsM +iUMIx0QkCOBYRgDHRCQEKKlJAIkcJOiFSwAAgz0AUUwAAHUdi1D8jXL/iXD8idCF +wH/BjUXiiQQk6MIo/v9Q67ODyv/wD8FQ/InQ6+KJxotF5I1I9I1F4okEJOjAKP7/ +UIkcJOgHSAAAiTQk6K9K+/+JxuvskJCQkJCQkJCQkJBVieVWU4PsIMcEJAgAAACN +dfToWUMAAInxicONRfKJRCQEi0UIiQQk6DM+/v+D7AiJ2Yk0JOiGbf7/i0X0g+wE +jUj0jUXziQQk6FIo/v+D7ATHRCQIQFlGAMdEJAQ0qUkAiRwk6LdKAACJxokcJOh9 +RwAAiTQk6CVK+/+JxotF9I1I9I1F84kEJOgSKP7/UOvakJCQkJCQkJCQkJCQkJCQ +VYnlVlOD7CDHBCQIAAAAjXX06LlCAACJ8YnDjUXyiUQkBItFCIkEJOiTPf7/g+wI +idmJNCToRm3+/4tF9IPsBI1I9I1F84kEJOiyJ/7/g+wEx0QkCKBZRgDHRCQEQKlJ +AIkcJOgXSgAAicaJHCTo3UYAAIk0JOiFSfv/icaLRfSNSPSNRfOJBCTocif+/1Dr +2pCQkJCQkJCQkJCQkJCQkFWJ5VdWU4PsLMcEJBAAAACNfeToGEIAAInD6KH5//+L +VQiJ+YnGiwCJVCQEiTQk/1AMg+wIidmJPCToMQD//4tF5IPsBI1I9IH5cAxJAHUn +i0UIxwOozEkAiXMMiUMIx0QkCNBZRgDHRCQETKlJAIkcJOhpSQAAgz0AUUwAAHUb +i1D8jXr/iXj8hdJ/w41F44kEJOioJv7/UOu1g8r/8A/BUPzr5InGi0XkjUj0jUXj +iQQk6Kgm/v9XiRwk6O9FAACJNCTol0j7/4nG6+yQkJBVieVXVlOD7ByLXQiLRRCL +fQyLSwg7SwzGAAEPg7YAAAAPtgHHReQAAAAA6y2NdgCLB4kMJIn5iXQkBP9QMAFD +CAFF5IPsCDnGf2eLA4nZ/1Akg/j/dDuLSwiLcwwpzoP+AX/Mi08UO08YczGIAYNH +FAGLSwiLQwyDReQBOcFzQ4PBAYlLCDnIdsEPtgGD+P91xYtF5I1l9FteX13DizcP +tsCJ+YkEJP9WNIPsBIP4/3XAi0UQxgAAi0XkjWX0W15fXcOLA4nZ/1Aog/j/dMOL +SwiLQwzrr4sDidn/UCSD+P91CcdF5AAAAADrpotLCOkw////kJCQkJCQkJCQkJCQ +VYnlV1ZTg+wci3UIi0UQi30MxgABi0YIO0YMD4PJAAAAD7cAZoP4/8dF5AAAAAB1 +Let3iweJDCSJ+YlcJAT/UDABReSD7AiNDAABTgg5w39/iwaJ8f9QJGaD+P90TItO +CIteDCnL0fuD+wF/xotPFDtPGHNAZokBg8ECiU8Ui04Ig0XkATtODHNXD7cBg8EC +iU4IZoP4/3QRi0YIO0YMc7APtwBmg/j/dbSLReSNZfRbXl9dw4sfD7fAifmJBCT/ +UzSD7ARmg/j/dbOQjXQmAItFEMYAAItF5I1l9FteX13DiwaJ8f9QKOupiwaJ8f9Q +JOku////kJCQkJCQkJCQkIPsHMcEJAQAAADoUT8AAMcAwMxJAMdEJAgAWkYAx0Qk +BFipSQCJBCTo40YAAJCQkFWJ5VZTg+wgxwQkCAAAAI119OgZPwAAifGJw41F8olE +JASLRQiJBCTo8zn+/4PsCInZiTQk6Db9/v+LRfSD7ASNSPSNRfOJBCToEiT+/4Ps +BMdEJAhA7UYAx0QkBMypSQCJHCTod0YAAInGiRwk6D1DAACJNCTo5UX7/4nGi0X0 +jUj0jUXziQQk6NIj/v9Q69qQkJCQkJCQkJCQkJCQkJBVieVWU4PsIMcEJAgAAACN +dfToeT4AAInxicONRfKJRCQEi0UIiQQk6FM5/v+D7AiJ2Yk0JOhmKP//i0X0g+wE +jUj0jUXziQQk6HIj/v+D7ATHRCQIABlHAMdEJARwqkkAiRwk6NdFAACJxokcJOid +QgAAiTQk6EVF+/+JxotF9I1I9I1F84kEJOgyI/7/UOvakJCQkJCQkJCQkJCQkJCQ +VYnlVlOD7CDHBCQIAAAAjXX06Nk9AACJ8YnDjUXyiUQkBItFCIkEJOizOP7/g+wI +idmJNCTo1j3//4tF9IPsBI1I9I1F84kEJOjSIv7/g+wEx0QkCBAvRwDHRCQE7KpJ +AIkcJOg3RQAAicaJHCTo/UEAAIk0JOilRPv/icaLRfSNSPSNRfOJBCTokiL+/1Hr +2pCQkJCQkJCQkJCQkJCQkFWJ5VZTg+wgxwQkCAAAAI119Og5PQAAifGJw41F8olE +JASLRQiJBCToEzj+/4PsCInZiTQk6KZJ//+LRfSD7ASNSPSNRfOJBCToMiL+/4Ps +BMdEJAiAO0cAx0QkBBCrSQCJHCTol0QAAInGiRwk6F1BAACJNCToBUT7/4nGi0X0 +jUj0jUXziQQk6PIh/v9Q69qQkJCQkJCQkJCQkJCQkJCD7BzHBCQEAAAA6KE8AADH +AEjTSQDHRCQIsEJHAMdEJAQ0q0kAiQQk6DNEAACQkJBVieVXVlOD7CyLdQiNXeSJ +2YsGi3j0AfeJ+IPAbIkEJOg7nP//g+wEiRwk6MAVAACJ2YnH6Aed//+LBotA9Itc +BniLQwg7QwxzNQ+2AI12AItXGA+2wPYEQiB1Co1l9InwW15fXcOLUwiLQww5wnM9 +g8IBiVMIOcJzBQ+2AuvRidnoalgAAIP4/3XFiwaLSPQB8YtBFIPIAokEJOhQ0v// +ifCD7ASNZfRbXl9dw4nZ6DRYAACD+P900otTCItDDOu1icaJ2eh2nP//iTQk6N5C ++/+QkJCQkJCQkJCQkJCQkFWJ5VdWU4PsLItFCIt1CI1d5InZiwADcPSJ8IPAbIkE +JOham///g+wEiRwk6D8VAACJ2YnG6Cac//+LRQiLTQiLAItA9ItcAXiLQwg7Qwxz +aw+3OGaD//91J4tFCItNCIsAA0j0i0EUg8gCiQQk6G3Y//+LRQiD7ASNZfRbXl9d +w4sGD7fPiUwkBInxxwQkIAAAAP9QCIPsCITAdCqLUwg7UwxzMw+3AoPCAolTCGaD ++P90potDCDtDDHKVidnoXVcAAInH641mg///dI2LRQiNZfRbXl9dw4nZ6DlXAADr +zYnGidnodpv//4k0JOjeQfv/kJCQkJCQkJCQkJCQkJBVieVWU4PsEIt1CIsGi0D0 +i1wGfIXbdEKAexwAdCIPtkMnD77AifGJBCToEf/9/4PsBInBjWX4W15d6UEA/v+Q +idno2TP8/4sDidnHBCQKAAAA/1AYg+wE68joofH//5BVieVTg+wUi10IiwOLQPSL +TAN8hcl0KosBxwQkCgAAAP9QKInZg+wED7fAiQQk6A3e/v+LXfyD7ASJwcnpT9/+ +/+ha8f//kJCQkJCQkJCQkFWJ5YPsGItNCMcEJAAAAADoe/79/4PsBMnDkJCQkJCQ +VYnlg+wYi00IxwQkAAAAAOi73f7/g+wEycOQkJCQkJCLTCQE6Yf//f+QkJCQkJCQ +i0wkBOnn3v7/kJCQkJCQkFWJ5VZTg+wQi3UIiwaLQPSLXAZ8hdt0QoB7HAB0Ig+2 +QycPvsCJRCQIi0UMiTQkiUQkBOgoAAAAjWX4W15dw5CJ2ejJMvz/iwOJ2ccEJAoA +AAD/UBiD7ATryOiR8P//kFWJ5VdWU4PsPItFCMdEJAQBAAAAjU3ni3UQiQQk6E7v +/f+6BAAAAIPsCIB95wB1JItFCItNCIsAA0j0C1EUiRQk6FrP//+D7ASLRQiNZfRb +Xl9dw4tFDMdEJAgAAAAAi00MiwCLQPTHBCQAAAAAiUQkBOipMf7/i0UIg+wMifeL +XQiLAItA9ItcA3iLUwg7UwwPgw0CAAAPtgKJ8Q+28Yn5iXXMMfYPvsk5RcyJTdB1 +G2a+AQDprwAAAI22AAAAADlFzA+EmgAAAItTCItLDL/8//8/Kfcp0TnPD0/5g/8B +D46qAAAAi0XQiXwkCIkUJIlV1IlEJATovL37/4tV1IkUJInBKdGFwA9F+YtNDIl8 +JAToaSH+/4tDCIPsCAH+Afg7QwyJQwgPg80AAAAPtgCB/vv//z93GIP4/3WDhfYP +hO8AAAC6AgAAAOnh/v//kIP4/3TwOUXMugQAAAAPhc3+//+LUwiDxgE7UwwPg0gB +AACDwgGJUwiF9g+Fyf7//zHSg8oE6ab+//+NtgAAAACIRdSLRQyLAItQ9I16ATt4 ++HcHi0j8hcl+FotNDIk8JOiLL/7/i0UMg+wEiwCLUPQPtk3UiAwQi0UMiwA9fAxJ +AHUzi0MIg8YBi1MMOdBzNoPAAYlDCDnQD4I/////idnoG1YAAOk2////iwOJ2f9Q +JOkq////x0D8AAAAAIl49MYEOADrvYnZ6PtVAACD+P90CItDCItTDOu8uP/////p +/P7//7oCAAAA6UT///+D+gF1OokEJOglOAAAi0UIi3UIiwADcPSDThQB9kYQAXQY +6Bs+AAAx9uvVicPo8DkAAIkcJOjoPfv/6AM+AACJBCTo6zcAAItFCItdCIsAA1j0 +g0sUAfZDEAF1LOjBOQAA6dT+//+J2ehlVQAAg/j/ZpB0gotTCOng/f//idnoV1UA +AOmy/v//6LU9AACQjXQmAOuTicPohzkAAIkcJOh/Pfv/kJCQkJCQkJCQkJCQkJCQ +VYnlU4PsFItdCIsDi0D0i0wDfIXJdCqLAccEJAoAAAD/UCiD7AQPt8CJRCQIi0UM +iRwkiUQkBOgUAAAAi138ycPoWu3//5CQkJCQkJCQkJBVieVXVlOD7EyLRRDHRCQE +AQAAAI1N54lFvGaJRcqLRQiJBCTot8r+/7gEAAAAg+wIgH3nAHUpi30IixeLSvQB ++QtBFIkEJOjk0v//g+wEi0UIjWX0W15fXcONtgAAAACLRQzHRCQIAAAAAItNDIsA +i0D0xwQkAAAAAIlEJATofb79/4tFCIPsDIt9CIsAi0D0i1wHeItDCDtDDA+DDwIA +AA+3MGaD/v8PhCQCAAAPt0XKMf9mOXW8iUXMuAEAAAB1MInHi0MIO0MMD4PyAQAA +g8ACiUMIhf8PhXH///8xwIPIBOlP////Zjl1yg+ETgEAAItDDLn+//8fi1MIKfmJ +RcQp0NH4OcEPT8iD+QEPjpwAAACLRcyJTCQIiRQkiU3UiUQkBOjWZvv/i1MIi03U +hcAPhBABAAAp0InG0f6LTQyJdCQEiRQk6HOt/f+LQwiD7AgB940EcDtDDIlDCA+D +6wAAAA+3MIH//f//H3chZoP+/w+Fb////4X/D4RRAQAAuAIAAADprP7//5CNdCYA +ZoP+/3TrZjl1vLgEAAAAD4WS/v//g8cB6Rf///+NdgCLRQyLCItB9IlN0IlF1IPA +ATtB+IlFwHcHi0H8hcB+KItFwItNDIkEJOhCvP3/i0UMg+wEi1MIiwCJRdCLQPSJ +RdSLQwyJRcSLRdCLTdQ9bAxJAGaJNEh1XoPHATtVxHNtD7cCg8ICiVMIZoP4/3Q9 +i0MIO0MMD4I4////idnorVIAAInG6S3///+NtgAAAACNRwHpev7//4nO6e/+//+L +A4nZ/1AkicbpCv///77/////6QD///+JxjHJx0D8AAAAAItFwIlG9GaJDEbri4nZ +6GNSAADrkzH/g/oBdWKJBCTomjQAAItFCIt9CIsAA3j0g08UAfZHEAF0QOiQOgAA +idnoKVIAAInG6eb9//9mkOvHidnoH1IAAOkI/v//ZpDrtbgCAAAA6QT+//+Jw+g9 +NgAAiRwk6DU6+//oUDoAAIkEJOg4NAAAi0UIi10IiwADWPSDSxQB9kMQAXUK6A42 +AADpv/3//+gkOgAAicNmkOj7NQAAiRwk6PM5+/+QkJAPtkQkBMOQkJCQkJCQkJCQ +D7dEJATDkJCQkJCQkJCQkFO5jAxJAIPsGOgiM/z/icGLRCQgixAxwDtKCItaBHMs +ixSLhdJ0JcdEJAwAAAAAx0QkCECoSQDHRCQEpKdJAIkUJOhpOgAAhcAPlcCDxBhb +w5CQkJCQkJCQkJCQkJCQkFO5lAxJAIPsGOjCMvz/icGLRCQgixAxwDtKCItaBHMs +ixSLhdJ0JcdEJAwAAAAAx0QkCICoSQDHRCQEpKdJAIkUJOgJOgAAhcAPlcCDxBhb +w5CQkJCQkJCQkJCQkJCQkFO5nAxJAIPsGOhiMvz/icGLRCQgixAxwDtKCItaBHMs +ixSLhdJ0JcdEJAwAAAAAx0QkCMCoSQDHRCQEpKdJAIkUJOipOQAAhcAPlcCDxBhb +w5CQkJCQkJCQkJCQkJCQkFO5oAxJAIPsGOgCMvz/icGLRCQgixAxwDtKCItaBHMs +ixSLhdJ0JcdEJAwAAAAAx0QkCMyoSQDHRCQEpKdJAIkUJOhJOQAAhcAPlcCDxBhb +w5CQkJCQkJCQkJCQkJCQkFO5QA1JAIPsGOiiMfz/icGLRCQgixAxwDtKCItaBHMs +ixSLhdJ0JcdEJAwAAAAAx0QkCCCsSQDHRCQEpKdJAIkUJOjpOAAAhcAPlcCDxBhb +w5CQkJCQkJCQkJCQkJCQkFO5RA1JAIPsGOhCMfz/icGLRCQgixAxwDtKCItaBHMs +ixSLhdJ0JcdEJAwAAAAAx0QkCECsSQDHRCQEpKdJAIkUJOiJOAAAhcAPlcCDxBhb +w5CQkJCQkJCQkJCQkJCQkFO5aA1JAIPsGOjiMPz/icGLRCQgixAxwDtKCItaBHMs +ixSLhdJ0JcdEJAwAAAAAx0QkCEysSQDHRCQEpKdJAIkUJOgpOAAAhcAPlcCDxBhb +w5CQkJCQkJCQkJCQkJCQkFO5bA1JAIPsGOiCMPz/icGLRCQgixAxwDtKCItaBHMs +ixSLhdJ0JcdEJAwAAAAAx0QkCFisSQDHRCQEpKdJAIkUJOjJNwAAhcAPlcCDxBhb +w5CQkJCQkJCQkJCQkJCQkFO5cA1JAIPsGOgiMPz/icGLRCQgixAxwDtKCItaBHMs +ixSLhdJ0JcdEJAwAAAAAx0QkCGSsSQDHRCQEpKdJAIkUJOhpNwAAhcAPlcCDxBhb +w5CQkJCQkJCQkJCQkJCQkFO5dA1JAIPsGOjCL/z/icGLRCQgixAxwDtKCItaBHMs +ixSLhdJ0JcdEJAwAAAAAx0QkCHCsSQDHRCQEpKdJAIkUJOgJNwAAhcAPlcCDxBhb +w5CQkJCQkJCQkJCQkJCQkFO5eA1JAIPsGOhiL/z/icGLRCQgixAxwDtKCItaBHMs +ixSLhdJ0JcdEJAwAAAAAx0QkCHysSQDHRCQEpKdJAIkUJOipNgAAhcAPlcCDxBhb +w5CQkJCQkJCQkJCQkJCQkFO5fA1JAIPsGOgCL/z/icGLRCQgixAxwDtKCItaBHMs +ixSLhdJ0JcdEJAwAAAAAx0QkCIisSQDHRCQEpKdJAIkUJOhJNgAAhcAPlcCDxBhb +w5CQkJCQkJCQkJCQkJCQkFO5gA1JAIPsGOiiLvz/icGLRCQgixAxwDtKCItaBHMs +ixSLhdJ0JcdEJAwAAAAAx0QkCJSsSQDHRCQEpKdJAIkUJOjpNQAAhcAPlcCDxBhb +w5CQkJCQkJCQkJCQkJCQkFO5hA1JAIPsGOhCLvz/icGLRCQgixAxwDtKCItaBHMs +ixSLhdJ0JcdEJAwAAAAAx0QkCKCsSQDHRCQEpKdJAIkUJOiJNQAAhcAPlcCDxBhb +w5CQkJCQkJCQkJCQkJCQkFO5kA1JAIPsGOjiLfz/icGLRCQgixAxwDtKCItaBHMs +ixSLhdJ0JcdEJAwAAAAAx0QkCMCsSQDHRCQEpKdJAIkUJOgpNQAAhcAPlcCDxBhb +w5CQkJCQkJCQkJCQkJCQkFO5lA1JAIPsGOiCLfz/icGLRCQgixAxwDtKCItaBHMs +ixSLhdJ0JcdEJAwAAAAAx0QkCOCsSQDHRCQEpKdJAIkUJOjJNAAAhcAPlcCDxBhb +w5CQkJCQkJCQkJCQkJCQkFO5mA1JAIPsGOgiLfz/icGLRCQgixAxwDtKCItaBHMs +ixSLhdJ0JcdEJAwAAAAAx0QkCACtSQDHRCQEpKdJAIkUJOhpNAAAhcAPlcCDxBhb +w5CQkJCQkJCQkJCQkJCQkFO5nA1JAIPsGOjCLPz/icGLRCQgixAxwDtKCItaBHMs +ixSLhdJ0JcdEJAwAAAAAx0QkCAytSQDHRCQEpKdJAIkUJOgJNAAAhcAPlcCDxBhb +w5CQkJCQkJCQkJCQkJCQkFO5oA1JAIPsGOhiLPz/icGLRCQgixAxwDtKCItaBHMs +ixSLhdJ0JcdEJAwAAAAAx0QkCCCtSQDHRCQEpKdJAIkUJOipMwAAhcAPlcCDxBhb +w5CQkJCQkJCQkJCQkJCQkFO5pA1JAIPsGOgCLPz/icGLRCQgixAxwDtKCItaBHMs +ixSLhdJ0JcdEJAwAAAAAx0QkCECtSQDHRCQEpKdJAIkUJOhJMwAAhcAPlcCDxBhb +w5CQkJCQkJCQkJCQkJCQkFO5qA1JAIPsGOiiK/z/icGLRCQgixAxwDtKCItaBHMs +ixSLhdJ0JcdEJAwAAAAAx0QkCGCtSQDHRCQEpKdJAIkUJOjpMgAAhcAPlcCDxBhb +w5CQkJCQkJCQkJCQkJCQkFO5rA1JAIPsGOhCK/z/icGLRCQgixAxwDtKCItaBHMs +ixSLhdJ0JcdEJAwAAAAAx0QkCGytSQDHRCQEpKdJAIkUJOiJMgAAhcAPlcCDxBhb +w5CQkJCQkJCQkJCQkJCQkFO5sA1JAIPsGOjiKvz/icGLRCQgixAxwDtKCItaBHMs +ixSLhdJ0JcdEJAwAAAAAx0QkCKStSQDHRCQEpKdJAIkUJOgpMgAAhcAPlcCDxBhb +w5CQkJCQkJCQkJCQkJCQkFO5tA1JAIPsGOiCKvz/icGLRCQgixAxwDtKCItaBHMs +ixSLhdJ0JcdEJAwAAAAAx0QkCLCtSQDHRCQEpKdJAIkUJOjJMQAAhcAPlcCDxBhb +w5CQkJCQkJCQkJCQkJCQkFO5uA1JAIPsGOgiKvz/icGLRCQgixAxwDtKCItaBHMs +ixSLhdJ0JcdEJAwAAAAAx0QkCLytSQDHRCQEpKdJAIkUJOhpMQAAhcAPlcCDxBhb +w5CQkJCQkJCQkJCQkJCQkFO5vA1JAIPsGOjCKfz/icGLRCQgixAxwDtKCItaBHMs +ixSLhdJ0JcdEJAwAAAAAx0QkCMitSQDHRCQEpKdJAIkUJOgJMQAAhcAPlcCDxBhb +w5CQkJCQkJCQkJCQkJCQkIPsHKGA+0gAiQQk6JC1+/+D7By5jAxJAOhTKfz/i1Qk +IIsSO0IIi0oEcy+LBIGFwHQox0QkDAAAAADHRCQIQKhJAMdEJASkp0kAiQQk6J4w +AACFwHQPg8Qcw422AAAAAOjb3///6FYpAACQkJCQkJCD7By5kAxJAOjzKPz/i1Qk +IIsSO0IIi0oEcy+LBIGFwHQox0QkDAAAAADHRCQIYKhJAMdEJASkp0kAiQQk6D4w +AACFwHQPg8Qcw422AAAAAOh73///6PYoAACQkJCQkJCD7By5lAxJAOiTKPz/i1Qk +IIsSO0IIi0oEcy+LBIGFwHQox0QkDAAAAADHRCQIgKhJAMdEJASkp0kAiQQk6N4v +AACFwHQPg8Qcw422AAAAAOgb3///6JYoAACQkJCQkJCD7By5mAxJAOgzKPz/i1Qk +IIsSO0IIi0oEcy+LBIGFwHQox0QkDAAAAADHRCQIoKhJAMdEJASkp0kAiQQk6H4v +AACFwHQPg8Qcw422AAAAAOi73v//6DYoAACQkJCQkJCD7By5nAxJAOjTJ/z/i1Qk +IIsSO0IIi0oEcy+LBIGFwHQox0QkDAAAAADHRCQIwKhJAMdEJASkp0kAiQQk6B4v +AACFwHQPg8Qcw422AAAAAOhb3v//6NYnAACQkJCQkJCD7By5oAxJAOhzJ/z/i1Qk +IIsSO0IIi0oEcy+LBIGFwHQox0QkDAAAAADHRCQIzKhJAMdEJASkp0kAiQQk6L4u +AACFwHQPg8Qcw422AAAAAOj73f//6HYnAACQkJCQkJCD7By5QA1JAOgTJ/z/i1Qk +IIsSO0IIi0oEcy+LBIGFwHQox0QkDAAAAADHRCQIIKxJAMdEJASkp0kAiQQk6F4u +AACFwHQPg8Qcw422AAAAAOib3f//6BYnAACQkJCQkJCD7By5RA1JAOizJvz/i1Qk +IIsSO0IIi0oEcy+LBIGFwHQox0QkDAAAAADHRCQIQKxJAMdEJASkp0kAiQQk6P4t +AACFwHQPg8Qcw422AAAAAOg73f//6LYmAACQkJCQkJCD7By5aA1JAOhTJvz/i1Qk +IIsSO0IIi0oEcy+LBIGFwHQox0QkDAAAAADHRCQITKxJAMdEJASkp0kAiQQk6J4t +AACFwHQPg8Qcw422AAAAAOjb3P//6FYmAACQkJCQkJCD7By5bA1JAOjzJfz/i1Qk +IIsSO0IIi0oEcy+LBIGFwHQox0QkDAAAAADHRCQIWKxJAMdEJASkp0kAiQQk6D4t +AACFwHQPg8Qcw422AAAAAOh73P//6PYlAACQkJCQkJCD7By5cA1JAOiTJfz/i1Qk +IIsSO0IIi0oEcy+LBIGFwHQox0QkDAAAAADHRCQIZKxJAMdEJASkp0kAiQQk6N4s +AACFwHQPg8Qcw422AAAAAOgb3P//6JYlAACQkJCQkJCD7By5dA1JAOgzJfz/i1Qk +IIsSO0IIi0oEcy+LBIGFwHQox0QkDAAAAADHRCQIcKxJAMdEJASkp0kAiQQk6H4s +AACFwHQPg8Qcw422AAAAAOi72///6DYlAACQkJCQkJCD7By5eA1JAOjTJPz/i1Qk +IIsSO0IIi0oEcy+LBIGFwHQox0QkDAAAAADHRCQIfKxJAMdEJASkp0kAiQQk6B4s +AACFwHQPg8Qcw422AAAAAOhb2///6NYkAACQkJCQkJCD7By5fA1JAOhzJPz/i1Qk +IIsSO0IIi0oEcy+LBIGFwHQox0QkDAAAAADHRCQIiKxJAMdEJASkp0kAiQQk6L4r +AACFwHQPg8Qcw422AAAAAOj72v//6HYkAACQkJCQkJCD7By5gA1JAOgTJPz/i1Qk +IIsSO0IIi0oEcy+LBIGFwHQox0QkDAAAAADHRCQIlKxJAMdEJASkp0kAiQQk6F4r +AACFwHQPg8Qcw422AAAAAOib2v//6BYkAACQkJCQkJCD7By5hA1JAOizI/z/i1Qk +IIsSO0IIi0oEcy+LBIGFwHQox0QkDAAAAADHRCQIoKxJAMdEJASkp0kAiQQk6P4q +AACFwHQPg8Qcw422AAAAAOg72v//6LYjAACQkJCQkJCD7By5kA1JAOhTI/z/i1Qk +IIsSO0IIi0oEcy+LBIGFwHQox0QkDAAAAADHRCQIwKxJAMdEJASkp0kAiQQk6J4q +AACFwHQPg8Qcw422AAAAAOjb2f//6FYjAACQkJCQkJCD7By5lA1JAOjzIvz/i1Qk +IIsSO0IIi0oEcy+LBIGFwHQox0QkDAAAAADHRCQI4KxJAMdEJASkp0kAiQQk6D4q +AACFwHQPg8Qcw422AAAAAOh72f//6PYiAACQkJCQkJCD7By5mA1JAOiTIvz/i1Qk +IIsSO0IIi0oEcy+LBIGFwHQox0QkDAAAAADHRCQIAK1JAMdEJASkp0kAiQQk6N4p +AACFwHQPg8Qcw422AAAAAOgb2f//6JYiAACQkJCQkJCD7By5nA1JAOgzIvz/i1Qk +IIsSO0IIi0oEcy+LBIGFwHQox0QkDAAAAADHRCQIDK1JAMdEJASkp0kAiQQk6H4p +AACFwHQPg8Qcw422AAAAAOi72P//6DYiAACQkJCQkJCD7By5oA1JAOjTIfz/i1Qk +IIsSO0IIi0oEcy+LBIGFwHQox0QkDAAAAADHRCQIIK1JAMdEJASkp0kAiQQk6B4p +AACFwHQPg8Qcw422AAAAAOhb2P//6NYhAACQkJCQkJCD7By5pA1JAOhzIfz/i1Qk +IIsSO0IIi0oEcy+LBIGFwHQox0QkDAAAAADHRCQIQK1JAMdEJASkp0kAiQQk6L4o +AACFwHQPg8Qcw422AAAAAOj71///6HYhAACQkJCQkJCD7By5qA1JAOgTIfz/i1Qk +IIsSO0IIi0oEcy+LBIGFwHQox0QkDAAAAADHRCQIYK1JAMdEJASkp0kAiQQk6F4o +AACFwHQPg8Qcw422AAAAAOib1///6BYhAACQkJCQkJCD7By5rA1JAOizIPz/i1Qk +IIsSO0IIi0oEcy+LBIGFwHQox0QkDAAAAADHRCQIbK1JAMdEJASkp0kAiQQk6P4n +AACFwHQPg8Qcw422AAAAAOg71///6LYgAACQkJCQkJCD7By5sA1JAOhTIPz/i1Qk +IIsSO0IIi0oEcy+LBIGFwHQox0QkDAAAAADHRCQIpK1JAMdEJASkp0kAiQQk6J4n +AACFwHQPg8Qcw422AAAAAOjb1v//6FYgAACQkJCQkJCD7By5tA1JAOjzH/z/i1Qk +IIsSO0IIi0oEcy+LBIGFwHQox0QkDAAAAADHRCQIsK1JAMdEJASkp0kAiQQk6D4n +AACFwHQPg8Qcw422AAAAAOh71v//6PYfAACQkJCQkJCD7By5uA1JAOiTH/z/i1Qk +IIsSO0IIi0oEcy+LBIGFwHQox0QkDAAAAADHRCQIvK1JAMdEJASkp0kAiQQk6N4m +AACFwHQPg8Qcw422AAAAAOgb1v//6JYfAACQkJCQkJCD7By5vA1JAOgzH/z/i1Qk +IIsSO0IIi0oEcy+LBIGFwHQox0QkDAAAAADHRCQIyK1JAMdEJASkp0kAiQQk6H4m +AACFwHQPg8Qcw422AAAAAOi71f//6DYfAACQkJCQkJBVieVWU4PsEItdDIt1CIXb +dCGJHCTolqP7/4lcJASJNCSJRCQI6JbO//+NZfiJ8FteXcOLBotI9AHxi0EUg8gB +iQQk6Hi0//+J8IPsBI1l+FteXcOQkJCQkJCQkJCQkJBVieVWU4PsEItdDIt1CIXb +dCGJHCToNqP7/4lcJASJNCSJRCQI6DbO//+NZfiJ8FteXcOLBotI9AHxi0EUg8gB +iQQk6Bi0//+J8IPsBI1l+FteXcOQkJCQkJCQkJCQkJBVieVWU4PsEItdDIt1CIXb +dCGJHCTo1qL7/4lcJASJNCSJRCQI6NbN//+NZfiJ8FteXcOLBotI9AHxi0EUg8gB +iQQk6Liz//+J8IPsBI1l+FteXcOQkJCQkJCQkJCQkJCD7CyLRCQ0x0QkCAEAAACI +RCQfjUQkH4lEJASLRCQwiQQk6HnN//+DxCzDkJCQkJCD7ByLRCQkx0QkCAEAAACI +RCQMjUQkDIlEJASLRCQgiQQk6EnN//+DxBzDkJCQkJCD7CyLRCQ0x0QkCAEAAACI +RCQfjUQkH4lEJASLRCQwiQQk6BnN//+DxCzDkJCQkJCLRCQEixCLSvQBwYnKi0wk +CAlKDMOQkJCQkJCQkJCQkItEJASLTCQIixCLUvSJTBAEw5CQkJCQkJCQkJCQkJCQ +U4tEJAiLVCQMiwj30otZ9AHDIVMMW8OQkJCQkJCQkJCLRCQEi0wkCIsQi1L0iUwQ +CMOQkJCQkJCQkJCQkJCQkFOLVCQMi0QkCIP6CHQpg/oKuQIAAAB0CzHJg/oQD5TB +weEDixCLWvQBw4tTDIPitQnKiVMMW8O5QAAAAOvlkJBVieVXVlOD7ByLdQiLBotY +9AHzgHt1AHUYi3t8hf90PIB/HAB0HA+2Rz2IQ3TGQ3UBD7ZFDIhDdI1l9InwW15f +XcOJ+egXFfz/iweJ+ccEJCAAAAD/UBiD7ATrzujf0v//kJCQkJCQkJCQkJCQkJCQ +g+wci0QkJIsAi1D0iUQkBItEJCCJVCQIiQQk6MDL//+DxBzDkJCQkJCQkJCQkJCQ +VYnlVlOD7BCLXQyLdQiF23QhiRwk6Jag+/+JXCQEiTQkiUQkCOj2zv//jWX4ifBb +Xl3DiwaLSPQB8YtBFIPIAYkEJOg4uP//ifCD7ASNZfhbXl3DkJCQkJCQkJCQkJCQ +VYnlV1ZTg+wsi10Mi3UIhdsPhMgAAACLRQyJBCToHqD7/4nHjRQAgf8AAIA/iUXY +uP////8PRsKJBCToMBkAAIX/iUXcdGmLRQwPvhCLBotA9ItMBnyFyQ+EmwAAAItF +3ItdDI14AotF2ANFDIPDAYlF4ItF3IlF5OsfkI10JgCLBoPDAQ++U/+JfeSDxwKL +QPSLTAZ8hcl0X4sBiRQk/1Aoi1Xkg+wEO13gZokCddCLRdiJNCSJRCQIi0XciUQk +BOj6zf//i0XchcB0CIkEJOhrGAAAjWX0ifBbXl9dw4sGi0j0AfGLQRSDyAGJBCTo +LLf//4PsBOvc6ELR//+Jx4tF3InThcB0CIkEJOgvGAAAifiJ2oP6AXU4iQQk6P4a +AACLBgNw9INOFAH2RhABdBzo+iAAAOvdicONtgAAAADoyxwAAIkcJOjDIPv/6N4g +AACJBCToxhoAAIsGi3j0AfeDTxQB9kcQAXUK6KAcAADpYP///+i2IAAAicONdCYA +6IscAACJHCTogyD7/5CQkIPsHItEJCTHRCQIAQAAAGaJRCQMjUQkDIlEJASLRCQg +iQQk6AjN//+DxBzDkJCQkItEJASLEItK9AHBicqLTCQICUoMw5CQkJCQkJCQkJCQ +i0QkBItMJAiLEItS9IlMEATDkJCQkJCQkJCQkJCQkJBTi0QkCItUJAyLCPfSi1n0 +AcMhUwxbw5CQkJCQkJCQkItEJASLTCQIixCLUvSJTBAIw5CQkJCQkJCQkJCQkJCQ +U4tUJAyLRCQIg/oIdCmD+gq5AgAAAHQLMcmD+hAPlMHB4QOLEIta9AHDi1MMg+K1 +CcqJUwxbw7lAAAAA6+WQkFWJ5VZTg+wQi3UIiwaLWPQB84B7dgB0GA+3RQxmiUN0 +jWX4ifBbXl3DjbQmAAAAAItLfIXJdBmLAccEJCAAAAD/UCjGQ3YBg+wEZolDdOvI +6GvP//+QkJCQkJCQkJCQkFWJ5VOD7CSLXQiLVQyLA4tA9ItMA3yFyXQuiwEPvtKJ +FCT/UCiD7ARmiUX2jUX2iRwkx0QkCAEAAACJRCQE6J3L//+LXfzJw+gTz///kJCQ +g+wci0QkJIsAi1D0iUQkBItEJCCJVCQIiQQk6HDL//+DxBzDkJCQkJCQkJCQkJCQ +VYnlV1ZTg+wci0UMi10Ii30QiQQk6Mac+/+J2ccDfAxJAInGiweLUPQB8okUJOhd +D/7/g+wEhfZ0FItFDInZiXQkBIkEJOi1AP7/g+wIiTwkidnoiAH+/4PsBInYjWX0 +W15fXcOLC4nGg+kMgflwDEkAdAXo5zIAAIk0JOgvHvv/kJCQkJCQkJCQkJCQkJCQ +VYnlVlOD7CCLRQyLXQiLMItG/I1O9IXAeCaB+XAMSQB1NonwiQOLRRCJ2YkEJOgd +Af7/g+wEidiNZfhbXl3DkI1F98dEJAQAAAAAiQQk6K38/f+D7AjrzI1G/OhgMgAA +68CLC4nGg+kMgflwDEkAdAXoWjIAAIk0JOiiHfv/kJBVieVXVlOD7ByLXQiLdRCL +fQzHA3wMSQCJ2YsGi0D0g8ABiQQk6FYO/v+J+IPsBA+++InZiXwkBMcEJAEAAADo +LAL+/4PsCInZiTQk6H8A/v+D7ASJ2I1l9FteX13DiwuJxoPpDIH5cAxJAHQF6N4x +AACJNCToJh37/5CQkJCQkFWJ5VdWU4PsHItFDItdCIt9EIkEJOhGm/v/idnHA2wM +SQCJxosHi1D0AfKJFCTo7Z39/4PsBIX2dBSLRQyJ2Yl0JASJBCTopY79/4PsCIk8 +JInZ6HiP/f+D7ASJ2I1l9FteX13DiwuJxoPpDIH5YAxJAHQF6K8xAACJNCTonxz7 +/5CQkJCQkJCQkJCQkJCQkFWJ5VZTg+wgi0UMi10IizCLRvyNTvSFwHgmgflgDEkA +dTaJ8IkDi0UQidmJBCToDY/9/4PsBInYjWX4W15dw5CNRffHRCQEAAAAAIkEJOht +iv3/g+wI68yNRvzoKDEAAOvAiwuJxoPpDIH5YAxJAHQF6CIxAACJNCToEhz7/5CQ +VYnlV1ZTg+wci10Ii3UQi30MxwNsDEkAidmLBotA9IPAAYkEJOjmnP3/g+wED7f/ +iXwkBInZxwQkAQAAAOg+kP3/g+wIidmJNCTocY79/4PsBInYjWX0W15fXcOLC4nG +g+kMgflgDEkAdAXoqDAAAIk0JOiYG/v/kJCQkJCQkJDpOwAAAJCQkJCQkJCQkJCQ +6SsAAACQkJCQkJCQkJCQkOkLAwAAkJCQkJCQkJCQkJDp+wIAAJCQkJCQkJCQkJCQ +VYnlV1ZTg+w8i0UIx0QkBAAAAACNTeOLdQyJBCToPsr9/4PsCIB94wAPhJcBAACL +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 +jWX0ifBbXl9dw422AAAAAItNDI2F6P7//8dEJASAAAAAiQQk6Fd+/f+D7AgxwMeF +1P7//wEAAADpKP///4sDidn/UCjpRf///4sDidn/UCSJw+lM////iQQk6JEGAACL +BotI9AHxg0kUAfZBEAF1d+hrCAAAhf8Phf79//+LFjHAg8gE6d/9//8x/4P6AXXH +iQQk6FgGAACLBgNw9INOFAH2RhABdCvoVAwAAInHidONjej+///otWX//4n4idox +/+vIicPoFggAAIkcJOgODPv/6CkMAACLAf9QJInDZpDpLf7//+ukifaNvCcAAAAA +6AsMAADrkonD6OIHAACJHCTo2gv7/5CQkJCQkJCQkJCD6QjpyJr9/5CQkJCQkJCQ +g+kI6fia/f+QkJCQkJCQkIPpCOlYbv7/kJCQkJCQkJCD6QjpuG7+/5CQkJCQkJCQ +g+kI6Th4/v+QkJCQkJCQkIPpCOmYeP7/kJCQkJCQkJCD6QjpmNb+/5CQkJCQkJCQ +g+kI6cjW/v+QkJCQkJCQkIsRA0r06caT+/+QkJCQkJCLEQNK9OlmlPv/kJCQkJCQ +ixEDSvTp9pT7/5CQkJCQkIsRA0r06YaV+/+QkJCQkJCLEQNK9OkGmv3/kJCQkJCQ +ixEDSvTpNpr9/5CQkJCQkIsRA0r06UbD/f+QkJCQkJCLEQNK9Olmw/3/kJCQkJCQ +ixEDSvTp5t/9/5CQkJCQkIsRA0r06Qbg/f+QkJCQkJCLEQNK9OlWbf7/kJCQkJCQ +ixEDSvTptm3+/5CQkJCQkIsRA0r06TZ3/v+QkJCQkJCLEQNK9OmWd/7/kJCQkJCQ +ixEDSvTpJqL+/5CQkJCQkIsRA0r06Uai/v+QkJCQkJCLEQNK9OlGvv7/kJCQkJCQ +ixEDSvTpZr7+/5CQkJCQkIsRA0r06QbJ/v+QkJCQkJCLEQNK9Olmyf7/kJCQkJCQ +ixEDSvTpJtH+/5CQkJCQkIsRA0r06YbR/v+QkJCQkJCLEQNK9OkW1f7/kJCQkJCQ +ixEDSvTpRtX+/5CQkJCQkIsRA0r06Wbc/v+QkJCQkJCLEQNK9Om23P7/kJCQkJCQ +ixEDSvTpJuT+/5CQkJCQkIsRA0r06Xbk/v+QkJCQkJBTicuD7AiLCcdBMAAAAADG +QVQA6Jgx/v+LA4tQQMZASQDGQEoAx0AUAAAAAIlQBIlQCIlQDItQNMdAEAAAAADH +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 +6DvL//+JBCTog67//8dEJARLJ0kAjXW4xwQkoA9JAOgcy///iQQk6GSu///HRCQE +SClJAMcEJKAPSQDoAMv//4kEJOhIrv//x0QkBFApSQDHBCSgD0kA6OTK//+JBCTo +LK7//8dEJASUKUkAxwQkoA9JAOjIyv//iQQk6BCu///HRCQE7ClJAMcEJKAPSQDo +rMr//4kEJOj0rf//x0QkBEsnSQDHBCSgD0kA6JDK//+JBCTo2K3//8dEJARLJ0kA +xwQkoA9JAOh0yv//iQQk6Lyt///HRCQEPCpJAMcEJKAPSQDoWMr//4kEJOigrf// +x0QkBEQqSQDHBCSgD0kA6DzK//+JBCTohK3//8dEJASgKkkAxwQkoA9JAOggyv// +iQQk6Git///HRCQE9CpJAMcEJKAPSQDoBMr//4kEJOhMrf//x0QkBEsnSQDHBCSg +D0kA6OjJ//+JBCToMK3//8dEJARLJ0kAxwQkoA9JAOjMyf//6U7+///ogpf4/2aQ +6Q/8///HBCRFKUkAifnoncP7/4XAUg+EUv7//411uOhcl/j/uwEAAACNdbjpS/f/ +/4nHi0WwjV2siRwkjUj06JzM/f9Qi0W0iRwkifuNSPToi8z9/1CJ8eiTz/f/i0WE +iTQkjUj06HXM/f9WiRwk6Gzu+v+Jx41drOvKicPr14nHi0WIjV20iRwkjUj06E7M +/f9Qi0WMiRwkifuNSPToPcz9/1CJ8ehFz/f/67CJx41dtOvficPr7InD66GJx4tF +kI1dtIkcJI1I9OgRzP3/UItFlIkcJI1I9OgCzP3/U4n7ifHoCM/3/+lw////iceL +RZiNXbSJHCSNSPTo4Mv9/1GLRZyJHCSJ+41I9OjPy/3/Uonx6NfO9//pP////4nH +jV2069yJw+vpiceNXbTroInD662Jx41dtItFpIkcJIn7jUj06JfL/f9QifHon873 +/+kH////icPr8InHi0WgjV20iRwkjUj06HPL/f9Q68mJx4tFqI1dtIkcJI1I9Ohd +y/3/UItFrIkcJIn7jUj06EzL/f9QifHoVM73/+m8/v//iceNXbTr3InD6+mQkJCQ +icKDyP/wD8ECw5CQZpBmkFW5bFBMAInlU4PsJI1d94lcJATHBCQQaEkA6NFw/f+D +7AjHBCTwmUEA6NLM9/+5aFBMAIlcJATHBCQUaEkA6K1w/f+D7AjHBCSQmUEA6K7M +9//HBCTgmEEAxwVgUEwAAAAAAMcFZFBMAAAAAADojsz3/8cFWFBMAAAAAADoPz36 +/8cEJBpoSQCjXFBMAOg+bPv/g+wEx0QkBCdoSQCJBCToM2z7/4PsCMcEJBpoSQCj +VFBMAOgXbPv/g+wEx0QkBDdoSQCJBCToDGz7/4PsCKNQUEwA6Oc8+v+LXfzHBTxQ +TAADAAAAo0BQTADJw5CQkInCg8j/8A/BAsOQkGaQZpBVuYxQTACJ5VOD7CSNXfeJ +XCQExwQkvGhJAOjRb/3/g+wIxwQkUCFCAOjSy/f/uYhQTACJXCQExwQkwGhJAOit +b/3/g+wIxwQk8CBCAOiuy/f/i138ycOQkJCQkJCQkJCDPQBRTAAAdAqDyv/wD8EQ +idDDixCNSv+JCInQw5CQkIPsDOiIPPr/o9hQTADofjz6/6PUUEwA6CQ8+v/HBaBQ +TAAAAAAAo9BQTADoEDz6/6OkUEwAg8QMw5CQkJCQkJCDPQBRTAAAdATw/wDD/wDD +gz0AUUwAAHQKg8j/8A/BQQjrCYtBCI1Q/4lRCIXAfw6D7ByJDCToZeL//4PEHMOQ +i0QkBMdBCAAAAACJAWbHREEMAADCBACQgz0AUUwAAHQE8P8Aw/8Aw4M9AFFMAAB0 +CoPI//APwUEI6wmLQQiNUP+JUQiFwH8Og+wciQwk6A3i//+DxBzDkIsBi0Ao/+CQ +iwGLQCT/4JCLAYtAKP/gkIsBi0Ak/+CQVYsBieUPtlUIiVUIi0A0yf/gkJBViwGJ +5Q+3VQiJVQiLQDTJ/+CQkIPsHKEAUUwAhcB1EMcEJGA8SADoSMr3/4PEHMPHBCR8 +/EgA6OjA+v/r4pCQkJCQkIPsHMcEJAQAAADoEeP//8cA6MhJAMdEJAhw3UMAx0Qk +BICnSQCJBCToo+r//5CQkInCg8j/8A/BAsOQkGaQZpCAPaCwSAAAdQfGBaCwSAAB +gD2osEgAAHUHxgWosEgAAYA9OLFIAAB1B8YFOLFIAAGAPUixSAAAdQfGBUixSAAB +gD0IsUgAAHUHxgUIsUgAAYA92LBIAAB1B8YF2LBIAAGAPeiwSAAAdQfGBeiwSAAB +gD24sEgAAHUHxgW4sEgAAYA9KLFIAAB1B8YFKLFIAAGAPRixSAAAdQfGBRixSAAB +gD34sEgAAHUHxgX4sEgAAYA9yLBIAAB1B8YFyLBIAAHzw5CQkJCQkJCQkJCQkJCQ +gz0AUUwAAHQKg8r/8A/BEInQw4sQjUr/iQiJ0MOQkJCAPZCwSAAAdQfGBZCwSAAB +gD2YsEgAAHUHxgWYsEgAAYA9MLFIAAB1B8YFMLFIAAGAPUCxSAAAdQfGBUCxSAAB +gD0AsUgAAHUHxgUAsUgAAYA90LBIAAB1B8YF0LBIAAGAPeCwSAAAdQfGBeCwSAAB +gD2wsEgAAHUHxgWwsEgAAYA9ILFIAAB1B8YFILFIAAGAPRCxSAAAdQfGBRCxSAAB +gD3wsEgAAHUHxgXwsEgAAYA9wLBIAAB1B8YFwLBIAAHzw5CQkJCQkJCQkJCQkJCQ +iwGLQCT/4JCLAYtAKP/gkIsBi0Ak/+CQiwGLQCj/4JCD7BzHBCTAPEgAxwXIB0kA +SMZJAOj3x/f/xwQk8DxIAMcFxAdJAAjGSQDo4cf3/4PEHMOQkJCQkJCQkJCQkJCQ +V1ZTicOD7BCLcASLAIP+BHcbg8AEiQQk6Atm+/+FwHUF6NJl+/+JAI1QBOsbjUQG +A4kEJOjvZfv/hcB05I1UMAP33iHyiUL8i3MMiwuF9nQGidfzpOsGMcCJ1/Oqg8QQ +idBbXl/DkJBmkGaQZpBmkFWJ5YPsGOh1x/f/xwQkYBZAAOhJx/f/ycOQkJCQkJCQ +/////zA9SACQPUgAsEhIALBJSAAwSkgAUEtIAMBLSACwTEgAoE1IAFBOSAAAAAAA +/////wAAAAD//wESHgVUACYFigEATwUAAIUBBQAA//8BEh4FWwAmBZgBAFYFAACT +AQUAAP//ARIeBV0AJgWTAQBKBQAAjgEFAAD//wESHgVkACYFoQEAUQUAAJwBBQAA +//8BCBsFTABvBQAA//8BCRYFagCAAQUAAP//AY0BFgXAEABrBbkQALsBBfcNAN8B +BfUNAPYBQJgNAPkCBfwMAOMDBZoOAKkEBfgMAM0EBfgLAOQEQKkQAPAFBYIOAJ8G +BcUPAKoGBacOAN4GBegOAJgHBfUOAKMHBdcPAOEHBdsPAKgIBeUPAM8IBcAQAPgI +BYQQAJ8JBfwMALwJBZgNANIJBakQAPMMBQAA//8BjQEWBdAQAGsFyRAAuwEFhw4A +3wEFhQ4A9gFAqA0A+QIFjA0A4wMFqg4AqQQFiA0AzQQFiAwA5ARAuRAA8AUFkg4A +qQYF1Q8AtAYFtw4A6AYF+A4AogcFhQ8ArQcF5w8A6wcF6w8AuAgF9Q8A3wgF0BAA +iAkFlBAArwkFjA0AzAkFqA0A4gkFuRAAgw0FAAD//wHCARwFoxQAQgXPEACiArYB +jxAA7wMFxhMA2gQFwhMAoAUFvBMAxAUFxRQA2wVAyRIA/AYFmxUApAcFuxEArwcF ++hAA4we4AY8QALoJBbgTAOcJBcYTAIAKBY8QAJYKBckSALcKBaMUANgKD48QAIIL +BcoUAKgLBdUUAPELdgAAgw1DmxUA5g0FrA8A8Q0FxxUApQ4FjxAAtg4TmxUA0w4T +jxAAhQ8FyhQAkQ8TAACKEGkAALAUBY8QAMAUBZsVAMIVBQAA//8BCBQFNQBIBQAA +//8BZxgF5AgAbQXiCQCzAQXeCQDVAQWICQDyAUSxCgCXA8MC5gkAiwYF0AsAlgYF +1woAygYFAADdBwXmCQD/BwXFCgCnCAXkCACzCBPmCQDaCAWxCgCDCQUAAPYJBQAA +kAsFAADLCwXmCQAA/wBVAUnzAckCAACaBQXuBgHMBQUAAOwFBZEHAZYGBQAAgQcF +rAcAjAcFAACiBwXABwO2BwUAALsHBawHANsHBeUHAOAHBcAHA+8HBQAAAQAAfQAA +AAAAAP8AUQFF4AGnAQAAnAMF2QYBxgP2AQAAiQYFuwYBygYF9AYA1AYFAADqBgWI +BwP+BgUAAIMHBfQGAKMHBa0HAKgHBYgHA7cHBQAAAQAAfQAAAAAAAP//AQyRAYAB +kQIArQIFAAD/AFkBTyMfAADjAZ0B6wUAngNKAACEBAX9BQGfBAWcBgHZBAXyBgGG +BQUAAPgFBQAAlwYFwAYArwYRzwYDygYFAADkBgXABgCFBxG9BwPlBwXABgABAAB9 +AAAAAP//ASZ+PQAAvgJBsggAkQMFAADoBJICsggAjAcFAADpBwWyCAC/CAUAAP// +AQlYBWkAhQEFAAD//wGbBCkFAADMAQXMLADuAQXROwCLAgWnOwCxAimgOwCLAwWA +OwCcAwX5OgCzAxbFNgCVBCPGLgDpBAWALwD6BAXCLgCRBRb3LQDpBgXtNACLBwW+ +MwCoBwXkMwDEBwX1MwD6ByueNwDlCB31MwCzCSvYNQDLCgXlMgCbCwWdMgC/CwXD +MgDWC0DTNADVDGOsMwDbDQXMKQDmDQXTOwCkDgX1MwDNDgXaOwDYDgWgPACMDwWg +OQC+D0UAALERDZc3AO8RBdg4AI4SBZc3AJUSBQAAxRMF3TgAihQFojEAtBQFgjUA +0xRAqTQA1BUFujEAgBYF8jkAixYFwjoAvxYFAADCFwW+NgDuFwWnKwCHGAWXKQCj +GAXsMgDZGCe5OAC6GTTsMgCVGgXgOQCgGgXlOADUGgygOQCRGyu5NQDdGwWgOQC9 +HAWCNgCRHQXLMQC0HSqCNgDgHQWgOQDIHgXJKgDTHgWjKwCRHwUAAKYfQaA5AIcg +BZUsAK4gBd4rAN0gUqwzAMYhBbUrAOghBaIoAJAiBfEnALgiBbonAOAiBZAnAIIj +BekoAKgjBcooANAjBZsmAOwjBbk1AIokBewyAK8kBawzAMgkBdM0AN4kBak0AO4k +BaA5AP4kBYI2AJQlBZ43ALYlBfUzAM8lBdg1APglBawzAJEmBbk4AIsnBQAA7CcF +AACXKwUAANkrBQAA5iwFAADGMQUAALY6BQAA//8BeiUFAAA8Bf0NAGXKAtcOAJkF +BaIQANUFJeUTALoGBZ0TANMGGOISAKkHBdgRALkHBaANAMMHBfwOAKIIMNgRAP8I +BdcOANEJBYwRAPQJBa8QALcKSdcOAJsLBZcRAP8LBf0NAJoMBYwRALMME9cOAPgN +KQAA9w4F1w4A//8BbRwF+AsAcQWYCwDBAQWcCgDlAQWODAD+ATzrCgCfA0OICQCH +BAWhCwCSBAX0CwDQBAUAAPoE1QGICQD3BgX4CwCZBwWcCwDHB36ICQDcCAXrCgDo +CCCICQCUCQUAAP0JCogJAOYKBQAA7wsFAAD//wH4AisFkisAlQEFlywA5QEFhywA +iQIFhSwAoAJAqCsAsANDmywAmAQFpSwAowQFmS0A4QQFoi0ApAWBApssAMgHBfUs +AO8HBZIrAIIIjAGbLACuCQWQIgDUCQWSIwCFCgWbLACiCgWdJAC0CgXqKACfCwXF +IwDlCwXBJgCHDAWCJgCkDESIJwDNDUOhJAC2DgXQKQDBDgWVKQD1DgWdJADSDwWo +KwDtDwWQIgCOEAXqKAC9EEObLACmEfMCoSQAphQFrCgAvBQFpSgA8hQrsCQA6RW3 +AaEkAK0XBcUmAMMXBZkoAPkXK+QkAPEYrgGhJAC8GgXLKADnGgWsKACJGwXkJgC3 +GwXFJgDQGwWhJADmGwWwJACIHAWhJAChHAXkJADDHAWhJADnHEObLADMHQXkKQDe +HTibLADLHj6hJACTHxObLADFH8gBoSQAniEFiCcA0CIFAADAIwWbLACDJwWhJADf +KQWbLACJKgqhJACSLAWbLACULQWbLAD//wEJFgVqAIABBQAA/wD8AQHwAYoBBbcX +AKwBBbUXAMkBBeoWAJMCBdcWALICBboWAM4CBdIVAJUDBb0VAe8DBaoVAKsEBd0V +ALwEBdYVAMQEBeUVAJ0GBfUdAKUGBaQbAPAGogHkGgDYCAWhGgCoCQXSHADMCQXF +HADjCUD7GwDoCgWrGwCQCwXbHQCbCwWQHQDfCy3kGgC1DAXWFQDgDAXdFQC0DQWf +GAC/DQXOFwD9DQW7FwCoDgWyGQDQDgXqGADIDwXvHADzDwXkGgCMECWCHgCYEQX7 +GwC6EQXkGgDeEQW6FgDsER3XFgCSEh3xFACHEwXQEwDTFAUAAMgVCvgVAAEAAAAA +AAAAAP8A0AMBxwM8BeUmAFgF6ygAnwEFqSgB+QEFiyoA3wIFlSgArwMh9SgA4gMF +nCcA6gMF+yYAnAQFqScA6QUFAACSBgXnMwD8BgXjMwDCBwXfMwDkBwXdMwCBCET1 +MgC8CVaiKACcCgWnMQC4CgXhJgD/CgW+KAHZCwWuNACxDAWSMgDCDAX8MQDKDAX1 +MQCXDQXKMgD0DQXFMgD+DQW5MgD9Dq4BsjIAuxAFrDIA0BAFpTIAqBEFmTIA+BEF +ijAAnBIF8i0AsxJAky0AuBMFyCwA4BMFrywA6xMFwSsAqRQFpTIA0hScAbIyAM0W +BaUqAI0XrwKSMgD/GQWtNQCKGgXINAC+GgUAAOgaBYkuAJAbBYUuAKgbOqUyAIcc +BawyAKocBbIyAMccL8cvAN8dBfUvANEeBaUyAOceBZMtAJIfBacxAKofH5IyAOgf +BeUmAIogBbw1ALEgBeczANIgP6IoAJ8hHagmAMUhHfElAOkhE6IoAIgiHb4lAK4i +HQAA3CIF9TIApyMF6iQAyCOdAQAArCUFAADsJQUAAKMmBQAAtCgK0ygAySgK3ygA +iykt9SgAwikFAACNMQWSMgDcMgXhMgCBNScAAKg1BaIoAAEAAAAAAP8A8AIB5QIm +Bf0nAEciyCcAdgXGJwDhAQXvKQCxAgWCKADTAgXtKQDwAkS5KQD9A4cBtiwAxgUF +9ikBoAYFrCcAugYFlh0A7wYF8CoAvQcc9icA3AcF6CsAiwgFhS0A6wkF7iQAuwoF +tSQA3woF5CMA8go8pi0A8wtu4ioAhA0F0CoAjw0FhSUAzQ0F+SQA3A0h8yUAtQ4W +2CUAow8F4CMA8w8F9SIAkRAF7CQApBA8uSQApRFuyiUAthIF6CgAwRIFoygA/xIt +8iQA2RMF9icAjBQFlh0AyRQFkSsA+hQFlh0AlxUF9icAnxUF1ScA1xUF3iwA+RUF +vSwApxYFmCkAzxYF9ygA8hYFkiwAkxcFpi0ArBcFuSQAzhcF8iQA7BcFlh0AtRgF +ty4AwBgFiyoA/hgFgCcA5RkF/ScAhxoFlCYArhoFxicAvBodkicA4ho/tiwAtRsF +uSkAkR0Flh0Agx4FAACBKgrJLgABAAAAAAAAAP8AKQEbPCn8AQFtBcsBA5kBBfwB +AfIBBYwCBZQCCgAAAQAAfX8AAAAAAAAAAAAAAP//AagBR8sB+BMAqgIF9BMAyQIF +7RMA1wIFvxMA/wJ4+BMAjwQF8BQArgQF6RQAvAQF/BMA5gRI+BMAzwUF5RQA7gUF +3hQAkAYFrRQAwAZF+BMAnQcFlhUAvAcF9BQAzAcFmhUA+wcu+BMAwQgF6BUA4AgF +4RUA+AgFsBUAqAky+BMA8gkFuxMAkQoFtBMAoQoF8RIA1greB/gTALkSBbsTAM4S +FvgTAK8TBQAAAAAA//8BGT4FAABYBYACAJUBBeEBAKoBBQAA+wEFAAD//wEJGgV4 +AI4BBQAA//8BSyYF8wsALgXTDAC1AQWCDADJAQWmDADRAQW7DAD5AgW2CwCPAwWb +CwCXAwWACwDFBAXTCgDbBAWlCgDjBAW8CAD7BQX4DACFCgUAAP//AS0ZBQAAPswB +igcAzQIXlAcAjwMFngcAtQMFigcAvgQFxAYA1wQgigcAhQcFAAD//wEcIYQBAADY +AR3tAwCcAgWrBACCAwWPBACKBEMAAAAA/wARAQpUGaIBA7UBCgAAfwAAfQAAAAAA +/wARAQpWGaMBA7YBCgAAfwAAfQAA//8BCRoFeACOAQUAAAAA/wA1ASsXBQAARwWG +AgFpBfEBAawBQ4YCAYECBbICAaMCBb0CAKgCBd8CANoCBQAAAQAAAAAAAAD//wEZ +HAUAACQFnQEAfQXyAQCYAQWdAQC0AQUAAP//ARkcBQAAJAWdAQB9BfIBAJgBBZ0B +ALQBBQAA//8BGRwFAAAkBZ0BAH0F8gEAmAEFnQEAtAEFAAD//wEaIwUAAD5I4wEA +mwEtuAIA3gEF4wEA+gEFAAD//wEaIwUAAD5I4wEAmwEtuAIA3gEF4wEA+gEFAAD/ +/wEaIwUAAERM7QEApQEtwgIA6AEF7QEAhAIFAAD//wExHQUAACUligMAkQEFAACy +AX2vBADqAgXYBACFAwWKAwChAwUAAOUDL8cEAKoEBa8EAP//AX8eBQAAXAWmCwCU +AQX4DADVAQXcDAChAgXVDACwAiq2CgCJAwX4DACfAwUAAMEDBbYKAOEDBb0MAIIE +BcoIAMUEBdUMAN0EvgG/CwDABgzKCAD9BzKVCwDFCAXKCACGCQUAAOkJMowNALEK +BbYKALoLBQAA7As2xAwAuAwFvwsAAAAA/wA1ASsXBQAARwXkAQFpBc8BAbQBGeQB +Ad8BBZICAYECBZ0CAIYCBb8CALoCBQAAAQAAAAAAAAD//wErGyoAAFgF3wMAZyHZ +AgCmARvIAwDnAQzZAgCdAiG6AwDUAgXZAgD8AgUAAP//AXQXPgAAYwXZEACAAQW3 +EACOAQX1EACcAQXPEADTAQXBEADhAQXIEADxAQWGEQCCAgX/EACQAhWNEQDAAgXe +DgDRAhXFDQCBAwXlDgCSAxOIDwDYBAXBEADmBBOREACYBTsAAOYFdMEQAOIGE8UP +ANkOnAIAAP//AQ8uZgAAnAEF4QEA+AEFAAAAAP8ANQErFwUAAEcF9AEBaQXfAQGs +ATH0AQHvAQWiAgGRAgWtAgCWAgXPAgDKAgUAAAEAAAAAAAAA//8BFQ0QAACSAR77 +AQDJAQWNAgD2ARcAAP//ASUUdgAAwwEFgQMA5AEF6wIA8wEFAACEAgXrAgCXAhkA +APwCIQAA//8BWR0FAAA8Bd0IAEwM+gcApAEFAADaARjdCAC1AgW2CgDBAzyiBwDS +BDieCgCVBQyXCQCbBhWeCgDYBwUAAKAIIsUKANgIBfoHANoJKaUKAJkKBZcJAMAK +BQAA//8BFhSXAgAAvgIgsQMA/wIFwwMArAMXAAD//wEWHJMBAADKAR6zAgCBAgXF +AgCuAhcAAP//AU0TUwAAgAEg2AUAwAFEAAC9AgWHBgDiAgXxBQDxAgUAAIQDBfEF +AI8DGwAAygMF2AUAiAUF0wYApgUFswYA0wUF2AUA7AUFAACCBh4AAP//ATsvSt0F +ALEBDN4HAIQCX90FAP8CD7YHAPkDswHdBQC4BSDeBwD2BQUAAMAGKKUIAIIHBYUI +ALEHBd4HAP//ATQuO44FAKQBJv8FAOcBBbYGAJYCBbYEALkCPY4FAJIDD44GAJsE +GY4FAN0EBQAA6QQgtgQA//8BGyYFkgIALgWjAQCDAQWGAgCeAQWjAQDIAQUAAP// +AWkVQQAAZFyYEQDIAYoBrBEAzAMFmBEAnQQFrBEAswRO1A4AjQVFzwoAhgY4AADv +Bi2YEQDLBwXPCgCOCKEB1A4AtAsFAACaDQWcDgC5DQX3DQDoDQWYEQDEESDtEwD/ +EQXKEwCuEgWYEQD//wFcGgUAAEMFnQYAxQEFwQwA6AEF1QsAxwJ/wQwA0QMFgAoA +3gMVmQsAqgQFzwoA+wQFwQwA/QUFsgwAmAYFnQYAtAYFAADEBq4BwQwAiQkFuQsA +pAkFqQkAzwkFAAD//wEaIAUAAC1IygEAigElogIAxQEFygEA4QEFAAD//wExHQUA +ADxg9AIAsQEFAAC5ASPWBACxAij8AwDvAgX0AgCLAwUAALYEBegEANEEBdYEAP// +ARojBQAARX3pAgCpAiXCAwDkAgXpAgCAAwUAAP8AoAEBlQEgBQAAPyCRBwCEAQUA +ALgBDJEHAOcBBQAAqAIF5QsB8gIFnw0AzAMF4AwA7QMFxwwAzAQF4AwA+QQFuQ8A +lAUFmAYA0AUFtw0A6wUF8AUAkwYFAADOBiimDQCMBwWRBwC0Bx3KDwDvBwXgDACC +CAWuDACPCBXIDQDfCAWqDgC4CQXgDACKCh0AALAKeuAMAPALCuENAAEAAAAAAAAA +//8BGyAFAABgowGIAwDFAiixAwCDAwWIAwCfAwUAAP//AUIxBQAAPiiPAwCQAQUA +AJ0BJPoDAM8BBQAA6wEFjwMAhgIF+gMAzgIm/AMAigMFjwMApgMFAAC5AyaXBAD1 +AwX6AwD//wEfE1UAAHsFswMApwFfAACTAwXoAwCuAwWzAwDKAwUAAP8AkAEBhgEs +IAAAiAEFhA0B0gEFmQ0ArAIFxQwAzQIFpQwArAMFxQwA2QMF5AsA9AMFngUAsAQF +vA0AywQF0AQA8wQFAAD8BB3NDQDfBQXFDADyBQXJDwD/BRPiDgDKBgX+DQCdBwXF +DADkByKCDwDICB0AAPUIS4IPAOkJHQAAjwqiAcUMAI8NCqANAAEAAAAAAAD//wEf +EFsAAH4FuQMAtAFfAACZAwXoAwC0AwW5AwDQAwUAAP//AVQbBQAAWQXLBwCDAQWz +BwCoAQXRBADfAQWzBwCBAirjBgCWAwUAALcDDNEEAOQDBeMGAI4EKLoHAMwEBdEE +APYEBQAAnwYppQcA3gYF4wYA3wcFAAD//wE9PR0AAHkFgAQAtwEFAADLASXhBQDd +Ag2ABACLAwzhBQCXBAUAALoEKM4FAPgEBeEFAIsFKN8FAMkFBYAEAP//AVoeBQAA +XAXHBgCJAQXlBgCkAQXgBgC8AQX9BgDOASXzBQDHAgWCBwDPAgWHBwCEAwUAAKoD +BfMFANADKOwGAI4EBZMEALgEBQAArwUpuQYA7gUF8wUA2wYFAAD//wFRKHMAALUB +DO8FAI8CBQAArwIFwgcA1wIfvgcA/wIbwwYA3gMF7wUAiAQQvgcAtgQnoAcAqQUr +jwcA6gUF7wUAjAayAQAA1AcrpwgAlQgFvgcA//8BTycFAABlBYoHAI8BBYMHALAB +BcMEANsBBQAA+wEMwwQAwwIFgwcA5QKFAaIGAIAEKPIGAL4EBcMEAOgEBQAA3gUp +5QYAnQYFogYAngcFAAAAAP8AKQEbPCn8AQFtBcsBA5kBBfwBAfIBBYwCBZQCCgAA +AQAAfX8AAAAAAAAAAAAAAP8AbQFeVE6pCQHDAQXJCAPyATWpCQHHAgX3BwP2AgWp +CQGjAym7BgHUAwWHCQORBAW7BgGyBAXxBgPSBAW1CQOLBULzBQHVBQXZBgOEBgW5 +BwXMBgW7BwWYBwWsBwW0BxMAAAEAAH1/AAAAAAAAAAAAAAAA//8BFBMFAAAsHekB +AKUBBbgBAOQBBQAA//8BDhYFAAAqR8QBAN0BBQAA//8BDykF3AEASwXUAQCGAVYA +AP//AQ4oNQAAbCjVAQDsAQUAAP//AQ43NwAAfWqKAgCAAiYAAAAAAP8AJQEdEQUA +ACoFcwBEBYUBAYABBQAApAEFsgEAvAEFAAABAAAAAAD//wE0tQIFzAYAjwMFuAcA +1AMF0AcA+QQFAADjBQWbCADzBQX1BwCQBgWbCADHBgXMBgDiBgUAAP//ARxGBecB +AJEBBZ4CAKEBBf0BALsBBZ4CAPgBBQAA//8BWGcFnAYAoQEF0AUAsQEFqwUAywEF +0AUAnAIFpAYArAIFogYAxgIFpAYAmgMF1AUA2gMFmAYA6gMF8QUAhAQFmAYA1QQF +0QYA5QQFpgYA/wQF0QYAywUmAAD//wE4H4gBAADEAQW4BQD7AUoAAPICBbgFAKYD +BZAFAOEDGwAAugQFnAYAygQF+AUA5AQFnAYAswUVAAD//wE2pgEF7QUAyAEF0gYA +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 +A+gEOY0MAa4KBeUKAO8KBQAAAQAAfQAAAAAAAP8AeQFtFSQAAEQm4gsBeAPgCgGT +AQWzCgPYAQPVCQGKAgWHCwGdAgO1CwG4AgWMCwPgAgP0CgGSAwXdCwGlAwPZCwHA +AwW3CwPoAwPbCwGaBAXvCwGtBAONDAHIBAXyCwPoBDmNDAGuCgXlCgDvCgUAAAEA +AH0AAAAAAAD/AF0BUi5sAADYAdYCqA0A7ASyA9UNAO0IBagNAKEJgAHVDQC3CgXr +DAHGCwXEDQHbCwUAAIMMGqgNAPMMBfgMAIINBQAAow0FqA0Avw0FAADQDQP4DAAB +AAAAAAAAAAD/AF0BUi5sAADYAdYCqA0A7ASyA9UNAO0IBagNAKEJgAHVDQC3CgXr +DAHGCwXEDQHbCwUAAIMMGqgNAPMMBfgMAIINBQAAow0FqA0Avw0FAADQDQP4DAAB +AAAAAAAAAAD//wEQMmyGAwCtAX7iAgCBAwUAAP8AKQEhqQIpAACJBAX6BQHpBAXm +BQH+BAUAAPIFCIQGAI4GBQAAAQAAAAAA/wApASFM1QIAAMcDBeoEAagEBdUEAcME +BQAA4gQI9AQA/gQFAAABAAAAAAD/ACkBIZECKwAAxwMFugUBpwQFpgUBvAQFAACy +BQjEBQDOBQUAAAEAAAAAAP8AKQEhzQItAACsBAWkBgGMBQWQBgGkBQUAAJwGCK4G +ALgGBQAAAQAAAAAA/wApASGiAikAAN4DBdMFAb4EBb8FAdMEBQAAywUI3QUA5wUF +AAABAAAAAAD/ACUBGzcF7gEBxgEF+wEB2gEFAAD2ARSMAgCWAgUAAAEAAAAAAAAA +/wAlARs3Be4BAcYBBfsBAdoBBQAA9gEUjAIAlgIFAAABAAAAAAAAAP8AJQEbNwW8 +AQGUAQXJAQGoAQUAAMQBFNoBAOQBBQAAAQAAAAAAAAD//wEUEhMAAF8F5BUAeOcU +ghYA/RUFAAD//wEUEhMAAF8FhBYAeIcVohYAnRYFAAD//wEKRmLgAQD3AQUAAP// +AQ8gBQAAZpEBsgIAyQIFAAD//wE8FxgAAKwB+grFEgCzDAUAAKYOBcUSAOUOawAA +5BAFxRIAhREDAACjEQPFEgDdERAAAPcRQ8USAN4SBQAA//8BCzf1ArwDANMDBQAA +//8BCzf1ArwDANMDBQAA//8BCzf1ArwDANMDBQAA//8BMxWWAQAAugXfBPgOAPUL +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 +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAACgQEkAAAAAABMAAAAHAAAAgDtJAABBSQAAAAAA +HgAAAA8AAAAAPEkAgEFJAAEBAAAeAQAADwAAAAIAAAAAQAAApE5IAAAAAAD///// +AAAAAP////8AAAAA/////xgAAABr////aAAAAAEAAAAAAAAAQAAAAMO////APwAA +AQAAAAAAAACgUUwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +4N1DAMAFSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADtdkkAyHZJAAh3SQAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +fndJAIJ3SQCGd0kAi3dJAI93SQCTd0kAl3dJAJt3SQCfd0kAo3dJAKd3SQCrd0kA +k3dJAK93SQAAAAAAAAAAABR3SQAcd0kAJHdJAC53SQA2d0kAPndJAEZ3SQBOd0kA +VndJAF53SQBmd0kAbndJAD53SQB2d0kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAD/////AAAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsaWJnY2Nfc19kdzItMS5k +bGwAX19yZWdpc3Rlcl9mcmFtZV9pbmZvAGxpYmdjai0xMy5kbGwAX0p2X1JlZ2lz +dGVyQ2xhc3NlcwBfX2RlcmVnaXN0ZXJfZnJhbWVfaW5mbwAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAADEuMi4zAHNyYy9WOEZpbGUuY3BwAHJldCAhPSBaX1NU +UkVBTV9FUlJPUgBzdHJtLmF2YWlsX2luID09IDAAcmV0ID09IFpfU1RSRUFNX0VO +RAAAAFJlYWRCbG9ja0RhdGEuIEJsb2NrRGF0YSA9PSBOVUxMLgAlMDh4AFByb2dy +ZXNzICg1MCBwb2ludHMpOiAAfAAuAC8AU2F2ZUZpbGUuIEVycm9yIGluIGNyZWF0 +aW5nIGZpbGUhAAAAU2F2ZUZpbGVUb0ZvbGRlci4gRXJyb3IgaW4gY3JlYXRpbmcg +ZGlyZWN0b3J5IGAAYCAhACoqKioqIEludGVybmFsIFByb2dyYW0gRXJyb3IgLSBh +c3NlcnRpb24gKAApIGZhaWxlZCBpbiAAOgoAKTogAHZlY3Rvcjo6cmVzZXJ2ZQAu +djh1bnBhY2sudG1wAC52OHVucGFjay5pbmYAAFVucGFja1RvRGlyZWN0b3J5Tm9M +b2FkLiBFcnJvciBpbiBjcmVhdGluZyBkaXJlY3RvcnkhAAAAVW5wYWNrVG9Gb2xk +ZXIuIElucHV0IGZpbGUgbm90IGZvdW5kIQAAAFVucGFja1RvRm9sZGVyLiBUaGlz +IGlzIG5vdCBWOCBmaWxlIQBMb2FkRmlsZTogb2sAAABVbnBhY2tUb0ZvbGRlci4g +Tm90IGVub3VnaCBtZW1vcnkhAABVbnBhY2tUb0ZvbGRlci4gRXJyb3IgaW4gcmVh +ZGluZyBmaWxlIQAvRmlsZUhlYWRlcgAAVW5wYWNrVG9Gb2xkZXIuIEVycm9yIGlu +IGNyZWF0aW5nIGZpbGUhAC5oZWFkZXIALmRhdGEAAABVbnBhY2tUb0ZvbGRlci4g +RXJyb3IgaW4gY3JlYXRpbmcgZGlyZWN0b3J5IQBiYXNpY19zdHJpbmc6OmF0AExv +YWRGaWxlRnJvbUZvbGRlcjogb2sAUGFjazogb2sAAABBcmd1bWVudCBlcnJvciAt +IFNldCBvZiBgaW5fZGlybmFtZScgYXJndW1lbnQgCgBBcmd1bWVudCBlcnJvciAt +IFNldCBvZiBgaW5fZGlybmFtZScgYXJndW1lbnQAAABBcmd1bWVudCBlcnJvciAt +IFNldCBvZiBgb3V0X2ZpbGVuYW1lJyBhcmd1bWVudABCdWlsZCBlcnJvci4gRGly +ZWN0b3J5IGAAYCBpcyBlbXB0eS4AQnVpbGQgT0shAGRhdGEAYzpcaG9tZVxkbXBh +c1x3b3Jrc3BhY2VcYm9vc3RfMV81NV8wL2Jvb3N0L2ZpbGVzeXN0ZW0vb3BlcmF0 +aW9ucy5ocHAAAAAAYXR0ZW1wdCB0byBkZXJlZmVyZW5jZSBlbmQgaXRlcmF0b3IA +bV9pbXAuZ2V0KCkAOiAAAGJvb3N0OjpmaWxlc3lzdGVtOjpkaXJlY3RvcnlfZW50 +cnkmIGJvb3N0OjpmaWxlc3lzdGVtOjpkaXJlY3RvcnlfaXRlcmF0b3I6OmRlcmVm +ZXJlbmNlKCkgY29uc3QAAFY4VXBhY2sgVmVyc2lvbiAAMy4wLjM2ACBDb3B5cmln +aHQgKGMpIAAKCTIwMDggRGVuaXMgRGVtaWRvdiAyMDA4LTAzLTMwCgkyMDE0LTIw +MTUgU2VyZ2V5IEJhdGFub3YAAABVbnBhY2ssIHBhY2ssIGRlZmxhdGUgYW5kIGlu +ZmxhdGUgMUMgdjggZmlsZSAoKi5jZikAVjhVTlBBQ0sAAAAAICAtVVtOUEFDS10g +ICAgIGluX2ZpbGVuYW1lLmNmICAgICBvdXRfZGlybmFtZQAAICAtUEFbQ0tdICAg +ICAgIGluX2Rpcm5hbWUgICAgICAgICBvdXRfZmlsZW5hbWUuY2YAACAgLUlbTkZM +QVRFXSAgICBpbl9maWxlbmFtZS5kYXRhICAgb3V0X2ZpbGVuYW1lACAgLURbRUZM +QVRFXSAgICBpbl9maWxlbmFtZSAgICAgICAgZmlsZW5hbWUuZGF0YQAgIC1FW1hB +TVBMRV0AICAtQkFUAAAAACAgLVBbQVJTRV0gICAgICBpbl9maWxlbmFtZSAgICAg +ICAgb3V0X2Rpcm5hbWUAACAgLUJbVUlMRF0gICAgICBpbl9kaXJuYW1lICAgICAg +ICAgb3V0X2ZpbGVuYW1lACAgLVZbRVJTSU9OXQAtdmVyc2lvbgAtdgAtaQAtdW5k +AC11bmRlZmxhdGUALWQALXUALXVucAAtcGEALXAALWIAaWYgJTEgPT0gUCBHT1RP +IFBBQ0sAaWYgJTEgPT0gcCBHT1RPIFBBQ0sAADpVTlBBQ0sAVjhVbnBhY2suZXhl +IC11bnBhY2sgICAgICAlMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUy +LnVucAAAAABWOFVucGFjay5leGUgLXVuZGVmbGF0ZSAgICUyLnVucFxtZXRhZGF0 +YS5kYXRhICAgICAgICAgICAgJTIudW5wXG1ldGFkYXRhLmRhdGEudW5kAABWOFVu +cGFjay5leGUgLXVucGFjayAgICAgICUyLnVucFxtZXRhZGF0YS5kYXRhLnVuZCAg +ICAgICAgJTIudW5wXG1ldGFkYXRhLnVucABHT1RPIEVORAA6UEFDSwAAAABWOFVu +cGFjay5leGUgLXBhY2sgICAgICAgICUyLnVucFxtZXRhZGF0YS51bnAgICAgICAg +ICAgICAlMi51bnBcbWV0YWRhdGFfbmV3LmRhdGEudW5kAAAAVjhVbnBhY2suZXhl +IC1kZWZsYXRlICAgICAlMi51bnBcbWV0YWRhdGFfbmV3LmRhdGEudW5kICAgJTIu +dW5wXG1ldGFkYXRhLmRhdGEAAABWOFVucGFjay5leGUgLXBhY2sgICAgICAgICUy +LnVucCAgICAgICAgICAgICAgICAgICAgICAgICAlMi5uZXcuY2YAOkVORAAtZXhh +bXBsZQAtZQBVTlBBQ0sAAFY4VW5wYWNrLmV4ZSAtdW5wYWNrICAgICAgMUN2OC5j +ZiAgICAgICAgICAgICAgICAgICAgICAgICAxQ3Y4LnVucAAAVjhVbnBhY2suZXhl +IC11bmRlZmxhdGUgICAxQ3Y4LnVucFxtZXRhZGF0YS5kYXRhICAgICAgICAgIDFD +djgudW5wXG1ldGFkYXRhLmRhdGEudW5kAAAAAFY4VW5wYWNrLmV4ZSAtdW5wYWNr +ICAgICAgMUN2OC51bnBcbWV0YWRhdGEuZGF0YS51bmQgICAgICAxQ3Y4LnVucFxt +ZXRhZGF0YS51bnAAUEFDSwAAAABWOFVucGFjay5leGUgLXBhY2sgICAgICAgIDFD +djgudW5wXG1ldGFkYXRhLnVucCAgICAgICAgICAgMUN2OC51bnBcbWV0YWRhdGFf +bmV3LmRhdGEudW5kAAAAAFY4VW5wYWNrLmV4ZSAtZGVmbGF0ZSAgICAgMUN2OC51 +bnBcbWV0YWRhdGFfbmV3LmRhdGEudW5kICAxQ3Y4LnVucFxtZXRhZGF0YS5kYXRh +AAAAAFY4VW5wYWNrLmV4ZSAtcGFjayAgICAgICAgMUN2OC51bmQgICAgICAgICAg +ICAgICAgICAgICAgICAxQ3Y4X25ldy5jZgAtaW5mbGF0ZQAtZGVmbGF0ZQAtdW5w +YWNrAC1wYWNrAC1wYXJzZQAtYnVpbGQALWJhdAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAABg8EAABAAEAAgABACw60AABAAFABAACACw60AABAAGACAAIACw60AA +BAAEABAAEABg80AACAAQACAAIABg80AACAAQAIAAgABg80AACAAgAIAAAAFg80AA +IACAAAIBAARg80AAIAACAQIBABBg80AAAAAAAAAAAAAgZGVmbGF0ZSAxLjIuOCBD +b3B5cmlnaHQgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRs +ZXIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpbmNvcnJlY3QgaGVhZGVy +IGNoZWNrAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAGludmFsaWQgd2luZG93 +IHNpemUAdW5rbm93biBoZWFkZXIgZmxhZ3Mgc2V0AGhlYWRlciBjcmMgbWlzbWF0 +Y2gAaW52YWxpZCBibG9jayB0eXBlAGludmFsaWQgc3RvcmVkIGJsb2NrIGxlbmd0 +aHMAAHRvbyBtYW55IGxlbmd0aCBvciBkaXN0YW5jZSBzeW1ib2xzAGludmFsaWQg +Y29kZSBsZW5ndGhzIHNldABpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0AABpbnZh +bGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2sAaW52YWxpZCBsaXRlcmFs +L2xlbmd0aHMgc2V0AGludmFsaWQgZGlzdGFuY2VzIHNldABpbnZhbGlkIGxpdGVy +YWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAGludmFsaWQgZGlz +dGFuY2UgdG9vIGZhciBiYWNrAGluY29ycmVjdCBkYXRhIGNoZWNrAGluY29ycmVj +dCBsZW5ndGggY2hlY2sAAKg3QQBgM0EAMC9BAAAwQQAwPEEAgDlBAFU6QQDQPEEA +4DxBAMAnQQChKEEA4yhBAO4oQQCiOEEAoC9BABA1QQDgM0EAljRBAKUwQQCAKkEA +iipBAHArQQCWK0EAoClBABIqQQAzNUEAaDVBAMc2QQBwLUEAIDVBAGAtQQAAAAAA +AAAAAAAAAAAAAAAAAAAAABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFA +EAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEY +EQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAA +YAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwAAQBwoAAAhgAAAIIAAACaAA +AAgAAAAIgAAACEAAAAngABAHBgAACFgAAAgYAAAJkAATBzsAAAh4AAAIOAAACdAA +EQcRAAAIaAAACCgAAAmwAAAICAAACIgAAAhIAAAJ8AAQBwQAAAhUAAAIFAAVCOMA +EwcrAAAIdAAACDQAAAnIABEHDQAACGQAAAgkAAAJqAAACAQAAAiEAAAIRAAACegA +EAcIAAAIXAAACBwAAAmYABQHUwAACHwAAAg8AAAJ2AASBxcAAAhsAAAILAAACbgA +AAgMAAAIjAAACEwAAAn4ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcQA +EQcLAAAIYgAACCIAAAmkAAAIAgAACIIAAAhCAAAJ5AAQBwcAAAhaAAAIGgAACZQA +FAdDAAAIegAACDoAAAnUABIHEwAACGoAAAgqAAAJtAAACAoAAAiKAAAISgAACfQA +EAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzAARBw8AAAhmAAAIJgAACawA +AAgGAAAIhgAACEYAAAnsABAHCQAACF4AAAgeAAAJnAAUB2MAAAh+AAAIPgAACdwA +EgcbAAAIbgAACC4AAAm8AAAIDgAACI4AAAhOAAAJ/ABgBwAAAAhRAAAIEQAVCIMA +EgcfAAAIcQAACDEAAAnCABAHCgAACGEAAAghAAAJogAACAEAAAiBAAAIQQAACeIA +EAcGAAAIWQAACBkAAAmSABMHOwAACHkAAAg5AAAJ0gARBxEAAAhpAAAIKQAACbIA +AAgJAAAIiQAACEkAAAnyABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcoA +EQcNAAAIZQAACCUAAAmqAAAIBQAACIUAAAhFAAAJ6gAQBwgAAAhdAAAIHQAACZoA +FAdTAAAIfQAACD0AAAnaABIHFwAACG0AAAgtAAAJugAACA0AAAiNAAAITQAACfoA +EAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxgARBwsAAAhjAAAIIwAACaYA +AAgDAAAIgwAACEMAAAnmABAHBwAACFsAAAgbAAAJlgAUB0MAAAh7AAAIOwAACdYA +EgcTAAAIawAACCsAAAm2AAAICwAACIsAAAhLAAAJ9gAQBwUAAAhXAAAIFwBACAAA +EwczAAAIdwAACDcAAAnOABEHDwAACGcAAAgnAAAJrgAACAcAAAiHAAAIRwAACe4A +EAcJAAAIXwAACB8AAAmeABQHYwAACH8AAAg/AAAJ3gASBxsAAAhvAAAILwAACb4A +AAgPAAAIjwAACE8AAAn+AGAHAAAACFAAAAgQABQIcwASBx8AAAhwAAAIMAAACcEA +EAcKAAAIYAAACCAAAAmhAAAIAAAACIAAAAhAAAAJ4QAQBwYAAAhYAAAIGAAACZEA +Ewc7AAAIeAAACDgAAAnRABEHEQAACGgAAAgoAAAJsQAACAgAAAiIAAAISAAACfEA +EAcEAAAIVAAACBQAFQjjABMHKwAACHQAAAg0AAAJyQARBw0AAAhkAAAIJAAACakA +AAgEAAAIhAAACEQAAAnpABAHCAAACFwAAAgcAAAJmQAUB1MAAAh8AAAIPAAACdkA +EgcXAAAIbAAACCwAAAm5AAAIDAAACIwAAAhMAAAJ+QAQBwMAAAhSAAAIEgAVCKMA +EwcjAAAIcgAACDIAAAnFABEHCwAACGIAAAgiAAAJpQAACAIAAAiCAAAIQgAACeUA +EAcHAAAIWgAACBoAAAmVABQHQwAACHoAAAg6AAAJ1QASBxMAAAhqAAAIKgAACbUA +AAgKAAAIigAACEoAAAn1ABAHBQAACFYAAAgWAEAIAAATBzMAAAh2AAAINgAACc0A +EQcPAAAIZgAACCYAAAmtAAAIBgAACIYAAAhGAAAJ7QAQBwkAAAheAAAIHgAACZ0A +FAdjAAAIfgAACD4AAAndABIHGwAACG4AAAguAAAJvQAACA4AAAiOAAAITgAACf0A +YAcAAAAIUQAACBEAFQiDABIHHwAACHEAAAgxAAAJwwAQBwoAAAhhAAAIIQAACaMA +AAgBAAAIgQAACEEAAAnjABAHBgAACFkAAAgZAAAJkwATBzsAAAh5AAAIOQAACdMA +EQcRAAAIaQAACCkAAAmzAAAICQAACIkAAAhJAAAJ8wAQBwQAAAhVAAAIFQAQCAIB +EwcrAAAIdQAACDUAAAnLABEHDQAACGUAAAglAAAJqwAACAUAAAiFAAAIRQAACesA +EAcIAAAIXQAACB0AAAmbABQHUwAACH0AAAg9AAAJ2wASBxcAAAhtAAAILQAACbsA +AAgNAAAIjQAACE0AAAn7ABAHAwAACFMAAAgTABUIwwATByMAAAhzAAAIMwAACccA +EQcLAAAIYwAACCMAAAmnAAAIAwAACIMAAAhDAAAJ5wAQBwcAAAhbAAAIGwAACZcA +FAdDAAAIewAACDsAAAnXABIHEwAACGsAAAgrAAAJtwAACAsAAAiLAAAISwAACfcA +EAcFAAAIVwAACBcAQAgAABMHMwAACHcAAAg3AAAJzwARBw8AAAhnAAAIJwAACa8A +AAgHAAAIhwAACEcAAAnvABAHCQAACF8AAAgfAAAJnwAUB2MAAAh/AAAIPwAACd8A +EgcbAAAIbwAACC8AAAm/AAAIDwAACI8AAAhPAAAJ/wAQABEAEgAAAAgABwAJAAYA +CgAFAAsABAAMAAMADQACAA4AAQAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAA +QAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAA +ABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAAAAAAAAAAAAAAAAAQAAAAIAAAADAAAA +BAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAA +IAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAAAA +AAAAAAAAAAAAAAAAAAAAAAABAgMEBQYHCAgJCQoKCwsMDAwMDQ0NDQ4ODg4PDw8P +EBAQEBAQEBARERERERERERISEhISEhISExMTExMTExMUFBQUFBQUFBQUFBQUFBQU +FRUVFRUVFRUVFRUVFRUVFRYWFhYWFhYWFhYWFhYWFhYXFxcXFxcXFxcXFxcXFxcX +GBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgZGRkZGRkZGRkZGRkZGRkZ +GRkZGRkZGRkZGRkZGRkZGRoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoa +GxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxwAAQIDBAQFBQYGBgYHBwcH +CAgICAgICAgJCQkJCQkJCQoKCgoKCgoKCgoKCgoKCgoLCwsLCwsLCwsLCwsLCwsL +DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDQ0NDQ0NDQ0NDQ0NDQ0N +DQ0NDQ0NDQ0NDQ0NDQ0NDQ4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4O +Dg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4PDw8PDw8PDw8PDw8PDw8P +Dw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8P +AAAQERISExMUFBQUFRUVFRYWFhYWFhYWFxcXFxcXFxcYGBgYGBgYGBgYGBgYGBgY +GRkZGRkZGRkZGRkZGRkZGRoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoa +GxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxscHBwcHBwcHBwcHBwcHBwc +HBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwc +HR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0d +HR0dHR0dHR0dHR0dHR0dHQAABQAQAAUACAAFABgABQAEAAUAFAAFAAwABQAcAAUA +AgAFABIABQAKAAUAGgAFAAYABQAWAAUADgAFAB4ABQABAAUAEQAFAAkABQAZAAUA +BQAFABUABQANAAUAHQAFAAMABQATAAUACwAFABsABQAHAAUAFwAFAAAAAAAAAAAA +DAAIAIwACABMAAgAzAAIACwACACsAAgAbAAIAOwACAAcAAgAnAAIAFwACADcAAgA +PAAIALwACAB8AAgA/AAIAAIACACCAAgAQgAIAMIACAAiAAgAogAIAGIACADiAAgA +EgAIAJIACABSAAgA0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgA +KgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgA +BgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgA +NgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgA +HgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgA +IQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgA +CQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgA +OQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgA +FQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgA +LQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgA +EwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkA +cwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkA +KwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkA +WwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkA +BwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkA +ZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkA +NwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkA +TwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkA +HwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkA +fwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcA +CAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcA +FAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgA +EBESAAgHCQYKBQsEDAMNAg4BDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AgAAAAMAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAA +BwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAA +DQAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAA +BAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAA +MS4yLjgAbmVlZCBkaWN0aW9uYXJ5AHN0cmVhbSBlbmQAAGZpbGUgZXJyb3IAc3Ry +ZWFtIGVycm9yAGRhdGEgZXJyb3IAaW5zdWZmaWNpZW50IG1lbW9yeQBidWZmZXIg +ZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AAAAAAAAGQkkAFkJJACFCSQAiQkkA +LUJJADpCSQBFQkkAWUJJAGZCSQAhQkkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAJYwB3csYQ7uulEJmRnEbQeP9GpwNaVj6aOVZJ4yiNsOpLjceR7p1eCI2dKX +K0y2Cb18sX4HLbjnkR2/kGQQtx3yILBqSHG5895BvoR91Noa6+TdbVG11PTHhdOD +VphsE8Coa2R6+WL97Mllik9cARTZbAZjYz0P+vUNCI3IIG47XhBpTORBYNVycWei +0eQDPEfUBEv9hQ3Sa7UKpfqotTVsmLJC1sm720D5vKzjbNgydVzfRc8N1txZPdGr +rDDZJjoA3lGAUdfIFmHQv7X0tCEjxLNWmZW6zw+lvbieuAIoCIgFX7LZDMYk6Qux +h3xvLxFMaFirHWHBPS1mtpBB3HYGcdsBvCDSmCoQ1e+JhbFxH7W2BqXkv58z1Ljo +oskHeDT5AA+OqAmWGJgO4bsNan8tPW0Il2xkkQFcY+b0UWtrYmFsHNgwZYVOAGLy +7ZUGbHulARvB9AiCV8QP9cbZsGVQ6bcS6ri+i3yIufzfHd1iSS3aFfN804xlTNT7 +WGGyTc5RtTp0ALyj4jC71EGl30rXldg9bcTRpPv01tNq6WlD/NluNEaIZ63QuGDa +cy0EROUdAzNfTAqqyXwN3TxxBVCqQQInEBALvoYgDMkltWhXs4VvIAnUZrmf5GHO +DvneXpjJ2SkimNCwtKjXxxc9s1mBDbQuO1y9t61susAgg7jttrO/mgzitgOa0rF0 +OUfV6q930p0VJtsEgxbccxILY+OEO2SUPmptDahaanoLzw7knf8JkyeuAAqxngd9 +RJMP8NKjCIdo8gEe/sIGaV1XYvfLZ2WAcTZsGecGa252G9T+4CvTiVp62hDMSt1n +b9+5+fnvvo5DvrcX1Y6wYOij1tZ+k9GhxMLYOFLy30/xZ7vRZ1e8pt0GtT9LNrJI +2isN2EwbCq/2SgM2YHoEQcPvYN9V32eo745uMXm+aUaMs2HLGoNmvKDSbyU24mhS +lXcMzANHC7u5FgIiLyYFVb47usUoC72yklq0KwRqs1yn/9fCMc/QtYue2Swdrt5b +sMJkmybyY+yco2p1CpNtAqkGCZw/Ng7rhWcHchNXAAWCSr+VFHq44q4rsXs4G7YM +m47Skg2+1eW379x8Id/bC9TS04ZC4tTx+LPdaG6D2h/NFr6BWya59uF3sG93R7cY +5loIiHBqD//KOwZmXAsBEf+eZY9prmL40/9rYUXPbBZ44gqg7tIN11SDBE7CswM5 +YSZnp/cWYNBNR2lJ23duPkpq0a7cWtbZZgvfQPA72DdTrrypxZ673n/Pskfp/7Uw +HPK9vYrCusowk7NTpqO0JAU20LqTBtfNKVfeVL9n2SMuemazuEphxAIbaF2UK28q +N74LtKGODMMb3wVaje8CLQAAAABBMRsZgmI2MsNTLSsExWxkRfR3fYanWlbHlkFP +CIrZyEm7wtGK6O/6y9n04wxPtaxNfq61ji2Dns8cmIdREsJKECPZU9Nw9HiSQe9h +VdeuLhTmtTfXtZgcloSDBVmYG4IYqQCb2/otsJrLNqldXXfmHGxs/98/QdSeDlrN +oiSEleMVn4wgRrKnYXepvqbh6PHn0PPoJIPew2Wyxdqqrl1d659GRCjMa29p/XB2 +rmsxOe9aKiAsCQcLbTgcEvM2Rt+yB13GcVRw7TBla/T38yq7tsIxonWRHIk0oAeQ ++7yfF7qNhA553qklOO+yPP9583O+SOhqfRvFQTwq3lgFT3nwRH5i6YctT8LGHFTb +AYoVlEC7Do2D6COmwtk4vw3FoDhM9Lshj6eWCs6WjRMJAMxcSDHXRYti+m7KU+F3 +VF27uhVsoKPWP42Ilw6WkVCY194RqczH0vrh7JPL+vVc12JyHeZ5a961VECfhE9Z +WBIOFhkjFQ/acDgkm0EjPadr/WXmWuZ8JQnLV2Q40E6jrpEB4p+KGCHMpzNg/bwq +r+Ekre7QP7QtgxKfbLIJhqskSMnqFVPQKUZ++2h3ZeL2eT8vt0gkNnQbCR01KhIE +8rxTS7ONSFJw3mV5Me9+YP7z5ue/wv3+fJHQ1T2gy8z6NoqDuweRmnhUvLE5Zaeo +S5iDOwqpmCLJ+rUJiMuuEE9d718ObPRGzT/ZbYwOwnRDElrzAiNB6sFwbMGAQXfY +R9c2lwbmLY7FtQClhIQbvBqKQXFbu1pomOh3Q9nZbFoeTy0VX342DJwtGyfdHAA+ +EgCYuVMxg6CQYq6L0VO1khbF9N1X9O/ElKfC79WW2fbpvAeuqI0ct2veMZwq7yqF +7XlryqxIcNNvG134LipG4eE23magB8V/Y1ToVCJl803l87ICpMKpG2eRhDAmoJ8p +uK7F5Pmf3v06zPPWe/3oz7xrqYD9WrKZPgmfsn84hKuwJBws8RUHNTJGKh5zdzEH +tOFwSPXQa1E2g0Z6d7JdY07X+ssP5uHSzLXM+Y2E1+BKEpavCyONtshwoJ2JQbuE +Rl0jAwdsOBrEPxUxhQ4OKEKYT2cDqVR+wPp5VYHLYkwfxTiBXvQjmJ2nDrPclhWq +GwBU5VoxT/yZYmLX2FN5zhdP4UlWfvpQlS3Xe9QczGITio0tUruWNJHoux/Q2aAG +7PN+Xq3CZUdukUhsL6BTdeg2EjqpBwkjalQkCCtlPxHkeaeWpUi8j2YbkaQnKoq9 +4LzL8qGN0Oti3v3AI+/m2b3hvBT80KcNP4OKJn6ykT+5JNBw+BXLaTtG5kJ6d/1b +tWtl3PRafsU3CVPudjhI97GuCbjwnxKhM8w/inL9JJMAAAAAN2rCAW7UhANZvkYC +3KgJB+vCywayfI0EhRZPBbhREw6PO9EP1oWXDeHvVQxk+RoJU5PYCAotngo9R1wL +cKMmHEfJ5B0ed6IfKR1gHqwLLxubYe0awt+rGPW1aRnI8jUS/5j3E6YmsRGRTHMQ +FFo8FSMw/hR6jrgWTeR6F+BGTTjXLI85jpLJO7n4Czo87kQ/C4SGPlI6wDxlUAI9 +WBdeNm99nDc2w9o1AakYNIS/VzGz1ZUw6mvTMt0BETOQ5Wskp4+pJf4x7yfJWy0m +TE1iI3snoCIimeYgFfMkISi0eCof3rorRmD8KXEKPij0HHEtw3azLJrI9S6tojcv +wI2acPfnWHGuWR5zmTPcchwlk3crT1F2cvEXdEWb1XV43Il+T7ZLfxYIDX0hYs98 +pHSAeZMeQnjKoAR6/crGe7AuvGyHRH5t3vo4b+mQ+m5shrVrW+x3agJSMWg1OPNp +CH+vYj8VbWNmqythUcHpYNTXpmXjvWRkugMiZo1p4Gcgy9dIF6EVSU4fU0t5dZFK +/GPeT8sJHE6St1pMpd2YTZiaxEav8AZH9k5ARcEkgkREMs1Bc1gPQCrmSUIdjItD +UGjxVGcCM1U+vHVXCda3VozA+FO7qjpS4hR8UNV+vlHoOeJa31MgW4btZlmxh6RY +NJHrXQP7KVxaRW9ebS+tX4AbNeG3cffg7s+x4tmlc+Ncszzma9n+5zJnuOUFDXrk +OEom7w8g5O5WnqLsYfRg7eTiL+jTiO3pijar671caerwuBP9x9LR/J5sl/6pBlX/ +LBAa+ht62PtCxJ75da5c+EjpAPN/g8LyJj2E8BFXRvGUQQn0oyvL9fqVjffN/0/2 +YF142Vc3utgOifzaOeM+27z1cd6Ln7Pf0iH13eVLN9zYDGvX72ap1rbY79SBsi3V +BKRi0DPOoNFqcObTXRok0hD+XsUnlJzEfiraxklAGMfMVlfC+zyVw6KC08GV6BHA +qK9Ny5/Fj8rGe8nI8RELyXQHRMxDbYbNGtPAzy25As5Alq+Rd/xtkC5CK5IZKOmT +nD6mlqtUZJfy6iKVxYDglPjHvJ/PrX6elhM4nKF5+p0kb7WYEwV3mUq7MZt90fOa +MDWJjQdfS4xe4Q2OaYvPj+ydgIrb90KLgkkEibUjxoiIZJqDvw5YguawHoDR2tyB +VMyThGOmUYU6GBeHDXLVhqDQ4qmXuiCozgRmqvlupKt8eOuuSxIprxKsb60lxq2s +GIHxpy/rM6Z2VXWkQT+3pcQp+KDzQzqhqv18o52XvqLQc8S15xkGtL6nQLaJzYK3 +DNvNsjuxD7NiD0mxVWWLsGgi17tfSBW6BvZTuDGckbm0it68g+AcvdpeWr/tNJi+ +AAAAAGVnvLiLyAmq7q+1EleXYo8y8N433F9rJbk4153vKLTFik8IfWTgvW8BhwHX +uL/WSt3YavIzd9/gVhBjWJ9XGVD6MKXoFJ8Q+nH4rELIwHvfrafHZ0MIcnUmb87N +cH+tlRUYES37t6Q/ntAYhyfozxpCj3OirCDGsMlHegg+rzKgW8iOGLVnOwrQAIey +aThQLwxf7Jfi8FmFh5flPdGHhmW04DrdWk+Pzz8oM3eGEOTq43dYUg3Y7UBov1H4 +ofgr8MSfl0gqMCJaT1ee4vZvSX+TCPXHfadA1RjA/G1O0J81K7cjjcUYlp+gfyon +GUf9unwgQQKSj/QQ9+hIqD1YFJtYP6gjtpAdMdP3oYlqz3YUD6jKrOEHf76EYMMG +0nCgXrcXHOZZuKn0PN8VTIXnwtHggH5pDi/Le2tId8OiDw3Lx2ixcynHBGFMoLjZ +9ZhvRJD/0/x+UGbuGzfaVk0nuQ4oQAW2xu+wpKOIDBwasNuBf9dnOZF40iv0H26T +A/cmO2aQmoOIPy+R7ViTKVRgRLQxB/gM36hNHrrP8abs35L+ibguRmcXm1QCcCfs +u0jwcd4vTMkwgPnbVedFY5ygP2v5x4PTF2g2wXIPinnLN13krlDhXED/VE4lmOj2 +c4iLrhbvNxb4QIIEnSc+vCQf6SFBeFWZr9fgi8qwXDM7tlntXtHlVbB+UEfVGez/ +bCE7YglGh9rn6TLIgo6OcNSe7Six+VGQX1bkgjoxWDqDCY+n5m4zHwjBhg1tpjq1 +pOFAvcGG/AUvKUkXSk71r/N2IjKWEZ6KeL4rmB3ZlyBLyfR4Lq5IwMAB/dKlZkFq +HF6W93k5Kk+Xlp9d8vEj5QUZa01gftf1jtFi5+u23l9SjgnCN+m1etlGAGi8IbzQ +6jHfiI9WYzBh+dYiBJ5qmr2mvQfYwQG/Nm60rVMJCBWaTnId/ynOpRGGe7d04ccP +zdkQkqi+rCpGERk4I3algHVmxtgQAXpg/q7PcpvJc8oi8aRXR5YY76k5rf3MXhFF +Bu5NdmOJ8c6NJkTc6EH4ZFF5L/k0HpNB2rEmU7/WmuvpxvmzjKFFC2IO8BkHaUyh +vlGbPNs2J4Q1mZKWUP4uLpm5VCb83uieEnFdjHcW4TTOLjapq0mKEUXmPwMggYO7 +dpHg4xP2XFv9WelJmD5V8SEGgmxEYT7Uqs6Lxs+pN344QX/WXSbDbrOJdnzW7srE +b9YdWQqxoeHkHhTzgXmoS9dpyxOyDnerXKHCuTnGfgGA/qmc5ZkVJAs2oDZuURyO +pxZmhsJx2j4s3m8sSbnTlPCBBAmV5rixe0kNox4usRtIPtJDLVlu+8P22+mmkWdR +H6mwzHrODHSUYblm8QYF3gAAAAB3BzCW7g5hLJkJUboHbcQZcGr0j+ljpTWeZJWj +DtuIMnncuKTg1ekel9LZiAm2TCt+sXy957gtB5C/HZEdtxBkarAg8vO5cUiEvkHe +GtrUfW3d5Ov01LVRg9OFxxNsmFZka6jA/WL5eoplyewUAVxPYwZs2foPPWONCA31 +O24gyExpEF7VYEHkomdxcjwD5NFLBNRH0g2F/aUKtWs1taj6QrKYbNu7ydasvPlA +Mths40XfXHXc1g3Pq9E9WSbZMKxR3gA6yNdRgL/QYRYhtPS1VrPEI8+6lZm4vaUP +KAK4nl8FiAjGDNmysQvpJC9vfIdYaEwRwWEdq7ZmLT123EGQAdtxBpjSILzv1RAq +cbGFiQa2tR+fv+Sl6LjUM3gHyaIPAPk0lgmojuEOmBh/ag27CG09LZFkbJfmY1wB +a2tR9BxsYWKFZTDY8mIATmwGle0bAaV7ggj0wfUPxFdlsNnGErfpUIu+uOr8uYh8 +Yt0d3xXaLUmM03zz+9RMZU2yYVg6tVHOo7wAdNS7MOJK36VBPdiV16TRxG3T1vT7 +Q2npajRu2fytZ4hG2mC40EQELXMzAx3lqgpMX90NfMlQBXE8JwJBqr4LEBDJDCCG +V2i1JSBvhbO5ZtQJzmHkn17e+Q4p2cmYsNCYIsfXqLRZsz0XLrQNgbe9XDvAumyt +7biDIJq/s7YDtuIMdLHSmurVRzmd0nevBNsmFXPcFoPjYwsSlGQ7hA1taj56alqo +5A7PC5MJ/50KAK4nfQeesfAPk0SHCKPSHgHyaGkGwv73YlddgGVnyxlsNnFuawbn +/tQbdonTK+AQ2npaZ91KzPm532+Ovu/5F7e+Q2CwjtXW1qPoodGTfjjYwsRP3/JS +0btn8aa8V2c/tQbdSLI2S9gNK9qvChtMNgNK9kEEemDfYO/DqGffVTFuju9Gab55 +y2GzjLxmgxolb9KgUmjiNswMd5W7C0cDIgIWuVUFJi/Fuju+sr0LKCu0WpJcs2oE +wtf/p7XQzzEs2Z6LW96uHZtkwrDsY/ImdWqjnAJtkwqcCQap6w42P3IHZ4UFAFcT +lb9KguK4ehR7sSuuDLYbOJLSjpvl1b4NfNzvtwvb3yGG09LU8dTiQmjds/gf2oNu +gb4Wzfa5JltvsHfhGLdHd4gIWub/D2pwZgY7yhEBC1yPZZ7/+GKuaWFr/9MWbM9F +oArieNcN0u5OBINUOQOzwqdnJmHQYBb3SWlHTT5ud9uu0WpK2dZa3EDfC2Y32Dvw +qbyuU967nsVHss9/MLX/6b298hzKusKKU7OTMCS0o6a60DYFzdcGk1TeVykj2We/ +s2Z6LsRhSrhdaBsCKm8rlLQLvjfDDI6hWgXfGy0C740AAAAAGRsxQTI2YoIrLVPD +ZGzFBH139EVWWqeGT0GWx8jZigjRwrtJ+u/oiuP02custU8Mta5+TZ6DLY6HmBzP +SsISUVPZIxB49HDTYe9Bki6u11U3teYUHJi11wWDhJaCG5hZmwCpGLAt+tupNsua +5nddXf9sbBzUQT/fzVoOnpWEJKKMnxXjp7JGIL6pd2Hx6OGm6PPQ58PegyTaxbJl +XV2uqkRGn+tva8wodnD9aTkxa64gKlrvCwcJLBIcOG3fRjbzxl0Hsu1wVHH0a2Uw +uyrz96IxwraJHJF1kAegNBefvPsOhI26JaneeTyy7zhz83n/auhIvkHFG31Y3io8 +8HlPBelifkTCTy2H21QcxpQVigGNDrtApiPog7842cI4oMUNIbv0TAqWp48TjZbO +XMwACUXXMUhu+mKLd+FTyrq7XVSjoGwViI0/1pGWDpfe15hQx8ypEezh+tL1+suT +cmLXXGt55h1AVLXeWU+EnxYOElgPFSMZJDhw2j0jQZtl/WunfOZa5lfLCSVO0Dhk +AZGuoxiKn+Izp8whKrz9YK0k4a+0P9DunxKDLYYJsmzJSCSr0FMV6vt+RiniZXdo +Lz959jYkSLcdCRt0BBIqNUtTvPJSSI2zeWXecGB+7zHn5vP+/v3Cv9XQkXzMy6A9 +g4o2+pqRB7uxvFR4qKdlOTuDmEsimKkKCbX6yRCuy4hf711PRvRsDm3ZP810wg6M +81oSQ+pBIwLBbHDB2HdBgJc210eOLeYGpQC1xbwbhIRxQYoaaFq7W0N36JhabNnZ +FS1PHgw2fl8nGy2cPgAc3bmYABKggzFTi65ikJK1U9Hd9MUWxO/0V+/Cp5T22ZbV +rge86bccjaicMd5rhSrvKspree3TcEis+F0bb+FGKi5m3jbhf8UHoFToVGNN82Ui +ArLz5RupwqQwhJFnKZ+gJuTFrrj93p/51vPMOs/o/XuAqWu8mbJa/bKfCT6rhDh/ +LBwksDUHFfEeKkYyBzF3c0hw4bRRa9D1ekaDNmNdsnfL+tdO0uHmD/nMtczg14SN +r5YSSraNIwudoHDIhLtBiQMjXUYaOGwHMRU/xCgODoVnT5hCflSpA1V5+sBMYsuB +gTjFH5gj9F6zDqedqhWW3OVUABv8TzFa12Jimc55U9hJ4U8XUPp+VnvXLZVizBzU +LY2KEzSWu1Ifu+iRBqDZ0F5+8+xHZcKtbEiRbnVToC86EjboIwkHqQgkVGoRP2Ur +lqd55I+8SKWkkRtmvYoqJ/LLvODr0I2hwP3eYtnm7yMUvOG9DafQ/CaKgz8/kbJ+ +cNAkuWnLFfhC5kY7W/13etxla7XFflr07lMJN/dIOHa4Ca6xoRKf8Io/zDOTJP1y +AAAAAAHCajcDhNRuAka+WQcJqNwGy8LrBI18sgVPFoUOE1G4D9E7jw2XhdYMVe/h +CRr5ZAjYk1MKni0KC1xHPRwmo3Ad5MlHH6J3Hh5gHSkbLwusGu1hmxir38IZabX1 +EjXyyBP3mP8RsSamEHNMkRU8WhQU/jAjFriOehd65E04TUbgOY8s1zvJko46C/i5 +P0TuPD6GhAs8wDpSPQJQZTZeF1g3nH1vNdrDNjQYqQExV7+EMJXVszLTa+ozEQHd +JGvlkCWpj6cn7zH+Ji1bySNiTUwioCd7IOaZIiEk8xUqeLQoK7reHyn8YEYoPgpx +LXEc9CyzdsMu9ciaLzeirXCajcBxWOf3cx5ZrnLcM5l3kyUcdlFPK3QX8XJ11ZtF +fonceH9Ltk99DQgWfM9iIXmAdKR4Qh6TegSgynvGyv1svC6wbX5Eh284+t5u+pDp +a7WGbGp37FtoMVICafM4NWKvfwhjbRU/YSurZmDpwVFlptfUZGS942YiA7pn4GmN +SNfLIEkVoRdLUx9OSpF1eU/eY/xOHAnLTFq3kk2Y3aVGxJqYRwbwr0VATvZEgiTB +Qc0yREAPWHNCSeYqQ4uMHVTxaFBVMwJnV3W8Pla31glT+MCMUjqqu1B8FOJRvn7V +WuI56FsgU99ZZu2GWKSHsV3rkTRcKfsDXm9FWl+tL23hNRuA4Pdxt+Kxz+7jc6XZ +5jyzXOf+2WvluGcy5HoNBe8mSjju5CAP7KKeVu1g9GHoL+Lk6e2I0+urNorqaVy9 +/RO48PzR0sf+l2ye/1UGqfoaECz72Hob+Z7EQvhcrnXzAOlI8sKDf/CEPSbxRlcR +9AlBlPXLK6P3jZX69k//zdl4XWDYujdX2vyJDts+4znecfW837Ofi931IdLcN0vl +12sM2NapZu/U79i21S2ygdBipATRoM4z0+ZwatIkGl3FXv4QxJyUJ8baKn7HGEBJ +wldWzMOVPPvB04KiwBHolctNr6jKj8WfyMl7xskLEfHMRAd0zYZtQ8/A0xrOArkt +ka+WQJBt/HeSK0Iuk+koGZamPpyXZFSrlSLq8pTggMWfvMf4nn6tz5w4E5ad+nmh +mLVvJJl3BRObMbtKmvPRfY2JNTCMS18Hjg3hXo/Pi2mKgJ3si0L324kESYKIxiO1 +g5pkiIJYDr+AHrDmgdza0YSTzFSFUaZjhxcYOobVcg2p4tCgqCC6l6pmBM6rpG75 +rut4fK8pEkutb6wSrK3GJafxgRimM+svpHVVdqW3P0Gg+CnEoTpD86N8/aqivped +tcRz0LQGGee2QKe+t4LNibLN2wyzD7E7sUkPYrCLZVW71yJouhVIX7hT9ga5kZwx +vN6KtL0c4IO/Wl7avpg07QAAAAC4vGdlqgnIixK1r+6PYpdXN97wMiVrX9yd1zi5 +xbQo730IT4pvveBk1wGHAUrWv7jyatjd4N93M1hjEFZQGVef6KUw+voQnxRCrPhx +33vAyGfHp611cghDzc5vJpWtf3AtERgVP6S3+4cY0J4az+gnonOPQrDGIKwIekfJ +oDKvPhiOyFsKO2e1socA0C9QOGmX7F8MhVnw4j3ll4dlhofR3TrgtM+PT1p3Myg/ +6uQQhlJYd+NA7dgN+FG/aPAr+KFIl5/EWiIwKuKeV09/SW/2x/UIk9VAp31t/MAY +NZ/QTo0jtyuflhjFJyp/oLr9RxkCQSB8EPSPkqhI6PebFFg9I6g/WDEdkLaJoffT +FHbPaqzKqA++fwfhBsNghF6gcNLmHBe39Km4WUwV3zzRwueFaX6A4HvLLw7Dd0hr +yw0PonOxaMdhBMcp2bigTERvmPX80/+Q7mZQflbaNxsOuSdNtgVAKKSw78YcDIij +gduwGjln138r0niRk24f9Dsm9wODmpBmkS8/iCmTWO20RGBUDPgHMR5NqN+m8c+6 +/pLf7EYuuIlUmxdn7CdwAnHwSLvJTC/e2/mAMGNF51VrP6Cc04PH+cE2aBd5ig9y +5F03y1zhUK5OVP9A9uiYJa6LiHMWN+8WBIJA+Lw+J50h6R8kmVV4QYvg168zXLDK +7Vm2O1Xl0V5HUH6w/+wZ1WI7IWzah0YJyDLp53COjoIo7Z7UkFH5sYLkVl86WDE6 +p48Jgx8zbuYNhsEItTqmbb1A4aQF/IbBF0kpL6/1TkoyInbzip4Rlpgrvnggl9kd +ePTJS8BIri7S/QHAakFmpfeWXhxPKjl5XZ+Wl+Uj8fJNaxkF9dd+YOdi0Y5f3rbr +wgmOUnq16TdoAEbZ0LwhvIjfMeowY1aPItb5YZpqngQHvaa9vwHB2K20bjYVCAlT +HXJOmqXOKf+3e4YRD8fhdJIQ2c0qrL6oOBkRRoCldiPYxmZ1YHoBEHLPrv7Kc8mb +V6TxIu8Ylkf9rTmpRRFezHZN7gbO8Ylj3EQmjWT4Qej5L3lRQZMeNFMmsdrrmta/ +s/nG6QtFoYwZ8A5ioUxpBzybUb6EJzbblpKZNS4u/lAmVLmZnuje/IxdcRI04RZ3 +qTYuzhGKSasDP+ZFu4OBIOPgkXZbXPYTSelZ/fFVPphsggYh1D5hRMaLzqp+N6nP +1n9BOG7DJl18domzxMru1lkd1m/hobEK8xQe5EuoeYETy2nXq3cOsrnCoVwBfsY5 +nKn+gCQVmeU2oDYLjhxRboZmFqc+2nHCLG/eLJTTuUkJBIHwsbjmlaMNSXsbsS4e +Q9I+SPtuWS3p2/bDUWeRpsywqR90DM56ZrlhlN4FBvFpbnZhbGlkIGRpc3RhbmNl +IHRvbyBmYXIgYmFjawBpbnZhbGlkIGRpc3RhbmNlIGNvZGUAaW52YWxpZCBsaXRl +cmFsL2xlbmd0aCBjb2RlAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABEAEQASABIA +EwATABQAFAAVABUAFgAWABcAFwAYABgAGQAZABoAGgAbABsAHAAcAB0AHQBAAEAA +AQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEM +ARABGAEgATABQAFgAAAAABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIA +EwATABMAEwAUABQAFAAUABUAFQAVABUAEABIAE4AAAADAAQABQAGAAcACAAJAAoA +CwANAA8AEQATABcAGwAfACMAKwAzADsAQwBTAGMAcwCDAKMAwwDjAAIBAAAAAAAA +IGluZmxhdGUgMS4yLjggQ29weXJpZ2h0IDE5OTUtMjAxMyBNYXJrIEFkbGVyIAAA +AAAAAAAAAAAAAAAAAAAAAC5leGUALmNvbQAuYmF0AC5jbWQAXAAqAAAAKgAAAAAA +Ym9vc3Q6OmZpbGVzeXN0ZW06OmNyZWF0ZV9kaXJlY3Rvcnlfc3ltbGluawBib29z +dDo6ZmlsZXN5c3RlbTo6Y29weV9zeW1saW5rAGJvb3N0OjpmaWxlc3lzdGVtOjpy +ZW5hbWUAAABib29zdDo6ZmlsZXN5c3RlbTo6Y29weV9kaXJlY3RvcnkAYm9vc3Q6 +OmZpbGVzeXN0ZW06OmNvcHlfZmlsZQAAYm9vc3Q6OmZpbGVzeXN0ZW06OmNyZWF0 +ZV9oYXJkX2xpbmsAYm9vc3Q6OmZpbGVzeXN0ZW06OmVxdWl2YWxlbnQAAABib29z +dDo6ZmlsZXN5c3RlbTo6Y3VycmVudF9wYXRoAGJvb3N0OjpmaWxlc3lzdGVtOjpz +dGF0dXMAAABib29zdDo6ZmlsZXN5c3RlbTo6dGVtcF9kaXJlY3RvcnlfcGF0aABi +b29zdDo6ZmlsZXN5c3RlbTo6Y29weQAAYm9vc3Q6OmZpbGVzeXN0ZW06OmNyZWF0 +ZV9kaXJlY3RvcnkAYm9vc3Q6OmZpbGVzeXN0ZW06OmNyZWF0ZV9kaXJlY3Rvcmll +cwAAAGJvb3N0OjpmaWxlc3lzdGVtOjpkaXJlY3RvcnlfaXRlcmF0b3I6Om9wZXJh +dG9yKysAAABib29zdDo6ZmlsZXN5c3RlbTo6cmVhZF9zeW1saW5rAGJvb3N0Ojpm +aWxlc3lzdGVtOjpjYW5vbmljYWwAAAAAYm9vc3Q6OmZpbGVzeXN0ZW06OmRpcmVj +dG9yeV9pdGVyYXRvcjo6Y29uc3RydWN0AGJvb3N0OjpmaWxlc3lzdGVtOjpmaWxl +X3NpemUAYm9vc3Q6OmZpbGVzeXN0ZW06OnNwYWNlAGJvb3N0OjpmaWxlc3lzdGVt +Ojppc19lbXB0eQAAYm9vc3Q6OmZpbGVzeXN0ZW06OnJlc2l6ZV9maWxlAGJvb3N0 +OjpmaWxlc3lzdGVtOjpyZW1vdmUAYm9vc3Q6OmZpbGVzeXN0ZW06OnJlbW92ZV9h +bGwAAGJvb3N0OjpmaWxlc3lzdGVtOjpsYXN0X3dyaXRlX3RpbWUAAGJvb3N0Ojpm +aWxlc3lzdGVtOjpwZXJtaXNzaW9ucwAAYm9vc3Q6OmZpbGVzeXN0ZW06OmhhcmRf +bGlua19jb3VudAAAYm9vc3Q6OmZpbGVzeXN0ZW06OnN5c3RlbV9jb21wbGV0ZQAA +LgAAAC4ALgAAAGtlcm5lbDMyLmRsbABDcmVhdGVIYXJkTGlua1cAQ3JlYXRlU3lt +Ym9saWNMaW5rVwA6IAA6ICIAIgAsICIALwBcAAAAYmFzaWNfc3RyaW5nOjplcmFz +ZQAAAGJhc2ljX3N0cmluZzo6X1NfY29uc3RydWN0IG51bGwgbm90IHZhbGlkAGJh +c2ljX3N0cmluZzo6c3Vic3RyAABcAAAALwAAAC4AAAAuAC4AAAA6IAAAAABib29z +dDo6ZmlsZXN5c3RlbTo6cGF0aCBjb2RlY3Z0IHRvIHdzdHJpbmcAAGJvb3N0Ojpm +aWxlc3lzdGVtOjpwYXRoIGNvZGVjdnQgdG8gc3RyaW5nADogAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAGNvZGVjdnQAb2sAcGFydGlhbABlcnJvcgBub2NvbnYA +dW5rbm93biBlcnJvcgAAAAAAAAAAAAAAAAAAAAAAAAAqTjEyX0dMT0JBTF9fTl8x +MTdjb2RlY3Z0X2Vycm9yX2NhdEUAAAAASMVJAIBpSQBEp0kAAAAAAAAAAAAAAAAA +AAAAAKhpSQDAbEIA0GxCAKBsQgDwbEIAcPRDADD0QwAQ9EMAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAGdlbmVyaWMAc3lzdGVtAFVua25vd24gZXJyb3IAYmFz +aWNfc3RyaW5nOjplcmFzZQAAAAAAAAAAAAAAAAAAAAAqTjVib29zdDZzeXN0ZW0x +Ml9HTE9CQUxfX05fMTIyZ2VuZXJpY19lcnJvcl9jYXRlZ29yeUUAAAAAAAAAAAAA +Kk41Ym9vc3Q2c3lzdGVtMTJfR0xPQkFMX19OXzEyMXN5c3RlbV9lcnJvcl9jYXRl +Z29yeUUAAABIxUkAgGpJAESnSQBIxUkAQGpJAESnSQAAAAAAAAAAAAAAAAAAAAAA +AAAAAMRqSQCQbkIAwG5CAEBuQgDgbkIAcPRDADD0QwAQ9EMAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAC4akkAgG5CAKBuQgBQbkIAIIRCAABwQgAw9EMA +EPRDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABiYXNpY19maWxlYnVmOjp1 +bmRlcmZsb3cgY29kZWN2dDo6bWF4X2xlbmd0aCgpIGlzIG5vdCB2YWxpZABiYXNp +Y19maWxlYnVmOjp1bmRlcmZsb3cgaW5jb21wbGV0ZSBjaGFyYWN0ZXIgaW4gZmls +ZQAAAGJhc2ljX2ZpbGVidWY6OnVuZGVyZmxvdyBpbnZhbGlkIGJ5dGUgc2VxdWVu +Y2UgaW4gZmlsZQAAYmFzaWNfZmlsZWJ1Zjo6dW5kZXJmbG93IGVycm9yIHJlYWRp +bmcgdGhlIGZpbGUAYmFzaWNfZmlsZWJ1Zjo6eHNnZXRuIGVycm9yIHJlYWRpbmcg +dGhlIGZpbGUAAAAAYmFzaWNfZmlsZWJ1Zjo6X01fY29udmVydF90b19leHRlcm5h +bCBjb252ZXJzaW9uIGVycm9yAABiYXNpY19pb3M6OmNsZWFyAAAAALC6QwABu0MA +MLtDALC6QwDgukMAQLtDAEC7QwBAu0MAQLtDAPC6QwDnukMAsLpDAOC6QwBiYXNp +Y19zdHJpbmc6OmF0AGJhc2ljX3N0cmluZzo6Y29weQBiYXNpY19zdHJpbmc6OmNv +bXBhcmUAYmFzaWNfc3RyaW5nOjpfU19jcmVhdGUAYmFzaWNfc3RyaW5nOjplcmFz +ZQBiYXNpY19zdHJpbmc6Ol9NX3JlcGxhY2VfYXV4AGJhc2ljX3N0cmluZzo6aW5z +ZXJ0AGJhc2ljX3N0cmluZzo6cmVwbGFjZQBiYXNpY19zdHJpbmc6OmFzc2lnbgBi +YXNpY19zdHJpbmc6OmFwcGVuZABiYXNpY19zdHJpbmc6OnJlc2l6ZQAAAABiYXNp +Y19zdHJpbmc6Ol9TX2NvbnN0cnVjdCBudWxsIG5vdCB2YWxpZABiYXNpY19zdHJp +bmc6OmJhc2ljX3N0cmluZwBiYXNpY19zdHJpbmc6OnN1YnN0cgAAAGJhc2ljX3N0 +cmluZzo6YXQAYmFzaWNfc3RyaW5nOjpjb3B5AGJhc2ljX3N0cmluZzo6Y29tcGFy +ZQBiYXNpY19zdHJpbmc6Ol9TX2NyZWF0ZQBiYXNpY19zdHJpbmc6OmVyYXNlAGJh +c2ljX3N0cmluZzo6X01fcmVwbGFjZV9hdXgAYmFzaWNfc3RyaW5nOjppbnNlcnQA +YmFzaWNfc3RyaW5nOjpyZXBsYWNlAGJhc2ljX3N0cmluZzo6YXNzaWduAGJhc2lj +X3N0cmluZzo6YXBwZW5kAGJhc2ljX3N0cmluZzo6cmVzaXplAAAAAGJhc2ljX3N0 +cmluZzo6X1NfY29uc3RydWN0IG51bGwgbm90IHZhbGlkAGJhc2ljX3N0cmluZzo6 +YmFzaWNfc3RyaW5nAGJhc2ljX3N0cmluZzo6c3Vic3RyAAAAYQBhYgByAGErAHJi +AGErYgB3AHdiAHIrAHIrYgB3KwB3K2IAX19nbnVfY3h4OjpfX2NvbmN1cnJlbmNl +X2xvY2tfZXJyb3IAX19nbnVfY3h4OjpfX2NvbmN1cnJlbmNlX3VubG9ja19lcnJv +cgAAAGxvY2FsZTo6X1Nfbm9ybWFsaXplX2NhdGVnb3J5IGNhdGVnb3J5IG5vdCBm +b3VuZAAAAACAc0cAYHNHAEBzRwB3c0cAcHNHAGdzRwBsb2NhbGU6Ol9JbXBsOjpf +TV9yZXBsYWNlX2ZhY2V0AGlvc19iYXNlOjpfTV9ncm93X3dvcmRzIGlzIG5vdCB2 +YWxpZAAAAABpb3NfYmFzZTo6X01fZ3Jvd193b3JkcyBhbGxvY2F0aW9uIGZhaWxl +ZAAAAEMAUE9TSVgAc3RkOjpmdXR1cmVfZXJyb3IAAABwdXJlIHZpcnR1YWwgbWV0 +aG9kIGNhbGxlZAoAZGVsZXRlZCB2aXJ0dWFsIG1ldGhvZCBjYWxsZWQKAABfX2du +dV9jeHg6Ol9fY29uY3VycmVuY2VfbG9ja19lcnJvcgBfX2dudV9jeHg6Ol9fY29u +Y3VycmVuY2VfdW5sb2NrX2Vycm9yAAAAX19nbnVfY3h4OjpfX2NvbmN1cnJlbmNl +X2xvY2tfZXJyb3IAX19nbnVfY3h4OjpfX2NvbmN1cnJlbmNlX3VubG9ja19lcnJv +cgAAAEMAUE9TSVgAYmFzaWNfc3RyaW5nOjplcmFzZQBymUUAZJhFAECYRQAnmEUA +gJlFAHKSRQBkkUUAQJFFACeRRQCAkkUAJS4qTGYAJW0vJWQvJXkAJUg6JU0AJUg6 +JU06JVMAAACQLkUANS9FABYwRQCwMEUACC5FAAguRQAILkUAMTFFALAxRQAILkUA +CC5FAAguRQAoMkUACC5FAAguRQAILkUACC5FAKAyRQAhM0UAljNFAAguRQAILkUA +CC5FABc0RQAWMEUAhDRFAAguRQAILkUACC5FAAguRQAILkUACC5FAHA2RQAVN0UA +EDhFAHQ4RQDwOEUACC5FAAguRQAVN0UACC5FAAguRQAILkUACC5FAJc5RQDgLUUA +CC5FAAguRQAILkUACC5FAAguRQAjOkUACC5FAAguRQAILkUAIC5FABYwRQCQY0UA +QmNFAOBlRQCYZUUAAGRFALBuRQBibkUAAHFFALhwRQAgb0UAX19nbnVfY3h4Ojpf +X2NvbmN1cnJlbmNlX2xvY2tfZXJyb3IAX19nbnVfY3h4OjpfX2NvbmN1cnJlbmNl +X3VubG9ja19lcnJvcgAqAEMAUE9TSVgAYmFzaWNfc3RyaW5nOjplcmFzZQAhiUUA +AIlFANeIRQDCiEUAMIlFAHGCRQBQgkUAJ4JFABKCRQCAgkUAJS4qTGYAJW0vJWQv +JXkAJUg6JU0AJUg6JU06JVMAAACAF0UAAxdFAIMWRQBHFkUAcRBFAHEQRQBxEEUA +8RdFAMAXRQBxEEUAcRBFAHEQRQAWFkUAcRBFAHEQRQBxEEUAcRBFAOAVRQCwFUUA +dBVFAHEQRQBxEEUAcRBFAGYVRQCDFkUA0BNFAHEQRQBxEEUAcRBFAHEQRQBxEEUA +cRBFAGUTRQCAEkUAcRJFABASRQClEUUAcRBFAHEQRQCAEkUAcRBFAHEQRQBxEEUA +cRBFADARRQAAEUUAcRBFAHEQRQBxEEUAcRBFAHEQRQDQEEUAcRBFAHEQRQBxEEUA +dRBFAIMWRQCQVUUAUlVFAHBXRQAoV0UA9lVFAOBKRQCiSkUAwExFAHhMRQBGS0UA +c3RkOjpleGNlcHRpb24Ac3RkOjpiYWRfZXhjZXB0aW9uAAAAAAAAAAAAAAAAAAAA +QwAAAGxvY2FsZTo6ZmFjZXQ6Ol9TX2NyZWF0ZV9jX2xvY2FsZSBuYW1lIG5vdCB2 +YWxpZABMQ19DVFlQRQBMQ19OVU1FUklDAExDX1RJTUUATENfQ09MTEFURQBMQ19N +T05FVEFSWQBMQ19NRVNTQUdFUwD//39///9//wAAAAD////////vf////////+// +///////////+fwAAAAAAAP///////////v8AAAAAAABDAFBPU0lYAHNwYWNlAHBy +aW50AGNudHJsAHVwcGVyAGxvd2VyAGFscGhhAGRpZ2l0AHB1bmN0AHhkaWdpdABh +bG51bQBncmFwaAAAc3RkOjpiYWRfYWxsb2MAAHN0ZDo6YmFkX2Nhc3QAAABzdGQ6 +OmJhZF90eXBlaWQAZ2VuZXJpYwBzeXN0ZW0AAGZ1dHVyZQBCcm9rZW4gcHJvbWlz +ZQBGdXR1cmUgYWxyZWFkeSByZXRyaWV2ZWQAUHJvbWlzZSBhbHJlYWR5IHNhdGlz +ZmllZABObyBhc3NvY2lhdGVkIHN0YXRlAFVua25vd24gZXJyb3IAAGJhZF9mdW5j +dGlvbl9jYWxsAAAAcmVnZXhfZXJyb3IALSt4WDAxMjM0NTY3ODlhYmNkZWYwMTIz +NDU2Nzg5QUJDREVGAC0reFgwMTIzNDU2Nzg5YWJjZGVmQUJDREVGAC0wMTIzNDU2 +Nzg5AEcATQBUAAAASABTAFQAAABBAEsAUwBUAAAAUABTAFQAAABNAFMAVAAAAEMA +UwBUAAAARQBTAFQAAABBAFMAVAAAAE4AUwBUAAAAQwBFAFQAAABJAFMAVAAAAEUA +RQBUAAAASgBTAFQAAABHTVQASFNUAEFLU1QAUFNUAE1TVABDU1QARVNUAEFTVABO +U1QAQ0VUAElTVABFRVQASlNUAAAAAAAAAHRydWUAZmFsc2UAdAByAHUAZQAAAGYA +YQBsAHMAZQAAAAAAJW0vJWQvJXkAJUg6JU06JVMAAEFNAFBNAFN1bmRheQBNb25k +YXkAVHVlc2RheQBXZWRuZXNkYXkAVGh1cnNkYXkARnJpZGF5AFNhdHVyZGF5AFN1 +bgBNb24AVHVlAFdlZABUaHUARnJpAFNhdABKYW51YXJ5AEZlYnJ1YXJ5AE1hcmNo +AEFwcmlsAE1heQBKdW5lAEp1bHkAQXVndXN0AFNlcHRlbWJlcgBPY3RvYmVyAE5v +dmVtYmVyAERlY2VtYmVyAEphbgBGZWIATWFyAEFwcgBKdW4ASnVsAEF1ZwBTZXAA +T2N0AE5vdgBEZWMAJQBtAC8AJQBkAC8AJQB5AAAAJQBIADoAJQBNADoAJQBTAAAA +AABBAE0AAABQAE0AAABTAHUAbgBkAGEAeQAAAE0AbwBuAGQAYQB5AAAAVAB1AGUA +cwBkAGEAeQAAAFcAZQBkAG4AZQBzAGQAYQB5AAAAVABoAHUAcgBzAGQAYQB5AAAA +RgByAGkAZABhAHkAAABTAGEAdAB1AHIAZABhAHkAAABTAHUAbgAAAE0AbwBuAAAA +VAB1AGUAAABXAGUAZAAAAFQAaAB1AAAARgByAGkAAABTAGEAdAAAAEoAYQBuAHUA +YQByAHkAAABGAGUAYgByAHUAYQByAHkAAABNAGEAcgBjAGgAAABBAHAAcgBpAGwA +AABNAGEAeQAAAEoAdQBuAGUAAABKAHUAbAB5AAAAQQB1AGcAdQBzAHQAAABTAGUA +cAB0AGUAbQBiAGUAcgAAAE8AYwB0AG8AYgBlAHIAAABOAG8AdgBlAG0AYgBlAHIA +AABEAGUAYwBlAG0AYgBlAHIAAABKAGEAbgAAAEYAZQBiAAAATQBhAHIAAABBAHAA +cgAAAEoAdQBuAAAASgB1AGwAAABBAHUAZwAAAFMAZQBwAAAATwBjAHQAAABOAG8A +dgAAAEQAZQBjAAAAdGVybWluYXRlIGNhbGxlZCByZWN1cnNpdmVseQoAAAB0ZXJt +aW5hdGUgY2FsbGVkIGFmdGVyIHRocm93aW5nIGFuIGluc3RhbmNlIG9mICcAJwoA +dGVybWluYXRlIGNhbGxlZCB3aXRob3V0IGFuIGFjdGl2ZSBleGNlcHRpb24KACAg +d2hhdCgpOiAgAAAAAAAAAGOHQgBXh0IAV4dCAFeHQgBXh0IAY4dCAGOHQgBjh0IA +Y4dCACKHQgAih0IAV4dCACKHQgAih0IAIodCACKHQgAih0IAIodCACKHQgAih0IA +IodCACKHQgAih0IAIodCAGOHQgAmh0IAJodCACaHQgAmh0IAJodCACaHQgAmh0IA +JodCAFeHQgAih0IAIodCACKHQgAih0IAIodCAGOHQgAih0IAJodCAFuHQgBXh0IA +Y4dCAFeHQgAmh0IAJodCAFuHQgBjh0IAY4dCACKHQgAih0IAV4dCAFeHQgBXh0IA +V4dCAFeHQgAih0IAV4dCAFeHQgAih0IAV4dCAGOHQgBjh0IAIodCACKHQgAih0IA +Y4dCAGOHQgBjh0IAIodCACKHQgAih0IAV4dCAFeHQgBfR0xPQkFMXwAoYW5vbnlt +b3VzIG5hbWVzcGFjZSkAADWPQgAgj0IAII9CACCPQgAgj0IAQI9CADWPQgAuj0IA +Lo9CACCPQgAgj0IAII9CACCPQgAgj0IAII9CACCPQgAgj0IAII9CACCPQgAgj0IA +II9CACCPQgAgj0IAII9CADWPQgAgj0IAII9CACCPQgAgj0IAII9CACCPQgAgj0IA +II9CACCPQgAgj0IAII9CACCPQgAgj0IAII9CADWPQgAgj0IAII9CACCPQgAgj0IA +II9CACCPQgAgj0IAII9CACCPQgA1j0IALo9CACCPQgAgj0IAII9CACCPQgAgj0IA +II9CACCPQgAgj0IAII9CACCPQgAgj0IAII9CADWPQgAgj0IAII9CACCPQgAgj0IA +NY9CACCPQgA1j0IAII9CACCPQgA1j0IANY9CAHN0cmluZyBsaXRlcmFsAHN0ZAAA +4JJCALCTQgDzkkIAsJNCALCTQgCwk0IAsJNCAKCSQgCwk0IA4JJCALCTQgCwk0IA +sJNCALCTQgB0kkIAYXV0bwAAAACCl0IAgpdCAIKXQgCCl0IAgpdCAIKXQgCCl0IA +gpdCAIKXQgCCl0IAuJZCALiWQgC4lkIAuJZCALiWQgC4lkIAuJZCAJCXQgC4lkIA +4JdCAICYQgC4lkIAEJhCAFCYQgC4lkIAuJZCALiWQgC4lkIAuJZCALCYQgCCl0IA +QZlCAHCZQgC4lkIAoJlCANCZQgAnmkIAYJpCALiWQgC4lkIAuJZCALiWQgCCl0IA +uJZCALiWQgC4lkIAuJZCALiWQgC4lkIAlJpCAJSaQgCUmkIAlJpCAJSaQgCUmkIA +lJpCAJSaQgCUmkIAlJpCALiWQgCUmkIAlJpCAJSaQgCUmkIAuJZCALiWQgC4lkIA +lJpCAJSaQgAwl0IAlJpCAJSaQgCUmkIAlJpCAJSaQgDknEIAuJZCALiWQgC4lkIA +uJZCALiWQgC4lkIAuJZCALiWQgC4lkIAuJZCALiWQgC4lkIAuJZCAH2WQgC4lkIA +uJZCALiWQgC4lkIAuJZCALiWQgC4lkIAuJZCALiWQgC4lkIAuJZCALiWQgDOnEIA +uJZCALiWQgCUnEIAeZtCAEKbQgC4lkIAC5tCAMeaQgC4lkIAuJZCALiWQgC4lkIA +WpxCALiWQgA5nEIAuJZCALiWQgD/m0IAfZZCALiWQgCzm0IAAKFCAPegQgD3oEIA +AKFCAAChQgAAoUIAAKFCAACgQgAAoEIAAKFCAAChQgAAoUIAAKFCAAChQgAAoUIA +AKFCAAChQgAAoUIAAKFCAAChQgAAoUIAAKFCAAChQgAAoUIAAKFCAAChQgAAoUIA +AKFCAAChQgAAoUIAAKFCAAChQgAAoUIAAKFCAAChQgAAoUIAAKFCAAChQgAAoUIA +AKFCAAChQgAAoUIAAKFCAAChQgAAoUIAAKFCAAChQgAAoUIAAKFCAAChQgAAoUIA +AKBCABeiQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIA +hqBCAIagQgCGoEIAhqBCAIagQgCGoEIA8aFCAIagQgA6okIAhqBCANChQgCGoEIA +hqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIA +hqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIA +hqBCAIagQgAKoUIA8KJCAIagQgCGoEIAz6JCAIagQgCuokIAa6RCAEqkQgCGoEIA +hqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCACmkQgACpEIAhqBCANujQgC6o0IA +hqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgBzo0IA +hqBCAIagQgCGoEIAhqBCADyjQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIA +hqBCAIagQgCGoEIAhqBCAIagQgCGoEIAd6JCAGxpAHN0AGNsAGR0AHB0AHF1AFth +Ymk6ADo6AHtkZWZhdWx0IGFyZyMAJWxkAH06OgBKQXJyYXkAW10AdnRhYmxlIGZv +ciAAVlRUIGZvciAAY29uc3RydWN0aW9uIHZ0YWJsZSBmb3IgAC1pbi0AdHlwZWlu +Zm8gZm9yIAB0eXBlaW5mbyBuYW1lIGZvciAAdHlwZWluZm8gZm4gZm9yIABub24t +dmlydHVhbCB0aHVuayB0byAAdmlydHVhbCB0aHVuayB0byAAY292YXJpYW50IHJl +dHVybiB0aHVuayB0byAAamF2YSBDbGFzcyBmb3IgAGd1YXJkIHZhcmlhYmxlIGZv +ciAAVExTIGluaXQgZnVuY3Rpb24gZm9yIABUTFMgd3JhcHBlciBmdW5jdGlvbiBm +b3IgAHJlZmVyZW5jZSB0ZW1wb3JhcnkgIwAgZm9yIABoaWRkZW4gYWxpYXMgZm9y +IAB0cmFuc2FjdGlvbiBjbG9uZSBmb3IgAG5vbi10cmFuc2FjdGlvbiBjbG9uZSBm +b3IgAF9TYXQgAF9BY2N1bQBfRnJhY3QALCAAb3BlcmF0b3IAb3BlcmF0b3IgAGFk +AGdzAGl4ACA6IABuZXcgAHVsAGxsAHVsbABmYWxzZQB0cnVlAGphdmEgcmVzb3Vy +Y2UgAGRlY2x0eXBlICgALi4uAHRoaXMAe3Bhcm0jAGdsb2JhbCBjb25zdHJ1Y3Rv +cnMga2V5ZWQgdG8gAGdsb2JhbCBkZXN0cnVjdG9ycyBrZXllZCB0byAAe2xhbWJk +YSgAKSMAe3VubmFtZWQgdHlwZSMAIFtjbG9uZSAAPigAAAAA4L1CAHS7QgB0u0IA +A7pCADG/QgDwvkIAeMBCAPC5QgC3uUIAQLlCAMe4QgBQuEIA17dCAGC3QgDntkIA +cLZCAPe1QgCAtUIAB7VCAJC0QgAXtEIAoLNCACezQgCwskIANLJCAPCxQgDwsUIA +8LFCAJGxQgCRsUIAkbFCAJGxQgCRsUIAkbFCAJGxQgBlzEIAZcxCAJGxQgCRsUIA +2MtCAMjMQgBgx0IAM8ZCANfFQgAQxUIA18VCAHLEQgByxEIAZ8tCAOfKQgBwykIA +98lCAGXAQgAgwEIAAMBCAPC/QgDQw0IAwMNCAMDDQgAHw0IAB8NCAJHCQgBwwkIA +QMJCAHDBQgD3wEIAB8lCAJDIQgAXyEIA4MxCAKDHQgCAyUIAaL1CAJC8QgAHvEIA +aL5CAOixQgDosUIAcuBCAGHgQgBQ4EIAP+BCAC7gQgAgcmVzdHJpY3QAIHZvbGF0 +aWxlACBjb25zdAAmJgBjb21wbGV4IABpbWFnaW5hcnkgADo6KgAgX192ZWN0b3Io +AAAAANDoQgDb6EIA2+hCANvoQgDb6EIA2+hCANvoQgDb6EIA2+hCANvoQgDb6EIA +2+hCANvoQgDb6EIA2+hCANvoQgDb6EIA2+hCANvoQgDb6EIA2+hCANvoQgD46EIA +MOpCAGjpQgD46EIAMOpCAGjpQgDg6UIAp+pCAEDrQgCA60IAtetCAMDrQgDQ60IA +R+xCANvoQgDb6EIA2+hCANvoQgDA7EIA2+hCAFLoQgAgKABzdGQ6OmFsbG9jYXRv +cgBhbGxvY2F0b3IAc3RkOjpiYXNpY19zdHJpbmcAYmFzaWNfc3RyaW5nAHN0ZDo6 +c3RyaW5nAABzdGQ6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6OmNoYXJfdHJhaXRz +PGNoYXI+LCBzdGQ6OmFsbG9jYXRvcjxjaGFyPiA+AHN0ZDo6aXN0cmVhbQBzdGQ6 +OmJhc2ljX2lzdHJlYW08Y2hhciwgc3RkOjpjaGFyX3RyYWl0czxjaGFyPiA+AGJh +c2ljX2lzdHJlYW0Ac3RkOjpvc3RyZWFtAAAAAHN0ZDo6YmFzaWNfb3N0cmVhbTxj +aGFyLCBzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+ID4AYmFzaWNfb3N0cmVhbQBzdGQ6 +Omlvc3RyZWFtAAAAc3RkOjpiYXNpY19pb3N0cmVhbTxjaGFyLCBzdGQ6OmNoYXJf +dHJhaXRzPGNoYXI+ID4AYmFzaWNfaW9zdHJlYW0AAAB0AAAAy31JAAMAAADLfUkA +AwAAAAAAAAAAAAAAYQAAACOHSQAOAAAAI4dJAA4AAAAyh0kACQAAAGIAAAA8h0kA +EQAAADyHSQARAAAATodJAAwAAABzAAAAW4dJAAsAAABoh0kARgAAAE6HSQAMAAAA +aQAAAK+HSQAMAAAAvIdJADEAAADuh0kADQAAAG8AAAD8h0kADAAAAAyISQAxAAAA +PohJAA0AAABkAAAATIhJAA0AAABciEkAMgAAAI+ISQAOAAAAYU4AJj0AYVMAPQBh +YQAmAGFuAGF0AGFsaWdub2YgAGF6AGNjAGNvbnN0X2Nhc3QAKCkAY20ALABjbwB+ +AGRWAC89AGRhAGRlbGV0ZVtdIABkYwBkeW5hbWljX2Nhc3QAZGUAKgBkbABkZWxl +dGUgAGRzAC4qAC4AZHYALwBlTwBePQBlbwBeAGVxAD09AGdlAD49AGd0AD4AbFMA +PDw9AGxlADw9AG9wZXJhdG9yIiIgAGxzADw8AGx0ADwAbUkALT0AbUwAKj0AbWkA +LQBtbABtbQAtLQBuYQBuZXdbXQBuZQAhPQBuZwBudAAhAG53AG5ldwBvUgB8PQBv +bwB8fABvcgB8AHBMACs9AHBsACsAcG0ALT4qAHBwACsrAHBzAC0+AD8Ack0AJT0A +clMAPj49AHJjAHJlaW50ZXJwcmV0X2Nhc3QAcm0AJQBycwA+PgBzYwBzdGF0aWNf +Y2FzdABzaXplb2YgAHN6AHRyAHRocm93AHR3AHRocm93IAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAGSJSQBniUkAAgAAAAIAAABqiUkAbYlJAAEAAAACAAAA +b4lJAEuGSQACAAAAAgAAAC6ESQByiUkAAQAAAAEAAAB0iUkAcolJAAEAAAACAAAA +d4lJAHqJSQAIAAAAAQAAAIOJSQB6iUkACAAAAAEAAACGiUkAiYlJAAoAAAACAAAA +coJJAJSJSQACAAAAAgAAAJeJSQCaiUkAAQAAAAIAAACciUkAn4lJAAEAAAABAAAA +oYlJAKSJSQACAAAAAgAAAKeJSQCqiUkACQAAAAEAAAC0iUkAt4lJAAwAAAACAAAA +xIlJAMeJSQABAAAAAQAAAMmJSQDMiUkABwAAAAEAAADUiUkA14lJAAIAAAACAAAA +dYJJANqJSQABAAAAAgAAANyJSQDfiUkAAQAAAAIAAADhiUkA5IlJAAIAAAACAAAA +54lJAOqJSQABAAAAAgAAAOyJSQDviUkAAgAAAAIAAADyiUkA9YlJAAIAAAACAAAA +MYRJAISCSQACAAAAAQAAAPiJSQD7iUkAAQAAAAIAAAA0hEkApIJJAAIAAAACAAAA +/YlJAACKSQADAAAAAgAAAASKSQAHikkAAgAAAAIAAABsgkkACopJAAsAAAABAAAA +FopJABmKSQACAAAAAgAAAByKSQAfikkAAQAAAAIAAAAhikkAJIpJAAIAAAACAAAA +J4pJACqKSQACAAAAAgAAAC2KSQAwikkAAQAAAAIAAAAyikkAx4lJAAEAAAACAAAA +NYpJADiKSQACAAAAAQAAADuKSQA+ikkABQAAAAMAAABEikkAR4pJAAIAAAACAAAA +SopJADCKSQABAAAAAQAAAE2KSQBQikkAAQAAAAEAAABSikkAVYpJAAMAAAADAAAA +WYpJAFyKSQACAAAAAgAAAF+KSQBiikkAAgAAAAIAAABlikkAaIpJAAEAAAACAAAA +aopJAG2KSQACAAAAAgAAAHCKSQBzikkAAQAAAAIAAAB1ikkAeIpJAAMAAAACAAAA +fIpJAH+KSQACAAAAAQAAAIKKSQBzikkAAQAAAAEAAAB4gkkAhYpJAAIAAAACAAAA +e4JJAIiKSQABAAAAAwAAAIqKSQCNikkAAgAAAAIAAACQikkAk4pJAAMAAAACAAAA +l4pJAJqKSQAQAAAAAgAAAKuKSQCuikkAAQAAAAIAAACwikkAs4pJAAIAAAACAAAA +topJALmKSQALAAAAAgAAAG+CSQDFikkABwAAAAEAAADNikkAxYpJAAcAAAABAAAA +0IpJANOKSQAFAAAAAAAAANmKSQDcikkABgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA +c2lnbmVkIGNoYXIAYm9vbABib29sZWFuAGNoYXIAYnl0ZQBkb3VibGUAbG9uZyBk +b3VibGUAZmxvYXQAX19mbG9hdDEyOAB1bnNpZ25lZCBjaGFyAGludAB1bnNpZ25l +ZCBpbnQAdW5zaWduZWQAbG9uZwB1bnNpZ25lZCBsb25nAF9faW50MTI4AHVuc2ln +bmVkIF9faW50MTI4AHNob3J0AHVuc2lnbmVkIHNob3J0AHZvaWQAd2NoYXJfdABs +b25nIGxvbmcAdW5zaWduZWQgbG9uZyBsb25nAGRlY2ltYWwzMgBkZWNpbWFsNjQA +ZGVjaW1hbDEyOABoYWxmAGNoYXIxNl90AGNoYXIzMl90AGRlY2x0eXBlKG51bGxw +dHIpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgjkkACwAAAOCOSQALAAAA +AAAAAOyOSQAEAAAA8Y5JAAcAAAAHAAAA+Y5JAAQAAAD+jkkABAAAAAAAAAADj0kA +BgAAAAOPSQAGAAAACAAAAAqPSQALAAAACo9JAAsAAAAIAAAAFo9JAAUAAAAWj0kA +BQAAAAgAAAAcj0kACgAAAByPSQAKAAAACAAAACePSQANAAAAJ49JAA0AAAAAAAAA +NY9JAAMAAAA1j0kAAwAAAAEAAAA5j0kADAAAAEaPSQAIAAAAAgAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAT49JAAQAAABPj0kABAAAAAMAAABUj0kADQAAAFSPSQANAAAA +BAAAAGKPSQAIAAAAYo9JAAgAAAAAAAAAa49JABEAAABrj0kAEQAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAB9j0kABQAAAH2PSQAFAAAAAAAAAIOPSQAOAAAAg49JAA4AAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAACSj0kABAAAAJKPSQAEAAAACQAAAJePSQAHAAAA ++Y5JAAQAAAAAAAAAn49JAAkAAABPj0kABAAAAAUAAACpj0kAEgAAAKmPSQASAAAA +BgAAAG+ESQADAAAAb4RJAAMAAAAAAAAAvI9JAAkAAAC8j0kACQAAAAAAAADGj0kA +CQAAAMaPSQAJAAAAAAAAANCPSQAKAAAA0I9JAAoAAAAAAAAA249JAAQAAADbj0kA +BAAAAAgAAADgj0kACAAAAOCPSQAIAAAAAAAAAOmPSQAIAAAA6Y9JAAgAAAAAAAAA +8o9JABEAAADyj0kAEQAAAAAAAAAAAAAAAAAAAAAAAADgAUMATWluZ3cgcnVudGlt +ZSBmYWlsdXJlOgoAICBWaXJ0dWFsUXVlcnkgZmFpbGVkIGZvciAlZCBieXRlcyBh +dCBhZGRyZXNzICVwAAAAACAgVW5rbm93biBwc2V1ZG8gcmVsb2NhdGlvbiBwcm90 +b2NvbCB2ZXJzaW9uICVkLgoAAAAgIFVua25vd24gcHNldWRvIHJlbG9jYXRpb24g +Yml0IHNpemUgJWQuCgAAANgSQwDfEkMARhNDAGQTQwCCE0MAnxNDANwTQwAJFEMA +NxRDAGcUQwC7FEMA7RRDABUVQwB1FUMArxVDANoVQwAQFkMAXxZDAKIWQwDyFkMA +FBdDAGcXQwCvF0MA0xJDANMSQwDTEkMA0xJDANMSQwDTEkMA0xJDANMSQwDTEkMA +0xJDANMSQwDTEkMA0xJDANMSQwDTEkMA0xJDANMSQwDTEkMA0xJDANMSQwDTEkMA +0xJDANgSQwBUGEMA/xdDAIIYQwDlGEMAxBhDAIIYQwCwGEMA0xJDANMSQwDTEkMA +0xJDAM0YQwDcGEMAghhDALAYQwAQHUMAjR9DAIEfQwAQHUMAAB5DAAYdQwAGHUMA +Bh1DAAYdQwBdH0MAdR9DABAdQwAAHkMAHR5DACohQwAdIUMAHR5DAPkgQwAGHUMA +Bh1DAAYdQwAGHUMABSFDAGYhQwAdHkMA+SBDAHAiQwDgIkMA4CJDADAjQwDgIkMA +ICNDABAjQwAAI0MA8CJDAHAiQwBwIkMAoCJDAKAiQwBGJUMAMCVDABglQwAGJUMA +8CRDAMYkQwCgJEMAMCZDAOAiQwAwI0MABSZDAAUmQwAFJkMABSZDAAUmQwAwI0MA +MCNDAAUmQwAFJkMAMCNDAAUmQwAFJkMABSZDAAUmQwDgJUMABSZDAAUmQwAFJkMA +BSZDAAUmQwAFJkMA0CVDAJAkQwCQJEMAkCRDAJAkQwCQJEMAkCRDAJAkQwCQJEMA +kCRDAJAkQwCQJEMAkCRDAJAkQwCQJEMAkCRDAJAkQwCQJEMAkCRDAJAkQwCQJEMA +kCRDAJAkQwCQJEMAkCRDAJAkQwCQJEMAkCRDAJAkQwCQJEMAkCRDAJAkQwCQJEMA +sCJDALAiQwCwIkMAsCJDALAiQwCwIkMAsCJDALAiQwCwIkMAsCJDALAiQwCwIkMA +sCJDALAiQwCwIkMAsCJDALAiQwCwIkMAsCJDALAiQwCwIkMAsCJDALAiQwCwIkMA +sCJDALAiQwCwIkMAsCJDALAiQwCwIkMAsCJDALAiQwBAJEMAQCRDAEAkQwBAJEMA +QCRDAEAkQwBAJEMAQCRDAEAkQwBAJEMAQCRDAEAkQwBAJEMAQCRDAEAkQwBAJEMA +QCRDAEAkQwBAJEMAQCRDAEAkQwBAJEMAQCRDAEAkQwBAJEMAQCRDAEAkQwBAJEMA +QCRDAEAkQwBAJEMAQCRDAOQjQwDgIkMAcCVDAOAiQwAwI0MA4CJDAOUiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwBwI0MAgCZDAIYoQwB6KEMAgCZDANEmQwDgIkMA +4CJDAOAiQwDgIkMAWChDAG4oQwCAJkMA0SZDANQnQwDfJ0MA6ydDAPYnQwB2J0MA +4CJDAOAiQwCCJ0MAjSdDAOAiQwCXJ0MAoidDAK0nQwC4J0MA4CJDAMMnQwADKEMA +FChDACUoQwA2KEMARyhDAAIqQwAQK0MA4CpDAEAqQwDlKUMAmCpDAKA9QwDxPUMA +ID5DAKA9QwDQPUMAMD5DADA+QwAwPkMAMD5DAOA9QwDXPUMAoD1DANA9QwAuAGds +b2ItMS4wLW1pbmd3MzIAAHhhQwBWYUMAUGFDADBhQwBxYUMAVmFDAHBiQwDGYUMA +mGJDABBiQwBAYkMAxmFDAHBiQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +YWxudW0AYWxwaGEAY250cmwAZGlnaXQAZ3JhcGgAbG93ZXIAcHJpbnQAcHVuY3QA +c3BhY2UAdXBwZXIAeGRpZ2l0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +wJlJAAcBAADGmUkAAwEAAMyZSQAgAAAA0plJAAQAAADYmUkAFwEAAN6ZSQACAAAA +5JlJAFcBAADqmUkAEAAAAPCZSQAIAAAA9plJAAEAAAD8mUkAgAAAAAAAAAAAAAAA +AAAuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABuZgBpbml0eQBhbgBAekMA +kHtDAJB7QwCQe0MAkHtDAJB7QwCQe0MAkHtDAJB7QwB1e0MAdXtDAHV7QwB1e0MA +dXtDAJB7QwCQe0MAkHtDAJB7QwCQe0MAkHtDAJB7QwCQe0MAkHtDAJB7QwCQe0MA +kHtDAJB7QwCQe0MAkHtDAJB7QwCQe0MAkHtDAHV7QwCQe0MAkHtDAJB7QwCQe0MA +kHtDAJB7QwCQe0MAkHtDAJB7QwCQe0MA0HpDAJB7QwBoe0MAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAADAAAABQAAAAcAAAAKAAAADAAAAA4AAAARAAAA +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 +0OlGAIz///+M////rKlJAJArSACAK0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +SMVJAOStSQBYrEkA6MRJAPytSQDoxEkAIK5JAEjFSQBArkkA3K1JAOjESQCArkkA +SMVJAMCuSQCcpkkASMVJAACvSQCcpkkASMVJAECvSQBoqkkASMVJAICvSQBoqkkA +SMVJAMCvSQBoqkkASMVJAACwSQDYqUkASMVJAECwSQAgqkkASMVJAICwSQA4p0kA +6MRJAMCwSQDoxEkAALFJAEjFSQBAsUkAGKdJAEjFSQCgsUkAGKdJAEjFSQAAskkA +zKlJAEjFSQAgskkAEKdJAEjFSQBAskkAZKlJAEjFSQCAskkAcKlJAEjFSQDAskkA +fKpJAEjFSQAAs0kAhKpJAEjFSQBAs0kAnK1JAEjFSQCAs0kAnK1JAEjFSQDAs0kA +nK1JAOjESQAAtEkASMVJABS0SQCcrUkAAAAAAAAAAACIxUkALLRJAAIAAAACAAAA +4KdJAAIAAAD4p0kAAggAAIjFSQAwtEkAAAAAAAEAAACErUkAA/T//4jFSQA0tEkA +AAAAAAEAAACErUkAA/T//0jFSQA4tEkAnK1JAOjESQBItEkA6MRJAFi0SQAAAAAA +AAAAAAAAAAAAAAAAAAAAAIjFSQBotEkAAAAAAAIAAACkp0kAAgAAACSoSQACAAAA +iMVJAIC0SQAAAAAAAgAAAKSnSQACAAAAJKhJAAIAAACIxUkAmLRJAAAAAAACAAAA +pKdJAAIAAAAkqEkAAgAAAIjFSQCwtEkAAAAAAAIAAACkp0kAAgAAACSoSQACAAAA +SMVJAMi0SQCkp0kASMVJANy0SQCkp0kASMVJAPC0SQCcrUkASMVJAAC1SQDMqUkA +SMVJABC1SQDMqUkA6MRJACC1SQBIxUkANLVJACCsSQBIxUkASLVJAECsSQBIxUkA +XLVJANioSQBIxUkAcLVJANioSQBIxUkAhLVJANioSQBIxUkAmLVJANioSQBIxUkA +rLVJAMypSQBIxUkAwLVJAJytSQBIxUkA4LVJAHyqSQBIxUkAILZJAISqSQBIxUkA +YLZJAMCnSQBIxUkAoLZJAACqSQCIxUkA4LZJAAAAAAABAAAAkK1JAAP0//+IxUkA +ILdJAAAAAAABAAAAkK1JAAP0///oxEkAYLdJAEjFSQB0t0kAnK1JAEjFSQCgt0kA +4KdJAEjFSQDgt0kAlKlJAAAAAAAAAAAAAAAAAAAAAACIxUkAILhJAAIAAAACAAAA +lKlJAAIAAACsqUkAAggAAEjFSQBguEkA+KdJAEjFSQCguEkArKlJAEjFSQDguEkA +TKxJAEjFSQD4uEkAWKxJAEjFSQAQuUkAZKxJAEjFSQAouUkAcKxJAOjESQBAuUkA +SMVJAFS5SQDMqUkA6MRJAIC5SQDoxEkAwLlJAEjFSQAAukkAwKxJAEjFSQAYukkA +4KxJAEjFSQAwukkAAK1JAEjFSQBIukkADK1JAEjFSQBgukkAIK1JAEjFSQDAukkA +QK1JAEjFSQAgu0kAYK1JAEjFSQCAu0kAbK1JAEjFSQDgu0kAzKlJAEjFSQD0u0kA +pKdJAEjFSQAMvEkApKdJAEjFSQAkvEkA2KhJAEjFSQA8vEkApKdJAEjFSQBYvEkA +pKdJAEjFSQB0vEkAnK1JAEjFSQCMvEkAQKhJAEjFSQCsvEkAYKhJAEjFSQDMvEkA +gKhJAEjFSQDsvEkAoKhJAEjFSQAMvUkApKdJAEjFSQAsvUkApKdJAEjFSQBMvUkA +pKdJAEjFSQBsvUkApKdJAIjFSQCMvUkAAAAAAAIAAACkp0kAAgAAAByoSQACAAAA +iMVJAKy9SQAAAAAAAgAAAKSnSQACAAAAHKhJAAIAAACIxUkA4L1JAAAAAAACAAAA +pKdJAAIAAAD8qEkAAgAAAIjFSQAgvkkAAAAAAAIAAACkp0kAAgAAAPyoSQACAAAA +iMVJAGC+SQAAAAAAAgAAAKSnSQACAAAAHKhJAAIAAABIxUkAbL5JAMCrSQBIxUkA +eL5JAOCrSQBIxUkAiL5JAACsSQBIxUkAmL5JAKSnSQBIxUkAqL5JAKSnSQBIxUkA +wL5JAKSnSQBIxUkAAL9JAKSnSQBIxUkAQL9JAKSnSQBIxUkAgL9JAKSnSQBIxUkA +wL9JAJytSQDoxEkAzL9JAIjFSQDYv0kAAAAAAAIAAACkp0kAAgAAAMSpSQACAAAA +iMVJAOi/SQAAAAAAAgAAAKSnSQACAAAAxKlJAAIAAABIxUkA+L9JAKSnSQBIxUkA +CMBJAKSnSQAAAAAAAAAAAIjFSQAgwEkAAAAAAAIAAACkp0kAAgAAANStSQACAAAA +iMVJAGDASQAAAAAAAgAAAKSnSQACAAAA1K1JAAIAAABIxUkAoMBJAKSnSQBIxUkA +4MBJAKSnSQBIxUkAIMFJAJytSQBIxUkAQMFJALisSQBIxUkAgMFJALisSQDoxEkA +wMFJAEjFSQDgwUkApKdJAEjFSQAgwkkApKdJAEjFSQBgwkkApKdJAEjFSQCgwkkA +pKdJAOjESQDgwkkA6MRJAPDCSQAyMHdpbmRvd3NfZmlsZV9jb2RlY3Z0AAA3Q1Y4 +RmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOMTBfX2N4eGFiaXYxMTVf +X2ZvcmNlZF91bndpbmRFAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZv +RQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOMTBfX2N4eGFiaXYxMTlf +X2ZvcmVpZ25fZXhjZXB0aW9uRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +TjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVf +aW5mb0UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqTjEyX0dMT0JBTF9fTl8x +MjFmdXR1cmVfZXJyb3JfY2F0ZWdvcnlFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +Kk4xMl9HTE9CQUxfX05fMTIxc3lzdGVtX2Vycm9yX2NhdGVnb3J5RQAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAACpOMTJfR0xPQkFMX19OXzEyMmdlbmVyaWNfZXJyb3Jf +Y2F0ZWdvcnlFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABONWJvb3N0MTBmaWxlc3lz +dGVtMTRiYXNpY19pZnN0cmVhbUljU3QxMWNoYXJfdHJhaXRzSWNFRUUAAAAAAAAA +TjVib29zdDEwZmlsZXN5c3RlbTE0YmFzaWNfb2ZzdHJlYW1JY1N0MTFjaGFyX3Ry +YWl0c0ljRUVFAAAAAAAAAE41Ym9vc3QxMGZpbGVzeXN0ZW0xNmZpbGVzeXN0ZW1f +ZXJyb3JFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABONWJvb3N0MTJub25jb3B5 +YWJsZV8xMW5vbmNvcHlhYmxlRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +TjVib29zdDZkZXRhaWwxNXNwX2NvdW50ZWRfYmFzZUUAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAE41Ym9vc3Q2ZGV0YWlsMTdzcF9jb3VudGVkX2ltcGxf +cElOU18xMGZpbGVzeXN0ZW0xNmZpbGVzeXN0ZW1fZXJyb3I1bV9pbXBFRUUAAAAA +AAAAAAAAAAAAAAAAAAAAAE41Ym9vc3Q2ZGV0YWlsMTdzcF9jb3VudGVkX2ltcGxf +cElOU18xMGZpbGVzeXN0ZW02ZGV0YWlsMTFkaXJfaXRyX2ltcEVFRQAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAE41Ym9vc3Q2c3lzdGVtMTJzeXN0ZW1fZXJyb3JFAAAA +TjVib29zdDZzeXN0ZW0xNGVycm9yX2NhdGVnb3J5RQBOOV9fZ251X2N4eDEzc3Rk +aW9fZmlsZWJ1ZkljU3QxMWNoYXJfdHJhaXRzSWNFRUUAAAAAAAAAAAAAAAAAAAAA +TjlfX2dudV9jeHgxM3N0ZGlvX2ZpbGVidWZJd1N0MTFjaGFyX3RyYWl0c0l3RUVF +AAAAAAAAAAAAAAAAAAAAAE45X19nbnVfY3h4MThzdGRpb19zeW5jX2ZpbGVidWZJ +Y1N0MTFjaGFyX3RyYWl0c0ljRUVFAAAAAAAAAAAAAABOOV9fZ251X2N4eDE4c3Rk +aW9fc3luY19maWxlYnVmSXdTdDExY2hhcl90cmFpdHNJd0VFRQAAAAAAAAAAAAAA +TjlfX2dudV9jeHgyMHJlY3Vyc2l2ZV9pbml0X2Vycm9yRQAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAE45X19nbnVfY3h4MjRfX2NvbmN1cnJlbmNlX2xvY2tf +ZXJyb3JFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOOV9fZ251X2N4eDI2X19j +b25jdXJyZW5jZV91bmxvY2tfZXJyb3JFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +TlN0NmxvY2FsZTVmYWNldEUAAABOU3Q4aW9zX2Jhc2U3ZmFpbHVyZUUAAABTZAAA +U2kAAFNvAABTdDEwYmFkX3R5cGVpZAAAU3QxMGN0eXBlX2Jhc2UAAFN0MTBtb25l +eV9iYXNlAABTdDEwbW9uZXlwdW5jdEljTGIwRUUAAABTdDEwbW9uZXlwdW5jdElj +TGIxRUUAAABTdDEwbW9uZXlwdW5jdEl3TGIwRUUAAABTdDEwbW9uZXlwdW5jdEl3 +TGIxRUUAAABTdDExX190aW1lcHVuY3RJY0UAAFN0MTFfX3RpbWVwdW5jdEl3RQAA +U3QxMWxvZ2ljX2Vycm9yAFN0MTFyYW5nZV9lcnJvcgBTdDExcmVnZXhfZXJyb3IA +U3QxMmNvZGVjdnRfYmFzZQAAAABTdDEyY3R5cGVfYnluYW1lSWNFAFN0MTJjdHlw +ZV9ieW5hbWVJd0UAU3QxMmRvbWFpbl9lcnJvcgAAAABTdDEyZnV0dXJlX2Vycm9y +AAAAAFN0MTJsZW5ndGhfZXJyb3IAAAAAU3QxMm91dF9vZl9yYW5nZQAAAABTdDEy +c3lzdGVtX2Vycm9yAAAAAFN0MTNiYWRfZXhjZXB0aW9uAAAAAAAAAAAAAAAAAAAA +U3QxM2Jhc2ljX2ZpbGVidWZJY1N0MTFjaGFyX3RyYWl0c0ljRUUAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAFN0MTNiYXNpY19maWxlYnVmSXdTdDExY2hhcl90cmFp +dHNJd0VFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTdDEzYmFzaWNfZnN0cmVh +bUljU3QxMWNoYXJfdHJhaXRzSWNFRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxM2Jhc2ljX2ZzdHJlYW1Jd1N0MTFjaGFyX3RyYWl0c0l3RUUAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAFN0MTNiYXNpY19pc3RyZWFtSXdTdDExY2hhcl90cmFp +dHNJd0VFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTdDEzYmFzaWNfb3N0cmVh +bUl3U3QxMWNoYXJfdHJhaXRzSXdFRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxM21lc3NhZ2VzX2Jhc2UAAABTdDEzcnVudGltZV9lcnJvcgAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAFN0MTRiYXNpY19pZnN0cmVhbUljU3QxMWNoYXJfdHJh +aXRzSWNFRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTdDE0YmFzaWNfaWZzdHJl +YW1Jd1N0MTFjaGFyX3RyYWl0c0l3RUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxNGJhc2ljX2lvc3RyZWFtSXdTdDExY2hhcl90cmFpdHNJd0VFAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAFN0MTRiYXNpY19vZnN0cmVhbUljU3QxMWNoYXJfdHJh +aXRzSWNFRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTdDE0YmFzaWNfb2ZzdHJl +YW1Jd1N0MTFjaGFyX3RyYWl0c0l3RUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxNGNvZGVjdnRfYnluYW1lSWNjaUUAU3QxNGNvZGVjdnRfYnluYW1lSXdjaUUA +U3QxNGNvbGxhdGVfYnluYW1lSWNFAAAAU3QxNGNvbGxhdGVfYnluYW1lSXdFAAAA +U3QxNGVycm9yX2NhdGVnb3J5AABTdDE0b3ZlcmZsb3dfZXJyb3IAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAFN0MTViYXNpY19zdHJlYW1idWZJY1N0MTFjaGFyX3Ry +YWl0c0ljRUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTdDE1YmFzaWNfc3RyZWFt +YnVmSXdTdDExY2hhcl90cmFpdHNJd0VFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxNW1lc3NhZ2VzX2J5bmFtZUljRQAAU3QxNW1lc3NhZ2VzX2J5bmFtZUl3RQAA +U3QxNW51bXB1bmN0X2J5bmFtZUljRQAAU3QxNW51bXB1bmN0X2J5bmFtZUl3RQAA +U3QxNXRpbWVfZ2V0X2J5bmFtZUljU3QxOWlzdHJlYW1idWZfaXRlcmF0b3JJY1N0 +MTFjaGFyX3RyYWl0c0ljRUVFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxNXRpbWVfZ2V0X2J5bmFtZUl3U3QxOWlzdHJlYW1idWZfaXRlcmF0b3JJd1N0 +MTFjaGFyX3RyYWl0c0l3RUVFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxNXRpbWVfcHV0X2J5bmFtZUljU3QxOW9zdHJlYW1idWZfaXRlcmF0b3JJY1N0 +MTFjaGFyX3RyYWl0c0ljRUVFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxNXRpbWVfcHV0X2J5bmFtZUl3U3QxOW9zdHJlYW1idWZfaXRlcmF0b3JJd1N0 +MTFjaGFyX3RyYWl0c0l3RUVFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxNXVuZGVyZmxvd19lcnJvcgBTdDE2X19udW1wdW5jdF9jYWNoZUljRQBTdDE2 +X19udW1wdW5jdF9jYWNoZUl3RQBTdDE2aW52YWxpZF9hcmd1bWVudAAAAABTdDE3 +X190aW1lcHVuY3RfY2FjaGVJY0UAAAAAU3QxN19fdGltZXB1bmN0X2NhY2hlSXdF +AAAAAFN0MTdiYWRfZnVuY3Rpb25fY2FsbAAAAFN0MTdtb25leXB1bmN0X2J5bmFt +ZUljTGIwRUUAAAAAU3QxN21vbmV5cHVuY3RfYnluYW1lSWNMYjFFRQAAAABTdDE3 +bW9uZXlwdW5jdF9ieW5hbWVJd0xiMEVFAAAAAFN0MTdtb25leXB1bmN0X2J5bmFt +ZUl3TGIxRUUAAAAAU3QxOF9fbW9uZXlwdW5jdF9jYWNoZUljTGIwRUUAAABTdDE4 +X19tb25leXB1bmN0X2NhY2hlSWNMYjFFRQAAAFN0MThfX21vbmV5cHVuY3RfY2Fj +aGVJd0xiMEVFAAAAU3QxOF9fbW9uZXlwdW5jdF9jYWNoZUl3TGIxRUUAAABTdDIx +X19jdHlwZV9hYnN0cmFjdF9iYXNlSWNFAAAAAFN0MjFfX2N0eXBlX2Fic3RyYWN0 +X2Jhc2VJd0UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTdDIzX19jb2RlY3Z0X2Fi +c3RyYWN0X2Jhc2VJY2NpRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QyM19fY29kZWN2dF9hYnN0cmFjdF9iYXNlSXdjaUUAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAFN0NWN0eXBlSWNFAFN0NWN0eXBlSXdFAFN0N2NvZGVj +dnRJY2NpRQBTdDdjb2RlY3Z0SXdjaUUAU3Q3Y29sbGF0ZUljRQAAAFN0N2NvbGxh +dGVJd0UAAAAAAAAAAAAAAFN0N251bV9nZXRJY1N0MTlpc3RyZWFtYnVmX2l0ZXJh +dG9ySWNTdDExY2hhcl90cmFpdHNJY0VFRQAAAAAAAABTdDdudW1fZ2V0SXdTdDE5 +aXN0cmVhbWJ1Zl9pdGVyYXRvckl3U3QxMWNoYXJfdHJhaXRzSXdFRUUAAAAAAAAA +U3Q3bnVtX3B1dEljU3QxOW9zdHJlYW1idWZfaXRlcmF0b3JJY1N0MTFjaGFyX3Ry +YWl0c0ljRUVFAAAAAAAAAFN0N251bV9wdXRJd1N0MTlvc3RyZWFtYnVmX2l0ZXJh +dG9ySXdTdDExY2hhcl90cmFpdHNJd0VFRQAAAAAAAABTdDhiYWRfY2FzdABTdDhp +b3NfYmFzZQBTdDhtZXNzYWdlc0ljRQAAU3Q4bWVzc2FnZXNJd0UAAFN0OG51bXB1 +bmN0SWNFAABTdDhudW1wdW5jdEl3RQAAAAAAAAAAAABTdDh0aW1lX2dldEljU3Qx +OWlzdHJlYW1idWZfaXRlcmF0b3JJY1N0MTFjaGFyX3RyYWl0c0ljRUVFAAAAAAAA +U3Q4dGltZV9nZXRJd1N0MTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdTdDExY2hhcl90 +cmFpdHNJd0VFRQAAAAAAAFN0OHRpbWVfcHV0SWNTdDE5b3N0cmVhbWJ1Zl9pdGVy +YXRvckljU3QxMWNoYXJfdHJhaXRzSWNFRUUAAAAAAABTdDh0aW1lX3B1dEl3U3Qx +OW9zdHJlYW1idWZfaXRlcmF0b3JJd1N0MTFjaGFyX3RyYWl0c0l3RUVFAAAAAAAA +U3Q5YmFkX2FsbG9jAAAAAAAAAAAAAAAAAAAAAAAAAABTdDliYXNpY19pb3NJY1N0 +MTFjaGFyX3RyYWl0c0ljRUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3Q5YmFzaWNfaW9zSXdTdDExY2hhcl90cmFpdHNJd0VFAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAFN0OWV4Y2VwdGlvbgAAAAAAAAAAAAAAAAAAAAAAAAAA +U3Q5bW9uZXlfZ2V0SWNTdDE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljU3QxMWNoYXJf +dHJhaXRzSWNFRUUAAAAAAFN0OW1vbmV5X2dldEl3U3QxOWlzdHJlYW1idWZfaXRl +cmF0b3JJd1N0MTFjaGFyX3RyYWl0c0l3RUVFAAAAAABTdDltb25leV9wdXRJY1N0 +MTlvc3RyZWFtYnVmX2l0ZXJhdG9ySWNTdDExY2hhcl90cmFpdHNJY0VFRQAAAAAA +U3Q5bW9uZXlfcHV0SXdTdDE5b3N0cmVhbWJ1Zl9pdGVyYXRvckl3U3QxMWNoYXJf +dHJhaXRzSXdFRUUAAAAAAFN0OXRpbWVfYmFzZQAAAABTdDl0eXBlX2luZm8AAAAA +jMZJAEyiSQAMokkAIKJJAGCiSQCgxkkAzMZJAMyiSQCMokkAoKJJAOCiSQDgxkkA +bMlJAAyjSQAgo0kATKNJAGCjSQCUyUkAgMlJAAAAAACsyUkAwMlJAOzJSQAAykkA +bM1JAIyjSQDMo0kA4KNJAAykSQAgpEkAtKNJAKCjSQCUzUkAgM1JAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAKzNSQCMpEkATKRJAGCkSQDMpEkA4KRJALSkSQCgpEkA +1M1JAMDNSQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADszUkAAM5JACzOSQBAzkkA +jM5JAAylSQAgpUkAoM5JAMzOSQBMpUkAYKVJAODOSQAMz0kAjKVJAKClSQDMpUkA +4KVJADTPSQAgz0kAAAAAAEzPSQAMpkkAIKZJAGDPSQCMz0kATKZJAGCmSQCgz0kA +AAAAAAAAAAAAAAAAAAAAAAAAAACApkkAQL5DACC+QwAQbEIA0O1DAIBrQgDg7UMA +AO5DABDuQwDw7UMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKZJAOAWQABgF0AA +AAAAAJSmSQCwu0MAkLtDAMA1SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAJymSQDgu0MAwLtDAKCcRQCwnEUAEOFDAKDhQwBg4UMAAOJDAGDiQwAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAACopkkAELxDAPC7QwDANUgAAAAAAAAAAAAAAAAA +AAAAALCmSQBAvEMAILxDAKCcRQCwnEUAEOFDAKDhQwCA4kMA4OJDAMDjQwAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAC8pkkAcLxDAFC8QwCgnEUAsJxFABDhQwCg4UMA +MORDAGDmQwBQ60MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyKZJACC9QwAAvUMA +EOxDACDsQwDwI0QAsCNEAJAjRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAANSmSQBQvUMAML1DADDtQwBA7UMA8CNEALAjRACQI0QAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAADgpkkAgL1DAGC9QwCA7UMAkO1DAPAjRACwI0QA +kCNEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAOymSQAAv0MA +UL5DAIz///+M////7KZJAJAqSACAKkgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +cAAAAAAAAAD4pkkAQMBDAKC/QwCQ////kP////imSQCwKkgAoCpIAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAEp0kAsMVDAPDEQwAg7kMAAAAAAAAAAAAAAAAA +AAAAABinSQCAyEMAYMhDAMA1SADwx0MAwDVIAMA1SAAAAAAAIKdJAMDJQwCgyUMA +sMhDAPDHQwCQyEMAoMhDAAAAAAAsp0kAoMpDAIDKQwDwyUMA8MdDANDJQwDgyUMA +AAAAADinSQDQy0MAYMtDAPDyQwAAAAAAAAAAAAAAAAAAAAAARKdJANDMQwCwzEMA +wDVIAMA1SABw9EMAMPRDABD0QwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAFCnSQAg0UMAwNBDANBgRgCgYkYAMGdGACBpRgCgX0YAEG1GAABjRgCQbUYA +0BpHAOBrRgBwZUYA4GlGAAAAAABcp0kAINVDAMDUQwDQe0YAoH1GAECCRgAwhEYA +oHpGACCIRgAAfkYAoIhGAGAhRwDghkYAcIBGAPCERgAAAAAAaKdJAJDZQwBg2UMA +QBpHACAbRwDQ1kMAQNdDAPDVQwDwHUcAUNZDAFDYQwAQ1kMAENhDAKDWQwCg10MA +AAAAAHSnSQBA3UMAEN1DANAgRwCwIUcAsNpDACDbQwCw2UMAgCRHAPDZQwAg3EMA +0NlDAMDbQwBg2kMAgNtDAAAAAACAp0kAcN1DAFDdQwDASUUAAAAAAAAAAACMp0kA +oN1DAIDdQwCA9EMAAAAAAAAAAACYp0kA0N1DALDdQwCQ9EMAAAAAAAAAAACkp0kA +4ItHAMCLRwAAAAAArKdJAGC2RwBAtkcAgPxEAAAAAAAAAAAAAAAAAAAAAAAAAAAA +DAAAAAAAAADAp0kAEMVFANDERQAEAAAA+P///8CnSQAQKkgAACpIAPT////0//// +wKdJANAqSADAKkgAAAAAAAgAAAAAAAAA4KdJAGDuRQAw7kUA+P////j////gp0kA +8CpIAOAqSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAPinSQAgC0YA +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 +YLpHAEC6RwAw/kQAEP5EAED+RAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAACtSQDQvUcAsL1HAAD/RAAQ/0QAUP5EAID+RACw/kQAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAMrUkAEMFHAPDARwAwAEUAQABFAID/RACw/0QA +4P9EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIK1JALDBRwCQwUcA +QARFALABRQDAAEUAQAdFAJALRQCgAkUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAECtSQAwwkcAEMJHACAiRQBgH0UAUB5FAKAkRQAAKUUAcCBFAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAABgrUkAsMJHAJDCRwAQQkUAAAAAAAAAAABsrUkA +MMNHABDDRwCARUUAAAAAAAAAAAB4rUkAcMNHAFDDRwCwRkUAAAAAAAAAAACErUkA +QMpHACDKRwAAAAAAkK1JABDRRwDw0EcAAAAAAJytSQBQ0UcAMNFHAMBJRQAAAAAA +AAAAAKStSQDA0UcAoNFHAJBhRQAgYEUAAAAAALCtSQBA0kcAINJHAMB6RQBweUUA +AAAAALytSQDA0kcAoNJHAMB8RQBgfEUAAAAAAMitSQBA00cAINNHAOCMRQCAjEUA +AAAAANytSQCA00cAYNNHAKCcRQCwnEUAcJxFAJCcRQAAAQABAAEAAQABAAEAAQAB +AAEgASABIAEgASABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAB +YABAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJYAFgAWABYAFgAWABYAFgA +WABYAEACQAJAAkACQAJAAkACVQBVAFUAVQBVAFUARQBFAEUARQBFAEUARQBFAEUA +RQBFAEUARQBFAEUARQBFAEUARQBFAEACQAJAAkACQAJAAlYAVgBWAFYAVgBWAEYA +RgBGAEYARgBGAEYARgBGAEYARgBGAEYARgBGAEYARgBGAEYARgBAAkACQAJAAgAB +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +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 +XmUMAGplDAB8ZQwAjGUMAJ5lDACwZQwAyGUMAN5lDAD0ZQwADGYMACJmDABAZgwA +TmYMAGJmDAByZgwAhmYMAJhmDACoZgwAxGYMANxmDADyZgwACmcMAB5nDAA2ZwwA +QmcMAFBnDABmZwwAemcMAI5nDACmZwwAtmcMAMxnDADgZwwA7mcMAP5nDAAcaAwA +JGgMADBoDAA6aAwASGgMAFZoDABoaAwAeGgMAI5oDAAAAAAApGgMAK5oDAC4aAwA +wGgMAMpoDADWaAwAAAAAAOBoDADwaAwAAGkMABBpDAAeaQwAMGkMADppDABEaQwA +TmkMAFhpDABmaQwAdGkMAIBpDACKaQwAlmkMAKJpDACqaQwAtGkMAMBpDADIaQwA +0mkMANppDADkaQwA7mkMAPhpDAAAagwACGoMABBqDAAYagwAIGoMAChqDAAwagwA +OmoMAEJqDABMagwAWGoMAGZqDABwagwAfGoMAIZqDACQagwAmmoMAKRqDACuagwA +tmoMAMBqDADMagwA1moMAOBqDADqagwA9GoMAP5qDAAIawwAFGsMACBrDAAqawwA +NGsMAD5rDABIawwAUmsMAF5rDABqawwAdGsMAH5rDACKawwAlmsMAKBrDACsawwA +tmsMAMJrDAAAAAAAiGQMAJpkDACoZAwAtGQMAMpkDADeZAwA7GQMAABlDAAYZQwA +JmUMADhlDABQZQwAXmUMAGplDAB8ZQwAjGUMAJ5lDACwZQwAyGUMAN5lDAD0ZQwA +DGYMACJmDABAZgwATmYMAGJmDAByZgwAhmYMAJhmDACoZgwAxGYMANxmDADyZgwA +CmcMAB5nDAA2ZwwAQmcMAFBnDABmZwwAemcMAI5nDACmZwwAtmcMAMxnDADgZwwA +7mcMAP5nDAAcaAwAJGgMADBoDAA6aAwASGgMAFZoDABoaAwAeGgMAI5oDAAAAAAA +pGgMAK5oDAC4aAwAwGgMAMpoDADWaAwAAAAAAOBoDADwaAwAAGkMABBpDAAeaQwA +MGkMADppDABEaQwATmkMAFhpDABmaQwAdGkMAIBpDACKaQwAlmkMAKJpDACqaQwA +tGkMAMBpDADIaQwA0mkMANppDADkaQwA7mkMAPhpDAAAagwACGoMABBqDAAYagwA +IGoMAChqDAAwagwAOmoMAEJqDABMagwAWGoMAGZqDABwagwAfGoMAIZqDACQagwA +mmoMAKRqDACuagwAtmoMAMBqDADMagwA1moMAOBqDADqagwA9GoMAP5qDAAIawwA +FGsMACBrDAAqawwANGsMAD5rDABIawwAUmsMAF5rDABqawwAdGsMAH5rDACKawwA +lmsMAKBrDACsawwAtmsMAMJrDAAAAAAAFQBBcmVGaWxlQXBpc0FOU0kAUgBDbG9z +ZUhhbmRsZQB1AENvcHlGaWxlVwB9AENyZWF0ZURpcmVjdG9yeUV4VwAAgABDcmVh +dGVEaXJlY3RvcnlXAACOAENyZWF0ZUZpbGVXAKkAQ3JlYXRlU2VtYXBob3JlQQAA +zwBEZWxldGVDcml0aWNhbFNlY3Rpb24A1ABEZWxldGVGaWxlVwDbAERldmljZUlv +Q29udHJvbADsAEVudGVyQ3JpdGljYWxTZWN0aW9uAAAXAUV4aXRQcm9jZXNzACwB +RmluZENsb3NlADcBRmluZEZpcnN0RmlsZVcAAEMBRmluZE5leHRGaWxlVwBbAUZv +cm1hdE1lc3NhZ2VBAACEAUdldENvbW1hbmRMaW5lQQC9AUdldEN1cnJlbnREaXJl +Y3RvcnlXAADDAUdldEN1cnJlbnRUaHJlYWRJZAAAzAFHZXREaXNrRnJlZVNwYWNl +RXhXAOMBR2V0RmlsZUF0dHJpYnV0ZXNFeFcAAOYBR2V0RmlsZUF0dHJpYnV0ZXNX +AADoAUdldEZpbGVJbmZvcm1hdGlvbkJ5SGFuZGxlAADuAUdldEZpbGVUaW1lAPcB +R2V0RnVsbFBhdGhOYW1lVwAA/gFHZXRMYXN0RXJyb3IAABECR2V0TW9kdWxlSGFu +ZGxlQQAAQQJHZXRQcm9jQWRkcmVzcwAAgQJHZXRUZW1wUGF0aFcAAN4CSW5pdGlh +bGl6ZUNyaXRpY2FsU2VjdGlvbgDnAkludGVybG9ja2VkRGVjcmVtZW50AADoAklu +dGVybG9ja2VkRXhjaGFuZ2UA6wJJbnRlcmxvY2tlZEluY3JlbWVudAAA+wJJc0RC +Q1NMZWFkQnl0ZUV4AAAuA0xlYXZlQ3JpdGljYWxTZWN0aW9uAAA9A0xvY2FsRnJl +ZQBVA01vdmVGaWxlRXhXAFwDTXVsdGlCeXRlVG9XaWRlQ2hhcgDSA1JlbGVhc2VT +ZW1hcGhvcmUAANcDUmVtb3ZlRGlyZWN0b3J5VwAAHQRTZXRDdXJyZW50RGlyZWN0 +b3J5VwAAIwRTZXRFbmRPZkZpbGUAADEEU2V0RmlsZUF0dHJpYnV0ZXNXAAA3BFNl +dEZpbGVQb2ludGVyRXgAADoEU2V0RmlsZVRpbWUAQwRTZXRMYXN0RXJyb3IAAHQE +U2V0VW5oYW5kbGVkRXhjZXB0aW9uRmlsdGVyAIAEU2xlZXAAkwRUbHNBbGxvYwAA +lARUbHNGcmVlAJUEVGxzR2V0VmFsdWUAlgRUbHNTZXRWYWx1ZQC9BFZpcnR1YWxQ +cm90ZWN0AAC/BFZpcnR1YWxRdWVyeQAAxwRXYWl0Rm9yU2luZ2xlT2JqZWN0AN8E +V2lkZUNoYXJUb011bHRpQnl0ZQAXAF9mZG9wZW4AMwBfbHNlZWsAAEAAX3JlYWQA +UABfc3RyZHVwAFIAX3N0cmljb2xsAG0AX3dyaXRlAAA7AF9fZ2V0bWFpbmFyZ3MA +RgBfX21iX2N1cl9tYXgAAFIAX19wX19lbnZpcm9uAABUAF9fcF9fZm1vZGUAAGkA +X19zZXRfYXBwX3R5cGUAAJAAX2Fzc2VydACaAF9jZXhpdAAAwABfZXJybm8AANIA +X2ZpbGJ1ZgDXAF9maW5kY2xvc2UAANgAX2ZpbmRmaXJzdAAA3gBfZmluZG5leHQA +5QBfZmxzYnVmAPQAX2ZzdGF0NjQAAP4AX2Z1bGxwYXRoACgBX2lvYgAAoQFfb25l +eGl0ANIBX3NldG1vZGUAAH8CYWJvcnQAhgJhdGV4aXQAAIgCYXRvaQAAiwJjYWxs +b2MAAJcCZmNsb3NlAACaAmZmbHVzaAAAogJmb3BlbgCkAmZwdXRjAKUCZnB1dHMA +qAJmcmVhZACpAmZyZWUAAK0CZnNlZWsArwJmdGVsbACxAmZ3cml0ZQAAtwJnZXR3 +YwDEAmlzc3BhY2UAygJpc3djdHlwZQAA1wJsb2NhbGVjb252AADcAm1hbGxvYwAA +3gJtYnN0b3djcwAA4AJtZW1jaHIAAOECbWVtY21wAADiAm1lbWNweQAA4wJtZW1t +b3ZlAOQCbWVtc2V0AADtAnB1dHdjAPICcmVhbGxvYwD4AnNldGxvY2FsZQD5AnNl +dHZidWYA+gJzaWduYWwAAP0Cc3ByaW50ZgACA3N0cmNocgAAAwNzdHJjbXAAAAQD +c3RyY29sbAAHA3N0cmVycm9yAAAIA3N0cmZ0aW1lAAAJA3N0cmxlbgAADANzdHJu +Y3B5ABEDc3RydG9kAAAVA3N0cnhmcm0AHgN0b2xvd2VyACADdG93bG93ZXIAACED +dG93dXBwZXIAACIDdW5nZXRjAAAjA3VuZ2V0d2MAJAN2ZnByaW50ZgAAJwN2c3By +aW50ZgAALQN3Y3Njb2xsADADd2NzZnRpbWUAADEDd2NzbGVuAAA8A3djc3RvbWJz +AAA+A3djc3hmcm0AAGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwA +AGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwA +AGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwA +AGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwA +AGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDABrZXJu +ZWwzMi5kbGwAAAAAFGAMABRgDAAUYAwAFGAMABRgDAAUYAwAbXN2Y3J0LmRsbAAA +KGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwA +KGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwA +KGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwA +KGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwA +KGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwA +KGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAG1zdmNydC5k +bGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AFDAJABQwAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAABgEwAHIBMAOxQTAAEcEwAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +} +} \ No newline at end of file diff --git a/src/Utils/xddTestsConvertIntoRebornFormat/und/eab4f8c5-602e-4d5a-bdfa-910323eb3c1f b/src/Utils/xddTestsConvertIntoRebornFormat/und/eab4f8c5-602e-4d5a-bdfa-910323eb3c1f new file mode 100644 index 00000000..a8cea11c --- /dev/null +++ b/src/Utils/xddTestsConvertIntoRebornFormat/und/eab4f8c5-602e-4d5a-bdfa-910323eb3c1f @@ -0,0 +1,17 @@ +{1, +{eab4f8c5-602e-4d5a-bdfa-910323eb3c1f},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,2bd25281-0454-4bf1-9b52-a17b78c7834f,0de42236-0e00-4267-adec-f129a632c3d5, +{0, +{0, +{0,0,6641570f-5fe8-41b8-9fdd-a7d1b233a01c},"xddTestsConvertIntoRebornFormat", +{1,"ru","Конвертация тестов xUnitFor1C в версию4 из формата версии 3"},""} +},eefa7064-8a52-4268-a696-7bf0e82d0af8,"",1c85fafa-c8c3-4b1c-a5a5-06833393c6c5},4, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, +{3daea016-69b7-4ed4-9453-127911372fe6,7,66035cac-eeb6-4708-9998-7f619b73e7f1,d41c4a3c-7890-4572-a6c9-1e1ad5f3d0a8,fcfede74-2426-4bbc-9d8c-cbb168909665,ca555899-4850-4863-9cf3-a59edea89072,07ad65a2-ee47-46ed-8632-42d4a0bf76b0,9809c3cc-c2aa-427f-9e39-0d7b776446b0,efc43c90-f8d2-444b-a250-5d567bef39ad}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,2,eefa7064-8a52-4268-a696-7bf0e82d0af8,1c85fafa-c8c3-4b1c-a5a5-06833393c6c5}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} +} +} +} \ No newline at end of file diff --git a/src/Utils/xddTestsConvertIntoRebornFormat/und/eefa7064-8a52-4268-a696-7bf0e82d0af8 b/src/Utils/xddTestsConvertIntoRebornFormat/und/eefa7064-8a52-4268-a696-7bf0e82d0af8 new file mode 100644 index 00000000..d6a99c31 --- /dev/null +++ b/src/Utils/xddTestsConvertIntoRebornFormat/und/eefa7064-8a52-4268-a696-7bf0e82d0af8 @@ -0,0 +1,10 @@ +{1, +{1, +{0, +{9, +{0, +{0,0,eefa7064-8a52-4268-a696-7bf0e82d0af8},"Форма", +{1,"ru","Форма"},""},0,0}, +{0} +} +},0} \ No newline at end of file diff --git a/src/Utils/xddTestsConvertIntoRebornFormat/und/efc43c90-f8d2-444b-a250-5d567bef39ad b/src/Utils/xddTestsConvertIntoRebornFormat/und/efc43c90-f8d2-444b-a250-5d567bef39ad new file mode 100644 index 00000000..434856c4 --- /dev/null +++ b/src/Utils/xddTestsConvertIntoRebornFormat/und/efc43c90-f8d2-444b-a250-5d567bef39ad @@ -0,0 +1,6 @@ +{1, +{2,4, +{0, +{0,0,efc43c90-f8d2-444b-a250-5d567bef39ad},"КонтекстЯдра", +{1,"ru","КонтекстЯдра"},""} +},0} \ No newline at end of file diff --git a/src/Utils/xddTestsConvertIntoRebornFormat/und/efc43c90-f8d2-444b-a250-5d567bef39ad.0 b/src/Utils/xddTestsConvertIntoRebornFormat/und/efc43c90-f8d2-444b-a250-5d567bef39ad.0 new file mode 100644 index 00000000..341a1519 --- /dev/null +++ b/src/Utils/xddTestsConvertIntoRebornFormat/und/efc43c90-f8d2-444b-a250-5d567bef39ad.0 @@ -0,0 +1,2 @@ +ВывестиСообщение +ПрерватьТест=КонтекстЯдра.ВызватьОшибкуПроверки \ No newline at end of file diff --git a/src/Utils/xddTestsConvertIntoRebornFormat/und/fcfede74-2426-4bbc-9d8c-cbb168909665 b/src/Utils/xddTestsConvertIntoRebornFormat/und/fcfede74-2426-4bbc-9d8c-cbb168909665 new file mode 100644 index 00000000..4b155f38 --- /dev/null +++ b/src/Utils/xddTestsConvertIntoRebornFormat/und/fcfede74-2426-4bbc-9d8c-cbb168909665 @@ -0,0 +1,6 @@ +{1, +{2,4, +{0, +{0,0,fcfede74-2426-4bbc-9d8c-cbb168909665},"БазовыеУтверждения", +{1,"ru","Базовые утверждения"},""} +},0} \ No newline at end of file diff --git a/src/Utils/xddTestsConvertIntoRebornFormat/und/fcfede74-2426-4bbc-9d8c-cbb168909665.0 b/src/Utils/xddTestsConvertIntoRebornFormat/und/fcfede74-2426-4bbc-9d8c-cbb168909665.0 new file mode 100644 index 00000000..096e10ae --- /dev/null +++ b/src/Utils/xddTestsConvertIntoRebornFormat/und/fcfede74-2426-4bbc-9d8c-cbb168909665.0 @@ -0,0 +1,24 @@ +Проверить +ПроверитьИстину +ПроверитьЛожь +ПроверитьДату +ПроверитьРавенствоДатСТочностью2Секунды +ПроверитьРавенство +ПроверитьНеРавенство +ПроверитьБольше +ПроверитьБольшеИлиРавно +ПроверитьМеньше +ПроверитьМеньшеИлиРавно +ПроверитьВыполнилось +ПроверитьМетодВыполнился +ПроверитьНеВыполнилось +ПроверитьМетодНеВыполнился +ПроверитьЗаполненность +ПроверитьНеЗаполненность +ПроверитьТип +ПроверитьВхождение +ПроверитьВхождениеВКоллекцию +ПроверитьВалидностьЗапросаСКД +ПроверитьНаличиеОбъектаИБ +ПроверитьРавенствоФайлов +ПропуститьТест \ No newline at end of file diff --git a/src/Utils/xddTestsConvertIntoRebornFormat/und/root b/src/Utils/xddTestsConvertIntoRebornFormat/und/root new file mode 100644 index 00000000..bd3856f4 --- /dev/null +++ b/src/Utils/xddTestsConvertIntoRebornFormat/und/root @@ -0,0 +1 @@ +{2,eab4f8c5-602e-4d5a-bdfa-910323eb3c1f,} \ No newline at end of file diff --git "a/src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/version" b/src/Utils/xddTestsConvertIntoRebornFormat/und/version similarity index 100% rename from "src/Tests/selftests/\320\242\320\265\321\201\321\202_\320\225\321\201\321\202\321\214\320\234\320\265\321\202\320\276\320\264\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\244\320\276\321\200\320\274(\320\224\320\273\321\217CmdLine)/und/version" rename to src/Utils/xddTestsConvertIntoRebornFormat/und/version diff --git a/src/Utils/xddTestsConvertIntoRebornFormat/und/versions b/src/Utils/xddTestsConvertIntoRebornFormat/und/versions new file mode 100644 index 00000000..7f4ee28e --- /dev/null +++ b/src/Utils/xddTestsConvertIntoRebornFormat/und/versions @@ -0,0 +1 @@ +{1,26,"",18239fec-439e-4bb4-85d8-25b1f5b22738,"141fdc44-831c-400c-8419-7bc7ffbd3b69",2b088792-66b2-43c0-b887-1c421adb5c5b,"fcfede74-2426-4bbc-9d8c-cbb168909665.0",5ad156d2-e4f0-4d1a-917f-f2446b59ddd3,"copyinfo",b884f2cb-8d35-438c-9f25-f221326fc805,"d41c4a3c-7890-4572-a6c9-1e1ad5f3d0a8.0",39d05639-ddce-4428-870a-98bde02cf6ee,"eefa7064-8a52-4268-a696-7bf0e82d0af8",e9f584f7-915e-424f-b22c-799db7487a1a,"eefa7064-8a52-4268-a696-7bf0e82d0af8.0",bcaee597-5426-4792-9815-83e7449be603,"07ad65a2-ee47-46ed-8632-42d4a0bf76b0.0",b1e885af-774e-4969-a523-db65350ac02c,"9809c3cc-c2aa-427f-9e39-0d7b776446b0",0bcc087a-b388-4c69-8229-b181a9fcd059,"ca555899-4850-4863-9cf3-a59edea89072.0",15c75afe-d85b-4fb4-9ed2-612085a56957,"66035cac-eeb6-4708-9998-7f619b73e7f1.0",1fb2688c-6272-4290-a053-0beffefba90c,"efc43c90-f8d2-444b-a250-5d567bef39ad.0",55c5e554-fa7e-45fc-8e65-7c92412d5045,"ca555899-4850-4863-9cf3-a59edea89072",391d1acd-c551-49f9-8fbd-75d86b26e1c1,"efc43c90-f8d2-444b-a250-5d567bef39ad",a04de733-1e2e-44d4-9727-82eb026f5666,"version",39a02aa0-6352-406b-a329-c2b17c2f7a2c,"root",860316aa-d086-4a95-8a25-1fa87015bc18,"d41c4a3c-7890-4572-a6c9-1e1ad5f3d0a8",d077632e-06ec-4b35-a4f6-c60e5d8d244f,"eab4f8c5-602e-4d5a-bdfa-910323eb3c1f",fa3d5f35-d801-477e-ab58-992a14b88ef8,"versions",21873d54-3b62-4c4c-a813-ee21ba1b3fcd,"07ad65a2-ee47-46ed-8632-42d4a0bf76b0",48de7cdb-371d-432c-b7f0-61d6167168b1,"1c85fafa-c8c3-4b1c-a5a5-06833393c6c5.0",56d368e4-970d-4fc2-9180-79ae2506cad4,"1c85fafa-c8c3-4b1c-a5a5-06833393c6c5",db6eb8f9-8fec-44a2-bd05-2d5a7ce4a382,"9809c3cc-c2aa-427f-9e39-0d7b776446b0.0",6eebdfda-29b4-4ac2-8da7-ed6088bc194e,"66035cac-eeb6-4708-9998-7f619b73e7f1",75943565-18f1-47c1-a78e-f446523491de,"6641570f-5fe8-41b8-9fdd-a7d1b233a01c.0",ff535776-787a-41c4-9e9d-0b2dcfd8b3d7,"fcfede74-2426-4bbc-9d8c-cbb168909665",c5f33640-42d7-4a35-a93b-7b811bb32e78} \ No newline at end of file diff --git "a/src/Utils/xddTestsConvertIntoRebornFormat/\320\234\320\260\320\272\320\265\321\202\321\213/v8unpack.txt" "b/src/Utils/xddTestsConvertIntoRebornFormat/\320\234\320\260\320\272\320\265\321\202\321\213/v8unpack.txt" new file mode 100644 index 00000000..4dfae103 --- /dev/null +++ "b/src/Utils/xddTestsConvertIntoRebornFormat/\320\234\320\260\320\272\320\265\321\202\321\213/v8unpack.txt" @@ -0,0 +1,16675 @@ +{1, +{#base64:TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5v +dCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAABQRQAATAEIAAAAAAAAAAAA +AAAAAOAADwMLAQIYAJoIAAAyDAAADgAAcBUAAAAQAAAAsAgAAABAAAAQAAAAAgAA +BAAAAAEAAAAEAAAAAAAAAACQDAAABAAAWhwNAAMAAAAAACAAABAAAAAAEAAAEAAA +AAAAABAAAAAAAAAAAAAAAABgDAAEDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAwAGAAAAAAAAAAAAAAA +AAAAAAAAAABsYgwAHAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAA +gJgIAAAQAAAAmggAAAQAAAAAAAAAAAAAAAAAAGAAUGAuZGF0YQAAAPxiAAAAsAgA +AGQAAACeCAAAAAAAAAAAAAAAAABAAGDALnJkYXRhAADExgAAACAJAADIAAAAAgkA +AAAAAAAAAAAAAAAAQABgQC5laF9mcmFt4FcCAADwCQAAWAIAAMoJAAAAAAAAAAAA +AAAAAEAAMEAuYnNzAAAAAEAMAAAAUAwAAAAAAAAAAAAAAAAAAAAAAAAAAACAAGDA +LmlkYXRhAAAEDgAAAGAMAAAQAAAAIgwAAAAAAAAAAAAAAAAAQAAwwC5DUlQAAAAA +GAAAAABwDAAAAgAAADIMAAAAAAAAAAAAAAAAAEAAMMAudGxzAAAAACAAAAAAgAwA +AAIAAAA0DAAAAAAAAAAAAAAAAABAADDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +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 +////x4Xs/v//DKJJAMeF8P7//wAAAADHhWD///+w2UkA6FqZBwCLheT9//+NWPSB ++2AMSQAPhSUBAACNZfSJ8FteX13Dvsz////p8P7//5CJRCQMjbXs/f//jQRKiXQk +CIlEJASJFCTo80oCAIu17P3//+lY/P//iUQkDAHRjYXk/f//iUQkCIlMJASJFCTo +XEgCAOnS+///jbQmAAAAAIlEJAyNhfD9//+JRCQIjQRKiUQkBIkUJOijSgIAi7Xw +/f//6YD9//+JRCQMAdGNhej9//+JRCQIiUwkBIkUJOgMSAIA6eX8//+NtCYAAAAA +A0j0i0EUg8gEiQQk6D+mBwDpcPz//wNI9ItBFIPIBIkEJOgppgcA6cj9//+NdCYA +vs3////pjv7//4M9AFFMAAAPhcEAAACLUPyNSv+JSPyJ0IXAD49u/v//jYXw/f// +ifmJBCTo1oMFAFDpWP7//4M9AFFMAAAPhZgAAACLUPyNSv+JSPyJ0IXAD4+7/v// +jYXw/f//idmJBCTooIMFAFDppf7//4M9AFFMAAB1dotQ/I1K/4lI/InQhcAPj9z7 +//+NhfT9//+J8YkEJOge9AUAUOnG+///gz0AUUwAAHVRi1D8jXL/iXD8idCFwA+P +GP3//4217P3//4k0JOju8wUAUekE/f//g+gE6E4dCADpPf///4PoBOhBHQgAjXYA +6WP///+D6AToMR0IAI12AOuIg+gEiY3U/f//6B4dCACLjdT9///rpMeF9P3//4yi +SQCJw8eFZP7//6CiSQCLhfD9//+Ntez9//+JNCSNSPTom/MFAFKNjWT+///HhWT+ +//+w2UkA6AWXBwCLhej9//+JNCSNSPToxIIFAFCNjez+///omJ4DAIuF5P3//41I +9I2F4P3//4kEJOihggUAUIkcJOhIFQMAicPrkonDi4Xo/f//jUj0jYXi/f//iQQk +6HuCBQBX67WJxonZ6M9TBgCJ8MeF7P7//wyiSQCJw8eFYP///yCiSQDHhfD+//8A +AAAAi4Xs/f//jUj0jYX0/f//iQQk6ObyBQBQjY1g////x4Vg////sNlJAOhQlgcA +6WP////rrInDjbQmAAAAAOvBjY30/f//icONtez9///oG58DAOkh////icONtez9 +///p//7//4nDjY0U/v//x4X4/f//6NBJAI217P3//+gMbgcAjY1k/v//x4X0/f// +jKJJAMeFZP7//7DZSQDo3ZUHAOnT/v//icONtez9///pxv7//42NHP///4nD6B41 +BgCNjRD////HhfT+///o0EkA6LltBwCNjWD////Hhez+//8MokkAx4Xw/v//AAAA +AMeFYP///7DZSQDogJUHAOmT/v//jY0g/v//icPozjQGAOlS////icPrp4nDjXYA +6XP+//+Jw4uF7P3//41I9I2F4f3//4kEJOjC8QUAUOnX/v//icOLhfD9//+NSPSN +heP9//+JBCToo/EFAFaNtez9///p/f3//4nDifnoPlIGAInY6b/9//+Jw+mb/v// +icOLheT9//+NSPSNhez+///pEf7//412AI28JwAAAABVuFyAAACJ5VdWU+jw5gIA +KcSNnbB////HRCQMOAAAAMdEJAiAIEkAx0QkBPH///+JHCTHhdB///8AAAAAx4XU +f///AAAAAMeF2H///wAAAADHhbR///8AAAAAx4Wwf///AAAAAOiGAAEAhcCJxw+F +lQAAAI216H///4tNCMdEJAQAQAAAiTQk6NO1BQCLVQiLCotABIPsCImFtH///4tJ +9PZEChQBD4XEAAAAhcAPhMsAAACJtbB///+Nhei////HRCQEAAAAAIkcJMeFwH// +/wBAAACJhbx////osAMBAIP4/onHD4StAAAAg/j8fCGD+P1+CoP4AnUXv/3///+J +HCToqSgBAIn4jWX0W15fXcO4AEAAAItNDCuFwH///4lEJASNhei///+JBCToj9QF +AItFDItVDIsAg+wIi0D09kQCFAF1KouFwH///4XAD4Rm////g/8BD4Ud////iRwk +6EsoAQAxwOugjbQmAAAAAIkcJOg4KAEAuP/////riokcJOgpKAEAMcCD/wEPlMCN +RED96XH////HRCQI3QAAAMdEJASGIEkAxwQklSBJAOh0jwMAjbYAAAAAjb8AAAAA +VYnlV1ZTgew8AgAAx4Xk/f//bAxJAOhVCgIAi1UIixKLSvSFyQ+FHQQAAI2NYP// +/+hakgcAx4Vg////sNlJAMdF0AAAAADGRdQAxkXVAMdF2AAAAADHRdwAAAAAx0Xg +AAAAAMdF5AAAAADoAAoCAIuV5P3//758DEkAx4Xs/f//fAxJAItK9IXJD4WQAwAA +xwQkAAAAAI2NYP///8eF7P7//wyiSQDHhWD///8gokkAx4Xw/v//AAAAAOjQnwcA +jZ30/v//g+wEidnHhez+//9MokkAx4Vg////YKJJAOjMTAYAi4Xs/v//jY3s/v// +A0j0iRwk6JWfBwCD7ASJ2cdEJAQMAAAAiTQk6FA5BgCD7AiFwIuF7P7//42N7P7/ +/w+EmQMAAANI9McEJAAAAADoqp8HAIuF7P3//4PsBI1w9IH+cAxJAA+FGAQAAPaF +dP///wXHhez+//+MxkkAx4Vg////oMZJAA+FgQMAAMeF6P3//2wMSQDo8ggCAItV +DIsSi0r0hckPhQoDAACNjWT+///o95AHAMeFZP7//7DZSQDHhdT+//8AAAAAxoXY +/v//AMaF2f7//wDHhdz+//8AAAAAx4Xg/v//AAAAAMeF5P7//wAAAADHhej+//8A +AAAA6IgIAgCLlej9//+/fAxJAMeF8P3//3wMSQCLSvSFyQ+FaAIAAMcEJAAAAACN +jWT+///HhfT9//+MokkAx4Vk/v//oKJJAOhingcAjbX4/f//g+wEifHHhfT9///M +okkAx4Vk/v//4KJJAOheSwYAi4X0/f//jY30/f//A0j0iTQk6CeeBwCD7ASJ8cdE +JAQUAAAAiTwk6OI3BgCD7AiFwIuF9P3//42N9P3//w+EQQIAAANI9McEJAAAAADo +PJ4HAIuF8P3//4PsBI1I9IH5cAxJAA+F3AIAAPaFeP7//wXHhfT9///MxkkAx4Vk +/v//4MZJAA+FMwEAAI2F9P3//4lEJASNhez+//+JBCToS/v//4P4/b+3////dAqD ++AEZ//fXg+e6ifHHhfT9///MokkAx4Vk/v//4KJJAMeF+P3//+jMSQDogjgGAI2N +IP7//+hHLwYAjY0U/v//x4X4/f//6NBJAOjiZwcAjY1k/v//x4X0/f//jKJJAMeF +ZP7//7DZSQDos48HAIuF6P3//41w9IH+YAxJAA+FeAEAAInZx4Xs/v//TKJJAMeF +YP///2CiSQDHhfT+///ozEkA6Ak4BgCNjRz////ozi4GAI2NEP///8eF9P7//+jQ +SQDoaWcHAI2NYP///8eF7P7//wyiSQDHhfD+//8AAAAAx4Vg////sNlJAOgwjwcA +i4Xk/f//jVj0gftgDEkAD4UrAQAAjWX0ifhbXl9dw5C/uP///+nv/v//jbYAAAAA +iUQkDI297P3//40ESol8JAiJRCQEiRQk6MNAAgCLtez9///pSPz//4lEJAwB0Y2F +5P3//4lEJAiJTCQEiRQk6Cw+AgDpwvv//420JgAAAACJRCQMjYXw/f//iUQkCI0E +SolEJASJFCToc0ACAIu98P3//+lw/f//iUQkDAHRjYXo/f//iUQkCIlMJASJFCTo +3D0CAOnV/P//jbQmAAAAAANI9ItBFIPIBIkEJOgPnAcA6WD8//8DSPSLQRSDyASJ +BCTo+ZsHAOm4/f//jXQmAL+5////6Yj+//+DPQBRTAAAD4XBAAAAi1D8jUr/iUj8 +idCFwA+PaP7//42F8P3//4nxiQQk6KZ5BQBR6VL+//+DPQBRTAAAD4WYAAAAi1D8 +jUr/iUj8idCFwA+Ptf7//42F8P3//4nZiQQk6HB5BQBS6Z/+//+DPQBRTAAAdXaL +UPyNSv+JSPyJ0IXAD4/M+///jYX0/f//ifGJBCTo7ukFAFDptvv//4M9AFFMAAB1 +UYtQ/I16/4l4/InQhcAPjwj9//+Nvez9//+JPCTovukFAFfp9Pz//4PoBOgeEwgA +6T3///+D6AToERMIAI12AOlj////g+gE6AETCACNdgDriIPoBImN1P3//+juEggA +i43U/f//66THhfT9//+MokkAicPHhWT+//+gokkAi4Xw/f//jb3s/f//iTwkjUj0 +6GvpBQBWjY1k/v//x4Vk/v//sNlJAOjVjAcAi4Xo/f//iTwkjUj06JR4BQBQjY3s +/v//6GiUAwCLheT9//+NSPSNheD9//+JBCTocXgFAFCJHCToGAsDAInD65KJw4uF +6P3//41I9I2F4v3//4kEJOhLeAUAUOu1icaJ2eifSQYAifDHhez+//8MokkAicPH +hWD///8gokkAx4Xw/v//AAAAAIuF7P3//41I9I2F9P3//4kEJOi26AUAUI2NYP// +/8eFYP///7DZSQDoIIwHAOlj////66yJw420JgAAAADrwY2N9P3//4nDjb3s/f// +6OuUAwDpIf///4nDjb3s/f//6f/+//+Jw42NFP7//8eF+P3//+jQSQCNvez9///o +3GMHAI2NZP7//8eF9P3//4yiSQDHhWT+//+w2UkA6K2LBwDp0/7//4nDjb3s/f// +6cb+//+NjRz///+Jw+juKgYAjY0Q////x4X0/v//6NBJAOiJYwcAjY1g////x4Xs +/v//DKJJAMeF8P7//wAAAADHhWD///+w2UkA6FCLBwDpk/7//42NIP7//4nD6J4q +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 +BMeF1Oz//wAAAACJBCToLdT//42F8O3//4lEJAyLhdDs///Hhfjs//8AAAAAx4Xw +7f//AAAAAIlEJAiNhfjs//+JRCQEi4XU7P//iQQk6F3O//+FwInGD4UlAQAAi4XU +7P//hcB0CIkEJOihzgcAi4XQ7P//i7347P//iUQkBIk8JOgJ2P//hMAPhCkBAACL +hfDt//+Nnejv///HRCQMAAAAAInZx0QkCAAAAACJPCSJRCQEx4Xo7///qMRJAMeF +/O///wAAAADHhQDw//8AAAAAx4UE8P//AAAAAMeFCPD//wAAAADHhQzw//8AAAAA +x4UQ8P//AAAAAMaFFPD//wHoavL//4PsEOiizwEAi30Qx4Xs7v//fAxJAIsXjb3s +7v//ib2E7P//i0r0hckPhdAHAACLhYTs//+J2YkEJOjc2P//i5Xs7v//g+wEjXr0 +gf9wDEkAD4XmEgAAidnordD//4nZ6Ia3//+Lhfjs//+JBCToaFQDAI1l9InwW15f +XcOLvdTs//+LhdDs///HhdTs//8AAAAAiTwkiUQkBIm9+Oz//4mF8O3//+jg1v// +hMAPhdf+//+NhVjw//+JwYmFfOz//+gFVwcAx4VY8P//sNlJAMeFyPD//wAAAADG +hczw//8AxoXN8P//AMeF0PD//wAAAADHhdTw//8AAAAAx4XY8P//AAAAAMeF3PD/ +/wAAAADols4BAIt9EMeF7O7//3wMSQCLF798DEkAi0r0hckPhTcHAACLjXzs///H +BCQAAAAAx4Xo7///jKJJAMeFWPD//6CiSQDocWQHAI2F7O///4PsBInBx4Xo7/// +zKJJAMeFWPD//+CiSQCJhYDs///oZxEGAIuF6O///42d6O///4tI9IuFgOz//wHZ +iQQk6ChkBwCLjYDs//+D7ATHRCQEFAAAAIk8JOjf/QUAg+wIhcCLhejv//+J2Q+E +zgcAAANI9McEJAAAAADoPWQHAIuV7O7//4PsBI169IH/cAxJAA+FphMAAIuF8O3/ +/4nZx4Xo7///zMZJAMeFWPD//+DGSQCJRCQEi4X47P//iQQk6BeXBQCLjYDs//+D +7AjHhejv///MokkAx4VY8P//4KJJAMeF7O///+jMSQDom/4FAI2NFPD//+hg9QUA +jY0I8P//x4Xs7///6NBJAOj7LQcAi4187P//x4Xo7///jKJJAMeFWPD//7DZSQDo +zFUHAOnR/f//jbQmAAAAAI2FWPD//4nGicGJhXzs///oG1UHAInxxwQkAAAAAMeF +yPD//wAAAADGhczw//8AxoXN8P//AMeF0PD//wAAAADHhdTw//8AAAAAx4XY8P// +AAAAAMeF3PD//wAAAADHhejv//+MokkAx4VY8P//oKJJAOi5YgcAjYXs7///g+wE +icGJxseF6O///8yiSQDHhVjw///gokkAiYWA7P//6K0PBgCLhejv//+Nnejv//+L +SPSJNCQB2eh0YgcAg+wEx4Xo7///zMZJAMeFWPD//+DGSQDoOMwBAIuVoOz//7l8 +DEkAx4Xs7v//fAxJAIty9IX2D4WIBAAAiQwki42A7P//x0QkBBQAAADo8vsFAIPs +CIXAi4Xo7///idkPhJQGAAADSPTHBCQAAAAA6FBiBwCLlezu//+D7ASNcvSB/nAM +SQAPhQ8QAACNhfjs//+JRCQMi0UIiVwkCIl8JATHhfjs//8AAAAAiQQk6NHQ//+L +jYDs///o1vwFAIXAD4QkBQAAjYW47P//jbWg7P//icGJNCSJhXTs///o8kgFAIuN +gOz//4PsBMeF6O///8yiSQDHhVjw///gokkAx4Xs7///6MxJAOiG/AUAjY0U8P// +6EvzBQCNjQjw///Hhezv///o0EkA6OYrBwCLjXzs///Hhejv//+MokkAx4VY8P// +sNlJAOi3UwcAMfboAMsBAIuVuOz//7l8DEkAx4Xo7///fAxJAIt69IX/D4U4BAAA +iQwkjY347f//x0QkBAwAAADouvoFAIPsCIXAi4Xw7f//jY3w7f//D4QzBAAAA0j0 +xwQkAAAAAOgUYQcAi5Xo7///g+wEjVr0gftwDEkAD4WwDAAAjYXw7f//iQQk6B7R +//+EwA+EtgEAAMeF6O///6jESQCNnejv///Hhfzv//8AAAAAx4UA8P//AAAAAMeF +BPD//wAAAADHhQjw//8AAAAAx4UM8P//AAAAAMeFEPD//wAAAADGhRTw//8B6B7K +AQCLfRDHhbzs//98DEkAixeNvbzs//+LSvSFyQ+FDgMAAIuFeOz//42d6O///8dE +JBAAAAAAidnHRCQMAAAAAIk8JIlEJAiNhfDt//+JRCQE6AoQAACLlbzs//+D7BSN +evSB/3AMSQAPhTwKAACNjfjt///o5/oFAIXAD4S3AwAAidno+Mr//4uFdOz//8dE +JAQAAAAAiQQk6MKZAQCJ2ei7sf//i5W47P//jXr0gf9gDEkAD4UqDwAAi5Ws7P// +jXr0gf9gDEkAD4XtCgAAi5Wg7P//jXr0gf9gDEkAD4X4BQAAjY347f//x4Xw7f// +TKJJAMeFZO7//2CiSQDHhfjt///ozEkA6FP6BQCNjSDu///oGPEFAI2NFO7//8eF ++O3//+jQSQDosykHAI2NZO7//8eF8O3//wyiSQDHhfTt//8AAAAAx4Vk7v//sNlJ +AOh6UQcAjWX0ifBbXl9dw42N+O3//+j1+QUAhcAPhLUCAADHhejv//8AAAAA6G4g +AgCJhezv//+LRRCNnejv//+JXCQIiUQkBIuFdOz//4kEJOipRAEA6fn+//+NdCYA +jY207P//AdCJXCQMiUwkCIlEJASJFCTodAACAIuVyOz//+k18v//jY2o7P//AdCJ +XCQMiUwkCIlEJASJFCToTQACAIuVwOz//+kw8f//ZpCLjYTs///HRCQIAAAAAMcE +JAAAAADHRCQEAAAAAOhOdQUAg+wMjZ3o7///6xCNdgD2hXTv//8FD4Xn9f//i42E +7P//x0QkBAAQAACJHCTo/XEFAItABIPsCIXAdNOJRCQEjY347P//iRwk6EGRBQCD +7AjrvIlEJAyNBEqJfCQIiUQkBIkUJOglAgIA6RT4//+JRCQMi4WE7P//iRQkiUQk +CI0EcolEJAToAwICAIuN7O7//+lQ+///iUQkDI2F1Oz//4lEJAiNBEqJRCQEiRQk +6NsBAgCLndTs///pUPT//4lEJAyNhezu//+JRCQIjQRKiUQkBIkUJOizAQIAi73s +7v//6aH4//+JRCQMjYXM7P//iUQkCI0EWolEJASJFCToiwECAIuNzOz//+l58v// +iUQkDI0ESol8JAiJRCQEiRQk6GkBAgDp1vz//410JgCJRCQMjYXQ7P//iUQkCI0E +WolEJASJFCToQwECAIuN0Oz//+nq8v//iUQkDI2d6O///40EeolcJAiJRCQEiRQk +6BsBAgCLjejv///poPv//wNI9ItBFIPIBIkEJOjfXAcA6cb7//+Lhejv//+LSPQB +2YtBFIPIBIkEJOjBXAcAg+wE6bv6//+Lhfjs//+Njfjs//8DSPSLQRSDyASJBCTo +nFwHAIPsBOlg9P//A0j0i0EUg8gEiQQk6INcBwDpxPP//wNI9ItBFIPIBIkEJOht +XAcA6Sv4//+NjfDt///oDa7//+k7/f//jY3w7f//6P2t///pOfz//wNI9ItBFIPI +BIkEJOg3XAcA6Yfx//+Lhfjs//+Njfjs//8DSPSLQRSDyASJBCToFVwHAIPsBOm6 +8f//A0j0i0EUg8gEiQQk6PxbBwDpBfL//420JgAAAACLhezu//+LjYTs//8DSPSL +QRSDyASJBCTo01sHAIPsBOlu8///A0j0i0EUg8gEiQQk6LpbBwDpZfn//4nDi4Xo +7///jUj0jYWe7P//iQQk6FyqBQBWi4W47P//jUj0jYX47P//iQQk6JQ5BQBQi4Ws +7P//jUj0jYX47P//iQQk6Hw5BQBQi4Wg7P//jUj0jYXE7P//iQQk6GQ5BQBQjY3w +7f//6DhVAwCJHCToAMwCAInDi4XM7P//jUj0jYWX7P//iQQk6OepBQBQjY347P// +6EtWAwDpe////4nDi4Xs7v//jUj0jYXM7P//iQQk6L2pBQBWi4187P//x4VY8P// +sNlJAOgnTQcAiRwk6J/LAgCJw4uF1Oz//41I9I2Fmuz//4kEJOiGqQUAUI2NYO// +/8eFYO///7DZSQDo8EwHAOuIicaLhezu//+NSPSNhZzs//+JBCToVakFAFCJ2Ynz +6LtVAwDp6/7//4nDi4XQ7P//jUj0jYWZ7P//iQQk6C2pBQBR6UH///+JxouFvOz/ +/42d6O///41I9I2Fn+z//4kEJOgIqQUAUInZifPoDqz//+me/v//i42A7P//icPo +nAkGAInYx4Xo7///jKJJAInDi4187P//x4VY8P//sNlJAOhJTAcA6Wn+//+NjRzv +//+Jw+iX6wUAjY0Q7///x4X07v//6NBJAOgyJAcAjY1g7///x4Xs7v//DKJJAMeF +8O7//wAAAADHhWDv//+w2UkA6PlLBwDpjv7//4M9AFFMAACNQvx1dItC/I1I/4lK +/IXAD4/r+f//iRwkifnofTcFAFDp2/n//42NIO7//4nD6BrrBQCNjRTu///Hhfjt +///o0EkA6LUjBwCNjWTu///HhfDt//8MokkAx4X07f//AAAAAMeFZO7//7DZSQDo +fEsHAIkcJOj0yQIA6D3RBwDrjonD66+J9o28JwAAAADp8f7//4nGi4Xs7v//jUj0 +jYXM7P//iQQk6MKnBQBXidnoyqr//4k0JOiyyQIAicOLhcDs//+NSPSNhejv//+J +BCTomacFAFCLhajs//+NSPSNhZLs//+JBCTo0TYFAFDpaP3//4nDi4XI7P//jUj0 +jYXo7///iQQk6GKnBQBRi4W07P//jUj0jYWU7P//iQQk6Jo2BQBS6Rn9//+Jw42N +ZO7//8eFZO7//7DZSQDorUoHAIkcJOglyQIAgz0AUUwAAI1C/HVai1r8jUP/iUL8 +idiFwA+PSuz//42d6O///4kcJOgoNgUAUOk27P//gz0AUUwAAI1C/HU6i1r8jUP/ +iUL8idiFwA+PAuz//42d6O///4kcJOj1NQUAUOnu6///iY2A7P//6ALQBwCLjYDs +///rnomNgOz//+jvzwcAi42A7P//676JxouF+Oz//41I9I2Flez//4kEJOjQNQUA +UIuFsOz//42d6O///4kcJI1I9Oi4NQUAUIuFtOz//4kcJInzjUj06KQ1BQBQ6SP8 +//+JxuvLicPp4v7//4M9AFFMAACNQvx1ZIta/I1D/4lC/InYhcAPj33r//+Nnejv +//+JHCToRjUFAFDpaev//4nGjZ3o7///65+DPQBRTAAAjUL8dTqLWvyNQ/+JQvyJ +2IXAD4+y6v//jZ3o7///iRwk6LmlBQBT6Z7q//+JjYDs///oFs8HAIuNgOz//+uU +iY2A7P//6APPBwCLjYDs///rvoM9AFFMAACNQvx1Wota/I1D/4lC/InYhcAPjwnq +//+Nnejv//+JHCTosDQFAFDp9en//4M9AFFMAACNQvx1Oota/I1D/4lC/InYhcAP +j8Hp//+Nnejv//+JHCTofTQFAFDpren//4mNgOz//+iKzgcAi42A7P//656JjYDs +///od84HAIuNgOz//+u+gz0AUUwAAI1C/HUsi1r8jUP/iUL8idiFwA+PU+n//42d +6O///4kcJOgkNAUAUOk/6f//6RP7//+JjYDs///oLM4HAIuNgOz//+vMicaJ2eg9 +UQMAiTQk6MXGAgCJxouFvOz//41I9IuFhOz//4kEJOispAUAUOmf+///gz0AUUwA +AI1C/HVGi0L8jUj/iUr8hcAPj6f1//+LhYTs//+J+YkEJOhZpAUAUOmR9f//icOL +hdTs//+NSPSNhejv//+JBCToWqQFAFDpz/r//+idzQcA67zHhezu//8MokkAicPH +hWDv//8gokkAx4Xw7v//AAAAAOu6icPpn/r//4nG6cn6//+DPQBRTAAAjUL8D4Xg +AAAAi0r8jUH/iUL8iciFwA+PmOz//42d6O///4nxiRwk6MqjBQBQ6YLs//+LjYTs +//+Jw+gHTwMA6ez5///Hhfjs//+MokkAicONjWjt///HhWjt//+w2UkA6DFHBwDp +Ufn//4nDjY387P//6E8EBgCJ2OvJicPprvn//4M9AFFMAACNQvx1bYtC/I1I/4lK +/IXAD4/29P//iRwkifnonTIFAFDp5vT//4uNgOz//4nD6AoEBgCJ2MeF6O///4yi +SQCJw8eFWPD//6CiSQDpafn//4nDifno5AMGAInY6eD+///odswHAOkh////icOQ +6VX////oZMwHAI22AAAAAOuP67SDPQBRTAAAjUL8dWeLSvyNQf+JQvyJyIXAD48x +8///i4WE7P//idmJBCTovaIFAFPpG/P//4nDi4Xo7///jUj0jYWd7P//iQQk6L6i +BQBR6V34//+Jw4uF0Oz//41I9I2FmOz//4kEJOifogUAUOmz+P//6OLLBwCNdCYA +65mJxumA+f//gz0AUUwAAI1C/HV7i0r8jUH/iUL8iciFwA+Pzun//42d6O///4nx +iRwk6DiiBQBS6bjp//+Jw+lt+f//icaLhcTs//+NSPSNhZPs//+JBCTogjEFAFCL +haTs//+Nnejv//+JHCSNSPToajEFAFGLhajs//+JHCSJ841I9OhWMQUAUunt9/// +6EnLBwDriYnG6TH6//+Jw4uFzOz//41I9I2Fluz//4kEJOjZoQUAVunt9///gz0A +UUwAAI1C/HVci0r8jUH/iUL8iciFwA+PYej//42d6O///4nxiRwk6IShBQBQ6Uvo +//+DPQBRTAAAjUL8dTSLQvyNSP+JSvyFwA+P/ez//42FzOz//4n5iQQk6FGhBQBQ +6efs///otMoHAI22AAAAAOui6KfKBwDrzonGi4Xs7v//jUj0jYWb7P//iQQk6D6h +BQBX6eT3///pWPn//4nDkOlv9///icONjQjw///Hhezv///o0EkA6KQcBwCLjXzs +///Hhejv//+MokkAx4VY8P//sNlJAOh1RAcA6ZX2//+Jw+mO9v//gz0AUUwAAI1C +/A+FhAAAAItK/I1B/4lC/InIhcAPj87v//+Nhfjs//+J8YkEJOiWoAUAUOm47/// +jY0U8P//icPog+MFAOl1////jY0U8P//icPoceMFAI2NCPD//8eF7O///+jQSQDo +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 +iUQkDI2F0Pv//4lEJAiNBEqJRCQEiRQk6GPgAQCLndD7///p4vz//4lEJAwB0Y2F +uPv//4lEJAiJTCQEiRQk6MzdAQDpR/z//420JgAAAACJ8egZnwMAiwaJ8ccEJAoA +AAD/UBiD7ATpTf///412AMdEJAgiAAAAx0QkBHAiSQDHBCRgDkkA6NRVBwChYA5J +AItA9IuY3A5JAIXbD4V5/f//6KlcBwCJ+eiC1gUAhcAPhJMKAACLtZz7//+LjaT7 +///HRCQMAAAAAMdEJAgAAAAAiVwkBIk0JOjSx///g+wQicOJNCTodaMHAIP7zQ+E +rAkAAMeFvPv//2wMSQDo7aQBAIt1DI2dvPv//4sWi0r0hckPhRMDAADHRCQEAAAA +AIkcJOjHRQEAi5W8+///D7bwjVr0gftgDEkAD4VuDAAAhfYPhR8DAACLRQyNjcD7 +//+JBCToJqAFAIPsBMdEJAQLAAAAjY3A+///xwQkuyJJAOjJjQUAg+wIx4XE+/// +bAxJAOhnpAEAi5XA+///i0r0hckPha0CAACNjWT8///oaywHAMeFZPz//7DZSQDH +hdT8//8AAAAAxoXY/P//AMaF2fz//wDHhdz8//8AAAAAx4Xg/P//AAAAAMeF5Pz/ +/wAAAADHhej8//8AAAAA6PyjAQCLlcT7//+7fAxJAMeF1Pv//3wMSQCLSvSFyQ+F +8AgAAMcEJAAAAACNjWT8///HhfT7//+MokkAx4Vk/P//oKJJAOjWOQcAg+wEjY34 ++///x4X0+///zKJJAMeFZPz//+CiSQDo1OYFAIuF9Pv//42N9Pv//wNI9I2F+Pv/ +/4kEJOiXOQcAg+wEx0QkBBQAAACNjfj7//+JHCToTtMFAIPsCIXAi4X0+///jY30 ++///D4Q5CgAAA0j0xwQkAAAAAOioOQcAi5XU+///g+wEjVr0gftwDEkAD4VRDQAA +i5XE+///x4X0+///zMZJAMeFZPz//+DGSQCNWvSB+2AMSQAPhfMMAAD2hXj8//8F +D4TUAQAAx0QkCCcAAADHRCQEyCJJAMcEJGAOSQDoPlMHAKFgDkkAi0D0i5jcDkkA +hdsPhCEOAACAexwAD4SCCAAAD7ZDJw++wLlgDkkAiQQk6DpnBQCD7ASJwehwaAUA +ifONjfj7///HhfT7///MokkAx4Vk/P//4KJJAMeF+Pv//+jMSQDopdMFAI2NIPz/ +/+hqygUAjY0U/P//x4X4+///6NBJAOgFAwcAjY1k/P//x4X0+///jKJJAMeFZPz/ +/7DZSQDo1ioHAIuVwPv//41y9IH+cAxJAA+Eafr//4M9AFFMAACNQvwPheoMAACL +QvyNSP+JSvyFwA+PSPr//42F4Pv//4nxiQQk6PCGBQBQ6TL6//8DSPSLQRSDyASJ +BCToOTgHAOmE+f//AdGJRCQMiVwkCIlMJASJFCToztkBAOnS/P//iUQkDAHRjYXE ++///iUQkCIlMJASJFCTordkBAOky/f//6KsmAwCDOAIPhdP8///HRCQILAAAAMdE +JAQAI0kAxwQkYA5JAOjOUQcAoWAOSQCLQPSLmNwOSQCF2w+EhwwAAIB7HAAPhHoG +AAAPtkMnD77AuWAOSQCJBCToymUFAIPsBInB6ABnBQC7AQAAAOlu+f//i7Wk+/// +jY30+///x0QkBBAAAACJ8IPABIkEJOiFagUAg+wIjY30+///6Od0BgCLTiS6H4Xr +UYteIInIKdjB+AJpwPHw8PD34omVlPv//8GtlPv//wSLhZT7//+FwA+VwInGiIWi ++///D7aFmPv//4nyINCIhaH7//8PhaQGAAA52Q+EDAYAAIuFlPv//8eFnPv//wAA +AACNBIABwImFmPv//412AItDBI1w7DHAg+b+dByNdgCLEw+2TAIUicKDwALR6jnw +iIwV6P3//3Lni0UQhcB0HY2F6P3//4lEJASLRRCJBCTocyUDAIXAD4UWAwAAi0UM +jY3A+///iQQk6AKOBQCD7ATHRCQEAQAAAI2NwPv//8cEJBYhSQDoRYkFAIPsCI2V +6P3//4sKg8IEjYH//v7+99EhyCWAgICAdOqJwcHpEKmAgAAAD0TBjUoCD0TRAMCD +2gONhej9//8pwolUJASNjcD7//+JBCTo9IgFAIPsCMdEJAQHAAAAjY3A+///xwQk +8CJJAOjXiAUAg+wIx4XI+///bAxJAOh1nwEAi5XA+///i0r0hckPhRQDAADoX58B +AIuVyPv//7l8DEkAx4XY+///fAxJAIty9IX2D4XDAgAAiQwkjY34+///x0QkBBQA +AADoGc8FAIPsCIXAi4X0+///jY30+///D4RMAwAAA0j0xwQkAAAAAOhzNQcAi5XY ++///g+wEjXL0gf5wDEkAD4WTCgAAi5XI+///jXL0gf5gDEkAD4VJCgAA9oV4/P// +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 +9IuFpPv//4kEJOghDAUAUIuFwPv//41I9I2F4Pv//4kEJOi5fAUAUOkN////icPr +34nDjY30+///6BIpAwDr0InDi4XY+///jUj0jYWz+///iQQk6Id8BQBRi4XI+/// +jUj0jYXg+///iQQk6L8LBQBQ67+Jw4uF3Pv//41I9I2Ftvv//4kEJOhTfAUAUIuF +zPv//+vKgz0AUUwAAI1C/HVei0r8jUH/iUL8iciFwA+PrPn//42F4Pv//4nxiQQk +6EsLBQBQ6Zb5//+DPQBRTAAAjUL8dTCLSvyNQf+JQvyJyIXAD49i+f//jYXg+/// +ifGJBCToxnsFAFDpTPn//+gppQcA66boIqUHAI10JgDr0MeF9Pv//4yiSQCJw8eF +ZPz//6CiSQCLhdT7//+NSPSNhej9//+JBCSJhaT7///om3sFAIuFpPv//1LpjP7/ +/4nD69OJw4uFzPv//41I9I2Ftfv//4kEJOjCCgUAUOm//v//icOLhdz7//+NSPSN +hbf7//+JBCToU3sFAFDp+/7//+h4TQcAicONjfj7///o69sFAInY6Wb///+DPQBR +TAAAjUL8dV6LSvyNQf+JQvyJyIXAD4/u8v//jYXo/f//idmJBCToNQoFAFDp2PL/ +/4M9AFFMAACNQvx1NYtK/I1B/4lC/InIhcAPj5Dy//+Nhej9//+J2YkEJOiwegUA +Uel68v//6BOkBwCQjXQmAOuh6AekBwDrz4nDkI10JgDpWf7//4nD6R7+//+Jw4uF +yPv//41I9I2Fsvv//4kEJOjbCQUAUOnY/f//icOLhdj7//+NSPSNhbT7//+JBCTo +bHoFAFfp4P3//4nDi4XE+///jUj0jYWw+///iQQk6J0JBQBX6Xf9///okKMHAGaQ +6RPz//+Jw42NFPz//8eF+Pv//+jQSQDotPUGAI2NZPz//8eF9Pv//4yiSQDHhWT8 +//+w2UkA6IUdBwDpMP3//42NIPz//4nD6NO8BQDruOgcTAcAicOLhdT7//+NSPSN +hbH7//+JBCTo03kFAI2F6P3//1bpxPz//+jySwcA6O1LBwCDPQBRTAAAjUL8dV6L +SvyNQf+JQvyJyIXAD4+Y9f//jYXg+///ifGJBCTovggFAFLpgvX//4M9AFFMAACN +Qvx1MItK/I1B/4lC/InIhcAPj071//+NheD7//+J8YkEJOg5eQUAVuk49f//6Jyi +BwDrpuiVogcAjbQmAAAAAOvNicOLhbj7//+NSPSNhej9///pnPv//4nDifnoz9kF +AInYx4Xs/P//DKJJAInDx4Vg/f//IKJJAMeF8Pz//wAAAACLhdD7//+NSPSNhej9 +//+JBCTo5ngFAFCNjWD9///HhWD9//+w2UkA6FAcBwDpMPv//+usicONtCYAAAAA +68Ho6UoHAInD69CJw412AOkF+///jY0c/f//icPofrsFAI2NEP3//8eF9Pz//+jQ +SQDoGfQGAI2NYP3//8eF7Pz//wyiSQDHhfD8//8AAAAAx4Vg/f//sNlJAOjgGwcA +6cD6//+Jw4uF0Pv//41I9I2Frvv//4kEJOhCeAUAUOlX////6GdKBwCJw5CNdCYA +65CJw+mM+v//g+gE6G2hBwDpCvr//412AI28JwAAAABVieVXVlOJy4HsjAIAAImN +gP3//42NZP7//+jhGgcAjY1k/v//xwQkAAAAAMeF1P7//wAAAADGhdj+//8AxoXZ +/v//AMeF3P7//wAAAADHheD+//8AAAAAx4Xk/v//AAAAAMeF6P7//wAAAADHhfD9 +//8MokkAx4Vk/v//IKJJAMeF9P3//wAAAADocSgHAIPsBI2N+P3//8eF8P3//0yi +SQDHhWT+//9gokkA6G/VBQCLhfD9//+NjfD9//8DSPSNhfj9//+JBCToMigHAIt7 +IIPsBItzJMdDBP///3/HQwgAAgAAx0MMAAAAADn3x0MQAAAAAIn7x4Xw/f//jMZJ +AMeFZP7//6DGSQB0Eo12AI1LEOgIev//g8NEOd518YuFgP3//8eFrP3//2wMSQCJ +eCToqZEBAItdCIsTi0r0hckPhYAHAADHBCQYAAAA6E2QBwDHAGwMSQCJw8dABAAA +AADHQAj//wAAx0AMAAAAAMdAEP//AADHQBQAAAAAxwQkEAAAAImFpP3//8eFqP3/ +/wAAAADoBpAHAIlYDIudqP3//8dABAEAAADHAGjHSQDHQAgBAAAAhduJhaj9//90 +E7j/////8A/BQwSD+AEPhDoHAACNhaz9//+JRCQEjYWk/f//x0QkCAAAAACJBCTo +XEkBAIuVrP3//41a9IH7YAxJAA+F+wgAAIuFpP3//42dkP3//4XAD4RWBAAAjXYA +iQQkidmJnXz9///oUBwFAIPsBIkcJI2NlP3//+jvigEAg+wE6JeQAQCLlZT9//++ +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 +/4PsBOki+f//jbQmAAAAAMcEJC0jSQDohEYHAKEAUUwAhcAPhb0EAACLTvyNQf+J +RvyJyIXAD4/a+P//jYXs/v//ifmJBCSJlYT9///oLm4FAIuVhP3//4PsBOm2+P// +icONhez+//+NTvSJBCSJhYT9///oJ24FAIPsBIuFlP3//41I9IuFhP3//4kEJOhd +/QQAg+wEi4WQ/f//jUj0jYWM/f//iQQk6EP9BACD7ASLjaj9//+FyXQF6CEiAwCN +jfD9///oBhkDAIuFfP3//7lwDEkAiQQk6MNtBQCD7ASJHCTouI8CAIPoBImVhP3/ +/+j4lgcAi5WE/f//6dz+//+Jw4uNqP3//4XJdAXoziEDAIuFrP3//41I9I2F7P7/ +/4kEJOjH/AQAjYWQ/f//iYV8/f//g+wE64WLjaj9//+Jw4XJdMzolSEDAOvFiQQk +6FuJBwCJHCTo0yADAOhejwcAicPrrInD6Sn///+Jw5DpO////4nDjYXs/v//iYWE +/f//6fT+//+Jw+gRiwcA6W////+LDQBRTACNQvyFyXU/i0L8jUj/iUr8hcAPj+f2 +//+Nhez+//+J2YkEJOgO/AQAg+wE6c/2//+Jw4uFrP3//41I9I2FnP3//+lB//// +6AmWBwDrw4nDjYWQ/f//iYV8/f//6cX+//+Jw42N+P3//+hJzQUAidjHhfD9//8M +okkAicPHhfT9//8AAAAAjY1k/v//x4Vk/v//sNlJAOjsDwcAjYWQ/f//iYV8/f// +6YX+///rwonD69SJw42FkP3//4mFfP3//+ls/v//icONjRT+///Hhfj9///o0EkA +6LvnBgCNjWT+///HhfD9//8MokkAx4X0/f//AAAAAMeFZP7//7DZSQDogg8HAI2F +kP3//4mFfP3//+kb/v//jY0g/v//icPoxK4FAOuiiw0AUUwAjUL8hckPhaAAAACL +SvyNQf+JQvyJyIXAD4/h+f//i4WE/f//ifmJBCTojmsFAIPsBOnJ+f//icOLhZz9 +//+NSPSNhY79//+JBCTojWsFAIPsBIuF7P7//421vP3//41I9I2FoP3//4kEJOi9 ++gQAg+wEifHoc27//+lU/f//icOLhZj9//+NSPSNhY39//+JBCToRWsFAI2F7P7/ +/4mFhP3//4PsBOkN/f//6HqUBwDpYf///4s9AFFMAI1C/IX/dWeLSvyNQf+JQvyJ +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 +JMeF3P3//wAAAADHheD9//8AAAAAx4Xk/f//AAAAAMeF6P3//wAAAADGhez9//8B +xoXw/f//AImFtP3//+h+eQcAi5W0/f//x0QkBAAAAACJBCSJhbD9//+JVCQI6B4A +AwCLnZz9//8xwItz9AH2dCSJwtHqD7YME4uVsP3//4hMAhSLlbD9///GRAIVAIPA +AjnwctyNhZj9///HRCQEAAAAAI2dwP3//4kEJOivEAEAg/gDD4QXBgAAjYWY/f// +x0QkBAAAAACNncD9//+JBCTGhfD9//8A6FM6AQCJBCSJhbz9///o1XgHAImFuP3/ +/8eFoP3//2wMSQDoMHoBAIt1CIsWi0r0hckPhaAFAADoG3oBAInGi4Wc/f//i0D0 +hcAPhTgFAACNjWD////oHQIHAMeFYP///7DZSQDHRdAAAAAAxkXUAMZF1QDHRdgA +AAAAx0XcAAAAAMdF4AAAAADHReQAAAAA6MN5AQCLlaD9//++fAxJAMeFpP3//3wM +SQCLSvSFyQ+FqwQAAMcEJAAAAACNjWD////Hhez+//8MokkAx4Vg////IKJJAMeF +8P7//wAAAADokw8HAI2d9P7//4PsBInZx4Xs/v//TKJJAMeFYP///2CiSQDoj7wF +AIuF7P7//42N7P7//wNI9IkcJOhYDwcAg+wEidnHRCQEDAAAAIk0JOgTqQUAg+wI +hcCLhez+//+Njez+//8PhPcFAAADSPTHBCQAAAAA6G0PBwCLlaT9//+D7ASNcvSB +/nAMSQAPhcwMAACLhbz9//+Njez+///Hhez+//+MxkkAx4Vg////oMZJAIlEJASL +hbj9//+JBCTo4yIFAIPsCInZx4Xs/v//TKJJAMeFYP///2CiSQDHhfT+///ozEkA +6MupBQCNjRz////okKAFAI2NEP///8eF9P7//+jQSQDoK9kGAI2NYP///8eF7P7/ +/wyiSQDHhfD+//8AAAAAx4Vg////sNlJAOjyAAcAi5Wg/f//jXL0gf5gDEkAD4U8 +CwAAjZ3A/f//jYWw/f//iQQk6PmP//+LhYT9//+LtXj9//+NBECNDIaJOYuVtP3/ +/41EFx+JQQSLtbz9///HQQj///9/iVQkDIlUJAiNfDAfBR8CAACB/gECAACLtXz9 +//8PQviLhbD9//+J8YlEJASNhfT9//+JBCTo4X///4uFvP3//4PsEInxx0QkDAAC +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 +///oae0CAOn7+v//i42E/f//icOFyQ+E6/r//+hP7QIA6eH6///ruInDjbYAAAAA +6ff6//+Jxo2d7P7//4uFXP3//4kcJI1I9OgyyAQAg+wE6c/9//+JxunI/f//jXYA +68aJw4uFcP3//41I9I2F7P7//4kEJOi1OAUAg+wE6Q3///+Jxo2NEP///8eF9P7/ +/+jQSQDoJrQGAI2NYP///8eF7P7//wyiSQDHhfD+//8AAAAAx4Vg////sNlJAOjt +2wYA6T79//+NjRz///+Jxug7ewUA666JxouFdP3//41I9I2FSf3//4kEJOhAOAUA +g+wE6Yb9//+JxouFeP3//41I9I2FmP3//4kEJOgfOAUAg+wE6Tz+//+Jw42N+P3/ +/+i6mAUAidjHhfD9//8MokkAicPHhWT+//8gokkAx4X0/f//AAAAAOkX////69mJ +w+k6/v//iQQk6OJTBwCJHCToWusCAOjlWQcAicONjRT+///Hhfj9///o0EkA6D6z +BgCNjWT+///HhfD9//8MokkAx4X0/f//AAAAAMeFZP7//7DZSQDoBdsGAOli+f// +jY0c////icboU3oFAOkl/f//idmJxuiV4gIA6Ur8//+JxouFYP3//42d7P7//4kc +JI1I9OhHNwUAg+wE6Uz+//+Jw4uF7P7//41I9I2FWP3//4kEJOh2xgQAg+wE6eb4 +//+LPQBRTACNQvyF/3VKi0L8jUj/iUr8hcAPj/zr//+Nnez+//+J8YkcJOjQNgUA +g+wE6eTr//+Jxo2d7P7//4uFZP3//4kcJI1I9OgfxgQAg+wE6bz7///oEGAHAGaQ +67aJxouFaP3//42d7P7//41I9I2FSP3//4kEJOifNgUAg+wE67qJw+lq+P//icaL +hXz9//+NSPSNhUv9//+JBCToejYFAIPsBOkz+///icaLhWD9//+Nnez+//+NSPSN +hUf9//+JBCToUzYFAIPsBOlY/f//icaLhWj9//+Nnez+//+JHCSNSPToMjYFAIPs +BOlK////icaJ+ejRlgUAifDpLvv//4s9AFFMAI1C/IX/dV+LQvyNSP+JSvyFwA+P +7vX//42F7P7//4nZiQQk6Mw1BQCD7ATp1vX//4sNAFFMAI1C/IXJdTCLQvyNSP+J +SvyFwA+Po/X//42F7P7//4nZiQQk6ObEBACD7ATpi/X//+j3XgcA66ONtCYAAAAA +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 +/429qP7//8dDDAAAAACNtSj+///zpcHqHynQiUMQjZWo/v//idjohff//4P4B3Wk +jZWo/v//jYUo/v//6C/5//+LtfT+//+JdCQEicOLhfD+//+JBCToxf7//4nZjUwN +BIl0HQSLReyLVfCLXfSLdfiLffyLbQCJzMONtgAAAABVieVXVlNSUIHsFAEAAItN +BI2d6P7//41VCInYjb1o////id7o5/n//4tFDLkgAAAA86WLfQiNlWj///+JRwyL +RRCJRxCJ+OiU9///g/gHdA2LXfSLdfiLffyJ7F3DjZVo////idjohfj//4t1tIl0 +JASJw4tFsIkEJOgh/v//idmNTA0EiXQdBItF7ItV8Itd9It1+It9/IttAInMw2aQ +VYnlV1ZTUlCB7BQBAACLTQSNVQiNhej+//+NnWj////oS/n//4tFCLkgAAAAid+J +2o216P7///Oli0gMhcl1D+hL9v//g/gHdA/ouX0AAItFCOjp9v//6+yJ2o2F6P7/ +/+jq9///i3W0iXQkBInDi0WwiQQk6Ib9//+J2Y1MDQSJdB0Ei0Xsi1Xwi130i3X4 +i338i20AiczDjbQmAAAAAFWJ5VdWU1JQgewUAQAAi0UIi1gMhdt0OotNBI2d6P7/ +/41VCInYjb1o////id7onfj//4tFCI2VaP///7kgAAAA86XoWPb//4P4B3Qj6BZ9 +AACLRQiJBCToE/3//4td9It1+It9/InsXcONtgAAAACNlWj///+J2Ogz9///i3W0 +iXQkBInDi0WwiQQk6M/8//+J2Y1MDQSJdB0Ei0Xsi1Xwi130i3X4i338i20AiczD +g+wci1QkIItCCIXAdA2JVCQExwQkAQAAAP/Qg8Qcw5BVieVXVlOB7FwBAACLTQSN +naj+//+LfQiNVQiJ2Oje9///6yKLRQyJHCSJRCQE/9eFwHUsg/4FdDeNlSj///+J +2Oh69P//jZUo////idjoPeL//4P4BYnGdMqFwHTGZpCBxFwBAAC4AwAAAFteX13D +gcRcAQAAuAUAAABbXl9dw1dWUzHbg+wQi3QkIIs+hf90GotEngSFwHQLi0D8iQQk +6Ot7AACDwwE5+3XmiXQkIIPEEFteX+nVewAAkI10JgBVieWD7BjHRCQMAAAAAMdE +JAj//wAAx0QkBAAAAADHBCQAAAAAxwVEUUwA/////+i8fgAAg+wQo0hRTADol34A +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 +dXaLUPyNcv+JcPyJ0IXAf72NReeJ+YkEJOjSTAIAV+utgz0AUUwAAHVYi1D8jXL/ +iXD8idCFwH+wjUXnifmJBCTo+tsBAFHroIM9AFFMAAB1OotQ/I1y/4lw/InQhcAP +j3f///+NReeJ+YkEJOjO2wEAVulk////g+gE6GCBBADri4PoBOhWgQQA66mD6ATo +TIEEAOvHkJCQkJCQkJCQkFWJ5VdWU4PsLItdCIXbdCCNQxSJBCToFeD9/4sDjXj0 +gf9gDEkAdRCJHCTogGUEAI1l9FteX13Dgz0AUUwAAHUfi1D8jXL/iXD8idCFwH/Y +jUXnifmJBCToQ9sBAFLryIPoBOhWdQQA6+KLC41V54nGiRQkg+kM6ETbAQBQiTQk +6Ott//+QkJCQkJCQkJCQkIXJdAyLAYtABP/gkI10JgDzw5CQkJCQkJCQkJCQkJCQ +U7j/////g+wIicvwD8FBBIP4AXQLg8QIW8ONtgAAAACLAf9QCLj/////8A/BQwiD ++AF14YsDidmLQAyDxAhb/+CQkJCQkJCQkJCQkJCQkJCD7ByJDCTHASjHSQDon2QE +AIPEHMOQkJCQkJCQkJCQkMcBKMdJAMOQkJCQkJCQkJAxwMIEAJCQkJCQkJCQkJCQ +McDDkJCQkJCQkJCQkJCQkFWJ5VdWU4PsLItZDIXbdDGLQwiNePSB/3AMSQB1K4tD +BI149IH/YAxJAHVtiwONePSB/2AMSQB1OIkcJOgfZAQAjWX0W15fXcODPQBRTAAA +dXaLUPyNcv+JcPyJ0IXAf72NReeJ+YkEJOiSSgIAUOutgz0AUUwAAHVYi1D8jXL/ +iXD8idCFwH+wjUXnifmJBCToutkBAFDroIM9AFFMAAB1OotQ/I1y/4lw/InQhcAP +j3f///+NReeJ+YkEJOiO2QEAUOlk////g+gE6CB/BADri4PoBOgWfwQA66mD6ATo +DH8EAOvHkJCQkJCQkJCQkIPsHIkMJMcBKMdJAOhfYwQAg8Qcw5CQkJCQkJCQkJCQ +xwEox0kAw5CQkJCQkJCQkDHAwgQAkJCQkJCQkJCQkJAxwMOQkJCQkJCQkJCQkJCQ +VYnlV1ZTg+wsi1kMhdt0II1DFIkEJOiF3f3/iwONePSB/2AMSQB1EIkcJOjwYgQA +jWX0W15fXcODPQBRTAAAdR+LUPyNcv+JcPyJ0IXAf9iNReeJ+YkEJOiz2AEAVuvI +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 +iwaDwwGDxwI7WPRzKItUJDiJVCQID7cEOIksJIlEJATo62f//4XAddeDxByJ2Fte +X13CDACDxBy4/////1teX13CDACQkJCQkJCQkJCQkJBVieWD7BiLRQiLAItQ9IkE +JIlUJAiLVQyJVCQE6G////+D7AzJwggAkJCQkJCQkJBWU4sRi0QkEIt0JAyLSvQ5 +yHMaD7ccQmY583QK6xRmkGY5HEJ1DIPAATnIcvO4/////1tewggAkJCQkJCQkJCQ +g+wciwGLVCQgO1D0cwmNBFCDxBzCBADHBCQ4bkkA6E3yAwCQkJCQkJCQkJCQkJCQ +iwGLUPSNBFDDkJCQkJCQkItBCMHoH8OQkJCQkJCQkJCLUQiF0g+fwMOQkJCQkJCQ +iwGLUPSNRFD+w5CQkJCQkIsBi1D0jQRQw5CQkJCQkJBTg+wYiwmLRCQoi1QkJItZ +9DnYd0MpwznTD0fahdt0HIP7AY0EQXQdiUQkBItEJCCJXCQIiQQk6FRl//+DxBiJ +2FvCDAAPtwCLVCQgZokCg8QYidhbwgwAxwQkSW5JAOiM8QMAkJCQkJCQkJCQkJCQ +iwHDkJCQkJCQkJCQkJCQkFWJ5VaJzlOD7BCLXQiJHCTom7n//4nxiRwkiUQkCItF +DIlEJAToFgAAAIPsDI1l+FteXcIIAJCQkJCQkJCQkJBVV1ZTg+wsiwmLRCRIi3wk +QItR9IXAdRi4/////zlUJEQPRkQkRIPELFteX13CDAA50HYPg8QsuP////9bXl9d +wgwAKcI7VCREcumLdCREg+gBidWJRCQYjUcCiUQkHI1eAY00WesKg8MBg8YCOcVy +ww+3F41L/4nYZjlW/nXoi0QkGIk0JIlMJBSJRCQIi0QkHIlEJATodWT//4tMJBSF +wHQEidjrwInI6Xj///+QkFWJ5YPsGItFCIsAi1D0iQQkiVQkCItVDIlUJAToL/// +/4PsDMnCCACQkJCQkJCQkFZTg+wUixmLRCQki3QkIItT9DnQcg2DxBS4/////1te +wggAKcIPt/aNBEOJVCQIiXQkBIkEJOj1ZP//hcB01ynYg8QU0fhbXsIIAJCQkJCQ +i1QkBInIixKJEcIEAJCQkIsBi0D0w5CQkJCQkJCQkJCLAcOQkJCQkJCQkJCQkJCQ +iwHDkJCQkJCQkJCQkJCQkItUJASJyIsSiRHCBACQkJCLAYtI9IXJD5TAw5CQkJCQ +iwHDkJCQkJCQkJCQkJCQkFWJ5VaJzlOD7BCLXQiJHCTou7f//4nxiRwkiUQkCItF +DIlEJAToFgAAAIPsDI1l+FteXcIIAJCQkJCQkJCQkJBVV1ZTg+wciwGLfCQ4i2wk +MItY9Dnfdg+DxBy4/////1teX13CDAAp+ztcJDQPR1wkNI00WOsMg+4ChduNQ/90 +14nDiXwkCIlsJASJNCTo3WL//4XAdeCDxByJ2FteX13CDACQkJCQkJCQkJCQkJCQ +VYnlg+wYi0UIiwCLUPSJBCSJVCQIi1UMiVQkBOhv////g+wMycIIAJCQkJCQkJCQ +U4sJuP////8Pt1wkCItR9IXSdQRbwggAjUL/OUQkDA9GRCQM6wyNUP9mOVxRAnTk +idCD+P9171vCCACQkJCQkIsBg+gMw5CQkJCQkJCQkJCLAcOQkJCQkJCQkJCQkJCQ +iwGLQPTDkJCQkJCQkJCQkItUJASJyIsSi0r0jRRKiRDCBACQkJCQkJCQkJCQkJCQ +VYnlVlOD7BCLVQiLXQyLAjtY9Hcji0UQic6JXCQEiRQkiUQkCOjGvAEAifCD7AyN +ZfhbXl3CDADHBCRtb0kA6NztAwCQkJCQkJCQkJCQkJCLAcOQkJCQkJCQkJCQkJCQ +iwGLUPSNBFDDkJCQkJCQkFWJzVdWU4PsHIsBi3wkMItY9Ik8JOjWtf//iXwkBDnY +icaJ2A9GxinziUQkCItFAIkEJOhYYf//hcAPRMODxBxbXl9dwgQAkJCQkJCQkJCQ +VlOD7BSLAYtUJCCLcPSLEonxi1r0iVQkBIkEJDnzD0bLKd6JTCQI6BRh//+FwA9E +xoPEFFtewgQAkJCQkJCQkFWJzVdWU4PsHIsRi1wkMItEJDSLcvQ583dHKd45xg9H +8ItEJDiJBCToM7X//znwiceJ8A9Gxyn+iUQkCItEJDiJRCQEi0UAjQRYiQQk6K5g +//+FwA9ExoPEHFteX13CDADHBCRcbkkA6LPsAwCQkJBXVlOD7BCLEYtEJCCLfCQk +i1wkLIty9DnwdzUpxonZOf4PR/c53g9GzineiUwkCItMJCiNBEKJBCSJTCQE6E5g +//+FwA9ExoPEEFteX8IQAMcEJFxuSQDoVOwDAJCQkJBXVlOD7BCLEYtEJCCLXCQk +i3L0OfB3OotMJCgpxjneD0fzjQRCiwmLWfSJTCQEiQQkOd6J3w9G/ineiXwkCOjt +X///hcAPRMaDxBBbXl/CDADHBCRcbkkA6PPrAwCQkJBVV1ZTg+wciwmLRCQwi2wk +NItUJDyLWfQ52HdNi3QkOIs2i370Ofp3QCnDOesPR90p1zt8JEAPR3wkQI0UVo0E +QTn7if0PRusp+4lsJAiJVCQEiQQk6HZf//+FwA9Ew4PEHFteX13CFADHBCRcbkkA +6HvrAwCQkJCQkJCQkJCQkItUJASJyIsSi0r0jRRKiRDCBACQkJCQkJCQkJCQkJCQ +g+wcixGLRCQgO0L0dwaDxBzCCACLRCQkiQQk6DDrAwCLAYtUJAiLQPQrRCQEOdAP +R8LCCACQkJCQkJCQkJCQkIsBi0D4w5CQkJCQkJCQkJC4/v//H8OQkJCQkJCQkJCQ +iwHDkJCQkJCQkJCQkJCQkIsBi1QkBI0EUMIEAJCQkJCLQQTDkJCQkJCQkJCQkJCQ +D7YBw5CQkJCQkJCQkJCQkA+2AcOQkJCQkJCQkJCQkJBTixG4AQAAAItcJAg503II +A1L0OdMPl8BbwgQAkJCQkFWJ5VaJzlOD7BCLXQiJHCTom7L//4nxiRwkiUQkCItF +DIlEJAToFgAAAIPsDI1l+FteXcIIAJCQkJCQkJCQkJBVV1ZTg+wcizGLfCQ4i2wk +MIte9IX/dQ+DxBy4/////1teX13CDACF23Ttg+sBOVwkNA9GXCQ06xCNtCYAAAAA +hduNQ/900YnDiXwkCA++BB6JLCSJRCQE6Duy//+FwHTfg8QcidhbXl9dwgwAkJCQ +VYnlg+wYi0UIiwCLUPSJBCSJVCQIi1UMiVQkBOhv////g+wMycIIAJCQkJCQkJCQ +U4sJuP////8PtlwkCItR9IXSdQRbwggAjUL/OUQkDA9GRCQM6wo6HAGNUP905onQ +g/j/dfFbwggAkJCQkJCQkFWJ5VaJzlOD7BCLXQiJHCToe7H//4nxiRwkiUQkCItF +DIlEJAToFgAAAIPsDI1l+FteXcIIAJCQkJCQkJCQkJBVuP////9XVlOD7ByLdCQ4 +i1wkNIX2dDGLOYtv9DnddiiJdCQID74EH4lEJASLRCQwiQQk6D+x//+FwHUWg8MB +Od133bj/////g8QcW15fXcIMAIPEHInYW15fXcIMAJBVieWD7BiLRQiLAItQ9IkE +JIlUJAiLVQyJVCQE6H////+D7AzJwggAkJCQkJCQkJBVieUPvkUIiUUIyemwBAAA +icjCBACQkJCQkJCQkJCQkIPsHIsRuPz//z8rQvQDRCQgO0QkJHIGg8QcwgwAi0Qk +KIkEJOin5wMAkJCQkJCQkFWJ5VaJzlOD7BCLXQiJHCToW7D//4nxiRwkiUQkCItF +DIlEJAToFgAAAIPsDI1l+FteXcIIAJCQkJCQkJCQkJBVuP////9XVlOD7ByLMYt8 +JDCLbCQ4i170hdt1CoPEHFteX13CDACD6wE5XCQ0D0ZcJDTrCYXbjUP/dCaJw4ls +JAgPvgQeiTwkiUQkBOgGsP//hcB134PEHInYW15fXcIMAIPEHLj/////W15fXcIM +AJCQkJCQkJCQkJCQkJCQkFWJ5YPsGItFCIsAi1D0iQQkiVQkCItVDIlUJAToX/// +/4PsDMnCCACQkJCQkJCQkFOLCbj/////D7ZcJAiLUfSF0nUEW8IIAI1C/zlEJAwP +RkQkDOsCidA4HAF154XAjVD/dfK4/////1vCCACQkJBVieVWic5Tg+wQi10IiRwk +6Cuv//+J8YkcJIlEJAiLRQyJRCQE6BYAAACD7AyNZfhbXl3CCACQkJCQkJCQkJCQ +VVdWU4PsHIsZi3QkNItsJDCLfCQ4i0P0OcaJRCQMcgvrLoPGATt0JAxzJYl8JAgP +vgQziSwkiUQkBOjprv//hcB134PEHInwW15fXcIMAJCDxBy4/////1teX13CDACQ +VYnlg+wYi0UIiwCLUPSJBCSJVCQIi1UMiVQkBOh/////g+wMycIIAJCQkJCQkJCQ +V1ZTixGLRCQUi3QkEIt69Dn4cxgPthwCifE4y3QH6xE4HAJ1DIPAATn4cvS4//// +/1teX8IIAJCQkJCQkJCQkIPsHIsRi0QkIDtC9HMIAdCDxBzCBADHBCTsbEkA6N7l +AwCQkJCQkJCQkJCQkJCQkIsBA0D0w5CQkJCQkJCQkJCLQQjB6B/DkJCQkJCQkJCQ +i1EIhdIPn8DDkJCQkJCQkIsBi1D0jUQQ/8OQkJCQkJCLAQNA9MOQkJCQkJCQkJCQ +U4PsGIsJi0QkKItUJCSLWfQ52HdBKcM50w9H2oXbdBsByIP7AXQdiUQkBItEJCCJ +XCQIiQQk6B2t//+DxBiJ2FvCDAAPtgCLVCQgiAKDxBiJ2FvCDADHBCT9bEkA6B7l +AwCQkJCQkJCQkJCQkJCQkIsBw5CQkJCQkJCQkJCQkJBVieVWic5Tg+wQi10IiRwk +6But//+J8YkcJIlEJAiLRQyJRCQE6BYAAACD7AyNZfhbXl3CCACQkJCQkJCQkJCQ +Vbj/////V1ZTg+wsizGLbCRIi370he11Fzl8JEQPRkQkRIPELFteX13CDACNdCYA +Of137invOXwkRHfmi0QkQA+2EItEJESNWAGNRf8B3olEJBiLRCRAidWDwAGJRCQc +6wqDwwGDxgE5x3I0iemJ2DhO/41T/3Xqi0QkGIk0JIlUJBSJRCQIi0QkHIlEJATo +fKz//4tUJBSFwHQUidjrwrj/////6Xj///+NtgAAAACJ0Olr////kJCQkJCQkJCQ +VYnlg+wYi0UIiwCLUPSJBCSJVCQIi1UMiVQkBOgf////g+wMycIIAJCQkJCQkJCQ +V1ZTu/////+D7BCLMYtEJCSLfCQgi1b0OdByC4PEEInYW15fwggAifkpwg+++QHw +iVQkCIl8JASJBCTo6Kv//4nCKfKFwA9F2oPEEInYW15fwggAkJCQkJCQkJCQkJCQ +i1QkBInIixKJEcIEAJCQkIsBi0D0w5CQkJCQkJCQkJCLAcOQkJCQkJCQkJCQkJCQ +iwHDkJCQkJCQkJCQkJCQkItUJASJyIsSiRHCBACQkJCLAYtI9IXJD5TAw5CQkJCQ +iwHDkJCQkJCQkJCQkJCQkFWJ5VaJzlOD7BCLXQiJHCToG6v//4nxiRwkiUQkCItF +DIlEJAToFgAAAIPsDI1l+FteXcIIAJCQkJCQkJCQkJBVuP////9XVlOD7ByLOYt0 +JDiLbCQwi1/0Od52CoPEHFteX13CDAAp8ztcJDQPR1wkNOsJhduNQ/90JYnDjQQf +iXQkCIlsJASJBCTowKr//4XAdeCDxByJ2FteX13CDACDxBy4/////1teX13CDACQ +VYnlg+wYi0UIiwCLUPSJBCSJVCQIi1UMiVQkBOhv////g+wMycIIAJCQkJCQkJCQ +U4sJuP////8PtlwkCItR9IXSdQRbwggAjUL/OUQkDA9GRCQM6wo4HAGNUP905onQ +g/j/dfFbwggAkJCQkJCQkIsBg+gMw5CQkJCQkJCQkJCLAcOQkJCQkJCQkJCQkJCQ +iwGLQPTDkJCQkJCQkJCQkItUJASJyIsSA1L0iRHCBABVieVWU4PsEItVCItdDIsC +O1j0dyOLRRCJzolcJASJFCSJRCQI6DYgAgCJ8IPsDI1l+FteXcIMAMcEJCFuSQDo +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 +wgQAkJCQkJCQkJCQkJCQkItRCItEJASLUgiJEItRCItSDIlQBMIEAJCQkJCQkJCQ +i1EIi0QkBItSEIkQi1EIi1IUiVAEwgQAkJCQkJCQkJCLUQiLRCQEi1JIiRCLUQiL +UkyJUASLUQiLUlCJUAiLUQiLUlSJUAyLUQiLUliJUBCLUQiLUlyJUBSLUQiLUmCJ +UBjCBACQkJCQkJCQkJCQkItRCItEJASLUhiJEItRCItSHIlQBMIEAJCQkJCQkJCQ +i1EIi0QkBIuSlAAAAIkQi1EIi5KYAAAAiVAEi1EIi5KcAAAAiVAIi1EIi5KgAAAA +iVAMi1EIi5KkAAAAiVAQi1EIi5KoAAAAiVAUi1EIi5KsAAAAiVAYi1EIi5KwAAAA +iVAci1EIi5K0AAAAiVAgi1EIi5K4AAAAiVAki1EIi5K8AAAAiVAoi1EIi5LAAAAA +iVAswgQAkJCQkJCQkJCQkFWJzVdWU4PsHMdEJAQAAAAAxwQkAAAAAOi7nf//iQQk +icboWZ3//414AYk8JOh+FgQAiXwkCInDiXQkBIkEJOjknP//i0UQxwQkAAAAAIlE +JATogZ3//4tEJDyJRCQMi0QkOIlEJAiLRCQ0iUQkBItEJDCJBCTo9Z3//4lcJASJ +xscEJAAAAADoS53//4XbdAiJHCTo5xUEAIX2dQeLRCQwxgAAg8QcW15fXcIQAIPC +AYkEJHQF6JUe///oYBkEAItRCItEJASLUiyJEItRCItSMIlQBItRCItSNIlQCItR +CItSOIlQDItRCItSPIlQEItRCItSQIlQFItRCItSRIlQGMIEAJCQkJCQkJCQkJCQ +i1EIi0QkBItSIIkQi1EIi1IkiVAEwgQAkJCQkJCQkJCLUQiLRCQEi1JkiRCLUQiL +UmiJUASLUQiLUmyJUAiLUQiLUnCJUAyLUQiLUnSJUBCLUQiLUniJUBSLUQiLUnyJ +UBiLUQiLkoAAAACJUByLUQiLkoQAAACJUCCLUQiLkogAAACJUCSLUQiLkowAAACJ +UCiLUQiLkpAAAACJUCzCBACQkJCQkJCQkJCQkJCQkJDCBACQkJCQkJCQkJCQkJCQ +i1EIi0QkBItSCIkQi1EIi1IMiVAEwgQAkJCQkJCQkJCLUQiLRCQEi1IQiRCLUQiL +UhSJUATCBACQkJCQkJCQkItRCItEJASLUkiJEItRCItSTIlQBItRCItSUIlQCItR +CItSVIlQDItRCItSWIlQEItRCItSXIlQFItRCItSYIlQGMIEAJCQkJCQkJCQkJCQ +i1EIi0QkBItSGIkQi1EIi1IciVAEwgQAkJCQkJCQkJCLUQiLRCQEi5KUAAAAiRCL +UQiLkpgAAACJUASLUQiLkpwAAACJUAiLUQiLkqAAAACJUAyLUQiLkqQAAACJUBCL +UQiLkqgAAACJUBSLUQiLkqwAAACJUBiLUQiLkrAAAACJUByLUQiLkrQAAACJUCCL +UQiLkrgAAACJUCSLUQiLkrwAAACJUCiLUQiLksAAAACJUCzCBACQkJCQkJCQkJCQ +VYnNV1ZTg+wcx0QkBAAAAADHBCQAAAAA6Jua//+JBCSJw+g5mv//jXABiTQk6F4T +BACJXCQEiceJdCQIiQQk6MSZ//+LRRDHBCQAAAAAiUQkBOhhmv//i0QkPIlEJAyL +RCQ4iUQkCItEJDSJRCQEi0QkMIkEJOjdmv//iXwkBMcEJAAAAACJw+grmv//hf90 +CIk8JOjHEgQAhdt1CYtEJDAx0maJEIPEHFteX13CEACDwgGJBCR0BehzG///6D4W +BACQkJCQkJCQkJCQkJCQkItRCItEJASLUiyJEItRCItSMIlQBItRCItSNIlQCItR +CItSOIlQDItRCItSPIlQEItRCItSQIlQFItRCItSRIlQGMIEAJCQkJCQkJCQkJCQ +i1EIi0QkBItSIIkQi1EIi1IkiVAEwgQAkJCQkJCQkJCLUQiLRCQEi1JkiRCLUQiL +UmiJUASLUQiLUmyJUAiLUQiLUnCJUAyLUQiLUnSJUBCLUQiLUniJUBSLUQiLUnyJ +UBiLUQiLkoAAAACJUByLUQiLkoQAAACJUCCLUQiLkogAAACJUCSLUQiLkowAAACJ +UCiLUQiLkpAAAACJUCzCBACQkJCQkJCQkJCQkJCQkJBVuZgNSQCJ5VdWU4PsHOit +EwAAicaLRQiLAItADI0csIsDhcB0Co1l9FteX13CBADHBCRoAAAA6LQRBACJx8dA +BAAAAACJ+ccA8NJJAMdACAAAAADHQAwAAAAAxkAQAMdAFAAAAADHQBgAAAAAx0Ac +AAAAAMdAIAAAAADGQCQAxkAlAMZAZACLRQiJBCToHhMDAItFCIPsBIl0JASJPCSL +COh6VwMAiwOD7AiNZfRbXl9dwgQAiQQk6LMTBADovhkEAIkEJOimEwQAiweJ+f9Q +BOvqicPohhUEAIkcJOh+Gf//kJCQkJCQkJCQkJCQkJBVuZwNSQCJ5VdWU4PsHOi9 +EgAAicaLRQiLAItADI0csIsDhcB0Co1l9FteX13CBADHBCSoAAAA6MQQBAAxyTHS +ZolIJonHx0AEAAAAAIn5xwAA00kAx0AIAAAAAMdADAAAAADGQBAAx0AUAAAAAMdA +GAAAAADHQBwAAAAAx0AgAAAAAGaJUCTGgKQAAAAAi0UIiQQk6AcYAwCLRQiD7ASJ +dCQEiTwkiwjog1YDAIsDg+wIjWX0W15fXcIEAIkEJOi8EgQA6McYBACJBCTorxIE +AIsHifn/UATr6onD6I8UBACJHCTohxj//5CQkJCQkJBVuYwMSQCJ5VdWU4PsHOjN +EQAAiceLRQiLAItADI00uIsGhcB0Co1l9FteX13CBADHBCREAAAA6NQPBACJw8dA +BAAAAACJ2ccAaNRJAMdACAAAAADHQAwAAAAAxkAQAMZAEQDGQBIAx0AUAAAAAMdA +GAAAAADHQBwAAAAAx0AgAAAAAMdAJAAAAADHQCgAAAAAx0AsAAAAAMZAMADGQDEA +xkAyAMZAMwDGQDQAxkA1AMZANgDGQDcAxkBDAItFCIkEJOipLAMAi0UIg+wEiXwk +BIkcJIsI6GVVAwCLBoPsCI1l9FteX13CBACJBCTonhEEAOipFwQAiQQk6JERBACL +A4nZ/1AE6+qJw+hxEwQAiRwk6GkX//+QkJCQkJCQkJBVuZAMSQCJ5VdWU4PsHOit +EAAAiceLRQiLAItADI00uIsGhcB0Co1l9FteX13CBADHBCREAAAA6LQOBACJw8dA +BAAAAACJ2ccAeNRJAMdACAAAAADHQAwAAAAAxkAQAMZAEQDGQBIAx0AUAAAAAMdA +GAAAAADHQBwAAAAAx0AgAAAAAMdAJAAAAADHQCgAAAAAx0AsAAAAAMZAMADGQDEA +xkAyAMZAMwDGQDQAxkA1AMZANgDGQDcAxkBDAItFCIkEJOiZMgMAi0UIg+wEiXwk +BIkcJIsI6EVUAwCLBoPsCI1l9FteX13CBACJBCTofhAEAOiJFgQAiQQk6HEQBACL +A4nZ/1AE6+qJw+hREgQAiRwk6EkW//+QkJCQkJCQkJBVuZQMSQCJ5VdWU4PsHOiN +DwAAiceLRQiLAItADI00uIsGhcB0Co1l9FteX13CBADHBCRUAAAA6JQNBACJw8dA +BAAAAACJ2ccAiNRJAMdACAAAAADHQAwAAAAAxkAQADHAZolDEjHAZolDFItFCMdD +GAAAAADHQxwAAAAAx0MgAAAAAMdDJAAAAADHQygAAAAAx0MsAAAAAMdDMAAAAADG +QzQAxkM1AMZDNgDGQzcAxkM4AMZDOQDGQzoAxkM7AMZDUgCJBCTohTgDAItFCIPs +BIl8JASJHCSLCOghUwMAiwaD7AiNZfRbXl9dwgQAiQQk6FoPBADoZRUEAIkEJOhN +DwQAiwOJ2f9QBOvqicPoLREEAIkcJOglFf//kJCQkJBVuZgMSQCJ5VdWU4PsHOht +DgAAiceLRQiLAItADI00uIsGhcB0Co1l9FteX13CBADHBCRUAAAA6HQMBACJw8dA +BAAAAACJ2ccAmNRJAMdACAAAAADHQAwAAAAAxkAQADHAZolDEjHAZolDFItFCMdD +GAAAAADHQxwAAAAAx0MgAAAAAMdDJAAAAADHQygAAAAAx0MsAAAAAMdDMAAAAADG +QzQAxkM1AMZDNgDGQzcAxkM4AMZDOQDGQzoAxkM7AMZDUgCJBCTohT8DAItFCIPs +BIl8JASJHCSLCOgBUgMAiwaD7AiNZfRbXl9dwgQAiQQk6DoOBADoRRQEAIkEJOgt +DgQAiwOJ2f9QBOvqicPoDRAEAIkcJOgFFP//kJCQkJCLQQTDkJCQkJCQkJCQkJCQ +iwGFwA+VwMOQkJCQkJCQkFWJ5VOD7CSLQQyLSQiLEIlMJASNTfSJBCT/UgyLRfSN +SPSD7AiB+XAMSQB1BYtd/MnDgz0AUUwAAHUhi1D8jVr/iVj8hdJ/5Y1V84kUJIlF +5Ohq8QEAUItF5OvRg8r/8A/BUPzr3pCQkJCQkJCQkJC433RJAMOQkJCQkJCQkJCQ +g8Eo6Wj///+QkJCQkJCQkIPBKOlY////kJCQkJCQkJCNQQzDkJCQkJCQkJCQkJCQ +g8E06Tj///+QkJCQkJCQkI1BDMOQkJCQkJCQkJCQkJCDwTTpGP///5CQkJCQkJCQ +i0EEw5CQkJCQkJCQkJCQkA+2AcOQkJCQkJCQkJCQkJAPtgHDkJCQkJCQkJCQkJCQ +i0EEw5CQkJCQkJCQkJCQkI1BCMOQkJCQkJCQkJCQkJCDwTDpuP7//5CQkJCQkJCQ +jUEIw5CQkJCQkJCQkJCQkIPBMOmY/v//kJCQkJCQkJCNQQTDkJCQkJCQkJCQkJCQ +g8Es6Xj+//+QkJCQkJCQkI1BBMOQkJCQkJCQkJCQkJCDwSzpWP7//5CQkJCQkJCQ +i1QkBDHAOUoEdAXCCABmkItEJAg5Ag+UwMIIAJCQkJBVieVTg+wUiwGLVQiLXQyJ +FCT/UBAxyYPsBDlTBHQJiciLXfzJwggAOQOLXfzJD5TBicjCCACQkJCQkJCQkJCQ +icqLRCQEwgQAkJCQkJCQkItBCMOQkJCQkJCQkJCQkJCLQRTDkJCQkJCQkJCQkJCQ +i0EEw5CQkJCQkJCQkJCQkItBDMOQkJCQkJCQkJCQkJCLQRjDkJCQkJCQkJCQkJCQ +i0EQw5CQkJCQkJCQkJCQkFWJ5VOJy4PsFItFCIPAHIkEJOgJagMAidiLXfyD7ATJ +wgQAkJCQkJCQkJCQkJCQkItBCMOQkJCQkJCQkJCQkJCLQRTDkJCQkJCQkJCQkJCQ +i0EEw5CQkJCQkJCQkJCQkItBDMOQkJCQkJCQkJCQkJCLQRjDkJCQkJCQkJCQkJCQ +i0EQw5CQkJCQkJCQkJCQkFWJ5VOJy4PsFItFCIPAHIkEJOh5aQMAidiLXfyD7ATJ +wgQAkJCQkJCQkJCQkJCQkLiodkkAw5CQkJCQkJCQkJBWic5Tg+wUiwmLXCQghcl0 +UjHSg34E/3QbiwuFyXRLMcCDewT/dB840A+UwIPEFFtewgQAi0EIO0EMczUPtgCJ +RgQx0uvTi0EIO0EMczoPtgCJQwQxwDjQD5TAg8QUW17CBAC6AQAAAOuvuAEAAADr +tosB/1Akg/j/dcTHBgAAAAC6AQAAAOuRiwGJVCQM/1Aki1QkDIP4/3W3uAEAAAA4 +0McDAAAAAA+UwIPEFFtewgQAkJCQkJCQkJCQkJCQkJBTicuD7AiLCYXJdCeLQwSD ++P90DIPECFvDjbQmAAAAAItBCDtBDHMSD7YAiUMEg8QIW8O4/////+vaiwH/UCSD ++P9158cDAAAAAIPECFvDkFeJz1ZTiwm7AQAAAIt0JBCFyXQJMdtmg38E/3RFiw64 +AQAAAIXJdAkxwGaDfgT/dA842A+UwFteX8IEAI10JgCLQQg7QQxzZQ+3AGaD+P90 +L2aJRgQxwDjYD5TAW15fwgQAi0EIO0EMczwPtwBmg/j/dCNmiUcEMdvropCNdCYA +uAEAAAA42McGAAAAAA+UwFteX8IEAMcHAAAAALsBAAAA6Xf///+LAf9QJOvAiwGQ +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 +VYnlU4nLg+wki0UIi00YixCJTCQQi00UiQQkiUwkDItNEIlMJAiLTQyJTCQEidn/ +UgyJ2Itd/IPsFMnCFACQkIsBVYnli0AIyf/gkJCQkJBVieWD7BiLAYtVDIlUJASL +VQiJFCT/UAiD7AjJwgwAkIsBVYnli0AQyf/gkJCQkJBVieVTicuD7BSLRRiJBCTo +7CwBAInYi138g+wEycIUADHAwggAkJCQkJCQkJCQkJDCBACQkJCQkJCQkJCQkJCQ +i0QkBIsAwgQAkJCQkJCQkInIxwFsDEkAwggAkJCQkJBVieVTicuD7CSLRQiLTRiL +EIlMJBCLTRSJBCSJTCQMi00QiUwkCItNDIlMJASJ2f9SDInYi138g+wUycIUAJCQ +iwFVieWLQAjJ/+CQkJCQkFWJ5YPsGIsBi1UMiVQkBItVCIkUJP9QCIPsCMnCDACQ +iwFVieWLQBDJ/+CQkJCQkFWJ5VOJy4PsFItFGIkEJOgcvAAAidiLXfyD7ATJwhQA +McDCCACQkJCQkJCQkJCQkMIEAJCQkJCQkJCQkJCQkJBVieVTicuD7CSNRfeJRCQE +i0UIi0AIi0AIiQQk6B8rAQCJ2Itd/IPsCMnCBACQkJBVieVTicuD7CSNRfeJRCQE +i0UIi0AIi0AUiQQk6O8qAQCJ2Itd/IPsCMnCBACQkJBVieVTicuD7CSNRfeJRCQE +i0UIi0AIi0AciQQk6L8qAQCJ2Itd/IPsCMnCBACQkJCLAYtACP/gkJCQkJCQkJCQ +iwGLQAz/4JCQkJCQkJCQkItBCA+2QCTDkJCQkJCQkJCLQQgPtkAlw5CQkJCQkJCQ +VYnlU4nLg+wUi0UIixCJBCT/UhCJ2Itd/IPsBMnCBABVieVTicuD7BSLRQiLEIkE +JP9SFInYi138g+wEycIEAFWJ5VOJy4PsFItFCIsQiQQk/1IYidiLXfyD7ATJwgQA +VYnlU4nLg+wkjUX3iUQkBItFCItACItACIkEJOjvKQEAidiLXfyD7AjJwgQAkJCQ +VYnlU4nLg+wkjUX3iUQkBItFCItACItAFIkEJOjPuQAAidiLXfyD7AjJwgQAkJCQ +VYnlU4nLg+wkjUX3iUQkBItFCItACItAHIkEJOifuQAAidiLXfyD7AjJwgQAkJCQ +iwGLQAj/4JCQkJCQkJCQkIsBi0AM/+CQkJCQkJCQkJCLQQgPt0Akw5CQkJCQkJCQ +i0EID7dAJsOQkJCQkJCQkFWJ5VOJy4PsFItFCIsQiQQk/1IQidiLXfyD7ATJwgQA +VYnlU4nLg+wUi0UIixCJBCT/UhSJ2Itd/IPsBMnCBABVieVTicuD7BSLRQiLEIkE +JP9SGInYi138g+wEycIEAIsBi0AI/+CQkJCQkJCQkJBVieVXVlOD7DyLRRSLVRiL +XQiJTeCLfQyJReSLdRCNQmyJBCToZwYDAItNGItVHItACItACIlMJBCLTeCJHCSJ +VCQUiUQkHItFIIl0JAiJfCQEiUQkGItF5IlEJAzo7gwAAInDg+wghdt0XzH/g/r/ +dCSF9nRNMcCDfeT/dCeJ+TjBdQaLRRyDCAKNZfSJ2FteX13CHACLQwg7QwxzMw+2 +EDH/682LRgw5RghzBDHA682LBonxiVXk/1Aki1Xkg8ABdeq4AQAAAOu0vwEAAADr +oYsDidn/UCSD+P+JwnXCvwEAAAAx2+uKkJCQkJCQkJBVieVXVlOD7DyLRRSLVRiL +XQiJTeCLfQyJReSLdRCNQmyJBCTodwUDAItNGItVHItACItAEIlMJBCLTeCJHCSJ +VCQUiUQkHItFIIl0JAiJfCQEiUQkGItF5IlEJAzo/gsAAInDg+wghdt0XzH/g/r/ +dCSF9nRNMcCDfeT/dCeJ+TjBdQaLRRyDCAKNZfSJ2FteX13CHACLQwg7QwxzMw+2 +EDH/682LRgw5RghzBDHA682LBonxiVXk/1Aki1Xkg8ABdeq4AQAAAOu0vwEAAADr +oYsDidn/UCSD+P+JwnXCvwEAAAAx2+uKkJCQkJCQkJBVieVXic9WU4PsXItFEItV +GItNDItdCIlF1ItFFIlN0InGiUXMjUJsiQQk6EAFAwCLTRiNReSJRCQkjUXgiUQk +EItF1IkcJIlMJCCLTdDHRCQcBAAAAMdEJBgPJwAAx0QkFAAAAACJTCQEifmJRCQI +iXQkDMdF5AAAAADogAEAAInDg+woiUXQi0XkidGJ14XAdU2LVeCNQmSF0o2ylPj/ +/4tVIA9JxolCFIXbdHEx0oP5/3Qzi0XUhcB0XDHAg33M/3QzONB1BotFHIMIAotF +0I1l9In6W15fXcIcAI12AItFHIMIBOvCi0MIO0MMczYPtjgx0uu+i3XUi0YMOUYI +cwQxwOu+iwaJ8YlVzP9QJItVzIPAAXXquAEAAADrpboBAAAA64+LA4nZ/1Akg/j/ +icd1v7oBAAAAx0XQAAAAAOlw////kJCQkJCQkJCQkJBVieVTg+wki0Ugi1UUixmJ +RCQYi0UciVQkDItVDIlEJBSLRRiJVCQEiUQkEItFEIlEJAiLRQiJBCT/UxSLXfyD +7BzJwhwAkJCQkJCQkJCQkDHAw5CQkJCQkJCQkJCQkJBVieVTg+wki0Ugi1UUixmJ +RCQYi0UciVQkDItVDIlEJBSLRRiJVCQEiUQkEItFEIlEJAiLRQiJBCT/UxiLXfyD +7BzJwhwAkJCQkJCQkJCQkFWJ5Ve/CgAAAFZTg+wsi0UQi10Ii3UMiUXYi0UUiUXU +i0Uog8BsiQQk6EIDAwCDfSQCiUXcdBCDfSQEZr/oA7gBAAAAD0X4x0XgAAAAAMdF +5AAAAACF2w+EogEAADHSg/7/D4T4AAAAi0XYhcAPhJYBAAAxwIN91P8PhMEAAAA4 +wotF5HUfO0UkD4U1AQAAi0UYifKLTeCJCI1l9InYW15fXcIoADtFJHTlhdsPhGEB +AACD/v8PhLsAAACJ8Q+20YtF3A+2hBAdAQAAhMAPhL0AAACNUNCA+gkPh+UAAACL +TeAPvsCNFImNRFDQiUXgD6/HO0UgD4/JAAAAAfg5RRwPjb4AAAC4Z2ZmZvfvwf8f +wfoCKfqF24nXdBeLQwg7QwwPg/sAAACDwAGJQwi+/////4NF5AHpGv///5CNdCYA +i03Yi0EIO0EMD4PfAAAAD7YAiUXUMcDpI////410JgCLQwg7QwwPg+0AAAAPtjAx +0uny/v//i0MIO0MMD4P1AAAAD7Yw6TH///+NtgAAAACJVdCLVdwPvsmLAokMJInR +x0QkBCoAAAD/UCCD7Ag8KnQSi03ci1XQiIQRHQEAAOkP////g33kAnQWi0UsifKD +CASJ2I1l9FteX13CKABmkIN9JAR15It94Inyi0UYg+9kiTiNZfSJ2FteX13CKAC6 +AQAAAOlf/v//uAEAAADpbP7//7r/AAAAuf/////pnv7//4sDidn/UCjp//7//4tN +2IlV0IsB/1Aki1XQg/j/iUXUD4UN////uAEAAADHRdgAAAAA6Sb+//+LA4nZ/1Ak +g/j/icYPhQT///+6AQAAADHb6fH9//+LA4nZ/1Akg/j/icYPhTL+//+6/wAAALn/ +////MdvpJv7//5CQkJCQkFWJ5VdWU4HsjAAAAItVDIlNmItFEItNFItdCIlVnItV +GIlFpIlNoI16bIk8JOje/wIAiTwkicbolAADAItGCIt4SIl9sIt4TItAUIl9tIlF +uItGCItAVIlFvItGCItAWIlFwItGCItAXIlFxItGCItAYIlFyItGCItALIlFzItG +CItAMIlF0ItGCItANIlF1ItGCItAOIlF2ItGCItAPIlF3ItGCItNoIt9GItVnItA +QMdFrAAAAACJReCLRgiLQESJTCQMi02YiXwkHIkcJIlF5I1FrIlEJCCNRbCJRCQU +jUWoiUQkEItFpMdEJBgHAAAAiVQkBIlEJAjokREAAItNrIPsJIXJicOJx4nWdUGL +TaiLRSCJSBiF23R2g/r/xkWcAHQzi1WkhdJ0XzHAg32g/3Q8OkWcdQaLRRyDCAKN +ZfSJ+FuJ8l5fXcIcAI12AItFHIMIBOvAi0MIO0MMczgPtjDGRZwA67yNtCYAAAAA +i0Wki1gMOVgIcwQxwOu1icGLAP9QJIPAAXXwuAEAAADrosZFnAHrjYsDidn/UCSD ++P+JxnW9xkWcATH/6XT///+QkJCQkJCQkJCQkJCQkJBVieVXVlOD7ByLRSSDwGyJ +BCTo+f4CAInHi0UgjQSFHgAAAIPg8OhFAP7/KcSNRRCJBCSNTQiNXCQT6PEb//+D +4/CD7ASEwHQdjbQmAAAAAItFKIMIBItFCItVDI1l9FteX13CJACNTQjoghz//4hF +5ItFIIXAdNgxwDH2i1UciV3cicPrIIsHiVXgiQwkifn/UAiLVeCD7AQ4ReR0E4PG +ATt1IHQciwSyD74IOk3kddWLRdyJNJiDwwGDxgE7dSB15Ild5Itd3IN95AHHReAA +AAAAD4b6AAAAjbQmAAAAAIsDi30ciwSHid+JBCToDqr+/7oBAAAAidOJxpCNdCYA +iwSfi1UciwSCiQQk6O+p/v85xg9H8IPDATtd5HLii00IifuJ94XJdBmLQQg7QQwP +g08BAACDwAGJQQjHRQz/////g0XgATl94A+DAf///41FEIkEJI1NCOjTGv//g+wE +hMAPhej+//8x0ot15OsSkDhF5HRLg+4BiwSzOdaJB3ZGjTyTi00ciweLBIGLTeAP +tgQIi00IiEXkhckPhI8AAACLRQyD+P91x4tBCDtBDA+DqgAAAA+2ADhF5IlFDHW1 +g8IBOdZ3uoP+AYl15A+HDf///4N95AEPhXP+//+NTQjoO14CAIsDi30ci3XgiUXg +izyHg8YBiTwk6AKp/v85xonDcxWNRRCJBCSNTQjoHhr//4PsBITAdCE53g+FL/7/ +/4tFGIt94Ik46Sj+//9mkLj/////6Tb///8PtgQ3jU0IiEXk6Kca//84ReR1y41N +CIPGAejHXQIAOd5yp+u6iwGJVdz/UCSLVdyD+P8PhUX////HRQgAAAAAuP/////p +7P7//4sB/1Ao6a3+//+QkFWJ5VdWU4HsvAAAAItVDImNaP///4tFEItNFItdCImV +bP///4tVGImFdP///4mNcP///416bIk8JOiC+wIAiTwkicboOPwCAItGCIu4lAAA +AIl9iIu4mAAAAIuAnAAAAIl9jIlFkItGCIuAoAAAAIlFlItGCIuApAAAAIlFmItG +CIuAqAAAAIlFnItGCIuArAAAAIlFoItGCIuAsAAAAIlFpItGCIuAtAAAAIlFqItG +CIuAuAAAAIlFrItGCIuAvAAAAIlFsItGCIuAwAAAAIlFtItGCItAZIlFuItGCItA +aIlFvItGCItAbIlFwItGCItAcIlFxItGCItAdIlFyItGCItAeIlFzItGCItAfIlF +0ItGCIuAgAAAAIlF1ItGCIuAhAAAAIlF2ItGCIuAiAAAAIlF3ItGCIuAjAAAAIlF +4ItGCIuAkAAAAIlF5IuNcP///41FhIlEJCCNRYiLfRiJRCQUjUWAi5Vs////iUQk +EIuFdP///4lMJAyLjWj///+JfCQciRwkx0QkGAwAAACJRCQIiVQkBMdFhAAAAADo +nAwAAInDiceLRYSD7CSJ1oXAdU6LTYCLRSCJSBCF2w+EhAAAAIP6/8aFbP///wB0 +P4uddP///4XbdGcxwIO9cP////90PjqFbP///3UGi0UcgwgCjWX0ifhbifJeX13C +HACLRRyDCATrs422AAAAAItDCDtDDHM9D7YwxoVs////AOuti4V0////i1gMOVgI +cwQxwOuwicGLAP9QJIPAAXXwuAEAAADrncaFbP///wHpfP///4sDidn/UCSD+P+J +xnW4xoVs////ATH/6WD///+QkJCQkJCQkJCQkJCQkJBVieVXVlOB7IwAAACLRRiJ +TaCNWGyJHCToI/kCAIkcJDHbiUWU6Nb5AgCJxotFJIkEJOi5pf7/x0WwAAAAAIlF +pItNCIXJD4R5CgAAMdKDfQz/D4QMAQAAi00QhckPhGwKAAAxwIN9FP8PhBEBAAA4 +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 +iwSfi1UciwSCiQQk6I+M/v85xg9H8IPDATtd5HLii00Ihcl0G4tBCDtBDA+DTQEA +AIPAAolBCLv/////ZoldDINF3AE5ddwPgwP///+NRRCJBCSNTQjodf7+/4PsBITA +D4Xq/v//i0XcMdKLXeQBwIlF4OsMg+sBiwSfOdOJBnY5jTSXi00ciwaLBIGLTeAP +twQIi00IZolF5Lj/////hcl0Cg+3RQxmg/j/dHhmOUXkdcKDwgE503fHg/sBiV3k +D4ca////idqD+gEPhX/+//+NTQjoB0ECAIsHi30ci13ciUXgiwSHg8MBiQQkiUXk +6KuL/v85w4nGcxWNRRCJBCSNTQjox/3+/4PsBITAdDw58w+FOP7//4tFGIt94Ik4 +6TH+//+LQQg7QQxzRA+3AGaD+P90CmaJRQzpbv///5DHRQgAAAAA6WH///+LReSN +TQgPtzxY6DX+/v9mOcd1sI1NCIPDAeh1QAIAOfNyjOufiwGJVdj/UCSLVdjrsosB +/1Ao6a/+//+QkJCQkJCQkFWJ5VdWU4HsvAAAAItFCIt1FImNYP///4tNGIt9DImF +ZP///4tFEIm1aP///41xbIk0JImFbP///+hy3gIAiTQkicPoKN8CAItDCIuQlAAA +AIlViIuQmAAAAIuAnAAAAIlVjIlFkItDCIuAoAAAAIlFlItDCIuApAAAAIlFmItD +CIuAqAAAAIlFnItDCIuArAAAAIlFoItDCIuAsAAAAIlFpItDCIuAtAAAAIlFqItD +CIuAuAAAAIlFrItDCIuAvAAAAIlFsItDCIuAwAAAAIlFtItDCItAZIlFuItDCItA +aIlFvItDCItAbIlFwItDCItAcIlFxItDCItAdIlFyItDCItAeIlFzItDCItAfIlF +0ItDCIuAgAAAAIlF1ItDCIuAhAAAAIlF2ItDCIuAiAAAAIlF3ItDCIuAjAAAAIlF +4ItDCIuAkAAAAIlF5I1FhItNGIlEJCCNRYiLtWj///+JRCQUjUWAiUQkEIuFbP// +/4lMJByLjWD///+JdCQMiXwkBIlEJAiLhWT////HRCQYDAAAAMdFhAAAAACJBCTo +XBAAAInDZonXidCJ1omVdP///4tVhIPsJImdcP///4mdZP///4XSdVeLVYCLTSCJ +URCF27oBAAAAdAgx0maD+P90X4uNbP///7gBAAAAhcl0DDHAZoO9aP////90KjjQ +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 +iUUM6ej7//+NRbCLVRSJRCQki0UYi43s/v//x0QkHAIAAACJVCQMi1UMiUQkIItF +IMdEJBg7AAAAx0QkFAAAAACJVCQEg8AEiUQkEItFEIlEJAiLRQiJBCToAvD//4mF +QP///4PsKImVRP///4lFCA+3hUT///9miUUM6XD7//+LA419uInZiXwkCMdEJAT9 +cUkAxwQk93FJAP9QLItFIItVFIuN7P7//4PsDIlEJBiNRbCJRCQUi0UYiVQkDItV +DIl8JByJRCQQi0UQiVQkBIlEJAiLRQiJBCTokfj//4mFOP///4PsIImVPP///4lF +CA+3hTz///9miUUM6e/6//+NRbCLVRSJRCQki0UYi43s/v//x0QkHAIAAACJVCQM +i1UMiUQkIItFIMdEJBg9AAAAx0QkFAAAAACJVCQEiUQkEItFEIlEJAiLRQiJBCTo +DO///4mFMP///4PsKImVNP///4lFCA+3hTT///9miUUM6Xr6//+LA419uInZiXwk +CMdEJAQGckkAxwQk/XFJAP9QLItFIItVFIuN7P7//4PsDIlEJBiNRbCJRCQUi0UY +iVQkDItVDIl8JByJRCQQi0UQiVQkBIlEJAiLRQiJBCTom/f//4mFKP///4PsIImV +LP///4lFCA+3hSz///9miUUM6fn5//+Lhej+//+LVRSLjez+//+LQAiLQBCJVCQM +i1UMiUQkHItFIIlUJASJRCQYjUWwiUQkFItFGIlEJBCLRRCJRCQIi0UIiQQk6C73 +//+JhRj///+D7CCJlRz///+JRQgPt4Uc////ZolFDOmM+f//jU0I6HTy/v+LE4nZ +xwQkAQAAAA+3wIlEJAT/UgiD7AiEwA+EXPn//41FsItVFIlEJCCLRRiLjez+///H +RCQYDgAAAIlUJAyLVQyJRCQcjUW4iUQkEItFEMdEJBQADUkAiVQkBIlEJAiLRQiJ +BCToefH//41NCImFCP///4PsJImVDP///4lFCA+3hQz///9miUUMjUUQiQQk6B7x +/v+D7ASEwA+F4/j//4t1sIX2D4XY+P//i024hckPhc34//+NTQjotfH+/4nZicaL +A8cEJC0AAAD/UCiD7ARmOcZ0JI1NCOiV8f7/idmJxosDxwQkKwAAAP9QKIPsBGY5 +xg+Fifj//41FsItVFIlEJCSLRRiLvez+///HRCQcAgAAAIlUJAyLVQyJRCQgjUW4 +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 +U4nLg+wYi1QkKItEJCDGRCQMAIlUJAiLVCQkiQQkjRRQiVQkBOiG4f//iQODxBhb +wgwAkJCQkJCQkJCQkJCQkMcBbAxJAMIEAJCQkJCQkJBVieVWic5Tg+wgi0UIixiL +Q/yNS/SFwHgXgflgDEkAdTCJ2IkGjWX4W15dwgQAZpCNRffHRCQEAAAAAIkEJOhd +5v//iQaD7AiNZfhbXl3CBACNQ/zoD40CAOvGkJCQkJBVic1XVlOD7CyLVCRAi0Qk +RIt0JEiLEota9InfKcc59w9G9wHGOdiNDHJ3KY1cJB+NBEKJXCQIxkQkDACJTCQE +iQQk6Ijh//+JRQCDxCxbXl9dwgwAxwQkUm9JAOivLQIAkJCQkJCQkJCQkJCQkJCQ +VYnNV1ZTg+wci1QkMItEJDSLdCQ4ixKLWvSJ3ynHOfcPRvcBxjnYjQxydymLXCQ8 +jQRCxkQkDACJTCQEiQQkiVwkCOgY4f//iUUAg8QcW15fXcIQAMcEJFJvSQDoPy0C +AJCQkJCQkJCQkJCQkJCQkFOJy4PsGItUJCiLRCQgxkQkDACJVCQIi1QkJIkEJI0U +UIlUJATo9t///4kDg8QYW8IMAJCQkJCQkJCQkJCQkJBTicuD7AiLRCQQi1QkFIXA +dQ64bAxJAIkDg8QIW8IMAItMJBgPt9LopN7//4kDg8QIW8IMAJCQkJCQkJCQkJCQ +xwFsDEkAw5CQkJCQkJCQkFOJy4PsGItEJCjGRCQMAIlEJAiLRCQkiUQkBItEJCCJ +BCTo2d7//4kDg8QYW8IMAFOJy4PsGItEJCjGRCQMAIlEJAiLRCQkiUQkBItEJCCJ +BCToOd///4kDg8QYW8IMAFOJy4PsGItEJCjGRCQMAIlEJAiLRCQkiUQkBItEJCCJ +BCTo2d///4kDg8QYW8IMAIsJg+kMgflgDEkAdQLzw+kEiwIAkJCQkJCQkJCQkJCQ +iwmD6QyB+WAMSQB1AvPD6eSKAgCQkJCQkJCQkJCQkJBTiciLCYtcJAiLUfyF0ngX +ixODevwAeQfHQvwAAAAAiRCJC1vCBADHQfwAAAAA6+BVieVWic5Tg+wQi10IiRwk +6Mvz/f+J8YkcJIlEJATo7er//4PsCI1l+FteXcIEAJBVieXJ6bfr//+QkJCQkJCQ +VYnlU4nLg+wUi0UMiUQkBItFCIkEJOi16v//idiLXfyD7AjJwggAkJCQkJCQkJCQ +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 +i138g+wQycIMAMcEJG9tSQDo6soBAJCQkJCQkJCQkJBWic5Tg+wEi1wkEIsTi0r8 +hcl4CYnZ6CXt//+LEwNS9InwiRaDxARbXsIEAJCQkJBVieWD7BiLRQjHRCQEAAAA +AIkEJOgHAAAAg+wIycIEAFWJ5VOD7BSLRQiLEYtdDD38//8/i1L0d0k50HYLKdB1 +L4td/MnCCABz9ynCx0QkCAAAAACJVCQEiQQk6BAGAACLXfyD7AzJwggAjbYAAAAA +D77biV0Mi138iUUIyen++P//xwQkxG1JAOiCyQEAkJCLRCQMi1QkBItMJAiD+AF0 +EYlEJAyJTCQIiVQkBOnWkf3/D7YBiALDkJCQkJCQkJCLRCQEiQHCBACQkJCQkJCQ +iwGLQPyFwHgH6TLs//9mkPPDkJCQkJCQkJCQkJCQkJCLRCQMi1QkBItMJAiD+AF0 +EYlEJAyJTCQIiVQkBOmukf3/D7YBiALDkJCQkJCQkJBVieWLVQiLRQxTi10QKV0U +i138KdArEYlFDIlVCMnp3QEAAJCQkJCQkJCQkJCQkJBVieVXic9WU4PsHIt1EItd +CIk0JOh3kf3/ifmJdCQIiUQkDItFDCnYKx+JRCQEiRwk6JoBAACD7BCNZfRbXl9d +wgwAkJCQkJCQkJCQkJCQkFWJ5YtVCItFDFOLXRApXRSLXfwp0CsRiUUMiVUIyeld +AQAAkJCQkJCQkJCQkJCQkFWJ5YtVCItFDFOLXfwp0CsRiUUMiVUIyekzAQAAkJCQ +VYnlVlOD7BCLXRCLVQiLRQyLGynQKxGLc/SJXCQIiUQkBIkUJIl0JAzoAgEAAIPs +EI1l+FteXcIMAJCQkJCQkFWJ5YtVCItFDFOLXRApXRSLXfwp0CsRiUUMiVUIyenN +AAAAkJCQkJCQkJCQkJCQkFWJ5YtVCItFDFOLXRApXRSLXfwp0CsRiUUMiVUIyemd +AAAAkJCQkJCQkJCQkJCQkFWJ5YtVCItFDFOLXfwp0CsRiUUMiVUIyelzAAAAkJCQ +VYnli1UIi0UMUw++XRQp0CsRiV0Ui138iUUMiVUIyek87v//kJCQkJCQkJCQkJCQ +VYnlVonOU4PsEItdEIkcJOjrj/3/ifGJXCQIiUQkDItFDIlEJASLRQiJBCToDwAA +AIPsEI1l+FteXcIMAJCQkFWJ5VdWic5Tg+w8iwGLXQiLfQyLSPQ5yw+HQQEAAInK +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 +i0QkBAFBCMIEAJCQkJCQkMIEAJCQkJCQkJCQkJCQkJCLRCQEAUEUwgQAkJCQkJCQ +i0EIO0EMcwQPtgDDiwGLQCT/4JCQkJCQkJCQkJCQkJCLAVWJ5YtAIMn/4JCQkJCQ +i1EUO1EYVYnli0UIcw2IAg+2wINBFAHJwgQAixEPtsCJRQiLQjTJ/+CQkJCQkJCQ +iwFVieWLQDDJ/+CQkJCQkFOJy4PsCIsB/1Akg/j/dBGLUwgPtgKDwgGJUwiDxAhb +w7j/////6/SQkJCQkJCQkItRCDtRDHMKD7YCg8IBiVEIw4sBi0Ao/+CQkJCQkJCQ +icjCCACQkJCQkJCQkJCQkFOJy4PsCItRCItBDDnCcxKDwgGJUQg5wnMfD7YCg8QI +W8OLAf9QKInCg8j/g8IBdOyLUwiLQwzr3YsDidmLQCSDxAhb/+CQkJCQkJCQkJCQ +i0EIO0EMcwiDwAGJQQjDkIsBi0Ao/+CQkJCQkJCQkJBVV1ZTg+wci0QkNIt8JDCF +wH5oicsx7YtTCItDDCnQdSaLA4nZ/1Aog/j/dEKDxQE5bCQ0jVcBiAd+NInXi0MM +i1MIKdB02otMJDSJVCQEiTwkKek5wQ9OwYnGiUQkCAH16KKX/P8Bcwg5bCQ0fxCD +xByJ6FteX13CCAAx7evwAffrnpCQkJCQkJCQkJCQkJBVieVXVlOD7ByLVQyLdQiF +0n5uicsx/4tTFItDGCnQdSqLA4nZD7YWiRQk/1A0g+wEg/j/dD+DxwGDxgE5fQx+ +NItTFItDGCnQdNaLTQyJdCQEiRQkKfk5wQ9PyIlMJAiJTeToEJf8/4tN5AFLFAHP +OX0MfxCNZfSJ+FteX13CCAAx/+vwAc7rmJCQkJCQkJCLAYtAGP/gkJCQkJCQkJCQ +icjHAf/////HQQT/////x0EIAAAAAMIUAJCQkJCQkJCD7BSJyMcB/////8dBBP// +///HQQgAAAAAg8QUwhgAkItBCDlBBHMLjVD/iVEID7ZA/8NVieWD7BiLAccEJP// +////UCxSycOQkJCQkJCQkItBDCtBCHQI88ONtgAAAACLAYtAHP/gkJCQkJCQkJCQ +uP/////CBACQkJCQkJCQkFWJ5VdWU4nLg+wci3UIjX4ciTwk6PdwAACLBonxi1UM +g+wEiRQk/1AIi0UMg+wEifmJBCToB3IAAInYg+wEjWX0W15fXcIIAInGidnon3EA +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 +cUkAuQYAAADzpnUKjWX0W15fXcIIAItFCI115MdEJAgAAAAAiTQkiUQkBOgAXwAA +i0XkidmJBCTo05EAAIPsBIk0JOhYXwAAjWX0W15fXcIIAInGidnotZQAAIk0JOht +Cfz/icaJ2eh0XwAAiTQk6FwJ/P+QkJCQkJCQkJCQkJBTicuD7BjHAejRSQDof5QA +AIkcJOh3AAEAg8QYW8OQkMcB6NFJAOlllAAAkJCQkJDHAejRSQDpVZQAAJCQkJCQ +i1QkCDHAxwEo0kkAhdIPlcCJQQTCCACQkJCQkJCQkJCLVCQIMcDHASjSSQCF0g+V +wIlBBMIIAJCQkJCQkJCQkFOJy4PsGMcB6NhJAOjPXgAAiRwk6Pf/AACDxBhbw5CQ +xwHo2EkA6bVeAACQkJCQkMcB6NhJAOmlXgAAkJCQkJCLVCQIMcDHAWjSSQCF0g+V +wIlBBMIIAJCQkJCQkJCQkItUJAgxwMcBaNJJAIXSD5XAiUEEwggAkJCQkJCQkJCQ +U4nLg+wYxwEo2UkA6E9eAACJHCTod/8AAIPEGFvDkJDHASjZSQDpNV4AAJCQkJCQ +xwEo2UkA6SVeAACQkJCQkItUJAgxwMcBqNJJAIXSD5XAiUEEwggAkJCQkJCQkJCQ +i1QkCDHAxwGo0kkAhdIPlcCJQQTCCACQkJCQkJCQkJBTicuD7BjHAWjZSQDoz10A +AIkcJOj3/gAAg8QYW8OQkMcBaNlJAOm1XQAAkJCQkJDHAWjZSQDppV0AAJCQkJCQ +i1QkCDHAxwHA0kkAhdIPlcCJQQTCCACQkJCQkJCQkJCLVCQIMcDHAcDSSQCF0g+V +wIlBBMIIAJCQkJCQkJCQkFOJy4PsGMcBgNlJAOhPXQAAiRwk6Hf+AACDxBhbw5CQ +xwGA2UkA6TVdAACQkJCQkMcBgNlJAOklXQAAkJCQkJBVieVTicuD7BSLRQiJBCTo +DL7//8cD2NJJAItd/IPsBMnCBACQkJCQkJCQkJCQkJBTicuD7BjHAdjSSQDoP77/ +/4kcJOgH/gAAg8QYW8OQkMcB2NJJAOklvv//kJCQkJBVieVXVonOU4PsTItFCMZB +ZAGJBCToVt0AAI1N0InDiwCJHCT/UBCLRdCD7ASLUPSNePSB/3AMSQCJVgwPhbQC +AACJFCToxv0AAIlFxIsDjU3Ui34MiRwk/1AQi0XEg+wEx0QkCAAAAACNTdSJfCQE +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 +HCTo6YcAAIPEFFtew4nGidnoqub//4k0JOiSkPv/kJBWU4nLg+wUjUEIxwHI1kkA +iQQk6Ejm//+DxBSJ2Vte6Xzm//+JxonZ6HPm//+JNCToW5D7/5CQkJCQkJCQkJCQ +VlOJy4PsFI1BCMcByNZJAIkEJOgI5v//g8QUidlbXuk85v//icaJ2egz5v//iTQk +6BuQ+/+QkJCQkJCQkJCQkItUJAQxwMcB6NZJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +i1QkBDHAxwHo1kkAhdIPlcCJQQTCBACQkJCQkJCQkJBTicuD7BjHAejWSQDoz+X/ +/4kcJOj3hgAAg8QYW8OQkMcB6NZJAOm15f//kJCQkJDHAejWSQDppeX//5CQkJCQ +i1QkBDHAxwEo10kAhdIPlcCJQQTCBACQkJCQkJCQkJCLVCQEMcDHASjXSQCF0g+V +wIlBBMIEAJCQkJCQkJCQkFOJy4PsGMcBKNdJAOhP5f//iRwk6HeGAACDxBhbw5CQ +xwEo10kA6TXl//+QkJCQkMcBKNdJAOkl5f//kJCQkJCLVCQEMcDHAWjXSQCF0g+V +wIlBBMIEAJCQkJCQkJCQkItUJAQxwMcBaNdJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +U4nLg+wYxwFo10kA6M/k//+JHCTo94UAAIPEGFvDkJDHAWjXSQDpteT//5CQkJCQ +xwFo10kA6aXk//+QkJCQkItUJAQxwMcBqNdJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +i1QkBDHAxwGo10kAhdIPlcCJQQTCBACQkJCQkJCQkJBTicuD7BjHAajXSQDoT+T/ +/4kcJOh3hQAAg8QYW8OQkMcBqNdJAOk15P//kJCQkJDHAajXSQDpJeT//5CQkJCQ +U4nLg+wYxwHo10kA6H8pAACJHCToN4UAAIPEGFvDkJDHAejXSQDpZSkAAJCQkJCQ +VVdWU4nLg+wcg3wkMAeLbCQ0jXkkD46VAAAAgXwkMP///38PhKoAAACLRCQwjXAB +uP////+NFPUAAAAAgf4AAOAPD0bCiQQkiXQkCOjvhAAAicUxwMdExQAAAAAAx0TF +BAAAAACDwAE58HXpi0tki0Nohcl+JDHSiVwkDI10JgCLHNCLdNAEiVzVAIl01QSD +wgE5ynXqi1wkDIXAdGI5x3ReiQQkie/oZIQAAOsKZpDHRCQICAAAAItEJAiJe2iJ +Q2SLRCQwjQTHg8QcW15fXcIIAItBFIPIAYVBEIlBFHUsieiEwHQdx0EgAAAAAIPE +HI1DHFteX13CCACQjXQmAInv67THQRwAAAAA6+HHBCRgcEkA6Jc+AACD6gGJBCR0 +Bei6jPv/6MWGAACLQxSDyAGFQxCJQxR1IonohMB0KMdDIAAAAACNQxyJRCQI6I6I +AACLRCQI6W7////HBCSIcEkA6Ek+AADHQxwAAAAA69aJw+hpiAAAiRwk6GGM+/+Q +VYnlVlOD7CAPth2MDUkAgH0IAXULjWX4idhbXl3DZpCE23TxjU336BQDAAC5fAhJ +AMYFjA1JAADHBWAISQDo0EkA6Knl//+5/AdJAMcF4AdJAOjQSQDoleX//7k8CEkA +xwUgCEkA6NBJAOiB5f//uTwJSQDHBSAJSQAo0UkA6G3l//+5vAhJAMcFoAhJACjR +SQDoWeX//7n8CEkAxwXgCEkAKNFJAOhF5f//izWoY0wAuWAKSQDHRCQIAAIAAMdE +JAQQAAAAjUYgiQQk6L8j/P+D7Ay5YAlJAMdEJAgAAgAAx0QkBAgAAACJNCTonyP8 +/4PsDLngCUkAjUZAx0QkCAACAADHRCQEEAAAAIkEJOh8I/z/g+wMuaQPSQDHBCRg +CkkA6GgbAACD7AS5yA1JAMcEJGAJSQDoVBsAAIPsBLlkDkkAxwQk4AlJAOhAGwAA +g+wEuQQPSQDHBCTgCUkA6CwbAACD7AS54AtJAI1GIMdEJAgAAgAAx0QkBBAAAACJ +BCToCSf8/4PsDLngCkkAx0QkCAACAADHRCQECAAAAIk0JOjpJvz/g+wMg8ZAx0Qk +CAACAAC5YAtJAMdEJAQQAAAAiTQk6MYm/P+D7Ay5JBJJAMcEJOALSQDogiEAAIPs +BLlIEEkAxwQk4ApJAOhuIQAAg+wEueQQSQDHBCRgC0kA6FohAACD7AS5hBFJAMcE +JGALSQDoRiEAAIPsBI1N9+jrCAAAjWX4idhbXl3DicONTffo2AgAAIkcJOggivv/ +V1aJzlOD7BCLWRiLfCQghdt0F4tDCIl0JASJPCSJRCQI/1MEixuF23Xpg8QQW15f +wgQAiQQk6PWDAADo4IUAAOvig/r/iQQkdAXo0Yn7/+ichAAAkJCQkJCQkJCQkJCQ +U4nLg+wYxwQkEAAAAOg+gQAAi1MYiRCLVCQgx0AMAAAAAIlQBItUJCSJUAiJQxiD +xBhbwggAkJCQkJCQkJCQkFaJzlOD7BSLQRiFwHRCixUAUUwAhdJ1J4tQDI1a/4XS +iVgMdSuLGIkEJOiRgAAAhdt0HYsVAFFMAInYhdJ02br/////8A/BUAyF0nTYjXYA +x0YYAAAAAIPEFFtew5CQkKEAUUwAhcAPhasGAAChiA1JAI1QAYkViA1JAIXAdAHD +Vbl8CEkAieVTg+wUxgWMDUkAAccFYAhJAOjQSQDHBWQISQAAAAAAxwVoCEkAAAAA +AMcFbAhJAAAAAADHBXAISQAAAAAAxwV0CEkAAAAAAMcFeAhJAAAAAADocuH//4sd +qGNMALn8B0kAxwVgCEkAaMhJAMcFhAhJAP/////HBeAHSQDo0EkAjUMgo4AISQDH +BeQHSQAAAAAAxwXoB0kAAAAAAMcF7AdJAAAAAADHBfAHSQAAAAAAxwX0B0kAAAAA +AMcF+AdJAAAAAADoAOH//7k8CEkAxwXgB0kAaMhJAIkdAAhJAMcFBAhJAP/////H +BSAISQDo0EkAxwUkCEkAAAAAAMcFKAhJAAAAAADHBSwISQAAAAAAxwUwCEkAAAAA +AMcFNAhJAAAAAADHBTgISQAAAAAA6Jbg//+NQ0C5pA9JAMcFIAhJAGjISQCjQAhJ +AMcFRAhJAP/////okAgAALmkD0kAxwQkYAhJAMcFFBBJAAAAAADGBRgQSQAAxgUZ +EEkAAMcFHBBJAAAAAADHBSAQSQAAAAAAxwUkEEkAAAAAAMcFKBBJAAAAAADHBaAP +SQDsyUkAxwWkD0kAAMpJAOgrFgAAg+wEucgNSQDoHggAALnIDUkAxwQk4AdJAMcF +OA5JAAAAAADGBTwOSQAAxgU9DkkAAMcFQA5JAAAAAADHBUQOSQAAAAAAxwVIDkkA +AAAAAMcFTA5JAAAAAADHBcANSQCsyUkAxwXIDUkAwMlJAMcFxA1JAAAAAADorxUA +AIPsBLlkDkkA6KIHAAC5ZA5JAMcEJCAISQDHBdQOSQAAAAAAxgXYDkkAAMYF2Q5J +AADHBdwOSQAAAAAAxwXgDkkAAAAAAMcF5A5JAAAAAADHBegOSQAAAAAAxwVgDkkA +7MlJAMcFZA5JAADKSQDoPRUAAIPsBLkED0kA6DAHAAC5BA9JAMcEJCAISQDHBXQP +SQAAAAAAxgV4D0kAAMYFeQ9JAADHBXwPSQAAAAAAxwWAD0kAAAAAAMcFhA9JAAAA +AADHBYgPSQAAAAAAxwUAD0kA7MlJAMcFBA9JAADKSQDoyxQAAIPsBLk8CUkAxwU4 +DkkAoA9JAIENcA5JAAAgAADHBdQOSQCgD0kAxwUgCUkAKNFJAMcFJAlJAAAAAADH +BSgJSQAAAAAAxwUsCUkAAAAAAMcFMAlJAAAAAADHBTQJSQAAAAAAxwU4CUkAAAAA +AOg63v//jUMgubwISQCjQAlJALj/////ZqNECUkAxwUgCUkAqMhJAMcFoAhJACjR +SQDHBaQISQAAAAAAxwWoCEkAAAAAAMcFrAhJAAAAAADHBbAISQAAAAAAxwW0CEkA +AAAAAMcFuAhJAAAAAADozd3//7j/////ufwISQCJHcAISQCDw0Bmo8QISQDHBaAI +SQCoyEkAxwXgCEkAKNFJAMcF5AhJAAAAAADHBegISQAAAAAAxwXsCEkAAAAAAMcF +8AhJAAAAAADHBfQISQAAAAAAxwX4CEkAAAAAAOhf3f//uP////+5JBJJAGajBAlJ +AMcF4AhJAKjISQCJHQAJSQDoWgUAADHAuSQSSQDHBCQgCUkAxwWUEkkAAAAAAGaj +mBJJAMYFmhJJAADHBZwSSQAAAAAAxwWgEkkAAAAAAMcFpBJJAAAAAADHBagSSQAA +AAAAxwUgEkkALM5JAMcFJBJJAEDOSQDoxBkAAIPsBLlIEEkA6OcEAAAx27lIEEkA +xwQkoAhJAMcFuBBJAAAAAABmiR28EEkAxgW+EEkAAMcFwBBJAAAAAADHBcQQSQAA +AAAAxwXIEEkAAAAAAMcFzBBJAAAAAADHBUAQSQDszUkAxwVIEEkAAM5JAMcFRBBJ +AAAAAADoRhkAAIPsBLnkEEkA6GkEAAAxyWaJDVgRSQC55BBJAMcEJOAISQDHBVQR +SQAAAAAAxgVaEUkAAMcFXBFJAAAAAADHBWARSQAAAAAAxwVkEUkAAAAAAMcFaBFJ +AAAAAADHBeAQSQAszkkAxwXkEEkAQM5JAOjSGAAAg+wEuYQRSQDo9QMAADHSuYQR +SQDHBCTgCEkAxwX0EUkAAAAAAGaJFfgRSQDGBfoRSQAAxwX8EUkAAAAAAMcFABJJ +AAAAAADHBQQSSQAAAAAAxwUIEkkAAAAAAMcFgBFJACzOSQDHBYQRSQBAzkkA6F4Y +AAChAFFMAIPsBIEN8BBJAAAgAADHBbgQSQAgEkkAhcDHBVQRSQAgEkkAdSSDBYgN +SQABi138ycO4AQAAAPAPwQWIDUkA6VH5//+NtgAAAADwgwWIDUkAAevZicO5hBFJ +AMcFhBFJAMDZSQDosAMAAIkcJOgogvv/icO5pA9JAMcFpA9JALDZSQDokgMAAIkc +JOgKgvv/icO5yA1JAMcFyA1JALDZSQDodAMAAIkcJOjsgfv/icO5ZA5JAMcFZA5J +ALDZSQDoVgMAAIkcJOjOgfv/icO5BA9JAMcFBA9JALDZSQDoOAMAAIkcJOiwgfv/ +icO5JBJJAMcFJBJJAMDZSQDoGgMAAIkcJOiSgfv/icO5SBBJAMcFSBBJAMDZSQDo +/AIAAIkcJOh0gfv/icO55BBJAMcF5BBJAMDZSQDo3gIAAIkcJOhWgfv/kJCQkJCQ +oQBRTACFwHUXoYgNSQCNUP+D+AKJFYgNSQB0FsONdgC4//////APwQWIDUkAg/gC +deqD7By5oA9JAOjBP/7/uWAOSQDotz/+/7kAD0kA6K0//v+5IBJJAOgTH///ueAQ +SQDoCR///7mAEUkA6P8e//+DxBzDiQQk6ON6AACDxBzpy3wAAJCQkJCQkJCQkJCQ +VYnlV1aJzlOD7ByLXQiNe2yJPCToV9n//4tFDIn5g+wEiQQk6Hfa//+J2YPsBMcE +JAEAAADoZvb//4nwg+wEjWX0W15fXcIIAJCQkJCQkJChAFFMAIXAdReh4BJJAI1Q +AYPABIkV4BJJAMOQjXQmALgBAAAA8A/BBeASSQCDwATDkJCQkJCQkJCQkJCQkJCQ +VYnlVlOJy4119IPsIMdBBAYAAADHQQgAAAAAx0EMAhAAAInx6NfY//+NS2yJNCTo +3Nn//4nxg+wE6ILZ//+NZfhbXl3DkJCQkJCQkJCQkJBVieVXVlOJy4PsHItFCMcB +QMlJAI1JBIkEJOghdP7/g+wEjWX0W15fXcIEAInXidmJxugpGwAAg8cBiTQkdAXo +nH/7/+hnegAAkJCQkJCQkFOJy4PsGOgVAAAAiRwk6L12AACDxBhbw5CQkJCQkJCQ +VYnlVlOJy4PsIItBBMcBQMlJAI1I9IH5cAxJAHUOidnoyxoAAI1l+FteXcODPQBR +TAAAdR2LUPyNcv+JcPyJ0IXAf9qNRfeJBCToAV3+/1DrzIPK//APwVD8idDr4pCQ +U41ZJMcBANhJAInYx0EEAAAAAI1RZMdBCAAAAADHQQwAAAAAx0EQAAAAAMdBFAAA +AADHQRgAAAAAx0EcAAAAAMdBIAAAAADHAAAAAACDwAjHQPwAAAAAOdB17MdBZAgA +AACDwWyJWfxb6XLX//+QkFOJy4PsGOgVAAAAiRwk6M11AACDxBhbw5CQkJCQkJCQ +VYnlU4nLg+wUxwEA2EkAxwQkAAAAAOhF9P//idmD7ATo2/T//4tDaI1TJDnQdBOF +wHQIiQQk6HV1AADHQ2gAAAAAjUtsi138yenC1///kJBWMcBTicuD7BSLTCQoxwMQ +2EkAhckPlcCJQwToANP//4lDCIPEFFtewgwAicaJ2egM1P//iTQk6PR9+/+QkJCQ +VjHAU4nLg+wUi3QkIMcBENhJAIX2D5XAiUEE6MDS//+JQwiDxBRbXsIEAInGidno +zNP//4k0JOi0ffv/kJCQkFYxwFOJy4PsFItUJCjHARDYSQCF0g+VwIlBBOiA0v// +iUMIg8QUW17CDACJxonZ6IzT//+JNCTodH37/5CQkJBWMcBTicuD7BSLTCQgxwMQ +2EkAhckPlcCJQwToQNL//4lDCIPEFFtewgQAicaJ2ehM0///iTQk6DR9+/+QkJCQ +U4nLg+wY6BUAAACJHCToXXQAAIPEGFvDkJCQkJCQkJBWU4nLg+wUjUEIxwEQ2EkA +iQQk6MjS//+DxBSJ2Vte6fzS//+JxonZ6PPS//+JNCTo23z7/5CQkJCQkJCQkJCQ +VlOJy4PsFI1BCMcBENhJAIkEJOiI0v//g8QUidlbXum80v//icaJ2eiz0v//iTQk +6Jt8+/+QkJCQkJCQkJCQkFYxwFOJy4PsFItMJCjHAzDYSQCFyQ+VwIlDBOhg0f// +iUMIg8QUW17CDACJxonZ6GzS//+JNCToVHz7/5CQkJBWMcBTicuD7BSLdCQgxwEw +2EkAhfYPlcCJQQToINH//4lDCIPEFFtewgQAicaJ2egs0v//iTQk6BR8+/+QkJCQ +VjHAU4nLg+wUi1QkKMcBMNhJAIXSD5XAiUEE6ODQ//+JQwiDxBRbXsIMAInGidno +7NH//4k0JOjUe/v/kJCQkFYxwFOJy4PsFItMJCDHAzDYSQCFyQ+VwIlDBOig0P// +iUMIg8QUW17CBACJxonZ6KzR//+JNCTolHv7/5CQkJBTicuD7BjoFQAAAIkcJOi9 +cgAAg8QYW8OQkJCQkJCQkFZTicuD7BSNQQjHATDYSQCJBCToKNH//4PEFInZW17p +XNH//4nGidnoU9H//4k0JOg7e/v/kJCQkJCQkJCQkJBWU4nLg+wUjUEIxwEw2EkA +iQQk6OjQ//+DxBSJ2Vte6RzR//+JxonZ6BPR//+JNCTo+3r7/5CQkJCQkJCQkJCQ +VlOD7BSLQQiFwHR+x0AIuHdJAIsdhAxJAMdADAAAAADGQBAAxkAkLotBCMZAJSwx +wA+2FAOLcQiIVAYmg8ABg/gkde2LHYAMSQAwwI10JgAPthQDi3EIiFQGSoPAAYP4 +GnXti0EIx0AUuXdJAMdAGAQAAADHQBy+d0kAx0AgBQAAAIPEFFtewgQAxwQkaAAA +AIlMJAzo5nEAAItMJAzHQAQAAAAAxwDw0kkAx0AIAAAAAMdADAAAAADGQBAAx0AU +AAAAAMdAGAAAAADHQBwAAAAAx0AgAAAAAMZAJADGQCUAxkBkAIlBCOkf////kJCQ +VTHAieVWU4nLg+wQi00MxwNo2EkAxwQkAAAAAIXJidkPlcCJQwSLRQiJQwjo3/7/ +/4PsBI1l+FteXcIIAInGidnoys///4k0JOiyefv/kJBVMcCJ5VZTicuD7BCLVQzH +AWjYSQDHQQgAAAAAhdIPlcCJQQSLRQiJBCTokf7//4PsBI1l+FteXcIIAInGidno +fM///4k0JOhkefv/kJCQkFUxwInlVlOJy4PsEIt1CMcBaNhJAMdBCAAAAACF9g+V +wIlBBMcEJAAAAADoQP7//4PsBI1l+FteXcIEAInGidnoK8///4k0JOgTefv/kJCQ +VTHAieVWU4nLg+wQi1UMxwFo2EkAhdIPlcCJQQSLRQiJQQjHBCQAAAAA6PH9//+D +7ASNZfhbXl3CCACJxonZ6NzO//+JNCToxHj7/5CQkJBVMcCJ5VZTicuD7BCLdQzH +AWjYSQDHQQgAAAAAhfYPlcCJQQSLRQiJBCToof3//4PsBI1l+FteXcIIAInGidno +jM7//4k0JOh0ePv/kJCQkFUxwInlVlOJy4PsEItNCMcDaNhJAMdDCAAAAADHBCQA +AAAAhcmJ2Q+VwIlDBOhO/f//g+wEjWX4W15dwgQAicaJ2eg5zv//iTQk6CF4+/+Q +U4nLg+wY6BUAAACJHCToTW8AAIPEGFvDkJCQkJCQkJBWU4nLg+wUxwFo2EkAi0kI +hcl0BYsB/1AEg8QUidlbXunrzf//icaJ2ejizf//iTQk6Mp3+/+QkJCQkJCQkJCQ +U4PsGItRCIXSdHuLHYQMSQC4LgAAALksAAAAZolCJDHAx0IIuHdJAMdCDAAAAADG +QhAAZolKJmYPvgwDZolMQiiDwAGD+CR17osdgAxJADDAZg++DANmiUxCcIPAAYP4 +GnXux0IUxHdJAMdCGAQAAADHQhzOd0kAx0IgBQAAAIPEGFvCBADHBCSoAAAAMduJ +TCQM6LhuAACLTCQMMdJmiVAmicLHQAQAAAAAxwAA00kAx0AIAAAAAMdADAAAAADG +QBAAx0AUAAAAAMdAGAAAAADHQBwAAAAAx0AgAAAAAGaJWCTGgKQAAAAAiUEI6Rn/ +//+QkJCQkJCQkJCQkJCQkFUxwInlVlOJy4PsEItNDMcDqNhJAMcEJAAAAACFyYnZ +D5XAiUMEi0UIiUMI6M/+//+D7ASNZfhbXl3CCACJxonZ6IrM//+JNCTocnb7/5CQ +VTHAieVWU4nLg+wQi1UMxwGo2EkAx0EIAAAAAIXSD5XAiUEEi0UIiQQk6IH+//+D +7ASNZfhbXl3CCACJxonZ6DzM//+JNCToJHb7/5CQkJBVMcCJ5VZTicuD7BCLdQjH +AajYSQDHQQgAAAAAhfYPlcCJQQTHBCQAAAAA6DD+//+D7ASNZfhbXl3CBACJxonZ +6OvL//+JNCTo03X7/5CQkFUxwInlVlOJy4PsEItVDMcBqNhJAIXSD5XAiUEEi0UI +iUEIxwQkAAAAAOjh/f//g+wEjWX4W15dwggAicaJ2eicy///iTQk6IR1+/+QkJCQ +VTHAieVWU4nLg+wQi3UMxwGo2EkAx0EIAAAAAIX2D5XAiUEEi0UIiQQk6JH9//+D +7ASNZfhbXl3CCACJxonZ6EzL//+JNCToNHX7/5CQkJBVMcCJ5VZTicuD7BCLTQjH +A6jYSQDHQwgAAAAAxwQkAAAAAIXJidkPlcCJQwToPv3//4PsBI1l+FteXcIEAInG +idno+cr//4k0JOjhdPv/kFOJy4PsGOgVAAAAiRwk6A1sAACDxBhbw5CQkJCQkJCQ +VlOJy4PsFMcBqNhJAItJCIXJdAWLAf9QBIPEFInZW17pq8r//4nGidnoosr//4k0 +JOiKdPv/kJCQkJCQkJCQkItUJAQxwMcB6NhJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +i1QkBDHAxwHo2EkAhdIPlcCJQQTCBACQkJCQkJCQkJBTicuD7BjHAejYSQDoP8r/ +/4kcJOhnawAAg8QYW8OQkMcB6NhJAOklyv//kJCQkJDHAejYSQDpFcr//5CQkJCQ +i1QkBDHAxwEo2UkAhdIPlcCJQQTCBACQkJCQkJCQkJCLVCQEMcDHASjZSQCF0g+V +wIlBBMIEAJCQkJCQkJCQkFOJy4PsGMcBKNlJAOi/yf//iRwk6OdqAACDxBhbw5CQ +xwEo2UkA6aXJ//+QkJCQkMcBKNlJAOmVyf//kJCQkJCLVCQEMcDHAWjZSQCF0g+V +wIlBBMIEAJCQkJCQkJCQkItUJAQxwMcBaNlJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +U4nLg+wYxwFo2UkA6D/J//+JHCToZ2oAAIPEGFvDkJDHAWjZSQDpJcn//5CQkJCQ +xwFo2UkA6RXJ//+QkJCQkItUJAQxwMcBgNlJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +i1QkBDHAxwGA2UkAhdIPlcCJQQTCBACQkJCQkJCQkJBTicuD7BjHAYDZSQDov8j/ +/4kcJOjnaQAAg8QYW8OQkMcBgNlJAOmlyP//kJCQkJDHAYDZSQDplcj//5CQkJCQ +U4nLg+wYxwGY2UkA6O8NAACJHCTop2kAAIPEGFvDkJDHAZjZSQDp1Q0AAJCQkJCQ +VYnli0UIiUEQi0EUiUUIyel7AQAAkJCQkJCQkJCQkJCD7AyLRCQQCUEUhUEQdQaD +xAzCBADoNnIAAJCQkJCQkFaJzlOD7BSLXCQgiRwk6K05AACEwHRHiRwk6DFEAACJ +RnyJHCToljwAAITAdEWJHCToGkcAAImGgAAAAIkcJOi8OwAAhMB0H4kcJOhARgAA +iYaEAAAAg8QUW17CBADHRnwAAAAA67vHhoQAAAAAAAAA6+PHhoAAAAAAAAAA672Q +i1QkBItBcIlRcMIEAJCQkFWJ5VZTicuD7BCLVQiAeXUAdBAPtkF0iFN0jWX4W15d +wgQAi3F8hfZ0PYB+HAB0Fw+2Rj2IQ3TGQ3UBiFN0jWX4W15dwgQAifGJVfTof2P8 +/4sGifHHBCQgAAAA/1AYi1X0g+wE683oRCEAAJCQkJBVieVWU4nLg+wQi3UI6M7w +//+NQ2yJ2YkEJOjh/v//McCJc3jGQ3QAxkN1AMdDcAAAAADHQxAAAAAAg+wEhfYP +lMCJQxSNZfhbXl3CBACQkIPsHItReItEJCCF0nQShUEQiUEUdQ+DxBzCBACNdCYA +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 +2UkAx0NwAAAAAGaJQ3TGQ3YAx0N4AAAAAMdDfAAAAADHg4AAAAAAAAAAx4OEAAAA +AAAAAIPECFvDkJCQkJCQkFWJ5VZTicuD7BDokeb//zHAidlmiUN0i0UIxwPA2UkA +x0NwAAAAAMZDdgDHQ3gAAAAAx0N8AAAAAMeDgAAAAAAAAADHg4QAAAAAAAAAiQQk +6Bv7//+D7ASNZfhbXl3CBACJxonZ6Mbm//+JNCToPmX7/5CQkJCQkJCQkJCQkJCQ +U4nLg+wI6BXm//8xwMcDwNlJAMdDcAAAAABmiUN0xkN2AMdDeAAAAADHQ3wAAAAA +x4OAAAAAAAAAAMeDhAAAAAAAAACDxAhbw5CQkJCQkJBTicuD7BjHAcDZSQDoT+b/ +/4kcJOgHXAAAg8QYW8OQkMcBwNlJAOk15v//kJCQkJDHAcDZSQDpJeb//5CQkJCQ +g+wciQwkxwHQ2UkA6M9bAACDxBzDkJCQkJCQkJCQkJDHAdDZSQDDkJCQkJCQkJCQ +i1QkBDHAxwHo2UkAhdIPlcCJQQTCBACQkJCQkJCQkJCLVCQEMcDHAejZSQCF0g+V +wIlBBMIEAJCQkJCQkJCQkFOJy4PsGMcB6NlJAOgvuv//iRwk6FdbAACDxBhbw5CQ +xwHo2UkA6RW6//+QkJCQkMcB6NlJAOkFuv//kJCQkJCLVCQEMcDHAQDaSQCF0g+V +wIlBBMIEAJCQkJCQkJCQkItUJAQxwMcBANpJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +U4nLg+wYxwEA2kkA6K+5//+JHCTo11oAAIPEGFvDkJDHAQDaSQDplbn//5CQkJCQ +xwEA2kkA6YW5//+QkJCQkItUJAQxwMcBGNpJAIXSD5XAiUEEwgQAkJCQkJCQkJCQ +i1QkBDHAxwEY2kkAhdIPlcCJQQTCBACQkJCQkJCQkJBTicuD7BjHARjaSQDoL7n/ +/4kcJOhXWgAAg8QYW8OQkMcBGNpJAOkVuf//kJCQkJDHARjaSQDpBbn//5CQkJCQ +i1QkBDHAxwEw2kkAhdIPlcCJQQTCBACQkJCQkJCQkJCLVCQEMcDHATDaSQCF0g+V +wIlBBMIEAJCQkJCQkJCQkFOJy4PsGMcBMNpJAOivuP//iRwk6NdZAACDxBhbw5CQ +xwEw2kkA6ZW4//+QkJCQkMcBMNpJAOmFuP//kJCQkJCD7ByJDCTHAUjaSQDon1kA +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 +VYnlV1ZTg+wci0UMi10Ii30QiQQk6Mac+/+J2ccDfAxJAInGiweLUPQB8okUJOhd +D/7/g+wEhfZ0FItFDInZiXQkBIkEJOi1AP7/g+wIiTwkidnoiAH+/4PsBInYjWX0 +W15fXcOLC4nGg+kMgflwDEkAdAXo5zIAAIk0JOgvHvv/kJCQkJCQkJCQkJCQkJCQ +VYnlVlOD7CCLRQyLXQiLMItG/I1O9IXAeCaB+XAMSQB1NonwiQOLRRCJ2YkEJOgd +Af7/g+wEidiNZfhbXl3DkI1F98dEJAQAAAAAiQQk6K38/f+D7AjrzI1G/OhgMgAA +68CLC4nGg+kMgflwDEkAdAXoWjIAAIk0JOiiHfv/kJBVieVXVlOD7ByLXQiLdRCL +fQzHA3wMSQCJ2YsGi0D0g8ABiQQk6FYO/v+J+IPsBA+++InZiXwkBMcEJAEAAADo +LAL+/4PsCInZiTQk6H8A/v+D7ASJ2I1l9FteX13DiwuJxoPpDIH5cAxJAHQF6N4x +AACJNCToJh37/5CQkJCQkFWJ5VdWU4PsHItFDItdCIt9EIkEJOhGm/v/idnHA2wM +SQCJxosHi1D0AfKJFCTo7Z39/4PsBIX2dBSLRQyJ2Yl0JASJBCTopY79/4PsCIk8 +JInZ6HiP/f+D7ASJ2I1l9FteX13DiwuJxoPpDIH5YAxJAHQF6K8xAACJNCTonxz7 +/5CQkJCQkJCQkJCQkJCQkFWJ5VZTg+wgi0UMi10IizCLRvyNTvSFwHgmgflgDEkA +dTaJ8IkDi0UQidmJBCToDY/9/4PsBInYjWX4W15dw5CNRffHRCQEAAAAAIkEJOht +iv3/g+wI68yNRvzoKDEAAOvAiwuJxoPpDIH5YAxJAHQF6CIxAACJNCToEhz7/5CQ +VYnlV1ZTg+wci10Ii3UQi30MxwNsDEkAidmLBotA9IPAAYkEJOjmnP3/g+wED7f/ +iXwkBInZxwQkAQAAAOg+kP3/g+wIidmJNCTocY79/4PsBInYjWX0W15fXcOLC4nG +g+kMgflgDEkAdAXoqDAAAIk0JOiYG/v/kJCQkJCQkJDpOwAAAJCQkJCQkJCQkJCQ +6SsAAACQkJCQkJCQkJCQkOkLAwAAkJCQkJCQkJCQkJDp+wIAAJCQkJCQkJCQkJCQ +VYnlV1ZTg+w8i0UIx0QkBAAAAACNTeOLdQyJBCToPsr9/4PsCIB94wAPhJcBAACL +RQi6////f4tNCI1d5IsAA0j0iciLSQiFyQ9P0YPAbIkEJInZiVXE6KRz//+D7ASJ +HCToKe3//4nZiUXI6G90//+LRQiLTQiLAItA9ItcAXiLQwg7QwwPg64BAAAPtgiL +RcTHRdQAAAAAg+gBiUXMkItFzDlF1A+NpgAAAI10JgCD+f8PhNcAAACLRciLeBgP +tsH2BEcgD4WLAAAAi0XEK0XUi1MIg+gBiUXQi0MMKdA5RdAPTkXQg/gBD46nAAAA +AdCJwYlF0I1CATnBdhsPtkoB9gRPIHURg8ABO0XQdAkPtgj2BE8gdO8p0Ik0JInH +iUQkCAH+iVQkBOj5l/v/i0MIAX3UAfg7QwyJQwgPg+kAAAAPtgiLRcw5RdQPjF7/ +//+D+f90OTHAi00IxgYAi3UIixGLSvTHRA4IAAAAAIt11IX2D4StAAAAhcB1UotF +CI1l9FteX13DjbQmAAAAALgCAAAA68KIDotDCI1+AYtTDINF1AE50A+DBAEAAIPA +AYlDCDnQD4OMAAAAD7YIif7p2v7//4tNCLgEAAAAixGLTQgDSvQLQRSJBCTor6j/ +/4tFCIPsBI1l9FteX13DiQQk6GkTAACLRQiLTQiLAANI9INJFAH2QRABD4W8AAAA +6DsVAACLXdSF2w+FXv///4tNCDHAixGDyATrpInZ6M0wAACJwelm/v//idnovzAA +AInB6Uf+//+J2eixMAAAicGJ/ulI/v//iceJ1onZ6H1y//+J+Inyx0XUAAAAAIP6 +AQ+FeP///4kEJOjhEgAAi0UIi00IiwADSPSDSRQB9kEQAXQZ6NcYAADr04nDjXYA +6KsUAACJHCTooxj7/+i+GAAAidnoTzAAAIP4/3UTuf////+J/unW/f//65vonxgA +AItDCItTDOnY/v//icPobRQAAIkcJOhlGPv/kJCQkJBVieVTg+wki10Ix0QkBAAA +AACNTfeJHCToU8f9/4PsCIB99wB1ConYi138ycONdgCLA4tA9ItMA3iLUQg7UQxz +FQ+2AoPCAYlRCItVDIgCidiLXfzJw+g9LQAAg/j/deqLA4tI9AHZi0EUg8gGiQQk +6Cun//9R666D6gGJBCR1GejrEQAAiwMDWPSDSxQB9kMQAXQ56OcXAADo0hEAAIsD +i1D0AdqDShQB9kIQAXUj6KwTAADpbf///4nDkI10JgDomxMAAIkcJOiTF/v/6K4X +AADoqRcAAInD6IITAACJHCToehf7/5CQkJCQkJCQkJCLRCQEixCLSvQBwYnKi0wk +CAlKDMOQkJCQkJCQkJCQkItEJASLTCQIixCLUvSJTBAEw5CQkJCQkJCQkJCQkJCQ +U4tEJAiLVCQMiwj30otZ9AHDIVMMW8OQkJCQkJCQkJCLRCQEi0wkCIsQi1L0iUwQ +CMOQkJCQkJCQkJCQkJCQkFOLVCQMi0QkCIP6CHQpg/oKuQIAAAB0CzHJg/oQD5TB +weEDixCLWvQBw4tTDIPitQnKiVMMW8O5QAAAAOvlkJBVieVXVlOD7ByLdQiLBotY +9AHzgHt1AHUYi3t8hf90PIB/HAB0HA+2Rz2IQ3TGQ3UBD7ZFDIhDdI1l9InwW15f +XcOJ+ei3CPz/iweJ+ccEJCAAAAD/UBiD7ATrzuh/xv//kJCQkJCQkJCQkJCQkJCQ +VYnlV1ZTg+w8i0UIx0QkBAAAAACNTeOJBCToMcX9/4PsCIB94wB1KYtNCLgEAAAA +ixGLTQgDSvQLQRSJBCToPaX//4PsBItFCI1l9FteX13Di0UMx0QkCAAAAACLTQyL +AItA9McEJAAAAACJRCQE6IwH/v+LRQiD7Ay//P//P4tNCI1d5IsAA0j0i1EIiciJ +2YXSD07Xg8BsiQQkiVXQ6Exu//+D7ASJHCTo0ef//4nZiUXM6Bdv//+LRQiLfQiL +AItA9It0B3iLRgg7RgwPgzwCAAAPthiLfcwPtsOLTxgx//YEQSAPhZoAAACNdCYA +i1XQi0YIKfqJVdSLVgwpwjlV1A9OVdSD+gEPjqYAAAABwo1YATnaiVXUdhsPtlAB +9gRRIHURg8MBO13UdAkPthP2BFEgdO+LTQwpw4lcJASJBCToGPf9/4tGCIPsCAHf +Adg7RgyJRggPg7oAAAAPthg5fdAPhrwAAACD+/8PhL0AAACLTcwPtsOLSRj2BEEg +D4Rq////McCLTQiF/4t1CIsRi0r0x0QOCAAAAAAPhCMBAACFwA+Fh/7//4tFCI1l +9FteX13Di0UMiF3UiwCLUPSNWgE7WPh3B4tI/IXJfhaLTQyJHCToRQX+/4tFDIPs +BIsAi1D0D7ZN1IgMEItFDIsAPXwMSQAPhdYAAACLRgiDxwGLVgw50HMwg8ABiUYI +OdAPgkb///+J8ejRKwAAicPpO////4P7/w+FV////5C4AgAAAOlO////ifHotysA +AIP4/3Uzu//////pEf///zH/g/oBdT6JBCTo8Q0AAItFCIt9CIsAA3j0g08UAfZH +EAF0HOjnEwAAi0YIi1YM64+Jw+i4DwAAiRwk6LAT+//oyxMAAIkEJOizDQAAi0UI +i00IiwADSPSDSRQB9kEQAXUc6IkPAACF/w+Fh/3//4t9CDHAixeDyATpZP3//+iN +EwAAx0D8AAAAAIlY9MYEGADpF////4nD6FMPAACJHCToSxP7/+lY////iceJ1onZ +6Mts//+J+InyMf/pQv///4nx6NkqAACD+P+Jww+Ftf3//zH/6Qf////pIv///5CQ +VYnlV1ZTg+wsi0UIx0QkBAAAAACNTeOJBCTosaD+/4PsCIB94wAPhBQBAACLRQi6 +////f4t9CI1d5InZiwADePSJ+It/CIX/D076g8BsiQQk6Gpr//+D7ASJHCToT+X/ +/4nZiUXQ6DVs//+LRQiLTQiLAItA9ItcAXiLQwg7QwwPg2QBAAAPtzCNR/8x/4lF +1Otdi03QD7fWiwGJVCQExwQkIAAAAP9QCIPsCITAD4WEAAAAg0UMAoPHAYtFDItT +CDtTDGaJcP4Pg7MAAAAPtwKDwgKJUwhmg/j/D4SWAAAAi0MIO0MMD4N8AAAAD7cw +O33UfT1mg/7/dZi4AgAAAItNDDHbhf+LdQhmiRmLTQiLEYtK9MdEDggAAAAAD4Sb +AAAAhcB1I4tFCI1l9FteX13DZoP+/3TDMcDrxI10JgCLfQi4BAAAAIsXi00IA0r0 +C0EUiQQk6MWn//+LRQiD7ASNZfRbXl9dw4nZ6PAmAACJxul5////vv/////pb/// +/4nZ6NAmAADpSv///4kEJOiLCwAAi0UIi00IiwADSPSDSRQB9kEQAXV36GENAACF +/w+FcP///4t9CDHAixeDyATrh4P6AXXFiQQk6FALAACLRQiLfQiLAAN49INPFAH2 +RxABdCboRhEAAInZ6G8mAACJxumR/v//iceJ1onZ6J1q//+J+InyMf/ruOggEQAA +icPo+QwAAIkcJOjxEPv/6+boChEAAInD6OMMAACJHCTo2xD7/5CQkJCQkJCQkJCQ +VYnlU4PsJItdCMdEJAQAAAAAjU33iRwk6HOe/v+D7AiAffcAdQqJ2Itd/MnDjXYA +iwOLQPSLTAN4i1EIO1EMcz4PtwKDwgKJUQhmg/j/dBCLVQxmiQKJ2Itd/MnDjXYA +iwOLSPQB2YtBFIPIBokEJOhrpv//idiLXfyD7ATJw+iUJQAA68SD6gGJBCR1G2aQ +6EsKAACLAwNY9INLFAH2QxABdDnoRxAAAOgyCgAAiwOLUPQB2oNKFAH2QhABdSPo +DAwAAOld////icOQjXQmAOj7CwAAiRwk6PMP+//oDhAAAOgJEAAAicPo4gsAAIkc +JOjaD/v/kJCQkJCQkJCQkItEJASLEItK9AHBicqLTCQICUoMw5CQkJCQkJCQkJCQ +i0QkBItMJAiLEItS9IlMEATDkJCQkJCQkJCQkJCQkJBTi0QkCItUJAyLCPfSi1n0 +AcMhUwxbw5CQkJCQkJCQkItEJASLTCQIixCLUvSJTBAIw5CQkJCQkJCQkJCQkJCQ +U4tUJAyLRCQIg/oIdCmD+gq5AgAAAHQLMcmD+hAPlMHB4QOLEIta9AHDi1MMg+K1 +CcqJUwxbw7lAAAAA6+WQkFWJ5VZTg+wQi3UIiwaLWPQB84B7dgB0GA+3RQxmiUN0 +jWX4ifBbXl3DjbQmAAAAAItLfIXJdBmLAccEJCAAAAD/UCjGQ3YBg+wEZolDdOvI +6Ou+//+QkJCQkJCQkJCQkFWJ5VdWU4HsPAEAAIt1CMdEJAQAAAAAjY3n/v//iTQk +6Euc/v+D7AiAvef+//8AdSSLFrgEAAAAi0r0AfELQRSJBCToeKT//4PsBI1l9Inw +W15fXcOLRQzHRCQIAAAAAItNDIsAi0D0xwQkAAAAAIlEJAToGJD9/4sGg+wMjY3o +/v//i3j0AfeLVwiJ+L/+//8fhdIPTteDwGyJBCSJldD+///ouGb//42F6P7//4Ps +BIkEJOiX4P//jY3o/v//iYXM/v//6HZn//+LBotA9ItMBniLQQg7QQwPg8gBAAAP +txgx/2aD+//HhdT+//8AAAAAD4SSAAAAi43M/v//D7fTiwGJVCQExwQkIAAAAP9Q +CIPsCITAdXKLjdT+//+B+YAAAAAPhLYAAACJyIPBAYmN1P7//2aJnEXo/v//iwaD +xwGLQPSLXAZ4i1MIO1MMD4O4AAAAD7cCg8ICiVMIZoP4/3Qhi0MIO0MMD4OpAAAA +D7cYOb3Q/v//dg9mg/v/D4Vz////u/////+LhdT+//+LTQyJRCQEjYXo/v//iQQk +6Kt+/f+LFjHAg+wIZoP7/w+UwAHAhf+LSvTHRA4IAAAAAA+EiQAAAIXAD4Vo/v// +jWX0ifBbXl9dw422AAAAAItNDI2F6P7//8dEJASAAAAAiQQk6Fd+/f+D7AgxwMeF +1P7//wEAAADpKP///4sDidn/UCjpRf///4sDidn/UCSJw+lM////iQQk6JEGAACL +BotI9AHxg0kUAfZBEAF1d+hrCAAAhf8Phf79//+LFjHAg8gE6d/9//8x/4P6AXXH +iQQk6FgGAACLBgNw9INOFAH2RhABdCvoVAwAAInHidONjej+///otWX//4n4idox +/+vIicPoFggAAIkcJOgODPv/6CkMAACLAf9QJInDZpDpLf7//+ukifaNvCcAAAAA +6AsMAADrkonD6OIHAACJHCTo2gv7/5CQkJCQkJCQkJCD6QjpyJr9/5CQkJCQkJCQ +g+kI6fia/f+QkJCQkJCQkIPpCOlYbv7/kJCQkJCQkJCD6QjpuG7+/5CQkJCQkJCQ +g+kI6Th4/v+QkJCQkJCQkIPpCOmYeP7/kJCQkJCQkJCD6QjpmNb+/5CQkJCQkJCQ +g+kI6cjW/v+QkJCQkJCQkIsRA0r06caT+/+QkJCQkJCLEQNK9OlmlPv/kJCQkJCQ +ixEDSvTp9pT7/5CQkJCQkIsRA0r06YaV+/+QkJCQkJCLEQNK9OkGmv3/kJCQkJCQ +ixEDSvTpNpr9/5CQkJCQkIsRA0r06UbD/f+QkJCQkJCLEQNK9Olmw/3/kJCQkJCQ +ixEDSvTp5t/9/5CQkJCQkIsRA0r06Qbg/f+QkJCQkJCLEQNK9OlWbf7/kJCQkJCQ +ixEDSvTptm3+/5CQkJCQkIsRA0r06TZ3/v+QkJCQkJCLEQNK9OmWd/7/kJCQkJCQ +ixEDSvTpJqL+/5CQkJCQkIsRA0r06Uai/v+QkJCQkJCLEQNK9OlGvv7/kJCQkJCQ +ixEDSvTpZr7+/5CQkJCQkIsRA0r06QbJ/v+QkJCQkJCLEQNK9Olmyf7/kJCQkJCQ +ixEDSvTpJtH+/5CQkJCQkIsRA0r06YbR/v+QkJCQkJCLEQNK9OkW1f7/kJCQkJCQ +ixEDSvTpRtX+/5CQkJCQkIsRA0r06Wbc/v+QkJCQkJCLEQNK9Om23P7/kJCQkJCQ +ixEDSvTpJuT+/5CQkJCQkIsRA0r06Xbk/v+QkJCQkJBTicuD7AiLCcdBMAAAAADG +QVQA6Jgx/v+LA4tQQMZASQDGQEoAx0AUAAAAAIlQBIlQCIlQDItQNMdAEAAAAADH +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 +6DvL//+JBCTog67//8dEJARLJ0kAjXW4xwQkoA9JAOgcy///iQQk6GSu///HRCQE +SClJAMcEJKAPSQDoAMv//4kEJOhIrv//x0QkBFApSQDHBCSgD0kA6OTK//+JBCTo +LK7//8dEJASUKUkAxwQkoA9JAOjIyv//iQQk6BCu///HRCQE7ClJAMcEJKAPSQDo +rMr//4kEJOj0rf//x0QkBEsnSQDHBCSgD0kA6JDK//+JBCTo2K3//8dEJARLJ0kA +xwQkoA9JAOh0yv//iQQk6Lyt///HRCQEPCpJAMcEJKAPSQDoWMr//4kEJOigrf// +x0QkBEQqSQDHBCSgD0kA6DzK//+JBCTohK3//8dEJASgKkkAxwQkoA9JAOggyv// +iQQk6Git///HRCQE9CpJAMcEJKAPSQDoBMr//4kEJOhMrf//x0QkBEsnSQDHBCSg +D0kA6OjJ//+JBCToMK3//8dEJARLJ0kAxwQkoA9JAOjMyf//6U7+///ogpf4/2aQ +6Q/8///HBCRFKUkAifnoncP7/4XAUg+EUv7//411uOhcl/j/uwEAAACNdbjpS/f/ +/4nHi0WwjV2siRwkjUj06JzM/f9Qi0W0iRwkifuNSPToi8z9/1CJ8eiTz/f/i0WE +iTQkjUj06HXM/f9WiRwk6Gzu+v+Jx41drOvKicPr14nHi0WIjV20iRwkjUj06E7M +/f9Qi0WMiRwkifuNSPToPcz9/1CJ8ehFz/f/67CJx41dtOvficPr7InD66GJx4tF +kI1dtIkcJI1I9OgRzP3/UItFlIkcJI1I9OgCzP3/U4n7ifHoCM/3/+lw////iceL +RZiNXbSJHCSNSPTo4Mv9/1GLRZyJHCSJ+41I9OjPy/3/Uonx6NfO9//pP////4nH +jV2069yJw+vpiceNXbTroInD662Jx41dtItFpIkcJIn7jUj06JfL/f9QifHon873 +/+kH////icPr8InHi0WgjV20iRwkjUj06HPL/f9Q68mJx4tFqI1dtIkcJI1I9Ohd +y/3/UItFrIkcJIn7jUj06EzL/f9QifHoVM73/+m8/v//iceNXbTr3InD6+mQkJCQ +icKDyP/wD8ECw5CQZpBmkFW5bFBMAInlU4PsJI1d94lcJATHBCQQaEkA6NFw/f+D +7AjHBCTwmUEA6NLM9/+5aFBMAIlcJATHBCQUaEkA6K1w/f+D7AjHBCSQmUEA6K7M +9//HBCTgmEEAxwVgUEwAAAAAAMcFZFBMAAAAAADojsz3/8cFWFBMAAAAAADoPz36 +/8cEJBpoSQCjXFBMAOg+bPv/g+wEx0QkBCdoSQCJBCToM2z7/4PsCMcEJBpoSQCj +VFBMAOgXbPv/g+wEx0QkBDdoSQCJBCToDGz7/4PsCKNQUEwA6Oc8+v+LXfzHBTxQ +TAADAAAAo0BQTADJw5CQkInCg8j/8A/BAsOQkGaQZpBVuYxQTACJ5VOD7CSNXfeJ +XCQExwQkvGhJAOjRb/3/g+wIxwQkUCFCAOjSy/f/uYhQTACJXCQExwQkwGhJAOit +b/3/g+wIxwQk8CBCAOiuy/f/i138ycOQkJCQkJCQkJCDPQBRTAAAdAqDyv/wD8EQ +idDDixCNSv+JCInQw5CQkIPsDOiIPPr/o9hQTADofjz6/6PUUEwA6CQ8+v/HBaBQ +TAAAAAAAo9BQTADoEDz6/6OkUEwAg8QMw5CQkJCQkJCDPQBRTAAAdATw/wDD/wDD +gz0AUUwAAHQKg8j/8A/BQQjrCYtBCI1Q/4lRCIXAfw6D7ByJDCToZeL//4PEHMOQ +i0QkBMdBCAAAAACJAWbHREEMAADCBACQgz0AUUwAAHQE8P8Aw/8Aw4M9AFFMAAB0 +CoPI//APwUEI6wmLQQiNUP+JUQiFwH8Og+wciQwk6A3i//+DxBzDkIsBi0Ao/+CQ +iwGLQCT/4JCLAYtAKP/gkIsBi0Ak/+CQVYsBieUPtlUIiVUIi0A0yf/gkJBViwGJ +5Q+3VQiJVQiLQDTJ/+CQkIPsHKEAUUwAhcB1EMcEJGA8SADoSMr3/4PEHMPHBCR8 +/EgA6OjA+v/r4pCQkJCQkIPsHMcEJAQAAADoEeP//8cA6MhJAMdEJAhw3UMAx0Qk +BICnSQCJBCToo+r//5CQkInCg8j/8A/BAsOQkGaQZpCAPaCwSAAAdQfGBaCwSAAB +gD2osEgAAHUHxgWosEgAAYA9OLFIAAB1B8YFOLFIAAGAPUixSAAAdQfGBUixSAAB +gD0IsUgAAHUHxgUIsUgAAYA92LBIAAB1B8YF2LBIAAGAPeiwSAAAdQfGBeiwSAAB +gD24sEgAAHUHxgW4sEgAAYA9KLFIAAB1B8YFKLFIAAGAPRixSAAAdQfGBRixSAAB +gD34sEgAAHUHxgX4sEgAAYA9yLBIAAB1B8YFyLBIAAHzw5CQkJCQkJCQkJCQkJCQ +gz0AUUwAAHQKg8r/8A/BEInQw4sQjUr/iQiJ0MOQkJCAPZCwSAAAdQfGBZCwSAAB +gD2YsEgAAHUHxgWYsEgAAYA9MLFIAAB1B8YFMLFIAAGAPUCxSAAAdQfGBUCxSAAB +gD0AsUgAAHUHxgUAsUgAAYA90LBIAAB1B8YF0LBIAAGAPeCwSAAAdQfGBeCwSAAB +gD2wsEgAAHUHxgWwsEgAAYA9ILFIAAB1B8YFILFIAAGAPRCxSAAAdQfGBRCxSAAB +gD3wsEgAAHUHxgXwsEgAAYA9wLBIAAB1B8YFwLBIAAHzw5CQkJCQkJCQkJCQkJCQ +iwGLQCT/4JCLAYtAKP/gkIsBi0Ak/+CQiwGLQCj/4JCD7BzHBCTAPEgAxwXIB0kA +SMZJAOj3x/f/xwQk8DxIAMcFxAdJAAjGSQDo4cf3/4PEHMOQkJCQkJCQkJCQkJCQ +V1ZTicOD7BCLcASLAIP+BHcbg8AEiQQk6Atm+/+FwHUF6NJl+/+JAI1QBOsbjUQG +A4kEJOjvZfv/hcB05I1UMAP33iHyiUL8i3MMiwuF9nQGidfzpOsGMcCJ1/Oqg8QQ +idBbXl/DkJBmkGaQZpBmkFWJ5YPsGOh1x/f/xwQkYBZAAOhJx/f/ycOQkJCQkJCQ +/////zA9SACQPUgAsEhIALBJSAAwSkgAUEtIAMBLSACwTEgAoE1IAFBOSAAAAAAA +/////wAAAAD//wESHgVUACYFigEATwUAAIUBBQAA//8BEh4FWwAmBZgBAFYFAACT +AQUAAP//ARIeBV0AJgWTAQBKBQAAjgEFAAD//wESHgVkACYFoQEAUQUAAJwBBQAA +//8BCBsFTABvBQAA//8BCRYFagCAAQUAAP//AY0BFgXAEABrBbkQALsBBfcNAN8B +BfUNAPYBQJgNAPkCBfwMAOMDBZoOAKkEBfgMAM0EBfgLAOQEQKkQAPAFBYIOAJ8G +BcUPAKoGBacOAN4GBegOAJgHBfUOAKMHBdcPAOEHBdsPAKgIBeUPAM8IBcAQAPgI +BYQQAJ8JBfwMALwJBZgNANIJBakQAPMMBQAA//8BjQEWBdAQAGsFyRAAuwEFhw4A +3wEFhQ4A9gFAqA0A+QIFjA0A4wMFqg4AqQQFiA0AzQQFiAwA5ARAuRAA8AUFkg4A +qQYF1Q8AtAYFtw4A6AYF+A4AogcFhQ8ArQcF5w8A6wcF6w8AuAgF9Q8A3wgF0BAA +iAkFlBAArwkFjA0AzAkFqA0A4gkFuRAAgw0FAAD//wHCARwFoxQAQgXPEACiArYB +jxAA7wMFxhMA2gQFwhMAoAUFvBMAxAUFxRQA2wVAyRIA/AYFmxUApAcFuxEArwcF ++hAA4we4AY8QALoJBbgTAOcJBcYTAIAKBY8QAJYKBckSALcKBaMUANgKD48QAIIL +BcoUAKgLBdUUAPELdgAAgw1DmxUA5g0FrA8A8Q0FxxUApQ4FjxAAtg4TmxUA0w4T +jxAAhQ8FyhQAkQ8TAACKEGkAALAUBY8QAMAUBZsVAMIVBQAA//8BCBQFNQBIBQAA +//8BZxgF5AgAbQXiCQCzAQXeCQDVAQWICQDyAUSxCgCXA8MC5gkAiwYF0AsAlgYF +1woAygYFAADdBwXmCQD/BwXFCgCnCAXkCACzCBPmCQDaCAWxCgCDCQUAAPYJBQAA +kAsFAADLCwXmCQAA/wBVAUnzAckCAACaBQXuBgHMBQUAAOwFBZEHAZYGBQAAgQcF +rAcAjAcFAACiBwXABwO2BwUAALsHBawHANsHBeUHAOAHBcAHA+8HBQAAAQAAfQAA +AAAAAP8AUQFF4AGnAQAAnAMF2QYBxgP2AQAAiQYFuwYBygYF9AYA1AYFAADqBgWI +BwP+BgUAAIMHBfQGAKMHBa0HAKgHBYgHA7cHBQAAAQAAfQAAAAAAAP//AQyRAYAB +kQIArQIFAAD/AFkBTyMfAADjAZ0B6wUAngNKAACEBAX9BQGfBAWcBgHZBAXyBgGG +BQUAAPgFBQAAlwYFwAYArwYRzwYDygYFAADkBgXABgCFBxG9BwPlBwXABgABAAB9 +AAAAAP//ASZ+PQAAvgJBsggAkQMFAADoBJICsggAjAcFAADpBwWyCAC/CAUAAP// +AQlYBWkAhQEFAAD//wGbBCkFAADMAQXMLADuAQXROwCLAgWnOwCxAimgOwCLAwWA +OwCcAwX5OgCzAxbFNgCVBCPGLgDpBAWALwD6BAXCLgCRBRb3LQDpBgXtNACLBwW+ +MwCoBwXkMwDEBwX1MwD6ByueNwDlCB31MwCzCSvYNQDLCgXlMgCbCwWdMgC/CwXD +MgDWC0DTNADVDGOsMwDbDQXMKQDmDQXTOwCkDgX1MwDNDgXaOwDYDgWgPACMDwWg +OQC+D0UAALERDZc3AO8RBdg4AI4SBZc3AJUSBQAAxRMF3TgAihQFojEAtBQFgjUA +0xRAqTQA1BUFujEAgBYF8jkAixYFwjoAvxYFAADCFwW+NgDuFwWnKwCHGAWXKQCj +GAXsMgDZGCe5OAC6GTTsMgCVGgXgOQCgGgXlOADUGgygOQCRGyu5NQDdGwWgOQC9 +HAWCNgCRHQXLMQC0HSqCNgDgHQWgOQDIHgXJKgDTHgWjKwCRHwUAAKYfQaA5AIcg +BZUsAK4gBd4rAN0gUqwzAMYhBbUrAOghBaIoAJAiBfEnALgiBbonAOAiBZAnAIIj +BekoAKgjBcooANAjBZsmAOwjBbk1AIokBewyAK8kBawzAMgkBdM0AN4kBak0AO4k +BaA5AP4kBYI2AJQlBZ43ALYlBfUzAM8lBdg1APglBawzAJEmBbk4AIsnBQAA7CcF +AACXKwUAANkrBQAA5iwFAADGMQUAALY6BQAA//8BeiUFAAA8Bf0NAGXKAtcOAJkF +BaIQANUFJeUTALoGBZ0TANMGGOISAKkHBdgRALkHBaANAMMHBfwOAKIIMNgRAP8I +BdcOANEJBYwRAPQJBa8QALcKSdcOAJsLBZcRAP8LBf0NAJoMBYwRALMME9cOAPgN +KQAA9w4F1w4A//8BbRwF+AsAcQWYCwDBAQWcCgDlAQWODAD+ATzrCgCfA0OICQCH +BAWhCwCSBAX0CwDQBAUAAPoE1QGICQD3BgX4CwCZBwWcCwDHB36ICQDcCAXrCgDo +CCCICQCUCQUAAP0JCogJAOYKBQAA7wsFAAD//wH4AisFkisAlQEFlywA5QEFhywA +iQIFhSwAoAJAqCsAsANDmywAmAQFpSwAowQFmS0A4QQFoi0ApAWBApssAMgHBfUs +AO8HBZIrAIIIjAGbLACuCQWQIgDUCQWSIwCFCgWbLACiCgWdJAC0CgXqKACfCwXF +IwDlCwXBJgCHDAWCJgCkDESIJwDNDUOhJAC2DgXQKQDBDgWVKQD1DgWdJADSDwWo +KwDtDwWQIgCOEAXqKAC9EEObLACmEfMCoSQAphQFrCgAvBQFpSgA8hQrsCQA6RW3 +AaEkAK0XBcUmAMMXBZkoAPkXK+QkAPEYrgGhJAC8GgXLKADnGgWsKACJGwXkJgC3 +GwXFJgDQGwWhJADmGwWwJACIHAWhJAChHAXkJADDHAWhJADnHEObLADMHQXkKQDe +HTibLADLHj6hJACTHxObLADFH8gBoSQAniEFiCcA0CIFAADAIwWbLACDJwWhJADf +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 +APYEBQAAnwYppQcA3gYF4wYA3wcFAAD//wE9PR0AAHkFgAQAtwEFAADLASXhBQDd +Ag2ABACLAwzhBQCXBAUAALoEKM4FAPgEBeEFAIsFKN8FAMkFBYAEAP//AVoeBQAA +XAXHBgCJAQXlBgCkAQXgBgC8AQX9BgDOASXzBQDHAgWCBwDPAgWHBwCEAwUAAKoD +BfMFANADKOwGAI4EBZMEALgEBQAArwUpuQYA7gUF8wUA2wYFAAD//wFRKHMAALUB +DO8FAI8CBQAArwIFwgcA1wIfvgcA/wIbwwYA3gMF7wUAiAQQvgcAtgQnoAcAqQUr +jwcA6gUF7wUAjAayAQAA1AcrpwgAlQgFvgcA//8BTycFAABlBYoHAI8BBYMHALAB +BcMEANsBBQAA+wEMwwQAwwIFgwcA5QKFAaIGAIAEKPIGAL4EBcMEAOgEBQAA3gUp +5QYAnQYFogYAngcFAAAAAP8AKQEbPCn8AQFtBcsBA5kBBfwBAfIBBYwCBZQCCgAA +AQAAfX8AAAAAAAAAAAAAAP8AbQFeVE6pCQHDAQXJCAPyATWpCQHHAgX3BwP2AgWp +CQGjAym7BgHUAwWHCQORBAW7BgGyBAXxBgPSBAW1CQOLBULzBQHVBQXZBgOEBgW5 +BwXMBgW7BwWYBwWsBwW0BxMAAAEAAH1/AAAAAAAAAAAAAAAA//8BFBMFAAAsHekB +AKUBBbgBAOQBBQAA//8BDhYFAAAqR8QBAN0BBQAA//8BDykF3AEASwXUAQCGAVYA +AP//AQ4oNQAAbCjVAQDsAQUAAP//AQ43NwAAfWqKAgCAAiYAAAAAAP8AJQEdEQUA +ACoFcwBEBYUBAYABBQAApAEFsgEAvAEFAAABAAAAAAD//wE0tQIFzAYAjwMFuAcA +1AMF0AcA+QQFAADjBQWbCADzBQX1BwCQBgWbCADHBgXMBgDiBgUAAP//ARxGBecB +AJEBBZ4CAKEBBf0BALsBBZ4CAPgBBQAA//8BWGcFnAYAoQEF0AUAsQEFqwUAywEF +0AUAnAIFpAYArAIFogYAxgIFpAYAmgMF1AUA2gMFmAYA6gMF8QUAhAQFmAYA1QQF +0QYA5QQFpgYA/wQF0QYAywUmAAD//wE4H4gBAADEAQW4BQD7AUoAAPICBbgFAKYD +BZAFAOEDGwAAugQFnAYAygQF+AUA5AQFnAYAswUVAAD//wE2pgEF7QUAyAEF0gYA +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 +A+gEOY0MAa4KBeUKAO8KBQAAAQAAfQAAAAAAAP8AeQFtFSQAAEQm4gsBeAPgCgGT +AQWzCgPYAQPVCQGKAgWHCwGdAgO1CwG4AgWMCwPgAgP0CgGSAwXdCwGlAwPZCwHA +AwW3CwPoAwPbCwGaBAXvCwGtBAONDAHIBAXyCwPoBDmNDAGuCgXlCgDvCgUAAAEA +AH0AAAAAAAD/AF0BUi5sAADYAdYCqA0A7ASyA9UNAO0IBagNAKEJgAHVDQC3CgXr +DAHGCwXEDQHbCwUAAIMMGqgNAPMMBfgMAIINBQAAow0FqA0Avw0FAADQDQP4DAAB +AAAAAAAAAAD/AF0BUi5sAADYAdYCqA0A7ASyA9UNAO0IBagNAKEJgAHVDQC3CgXr +DAHGCwXEDQHbCwUAAIMMGqgNAPMMBfgMAIINBQAAow0FqA0Avw0FAADQDQP4DAAB +AAAAAAAAAAD//wEQMmyGAwCtAX7iAgCBAwUAAP8AKQEhqQIpAACJBAX6BQHpBAXm +BQH+BAUAAPIFCIQGAI4GBQAAAQAAAAAA/wApASFM1QIAAMcDBeoEAagEBdUEAcME +BQAA4gQI9AQA/gQFAAABAAAAAAD/ACkBIZECKwAAxwMFugUBpwQFpgUBvAQFAACy +BQjEBQDOBQUAAAEAAAAAAP8AKQEhzQItAACsBAWkBgGMBQWQBgGkBQUAAJwGCK4G +ALgGBQAAAQAAAAAA/wApASGiAikAAN4DBdMFAb4EBb8FAdMEBQAAywUI3QUA5wUF +AAABAAAAAAD/ACUBGzcF7gEBxgEF+wEB2gEFAAD2ARSMAgCWAgUAAAEAAAAAAAAA +/wAlARs3Be4BAcYBBfsBAdoBBQAA9gEUjAIAlgIFAAABAAAAAAAAAP8AJQEbNwW8 +AQGUAQXJAQGoAQUAAMQBFNoBAOQBBQAAAQAAAAAAAAD//wEUEhMAAF8F5BUAeOcU +ghYA/RUFAAD//wEUEhMAAF8FhBYAeIcVohYAnRYFAAD//wEKRmLgAQD3AQUAAP// +AQ8gBQAAZpEBsgIAyQIFAAD//wE8FxgAAKwB+grFEgCzDAUAAKYOBcUSAOUOawAA +5BAFxRIAhREDAACjEQPFEgDdERAAAPcRQ8USAN4SBQAA//8BCzf1ArwDANMDBQAA +//8BCzf1ArwDANMDBQAA//8BCzf1ArwDANMDBQAA//8BMxWWAQAAugXfBPgOAPUL +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 +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAACgQEkAAAAAABMAAAAHAAAAgDtJAABBSQAAAAAA +HgAAAA8AAAAAPEkAgEFJAAEBAAAeAQAADwAAAAIAAAAAQAAApE5IAAAAAAD///// +AAAAAP////8AAAAA/////xgAAABr////aAAAAAEAAAAAAAAAQAAAAMO////APwAA +AQAAAAAAAACgUUwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +4N1DAMAFSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADtdkkAyHZJAAh3SQAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +fndJAIJ3SQCGd0kAi3dJAI93SQCTd0kAl3dJAJt3SQCfd0kAo3dJAKd3SQCrd0kA +k3dJAK93SQAAAAAAAAAAABR3SQAcd0kAJHdJAC53SQA2d0kAPndJAEZ3SQBOd0kA +VndJAF53SQBmd0kAbndJAD53SQB2d0kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAD/////AAAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsaWJnY2Nfc19kdzItMS5k +bGwAX19yZWdpc3Rlcl9mcmFtZV9pbmZvAGxpYmdjai0xMy5kbGwAX0p2X1JlZ2lz +dGVyQ2xhc3NlcwBfX2RlcmVnaXN0ZXJfZnJhbWVfaW5mbwAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAADEuMi4zAHNyYy9WOEZpbGUuY3BwAHJldCAhPSBaX1NU +UkVBTV9FUlJPUgBzdHJtLmF2YWlsX2luID09IDAAcmV0ID09IFpfU1RSRUFNX0VO +RAAAAFJlYWRCbG9ja0RhdGEuIEJsb2NrRGF0YSA9PSBOVUxMLgAlMDh4AFByb2dy +ZXNzICg1MCBwb2ludHMpOiAAfAAuAC8AU2F2ZUZpbGUuIEVycm9yIGluIGNyZWF0 +aW5nIGZpbGUhAAAAU2F2ZUZpbGVUb0ZvbGRlci4gRXJyb3IgaW4gY3JlYXRpbmcg +ZGlyZWN0b3J5IGAAYCAhACoqKioqIEludGVybmFsIFByb2dyYW0gRXJyb3IgLSBh +c3NlcnRpb24gKAApIGZhaWxlZCBpbiAAOgoAKTogAHZlY3Rvcjo6cmVzZXJ2ZQAu +djh1bnBhY2sudG1wAC52OHVucGFjay5pbmYAAFVucGFja1RvRGlyZWN0b3J5Tm9M +b2FkLiBFcnJvciBpbiBjcmVhdGluZyBkaXJlY3RvcnkhAAAAVW5wYWNrVG9Gb2xk +ZXIuIElucHV0IGZpbGUgbm90IGZvdW5kIQAAAFVucGFja1RvRm9sZGVyLiBUaGlz +IGlzIG5vdCBWOCBmaWxlIQBMb2FkRmlsZTogb2sAAABVbnBhY2tUb0ZvbGRlci4g +Tm90IGVub3VnaCBtZW1vcnkhAABVbnBhY2tUb0ZvbGRlci4gRXJyb3IgaW4gcmVh +ZGluZyBmaWxlIQAvRmlsZUhlYWRlcgAAVW5wYWNrVG9Gb2xkZXIuIEVycm9yIGlu +IGNyZWF0aW5nIGZpbGUhAC5oZWFkZXIALmRhdGEAAABVbnBhY2tUb0ZvbGRlci4g +RXJyb3IgaW4gY3JlYXRpbmcgZGlyZWN0b3J5IQBiYXNpY19zdHJpbmc6OmF0AExv +YWRGaWxlRnJvbUZvbGRlcjogb2sAUGFjazogb2sAAABBcmd1bWVudCBlcnJvciAt +IFNldCBvZiBgaW5fZGlybmFtZScgYXJndW1lbnQgCgBBcmd1bWVudCBlcnJvciAt +IFNldCBvZiBgaW5fZGlybmFtZScgYXJndW1lbnQAAABBcmd1bWVudCBlcnJvciAt +IFNldCBvZiBgb3V0X2ZpbGVuYW1lJyBhcmd1bWVudABCdWlsZCBlcnJvci4gRGly +ZWN0b3J5IGAAYCBpcyBlbXB0eS4AQnVpbGQgT0shAGRhdGEAYzpcaG9tZVxkbXBh +c1x3b3Jrc3BhY2VcYm9vc3RfMV81NV8wL2Jvb3N0L2ZpbGVzeXN0ZW0vb3BlcmF0 +aW9ucy5ocHAAAAAAYXR0ZW1wdCB0byBkZXJlZmVyZW5jZSBlbmQgaXRlcmF0b3IA +bV9pbXAuZ2V0KCkAOiAAAGJvb3N0OjpmaWxlc3lzdGVtOjpkaXJlY3RvcnlfZW50 +cnkmIGJvb3N0OjpmaWxlc3lzdGVtOjpkaXJlY3RvcnlfaXRlcmF0b3I6OmRlcmVm +ZXJlbmNlKCkgY29uc3QAAFY4VXBhY2sgVmVyc2lvbiAAMy4wLjM2ACBDb3B5cmln +aHQgKGMpIAAKCTIwMDggRGVuaXMgRGVtaWRvdiAyMDA4LTAzLTMwCgkyMDE0LTIw +MTUgU2VyZ2V5IEJhdGFub3YAAABVbnBhY2ssIHBhY2ssIGRlZmxhdGUgYW5kIGlu +ZmxhdGUgMUMgdjggZmlsZSAoKi5jZikAVjhVTlBBQ0sAAAAAICAtVVtOUEFDS10g +ICAgIGluX2ZpbGVuYW1lLmNmICAgICBvdXRfZGlybmFtZQAAICAtUEFbQ0tdICAg +ICAgIGluX2Rpcm5hbWUgICAgICAgICBvdXRfZmlsZW5hbWUuY2YAACAgLUlbTkZM +QVRFXSAgICBpbl9maWxlbmFtZS5kYXRhICAgb3V0X2ZpbGVuYW1lACAgLURbRUZM +QVRFXSAgICBpbl9maWxlbmFtZSAgICAgICAgZmlsZW5hbWUuZGF0YQAgIC1FW1hB +TVBMRV0AICAtQkFUAAAAACAgLVBbQVJTRV0gICAgICBpbl9maWxlbmFtZSAgICAg +ICAgb3V0X2Rpcm5hbWUAACAgLUJbVUlMRF0gICAgICBpbl9kaXJuYW1lICAgICAg +ICAgb3V0X2ZpbGVuYW1lACAgLVZbRVJTSU9OXQAtdmVyc2lvbgAtdgAtaQAtdW5k +AC11bmRlZmxhdGUALWQALXUALXVucAAtcGEALXAALWIAaWYgJTEgPT0gUCBHT1RP +IFBBQ0sAaWYgJTEgPT0gcCBHT1RPIFBBQ0sAADpVTlBBQ0sAVjhVbnBhY2suZXhl +IC11bnBhY2sgICAgICAlMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUy +LnVucAAAAABWOFVucGFjay5leGUgLXVuZGVmbGF0ZSAgICUyLnVucFxtZXRhZGF0 +YS5kYXRhICAgICAgICAgICAgJTIudW5wXG1ldGFkYXRhLmRhdGEudW5kAABWOFVu +cGFjay5leGUgLXVucGFjayAgICAgICUyLnVucFxtZXRhZGF0YS5kYXRhLnVuZCAg +ICAgICAgJTIudW5wXG1ldGFkYXRhLnVucABHT1RPIEVORAA6UEFDSwAAAABWOFVu +cGFjay5leGUgLXBhY2sgICAgICAgICUyLnVucFxtZXRhZGF0YS51bnAgICAgICAg +ICAgICAlMi51bnBcbWV0YWRhdGFfbmV3LmRhdGEudW5kAAAAVjhVbnBhY2suZXhl +IC1kZWZsYXRlICAgICAlMi51bnBcbWV0YWRhdGFfbmV3LmRhdGEudW5kICAgJTIu +dW5wXG1ldGFkYXRhLmRhdGEAAABWOFVucGFjay5leGUgLXBhY2sgICAgICAgICUy +LnVucCAgICAgICAgICAgICAgICAgICAgICAgICAlMi5uZXcuY2YAOkVORAAtZXhh +bXBsZQAtZQBVTlBBQ0sAAFY4VW5wYWNrLmV4ZSAtdW5wYWNrICAgICAgMUN2OC5j +ZiAgICAgICAgICAgICAgICAgICAgICAgICAxQ3Y4LnVucAAAVjhVbnBhY2suZXhl +IC11bmRlZmxhdGUgICAxQ3Y4LnVucFxtZXRhZGF0YS5kYXRhICAgICAgICAgIDFD +djgudW5wXG1ldGFkYXRhLmRhdGEudW5kAAAAAFY4VW5wYWNrLmV4ZSAtdW5wYWNr +ICAgICAgMUN2OC51bnBcbWV0YWRhdGEuZGF0YS51bmQgICAgICAxQ3Y4LnVucFxt +ZXRhZGF0YS51bnAAUEFDSwAAAABWOFVucGFjay5leGUgLXBhY2sgICAgICAgIDFD +djgudW5wXG1ldGFkYXRhLnVucCAgICAgICAgICAgMUN2OC51bnBcbWV0YWRhdGFf +bmV3LmRhdGEudW5kAAAAAFY4VW5wYWNrLmV4ZSAtZGVmbGF0ZSAgICAgMUN2OC51 +bnBcbWV0YWRhdGFfbmV3LmRhdGEudW5kICAxQ3Y4LnVucFxtZXRhZGF0YS5kYXRh +AAAAAFY4VW5wYWNrLmV4ZSAtcGFjayAgICAgICAgMUN2OC51bmQgICAgICAgICAg +ICAgICAgICAgICAgICAxQ3Y4X25ldy5jZgAtaW5mbGF0ZQAtZGVmbGF0ZQAtdW5w +YWNrAC1wYWNrAC1wYXJzZQAtYnVpbGQALWJhdAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAABg8EAABAAEAAgABACw60AABAAFABAACACw60AABAAGACAAIACw60AA +BAAEABAAEABg80AACAAQACAAIABg80AACAAQAIAAgABg80AACAAgAIAAAAFg80AA +IACAAAIBAARg80AAIAACAQIBABBg80AAAAAAAAAAAAAgZGVmbGF0ZSAxLjIuOCBD +b3B5cmlnaHQgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRs +ZXIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpbmNvcnJlY3QgaGVhZGVy +IGNoZWNrAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAGludmFsaWQgd2luZG93 +IHNpemUAdW5rbm93biBoZWFkZXIgZmxhZ3Mgc2V0AGhlYWRlciBjcmMgbWlzbWF0 +Y2gAaW52YWxpZCBibG9jayB0eXBlAGludmFsaWQgc3RvcmVkIGJsb2NrIGxlbmd0 +aHMAAHRvbyBtYW55IGxlbmd0aCBvciBkaXN0YW5jZSBzeW1ib2xzAGludmFsaWQg +Y29kZSBsZW5ndGhzIHNldABpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0AABpbnZh +bGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2sAaW52YWxpZCBsaXRlcmFs +L2xlbmd0aHMgc2V0AGludmFsaWQgZGlzdGFuY2VzIHNldABpbnZhbGlkIGxpdGVy +YWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAGludmFsaWQgZGlz +dGFuY2UgdG9vIGZhciBiYWNrAGluY29ycmVjdCBkYXRhIGNoZWNrAGluY29ycmVj +dCBsZW5ndGggY2hlY2sAAKg3QQBgM0EAMC9BAAAwQQAwPEEAgDlBAFU6QQDQPEEA +4DxBAMAnQQChKEEA4yhBAO4oQQCiOEEAoC9BABA1QQDgM0EAljRBAKUwQQCAKkEA +iipBAHArQQCWK0EAoClBABIqQQAzNUEAaDVBAMc2QQBwLUEAIDVBAGAtQQAAAAAA +AAAAAAAAAAAAAAAAAAAAABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFA +EAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEY +EQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAA +YAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwAAQBwoAAAhgAAAIIAAACaAA +AAgAAAAIgAAACEAAAAngABAHBgAACFgAAAgYAAAJkAATBzsAAAh4AAAIOAAACdAA +EQcRAAAIaAAACCgAAAmwAAAICAAACIgAAAhIAAAJ8AAQBwQAAAhUAAAIFAAVCOMA +EwcrAAAIdAAACDQAAAnIABEHDQAACGQAAAgkAAAJqAAACAQAAAiEAAAIRAAACegA +EAcIAAAIXAAACBwAAAmYABQHUwAACHwAAAg8AAAJ2AASBxcAAAhsAAAILAAACbgA +AAgMAAAIjAAACEwAAAn4ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcQA +EQcLAAAIYgAACCIAAAmkAAAIAgAACIIAAAhCAAAJ5AAQBwcAAAhaAAAIGgAACZQA +FAdDAAAIegAACDoAAAnUABIHEwAACGoAAAgqAAAJtAAACAoAAAiKAAAISgAACfQA +EAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzAARBw8AAAhmAAAIJgAACawA +AAgGAAAIhgAACEYAAAnsABAHCQAACF4AAAgeAAAJnAAUB2MAAAh+AAAIPgAACdwA +EgcbAAAIbgAACC4AAAm8AAAIDgAACI4AAAhOAAAJ/ABgBwAAAAhRAAAIEQAVCIMA +EgcfAAAIcQAACDEAAAnCABAHCgAACGEAAAghAAAJogAACAEAAAiBAAAIQQAACeIA +EAcGAAAIWQAACBkAAAmSABMHOwAACHkAAAg5AAAJ0gARBxEAAAhpAAAIKQAACbIA +AAgJAAAIiQAACEkAAAnyABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcoA +EQcNAAAIZQAACCUAAAmqAAAIBQAACIUAAAhFAAAJ6gAQBwgAAAhdAAAIHQAACZoA +FAdTAAAIfQAACD0AAAnaABIHFwAACG0AAAgtAAAJugAACA0AAAiNAAAITQAACfoA +EAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxgARBwsAAAhjAAAIIwAACaYA +AAgDAAAIgwAACEMAAAnmABAHBwAACFsAAAgbAAAJlgAUB0MAAAh7AAAIOwAACdYA +EgcTAAAIawAACCsAAAm2AAAICwAACIsAAAhLAAAJ9gAQBwUAAAhXAAAIFwBACAAA +EwczAAAIdwAACDcAAAnOABEHDwAACGcAAAgnAAAJrgAACAcAAAiHAAAIRwAACe4A +EAcJAAAIXwAACB8AAAmeABQHYwAACH8AAAg/AAAJ3gASBxsAAAhvAAAILwAACb4A +AAgPAAAIjwAACE8AAAn+AGAHAAAACFAAAAgQABQIcwASBx8AAAhwAAAIMAAACcEA +EAcKAAAIYAAACCAAAAmhAAAIAAAACIAAAAhAAAAJ4QAQBwYAAAhYAAAIGAAACZEA +Ewc7AAAIeAAACDgAAAnRABEHEQAACGgAAAgoAAAJsQAACAgAAAiIAAAISAAACfEA +EAcEAAAIVAAACBQAFQjjABMHKwAACHQAAAg0AAAJyQARBw0AAAhkAAAIJAAACakA +AAgEAAAIhAAACEQAAAnpABAHCAAACFwAAAgcAAAJmQAUB1MAAAh8AAAIPAAACdkA +EgcXAAAIbAAACCwAAAm5AAAIDAAACIwAAAhMAAAJ+QAQBwMAAAhSAAAIEgAVCKMA +EwcjAAAIcgAACDIAAAnFABEHCwAACGIAAAgiAAAJpQAACAIAAAiCAAAIQgAACeUA +EAcHAAAIWgAACBoAAAmVABQHQwAACHoAAAg6AAAJ1QASBxMAAAhqAAAIKgAACbUA +AAgKAAAIigAACEoAAAn1ABAHBQAACFYAAAgWAEAIAAATBzMAAAh2AAAINgAACc0A +EQcPAAAIZgAACCYAAAmtAAAIBgAACIYAAAhGAAAJ7QAQBwkAAAheAAAIHgAACZ0A +FAdjAAAIfgAACD4AAAndABIHGwAACG4AAAguAAAJvQAACA4AAAiOAAAITgAACf0A +YAcAAAAIUQAACBEAFQiDABIHHwAACHEAAAgxAAAJwwAQBwoAAAhhAAAIIQAACaMA +AAgBAAAIgQAACEEAAAnjABAHBgAACFkAAAgZAAAJkwATBzsAAAh5AAAIOQAACdMA +EQcRAAAIaQAACCkAAAmzAAAICQAACIkAAAhJAAAJ8wAQBwQAAAhVAAAIFQAQCAIB +EwcrAAAIdQAACDUAAAnLABEHDQAACGUAAAglAAAJqwAACAUAAAiFAAAIRQAACesA +EAcIAAAIXQAACB0AAAmbABQHUwAACH0AAAg9AAAJ2wASBxcAAAhtAAAILQAACbsA +AAgNAAAIjQAACE0AAAn7ABAHAwAACFMAAAgTABUIwwATByMAAAhzAAAIMwAACccA +EQcLAAAIYwAACCMAAAmnAAAIAwAACIMAAAhDAAAJ5wAQBwcAAAhbAAAIGwAACZcA +FAdDAAAIewAACDsAAAnXABIHEwAACGsAAAgrAAAJtwAACAsAAAiLAAAISwAACfcA +EAcFAAAIVwAACBcAQAgAABMHMwAACHcAAAg3AAAJzwARBw8AAAhnAAAIJwAACa8A +AAgHAAAIhwAACEcAAAnvABAHCQAACF8AAAgfAAAJnwAUB2MAAAh/AAAIPwAACd8A +EgcbAAAIbwAACC8AAAm/AAAIDwAACI8AAAhPAAAJ/wAQABEAEgAAAAgABwAJAAYA +CgAFAAsABAAMAAMADQACAA4AAQAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAA +QAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAA +ABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAAAAAAAAAAAAAAAAAQAAAAIAAAADAAAA +BAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAA +IAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAAAA +AAAAAAAAAAAAAAAAAAAAAAABAgMEBQYHCAgJCQoKCwsMDAwMDQ0NDQ4ODg4PDw8P +EBAQEBAQEBARERERERERERISEhISEhISExMTExMTExMUFBQUFBQUFBQUFBQUFBQU +FRUVFRUVFRUVFRUVFRUVFRYWFhYWFhYWFhYWFhYWFhYXFxcXFxcXFxcXFxcXFxcX +GBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgZGRkZGRkZGRkZGRkZGRkZ +GRkZGRkZGRkZGRkZGRkZGRoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoa +GxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxwAAQIDBAQFBQYGBgYHBwcH +CAgICAgICAgJCQkJCQkJCQoKCgoKCgoKCgoKCgoKCgoLCwsLCwsLCwsLCwsLCwsL +DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDQ0NDQ0NDQ0NDQ0NDQ0N +DQ0NDQ0NDQ0NDQ0NDQ0NDQ4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4O +Dg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4PDw8PDw8PDw8PDw8PDw8P +Dw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8P +AAAQERISExMUFBQUFRUVFRYWFhYWFhYWFxcXFxcXFxcYGBgYGBgYGBgYGBgYGBgY +GRkZGRkZGRkZGRkZGRkZGRoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoa +GxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxscHBwcHBwcHBwcHBwcHBwc +HBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwc +HR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0d +HR0dHR0dHR0dHR0dHR0dHQAABQAQAAUACAAFABgABQAEAAUAFAAFAAwABQAcAAUA +AgAFABIABQAKAAUAGgAFAAYABQAWAAUADgAFAB4ABQABAAUAEQAFAAkABQAZAAUA +BQAFABUABQANAAUAHQAFAAMABQATAAUACwAFABsABQAHAAUAFwAFAAAAAAAAAAAA +DAAIAIwACABMAAgAzAAIACwACACsAAgAbAAIAOwACAAcAAgAnAAIAFwACADcAAgA +PAAIALwACAB8AAgA/AAIAAIACACCAAgAQgAIAMIACAAiAAgAogAIAGIACADiAAgA +EgAIAJIACABSAAgA0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgA +KgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgA +BgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgA +NgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgA +HgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgA +IQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgA +CQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgA +OQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgA +FQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgA +LQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgA +EwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkA +cwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkA +KwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkA +WwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkA +BwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkA +ZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkA +NwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkA +TwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkA +HwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkA +fwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcA +CAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcA +FAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgA +EBESAAgHCQYKBQsEDAMNAg4BDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AgAAAAMAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAA +BwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAA +DQAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAA +BAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAA +MS4yLjgAbmVlZCBkaWN0aW9uYXJ5AHN0cmVhbSBlbmQAAGZpbGUgZXJyb3IAc3Ry +ZWFtIGVycm9yAGRhdGEgZXJyb3IAaW5zdWZmaWNpZW50IG1lbW9yeQBidWZmZXIg +ZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AAAAAAAAGQkkAFkJJACFCSQAiQkkA +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 +Q9I+SPtuWS3p2/bDUWeRpsywqR90DM56ZrlhlN4FBvFpbnZhbGlkIGRpc3RhbmNl +IHRvbyBmYXIgYmFjawBpbnZhbGlkIGRpc3RhbmNlIGNvZGUAaW52YWxpZCBsaXRl +cmFsL2xlbmd0aCBjb2RlAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABEAEQASABIA +EwATABQAFAAVABUAFgAWABcAFwAYABgAGQAZABoAGgAbABsAHAAcAB0AHQBAAEAA +AQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEM +ARABGAEgATABQAFgAAAAABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIA +EwATABMAEwAUABQAFAAUABUAFQAVABUAEABIAE4AAAADAAQABQAGAAcACAAJAAoA +CwANAA8AEQATABcAGwAfACMAKwAzADsAQwBTAGMAcwCDAKMAwwDjAAIBAAAAAAAA +IGluZmxhdGUgMS4yLjggQ29weXJpZ2h0IDE5OTUtMjAxMyBNYXJrIEFkbGVyIAAA +AAAAAAAAAAAAAAAAAAAAAC5leGUALmNvbQAuYmF0AC5jbWQAXAAqAAAAKgAAAAAA +Ym9vc3Q6OmZpbGVzeXN0ZW06OmNyZWF0ZV9kaXJlY3Rvcnlfc3ltbGluawBib29z +dDo6ZmlsZXN5c3RlbTo6Y29weV9zeW1saW5rAGJvb3N0OjpmaWxlc3lzdGVtOjpy +ZW5hbWUAAABib29zdDo6ZmlsZXN5c3RlbTo6Y29weV9kaXJlY3RvcnkAYm9vc3Q6 +OmZpbGVzeXN0ZW06OmNvcHlfZmlsZQAAYm9vc3Q6OmZpbGVzeXN0ZW06OmNyZWF0 +ZV9oYXJkX2xpbmsAYm9vc3Q6OmZpbGVzeXN0ZW06OmVxdWl2YWxlbnQAAABib29z +dDo6ZmlsZXN5c3RlbTo6Y3VycmVudF9wYXRoAGJvb3N0OjpmaWxlc3lzdGVtOjpz +dGF0dXMAAABib29zdDo6ZmlsZXN5c3RlbTo6dGVtcF9kaXJlY3RvcnlfcGF0aABi +b29zdDo6ZmlsZXN5c3RlbTo6Y29weQAAYm9vc3Q6OmZpbGVzeXN0ZW06OmNyZWF0 +ZV9kaXJlY3RvcnkAYm9vc3Q6OmZpbGVzeXN0ZW06OmNyZWF0ZV9kaXJlY3Rvcmll +cwAAAGJvb3N0OjpmaWxlc3lzdGVtOjpkaXJlY3RvcnlfaXRlcmF0b3I6Om9wZXJh +dG9yKysAAABib29zdDo6ZmlsZXN5c3RlbTo6cmVhZF9zeW1saW5rAGJvb3N0Ojpm +aWxlc3lzdGVtOjpjYW5vbmljYWwAAAAAYm9vc3Q6OmZpbGVzeXN0ZW06OmRpcmVj +dG9yeV9pdGVyYXRvcjo6Y29uc3RydWN0AGJvb3N0OjpmaWxlc3lzdGVtOjpmaWxl +X3NpemUAYm9vc3Q6OmZpbGVzeXN0ZW06OnNwYWNlAGJvb3N0OjpmaWxlc3lzdGVt +Ojppc19lbXB0eQAAYm9vc3Q6OmZpbGVzeXN0ZW06OnJlc2l6ZV9maWxlAGJvb3N0 +OjpmaWxlc3lzdGVtOjpyZW1vdmUAYm9vc3Q6OmZpbGVzeXN0ZW06OnJlbW92ZV9h +bGwAAGJvb3N0OjpmaWxlc3lzdGVtOjpsYXN0X3dyaXRlX3RpbWUAAGJvb3N0Ojpm +aWxlc3lzdGVtOjpwZXJtaXNzaW9ucwAAYm9vc3Q6OmZpbGVzeXN0ZW06OmhhcmRf +bGlua19jb3VudAAAYm9vc3Q6OmZpbGVzeXN0ZW06OnN5c3RlbV9jb21wbGV0ZQAA +LgAAAC4ALgAAAGtlcm5lbDMyLmRsbABDcmVhdGVIYXJkTGlua1cAQ3JlYXRlU3lt +Ym9saWNMaW5rVwA6IAA6ICIAIgAsICIALwBcAAAAYmFzaWNfc3RyaW5nOjplcmFz +ZQAAAGJhc2ljX3N0cmluZzo6X1NfY29uc3RydWN0IG51bGwgbm90IHZhbGlkAGJh +c2ljX3N0cmluZzo6c3Vic3RyAABcAAAALwAAAC4AAAAuAC4AAAA6IAAAAABib29z +dDo6ZmlsZXN5c3RlbTo6cGF0aCBjb2RlY3Z0IHRvIHdzdHJpbmcAAGJvb3N0Ojpm +aWxlc3lzdGVtOjpwYXRoIGNvZGVjdnQgdG8gc3RyaW5nADogAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAGNvZGVjdnQAb2sAcGFydGlhbABlcnJvcgBub2NvbnYA +dW5rbm93biBlcnJvcgAAAAAAAAAAAAAAAAAAAAAAAAAqTjEyX0dMT0JBTF9fTl8x +MTdjb2RlY3Z0X2Vycm9yX2NhdEUAAAAASMVJAIBpSQBEp0kAAAAAAAAAAAAAAAAA +AAAAAKhpSQDAbEIA0GxCAKBsQgDwbEIAcPRDADD0QwAQ9EMAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAGdlbmVyaWMAc3lzdGVtAFVua25vd24gZXJyb3IAYmFz +aWNfc3RyaW5nOjplcmFzZQAAAAAAAAAAAAAAAAAAAAAqTjVib29zdDZzeXN0ZW0x +Ml9HTE9CQUxfX05fMTIyZ2VuZXJpY19lcnJvcl9jYXRlZ29yeUUAAAAAAAAAAAAA +Kk41Ym9vc3Q2c3lzdGVtMTJfR0xPQkFMX19OXzEyMXN5c3RlbV9lcnJvcl9jYXRl +Z29yeUUAAABIxUkAgGpJAESnSQBIxUkAQGpJAESnSQAAAAAAAAAAAAAAAAAAAAAA +AAAAAMRqSQCQbkIAwG5CAEBuQgDgbkIAcPRDADD0QwAQ9EMAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAC4akkAgG5CAKBuQgBQbkIAIIRCAABwQgAw9EMA +EPRDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABiYXNpY19maWxlYnVmOjp1 +bmRlcmZsb3cgY29kZWN2dDo6bWF4X2xlbmd0aCgpIGlzIG5vdCB2YWxpZABiYXNp +Y19maWxlYnVmOjp1bmRlcmZsb3cgaW5jb21wbGV0ZSBjaGFyYWN0ZXIgaW4gZmls +ZQAAAGJhc2ljX2ZpbGVidWY6OnVuZGVyZmxvdyBpbnZhbGlkIGJ5dGUgc2VxdWVu +Y2UgaW4gZmlsZQAAYmFzaWNfZmlsZWJ1Zjo6dW5kZXJmbG93IGVycm9yIHJlYWRp +bmcgdGhlIGZpbGUAYmFzaWNfZmlsZWJ1Zjo6eHNnZXRuIGVycm9yIHJlYWRpbmcg +dGhlIGZpbGUAAAAAYmFzaWNfZmlsZWJ1Zjo6X01fY29udmVydF90b19leHRlcm5h +bCBjb252ZXJzaW9uIGVycm9yAABiYXNpY19pb3M6OmNsZWFyAAAAALC6QwABu0MA +MLtDALC6QwDgukMAQLtDAEC7QwBAu0MAQLtDAPC6QwDnukMAsLpDAOC6QwBiYXNp +Y19zdHJpbmc6OmF0AGJhc2ljX3N0cmluZzo6Y29weQBiYXNpY19zdHJpbmc6OmNv +bXBhcmUAYmFzaWNfc3RyaW5nOjpfU19jcmVhdGUAYmFzaWNfc3RyaW5nOjplcmFz +ZQBiYXNpY19zdHJpbmc6Ol9NX3JlcGxhY2VfYXV4AGJhc2ljX3N0cmluZzo6aW5z +ZXJ0AGJhc2ljX3N0cmluZzo6cmVwbGFjZQBiYXNpY19zdHJpbmc6OmFzc2lnbgBi +YXNpY19zdHJpbmc6OmFwcGVuZABiYXNpY19zdHJpbmc6OnJlc2l6ZQAAAABiYXNp +Y19zdHJpbmc6Ol9TX2NvbnN0cnVjdCBudWxsIG5vdCB2YWxpZABiYXNpY19zdHJp +bmc6OmJhc2ljX3N0cmluZwBiYXNpY19zdHJpbmc6OnN1YnN0cgAAAGJhc2ljX3N0 +cmluZzo6YXQAYmFzaWNfc3RyaW5nOjpjb3B5AGJhc2ljX3N0cmluZzo6Y29tcGFy +ZQBiYXNpY19zdHJpbmc6Ol9TX2NyZWF0ZQBiYXNpY19zdHJpbmc6OmVyYXNlAGJh +c2ljX3N0cmluZzo6X01fcmVwbGFjZV9hdXgAYmFzaWNfc3RyaW5nOjppbnNlcnQA +YmFzaWNfc3RyaW5nOjpyZXBsYWNlAGJhc2ljX3N0cmluZzo6YXNzaWduAGJhc2lj +X3N0cmluZzo6YXBwZW5kAGJhc2ljX3N0cmluZzo6cmVzaXplAAAAAGJhc2ljX3N0 +cmluZzo6X1NfY29uc3RydWN0IG51bGwgbm90IHZhbGlkAGJhc2ljX3N0cmluZzo6 +YmFzaWNfc3RyaW5nAGJhc2ljX3N0cmluZzo6c3Vic3RyAAAAYQBhYgByAGErAHJi +AGErYgB3AHdiAHIrAHIrYgB3KwB3K2IAX19nbnVfY3h4OjpfX2NvbmN1cnJlbmNl +X2xvY2tfZXJyb3IAX19nbnVfY3h4OjpfX2NvbmN1cnJlbmNlX3VubG9ja19lcnJv +cgAAAGxvY2FsZTo6X1Nfbm9ybWFsaXplX2NhdGVnb3J5IGNhdGVnb3J5IG5vdCBm +b3VuZAAAAACAc0cAYHNHAEBzRwB3c0cAcHNHAGdzRwBsb2NhbGU6Ol9JbXBsOjpf +TV9yZXBsYWNlX2ZhY2V0AGlvc19iYXNlOjpfTV9ncm93X3dvcmRzIGlzIG5vdCB2 +YWxpZAAAAABpb3NfYmFzZTo6X01fZ3Jvd193b3JkcyBhbGxvY2F0aW9uIGZhaWxl +ZAAAAEMAUE9TSVgAc3RkOjpmdXR1cmVfZXJyb3IAAABwdXJlIHZpcnR1YWwgbWV0 +aG9kIGNhbGxlZAoAZGVsZXRlZCB2aXJ0dWFsIG1ldGhvZCBjYWxsZWQKAABfX2du +dV9jeHg6Ol9fY29uY3VycmVuY2VfbG9ja19lcnJvcgBfX2dudV9jeHg6Ol9fY29u +Y3VycmVuY2VfdW5sb2NrX2Vycm9yAAAAX19nbnVfY3h4OjpfX2NvbmN1cnJlbmNl +X2xvY2tfZXJyb3IAX19nbnVfY3h4OjpfX2NvbmN1cnJlbmNlX3VubG9ja19lcnJv +cgAAAEMAUE9TSVgAYmFzaWNfc3RyaW5nOjplcmFzZQBymUUAZJhFAECYRQAnmEUA +gJlFAHKSRQBkkUUAQJFFACeRRQCAkkUAJS4qTGYAJW0vJWQvJXkAJUg6JU0AJUg6 +JU06JVMAAACQLkUANS9FABYwRQCwMEUACC5FAAguRQAILkUAMTFFALAxRQAILkUA +CC5FAAguRQAoMkUACC5FAAguRQAILkUACC5FAKAyRQAhM0UAljNFAAguRQAILkUA +CC5FABc0RQAWMEUAhDRFAAguRQAILkUACC5FAAguRQAILkUACC5FAHA2RQAVN0UA +EDhFAHQ4RQDwOEUACC5FAAguRQAVN0UACC5FAAguRQAILkUACC5FAJc5RQDgLUUA +CC5FAAguRQAILkUACC5FAAguRQAjOkUACC5FAAguRQAILkUAIC5FABYwRQCQY0UA +QmNFAOBlRQCYZUUAAGRFALBuRQBibkUAAHFFALhwRQAgb0UAX19nbnVfY3h4Ojpf +X2NvbmN1cnJlbmNlX2xvY2tfZXJyb3IAX19nbnVfY3h4OjpfX2NvbmN1cnJlbmNl +X3VubG9ja19lcnJvcgAqAEMAUE9TSVgAYmFzaWNfc3RyaW5nOjplcmFzZQAhiUUA +AIlFANeIRQDCiEUAMIlFAHGCRQBQgkUAJ4JFABKCRQCAgkUAJS4qTGYAJW0vJWQv +JXkAJUg6JU0AJUg6JU06JVMAAACAF0UAAxdFAIMWRQBHFkUAcRBFAHEQRQBxEEUA +8RdFAMAXRQBxEEUAcRBFAHEQRQAWFkUAcRBFAHEQRQBxEEUAcRBFAOAVRQCwFUUA +dBVFAHEQRQBxEEUAcRBFAGYVRQCDFkUA0BNFAHEQRQBxEEUAcRBFAHEQRQBxEEUA +cRBFAGUTRQCAEkUAcRJFABASRQClEUUAcRBFAHEQRQCAEkUAcRBFAHEQRQBxEEUA +cRBFADARRQAAEUUAcRBFAHEQRQBxEEUAcRBFAHEQRQDQEEUAcRBFAHEQRQBxEEUA +dRBFAIMWRQCQVUUAUlVFAHBXRQAoV0UA9lVFAOBKRQCiSkUAwExFAHhMRQBGS0UA +c3RkOjpleGNlcHRpb24Ac3RkOjpiYWRfZXhjZXB0aW9uAAAAAAAAAAAAAAAAAAAA +QwAAAGxvY2FsZTo6ZmFjZXQ6Ol9TX2NyZWF0ZV9jX2xvY2FsZSBuYW1lIG5vdCB2 +YWxpZABMQ19DVFlQRQBMQ19OVU1FUklDAExDX1RJTUUATENfQ09MTEFURQBMQ19N +T05FVEFSWQBMQ19NRVNTQUdFUwD//39///9//wAAAAD////////vf////////+// +///////////+fwAAAAAAAP///////////v8AAAAAAABDAFBPU0lYAHNwYWNlAHBy +aW50AGNudHJsAHVwcGVyAGxvd2VyAGFscGhhAGRpZ2l0AHB1bmN0AHhkaWdpdABh +bG51bQBncmFwaAAAc3RkOjpiYWRfYWxsb2MAAHN0ZDo6YmFkX2Nhc3QAAABzdGQ6 +OmJhZF90eXBlaWQAZ2VuZXJpYwBzeXN0ZW0AAGZ1dHVyZQBCcm9rZW4gcHJvbWlz +ZQBGdXR1cmUgYWxyZWFkeSByZXRyaWV2ZWQAUHJvbWlzZSBhbHJlYWR5IHNhdGlz +ZmllZABObyBhc3NvY2lhdGVkIHN0YXRlAFVua25vd24gZXJyb3IAAGJhZF9mdW5j +dGlvbl9jYWxsAAAAcmVnZXhfZXJyb3IALSt4WDAxMjM0NTY3ODlhYmNkZWYwMTIz +NDU2Nzg5QUJDREVGAC0reFgwMTIzNDU2Nzg5YWJjZGVmQUJDREVGAC0wMTIzNDU2 +Nzg5AEcATQBUAAAASABTAFQAAABBAEsAUwBUAAAAUABTAFQAAABNAFMAVAAAAEMA +UwBUAAAARQBTAFQAAABBAFMAVAAAAE4AUwBUAAAAQwBFAFQAAABJAFMAVAAAAEUA +RQBUAAAASgBTAFQAAABHTVQASFNUAEFLU1QAUFNUAE1TVABDU1QARVNUAEFTVABO +U1QAQ0VUAElTVABFRVQASlNUAAAAAAAAAHRydWUAZmFsc2UAdAByAHUAZQAAAGYA +YQBsAHMAZQAAAAAAJW0vJWQvJXkAJUg6JU06JVMAAEFNAFBNAFN1bmRheQBNb25k +YXkAVHVlc2RheQBXZWRuZXNkYXkAVGh1cnNkYXkARnJpZGF5AFNhdHVyZGF5AFN1 +bgBNb24AVHVlAFdlZABUaHUARnJpAFNhdABKYW51YXJ5AEZlYnJ1YXJ5AE1hcmNo +AEFwcmlsAE1heQBKdW5lAEp1bHkAQXVndXN0AFNlcHRlbWJlcgBPY3RvYmVyAE5v +dmVtYmVyAERlY2VtYmVyAEphbgBGZWIATWFyAEFwcgBKdW4ASnVsAEF1ZwBTZXAA +T2N0AE5vdgBEZWMAJQBtAC8AJQBkAC8AJQB5AAAAJQBIADoAJQBNADoAJQBTAAAA +AABBAE0AAABQAE0AAABTAHUAbgBkAGEAeQAAAE0AbwBuAGQAYQB5AAAAVAB1AGUA +cwBkAGEAeQAAAFcAZQBkAG4AZQBzAGQAYQB5AAAAVABoAHUAcgBzAGQAYQB5AAAA +RgByAGkAZABhAHkAAABTAGEAdAB1AHIAZABhAHkAAABTAHUAbgAAAE0AbwBuAAAA +VAB1AGUAAABXAGUAZAAAAFQAaAB1AAAARgByAGkAAABTAGEAdAAAAEoAYQBuAHUA +YQByAHkAAABGAGUAYgByAHUAYQByAHkAAABNAGEAcgBjAGgAAABBAHAAcgBpAGwA +AABNAGEAeQAAAEoAdQBuAGUAAABKAHUAbAB5AAAAQQB1AGcAdQBzAHQAAABTAGUA +cAB0AGUAbQBiAGUAcgAAAE8AYwB0AG8AYgBlAHIAAABOAG8AdgBlAG0AYgBlAHIA +AABEAGUAYwBlAG0AYgBlAHIAAABKAGEAbgAAAEYAZQBiAAAATQBhAHIAAABBAHAA +cgAAAEoAdQBuAAAASgB1AGwAAABBAHUAZwAAAFMAZQBwAAAATwBjAHQAAABOAG8A +dgAAAEQAZQBjAAAAdGVybWluYXRlIGNhbGxlZCByZWN1cnNpdmVseQoAAAB0ZXJt +aW5hdGUgY2FsbGVkIGFmdGVyIHRocm93aW5nIGFuIGluc3RhbmNlIG9mICcAJwoA +dGVybWluYXRlIGNhbGxlZCB3aXRob3V0IGFuIGFjdGl2ZSBleGNlcHRpb24KACAg +d2hhdCgpOiAgAAAAAAAAAGOHQgBXh0IAV4dCAFeHQgBXh0IAY4dCAGOHQgBjh0IA +Y4dCACKHQgAih0IAV4dCACKHQgAih0IAIodCACKHQgAih0IAIodCACKHQgAih0IA +IodCACKHQgAih0IAIodCAGOHQgAmh0IAJodCACaHQgAmh0IAJodCACaHQgAmh0IA +JodCAFeHQgAih0IAIodCACKHQgAih0IAIodCAGOHQgAih0IAJodCAFuHQgBXh0IA +Y4dCAFeHQgAmh0IAJodCAFuHQgBjh0IAY4dCACKHQgAih0IAV4dCAFeHQgBXh0IA +V4dCAFeHQgAih0IAV4dCAFeHQgAih0IAV4dCAGOHQgBjh0IAIodCACKHQgAih0IA +Y4dCAGOHQgBjh0IAIodCACKHQgAih0IAV4dCAFeHQgBfR0xPQkFMXwAoYW5vbnlt +b3VzIG5hbWVzcGFjZSkAADWPQgAgj0IAII9CACCPQgAgj0IAQI9CADWPQgAuj0IA +Lo9CACCPQgAgj0IAII9CACCPQgAgj0IAII9CACCPQgAgj0IAII9CACCPQgAgj0IA +II9CACCPQgAgj0IAII9CADWPQgAgj0IAII9CACCPQgAgj0IAII9CACCPQgAgj0IA +II9CACCPQgAgj0IAII9CACCPQgAgj0IAII9CADWPQgAgj0IAII9CACCPQgAgj0IA +II9CACCPQgAgj0IAII9CACCPQgA1j0IALo9CACCPQgAgj0IAII9CACCPQgAgj0IA +II9CACCPQgAgj0IAII9CACCPQgAgj0IAII9CADWPQgAgj0IAII9CACCPQgAgj0IA +NY9CACCPQgA1j0IAII9CACCPQgA1j0IANY9CAHN0cmluZyBsaXRlcmFsAHN0ZAAA +4JJCALCTQgDzkkIAsJNCALCTQgCwk0IAsJNCAKCSQgCwk0IA4JJCALCTQgCwk0IA +sJNCALCTQgB0kkIAYXV0bwAAAACCl0IAgpdCAIKXQgCCl0IAgpdCAIKXQgCCl0IA +gpdCAIKXQgCCl0IAuJZCALiWQgC4lkIAuJZCALiWQgC4lkIAuJZCAJCXQgC4lkIA +4JdCAICYQgC4lkIAEJhCAFCYQgC4lkIAuJZCALiWQgC4lkIAuJZCALCYQgCCl0IA +QZlCAHCZQgC4lkIAoJlCANCZQgAnmkIAYJpCALiWQgC4lkIAuJZCALiWQgCCl0IA +uJZCALiWQgC4lkIAuJZCALiWQgC4lkIAlJpCAJSaQgCUmkIAlJpCAJSaQgCUmkIA +lJpCAJSaQgCUmkIAlJpCALiWQgCUmkIAlJpCAJSaQgCUmkIAuJZCALiWQgC4lkIA +lJpCAJSaQgAwl0IAlJpCAJSaQgCUmkIAlJpCAJSaQgDknEIAuJZCALiWQgC4lkIA +uJZCALiWQgC4lkIAuJZCALiWQgC4lkIAuJZCALiWQgC4lkIAuJZCAH2WQgC4lkIA +uJZCALiWQgC4lkIAuJZCALiWQgC4lkIAuJZCALiWQgC4lkIAuJZCALiWQgDOnEIA +uJZCALiWQgCUnEIAeZtCAEKbQgC4lkIAC5tCAMeaQgC4lkIAuJZCALiWQgC4lkIA +WpxCALiWQgA5nEIAuJZCALiWQgD/m0IAfZZCALiWQgCzm0IAAKFCAPegQgD3oEIA +AKFCAAChQgAAoUIAAKFCAACgQgAAoEIAAKFCAAChQgAAoUIAAKFCAAChQgAAoUIA +AKFCAAChQgAAoUIAAKFCAAChQgAAoUIAAKFCAAChQgAAoUIAAKFCAAChQgAAoUIA +AKFCAAChQgAAoUIAAKFCAAChQgAAoUIAAKFCAAChQgAAoUIAAKFCAAChQgAAoUIA +AKFCAAChQgAAoUIAAKFCAAChQgAAoUIAAKFCAAChQgAAoUIAAKFCAAChQgAAoUIA +AKBCABeiQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIA +hqBCAIagQgCGoEIAhqBCAIagQgCGoEIA8aFCAIagQgA6okIAhqBCANChQgCGoEIA +hqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIA +hqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIA +hqBCAIagQgAKoUIA8KJCAIagQgCGoEIAz6JCAIagQgCuokIAa6RCAEqkQgCGoEIA +hqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCACmkQgACpEIAhqBCANujQgC6o0IA +hqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgBzo0IA +hqBCAIagQgCGoEIAhqBCADyjQgCGoEIAhqBCAIagQgCGoEIAhqBCAIagQgCGoEIA +hqBCAIagQgCGoEIAhqBCAIagQgCGoEIAd6JCAGxpAHN0AGNsAGR0AHB0AHF1AFth +Ymk6ADo6AHtkZWZhdWx0IGFyZyMAJWxkAH06OgBKQXJyYXkAW10AdnRhYmxlIGZv +ciAAVlRUIGZvciAAY29uc3RydWN0aW9uIHZ0YWJsZSBmb3IgAC1pbi0AdHlwZWlu +Zm8gZm9yIAB0eXBlaW5mbyBuYW1lIGZvciAAdHlwZWluZm8gZm4gZm9yIABub24t +dmlydHVhbCB0aHVuayB0byAAdmlydHVhbCB0aHVuayB0byAAY292YXJpYW50IHJl +dHVybiB0aHVuayB0byAAamF2YSBDbGFzcyBmb3IgAGd1YXJkIHZhcmlhYmxlIGZv +ciAAVExTIGluaXQgZnVuY3Rpb24gZm9yIABUTFMgd3JhcHBlciBmdW5jdGlvbiBm +b3IgAHJlZmVyZW5jZSB0ZW1wb3JhcnkgIwAgZm9yIABoaWRkZW4gYWxpYXMgZm9y +IAB0cmFuc2FjdGlvbiBjbG9uZSBmb3IgAG5vbi10cmFuc2FjdGlvbiBjbG9uZSBm +b3IgAF9TYXQgAF9BY2N1bQBfRnJhY3QALCAAb3BlcmF0b3IAb3BlcmF0b3IgAGFk +AGdzAGl4ACA6IABuZXcgAHVsAGxsAHVsbABmYWxzZQB0cnVlAGphdmEgcmVzb3Vy +Y2UgAGRlY2x0eXBlICgALi4uAHRoaXMAe3Bhcm0jAGdsb2JhbCBjb25zdHJ1Y3Rv +cnMga2V5ZWQgdG8gAGdsb2JhbCBkZXN0cnVjdG9ycyBrZXllZCB0byAAe2xhbWJk +YSgAKSMAe3VubmFtZWQgdHlwZSMAIFtjbG9uZSAAPigAAAAA4L1CAHS7QgB0u0IA +A7pCADG/QgDwvkIAeMBCAPC5QgC3uUIAQLlCAMe4QgBQuEIA17dCAGC3QgDntkIA +cLZCAPe1QgCAtUIAB7VCAJC0QgAXtEIAoLNCACezQgCwskIANLJCAPCxQgDwsUIA +8LFCAJGxQgCRsUIAkbFCAJGxQgCRsUIAkbFCAJGxQgBlzEIAZcxCAJGxQgCRsUIA +2MtCAMjMQgBgx0IAM8ZCANfFQgAQxUIA18VCAHLEQgByxEIAZ8tCAOfKQgBwykIA +98lCAGXAQgAgwEIAAMBCAPC/QgDQw0IAwMNCAMDDQgAHw0IAB8NCAJHCQgBwwkIA +QMJCAHDBQgD3wEIAB8lCAJDIQgAXyEIA4MxCAKDHQgCAyUIAaL1CAJC8QgAHvEIA +aL5CAOixQgDosUIAcuBCAGHgQgBQ4EIAP+BCAC7gQgAgcmVzdHJpY3QAIHZvbGF0 +aWxlACBjb25zdAAmJgBjb21wbGV4IABpbWFnaW5hcnkgADo6KgAgX192ZWN0b3Io +AAAAANDoQgDb6EIA2+hCANvoQgDb6EIA2+hCANvoQgDb6EIA2+hCANvoQgDb6EIA +2+hCANvoQgDb6EIA2+hCANvoQgDb6EIA2+hCANvoQgDb6EIA2+hCANvoQgD46EIA +MOpCAGjpQgD46EIAMOpCAGjpQgDg6UIAp+pCAEDrQgCA60IAtetCAMDrQgDQ60IA +R+xCANvoQgDb6EIA2+hCANvoQgDA7EIA2+hCAFLoQgAgKABzdGQ6OmFsbG9jYXRv +cgBhbGxvY2F0b3IAc3RkOjpiYXNpY19zdHJpbmcAYmFzaWNfc3RyaW5nAHN0ZDo6 +c3RyaW5nAABzdGQ6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6OmNoYXJfdHJhaXRz +PGNoYXI+LCBzdGQ6OmFsbG9jYXRvcjxjaGFyPiA+AHN0ZDo6aXN0cmVhbQBzdGQ6 +OmJhc2ljX2lzdHJlYW08Y2hhciwgc3RkOjpjaGFyX3RyYWl0czxjaGFyPiA+AGJh +c2ljX2lzdHJlYW0Ac3RkOjpvc3RyZWFtAAAAAHN0ZDo6YmFzaWNfb3N0cmVhbTxj +aGFyLCBzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+ID4AYmFzaWNfb3N0cmVhbQBzdGQ6 +Omlvc3RyZWFtAAAAc3RkOjpiYXNpY19pb3N0cmVhbTxjaGFyLCBzdGQ6OmNoYXJf +dHJhaXRzPGNoYXI+ID4AYmFzaWNfaW9zdHJlYW0AAAB0AAAAy31JAAMAAADLfUkA +AwAAAAAAAAAAAAAAYQAAACOHSQAOAAAAI4dJAA4AAAAyh0kACQAAAGIAAAA8h0kA +EQAAADyHSQARAAAATodJAAwAAABzAAAAW4dJAAsAAABoh0kARgAAAE6HSQAMAAAA +aQAAAK+HSQAMAAAAvIdJADEAAADuh0kADQAAAG8AAAD8h0kADAAAAAyISQAxAAAA +PohJAA0AAABkAAAATIhJAA0AAABciEkAMgAAAI+ISQAOAAAAYU4AJj0AYVMAPQBh +YQAmAGFuAGF0AGFsaWdub2YgAGF6AGNjAGNvbnN0X2Nhc3QAKCkAY20ALABjbwB+ +AGRWAC89AGRhAGRlbGV0ZVtdIABkYwBkeW5hbWljX2Nhc3QAZGUAKgBkbABkZWxl +dGUgAGRzAC4qAC4AZHYALwBlTwBePQBlbwBeAGVxAD09AGdlAD49AGd0AD4AbFMA +PDw9AGxlADw9AG9wZXJhdG9yIiIgAGxzADw8AGx0ADwAbUkALT0AbUwAKj0AbWkA +LQBtbABtbQAtLQBuYQBuZXdbXQBuZQAhPQBuZwBudAAhAG53AG5ldwBvUgB8PQBv +bwB8fABvcgB8AHBMACs9AHBsACsAcG0ALT4qAHBwACsrAHBzAC0+AD8Ack0AJT0A +clMAPj49AHJjAHJlaW50ZXJwcmV0X2Nhc3QAcm0AJQBycwA+PgBzYwBzdGF0aWNf +Y2FzdABzaXplb2YgAHN6AHRyAHRocm93AHR3AHRocm93IAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAGSJSQBniUkAAgAAAAIAAABqiUkAbYlJAAEAAAACAAAA +b4lJAEuGSQACAAAAAgAAAC6ESQByiUkAAQAAAAEAAAB0iUkAcolJAAEAAAACAAAA +d4lJAHqJSQAIAAAAAQAAAIOJSQB6iUkACAAAAAEAAACGiUkAiYlJAAoAAAACAAAA +coJJAJSJSQACAAAAAgAAAJeJSQCaiUkAAQAAAAIAAACciUkAn4lJAAEAAAABAAAA +oYlJAKSJSQACAAAAAgAAAKeJSQCqiUkACQAAAAEAAAC0iUkAt4lJAAwAAAACAAAA +xIlJAMeJSQABAAAAAQAAAMmJSQDMiUkABwAAAAEAAADUiUkA14lJAAIAAAACAAAA +dYJJANqJSQABAAAAAgAAANyJSQDfiUkAAQAAAAIAAADhiUkA5IlJAAIAAAACAAAA +54lJAOqJSQABAAAAAgAAAOyJSQDviUkAAgAAAAIAAADyiUkA9YlJAAIAAAACAAAA +MYRJAISCSQACAAAAAQAAAPiJSQD7iUkAAQAAAAIAAAA0hEkApIJJAAIAAAACAAAA +/YlJAACKSQADAAAAAgAAAASKSQAHikkAAgAAAAIAAABsgkkACopJAAsAAAABAAAA +FopJABmKSQACAAAAAgAAAByKSQAfikkAAQAAAAIAAAAhikkAJIpJAAIAAAACAAAA +J4pJACqKSQACAAAAAgAAAC2KSQAwikkAAQAAAAIAAAAyikkAx4lJAAEAAAACAAAA +NYpJADiKSQACAAAAAQAAADuKSQA+ikkABQAAAAMAAABEikkAR4pJAAIAAAACAAAA +SopJADCKSQABAAAAAQAAAE2KSQBQikkAAQAAAAEAAABSikkAVYpJAAMAAAADAAAA +WYpJAFyKSQACAAAAAgAAAF+KSQBiikkAAgAAAAIAAABlikkAaIpJAAEAAAACAAAA +aopJAG2KSQACAAAAAgAAAHCKSQBzikkAAQAAAAIAAAB1ikkAeIpJAAMAAAACAAAA +fIpJAH+KSQACAAAAAQAAAIKKSQBzikkAAQAAAAEAAAB4gkkAhYpJAAIAAAACAAAA +e4JJAIiKSQABAAAAAwAAAIqKSQCNikkAAgAAAAIAAACQikkAk4pJAAMAAAACAAAA +l4pJAJqKSQAQAAAAAgAAAKuKSQCuikkAAQAAAAIAAACwikkAs4pJAAIAAAACAAAA +topJALmKSQALAAAAAgAAAG+CSQDFikkABwAAAAEAAADNikkAxYpJAAcAAAABAAAA +0IpJANOKSQAFAAAAAAAAANmKSQDcikkABgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA +c2lnbmVkIGNoYXIAYm9vbABib29sZWFuAGNoYXIAYnl0ZQBkb3VibGUAbG9uZyBk +b3VibGUAZmxvYXQAX19mbG9hdDEyOAB1bnNpZ25lZCBjaGFyAGludAB1bnNpZ25l +ZCBpbnQAdW5zaWduZWQAbG9uZwB1bnNpZ25lZCBsb25nAF9faW50MTI4AHVuc2ln +bmVkIF9faW50MTI4AHNob3J0AHVuc2lnbmVkIHNob3J0AHZvaWQAd2NoYXJfdABs +b25nIGxvbmcAdW5zaWduZWQgbG9uZyBsb25nAGRlY2ltYWwzMgBkZWNpbWFsNjQA +ZGVjaW1hbDEyOABoYWxmAGNoYXIxNl90AGNoYXIzMl90AGRlY2x0eXBlKG51bGxw +dHIpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgjkkACwAAAOCOSQALAAAA +AAAAAOyOSQAEAAAA8Y5JAAcAAAAHAAAA+Y5JAAQAAAD+jkkABAAAAAAAAAADj0kA +BgAAAAOPSQAGAAAACAAAAAqPSQALAAAACo9JAAsAAAAIAAAAFo9JAAUAAAAWj0kA +BQAAAAgAAAAcj0kACgAAAByPSQAKAAAACAAAACePSQANAAAAJ49JAA0AAAAAAAAA +NY9JAAMAAAA1j0kAAwAAAAEAAAA5j0kADAAAAEaPSQAIAAAAAgAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAT49JAAQAAABPj0kABAAAAAMAAABUj0kADQAAAFSPSQANAAAA +BAAAAGKPSQAIAAAAYo9JAAgAAAAAAAAAa49JABEAAABrj0kAEQAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAB9j0kABQAAAH2PSQAFAAAAAAAAAIOPSQAOAAAAg49JAA4AAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAACSj0kABAAAAJKPSQAEAAAACQAAAJePSQAHAAAA ++Y5JAAQAAAAAAAAAn49JAAkAAABPj0kABAAAAAUAAACpj0kAEgAAAKmPSQASAAAA +BgAAAG+ESQADAAAAb4RJAAMAAAAAAAAAvI9JAAkAAAC8j0kACQAAAAAAAADGj0kA +CQAAAMaPSQAJAAAAAAAAANCPSQAKAAAA0I9JAAoAAAAAAAAA249JAAQAAADbj0kA +BAAAAAgAAADgj0kACAAAAOCPSQAIAAAAAAAAAOmPSQAIAAAA6Y9JAAgAAAAAAAAA +8o9JABEAAADyj0kAEQAAAAAAAAAAAAAAAAAAAAAAAADgAUMATWluZ3cgcnVudGlt +ZSBmYWlsdXJlOgoAICBWaXJ0dWFsUXVlcnkgZmFpbGVkIGZvciAlZCBieXRlcyBh +dCBhZGRyZXNzICVwAAAAACAgVW5rbm93biBwc2V1ZG8gcmVsb2NhdGlvbiBwcm90 +b2NvbCB2ZXJzaW9uICVkLgoAAAAgIFVua25vd24gcHNldWRvIHJlbG9jYXRpb24g +Yml0IHNpemUgJWQuCgAAANgSQwDfEkMARhNDAGQTQwCCE0MAnxNDANwTQwAJFEMA +NxRDAGcUQwC7FEMA7RRDABUVQwB1FUMArxVDANoVQwAQFkMAXxZDAKIWQwDyFkMA +FBdDAGcXQwCvF0MA0xJDANMSQwDTEkMA0xJDANMSQwDTEkMA0xJDANMSQwDTEkMA +0xJDANMSQwDTEkMA0xJDANMSQwDTEkMA0xJDANMSQwDTEkMA0xJDANMSQwDTEkMA +0xJDANgSQwBUGEMA/xdDAIIYQwDlGEMAxBhDAIIYQwCwGEMA0xJDANMSQwDTEkMA +0xJDAM0YQwDcGEMAghhDALAYQwAQHUMAjR9DAIEfQwAQHUMAAB5DAAYdQwAGHUMA +Bh1DAAYdQwBdH0MAdR9DABAdQwAAHkMAHR5DACohQwAdIUMAHR5DAPkgQwAGHUMA +Bh1DAAYdQwAGHUMABSFDAGYhQwAdHkMA+SBDAHAiQwDgIkMA4CJDADAjQwDgIkMA +ICNDABAjQwAAI0MA8CJDAHAiQwBwIkMAoCJDAKAiQwBGJUMAMCVDABglQwAGJUMA +8CRDAMYkQwCgJEMAMCZDAOAiQwAwI0MABSZDAAUmQwAFJkMABSZDAAUmQwAwI0MA +MCNDAAUmQwAFJkMAMCNDAAUmQwAFJkMABSZDAAUmQwDgJUMABSZDAAUmQwAFJkMA +BSZDAAUmQwAFJkMA0CVDAJAkQwCQJEMAkCRDAJAkQwCQJEMAkCRDAJAkQwCQJEMA +kCRDAJAkQwCQJEMAkCRDAJAkQwCQJEMAkCRDAJAkQwCQJEMAkCRDAJAkQwCQJEMA +kCRDAJAkQwCQJEMAkCRDAJAkQwCQJEMAkCRDAJAkQwCQJEMAkCRDAJAkQwCQJEMA +sCJDALAiQwCwIkMAsCJDALAiQwCwIkMAsCJDALAiQwCwIkMAsCJDALAiQwCwIkMA +sCJDALAiQwCwIkMAsCJDALAiQwCwIkMAsCJDALAiQwCwIkMAsCJDALAiQwCwIkMA +sCJDALAiQwCwIkMAsCJDALAiQwCwIkMAsCJDALAiQwBAJEMAQCRDAEAkQwBAJEMA +QCRDAEAkQwBAJEMAQCRDAEAkQwBAJEMAQCRDAEAkQwBAJEMAQCRDAEAkQwBAJEMA +QCRDAEAkQwBAJEMAQCRDAEAkQwBAJEMAQCRDAEAkQwBAJEMAQCRDAEAkQwBAJEMA +QCRDAEAkQwBAJEMAQCRDAOQjQwDgIkMAcCVDAOAiQwAwI0MA4CJDAOUiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA4CJDAOAiQwDgIkMA +4CJDAOAiQwDgIkMA4CJDAOAiQwBwI0MAgCZDAIYoQwB6KEMAgCZDANEmQwDgIkMA +4CJDAOAiQwDgIkMAWChDAG4oQwCAJkMA0SZDANQnQwDfJ0MA6ydDAPYnQwB2J0MA +4CJDAOAiQwCCJ0MAjSdDAOAiQwCXJ0MAoidDAK0nQwC4J0MA4CJDAMMnQwADKEMA +FChDACUoQwA2KEMARyhDAAIqQwAQK0MA4CpDAEAqQwDlKUMAmCpDAKA9QwDxPUMA +ID5DAKA9QwDQPUMAMD5DADA+QwAwPkMAMD5DAOA9QwDXPUMAoD1DANA9QwAuAGds +b2ItMS4wLW1pbmd3MzIAAHhhQwBWYUMAUGFDADBhQwBxYUMAVmFDAHBiQwDGYUMA +mGJDABBiQwBAYkMAxmFDAHBiQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +YWxudW0AYWxwaGEAY250cmwAZGlnaXQAZ3JhcGgAbG93ZXIAcHJpbnQAcHVuY3QA +c3BhY2UAdXBwZXIAeGRpZ2l0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +wJlJAAcBAADGmUkAAwEAAMyZSQAgAAAA0plJAAQAAADYmUkAFwEAAN6ZSQACAAAA +5JlJAFcBAADqmUkAEAAAAPCZSQAIAAAA9plJAAEAAAD8mUkAgAAAAAAAAAAAAAAA +AAAuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABuZgBpbml0eQBhbgBAekMA +kHtDAJB7QwCQe0MAkHtDAJB7QwCQe0MAkHtDAJB7QwB1e0MAdXtDAHV7QwB1e0MA +dXtDAJB7QwCQe0MAkHtDAJB7QwCQe0MAkHtDAJB7QwCQe0MAkHtDAJB7QwCQe0MA +kHtDAJB7QwCQe0MAkHtDAJB7QwCQe0MAkHtDAHV7QwCQe0MAkHtDAJB7QwCQe0MA +kHtDAJB7QwCQe0MAkHtDAJB7QwCQe0MA0HpDAJB7QwBoe0MAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAADAAAABQAAAAcAAAAKAAAADAAAAA4AAAARAAAA +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 +0OlGAIz///+M////rKlJAJArSACAK0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +SMVJAOStSQBYrEkA6MRJAPytSQDoxEkAIK5JAEjFSQBArkkA3K1JAOjESQCArkkA +SMVJAMCuSQCcpkkASMVJAACvSQCcpkkASMVJAECvSQBoqkkASMVJAICvSQBoqkkA +SMVJAMCvSQBoqkkASMVJAACwSQDYqUkASMVJAECwSQAgqkkASMVJAICwSQA4p0kA +6MRJAMCwSQDoxEkAALFJAEjFSQBAsUkAGKdJAEjFSQCgsUkAGKdJAEjFSQAAskkA +zKlJAEjFSQAgskkAEKdJAEjFSQBAskkAZKlJAEjFSQCAskkAcKlJAEjFSQDAskkA +fKpJAEjFSQAAs0kAhKpJAEjFSQBAs0kAnK1JAEjFSQCAs0kAnK1JAEjFSQDAs0kA +nK1JAOjESQAAtEkASMVJABS0SQCcrUkAAAAAAAAAAACIxUkALLRJAAIAAAACAAAA +4KdJAAIAAAD4p0kAAggAAIjFSQAwtEkAAAAAAAEAAACErUkAA/T//4jFSQA0tEkA +AAAAAAEAAACErUkAA/T//0jFSQA4tEkAnK1JAOjESQBItEkA6MRJAFi0SQAAAAAA +AAAAAAAAAAAAAAAAAAAAAIjFSQBotEkAAAAAAAIAAACkp0kAAgAAACSoSQACAAAA +iMVJAIC0SQAAAAAAAgAAAKSnSQACAAAAJKhJAAIAAACIxUkAmLRJAAAAAAACAAAA +pKdJAAIAAAAkqEkAAgAAAIjFSQCwtEkAAAAAAAIAAACkp0kAAgAAACSoSQACAAAA +SMVJAMi0SQCkp0kASMVJANy0SQCkp0kASMVJAPC0SQCcrUkASMVJAAC1SQDMqUkA +SMVJABC1SQDMqUkA6MRJACC1SQBIxUkANLVJACCsSQBIxUkASLVJAECsSQBIxUkA +XLVJANioSQBIxUkAcLVJANioSQBIxUkAhLVJANioSQBIxUkAmLVJANioSQBIxUkA +rLVJAMypSQBIxUkAwLVJAJytSQBIxUkA4LVJAHyqSQBIxUkAILZJAISqSQBIxUkA +YLZJAMCnSQBIxUkAoLZJAACqSQCIxUkA4LZJAAAAAAABAAAAkK1JAAP0//+IxUkA +ILdJAAAAAAABAAAAkK1JAAP0///oxEkAYLdJAEjFSQB0t0kAnK1JAEjFSQCgt0kA +4KdJAEjFSQDgt0kAlKlJAAAAAAAAAAAAAAAAAAAAAACIxUkAILhJAAIAAAACAAAA +lKlJAAIAAACsqUkAAggAAEjFSQBguEkA+KdJAEjFSQCguEkArKlJAEjFSQDguEkA +TKxJAEjFSQD4uEkAWKxJAEjFSQAQuUkAZKxJAEjFSQAouUkAcKxJAOjESQBAuUkA +SMVJAFS5SQDMqUkA6MRJAIC5SQDoxEkAwLlJAEjFSQAAukkAwKxJAEjFSQAYukkA +4KxJAEjFSQAwukkAAK1JAEjFSQBIukkADK1JAEjFSQBgukkAIK1JAEjFSQDAukkA +QK1JAEjFSQAgu0kAYK1JAEjFSQCAu0kAbK1JAEjFSQDgu0kAzKlJAEjFSQD0u0kA +pKdJAEjFSQAMvEkApKdJAEjFSQAkvEkA2KhJAEjFSQA8vEkApKdJAEjFSQBYvEkA +pKdJAEjFSQB0vEkAnK1JAEjFSQCMvEkAQKhJAEjFSQCsvEkAYKhJAEjFSQDMvEkA +gKhJAEjFSQDsvEkAoKhJAEjFSQAMvUkApKdJAEjFSQAsvUkApKdJAEjFSQBMvUkA +pKdJAEjFSQBsvUkApKdJAIjFSQCMvUkAAAAAAAIAAACkp0kAAgAAAByoSQACAAAA +iMVJAKy9SQAAAAAAAgAAAKSnSQACAAAAHKhJAAIAAACIxUkA4L1JAAAAAAACAAAA +pKdJAAIAAAD8qEkAAgAAAIjFSQAgvkkAAAAAAAIAAACkp0kAAgAAAPyoSQACAAAA +iMVJAGC+SQAAAAAAAgAAAKSnSQACAAAAHKhJAAIAAABIxUkAbL5JAMCrSQBIxUkA +eL5JAOCrSQBIxUkAiL5JAACsSQBIxUkAmL5JAKSnSQBIxUkAqL5JAKSnSQBIxUkA +wL5JAKSnSQBIxUkAAL9JAKSnSQBIxUkAQL9JAKSnSQBIxUkAgL9JAKSnSQBIxUkA +wL9JAJytSQDoxEkAzL9JAIjFSQDYv0kAAAAAAAIAAACkp0kAAgAAAMSpSQACAAAA +iMVJAOi/SQAAAAAAAgAAAKSnSQACAAAAxKlJAAIAAABIxUkA+L9JAKSnSQBIxUkA +CMBJAKSnSQAAAAAAAAAAAIjFSQAgwEkAAAAAAAIAAACkp0kAAgAAANStSQACAAAA +iMVJAGDASQAAAAAAAgAAAKSnSQACAAAA1K1JAAIAAABIxUkAoMBJAKSnSQBIxUkA +4MBJAKSnSQBIxUkAIMFJAJytSQBIxUkAQMFJALisSQBIxUkAgMFJALisSQDoxEkA +wMFJAEjFSQDgwUkApKdJAEjFSQAgwkkApKdJAEjFSQBgwkkApKdJAEjFSQCgwkkA +pKdJAOjESQDgwkkA6MRJAPDCSQAyMHdpbmRvd3NfZmlsZV9jb2RlY3Z0AAA3Q1Y4 +RmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOMTBfX2N4eGFiaXYxMTVf +X2ZvcmNlZF91bndpbmRFAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZv +RQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOMTBfX2N4eGFiaXYxMTlf +X2ZvcmVpZ25fZXhjZXB0aW9uRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +TjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVf +aW5mb0UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqTjEyX0dMT0JBTF9fTl8x +MjFmdXR1cmVfZXJyb3JfY2F0ZWdvcnlFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +Kk4xMl9HTE9CQUxfX05fMTIxc3lzdGVtX2Vycm9yX2NhdGVnb3J5RQAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAACpOMTJfR0xPQkFMX19OXzEyMmdlbmVyaWNfZXJyb3Jf +Y2F0ZWdvcnlFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABONWJvb3N0MTBmaWxlc3lz +dGVtMTRiYXNpY19pZnN0cmVhbUljU3QxMWNoYXJfdHJhaXRzSWNFRUUAAAAAAAAA +TjVib29zdDEwZmlsZXN5c3RlbTE0YmFzaWNfb2ZzdHJlYW1JY1N0MTFjaGFyX3Ry +YWl0c0ljRUVFAAAAAAAAAE41Ym9vc3QxMGZpbGVzeXN0ZW0xNmZpbGVzeXN0ZW1f +ZXJyb3JFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABONWJvb3N0MTJub25jb3B5 +YWJsZV8xMW5vbmNvcHlhYmxlRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +TjVib29zdDZkZXRhaWwxNXNwX2NvdW50ZWRfYmFzZUUAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAE41Ym9vc3Q2ZGV0YWlsMTdzcF9jb3VudGVkX2ltcGxf +cElOU18xMGZpbGVzeXN0ZW0xNmZpbGVzeXN0ZW1fZXJyb3I1bV9pbXBFRUUAAAAA +AAAAAAAAAAAAAAAAAAAAAE41Ym9vc3Q2ZGV0YWlsMTdzcF9jb3VudGVkX2ltcGxf +cElOU18xMGZpbGVzeXN0ZW02ZGV0YWlsMTFkaXJfaXRyX2ltcEVFRQAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAE41Ym9vc3Q2c3lzdGVtMTJzeXN0ZW1fZXJyb3JFAAAA +TjVib29zdDZzeXN0ZW0xNGVycm9yX2NhdGVnb3J5RQBOOV9fZ251X2N4eDEzc3Rk +aW9fZmlsZWJ1ZkljU3QxMWNoYXJfdHJhaXRzSWNFRUUAAAAAAAAAAAAAAAAAAAAA +TjlfX2dudV9jeHgxM3N0ZGlvX2ZpbGVidWZJd1N0MTFjaGFyX3RyYWl0c0l3RUVF +AAAAAAAAAAAAAAAAAAAAAE45X19nbnVfY3h4MThzdGRpb19zeW5jX2ZpbGVidWZJ +Y1N0MTFjaGFyX3RyYWl0c0ljRUVFAAAAAAAAAAAAAABOOV9fZ251X2N4eDE4c3Rk +aW9fc3luY19maWxlYnVmSXdTdDExY2hhcl90cmFpdHNJd0VFRQAAAAAAAAAAAAAA +TjlfX2dudV9jeHgyMHJlY3Vyc2l2ZV9pbml0X2Vycm9yRQAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAE45X19nbnVfY3h4MjRfX2NvbmN1cnJlbmNlX2xvY2tf +ZXJyb3JFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOOV9fZ251X2N4eDI2X19j +b25jdXJyZW5jZV91bmxvY2tfZXJyb3JFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +TlN0NmxvY2FsZTVmYWNldEUAAABOU3Q4aW9zX2Jhc2U3ZmFpbHVyZUUAAABTZAAA +U2kAAFNvAABTdDEwYmFkX3R5cGVpZAAAU3QxMGN0eXBlX2Jhc2UAAFN0MTBtb25l +eV9iYXNlAABTdDEwbW9uZXlwdW5jdEljTGIwRUUAAABTdDEwbW9uZXlwdW5jdElj +TGIxRUUAAABTdDEwbW9uZXlwdW5jdEl3TGIwRUUAAABTdDEwbW9uZXlwdW5jdEl3 +TGIxRUUAAABTdDExX190aW1lcHVuY3RJY0UAAFN0MTFfX3RpbWVwdW5jdEl3RQAA +U3QxMWxvZ2ljX2Vycm9yAFN0MTFyYW5nZV9lcnJvcgBTdDExcmVnZXhfZXJyb3IA +U3QxMmNvZGVjdnRfYmFzZQAAAABTdDEyY3R5cGVfYnluYW1lSWNFAFN0MTJjdHlw +ZV9ieW5hbWVJd0UAU3QxMmRvbWFpbl9lcnJvcgAAAABTdDEyZnV0dXJlX2Vycm9y +AAAAAFN0MTJsZW5ndGhfZXJyb3IAAAAAU3QxMm91dF9vZl9yYW5nZQAAAABTdDEy +c3lzdGVtX2Vycm9yAAAAAFN0MTNiYWRfZXhjZXB0aW9uAAAAAAAAAAAAAAAAAAAA +U3QxM2Jhc2ljX2ZpbGVidWZJY1N0MTFjaGFyX3RyYWl0c0ljRUUAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAFN0MTNiYXNpY19maWxlYnVmSXdTdDExY2hhcl90cmFp +dHNJd0VFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTdDEzYmFzaWNfZnN0cmVh +bUljU3QxMWNoYXJfdHJhaXRzSWNFRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxM2Jhc2ljX2ZzdHJlYW1Jd1N0MTFjaGFyX3RyYWl0c0l3RUUAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAFN0MTNiYXNpY19pc3RyZWFtSXdTdDExY2hhcl90cmFp +dHNJd0VFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTdDEzYmFzaWNfb3N0cmVh +bUl3U3QxMWNoYXJfdHJhaXRzSXdFRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxM21lc3NhZ2VzX2Jhc2UAAABTdDEzcnVudGltZV9lcnJvcgAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAFN0MTRiYXNpY19pZnN0cmVhbUljU3QxMWNoYXJfdHJh +aXRzSWNFRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTdDE0YmFzaWNfaWZzdHJl +YW1Jd1N0MTFjaGFyX3RyYWl0c0l3RUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxNGJhc2ljX2lvc3RyZWFtSXdTdDExY2hhcl90cmFpdHNJd0VFAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAFN0MTRiYXNpY19vZnN0cmVhbUljU3QxMWNoYXJfdHJh +aXRzSWNFRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTdDE0YmFzaWNfb2ZzdHJl +YW1Jd1N0MTFjaGFyX3RyYWl0c0l3RUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxNGNvZGVjdnRfYnluYW1lSWNjaUUAU3QxNGNvZGVjdnRfYnluYW1lSXdjaUUA +U3QxNGNvbGxhdGVfYnluYW1lSWNFAAAAU3QxNGNvbGxhdGVfYnluYW1lSXdFAAAA +U3QxNGVycm9yX2NhdGVnb3J5AABTdDE0b3ZlcmZsb3dfZXJyb3IAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAFN0MTViYXNpY19zdHJlYW1idWZJY1N0MTFjaGFyX3Ry +YWl0c0ljRUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTdDE1YmFzaWNfc3RyZWFt +YnVmSXdTdDExY2hhcl90cmFpdHNJd0VFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxNW1lc3NhZ2VzX2J5bmFtZUljRQAAU3QxNW1lc3NhZ2VzX2J5bmFtZUl3RQAA +U3QxNW51bXB1bmN0X2J5bmFtZUljRQAAU3QxNW51bXB1bmN0X2J5bmFtZUl3RQAA +U3QxNXRpbWVfZ2V0X2J5bmFtZUljU3QxOWlzdHJlYW1idWZfaXRlcmF0b3JJY1N0 +MTFjaGFyX3RyYWl0c0ljRUVFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxNXRpbWVfZ2V0X2J5bmFtZUl3U3QxOWlzdHJlYW1idWZfaXRlcmF0b3JJd1N0 +MTFjaGFyX3RyYWl0c0l3RUVFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxNXRpbWVfcHV0X2J5bmFtZUljU3QxOW9zdHJlYW1idWZfaXRlcmF0b3JJY1N0 +MTFjaGFyX3RyYWl0c0ljRUVFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxNXRpbWVfcHV0X2J5bmFtZUl3U3QxOW9zdHJlYW1idWZfaXRlcmF0b3JJd1N0 +MTFjaGFyX3RyYWl0c0l3RUVFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QxNXVuZGVyZmxvd19lcnJvcgBTdDE2X19udW1wdW5jdF9jYWNoZUljRQBTdDE2 +X19udW1wdW5jdF9jYWNoZUl3RQBTdDE2aW52YWxpZF9hcmd1bWVudAAAAABTdDE3 +X190aW1lcHVuY3RfY2FjaGVJY0UAAAAAU3QxN19fdGltZXB1bmN0X2NhY2hlSXdF +AAAAAFN0MTdiYWRfZnVuY3Rpb25fY2FsbAAAAFN0MTdtb25leXB1bmN0X2J5bmFt +ZUljTGIwRUUAAAAAU3QxN21vbmV5cHVuY3RfYnluYW1lSWNMYjFFRQAAAABTdDE3 +bW9uZXlwdW5jdF9ieW5hbWVJd0xiMEVFAAAAAFN0MTdtb25leXB1bmN0X2J5bmFt +ZUl3TGIxRUUAAAAAU3QxOF9fbW9uZXlwdW5jdF9jYWNoZUljTGIwRUUAAABTdDE4 +X19tb25leXB1bmN0X2NhY2hlSWNMYjFFRQAAAFN0MThfX21vbmV5cHVuY3RfY2Fj +aGVJd0xiMEVFAAAAU3QxOF9fbW9uZXlwdW5jdF9jYWNoZUl3TGIxRUUAAABTdDIx +X19jdHlwZV9hYnN0cmFjdF9iYXNlSWNFAAAAAFN0MjFfX2N0eXBlX2Fic3RyYWN0 +X2Jhc2VJd0UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTdDIzX19jb2RlY3Z0X2Fi +c3RyYWN0X2Jhc2VJY2NpRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3QyM19fY29kZWN2dF9hYnN0cmFjdF9iYXNlSXdjaUUAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAFN0NWN0eXBlSWNFAFN0NWN0eXBlSXdFAFN0N2NvZGVj +dnRJY2NpRQBTdDdjb2RlY3Z0SXdjaUUAU3Q3Y29sbGF0ZUljRQAAAFN0N2NvbGxh +dGVJd0UAAAAAAAAAAAAAAFN0N251bV9nZXRJY1N0MTlpc3RyZWFtYnVmX2l0ZXJh +dG9ySWNTdDExY2hhcl90cmFpdHNJY0VFRQAAAAAAAABTdDdudW1fZ2V0SXdTdDE5 +aXN0cmVhbWJ1Zl9pdGVyYXRvckl3U3QxMWNoYXJfdHJhaXRzSXdFRUUAAAAAAAAA +U3Q3bnVtX3B1dEljU3QxOW9zdHJlYW1idWZfaXRlcmF0b3JJY1N0MTFjaGFyX3Ry +YWl0c0ljRUVFAAAAAAAAAFN0N251bV9wdXRJd1N0MTlvc3RyZWFtYnVmX2l0ZXJh +dG9ySXdTdDExY2hhcl90cmFpdHNJd0VFRQAAAAAAAABTdDhiYWRfY2FzdABTdDhp +b3NfYmFzZQBTdDhtZXNzYWdlc0ljRQAAU3Q4bWVzc2FnZXNJd0UAAFN0OG51bXB1 +bmN0SWNFAABTdDhudW1wdW5jdEl3RQAAAAAAAAAAAABTdDh0aW1lX2dldEljU3Qx +OWlzdHJlYW1idWZfaXRlcmF0b3JJY1N0MTFjaGFyX3RyYWl0c0ljRUVFAAAAAAAA +U3Q4dGltZV9nZXRJd1N0MTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdTdDExY2hhcl90 +cmFpdHNJd0VFRQAAAAAAAFN0OHRpbWVfcHV0SWNTdDE5b3N0cmVhbWJ1Zl9pdGVy +YXRvckljU3QxMWNoYXJfdHJhaXRzSWNFRUUAAAAAAABTdDh0aW1lX3B1dEl3U3Qx +OW9zdHJlYW1idWZfaXRlcmF0b3JJd1N0MTFjaGFyX3RyYWl0c0l3RUVFAAAAAAAA +U3Q5YmFkX2FsbG9jAAAAAAAAAAAAAAAAAAAAAAAAAABTdDliYXNpY19pb3NJY1N0 +MTFjaGFyX3RyYWl0c0ljRUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +U3Q5YmFzaWNfaW9zSXdTdDExY2hhcl90cmFpdHNJd0VFAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAFN0OWV4Y2VwdGlvbgAAAAAAAAAAAAAAAAAAAAAAAAAA +U3Q5bW9uZXlfZ2V0SWNTdDE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljU3QxMWNoYXJf +dHJhaXRzSWNFRUUAAAAAAFN0OW1vbmV5X2dldEl3U3QxOWlzdHJlYW1idWZfaXRl +cmF0b3JJd1N0MTFjaGFyX3RyYWl0c0l3RUVFAAAAAABTdDltb25leV9wdXRJY1N0 +MTlvc3RyZWFtYnVmX2l0ZXJhdG9ySWNTdDExY2hhcl90cmFpdHNJY0VFRQAAAAAA +U3Q5bW9uZXlfcHV0SXdTdDE5b3N0cmVhbWJ1Zl9pdGVyYXRvckl3U3QxMWNoYXJf +dHJhaXRzSXdFRUUAAAAAAFN0OXRpbWVfYmFzZQAAAABTdDl0eXBlX2luZm8AAAAA +jMZJAEyiSQAMokkAIKJJAGCiSQCgxkkAzMZJAMyiSQCMokkAoKJJAOCiSQDgxkkA +bMlJAAyjSQAgo0kATKNJAGCjSQCUyUkAgMlJAAAAAACsyUkAwMlJAOzJSQAAykkA +bM1JAIyjSQDMo0kA4KNJAAykSQAgpEkAtKNJAKCjSQCUzUkAgM1JAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAKzNSQCMpEkATKRJAGCkSQDMpEkA4KRJALSkSQCgpEkA +1M1JAMDNSQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADszUkAAM5JACzOSQBAzkkA +jM5JAAylSQAgpUkAoM5JAMzOSQBMpUkAYKVJAODOSQAMz0kAjKVJAKClSQDMpUkA +4KVJADTPSQAgz0kAAAAAAEzPSQAMpkkAIKZJAGDPSQCMz0kATKZJAGCmSQCgz0kA +AAAAAAAAAAAAAAAAAAAAAAAAAACApkkAQL5DACC+QwAQbEIA0O1DAIBrQgDg7UMA +AO5DABDuQwDw7UMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKZJAOAWQABgF0AA +AAAAAJSmSQCwu0MAkLtDAMA1SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAJymSQDgu0MAwLtDAKCcRQCwnEUAEOFDAKDhQwBg4UMAAOJDAGDiQwAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAACopkkAELxDAPC7QwDANUgAAAAAAAAAAAAAAAAA +AAAAALCmSQBAvEMAILxDAKCcRQCwnEUAEOFDAKDhQwCA4kMA4OJDAMDjQwAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAC8pkkAcLxDAFC8QwCgnEUAsJxFABDhQwCg4UMA +MORDAGDmQwBQ60MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyKZJACC9QwAAvUMA +EOxDACDsQwDwI0QAsCNEAJAjRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAANSmSQBQvUMAML1DADDtQwBA7UMA8CNEALAjRACQI0QAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAADgpkkAgL1DAGC9QwCA7UMAkO1DAPAjRACwI0QA +kCNEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAOymSQAAv0MA +UL5DAIz///+M////7KZJAJAqSACAKkgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +cAAAAAAAAAD4pkkAQMBDAKC/QwCQ////kP////imSQCwKkgAoCpIAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAEp0kAsMVDAPDEQwAg7kMAAAAAAAAAAAAAAAAA +AAAAABinSQCAyEMAYMhDAMA1SADwx0MAwDVIAMA1SAAAAAAAIKdJAMDJQwCgyUMA +sMhDAPDHQwCQyEMAoMhDAAAAAAAsp0kAoMpDAIDKQwDwyUMA8MdDANDJQwDgyUMA +AAAAADinSQDQy0MAYMtDAPDyQwAAAAAAAAAAAAAAAAAAAAAARKdJANDMQwCwzEMA +wDVIAMA1SABw9EMAMPRDABD0QwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAFCnSQAg0UMAwNBDANBgRgCgYkYAMGdGACBpRgCgX0YAEG1GAABjRgCQbUYA +0BpHAOBrRgBwZUYA4GlGAAAAAABcp0kAINVDAMDUQwDQe0YAoH1GAECCRgAwhEYA +oHpGACCIRgAAfkYAoIhGAGAhRwDghkYAcIBGAPCERgAAAAAAaKdJAJDZQwBg2UMA +QBpHACAbRwDQ1kMAQNdDAPDVQwDwHUcAUNZDAFDYQwAQ1kMAENhDAKDWQwCg10MA +AAAAAHSnSQBA3UMAEN1DANAgRwCwIUcAsNpDACDbQwCw2UMAgCRHAPDZQwAg3EMA +0NlDAMDbQwBg2kMAgNtDAAAAAACAp0kAcN1DAFDdQwDASUUAAAAAAAAAAACMp0kA +oN1DAIDdQwCA9EMAAAAAAAAAAACYp0kA0N1DALDdQwCQ9EMAAAAAAAAAAACkp0kA +4ItHAMCLRwAAAAAArKdJAGC2RwBAtkcAgPxEAAAAAAAAAAAAAAAAAAAAAAAAAAAA +DAAAAAAAAADAp0kAEMVFANDERQAEAAAA+P///8CnSQAQKkgAACpIAPT////0//// +wKdJANAqSADAKkgAAAAAAAgAAAAAAAAA4KdJAGDuRQAw7kUA+P////j////gp0kA +8CpIAOAqSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAPinSQAgC0YA +8ApGAPz////8////+KdJABArSAAAK0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAABCoSQBQMkYAMDJGAHANRAAAAAAAAAAAAAAAAAAAAAAAQKhJAAA2RgDgNUYA +4A5EAFAPRADgDUQAoA5EACAPRADwDkQA0A5EAEAORAAwDkQAAAAAAAAAAAAAAAAA +AAAAAGCoSQDQOUYAsDlGAMAQRAAwEUQAwA9EAIAQRAAAEUQA0BBEALAQRAAgEEQA +EBBEAAAAAAAAAAAAAAAAAAAAAACAqEkAsD1GAJA9RgCgEkQAEBNEAKARRABgEkQA +4BJEALASRACQEkQAABJEAPARRAAAAAAAAAAAAAAAAAAAAAAAoKhJAJBBRgBwQUYA +gBREAPAURACAE0QAQBREAMAURACQFEQAcBREAOATRADQE0QAAAAAAAAAAAAAAAAA +AAAAAMCoSQBwSEYAUEhGAAAAAADMqEkA0E9GALBPRgAAAAAA2KhJAPBQRgDQUEYA +0CFEAAAAAAAAAAAA5KhJAKBRRgCAUUYAACNEAAAAAAAAAAAA8KhJAIBSRgBgUkYA +ACNEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKlJAIBXRgBgV0YA +AChEAMAnRACgJ0QAYCdEAPApRADAKUQAMCpEAAAqRAAAAAAAAAAAAAAAAAAAAAAA +AAAAABCpSQBQWEYAMFhGAJAtRAAgLUQAQCpEAIArRABgK0QAECtEAPAqRACgKkQA +IC5EAPAtRADwLkQAMC5EAAAAAAAcqUkAsFhGAJBYRgDQIUQAAAAAAAAAAAAoqUkA +4FhGAMBYRgDwIUQAAAAAAAAAAAA0qUkAQFlGACBZRgDQIUQAAAAAAAAAAABAqUkA +oFlGAIBZRgDQIUQAAAAAAAAAAABMqUkA0FlGALBZRgAAI0QAAAAAAAAAAABYqUkA +AFpGAOBZRgBgIkQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZKlJAIB0RgBAdEYA +0GBGAKBiRgAwZ0YAIGlGAKBfRgAQbUYAAGNGAJBtRgDQGkcA4GtGAHBlRgDgaUYA +AAAAAHCpSQCQj0YAUI9GANB7RgCgfUYAQIJGADCERgCgekYAIIhGAAB+RgCgiEYA +YCFHAOCGRgBwgEYA8IRGAHgAAAAAAAAAfKlJAPCYRgCAmEYAcAAAAPj///98qUkA +MCpIACAqSACI////iP///3ypSQAwK0gAICtIAAAAAAB8AAAAAAAAAIipSQDwokYA +gKJGAHQAAAD4////iKlJAFAqSABAKkgAhP///4T///+IqUkAUCtIAEArSAAAAAAA +CAAAAAAAAACUqUkAwM1GAJDNRgD4////+P///5SpSQBwK0gAYCtIAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAArKlJAADqRgDQ6UYA/P////z///+sqUkA +kCtIAIArSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzKlJAEDtRgAg7UYA +ACNEAAAAAAAAAAAAAAAAAHQAAAAAAAAA2KlJACD1RgCw9EYAjP///4z////YqUkA +sCtIAKArSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAAAAAAOSpSQBg/UYA +8PxGAIj///+I////5KlJANArSADAK0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +DAAAAAAAAAAAqkkAQAFHAAABRwAEAAAA+P///wCqSQBwKkgAYCpIAPT////0//// +AKpJAPArSADgK0gAAAAAAHAAAAAAAAAAIKpJANAIRwBwCEcAkP///5D///8gqkkA +ECxIAAAsSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAACyqSQCwEEcA +UBBHAIz///+M////LKpJADAsSAAgLEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAADiqSQCwEkcAkBJHANAzRABgM0QAsDNEAIAzRACgM0QA8DNEAJAzRAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAABEqkkAEBRHAPATRwAQNUQAEDREAGA0RAAwNEQA +UDREAEA2RABANEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUKpJANAVRwCQFUcA +8DZEAHA4RABAOkQAAAAAAAAAAABcqkkA8BdHALAXRwDQOkQAIDxEACA+RAAAAAAA +AAAAAGiqSQCgGEcAgBhHAMA1SADANUgA8CNEALAjRACQI0QAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAABwqkkAABlHAOAYRwAAI0QAAAAAAAAAAAAAAAAA +AAAAAHyqSQBwH0cAQB9HAEAaRwAgG0cA0BxHAPAcRwAgGkcA8B1HAKAbRwAwHkcA +0BpHANAdRwAwHEcAYB1HAAAAAACEqkkAECZHAOAlRwDQIEcAsCFHAGAjRwCAI0cA +sCBHAIAkRwAwIkcA0CRHAGAhRwBgJEcAwCJHAPAjRwAAAAAAjKpJAIAnRwBgJ0cA +UP1EADD9RABg/UQAAAAAAAAAAACYqkkA4ChHAMAoRwAw/kQAEP5EAED+RAAAAAAA +AAAAAKSqSQDAKkcAoCpHAAD/RAAQ/0QAUP5EAID+RACw/kQAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAACwqkkAoCxHAIAsRwAwAEUAQABFAID/RACw/0QA +4P9EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvKpJACAtRwAALUcA +QARFALABRQDAAEUAQAdFAJALRQCgAkUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAMiqSQCgLUcAgC1HACAiRQBgH0UAUB5FAKAkRQAAKUUAcCBFAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAADUqkkAIC5HAAAuRwAQQkUAAAAAAAAAAADgqkkA +oC5HAIAuRwCARUUAAAAAAAAAAADsqkkAEC9HAPAuRwAAI0QAAAAAAAAAAAD4qkkA +YDRHAEA0RwAAAAAABKtJAJA6RwBwOkcAAAAAABCrSQCAO0cAYDtHANAhRAAAAAAA +AAAAAByrSQDwPkcA0D5HAAAAAAAoq0kAcEJHAFBCRwAAAAAANKtJALBCRwCQQkcA +ICVEAAAAAAAAAAAAAAAAAAAAAABAq0kAoERHAIBERwDgDkQAUA9EAOANRACgDkQA +IA9EAPAORADQDkQAQA5EADAORAAAAAAAAAAAAAAAAAAAAAAATKtJAKBGRwCARkcA +wBBEADARRADAD0QAgBBEAAARRADQEEQAsBBEACAQRAAQEEQAAAAAAAAAAAAAAAAA +AAAAAFirSQCgSEcAgEhHAKASRAAQE0QAoBFEAGASRADgEkQAsBJEAJASRAAAEkQA +8BFEAAAAAAAAAAAAAAAAAAAAAABkq0kAoEpHAIBKRwCAFEQA8BREAIATRABAFEQA +wBREAJAURABwFEQA4BNEANATRAAAAAAAAAAAAAAAAAAAAAAAcKtJABBRRwDwUEcA +AAAAAHyrSQAgWEcAAFhHAAAAAACIq0kAQGBHACBgRwAAAAAAlKtJAGBoRwBAaEcA +AAAAAKCrSQCwaUcAkGlHAMA1SADANUgAwDVIAMA1SADANUgAwDVIAMA1SADANUgA +wDVIAMA1SADANUgAwDVIAAAAAADAq0kA4GlHAMBpRwDANUgAwDVIAMA1SADANUgA +wDVIAMA1SADANUgAwDVIAMA1SADANUgAwDVIAMA1SAAAAAAA4KtJABBqRwDwaUcA +wDVIAMA1SADANUgAwDVIAMA1SADANUgAwDVIAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAACsSQBAakcAIGpHAMA1SADANUgAwDVIAMA1SADANUgAwDVIAMA1SAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAgrEkAsHBHAJBwRwAAKEQAwCdEAKAnRABgJ0QA +8ClEAMApRAAwKkQAACpEAAAAAAAAAAAAAAAAAAAAAAAAAAAAQKxJAEByRwAgckcA +kC1EACAtRABAKkQAgCtEAGArRAAQK0QA8CpEAKAqRAAgLkQA8C1EAPAuRAAwLkQA +AAAAAEysSQBAoUcAIKFHANAzRABgM0QAsDNEAIAzRACgM0QA8DNEAJAzRAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAABYrEkAMKJHABCiRwAQNUQAEDREAGA0RAAwNEQA +UDREAEA2RABANEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZKxJAKCjRwBgo0cA +8DZEAHA4RABAOkQAAAAAAAAAAABwrEkAQKVHAAClRwDQOkQAIDxEACA+RAAAAAAA +AAAAAHysSQAgpkcAAKZHAOB3RAAwgEQA0IBEAOB/RACAgEQAIIFEAHCBRABgfkQA +YHtEAOB8RABwd0QAAAAAAAAAAACIrEkAoKZHAICmRwDAvkQAUMhEAPDIRAAAyEQA +oMhEAEDJRACQyUQAIMZEAGDCRABAxEQAQL5EAAAAAAAAAAAAlKxJACCnRwAAp0cA +EN9EABDiRABQ4kQAkOJEANDiRACQ4UQA0OFEAKDeRAAAAAAAAAAAAAAAAAAAAAAA +AAAAAKCsSQCgp0cAgKdHAGD4RABw+0QAsPtEAPD7RAAw/EQA8PpEADD7RADw90QA +AAAAAAAAAAAAAAAAAAAAAAAAAACsrEkA4KdHAMCnRwBw/EQAAAAAAAAAAAC4rEkA +ULdHADC3RwAAAAAAwKxJAMC4RwCguEcAUP1EADD9RABg/UQAAAAAAAAAAADgrEkA +YLpHAEC6RwAw/kQAEP5EAED+RAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAACtSQDQvUcAsL1HAAD/RAAQ/0QAUP5EAID+RACw/kQAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAMrUkAEMFHAPDARwAwAEUAQABFAID/RACw/0QA +4P9EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIK1JALDBRwCQwUcA +QARFALABRQDAAEUAQAdFAJALRQCgAkUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAECtSQAwwkcAEMJHACAiRQBgH0UAUB5FAKAkRQAAKUUAcCBFAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAABgrUkAsMJHAJDCRwAQQkUAAAAAAAAAAABsrUkA +MMNHABDDRwCARUUAAAAAAAAAAAB4rUkAcMNHAFDDRwCwRkUAAAAAAAAAAACErUkA +QMpHACDKRwAAAAAAkK1JABDRRwDw0EcAAAAAAJytSQBQ0UcAMNFHAMBJRQAAAAAA +AAAAAKStSQDA0UcAoNFHAJBhRQAgYEUAAAAAALCtSQBA0kcAINJHAMB6RQBweUUA +AAAAALytSQDA0kcAoNJHAMB8RQBgfEUAAAAAAMitSQBA00cAINNHAOCMRQCAjEUA +AAAAANytSQCA00cAYNNHAKCcRQCwnEUAcJxFAJCcRQAAAQABAAEAAQABAAEAAQAB +AAEgASABIAEgASABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAB +YABAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJYAFgAWABYAFgAWABYAFgA +WABYAEACQAJAAkACQAJAAkACVQBVAFUAVQBVAFUARQBFAEUARQBFAEUARQBFAEUA +RQBFAEUARQBFAEUARQBFAEUARQBFAEACQAJAAkACQAJAAlYAVgBWAFYAVgBWAEYA +RgBGAEYARgBGAEYARgBGAEYARgBGAEYARgBGAEYARgBGAEYARgBAAkACQAJAAgAB +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +AAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6 +IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAAR0NDOiAoR05VKSA0 +LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdOVSkgNC44LjEAAAAA +R0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4xAAAAAEdDQzogKEdO +VSkgNC44LjEAAAAAR0NDOiAoR05VKSA0LjguMQAAAABHQ0M6IChHTlUpIDQuOC4x +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 +XmUMAGplDAB8ZQwAjGUMAJ5lDACwZQwAyGUMAN5lDAD0ZQwADGYMACJmDABAZgwA +TmYMAGJmDAByZgwAhmYMAJhmDACoZgwAxGYMANxmDADyZgwACmcMAB5nDAA2ZwwA +QmcMAFBnDABmZwwAemcMAI5nDACmZwwAtmcMAMxnDADgZwwA7mcMAP5nDAAcaAwA +JGgMADBoDAA6aAwASGgMAFZoDABoaAwAeGgMAI5oDAAAAAAApGgMAK5oDAC4aAwA +wGgMAMpoDADWaAwAAAAAAOBoDADwaAwAAGkMABBpDAAeaQwAMGkMADppDABEaQwA +TmkMAFhpDABmaQwAdGkMAIBpDACKaQwAlmkMAKJpDACqaQwAtGkMAMBpDADIaQwA +0mkMANppDADkaQwA7mkMAPhpDAAAagwACGoMABBqDAAYagwAIGoMAChqDAAwagwA +OmoMAEJqDABMagwAWGoMAGZqDABwagwAfGoMAIZqDACQagwAmmoMAKRqDACuagwA +tmoMAMBqDADMagwA1moMAOBqDADqagwA9GoMAP5qDAAIawwAFGsMACBrDAAqawwA +NGsMAD5rDABIawwAUmsMAF5rDABqawwAdGsMAH5rDACKawwAlmsMAKBrDACsawwA +tmsMAMJrDAAAAAAAiGQMAJpkDACoZAwAtGQMAMpkDADeZAwA7GQMAABlDAAYZQwA +JmUMADhlDABQZQwAXmUMAGplDAB8ZQwAjGUMAJ5lDACwZQwAyGUMAN5lDAD0ZQwA +DGYMACJmDABAZgwATmYMAGJmDAByZgwAhmYMAJhmDACoZgwAxGYMANxmDADyZgwA +CmcMAB5nDAA2ZwwAQmcMAFBnDABmZwwAemcMAI5nDACmZwwAtmcMAMxnDADgZwwA +7mcMAP5nDAAcaAwAJGgMADBoDAA6aAwASGgMAFZoDABoaAwAeGgMAI5oDAAAAAAA +pGgMAK5oDAC4aAwAwGgMAMpoDADWaAwAAAAAAOBoDADwaAwAAGkMABBpDAAeaQwA +MGkMADppDABEaQwATmkMAFhpDABmaQwAdGkMAIBpDACKaQwAlmkMAKJpDACqaQwA +tGkMAMBpDADIaQwA0mkMANppDADkaQwA7mkMAPhpDAAAagwACGoMABBqDAAYagwA +IGoMAChqDAAwagwAOmoMAEJqDABMagwAWGoMAGZqDABwagwAfGoMAIZqDACQagwA +mmoMAKRqDACuagwAtmoMAMBqDADMagwA1moMAOBqDADqagwA9GoMAP5qDAAIawwA +FGsMACBrDAAqawwANGsMAD5rDABIawwAUmsMAF5rDABqawwAdGsMAH5rDACKawwA +lmsMAKBrDACsawwAtmsMAMJrDAAAAAAAFQBBcmVGaWxlQXBpc0FOU0kAUgBDbG9z +ZUhhbmRsZQB1AENvcHlGaWxlVwB9AENyZWF0ZURpcmVjdG9yeUV4VwAAgABDcmVh +dGVEaXJlY3RvcnlXAACOAENyZWF0ZUZpbGVXAKkAQ3JlYXRlU2VtYXBob3JlQQAA +zwBEZWxldGVDcml0aWNhbFNlY3Rpb24A1ABEZWxldGVGaWxlVwDbAERldmljZUlv +Q29udHJvbADsAEVudGVyQ3JpdGljYWxTZWN0aW9uAAAXAUV4aXRQcm9jZXNzACwB +RmluZENsb3NlADcBRmluZEZpcnN0RmlsZVcAAEMBRmluZE5leHRGaWxlVwBbAUZv +cm1hdE1lc3NhZ2VBAACEAUdldENvbW1hbmRMaW5lQQC9AUdldEN1cnJlbnREaXJl +Y3RvcnlXAADDAUdldEN1cnJlbnRUaHJlYWRJZAAAzAFHZXREaXNrRnJlZVNwYWNl +RXhXAOMBR2V0RmlsZUF0dHJpYnV0ZXNFeFcAAOYBR2V0RmlsZUF0dHJpYnV0ZXNX +AADoAUdldEZpbGVJbmZvcm1hdGlvbkJ5SGFuZGxlAADuAUdldEZpbGVUaW1lAPcB +R2V0RnVsbFBhdGhOYW1lVwAA/gFHZXRMYXN0RXJyb3IAABECR2V0TW9kdWxlSGFu +ZGxlQQAAQQJHZXRQcm9jQWRkcmVzcwAAgQJHZXRUZW1wUGF0aFcAAN4CSW5pdGlh +bGl6ZUNyaXRpY2FsU2VjdGlvbgDnAkludGVybG9ja2VkRGVjcmVtZW50AADoAklu +dGVybG9ja2VkRXhjaGFuZ2UA6wJJbnRlcmxvY2tlZEluY3JlbWVudAAA+wJJc0RC +Q1NMZWFkQnl0ZUV4AAAuA0xlYXZlQ3JpdGljYWxTZWN0aW9uAAA9A0xvY2FsRnJl +ZQBVA01vdmVGaWxlRXhXAFwDTXVsdGlCeXRlVG9XaWRlQ2hhcgDSA1JlbGVhc2VT +ZW1hcGhvcmUAANcDUmVtb3ZlRGlyZWN0b3J5VwAAHQRTZXRDdXJyZW50RGlyZWN0 +b3J5VwAAIwRTZXRFbmRPZkZpbGUAADEEU2V0RmlsZUF0dHJpYnV0ZXNXAAA3BFNl +dEZpbGVQb2ludGVyRXgAADoEU2V0RmlsZVRpbWUAQwRTZXRMYXN0RXJyb3IAAHQE +U2V0VW5oYW5kbGVkRXhjZXB0aW9uRmlsdGVyAIAEU2xlZXAAkwRUbHNBbGxvYwAA +lARUbHNGcmVlAJUEVGxzR2V0VmFsdWUAlgRUbHNTZXRWYWx1ZQC9BFZpcnR1YWxQ +cm90ZWN0AAC/BFZpcnR1YWxRdWVyeQAAxwRXYWl0Rm9yU2luZ2xlT2JqZWN0AN8E +V2lkZUNoYXJUb011bHRpQnl0ZQAXAF9mZG9wZW4AMwBfbHNlZWsAAEAAX3JlYWQA +UABfc3RyZHVwAFIAX3N0cmljb2xsAG0AX3dyaXRlAAA7AF9fZ2V0bWFpbmFyZ3MA +RgBfX21iX2N1cl9tYXgAAFIAX19wX19lbnZpcm9uAABUAF9fcF9fZm1vZGUAAGkA +X19zZXRfYXBwX3R5cGUAAJAAX2Fzc2VydACaAF9jZXhpdAAAwABfZXJybm8AANIA +X2ZpbGJ1ZgDXAF9maW5kY2xvc2UAANgAX2ZpbmRmaXJzdAAA3gBfZmluZG5leHQA +5QBfZmxzYnVmAPQAX2ZzdGF0NjQAAP4AX2Z1bGxwYXRoACgBX2lvYgAAoQFfb25l +eGl0ANIBX3NldG1vZGUAAH8CYWJvcnQAhgJhdGV4aXQAAIgCYXRvaQAAiwJjYWxs +b2MAAJcCZmNsb3NlAACaAmZmbHVzaAAAogJmb3BlbgCkAmZwdXRjAKUCZnB1dHMA +qAJmcmVhZACpAmZyZWUAAK0CZnNlZWsArwJmdGVsbACxAmZ3cml0ZQAAtwJnZXR3 +YwDEAmlzc3BhY2UAygJpc3djdHlwZQAA1wJsb2NhbGVjb252AADcAm1hbGxvYwAA +3gJtYnN0b3djcwAA4AJtZW1jaHIAAOECbWVtY21wAADiAm1lbWNweQAA4wJtZW1t +b3ZlAOQCbWVtc2V0AADtAnB1dHdjAPICcmVhbGxvYwD4AnNldGxvY2FsZQD5AnNl +dHZidWYA+gJzaWduYWwAAP0Cc3ByaW50ZgACA3N0cmNocgAAAwNzdHJjbXAAAAQD +c3RyY29sbAAHA3N0cmVycm9yAAAIA3N0cmZ0aW1lAAAJA3N0cmxlbgAADANzdHJu +Y3B5ABEDc3RydG9kAAAVA3N0cnhmcm0AHgN0b2xvd2VyACADdG93bG93ZXIAACED +dG93dXBwZXIAACIDdW5nZXRjAAAjA3VuZ2V0d2MAJAN2ZnByaW50ZgAAJwN2c3By +aW50ZgAALQN3Y3Njb2xsADADd2NzZnRpbWUAADEDd2NzbGVuAAA8A3djc3RvbWJz +AAA+A3djc3hmcm0AAGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwA +AGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwA +AGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwA +AGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwA +AGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDAAAYAwAAGAMAABgDABrZXJu +ZWwzMi5kbGwAAAAAFGAMABRgDAAUYAwAFGAMABRgDAAUYAwAbXN2Y3J0LmRsbAAA +KGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwA +KGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwA +KGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwA +KGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwA +KGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwA +KGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAChgDAAoYAwAKGAMAG1zdmNydC5k +bGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AFDAJABQwAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAABgEwAHIBMAOxQTAAEcEwAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +} +} \ No newline at end of file diff --git "a/src/Utils/xddTestsConvertIntoRebornFormat/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217.txt" "b/src/Utils/xddTestsConvertIntoRebornFormat/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217.txt" new file mode 100644 index 00000000..096e10ae --- /dev/null +++ "b/src/Utils/xddTestsConvertIntoRebornFormat/\320\234\320\260\320\272\320\265\321\202\321\213/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217.txt" @@ -0,0 +1,24 @@ +Проверить +ПроверитьИстину +ПроверитьЛожь +ПроверитьДату +ПроверитьРавенствоДатСТочностью2Секунды +ПроверитьРавенство +ПроверитьНеРавенство +ПроверитьБольше +ПроверитьБольшеИлиРавно +ПроверитьМеньше +ПроверитьМеньшеИлиРавно +ПроверитьВыполнилось +ПроверитьМетодВыполнился +ПроверитьНеВыполнилось +ПроверитьМетодНеВыполнился +ПроверитьЗаполненность +ПроверитьНеЗаполненность +ПроверитьТип +ПроверитьВхождение +ПроверитьВхождениеВКоллекцию +ПроверитьВалидностьЗапросаСКД +ПроверитьНаличиеОбъектаИБ +ПроверитьРавенствоФайлов +ПропуститьТест \ No newline at end of file diff --git "a/src/Utils/xddTestsConvertIntoRebornFormat/\320\234\320\260\320\272\320\265\321\202\321\213/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205.txt" "b/src/Utils/xddTestsConvertIntoRebornFormat/\320\234\320\260\320\272\320\265\321\202\321\213/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205.txt" new file mode 100644 index 00000000..2cf09194 --- /dev/null +++ "b/src/Utils/xddTestsConvertIntoRebornFormat/\320\234\320\260\320\272\320\265\321\202\321\213/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205.txt" @@ -0,0 +1,5 @@ +СоздатьДанныеПоМакетам +СоздатьДанныеПоТабличномуДокументу +УдалитьСозданныеДанные +СоздатьПользователяИБ +РазложитьСтрокуВМассивПодстрок \ No newline at end of file diff --git "a/src/Utils/xddTestsConvertIntoRebornFormat/\320\234\320\260\320\272\320\265\321\202\321\213/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224.txt" "b/src/Utils/xddTestsConvertIntoRebornFormat/\320\234\320\260\320\272\320\265\321\202\321\213/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224.txt" new file mode 100644 index 00000000..20982aa6 --- /dev/null +++ "b/src/Utils/xddTestsConvertIntoRebornFormat/\320\234\320\260\320\272\320\265\321\202\321\213/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224.txt" @@ -0,0 +1,10 @@ +ПолучитьКоличествоДокументовПоОтбору +ПолучитьКоличествоЭлементовСправочникаПоОтбору +ПолучитьКоличествоСтрокВДокументахПоОтбору +ПолучитьИтоговуюСуммуТабличнойЧастиДокументовПоОтбору +ПолучитьИтоговуюСуммуДокументовПоОтбору +ПолучитьКоличествоЭлементовМетаданногоПоОтбору +ПолучитьКоличествоБизнесПроцессовПоОтбору +ПолучитьКоличествоЗадачПоОтбору +ПолучитьКоличествоЭлементовРегистраПоОтбору +ПолучитьЭлементыМетаданногоПоОтбору \ No newline at end of file diff --git "a/src/Utils/xddTestsConvertIntoRebornFormat/\320\234\320\260\320\272\320\265\321\202\321\213/\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\320\257\320\264\321\200\320\260.txt" "b/src/Utils/xddTestsConvertIntoRebornFormat/\320\234\320\260\320\272\320\265\321\202\321\213/\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\320\257\320\264\321\200\320\260.txt" new file mode 100644 index 00000000..341a1519 --- /dev/null +++ "b/src/Utils/xddTestsConvertIntoRebornFormat/\320\234\320\260\320\272\320\265\321\202\321\213/\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\320\257\320\264\321\200\320\260.txt" @@ -0,0 +1,2 @@ +ВывестиСообщение +ПрерватьТест=КонтекстЯдра.ВызватьОшибкуПроверки \ No newline at end of file diff --git "a/src/Utils/xddTestsConvertIntoRebornFormat/\320\234\320\260\320\272\320\265\321\202\321\213/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206.txt" "b/src/Utils/xddTestsConvertIntoRebornFormat/\320\234\320\260\320\272\320\265\321\202\321\213/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206.txt" new file mode 100644 index 00000000..66522822 --- /dev/null +++ "b/src/Utils/xddTestsConvertIntoRebornFormat/\320\234\320\260\320\272\320\265\321\202\321\213/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206.txt" @@ -0,0 +1,3 @@ +ПроверитьРавенствоТаблиц +ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям +ПолучитьТаблицуЗначенийИзТабличногоДокумента \ No newline at end of file diff --git "a/src/Utils/xddTestsConvertIntoRebornFormat/\320\234\320\260\320\272\320\265\321\202\321\213/\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260.txt" "b/src/Utils/xddTestsConvertIntoRebornFormat/\320\234\320\260\320\272\320\265\321\202\321\213/\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260.txt" new file mode 100644 index 00000000..0a533b32 --- /dev/null +++ "b/src/Utils/xddTestsConvertIntoRebornFormat/\320\234\320\260\320\272\320\265\321\202\321\213/\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260.txt" @@ -0,0 +1,79 @@ +#Область ПеременныеТестирования +Перем КонтекстЯдра; +Перем Ожидаем; +Перем Утверждения; +Перем ГенераторТестовыхДанных; +Перем ЗапросыИзБД; +Перем УтвержденияПроверкаТаблиц; +#КонецОбласти + +#Область ПеременныеТестирования_УФ +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Ожидаем; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем ГенераторТестовыхДанных; +&НаКлиенте +Перем ЗапросыИзБД; +&НаКлиенте +Перем УтвержденияПроверкаТаблиц; +#КонецОбласти + +#Область ОписанияТестов +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин("СериализаторMXL"); + ЗапросыИзБД = КонтекстЯдра.Плагин("ЗапросыИзБД"); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); +КонецПроцедуры + +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт +#КонецОбласти + +#Область ОписанияТестов_УФ +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин("СериализаторMXL"); + ЗапросыИзБД = КонтекстЯдра.Плагин("ЗапросыИзБД"); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт +#КонецОбласти + +#Область ОписанияТестов_УФ_ДвеДвойныеКавычки +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин(""УтвержденияBDD""); + Утверждения = КонтекстЯдра.Плагин(""БазовыеУтверждения""); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин(""СериализаторMXL""); + ЗапросыИзБД = КонтекстЯдра.Плагин(""ЗапросыИзБД""); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин(""УтвержденияПроверкаТаблиц""); +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт +#КонецОбласти + +#Область ДобавитьИмяТеста + НаборТестов.Добавить(%ИмяТеста%); +#КонецОбласти + +#Область ЗавершениеСпискаТестов +КонецПроцедуры + +#КонецОбласти + +#Область УФ_НаКлиенте +&НаКлиенте +#КонецОбласти diff --git a/src/renames.txt b/src/renames.txt deleted file mode 100644 index 668c0ba9..00000000 --- a/src/renames.txt +++ /dev/null @@ -1,37 +0,0 @@ -DataProcessor.UnitTestRunner.Form.УправляемаяФорма.Form.Form.Item.ДеревоТестов.RowsPicture.png-->DataProcessor\UnitTestRunner\Form\УправляемаяФорма\Form\Form\Item\ДеревоТестов\RowsPicture.png -DataProcessor.UnitTestRunner.Form.УправляемаяФорма.Form.Form.Item.ДеревоТестовКонтекстноеМенюКомандаВыполнитьТест.Picture.png-->DataProcessor\UnitTestRunner\Form\УправляемаяФорма\Form\Form\Item\ДеревоТестовКонтекстноеМенюКомандаВыполнитьТест\Picture.png -DataProcessor.UnitTestRunner.Form.УправляемаяФорма.Form.Form.Item.ДеревоТестовМодульИлиФорма.PictureValues.png-->DataProcessor\UnitTestRunner\Form\УправляемаяФорма\Form\Form\Item\ДеревоТестовМодульИлиФорма\PictureValues.png -DataProcessor.UnitTestRunner.Form.УправляемаяФорма.Form.Form.Item.ДеревоТестовСостояние.PictureValues.png-->DataProcessor\UnitTestRunner\Form\УправляемаяФорма\Form\Form\Item\ДеревоТестовСостояние\PictureValues.png -DataProcessor.UnitTestRunner.Form.УправляемаяФорма.Form.Form.Item.ФормаКнопкаЗагрузитьТестовыеСлучаи.Picture.png-->DataProcessor\UnitTestRunner\Form\УправляемаяФорма\Form\Form\Item\ФормаКнопкаЗагрузитьТестовыеСлучаи\Picture.png -DataProcessor.UnitTestRunner.Form.УправляемаяФорма.Form.Form.Item.ФормаКнопкаЗагрузитьТестовыйНабор.Picture.png-->DataProcessor\UnitTestRunner\Form\УправляемаяФорма\Form\Form\Item\ФормаКнопкаЗагрузитьТестовыйНабор\Picture.png -DataProcessor.UnitTestRunner.Form.УправляемаяФорма.Form.Form.Item.ФормаКомандаВыполнитьВсеТесты.Picture.png-->DataProcessor\UnitTestRunner\Form\УправляемаяФорма\Form\Form\Item\ФормаКомандаВыполнитьВсеТесты\Picture.png -DataProcessor.UnitTestRunner.Form.УправляемаяФорма.Form.Form.Item.ФормаКомандаПерезагрузитьТесты.Picture.png-->DataProcessor\UnitTestRunner\Form\УправляемаяФорма\Form\Form\Item\ФормаКомандаПерезагрузитьТесты\Picture.png -DataProcessor.UnitTestRunner.Form.УправляемаяФорма.Form.Module.txt-->DataProcessor\UnitTestRunner\Form\УправляемаяФорма\Form\Module.txt -DataProcessor.UnitTestRunner.Form.УправляемаяФорма.Form.xml-->DataProcessor\UnitTestRunner\Form\УправляемаяФорма\Form.xml -DataProcessor.UnitTestRunner.Form.УправляемаяФорма.xml-->DataProcessor\UnitTestRunner\Form\УправляемаяФорма.xml -DataProcessor.UnitTestRunner.Form.Форма.Form-->DataProcessor\UnitTestRunner\Form\Форма.Form -DataProcessor.UnitTestRunner.Form.Форма.xml-->DataProcessor\UnitTestRunner\Form\Форма.xml -DataProcessor.UnitTestRunner.ObjectModule.txt-->DataProcessor\UnitTestRunner\ObjectModule.txt -DataProcessor.UnitTestRunner.Template.ОтчетТестирования.Template.xml-->DataProcessor\UnitTestRunner\Template\ОтчетТестирования\Template.xml -DataProcessor.UnitTestRunner.Template.ОтчетТестирования.xml-->DataProcessor\UnitTestRunner\Template\ОтчетТестирования.xml -DataProcessor.UnitTestRunner.xml-->DataProcessor\UnitTestRunner\UnitTestRunner.xml -DataProcessor.Информатор.Form.ТестВыполненияДеструктора.Form-->DataProcessor\Информатор\Form\ТестВыполненияДеструктора.Form -DataProcessor.Информатор.Form.ТестВыполненияДеструктора.xml-->DataProcessor\Информатор\Form\ТестВыполненияДеструктора.xml -DataProcessor.Информатор.Form.Форма.Form-->DataProcessor\Информатор\Form\Форма.Form -DataProcessor.Информатор.Form.Форма.xml-->DataProcessor\Информатор\Form\Форма.xml -DataProcessor.Информатор.ObjectModule.txt-->DataProcessor\Информатор\ObjectModule.txt -DataProcessor.Информатор.Template.DynamicWrapperX.Template.bin-->DataProcessor\Информатор\Template\DynamicWrapperX\Template.bin -DataProcessor.Информатор.Template.DynamicWrapperX.xml-->DataProcessor\Информатор\Template\DynamicWrapperX.xml -DataProcessor.Информатор.Template.regsvrex.Template.bin-->DataProcessor\Информатор\Template\regsvrex\Template.bin -DataProcessor.Информатор.Template.regsvrex.xml-->DataProcessor\Информатор\Template\regsvrex.xml -DataProcessor.Информатор.Template.Справка.Template.txt-->DataProcessor\Информатор\Template\Справка\Template.txt -DataProcessor.Информатор.Template.Справка.xml-->DataProcessor\Информатор\Template\Справка.xml -DataProcessor.Информатор.xml-->DataProcessor\Информатор\Информатор.xml -DataProcessor.Регистрация_DynaWrapperX.Form.Форма.Form-->DataProcessor\Регистрация_DynaWrapperX\Form\Форма.Form -DataProcessor.Регистрация_DynaWrapperX.Form.Форма.xml-->DataProcessor\Регистрация_DynaWrapperX\Form\Форма.xml -DataProcessor.Регистрация_DynaWrapperX.ObjectModule.txt-->DataProcessor\Регистрация_DynaWrapperX\ObjectModule.txt -DataProcessor.Регистрация_DynaWrapperX.Template.DynamicWrapperX.Template.bin-->DataProcessor\Регистрация_DynaWrapperX\Template\DynamicWrapperX\Template.bin -DataProcessor.Регистрация_DynaWrapperX.Template.DynamicWrapperX.xml-->DataProcessor\Регистрация_DynaWrapperX\Template\DynamicWrapperX.xml -DataProcessor.Регистрация_DynaWrapperX.Template.regsvrex.Template.bin-->DataProcessor\Регистрация_DynaWrapperX\Template\regsvrex\Template.bin -DataProcessor.Регистрация_DynaWrapperX.Template.regsvrex.xml-->DataProcessor\Регистрация_DynaWrapperX\Template\regsvrex.xml -DataProcessor.Регистрация_DynaWrapperX.xml-->DataProcessor\Регистрация_DynaWrapperX\Регистрация_DynaWrapperX.xml diff --git "a/src/xddDataFixtureGen/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.txt" "b/src/xddDataFixtureGen/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.txt" deleted file mode 100644 index ee7c4dae..00000000 --- "a/src/xddDataFixtureGen/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.txt" +++ /dev/null @@ -1,500 +0,0 @@ - -//////////////////////////////////////////////////////////////////////////////// -// ОБРАБОТЧИКИ СОБЫТИЙ ЭЛЕМЕНТОВ ШАПКИ ФОРМЫ - -//////////////////////////////////////////////////////////////////////////////// -// ОБРАБОТЧИКИ СОБЫТИЙ ТАБЛИЦЫ ФОРМЫ ТаблицаДанных - -&НаКлиенте -Процедура ТаблицаДанныхСсылкаПриИзменении(Элемент) - ТаблицаДанныхСсылкаПриИзмененииСервер(Элементы.ТаблицаДанных.ТекущаяСтрока); -КонецПроцедуры - -//////////////////////////////////////////////////////////////////////////////// -// ОБРАБОТЧИКИ КОМАНД ФОРМЫ - -&НаКлиенте -Процедура СоздатьМакетДанных(Команда) - ПанельИсточников = Элементы.ГруппаСтраницы; - Если ПанельИсточников.ТекущаяСтраница = ПанельИсточников.ПодчиненныеЭлементы.ГруппаМетаданные Тогда - КоманднаяПанель1СоздатьМакетДанныхПоМетаданным(); - ИначеЕсли ПанельИсточников.ТекущаяСтраница = ПанельИсточников.ПодчиненныеЭлементы.ГруппаТаблицаДанных Тогда - КоманднаяПанель1СоздатьМакетДанныхПоТаблицеДанных(); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура КоманднаяПанель1СоздатьМакетДанныхПоТаблицеДанных() - Если ПроверитьЗаполнение() Тогда - НовыйМакет = СоздатьМакетДанныхПоТаблицеДанныхСервер(); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура КоманднаяПанель1СоздатьМакетДанныхПоМетаданным() - - СохранитьОтображениеДерева(Объект.ДеревоМетаданных.ПолучитьЭлементы()); - НовыйМакет = СоздатьМакетДанныхПоМетаданнымСервер(); - ВосстановитьОтображениеДерева(Объект.ДеревоМетаданных.ПолучитьЭлементы()); - -КонецПроцедуры - -&НаКлиенте -Процедура ПротестироватьЗагрузкуМакета(Команда) - ЕстьВстроеннаяОбработка_юТест = Объект.ЕстьВстроеннаяОбработка_юТест; - ЭтоВстроеннаяОбработка = Объект.ЭтоВстроеннаяОбработка; - - Если ЭтоВстроеннаяОбработка И Не ЕстьВстроеннаяОбработка_юТест Тогда - СообщениеПользователю = Новый СообщениеПользователю; - СообщениеПользователю.Текст = НСтр("ru = 'В конфигурации отсутствует обработка "+ИмяЗапускателяТестов()+". Функция тестирования загрузки макета недоступна.'"); - СообщениеПользователю.Сообщить(); - Возврат; - КонецЕсли; - - Если ЕстьВстроеннаяОбработка_юТест Тогда - ПроверитьЗагрузкуМакетаСервер(Неопределено, Макет, Истина); - Иначе - путьФайл_юТест = ПолучитьПутьОбработкиЗапускателяТестов(); - ИдОбработки_юТест = ИмяЗапускателяТестов(); - ИДПодключеннойОбработки = ПодключитьНаСервереВнешнююОбработкуОтКлиента(путьФайл_юТест, ИдОбработки_юТест); - ПроверитьЗагрузкуМакетаСервер(ИДПодключеннойОбработки, Макет, Ложь); - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура СохранитьМакетДанныхВФайл(Команда) - ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); - ДиалогВыбораФайла.ПолноеИмяФайла = ""; - ДиалогВыбораФайла.Фильтр = "Табличный документ (*.mxl)|*.mxl|Все файлы (*.*)|*.*"; - ДиалогВыбораФайла.Заголовок = "Выберите файл"; - Если Не ДиалогВыбораФайла.Выбрать() Тогда - Возврат; - КонецЕсли; - - Макет.Записать(ДиалогВыбораФайла.ПолноеИмяФайла); -КонецПроцедуры - -&НаКлиенте -Процедура ОчиститьТаблицуДанных(Команда) - Объект.ТаблицаДанных.Очистить(); -КонецПроцедуры - -//////////////////////////////////////////////////////////////////////////////// -// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ - -&НаСервере -Функция Объект() - Возврат РеквизитФормыВЗначение("Объект"); -КонецФункции - -&НаСервере -Процедура ТаблицаДанныхСсылкаПриИзмененииСервер(ИдентификаторСтрокиДанных) - ЭлементДанных = Объект.ТаблицаДанных.НайтиПоИдентификатору(ИдентификаторСтрокиДанных); - Объект().ПриИзмененииСсылки(ЭлементДанных); -КонецПроцедуры - -&НаСервере -Функция СоздатьМакетДанныхПоТаблицеДанныхСервер() - Возврат Объект().СоздатьМакетДанныхПоТаблицеДанных(Макет); -КонецФункции - -&НаСервере -Функция СоздатьМакетДанныхПоМетаданнымСервер() - - ОбъектНаСервере = Объект(); - ЗаполнитьДеревоМетаданныхНаСервере(ОбъектНаСервере); - НовыйМакет = ОбъектНаСервере.СоздатьМакетДанныхПоМетаданным(Макет); - ЗначениеВРеквизитФормы(ОбъектНаСервере.ДеревоМетаданных, "Объект.ДеревоМетаданных"); - - Возврат НовыйМакет; - -КонецФункции - -&НаСервере -Функция ПодключитьВнешнююОбработкуСервер(АдресХранилища, ИдентификаторОбработки, ПолныйПутьФайлаОбработки) - Возврат Объект().ПодключитьВнешнююОбработку(АдресХранилища, ИдентификаторОбработки, ПолныйПутьФайлаОбработки); -КонецФункции - -&НаКлиенте -Функция ИмяЗапускателяТестов() - Возврат ИмяЗапускателяТестовСервер(); -КонецФункции - -&НаСервере -Функция ИмяЗапускателяТестовСервер() - ОсновнойОбъект = Объект(); - Возврат ОсновнойОбъект.ИмяЗапускателяТестов(); -КонецФункции - -&НаКлиенте -Функция ПолучитьПутьОбработкиЗапускателяТестов() - - имяФайла_Раннера = ИмяЗапускателяТестов() + ".epf"; - Файл = Новый Файл(ПутьОбработкиЗапускателяТестов + имяФайла_Раннера); - Если НЕ Файл.Существует() Тогда - Файл = Новый Файл(ПутьОбработкиЗапускателяТестов + "..\" + имяФайла_Раннера); - Если НЕ Файл.Существует() Тогда - ВызватьИсключение "Не удалось найти файл "+Файл.ПолноеИмя; - КонецЕсли; - КонецЕсли; - путьФайл_Раннер = Файл.ПолноеИмя; - Возврат путьФайл_Раннер; -КонецФункции - -&НаКлиенте -Функция ПодключитьНаСервереВнешнююОбработкуОтКлиента(ПолныйПутьФайлаОбработки, ИдентификаторОбработки) - АдресХранилища = ""; - //#Если ТонкийКлиент Тогда - ПоместитьФайл(АдресХранилища, ПолныйПутьФайлаОбработки,, Ложь); - //#КонецЕсли - Возврат ПодключитьВнешнююОбработкуСервер(АдресХранилища, ИдентификаторОбработки, ПолныйПутьФайлаОбработки); -КонецФункции - -&НаСервере -Процедура ПроверитьЗагрузкуМакетаСервер(ИдОбработки_юТест, ТабличныйДокумент, ЕстьВстроеннаяОбработка_юТест) - Объект().ПроверитьЗагрузкуМакета(ИдОбработки_юТест, ТабличныйДокумент, ЕстьВстроеннаяОбработка_юТест); -КонецПроцедуры - - - - -&НаСервере -Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) - - ОбъектНаСервере = Объект(); - ЭтаФорма.Заголовок = ОбъектНаСервере.ЗаголовокФормы(); - ИмяЗапускателяТестов = ИмяЗапускателяТестовСервер(); - - ОбъектНаСервере.Инициализация(); - ЗначениеВРеквизитФормы(ОбъектНаСервере.ДеревоМетаданных, "Объект.ДеревоМетаданных"); - - ОбъектНаСервере.СписокВыбора_РежимПоиска(Элементы.ТаблицаДанныхРежимПоиска.СписокВыбора); - ОбъектНаСервере.СписокВыбора_РежимСоздания(Элементы.ТаблицаДанныхРежимСоздания.СписокВыбора); - - Если Не ОбъектНаСервере.ЭтоВстроеннаяОбработка Тогда - ПутьОбработкиЗапускателяТестов = ОбъектНаСервере.ПолучитьКаталогОбработки(); - КонецЕсли; - - Объект.ВыгружатьСсылку = Истина; -КонецПроцедуры - -&НаКлиенте -Процедура ПересчитатьВыгружаемыеПоСсылке(Команда) - - Состояние(Нстр("ru = 'Выполняется поиск объектов метаданных, которые могут быть выгружены по ссылкам...'")); - СохранитьОтображениеДерева(Объект.ДеревоМетаданных.ПолучитьЭлементы()); - ПересчитатьВыгружаемыеПоСсылкеНаСервере(); - ВосстановитьОтображениеДерева(Объект.ДеревоМетаданных.ПолучитьЭлементы()); - -КонецПроцедуры - -&НаКлиенте -Процедура СохранитьОтображениеДерева(СтрокиДерева) - - Для Каждого Строка Из СтрокиДерева Цикл - - ИдентификаторСтроки=Строка.ПолучитьИдентификатор(); - Строка.Развернут = Элементы.ДеревоМетаданных.Развернут(ИдентификаторСтроки); - - СохранитьОтображениеДерева(Строка.ПолучитьЭлементы()); - - КонецЦикла; - -КонецПроцедуры - -&НаКлиенте -Процедура ВосстановитьОтображениеДерева(СтрокиДерева) - - Для Каждого Строка Из СтрокиДерева Цикл - - ИдентификаторСтроки=Строка.ПолучитьИдентификатор(); - Если Строка.Развернут Тогда - Элементы.ДеревоМетаданных.Развернуть(ИдентификаторСтроки); - КонецЕсли; - - ВосстановитьОтображениеДерева(Строка.ПолучитьЭлементы()); - - КонецЦикла; - -КонецПроцедуры - -&НаСервере -Процедура ПересчитатьВыгружаемыеПоСсылкеНаСервере() - - ОбъектНаСервере = Объект(); - ЗаполнитьДеревоМетаданныхНаСервере(ОбъектНаСервере); - ОбъектНаСервере.СоставВыгрузки(Истина); - ЗначениеВРеквизитФормы(ОбъектНаСервере.ДеревоМетаданных, "Объект.ДеревоМетаданных"); - -КонецПроцедуры - -&НаСервере -Процедура ЗаполнитьДеревоМетаданныхНаСервере(ОбъектНаСервере) - - ДеревоМетаданных = РеквизитФормыВЗначение("Объект.ДеревоМетаданных"); - - ОбъектНаСервере.Инициализация(); - - ПроставитьПометкиВыгружаемыхДанных(ОбъектНаСервере.ДеревоМетаданных.Строки, ДеревоМетаданных.Строки); - -КонецПроцедуры - -&НаСервере -Процедура ПроставитьПометкиВыгружаемыхДанных(СтрокиИсходногоДерева, СтрокиЗаменяемогоДерева) - - КолонкаВыгружать = СтрокиЗаменяемогоДерева.ВыгрузитьКолонку("Выгружать"); - СтрокиИсходногоДерева.ЗагрузитьКолонку(КолонкаВыгружать, "Выгружать"); - - КолонкаВыгружатьПриНеобходимости = СтрокиЗаменяемогоДерева.ВыгрузитьКолонку("ВыгружатьПриНеобходимости"); - СтрокиИсходногоДерева.ЗагрузитьКолонку(КолонкаВыгружатьПриНеобходимости, "ВыгружатьПриНеобходимости"); - - КолонкаРазвернут = СтрокиЗаменяемогоДерева.ВыгрузитьКолонку("Развернут"); - СтрокиИсходногоДерева.ЗагрузитьКолонку(КолонкаРазвернут, "Развернут"); - - КолонкаНастройкиКомпоновщика = СтрокиЗаменяемогоДерева.ВыгрузитьКолонку("НастройкиКомпоновщика"); - СтрокиИсходногоДерева.ЗагрузитьКолонку(КолонкаНастройкиКомпоновщика, "НастройкиКомпоновщика"); - - КолонкаИспользоватьОтбор = СтрокиЗаменяемогоДерева.ВыгрузитьКолонку("ИспользоватьОтбор"); - СтрокиИсходногоДерева.ЗагрузитьКолонку(КолонкаИспользоватьОтбор, "ИспользоватьОтбор"); - - Для Каждого СтрокаИсходногоДерева Из СтрокиИсходногоДерева Цикл - - ИндексСтроки = СтрокиИсходногоДерева.Индекс(СтрокаИсходногоДерева); - СтрокаИзменяемогоДерева = СтрокиЗаменяемогоДерева.Получить(ИндексСтроки); - - ПроставитьПометкиВыгружаемыхДанных(СтрокаИсходногоДерева.Строки, СтрокаИзменяемогоДерева.Строки); - - КонецЦикла; - -КонецПроцедуры - -//////////////////////////////////////////////////////////////////////////////// -// ОБРАБОТЧИКИ СОБЫТИЙ ТАБЛИЦЫ ФОРМЫ ДеревоМетаданных - -&НаКлиенте -Процедура ДеревоМетаданныхВыгружатьПриИзменении(Элемент) - - ТекущиеДанные = Элементы.ДеревоМетаданных.ТекущиеДанные; - - Если ТекущиеДанные.Выгружать = 2 Тогда - ТекущиеДанные.Выгружать = 0; - КонецЕсли; - - УстановитьПометкиПодчиненных(ТекущиеДанные, "Выгружать"); - УстановитьПометкиРодителей(ТекущиеДанные, "Выгружать"); - -КонецПроцедуры - -&НаКлиенте -Процедура ДеревоМетаданныхВыгружатьПриНеобходимостиПриИзменении(Элемент) - - ТекущиеДанные = Элементы.ДеревоМетаданных.ТекущиеДанные; - - Если ТекущиеДанные.ВыгружатьПриНеобходимости = 2 Тогда - ТекущиеДанные.ВыгружатьПриНеобходимости = 0; - КонецЕсли; - - УстановитьПометкиПодчиненных(ТекущиеДанные, "ВыгружатьПриНеобходимости"); - УстановитьПометкиРодителей(ТекущиеДанные, "ВыгружатьПриНеобходимости"); - -КонецПроцедуры - -&НаКлиенте -Процедура УстановитьПометкиПодчиненных(ТекСтрока, ИмяФлажка) - - Подчиненные = ТекСтрока.ПолучитьЭлементы(); - - Если Подчиненные.Количество() = 0 Тогда - Возврат; - КонецЕсли; - - Для Каждого Строка из Подчиненные Цикл - - Строка[ИмяФлажка] = ТекСтрока[ИмяФлажка]; - - УстановитьПометкиПодчиненных(Строка, ИмяФлажка); - - КонецЦикла; - -КонецПроцедуры - -&НаКлиенте -Процедура УстановитьПометкиРодителей(ТекСтрока, ИмяФлажка) - - Родитель = ТекСтрока.ПолучитьРодителя(); - Если Родитель = Неопределено Тогда - Возврат; - КонецЕсли; - - ТекСостояние = Родитель[ИмяФлажка]; - - НайденыВключенные = Ложь; - НайденыВыключенные = Ложь; - - Для Каждого Строка из Родитель.ПолучитьЭлементы() Цикл - Если Строка[ИмяФлажка] = 0 Тогда - НайденыВыключенные = Истина; - ИначеЕсли Строка[ИмяФлажка] = 1 - ИЛИ Строка[ИмяФлажка] = 2 Тогда - НайденыВключенные = Истина; - КонецЕсли; - Если НайденыВключенные И НайденыВыключенные Тогда - Прервать; - КонецЕсли; - КонецЦикла; - - Если НайденыВключенные И НайденыВыключенные Тогда - Включить = 2; - ИначеЕсли НайденыВключенные И (Не НайденыВыключенные) Тогда - Включить = 1; - ИначеЕсли (Не НайденыВключенные) И НайденыВыключенные Тогда - Включить = 0; - ИначеЕсли (Не НайденыВключенные) И (Не НайденыВыключенные) Тогда - Включить = 2; - КонецЕсли; - - Если Включить = ТекСостояние Тогда - Возврат; - Иначе - Родитель[ИмяФлажка] = Включить; - УстановитьПометкиРодителей(Родитель, ИмяФлажка); - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ДеревоМетаданныхПриАктивизацииСтроки(Элемент) - - Если Элемент.ТекущаяСтрока = ДеревоМетаданныхПредыдущаяСтрока Тогда - Возврат; - КонецЕсли; - ДеревоМетаданныхПредыдущаяСтрока = Элемент.ТекущаяСтрока; - - НастроитьКомпоновщик(); - -КонецПроцедуры - -// Служит для настройки построителя при отборе данных -// -// Параметры: -// -&НаКлиенте -Процедура НастроитьКомпоновщик() - - ТекущаяСтрока = Элементы.ДеревоМетаданных.ТекущиеДанные; - - Если ТекущаяСтрока = Неопределено Тогда - Возврат; - КонецЕсли; - - Если НЕ ОпределитьПоСтрокеДереваДоступенПостроитель(ТекущаяСтрока) Тогда - - ДоступностьКомпоновщика = ЛОЖЬ; - УдалитьОтборыКомпоновщика(Объект.КомпоновщикНастроекКомпоновкиДанных); - - Иначе - - Попытка - - НастроитьКомпоновщикНаСервере(Элементы.ДеревоМетаданных.ТекущаяСтрока); - - ДоступностьКомпоновщика = Истина; - - Исключение - ДоступностьКомпоновщика = ЛОЖЬ; - УдалитьОтборыКомпоновщика(Объект.КомпоновщикНастроекКомпоновкиДанных); - КонецПопытки; - - КонецЕсли; - - Элементы.КомпоновщикОтбор.Доступность = ДоступностьКомпоновщика; - //Элементы.КоманднаяПанельКомпоновщикОтбор.Доступность = ДоступностьКомпоновщика; - -КонецПроцедуры - -&НаКлиенте -Функция ОпределитьПоСтрокеДереваДоступенПостроитель(СтрокаДерева) - - Если СтрокаДерева.ПолучитьЭлементы().Количество() > 0 Тогда - Возврат Ложь; - Иначе - Возврат Истина; - КонецЕсли; - -КонецФункции - -&НаКлиенте -Процедура УдалитьОтборыКомпоновщика(Компоновщик) - - Компоновщик.Настройки.Отбор.Элементы.Очистить(); - -КонецПроцедуры - -&НаСервере -Процедура НастроитьКомпоновщикНаСервере(ТекущаяСтрока) - - СтрокаДерева = Объект.ДеревоМетаданных.НайтиПоИдентификатору(ТекущаяСтрока); - СхемаКомпоновкиДанных = Объект().ПодготовитьКомпоновщикДляВыгрузки(СтрокаДерева); - АдресСхемы = ПоместитьВоВременноеХранилище(СхемаКомпоновкиДанных, УникальныйИдентификатор); - Объект.КомпоновщикНастроекКомпоновкиДанных.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемы)); - Объект.КомпоновщикНастроекКомпоновкиДанных.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию); - -КонецПроцедуры // НастроитьКомпоновщикНаСервере() - -&НаКлиенте -Процедура КомпоновщикОтборПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования) - - ОбновитьНастройкиПостроителяВТаблицеДляВыгрузки(); - -КонецПроцедуры - -&НаКлиенте -Процедура КомпоновщикОтборПослеУдаления(Элемент) - - ОбновитьНастройкиПостроителяВТаблицеДляВыгрузки(); - -КонецПроцедуры - -&НаКлиенте -Процедура ОбновитьНастройкиПостроителяВТаблицеДляВыгрузки() - - ТекущаяСтрока = Элементы.ДеревоМетаданных.ТекущиеДанные; - Если Объект.КомпоновщикНастроекКомпоновкиДанных.Настройки.Отбор.Элементы.Количество() > 0 Тогда - - ТекущаяСтрока.НастройкиКомпоновщика = Объект.КомпоновщикНастроекКомпоновкиДанных.Настройки.Отбор;//Объект.КомпоновщикНастроекКомпоновкиДанных.ПолучитьНастройки(); - ТекущаяСтрока.ИспользоватьОтбор = ИСТИНА; - ТекущаяСтрока.Выгружать = Истина; - - Иначе - - ТекущаяСтрока.НастройкиКомпоновщика = Неопределено; - ТекущаяСтрока.ИспользоватьОтбор = ЛОЖЬ; - - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ПоказатьРезультатОтбора(Команда) - - // показать выбранные записи - Если Элементы.КомпоновщикОтбор.Доступность <> Истина - ИЛИ Элементы.ДеревоМетаданных.ТекущиеДанные = Неопределено Тогда - Возврат; - КонецЕсли; - - ТабличныйДокумент = ПолучитьРезультатОтбораНаСервере(); - ТабличныйДокумент.Показать(НСтр("ru = 'Выбранные объекты'")); - -КонецПроцедуры - -&НаСервере -Функция ПолучитьРезультатОтбораНаСервере() - - СтрокаДерева = Объект.ДеревоМетаданных.НайтиПоИдентификатору(Элементы.ДеревоМетаданных.ТекущаяСтрока); - ТабличныйДокумент = Объект().СформироватьОтчетПоОтобраннымДанным(СтрокаДерева); - - Возврат ТабличныйДокумент; - -КонецФункции // ПолучитьРезультатОтбораНаСервере() diff --git "a/src/xddDataFixtureGen/Form/\320\244\320\276\321\200\320\274\320\260/form" "b/src/xddDataFixtureGen/Form/\320\244\320\276\321\200\320\274\320\260/form" deleted file mode 100644 index 2155d6e8..00000000 --- "a/src/xddDataFixtureGen/Form/\320\244\320\276\321\200\320\274\320\260/form" +++ /dev/null @@ -1,6069 +0,0 @@ -{27, -{16, -{ -{1,0},30,4294967295}, -{09ccdc77-ea1a-4a6d-ab1c-3435eada2433, -{1, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},21,1, -{0,11,1},2, -{0,7,1}, -{0,11,1},1, -{0,2,2},4, -{0,2,3}, -{0,7,3}, -{0,11,3}, -{0,13,3},0,0, -{3,1, -{3,0, -{0},"",-1,-1,1,0} -},0,1, -{1,1, -{3, -{1,1, -{"ru","Страница1"} -}, -{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,33,0,1,2,0,0,0,0}, -{2,738,1,1,3,0,0,8,0}, -{2,492,0,1,4,0,0,8,0},0,4294967295,5,64,0}, -{0} -}, -{4, -{e69bf21d-97b2-4f37-86db-675aea9ec2cb,2, -{2, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-21} -}, -{3,0, -{0},4,1,0,00000000-0000-0000-0000-000000000000}, -{1,0} -},8,2,1,0,1,1, -{5,c45fa92b-aba3-4d9e-a9fe-274560abc287,265,1,8, -{6,064f7c74-a09c-4679-9ca4-6e26abc1de73,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,e424d0ab-be5c-4ec0-8641-4a921c7496e7,1,e1692cc2-605b-4535-84dd-28440238746c, -{3,"КоманднаяПанель1ПодменюСоздатьМакетДанных", -{1,"КоманднаяПанель1ПодменюСоздатьМакетДанных", -{1,1, -{"ru","Подменю создать макет данных"} -}, -{1,1, -{"ru","Подменю создать макет данных"} -}, -{1,1, -{"ru","Подменю создать макет данных"} -}, -{3,0, -{0},"",-1,-1,1,0}, -{0,0,0} -} -},1, -{3,1, -{0,affb1617-24bc-4170-9c84-0902cc3ef206},"",-1,-1,1,0} -}, -{6,2bd1e26b-aa47-4ae1-9e76-9e1a65f5ff79,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,104fe59d-b9f7-4db8-9f9c-63b00d98a895,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,5fbf2b6e-84bd-4e23-b13a-50a355ebe9d0,1,e1692cc2-605b-4535-84dd-28440238746c, -{3,"КоманднаяПанель1ПротестироватьЗагрузкуМакета", -{1,"КоманднаяПанель1ПротестироватьЗагрузкуМакета", -{1,1, -{"ru","Протестировать загрузку макета"} -}, -{1,1, -{"ru","Протестировать загрузку макета"} -}, -{1,1, -{"ru","Протестировать загрузку макета"} -}, -{3,0, -{0},"",-1,-1,1,0}, -{0,0,0} -} -},1, -{3,1, -{0,20ebc47b-f4d9-439c-acd3-fdc624fbac2a},"",-1,-1,1,0} -}, -{6,418b5ad5-f1f5-4af6-90ed-54fe5c32e657,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,71a327a7-151d-4a1d-80b4-2d9ed5dccc49,1,fbe38877-b914-4fd5-8540-07dde06ba2e1, -{6,4294967295,00000000-0000-0000-0000-000000000000,142, -{1,99,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0},0,1},0}, -{6,b450e9b4-7010-4e1e-a130-3b854aa12294,1,e1692cc2-605b-4535-84dd-28440238746c, -{3,"КоманднаяПанель1СохранитьМакетДанныхВФайл", -{1,"КоманднаяПанель1СохранитьМакетДанныхВФайл", -{1,1, -{"ru","Сохранить макет данных в файл"} -}, -{1,1, -{"ru","Сохранить макет данных в файл"} -}, -{1,1, -{"ru","Сохранить макет данных в файл"} -}, -{3,0, -{0},"",-1,-1,1,0}, -{0,0,0} -} -},1, -{3,1, -{0,818ab7d0-4654-4542-bd5e-fd9d1352b5a1},"",-1,-1,1,0} -},1, -{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,8,104fe59d-b9f7-4db8-9f9c-63b00d98a895, -{8,"Разделитель4",0,1, -{1,1, -{"ru","Действие2"} -},0,c45fa92b-aba3-4d9e-a9fe-274560abc287,38,1e2,2,0,1,0,0,0,0},e424d0ab-be5c-4ec0-8641-4a921c7496e7, -{8,"ПодменюСоздатьМакетДанных",0,1, -{1,1, -{"ru","Создать макет данных"} -},1,c45fa92b-aba3-4d9e-a9fe-274560abc287,81,1e2,0,3,1,0,0,0,0},418b5ad5-f1f5-4af6-90ed-54fe5c32e657, -{8,"Разделитель1",0,1, -{1,1, -{"ru","Действие1"} -},0,c45fa92b-aba3-4d9e-a9fe-274560abc287,11,1e2,2,0,1,0,0,0,0},5fbf2b6e-84bd-4e23-b13a-50a355ebe9d0, -{8,"ПротестироватьЗагрузкуМакета",0,1, -{1,1, -{"#","Протестировать загрузку макета"} -},0,c45fa92b-aba3-4d9e-a9fe-274560abc287,12,1e2,0,3,1,0,0,0,0},064f7c74-a09c-4679-9ca4-6e26abc1de73, -{8,"Разделитель2",0,1, -{1,1, -{"ru","Действие1"} -},0,c45fa92b-aba3-4d9e-a9fe-274560abc287,13,1e2,2,0,1,0,0,0,0},b450e9b4-7010-4e1e-a130-3b854aa12294, -{8,"СохранитьМакетДанныхВФайл",0,1, -{1,1, -{"#","Сохранить макет данных в файл"} -},0,c45fa92b-aba3-4d9e-a9fe-274560abc287,14,1e2,0,3,1,0,0,0,0},2bd1e26b-aa47-4ae1-9e76-9e1a65f5ff79, -{8,"Разделитель3",0,1, -{1,1, -{"ru","Действие2"} -},0,c45fa92b-aba3-4d9e-a9fe-274560abc287,16,1e2,2,0,1,0,0,0,0},71a327a7-151d-4a1d-80b4-2d9ed5dccc49, -{8,"Действие1",0,1, -{1,1, -{"#","Действие1"} -},0,c45fa92b-aba3-4d9e-a9fe-274560abc287,15,1e2,0,3,1,0,0,0,0}, -{0,0, -{0} -} -} -},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,9d0a2e40-b978-11d4-84b6-008048da06df,0} -}, -{8,0,0,746,25,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,2,0,25}, -{2,-1,6,0} -}, -{0, -{2,0,2,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,2,1},0,0,0,0,0,0,0,1,1,0}, -{14,"КоманднаяПанель1",0,0,0,0}, -{0} -}, -{236a17b3-7f44-46d9-a907-75f9cdc61ab5,7, -{16,8,340,738,492,5,5,1,1, -{3,3, -{-22} -}, -{3,1, -{-18},0,0,0}, -{8,1,6, -{"ru","ru",1,1,"ru","Русский","Русский"}, -{128,72}, -{0},0, -{0,0}, -{0,0}, -{0,0}, -{0,0}, -{0,0}, -{0,0},0,2,0, -{0,0,00000000-0000-0000-0000-000000000000,0},0,0,0,0,0,0,0,0,0, -{0}, -{0}, -{0}, -{0},"", -{ -{0,6,6, -{"N",1000},7, -{"N",1000},8, -{"N",1000},9, -{"N",1000},10, -{"N",1000},11, -{"N",1000} -} -}, -{0,-1,-1,-1,-1,00000000-0000-0000-0000-000000000000},0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,2, -{3,3, -{-1} -}, -{3,3, -{-3} -},0,0,0,"",0, -{2,0,0,100,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,"",0,0,0,0,0,0}, -{0},0},0,1, -{2,0,0,100,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,"ru",0,1, -{3,0,0,0,0,00000000-0000-0000-0000-000000000000},0,0,0,0},1,1, -{0},0,0,0,1,1,1,0,1,1,0,0,0}, -{8,8,340,738,492,1, -{0, -{2,11,1,0}, -{2,-1,6,0} -}, -{0, -{2,0,1,-8}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,-8}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},0,0,0,0,0,0,0,1,4,0,0}, -{14,"Макет",4294967295,0,0,0}, -{0} -}, -{36e52348-5d60-4770-8e89-a16ed50a2006,11, -{0, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{-18},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},2,2,0} -}, -{8,8,336,738,340,1, -{0, -{2,11,1,-4}, -{2,-1,6,0} -}, -{0, -{2,0,0,340}, -{2,0,1,-160} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,-8}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,13,1},2, -{0,7,0}, -{0,11,0},0,0,0,0,0,2,3,0,0}, -{14,"Разделитель1",4294967295,0,0,0}, -{0} -}, -{09ccdc77-ea1a-4a6d-ab1c-3435eada2433,13, -{1, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},21,16, -{0,15,0}, -{0,15,1}, -{0,16,0}, -{0,16,1}, -{0,17,0}, -{0,17,1}, -{0,18,0}, -{0,18,1}, -{0,19,0}, -{0,19,1}, -{0,20,0}, -{0,20,1}, -{0,21,0}, -{0,21,1}, -{0,22,0}, -{0,22,1},3, -{0,6,1}, -{0,14,1}, -{0,23,1},18, -{0,14,3}, -{0,15,2}, -{0,15,3}, -{0,16,2}, -{0,16,3}, -{0,17,2}, -{0,17,3}, -{0,18,2}, -{0,18,3}, -{0,19,2}, -{0,19,3}, -{0,20,2}, -{0,20,3}, -{0,21,2}, -{0,21,3}, -{0,22,2}, -{0,22,3}, -{0,25,3},6, -{0,5,3}, -{0,6,3}, -{0,14,3}, -{0,23,3}, -{0,24,3}, -{0,25,3},0,0, -{3,1, -{3,0, -{0},"",-1,-1,1,0} -},1,1, -{1,2, -{3, -{1,1, -{"ru","Метаданные"} -}, -{3,0, -{3,0, -{0},"",-1,-1,1,0} -},-1,1,1,"СтраницаМетаданные",1}, -{3, -{1,1, -{"ru","Таблица данных"} -}, -{3,0, -{3,0, -{0},"",-1,-1,1,0} -},-1,1,1,"СтраницаТаблицаДанных",1} -},1,1,0,8, -{2,6,1,1,1,1,0,0,0}, -{2,6,0,1,2,1,0,0,0}, -{2,722,1,1,3,1,0,6,0}, -{2,277,0,1,4,1,0,6,0}, -{2,6,1,1,1,0,0,0,0}, -{2,6,0,1,2,0,0,0,0}, -{2,722,1,1,3,0,0,6,0}, -{2,277,0,1,4,0,0,6,0},0,4294967295,4294967295,5,64,0}, -{0} -}, -{8,8,33,738,336,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,11,0,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,-8}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},0,0,0,0,0,0,0,3,2,0,0}, -{14,"ПанельИсточникиДанных",4294967295,0,0,0}, -{19, -{e69bf21d-97b2-4f37-86db-675aea9ec2cb,5, -{2, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},8,2,1,0,1,1, -{5,c57d1982-5648-4cf0-a874-e4b7f130b2f9,368,1,2, -{6,2652bf16-26f3-4e8a-8b22-596149400919,1,e1692cc2-605b-4535-84dd-28440238746c, -{3,"КоманднаяПанель2ОчиститьТаблицуДанных", -{1,"КоманднаяПанель2ОчиститьТаблицуДанных", -{1,1, -{"ru","Очистить таблицу данных"} -}, -{1,1, -{"ru","Очистить таблицу данных"} -}, -{1,1, -{"ru","Очистить таблицу данных"} -}, -{3,0, -{0},"",-1,-1,1,0}, -{0,0,0} -} -},1, -{3,1, -{-2},"",-1,-1,1,0} -}, -{6,5abb7ad5-9a32-4648-a195-3a8c369b64e1,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0},1, -{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,2,5abb7ad5-9a32-4648-a195-3a8c369b64e1, -{8,"Разделитель",0,1, -{1,1, -{"ru","Действие9"} -},0,c57d1982-5648-4cf0-a874-e4b7f130b2f9,88,1e2,2,0,1,0,0,0,0},2652bf16-26f3-4e8a-8b22-596149400919, -{8,"ОчиститьТаблицуДанных",0,1, -{1,1, -{"ru","Очистить"} -},1,c57d1982-5648-4cf0-a874-e4b7f130b2f9,89,1e2,0,3,1,0,0,0,0}, -{0,0, -{0} -} -} -},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,9d0a2e40-b978-11d4-84b6-008048da06df,0} -}, -{8,6,6,722,31,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,5,0,25}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,-6}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,5,1},0,0,0,0,0,1,0,1,0,0}, -{14,"КоманднаяПанель2",6,0,0,0}, -{0} -}, -{ea83fe3a-ac3c-4cce-8045-3dddf35b28b1,6, -{5, -{"Pattern", -{"#",29b6a235-8506-4b28-9b61-48d9cb0967ae} -}, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,1, -{-18},0,0,0}, -{1,0} -}, -{15,117578765, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-14} -}, -{3,3, -{-15} -}, -{3,3, -{-13} -},2,2,0,0,0,0,0,1,1, -{6,2,0, -{-20},1}, -{6,2,0, -{-20},1},2,0,1, -{7, -{c2cf1953-2796-4fe2-b78c-ff84140b124e, -{1, -{8, -{16, -{1,1, -{"ru","N"} -}, -{1,0}, -{1,0},28,0,-2,-1,-1,12590594, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"НомерСтроки", -{},4,0, -{1,0}, -{"Pattern"},0,1,00000000-0000-0000-0000-000000000000}, -{-2}, -{-1}, -{-1} -},0,0} -}, -{c2cf1953-2796-4fe2-b78c-ff84140b124e, -{1, -{8, -{16, -{1,1, -{"ru","Ссылка"} -}, -{1,0}, -{1,0},1e2,1,0,-1,-1,12590592, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"Ссылка", -{},15,0, -{1,0}, -{"Pattern", -{"#",214fa4d8-6ba4-4748-a5e1-6332b5887780}, -{"#",38bfd075-3e63-4aaa-a93e-94521380d579}, -{"#",e61ef7b8-f3e1-4f4b-8ac7-676e90524997} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcN1VM9bhUxEKahiZSOAzyZdkeyx2N7fAsaDmDvekuK -KFTRSlBAk5aCDsEJQALxRIhyBe9JuAL2/r3wICgFDV7/zcznb8aznkcPH0ztx9XN -hW9OTy7Ek3B+ns6eiUl4LBpU1AfqGGwMBOSIIZikwGqN0TA7x3JYwZpj30lnQCer -gUIIELxO4Mmg0iw74/wGTlal3kWGXhc+6ikCh9aBdTZ5aZC8d8PpyYSfu5KNqpJu -qC5ytR7LttFNgQ5lmqy6LoB4F/53eT7hjhWoDpopElBcvZRv0qpm5kA1Kdf5toTG -TCvNwYmnYthWITaYXGOXc2TVBqp2tfi6y7Sd/TWslfVwgWpQfVIRDXjXGqCu7ELU -PXDrg7HGKMS0+Foa/GFa20rNhg1KF8G3wQGhKTvNBhL3nXUtJUVccTUReC/mW7ld -fHQOuSeTIElbHo9lB77jCDLE3kqWhGiXJNwz8oV4+q3l0ZeHri25JinrsW0RrCz3 -IKMNMHUdIBNJ1OzItnOKRP6QP+ZP+Srvx9dl96aM63w9Xo6v8vvx5XhZLN+K7t34 -Iu/z2/w1f89fCqKOfd6L2fu/YZluIc6ei2O+Xf58INwVvo1xl28q5a6wHHMecvN/ -8f6lerZa2PpSelu5DD8B},0} -}, -{0,708a2cac-1726-438b-94d8-aa7c9447b3a0}, -{-1}, -{-1} -},0,0} -}, -{c2cf1953-2796-4fe2-b78c-ff84140b124e, -{1, -{8, -{16, -{1,1, -{"ru","Метаданное"} -}, -{1,0}, -{1,0},1e2,2,1,-1,-1,12590592, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"Метаданное", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ -OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U -bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm -rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ -XFhJtSKWz30vMgcItzCmDw==},0} -}, -{0,ed59e5f4-5d76-4fdc-82e3-929b6bac9114}, -{-1}, -{-1} -},0,0} -}, -{c2cf1953-2796-4fe2-b78c-ff84140b124e, -{1, -{8, -{16, -{1,1, -{"ru","Имя переменной"} -}, -{1,0}, -{1,0},1e2,3,2,-1,-1,12590592, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"ИмяПеременной", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ -OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U -bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm -rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ -XFhJtSKWz30vMgcItzCmDw==},0} -}, -{0,4c88b9d2-3975-40da-ad74-9a82a21b356f}, -{-1}, -{-1} -},0,0} -}, -{c2cf1953-2796-4fe2-b78c-ff84140b124e, -{1, -{8, -{16, -{1,1, -{"ru","Выгружать код/номер"} -}, -{1,0}, -{1,0},1e2,4,-1,3,-1,12590592, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},0,0,0,4,0,"ВыгружатьКод", -{},15,0, -{1,0}, -{"Pattern", -{"S",10,1} -},0,1,00000000-0000-0000-0000-000000000000}, -{-1}, -{0,7f9c01b3-0d10-4675-90c1-3da13269f871}, -{-1} -},0,0} -}, -{c2cf1953-2796-4fe2-b78c-ff84140b124e, -{1, -{8, -{16, -{1,1, -{"ru","Режим поиска"} -}, -{1,0}, -{1,0},1e2,5,4,-1,-1,12590592, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"РежимПоиска", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ -OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U -bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm -rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ -XFhJtSKWz30vMgcItzCmDw==},0} -}, -{0,88963759-0a6a-4839-bed2-219c5763c0c8}, -{-1}, -{-1} -},0,0} -}, -{c2cf1953-2796-4fe2-b78c-ff84140b124e, -{1, -{8, -{16, -{1,1, -{"ru","Режим создания"} -}, -{1,0}, -{1,0},1e2,6,5,-1,-1,12590592, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"РежимСоздания", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ -OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U -bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm -rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ -XFhJtSKWz30vMgcItzCmDw==},0} -}, -{0,5825a722-21bd-4ffe-b328-3e3f2e4b3c4c}, -{-1}, -{-1} -},0,0} -} -},0,0,0,0} -}, -{51d1e122-c0f3-496f-901e-806df8206ba9, -{2,1, -{0,1} -} -}, -{0} -}, -{8,6,35,722,277,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,1,-6}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,-6}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},0,0,0,0,0,0,1,1,2,0,0}, -{14,"ТаблицаДанных",4294967295,0,0,0}, -{0} -}, -{ea83fe3a-ac3c-4cce-8045-3dddf35b28b1,14, -{5, -{"Pattern", -{"#",e603c0f2-92fb-4d47-8f38-a44a381cf235} -}, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,1, -{-18},0,0,0}, -{1,0} -}, -{15,117644833, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-14} -}, -{3,3, -{-15} -}, -{3,3, -{-13} -},2,2,0,0,0,0,0,1,1, -{6,2,0, -{-20},1}, -{6,2,0, -{-20},1},0,2,0, -{2, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","Данные для выгрузки"} -}, -{1,0}, -{1,0},139,2,-1,-1,-1,12590601, -{3,0, -{0},"",-1,-1,1,0}, -{3,3, -{0},"",334,13,1, -{ -{#base64:Qk02GQAAAAAAADYEAAAoAAAAUAEAABAAAAABAAgAAAAAAAAVAAAAAAAAAAAAAAAA -AAAAAAAAAAAAADMAAABmAAAAmQAAAMwAAAD/AAAAADMAADMzAABmMwAAmTMAAMwz -AAD/MwAAAGYAADNmAABmZgAAmWYAAMxmAAD/ZgAAAJkAADOZAABmmQAAmZkAAMyZ -AAD/mQAAAMwAADPMAABmzAAAmcwAAMzMAAD/zAAAAP8AADP/AABm/wAAmf8AAMz/ -AAD//wAAAAAzADMAMwBmADMAmQAzAMwAMwD/ADMAADMzADMzMwBmMzMAmTMzAMwz -MwD/MzMAAGYzADNmMwBmZjMAmWYzAMxmMwD/ZjMAAJkzADOZMwBmmTMAmZkzAMyZ -MwD/mTMAAMwzADPMMwBmzDMAmcwzAMzMMwD/zDMAAP8zADP/MwBm/zMAmf8zAMz/ -MwD//zMAAABmADMAZgBmAGYAmQBmAMwAZgD/AGYAADNmADMzZgBmM2YAmTNmAMwz -ZgD/M2YAAGZmADNmZgBmZmYAmWZmAMxmZgD/ZmYAAJlmADOZZgBmmWYAmZlmAMyZ -ZgD/mWYAAMxmADPMZgBmzGYAmcxmAMzMZgD/zGYAAP9mADP/ZgBm/2YAmf9mAMz/ -ZgD//2YAAACZADMAmQBmAJkAmQCZAMwAmQD/AJkAADOZADMzmQBmM5kAmTOZAMwz -mQD/M5kAAGaZADNmmQBmZpkAmWaZAMxmmQD/ZpkAAJmZADOZmQBmmZkAmZmZAMyZ -mQD/mZkAAMyZADPMmQBmzJkAmcyZAMzMmQD/zJkAAP+ZADP/mQBm/5kAmf+ZAMz/ -mQD//5kAAADMADMAzABmAMwAmQDMAMwAzAD/AMwAADPMADMzzABmM8wAmTPMAMwz -zAD/M8wAAGbMADNmzABmZswAmWbMAMxmzAD/ZswAAJnMADOZzABmmcwAmZnMAMyZ -zAD/mcwAAMzMADPMzABmzMwAmczMAMzMzAD/zMwAAP/MADP/zABm/8wAmf/MAMz/ -zAD//8wAAAD/ADMA/wBmAP8AmQD/AMwA/wD/AP8AADP/ADMz/wBmM/8AmTP/AMwz -/wD/M/8AAGb/ADNm/wBmZv8AmWb/AMxm/wD/Zv8AAJn/ADOZ/wBmmf8AmZn/AMyZ -/wD/mf8AAMz/ADPM/wBmzP8Amcz/AMzM/wD/zP8AAP//ADP//wBm//8Amf//AMz/ -/wD///8AAAAAAA0NDQAaGhoAKCgoADU1NQBDQ0MAUFBQAF1dXQBra2sAeHh4AIaG -hgCTk5MAoaGhAK6urgC7u7sAycnJANbW1gDk5OQA8fHxAP///wAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAObm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm -5ubm5ubm5ubm5ubm5ubm5ujo5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm -5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5sPm5ubm5ubm5ubm5ubo -5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm -5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm -5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm -5ubm5ubm5oKCgoKCgoKCgoKCgoKC5ubm4uLi4uLi4uLi4uLi5ubm5ubm5ubm5ubm -5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5nnmo6Oj -5ubm5ubm5ubm5ubm5ubmFhbo5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm -5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5hTm5ubm5ubmw9DD5ubm5ujo6Ojo6Oid -6Obm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm -5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubmhoaGPebm5ubm5ubm5ubm5ubm5ubm -5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubn5+fn5+fn -5+bm5ubm5oLX19fX19fX19fX19eC5ubm4tfX19fX19fX19fi5ubm5ubm5ubm5ubm -5ubm5ubm5ubm5ubm5ubm5ubm5ubm5uZ/VVVVVVVVVVVVVVVVf+bm5ubm5nmc5ubm -zObm5ubm5ubm5ubm5ubmFhbo5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm -5ubm5ubm5ubm5ubm5ubpiDo05ubm5ubmFGMU5ubm5ubD0NDQw+bmnZ2dnZ2dnZ3I -nejm5ubm5ubOzs7Oo4aGhubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm -5ubm5ubm5OTk5OTk5OTk5OTk5OTk5ubm5ubmhoaGPT3m5ubm5ubm5ubm5ubm5gPm -5ubm5ubm5ubm5OTk5OTk5OTk5OTk5ubm5OTk5OTk5OTk5OTk5Obm5ubn19fX19fX -5+bm5ubm5oLX19fX19fX19fX19eC5ubm4tfX19fX19fo19fi5ubk5OTk5OTk5OTk -5OTk5ubm5ubm5ubm5ubm5ubm5ubm5uZ/q6urq6urq6urq6urf+bm5ubm5nl5eebm -5szm5ubm5ubm5ubm5ubmFhbo5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm -5ubm5ubm5ubmsoc9E4jpiDo0Oubm5uYUY2NjFObm5sPQ0NDQ0MPmyMjIyMjIyMjI -yJ3m5ubm5ubOzs7Oo4aGhj3m5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm -5ubm5ubm19fX19fX19fX19fX19fk5ubm5ubmhoaGPT095ubm5ubm5ubm5uY0NDMz -A+bm5ubm5ubm59fX19fX19fX19fk5ubm5NfX19fX19fX19fX5Obk5OTn17OIs4jX -5+Tk5OTm5oLXidfn5+fn59fQydeC5ubm4tfX19fX1xbo19fi5ubk19fX19fX19fX -19fk5ubm5ubm5ubm5ubm5ubm5ubm5uZ/q+Pj46ur4+Pj46urf+bm5ubm5ubm5ubm -5szm5ubm5ubm5ubo6ObmFhbo5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm -5ubm5ubm5uY9soc9E4iIOjQ0Oubm5hQUFBQUFBTm5ubD0NDQw+bmz8/Pz8/Pz8/I -yObm5ubm5ubOzs7Oo4aGhj095ubm5ubm5ubm5ubmiYmJ5ubm5ubm5ubm5ubm5ubm -5ubm5ubm1zo6OjrXOjrXOjo6Otfk5ubm5ubmhoaGPT095ubm5ubm5ubmNDQ6Ojo6 -NDMD5ubm5ubm59fX6YLp19fX19fk5ubm5Ncz5zPnM+cz5zPX5Obk19fn19fX19fX -V9fX1+Tm5oLX19fX19fX19fX19eC5ubm4tfX19fX1xbo19fi5ubk19fX19fX19fX -19fk5ubm5ubm5tDQtObm5ubm5i3p5uZ/q6urq6urq6urq6urf+bm5uYWHTQDM+YW -HTQDM+bm5ubm5jQ06ObmFhbo5ubm5ubm5uYZGTc3DQ0NDebm5ubm5ubm5ubm5ubm -5ubm5ubm5uY9qz0TEzrpiDo0NObm5ubm5uPm5ubm5ubmw9DD5ubm5ubm5ubm5ubI -5ujm5ubm5ubOzs7Oo4aGhj09Pebm5ubm5ubm5ubmiYmJiWTm5ubm5uY6OjQ0MzMz -M+bm5ubm1zMzMzPXMzPXMzMzM9fk5ubm5ubmhoaGPT095ubm5ubm5olkOjo6Ojo6 -Ojo0MwPm5ubm59fpM9cz6dfX19fk5ubm5Nfp5+nn6efp5+nX5Obk19fn14iIs4jp -59fX1+Tm5oLXidfn5+fn59fQydeC5ubm4tfX19fo1xbo19fi5ubk19fX19c019fX -19fk5ubm5ubm5tC04+Pj4+Pj4+MtLeZ/q+Pj4+Pj4+Pj46urf+bm5uYWHTQDM+YW -HTQDM+bm5ubm5jQ06ObmFhbo5ubm5ubm5uYeGRk3Nw0NDebm5ubm5ubm5ubm5ubm -5ubm5ubm5uaGsoc9E4jpiDo0Oubm5ubm5uPm5n9/f39/5sPm5ubm5ubm6Ojo6Ojo -6BPo5ubm5ubOzs7Oo4aGhj09Pebm5ubm5ubm5ubm5uZkZGTm5ubm5uaJOjo0NDMz -M+bm5ubm19fX19fX19fX19fX19fk5ubm5ubmhoaGPT095ubm5ubm5ubmiWQDOjo6 -Ojo65ubm5ubm59cz5+fnM+eC59fk5ubm5Nez5LPks+Sz5LPX5Obk19fn19fX5+fn -59fX1+Tm5oLX19fX19fX19fX19eC5ubm4tfX1zTo1xbo19fi5ubk19fXOjo6NDTX -19fk5ubm5ubm5tDjtObm5ubm5i3p5uZ/q6urq6urq6urq6urf+bm5swWHTQDM+YW -HTQDM+bm5ubm5jQ06ObmFhbo5ubm5ubm5uYeHhkZNzcNDebm5ubm6Ojo6Ojo6Ojo -6Ojo6Obm5uY9soc9E4izs7OzOubm5ubm5uPm5n/V1dV/5uPm5ubm5uYTExMTExMT -Ez0T6Obm5ubOzs7Oo4aGhj09Pebm5ubm5uYtLS0tLebmZGRk5ubm5uaJiTo6NDQz -M+bm5ubm1zo6OjrXOjrXOjo6Otfk5ubm5ubmhoaGPT095ubm5ubm5ubmNDQzMwM6 -Oubm5ubm5ubm59czs7OzM7Oz19fk5ubm5Nfp5+nn6efp5+nX5Obk19fn17OI6dfn -19eo1+Tm5oLXidfn5+fn59fQydeC5ubm4tfX1zTo6Bbo6Oji5ubk14mJOjo6Ojo0 -NNfk5ubm5ubm5ubj5ubm5ubm5ubm5uZ/q6urq6urq+Pj46urf+bmzOYWHTQDM+YW -HTQDM+bm5ubm5jQ06OjoFhbo6Ojo5ubm5ubm5ubm5ubm5ubm5uY6NDQ0NDQ0NDQ0 -NDQ06Obm5uY9qz0TE7Ozs7Ozs+bm5ubm5uPj43/V1dV/4+Pm5ubm5uY9PT09PT09 -PT09E+bm5ubOzs7Oo4aGhj09Pebm5ubm5uYtLS0t5ubm5kBk5ubm5ubm5ubm5ubm -5ubm5ubm1zMzMzPXMzPXMzMzM9fk5ubm5ubmhoaGPT095ubm5ubm5jQ0Ojo6OjQz -A+bm5ubm5ubm59fpM9cz6YKC59fk5ubm5Nez5LPks+Sz5LPX5Obk19fn19fX6efX -19fX1+Tm5oLX19fX19fX19fX19eC5ubm4tfX1zQzFhYWFtfi5ubk19fXiYk6OjrX -19fk5ubm5ubm5ubj5ubm5ubm5ubm5uZ/q6urq6vj4+Pj46urf+bmo+YWHTQDM+YW -HTQDM+bm5ubm5jQ04hYWFhYWFhbo5ubm5ubm5ubm5ubm5ubm5uaJOjo6Ojo6Ojrn -5zo06Obm5uaGsoc9ExOzs7Oz5ubm5ubm5ubm5n9/f39/5ubm5ubm5uaHh4eHh4eH -hz095ubm5ubOzs7Oo4aGhj09Pebm5ubm5uY0NDQ05ubmQEBA5ubm5ubm5ubm5ubm -5ubm5ubm19fX19fX19fX19fX19fk5ubm5ubmhoaGPT095ubm5ubmZDo6Ojo6Ojo6 -NDMD5ubm5ubm59ez14LXs7Oz19fk5ubm5Nfp5+nn6efp5+nX5Obk19fn19fX59fX -qNeo1+Tm5oLXidfn5+fn59fQydeC5ubm4tfX1zTo19fX19fi5ubk19fX19eJ19fX -19fk5ubm5ubm5ubj5ubm5ubm5ubm5uZ/q6urq6urq6urq6urf+bmo+bm5ubm5ubm -5ubm5ubm5ubm5jQ04hYWFhYWFhbm5ubm5ubm5ubm5ubm5ubm5uaJOjo6Ojo6OufX -1+M06Obm5uY9soc9Ez3m5ubm5ubm5ubm5ubm5ubm4+bm5ubm5ubm5ubm5ubm5ubm -5j3m6Obm5ubOzs7Oo6Orq6s9Pebm5ubm5uY0NDQ0NOYWQEDm5ubm5ubm5ubm5ubm -5ubm5ubm1zo6OjrXOjrXOjo6Otfk5ubm5ubm5qurqz095ubm5ubm5olkOjo6Ojo6 -Oubm5ubm5ubm59eCs7Oz54KC59fk5ubm5NfX19fX19fX19fX5Obk19fn5+fn19fX -19fX1+Tm5oLX19fX19fX19fX19eC5ubm4tfX1zTo19fX19fi5ubk19fX19fX19fX -19fk5ubm5ubm5ubj5ubm5ubm5ubm5uZ/f39/f39/f39/f39/q+bm5qPmeeYWHTQD -M+Z5eXnm5ubm5jQ06Obm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5uaJOjo6Ojo6OufX -1+M06Obm5uY9srKysj3m5ubm5ubm5ubm5ubm5ubmNObm5ubm5ubm5ubm5ubo6Ojo -6OjoNOjm5ubOzs7Oo6Ojq6urPebm5ubm5uY05hYWFhYWFhbm5ubm5ubm5ubm5ubm -5ubm5ubm1zMzMzPXMzPXMzMzM9fk5ubm5ubm5uarq6s95ubm5ubm5ubmiWRkOjrm -5ubm5ubm5ubm59fX19fX19fX19fk5ubm5OTk5OTk5OTk5OTk5Obk19fX19fX16jX -qNeo1+Tm5oLXidfn5+fn59fQydeC5ubm4tfX6DTo6OjX19fi5ubk19fX19fX19fX -19fk5ubm5ubm5ubj5ubm5ubm5ubm5uZ/f39/f39V5ubm5ubm5ubm5uaceeYWHTQD -M+bmnHnm5ubo6DQ06Ojo6Obm5ubm5ubm5ubm5ubm5ubm5ubm5uaJOjo6Ojo6Ojrj -4zo06Obm5uaysrKysrLm5ubm5ubm5ubm5ubm5jQ0iTQ05ubm5ubm5ubm5jQ0NDQ0 -NDQ0OjTo5ubm1dXV1aOj5qurq+bm5ubm5ubm5ubmFhYW5ubm5ubm5ubm5ubm5ubm -5ubm5ubm19fX19fX19fX19fX19fk5ubm5ubm5ubmq6ur5ubm5ubm5ubm5uaJ5ubm -5ubm5ubm5ubm59fn5+fn5+fn59fk5ubm5ubm5ubm5szMzMzM5ubk19fX19fX19fX -19fX1+Tm5oLX19fX19fX19fX19eC5ubm4tc0NDQ0NNfX19fi5ubk5OTk5OTk5OTk -5OTk5ubm5ubm5ubj5ubm5ubm5ubm5uZ/f39/f1Xm5ubm5ubm5ubm5nl5eeYWHTQD -M8yj5nnm5jQ0NDQ0NDQ06Obm5ubm5ubm5ubm5ubm5ubm5ubm5uboiYmJiYmJiYmJ -iYk65ubm5ubmsrKysubm5ubm5ubm5ubm5ubmNImJiYmJNObm5ubm5ubm5jo6Ojo6 -Ojo6Ojo05ubm5tXV1dWj5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm -5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm -5ubm5ubm5ubm59czMzMzMzMzM9fk5ubm5ubm5ubm5ubm5ubm5ubk19fX19fX19fX -19fX1+Tm5oLX19fXiYmJidfX19eC5ubm4tfX19fX19fX19fi5ubm5ubm5ubm5ubm -5ubm5ubm5ubm5i3jLebm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5uYWHTQD -M+bm5ubm5jQ0NDQ0NDQ05ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm -5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubmNImJiYmJNObm5ubm5ubm5omJiYmJ -iYmJOjrm5ubm5ubV1dXV5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm -5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm -5ubm5ubm5ubm59fX19fX19fX19fk5ubm5ubm5ubm5ubm5ubm5uZQyHotLS0zMzQ0 -NBYWFhbm5oLX19fX19fX19fX19eC5ubm4uLi4uLi4uLi4uLi5ubm5ubm5ubm5ubm -5ubm5ubm5ubm5ukt6ebm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5uYWHTQD -M+bm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm -5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubmNDQ0NDQ0NObm5ubm5ubm5ubm5ubm -5ubmOubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm -5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm -5ubm5ubm5ubm5+fn5+fn5+fn5+fk5ubm5ubm5ubm5ubm5ubm5uZQyHotLS0zMzQ0 -NBYWFhbm5oKCgoKCgoKCgoKCgoKC5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm -5ubm5ubm5ubm5uYt5ubm5ubm5ubm5g==} -},0}, -{3,0, -{0},"",-1,-1,1,0},16,16,d2314b5d-8da4-4e0f-822b-45e7500eae09, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},0,0,0,4,0,"Метаданные", -{},20,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,00000000-0000-0000-0000-000000000000}, -{-1}, -{-1}, -{-1} -},"Метаданные","Выгружать","КартинкаКласса",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","При необходимости"} -}, -{1,0}, -{1,1, -{"ru","Помеченные объекты будут выгружаться только если на них имеются ссылки в других выгружаемых объектах. Колонка заполняется автоматически, однако, имеется возможность отказаться от выгрузки ""по ссылке""."} -},127.9999999999999,1,-1,-1,-1,12590600, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},0,0,0,4,0,"ВыгружатьПриНеобходимости", -{},19,1, -{1,0}, -{"Pattern", -{"B"} -},0,1,35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU9RDoMwCPXbxJtAApRpex21vYTpyfaxI+0A/tiW -uCW6AeHlAS/A3pm9n6+NYeg3CyZozIFWoDz0+RcfwUEZzSW1rquAIv/m79wU07Ug -/K2QSQpWV+9YFgoojymhzhJwFk8oXtfVh5gWjk3IYGv0JOWldmsFyp87Dg==},0} -}, -{-1}, -{-1}, -{-1} -},"","ВыгружатьПриНеобходимости","",0} -} -},0,0,0,0} -}, -{9ab3fa70-d2e0-4e44-baac-730682272ed2, -{4,1,0, -{0} -} -}, -{3, -{35,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} -} -} -}, -{45,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} -} -} -}, -{47,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} -} -} -} -} -}, -{8,6,104,342,277,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,1,-6}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,2,342}, -{2,0,3,-386} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},0,0,0,1, -{0,23,2},0,0,0,0,16,0,0}, -{14,"ДеревоМетаданных",4294967295,0,0,0}, -{0} -}, -{0fc7e20d-f241-460c-bdf4-5ad88e5474a5,15, -{3, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},7, -{1,1, -{"ru","Период выгрузки:"} -},4,1,0,0,0, -{0,0,0},0, -{1,0},1, -{3,0, -{3,0, -{0},"",-1,-1,1,0} -},4}, -{0} -}, -{8,6,6,106,25,1, -{0, -{2,0,0,6}, -{2,-1,6,0} -}, -{0, -{2,0,0,25}, -{2,-1,6,0} -}, -{0, -{2,0,2,6}, -{2,-1,6,0} -}, -{0, -{2,0,2,106}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},0,0,0,0,0,0,0,1,1,1,1}, -{14,"НадписьДатыВыгрузкиДокументовИРегистровСведений",4294967295,0,0,0}, -{0} -}, -{381ed624-9217-4e63-85db-c4c3cb87daae,16, -{9, -{"Pattern", -{"D"} -}, -{ -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,1, -{-18},0,0,0}, -{1,1, -{"ru","Начальная дата выгрузки документов и регистров сведений"} -} -},21,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,4,0, -{"U"}, -{"U"},"",0,1,0,0,0,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0},2,0,0, -{0,0,0}, -{1,0},0,0,0,0} -}, -{1, -{9a7643d2-19e9-45e2-8893-280bc9195a97, -{4, -{"U"}, -{"U"},0,"",0,0} -} -}, -{0},0,1,0, -{1,0},0}, -{8,111,6,238,25,1, -{0, -{2,0,0,6}, -{2,-1,6,0} -}, -{0, -{2,0,0,25}, -{2,-1,6,0} -}, -{0, -{2,0,2,111}, -{2,-1,6,0} -}, -{0, -{2,0,2,238}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},0,0,0,0,0,0,0,2,2,1,1}, -{14,"ДатаНачала",4294967295,0,0,0}, -{0} -}, -{381ed624-9217-4e63-85db-c4c3cb87daae,17, -{9, -{"Pattern", -{"D"} -}, -{ -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,1, -{-18},0,0,0}, -{1,1, -{"ru","Конечная дата выгрузки документов и регистров сведений"} -} -},21,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,4,0, -{"U"}, -{"U"},"",0,1,0,0,0,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0},2,0,0, -{0,0,0}, -{1,0},0,0,0,0} -}, -{1, -{9a7643d2-19e9-45e2-8893-280bc9195a97, -{4, -{"U"}, -{"U"},0,"",0,0} -} -}, -{0},0,1,0, -{1,0},0}, -{8,266,6,393,25,1, -{0, -{2,0,0,6}, -{2,-1,6,0} -}, -{0, -{2,0,0,25}, -{2,-1,6,0} -}, -{0, -{2,0,2,266}, -{2,-1,6,0} -}, -{0, -{2,0,2,393}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},0,0,0,0,0,0,0,3,3,1,1}, -{14,"ДатаОкончания",4294967295,0,0,0}, -{0} -}, -{6ff79819-710e-4145-97cd-1618da79e3e2,18, -{1, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,1, -{"ru","Установить период выгрузки"} -} -},10, -{1,1, -{"ru","..."} -},1,1,0,0,0, -{3,0, -{0},"",-1,-1,1,0}, -{0,0,0},0,0}, -{1, -{0,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} -} -} -} -} -}, -{8,397,6,418,25,1, -{0, -{2,0,0,6}, -{2,-1,6,0} -}, -{0, -{2,0,0,25}, -{2,-1,6,0} -}, -{0, -{2,0,2,397}, -{2,-1,6,0} -}, -{0, -{2,0,2,418}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},0,0,0,0,0,0,0,4,4,1,1}, -{14,"КнопкаУстановкиПериода",4294967295,0,0,0}, -{0} -}, -{35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26,19, -{1, -{ -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,1, -{"ru","Использовать отбор по периоду для всех объектов, включая те, для которых заданы ограничения"} -} -},4, -{1,1, -{"ru","Отбор по периоду для всех объектов"} -},1,0,1},1,0,0}, -{0} -}, -{8,422,6,629,25,1, -{0, -{2,0,0,6}, -{2,-1,6,0} -}, -{0, -{2,0,0,25}, -{2,-1,6,0} -}, -{0, -{2,0,2,422}, -{2,-1,6,0} -}, -{0, -{2,0,2,629}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},0,0,0,0,0,0,0,5,5,1,1}, -{14,"ИспользоватьОтборПоДатеДляВсехОбъектов",4294967295,0,0,0}, -{0} -}, -{35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26,20, -{1, -{ -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,1, -{"ru","Выгружить вместе с документом его движения"} -} -},4, -{1,1, -{"ru","Выгружать с документом все его движения"} -},1,0,1},1,0,0}, -{0} -}, -{8,6,54,249,73,1, -{0, -{2,0,0,54}, -{2,-1,6,0} -}, -{0, -{2,0,0,73}, -{2,-1,6,0} -}, -{0, -{2,0,2,6}, -{2,-1,6,0} -}, -{0, -{2,0,2,249}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},0,0,0,0,0,0,0,6,10,1,1}, -{14,"ВыгружатьСДокументомЕгоДвижения",4294967295,0,0,0}, -{0} -}, -{0fc7e20d-f241-460c-bdf4-5ad88e5474a5,21, -{3, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},7, -{1,1, -{"ru","Выгрузка периодических регистров:"} -},4,1,0,0,0, -{0,0,0},0, -{1,0},1, -{3,0, -{3,0, -{0},"",-1,-1,1,0} -},4}, -{0} -}, -{8,6,30,195,49,1, -{0, -{2,0,0,30}, -{2,-1,6,0} -}, -{0, -{2,0,0,49}, -{2,-1,6,0} -}, -{0, -{2,0,2,6}, -{2,-1,6,0} -}, -{0, -{2,0,2,195}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},0,0,0,0,0,0,0,7,6,1,1}, -{14,"НадписьВыгрузкаПериодическихРегистров",4294967295,0,0,0}, -{0} -}, -{64483e7f-3833-48e2-8c75-2c31aac49f6e,22, -{2, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,1, -{-18},0,0,0}, -{1,0} -},21,0,0,1,0,1,0,0,0,0,1,0,0,255,0,0,4,0, -{"U"}, -{"U"},"",0,1,1,1, -{8, -{2, -{0,"Value", -{"Pattern"},"Значение",10}, -{1,"Presentation", -{"Pattern", -{"#",87024738-fc2a-4436-ada1-df79d395c424} -},"Представление",10} -}, -{2,2,0,0,1,1, -{1,4, -{2,0,2, -{"N",0}, -{"#",87024738-fc2a-4436-ada1-df79d395c424, -{1,"ru","Отбор за период"} -},0}, -{2,1,2, -{"N",1}, -{"#",87024738-fc2a-4436-ada1-df79d395c424, -{1,"ru","Срез последних на дату окончания"} -},0}, -{2,2,2, -{"N",2}, -{"#",87024738-fc2a-4436-ada1-df79d395c424, -{1,"ru","Срез первых на дату начала"} -},0}, -{2,3,2, -{"N",3}, -{"#",87024738-fc2a-4436-ada1-df79d395c424, -{1,"ru","Срез последних на дату начала + изменения за период"} -},0} -},-1,3} -},0,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0},0,0,0, -{0,0,0}, -{1,0},0,0,0,0}, -{0} -}, -{8,208,30,418,49,1, -{0, -{2,0,0,30}, -{2,-1,6,0} -}, -{0, -{2,0,0,49}, -{2,-1,6,0} -}, -{0, -{2,0,2,208}, -{2,-1,6,0} -}, -{0, -{2,0,2,418}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},0,0,0,2, -{0,29,2}, -{0,30,2},0,0,0,8,7,1,1}, -{14,"ТипВыгрузкиПериодическихРегистров",4294967295,0,0,0}, -{0} -}, -{ea83fe3a-ac3c-4cce-8045-3dddf35b28b1,23, -{5, -{"Pattern", -{"#",f6841c6b-6c71-4c82-ae9e-d08b49db326c} -}, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,1, -{-18},0,0,0}, -{1,0} -}, -{15,33775149, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-14} -}, -{3,3, -{-15} -}, -{3,3, -{-13} -},2,2,0,0,0,0,1,1,1, -{6,2,0, -{-20},1}, -{6,2,0, -{-20},1},2,2,1, -{60, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,0}, -{1,0}, -{1,0},22,0,-1,0,-1,12656128, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},0,0,0,4,0,"Использование", -{},4,1, -{1,0}, -{"Pattern", -{"S",10,1} -},0,1,35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU9RDoMwCPXbxJtAApRpex21vYTpyfaxI+0A/tiW -uCW6AeHlAS/A3pm9n6+NYeg3CyZozIFWoDz0+RcfwUEZzSW1rquAIv/m79wU07Ug -/K2QSQpWV+9YFgoojymhzhJwFk8oXtfVh5gWjk3IYGv0JOWldmsFyp87Dg==},0} -}, -{-1}, -{0}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Левое значение"} -}, -{1,0}, -{1,0},1e2,1,1,-1,-1,8402433, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"ЛевоеЗначениеДляПодробногоОтображенияЭлемента", -{},15,0, -{1,0}, -{"Pattern", -{"B"}, -{"#",913e8016-6e90-47a0-b2a0-4513f4edad61}, -{"S"}, -{"D"}, -{"N"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVFLagMxDC1dBnIJd2uB5b+2petQKD2AJ3aWXYTs -wpysix4pV4gtj6dtQsZGb6SnzxPePT/xd/n+OZPcbs7iPZ1O5fgl2HkVM+OLkISm -RIUefCEFNiQFk67GOjQHW3LKHnvyx1L0tuBOzNsN//aLSmLzjLQN1GBvfS+NrKlz -NcyaBqD1o/x7v1eE24DG3wgrAYxtSj0cRdl7aOTgsH897Ryj7eLE57JrQyHWNDW0 -q66scYDt4jLrEbXW/pc1uo4FNJu9yZNKDlwOBPUtIlByFjK6A5JHKobfdl2bUvDW -ZA2VqgWuaIiRDOiopj0huUSh5dm73VTfjucvzVgUdrFd4nwF},0} -}, -{1}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Вид сравнения"} -}, -{1,0}, -{1,0},75,2,2,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ВидыСравненияДляПодробногоОтображенияЭлемента", -{},11,0, -{1,0}, -{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig -YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga -WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI -GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} -}, -{2}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Правое значение"} -}, -{1,0}, -{1,0},1e2,3,3,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ПравоеЗначениеДляПодробногоОтображенияЭлемента", -{},15,0, -{1,0}, -{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig -YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga -WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI -GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} -}, -{3}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Представление"} -}, -{1,0}, -{1,0},1e2,4,4,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ПредставлениеДляПодробногоОтображенияЭлемента", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ -OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U -bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm -rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ -XFhJtSKWz30vMgcItzCmDw==},0} -}, -{4}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Представление"} -}, -{1,0}, -{1,0},1e2,5,5,-1,-1,8402433, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,1,0,4,0,"ПредставлениеДляКраткогоОтображенияЭлемента", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ -OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U -bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm -rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ -XFhJtSKWz30vMgcItzCmDw==},0} -}, -{5}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Левое значение"} -}, -{1,0}, -{1,0},1e2,6,6,-1,-1,12598785, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,1,0,4,0,"ЛевоеЗначениеДляКраткогоОтображенияЭлемента", -{},15,0, -{1,0}, -{"Pattern", -{"B"}, -{"#",913e8016-6e90-47a0-b2a0-4513f4edad61}, -{"S"}, -{"D"}, -{"N"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVFLagMxDC1dBnIJd2uB5b+2petQKD2AJ3aWXYTs -wpysix4pV4gtj6dtQsZGb6SnzxPePT/xd/n+OZPcbs7iPZ1O5fgl2HkVM+OLkISm -RIUefCEFNiQFk67GOjQHW3LKHnvyx1L0tuBOzNsN//aLSmLzjLQN1GBvfS+NrKlz -NcyaBqD1o/x7v1eE24DG3wgrAYxtSj0cRdl7aOTgsH897Ryj7eLE57JrQyHWNDW0 -q66scYDt4jLrEbXW/pc1uo4FNJu9yZNKDlwOBPUtIlByFjK6A5JHKobfdl2bUvDW -ZA2VqgWuaIiRDOiopj0huUSh5dm73VTfjucvzVgUdrFd4nwF},0} -}, -{6}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Вид сравнения"} -}, -{1,0}, -{1,0},75,7,7,-1,-1,12590592, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ВидыСравненияДляКраткогоОтображенияЭлемента", -{},11,0, -{1,0}, -{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig -YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga -WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI -GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} -}, -{7}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Правое значение"} -}, -{1,0}, -{1,0},1e2,8,8,-1,-1,12590592, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ПравоеЗначениеДляКраткогоОтображенияЭлемента", -{},15,0, -{1,0}, -{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig -YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga -WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI -GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} -}, -{8}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Тип группы"} -}, -{1,0}, -{1,0},275,9,9,-1,-1,8402433, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,1,0,4,0,"ТипДляПодробногоОтображенияГруппы", -{},40,0, -{1,0}, -{"Pattern", -{"#",b1668747-cd01-442e-84b7-15a47d05c599} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVJLbgMhDK26jJRL0C2WMJjfLbLJqitgmGUXVXYR -J+uiR+oVyidDOqkyWFi2H89vDO+vL/37+fq+en48XNkpXC7584P14I3xiMY4SxbS -IhCIZAZH0QLqQHYROmnvy/FQGn4YCo4tUpyaE1v1MTZc8QotdetV1RxI+Qz/Px4n -7GNC4j3TlQC61qWunkU+OCT25N/97tuiIY2dWZmesR2oNxFDV6sBNsNbp2eleXYv -amPd5HfxiGEVGT3EuNQLkGjAO5+BFCXS2oQ1mQluN0bWyqgiwUpBAfkkIGDQ4FLU -3qCuhGrMH7NGGUIEjFSp81qpldWwClQ2Zr8sHqfSsnseTSv0OU+7ocZ05h+VXw== -},0} -}, -{9}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Представление"} -}, -{1,0}, -{1,0},1e2,10,10,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ПредставлениеДляПодробногоОтображенияГруппы", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ -OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U -bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm -rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ -XFhJtSKWz30vMgcItzCmDw==},0} -}, -{10}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Тип группы"} -}, -{1,0}, -{1,0},275,11,11,-1,-1,8402433, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,1,0,4,0,"ТипДляКраткогоОтображенияГруппы", -{},40,0, -{1,0}, -{"Pattern", -{"#",b1668747-cd01-442e-84b7-15a47d05c599} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVJLbgMhDK26jJRL0C2WMJjfLbLJqitgmGUXVXYR -J+uiR+oVyidDOqkyWFi2H89vDO+vL/37+fq+en48XNkpXC7584P14I3xiMY4SxbS -IhCIZAZH0QLqQHYROmnvy/FQGn4YCo4tUpyaE1v1MTZc8QotdetV1RxI+Qz/Px4n -7GNC4j3TlQC61qWunkU+OCT25N/97tuiIY2dWZmesR2oNxFDV6sBNsNbp2eleXYv -amPd5HfxiGEVGT3EuNQLkGjAO5+BFCXS2oQ1mQluN0bWyqgiwUpBAfkkIGDQ4FLU -3qCuhGrMH7NGGUIEjFSp81qpldWwClQ2Zr8sHqfSsnseTSv0OU+7ocZ05h+VXw== -},0} -}, -{11}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Левое значение"} -}, -{1,0}, -{1,0},1e2,12,12,-1,-1,8402433, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,1,0,4,0,"ЛевоеЗначениеДляПодробногоОтображенияЭлементаЛокальногоОтбора", -{},15,0, -{1,0}, -{"Pattern", -{"B"}, -{"#",913e8016-6e90-47a0-b2a0-4513f4edad61}, -{"S"}, -{"D"}, -{"N"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVFLagMxDC1dBnIJd2uB5b+2petQKD2AJ3aWXYTs -wpysix4pV4gtj6dtQsZGb6SnzxPePT/xd/n+OZPcbs7iPZ1O5fgl2HkVM+OLkISm -RIUefCEFNiQFk67GOjQHW3LKHnvyx1L0tuBOzNsN//aLSmLzjLQN1GBvfS+NrKlz -NcyaBqD1o/x7v1eE24DG3wgrAYxtSj0cRdl7aOTgsH897Ryj7eLE57JrQyHWNDW0 -q66scYDt4jLrEbXW/pc1uo4FNJu9yZNKDlwOBPUtIlByFjK6A5JHKobfdl2bUvDW -ZA2VqgWuaIiRDOiopj0huUSh5dm73VTfjucvzVgUdrFd4nwF},0} -}, -{12}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Вид сравнения"} -}, -{1,0}, -{1,0},75,13,13,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ВидыСравненияДляПодробногоОтображенияЭлементаЛокальногоОтбора", -{},11,0, -{1,0}, -{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig -YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga -WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI -GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} -}, -{13}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Правое значение"} -}, -{1,0}, -{1,0},1e2,14,14,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ПравоеЗначениеДляПодробногоОтображенияЭлементаЛокальногоОтбора", -{},15,0, -{1,0}, -{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig -YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga -WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI -GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} -}, -{14}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Применение"} -}, -{1,0}, -{1,0},75,15,15,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ПрименениеДляПодробногоОтображенияЭлементаЛокальногоОтбора", -{},11,0, -{1,0}, -{"Pattern", -{"#",27d7d459-265e-4fac-9685-d86b957f211f} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVJLbgMhDK26jJRL0C2WMBgYbpFNVl3BAMsuquwi -TtZFj9QrlE+GdFJlsLBsP57fGN5fX/r38/V9dfx4uLKTv1zS5wfrwRvj0kYbSTuQ -Rieg7FdwZtEQFxOctlki5nI8lIYfhoJjixSn5sRWfYwNV7xCS916VTUHUj7D/4/H -CfuYkHjPdCWAS+tSV88iHxwSe/Lvfvdt0ZDGzqxMz9gO1JuIoavVAJvhrdOz0jy7 -F7WxbvK7eESfRUIHIUQEkmjALa5ehaKVtDY+r2aC242RtTKoQJDJKyC3CvDoNSxr -0M6groRqzB+TRul9AAxUqVOu1MpqyAKVDcnF6HAqLbvn0bRCn/O0G2pMZ/5R+QU= -},0} -}, -{15}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Представление"} -}, -{1,0}, -{1,0},1e2,16,16,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ПредставлениеДляПодробногоОтображенияЭлементаЛокальногоОтбора", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ -OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U -bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm -rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ -XFhJtSKWz30vMgcItzCmDw==},0} -}, -{16}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Левое значение"} -}, -{1,0}, -{1,0},1e2,17,17,-1,-1,8402433, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,1,0,4,0,"ЛевоеЗначениеДляКраткогоОтображенияЭлементаЛокальногоОтбора", -{},15,0, -{1,0}, -{"Pattern", -{"B"}, -{"#",913e8016-6e90-47a0-b2a0-4513f4edad61}, -{"S"}, -{"D"}, -{"N"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVFLagMxDC1dBnIJd2uB5b+2petQKD2AJ3aWXYTs -wpysix4pV4gtj6dtQsZGb6SnzxPePT/xd/n+OZPcbs7iPZ1O5fgl2HkVM+OLkISm -RIUefCEFNiQFk67GOjQHW3LKHnvyx1L0tuBOzNsN//aLSmLzjLQN1GBvfS+NrKlz -NcyaBqD1o/x7v1eE24DG3wgrAYxtSj0cRdl7aOTgsH897Ryj7eLE57JrQyHWNDW0 -q66scYDt4jLrEbXW/pc1uo4FNJu9yZNKDlwOBPUtIlByFjK6A5JHKobfdl2bUvDW -ZA2VqgWuaIiRDOiopj0huUSh5dm73VTfjucvzVgUdrFd4nwF},0} -}, -{17}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Вид сравнения"} -}, -{1,0}, -{1,0},75,18,18,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ВидыСравненияДляКраткогоОтображенияЭлементаЛокальногоОтбора", -{},11,0, -{1,0}, -{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig -YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga -WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI -GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} -}, -{18}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Правое значение"} -}, -{1,0}, -{1,0},1e2,19,19,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ПравоеЗначениеДляКраткогоОтображенияЭлементаЛокальногоОтбора", -{},15,0, -{1,0}, -{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig -YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga -WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI -GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} -}, -{19}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Применение"} -}, -{1,0}, -{1,0},75,20,20,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ПрименениеДляКраткогоОтображенияЭлементаЛокальногоОтбора", -{},11,0, -{1,0}, -{"Pattern", -{"#",27d7d459-265e-4fac-9685-d86b957f211f} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVJLbgMhDK26jJRL0C2WMBgYbpFNVl3BAMsuquwi -TtZFj9QrlE+GdFJlsLBsP57fGN5fX/r38/V9dfx4uLKTv1zS5wfrwRvj0kYbSTuQ -Rieg7FdwZtEQFxOctlki5nI8lIYfhoJjixSn5sRWfYwNV7xCS916VTUHUj7D/4/H -CfuYkHjPdCWAS+tSV88iHxwSe/Lvfvdt0ZDGzqxMz9gO1JuIoavVAJvhrdOz0jy7 -F7WxbvK7eESfRUIHIUQEkmjALa5ehaKVtDY+r2aC242RtTKoQJDJKyC3CvDoNSxr -0M6groRqzB+TRul9AAxUqVOu1MpqyAKVDcnF6HAqLbvn0bRCn/O0G2pMZ/5R+QU= -},0} -}, -{20}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Тип группы"} -}, -{1,0}, -{1,0},275,21,21,-1,-1,8402433, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,1,0,4,0,"ТипДляПодробногоОтображенияГруппыЛокальногоОтбора", -{},40,0, -{1,0}, -{"Pattern", -{"#",b1668747-cd01-442e-84b7-15a47d05c599} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVJLbgMhDK26jJRL0C2WMJjfLbLJqitgmGUXVXYR -J+uiR+oVyidDOqkyWFi2H89vDO+vL/37+fq+en48XNkpXC7584P14I3xiMY4SxbS -IhCIZAZH0QLqQHYROmnvy/FQGn4YCo4tUpyaE1v1MTZc8QotdetV1RxI+Qz/Px4n -7GNC4j3TlQC61qWunkU+OCT25N/97tuiIY2dWZmesR2oNxFDV6sBNsNbp2eleXYv -amPd5HfxiGEVGT3EuNQLkGjAO5+BFCXS2oQ1mQluN0bWyqgiwUpBAfkkIGDQ4FLU -3qCuhGrMH7NGGUIEjFSp81qpldWwClQ2Zr8sHqfSsnseTSv0OU+7ocZ05h+VXw== -},0} -}, -{21}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Применение"} -}, -{1,0}, -{1,0},75,22,22,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ПрименениеДляПодробногоОтображенияГруппыЛокальногоОтбора", -{},11,0, -{1,0}, -{"Pattern", -{"#",27d7d459-265e-4fac-9685-d86b957f211f} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVJLbgMhDK26jJRL0C2WMBgYbpFNVl3BAMsuquwi -TtZFj9QrlE+GdFJlsLBsP57fGN5fX/r38/V9dfx4uLKTv1zS5wfrwRvj0kYbSTuQ -Rieg7FdwZtEQFxOctlki5nI8lIYfhoJjixSn5sRWfYwNV7xCS916VTUHUj7D/4/H -CfuYkHjPdCWAS+tSV88iHxwSe/Lvfvdt0ZDGzqxMz9gO1JuIoavVAJvhrdOz0jy7 -F7WxbvK7eESfRUIHIUQEkmjALa5ehaKVtDY+r2aC242RtTKoQJDJKyC3CvDoNSxr -0M6groRqzB+TRul9AAxUqVOu1MpqyAKVDcnF6HAqLbvn0bRCn/O0G2pMZ/5R+QU= -},0} -}, -{22}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Представление"} -}, -{1,0}, -{1,0},1e2,23,23,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ПредставлениеДляПодробногоОтображенияГруппыЛокальногоОтбора", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ -OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U -bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm -rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ -XFhJtSKWz30vMgcItzCmDw==},0} -}, -{23}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Тип группы"} -}, -{1,0}, -{1,0},275,24,24,-1,-1,8402433, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,1,0,4,0,"ТипДляКраткогоОтображенияГруппыЛокальногоОтбора", -{},40,0, -{1,0}, -{"Pattern", -{"#",b1668747-cd01-442e-84b7-15a47d05c599} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVJLbgMhDK26jJRL0C2WMJjfLbLJqitgmGUXVXYR -J+uiR+oVyidDOqkyWFi2H89vDO+vL/37+fq+en48XNkpXC7584P14I3xiMY4SxbS -IhCIZAZH0QLqQHYROmnvy/FQGn4YCo4tUpyaE1v1MTZc8QotdetV1RxI+Qz/Px4n -7GNC4j3TlQC61qWunkU+OCT25N/97tuiIY2dWZmesR2oNxFDV6sBNsNbp2eleXYv -amPd5HfxiGEVGT3EuNQLkGjAO5+BFCXS2oQ1mQluN0bWyqgiwUpBAfkkIGDQ4FLU -3qCuhGrMH7NGGUIEjFSp81qpldWwClQ2Zr8sHqfSsnseTSv0OU+7ocZ05h+VXw== -},0} -}, -{24}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Применение"} -}, -{1,0}, -{1,0},75,25,25,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ПрименениеДляКраткогоОтображенияГруппыЛокальногоОтбора", -{},11,0, -{1,0}, -{"Pattern", -{"#",27d7d459-265e-4fac-9685-d86b957f211f} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVJLbgMhDK26jJRL0C2WMBgYbpFNVl3BAMsuquwi -TtZFj9QrlE+GdFJlsLBsP57fGN5fX/r38/V9dfx4uLKTv1zS5wfrwRvj0kYbSTuQ -Rieg7FdwZtEQFxOctlki5nI8lIYfhoJjixSn5sRWfYwNV7xCS916VTUHUj7D/4/H -CfuYkHjPdCWAS+tSV88iHxwSe/Lvfvdt0ZDGzqxMz9gO1JuIoavVAJvhrdOz0jy7 -F7WxbvK7eESfRUIHIUQEkmjALa5ehaKVtDY+r2aC242RtTKoQJDJKyC3CvDoNSxr -0M6groRqzB+TRul9AAxUqVOu1MpqyAKVDcnF6HAqLbvn0bRCn/O0G2pMZ/5R+QU= -},0} -}, -{25}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Левое значение"} -}, -{1,0}, -{1,0},1e2,26,26,-1,-1,8402433, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,1,0,4,0,"ЛевоеЗначениеДляПодробногоОтображенияЭлементаГлавногоОтбора", -{},15,0, -{1,0}, -{"Pattern", -{"B"}, -{"#",913e8016-6e90-47a0-b2a0-4513f4edad61}, -{"S"}, -{"D"}, -{"N"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVFLagMxDC1dBnIJd2uB5b+2petQKD2AJ3aWXYTs -wpysix4pV4gtj6dtQsZGb6SnzxPePT/xd/n+OZPcbs7iPZ1O5fgl2HkVM+OLkISm -RIUefCEFNiQFk67GOjQHW3LKHnvyx1L0tuBOzNsN//aLSmLzjLQN1GBvfS+NrKlz -NcyaBqD1o/x7v1eE24DG3wgrAYxtSj0cRdl7aOTgsH897Ryj7eLE57JrQyHWNDW0 -q66scYDt4jLrEbXW/pc1uo4FNJu9yZNKDlwOBPUtIlByFjK6A5JHKobfdl2bUvDW -ZA2VqgWuaIiRDOiopj0huUSh5dm73VTfjucvzVgUdrFd4nwF},0} -}, -{26}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Вид сравнения"} -}, -{1,0}, -{1,0},75,27,27,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ВидыСравненияДляПодробногоОтображенияЭлементаГлавногоОтбора", -{},11,0, -{1,0}, -{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig -YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga -WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI -GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} -}, -{27}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Правое значение"} -}, -{1,0}, -{1,0},1e2,28,28,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ПравоеЗначениеДляПодробногоОтображенияЭлементаГлавногоОтбора", -{},15,0, -{1,0}, -{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig -YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga -WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI -GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} -}, -{28}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Режим отображения"} -}, -{1,0}, -{1,0},75,29,29,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"РежимОтображенияДляПодробногоОтображенияЭлементаГлавногоОтбора", -{},11,0, -{1,0}, -{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig -YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga -WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI -GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} -}, -{29}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Представление"} -}, -{1,0}, -{1,0},1e2,30,30,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ПредставлениеДляПодробногоОтображенияЭлементаГлавногоОтбора", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ -OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U -bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm -rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ -XFhJtSKWz30vMgcItzCmDw==},0} -}, -{30}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Тип группы"} -}, -{1,0}, -{1,0},275,31,31,-1,-1,8402433, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,1,0,4,0,"ТипДляПодробногоОтображенияГруппыГлавногоОтбора", -{},40,0, -{1,0}, -{"Pattern", -{"#",b1668747-cd01-442e-84b7-15a47d05c599} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVJLbgMhDK26jJRL0C2WMJjfLbLJqitgmGUXVXYR -J+uiR+oVyidDOqkyWFi2H89vDO+vL/37+fq+en48XNkpXC7584P14I3xiMY4SxbS -IhCIZAZH0QLqQHYROmnvy/FQGn4YCo4tUpyaE1v1MTZc8QotdetV1RxI+Qz/Px4n -7GNC4j3TlQC61qWunkU+OCT25N/97tuiIY2dWZmesR2oNxFDV6sBNsNbp2eleXYv -amPd5HfxiGEVGT3EuNQLkGjAO5+BFCXS2oQ1mQluN0bWyqgiwUpBAfkkIGDQ4FLU -3qCuhGrMH7NGGUIEjFSp81qpldWwClQ2Zr8sHqfSsnseTSv0OU+7ocZ05h+VXw== -},0} -}, -{31}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Режим отображения"} -}, -{1,0}, -{1,0},75,32,32,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"РежимОтображенияДляПодробногоОтображенияГруппыГлавногоОтбора", -{},11,0, -{1,0}, -{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig -YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga -WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI -GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} -}, -{32}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Представление"} -}, -{1,0}, -{1,0},1e2,33,33,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ПредставлениеДляПодробногоОтображенияГруппыГлавногоОтбора", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ -OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U -bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm -rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ -XFhJtSKWz30vMgcItzCmDw==},0} -}, -{33}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Левое значение"} -}, -{1,0}, -{1,0},1e2,34,34,-1,-1,8402433, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,1,0,4,0,"ЛевоеЗначениеДляПодробногоОтображенияЭлементаСДатой", -{},15,0, -{1,0}, -{"Pattern", -{"B"}, -{"#",913e8016-6e90-47a0-b2a0-4513f4edad61}, -{"S"}, -{"D"}, -{"N"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVFLagMxDC1dBnIJd2uB5b+2petQKD2AJ3aWXYTs -wpysix4pV4gtj6dtQsZGb6SnzxPePT/xd/n+OZPcbs7iPZ1O5fgl2HkVM+OLkISm -RIUefCEFNiQFk67GOjQHW3LKHnvyx1L0tuBOzNsN//aLSmLzjLQN1GBvfS+NrKlz -NcyaBqD1o/x7v1eE24DG3wgrAYxtSj0cRdl7aOTgsH897Ryj7eLE57JrQyHWNDW0 -q66scYDt4jLrEbXW/pc1uo4FNJu9yZNKDlwOBPUtIlByFjK6A5JHKobfdl2bUvDW -ZA2VqgWuaIiRDOiopj0huUSh5dm73VTfjucvzVgUdrFd4nwF},0} -}, -{34}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Вид сравнения"} -}, -{1,0}, -{1,0},75,35,35,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ВидыСравненияДляПодробногоОтображенияЭлементаСДатой", -{},11,0, -{1,0}, -{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig -YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga -WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI -GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} -}, -{35}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Правое значение"} -}, -{1,0}, -{1,0},5e1,36,36,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ПравоеЗначениеДляПодробногоОтображенияЭлементаСДатой", -{},8,0, -{1,0}, -{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig -YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga -WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI -GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} -}, -{36}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Дата"} -}, -{1,0}, -{1,0},5e1,37,37,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ДатаПравоеЗначениеДляПодробногоОтображенияЭлементаСДатой", -{},8,0, -{1,0}, -{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig -YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga -WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI -GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} -}, -{37}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Представление"} -}, -{1,0}, -{1,0},1e2,38,38,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ПредставлениеДляПодробногоОтображенияЭлементаСДатой", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ -OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U -bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm -rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ -XFhJtSKWz30vMgcItzCmDw==},0} -}, -{38}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Левое значение"} -}, -{1,0}, -{1,0},1e2,39,39,-1,-1,8402433, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,1,0,4,0,"ЛевоеЗначениеДляКраткогоОтображенияЭлементаСДатой", -{},15,0, -{1,0}, -{"Pattern", -{"B"}, -{"#",913e8016-6e90-47a0-b2a0-4513f4edad61}, -{"S"}, -{"D"}, -{"N"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVFLagMxDC1dBnIJd2uB5b+2petQKD2AJ3aWXYTs -wpysix4pV4gtj6dtQsZGb6SnzxPePT/xd/n+OZPcbs7iPZ1O5fgl2HkVM+OLkISm -RIUefCEFNiQFk67GOjQHW3LKHnvyx1L0tuBOzNsN//aLSmLzjLQN1GBvfS+NrKlz -NcyaBqD1o/x7v1eE24DG3wgrAYxtSj0cRdl7aOTgsH897Ryj7eLE57JrQyHWNDW0 -q66scYDt4jLrEbXW/pc1uo4FNJu9yZNKDlwOBPUtIlByFjK6A5JHKobfdl2bUvDW -ZA2VqgWuaIiRDOiopj0huUSh5dm73VTfjucvzVgUdrFd4nwF},0} -}, -{39}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Вид сравнения"} -}, -{1,0}, -{1,0},75,40,40,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ВидыСравненияДляКраткогоОтображенияЭлементаСДатой", -{},11,0, -{1,0}, -{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig -YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga -WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI -GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} -}, -{40}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Правое значение"} -}, -{1,0}, -{1,0},5e1,41,41,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ПравоеЗначениеДляКраткогоОтображенияЭлементаСДатой", -{},8,0, -{1,0}, -{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig -YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga -WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI -GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} -}, -{41}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Дата"} -}, -{1,0}, -{1,0},5e1,42,42,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ДатаПравоеЗначениеДляКраткогоОтображенияЭлементаСДатой", -{},8,0, -{1,0}, -{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig -YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga -WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI -GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} -}, -{42}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Левое значение"} -}, -{1,0}, -{1,0},1e2,43,43,-1,-1,8402433, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,1,0,4,0,"ЛевоеЗначениеДляПодробногоОтображенияЭлементаЛокальногоОтбораСДатой", -{},15,0, -{1,0}, -{"Pattern", -{"B"}, -{"#",913e8016-6e90-47a0-b2a0-4513f4edad61}, -{"S"}, -{"D"}, -{"N"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVFLagMxDC1dBnIJd2uB5b+2petQKD2AJ3aWXYTs -wpysix4pV4gtj6dtQsZGb6SnzxPePT/xd/n+OZPcbs7iPZ1O5fgl2HkVM+OLkISm -RIUefCEFNiQFk67GOjQHW3LKHnvyx1L0tuBOzNsN//aLSmLzjLQN1GBvfS+NrKlz -NcyaBqD1o/x7v1eE24DG3wgrAYxtSj0cRdl7aOTgsH897Ryj7eLE57JrQyHWNDW0 -q66scYDt4jLrEbXW/pc1uo4FNJu9yZNKDlwOBPUtIlByFjK6A5JHKobfdl2bUvDW -ZA2VqgWuaIiRDOiopj0huUSh5dm73VTfjucvzVgUdrFd4nwF},0} -}, -{43}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Вид сравнения"} -}, -{1,0}, -{1,0},75,44,44,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ВидыСравненияДляПодробногоОтображенияЭлементаЛокальногоОтбораСДатой", -{},11,0, -{1,0}, -{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig -YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga -WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI -GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} -}, -{44}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Правое значение"} -}, -{1,0}, -{1,0},5e1,45,45,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ПравоеЗначениеДляПодробногоОтображенияЭлементаЛокальногоОтбораСДатой", -{},8,0, -{1,0}, -{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig -YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga -WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI -GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} -}, -{45}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Дата"} -}, -{1,0}, -{1,0},5e1,46,46,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ДатаПравоеЗначениеДляПодробногоОтображенияЭлементаЛокальногоОтбораСДатой", -{},8,0, -{1,0}, -{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig -YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga -WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI -GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} -}, -{46}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Применение"} -}, -{1,0}, -{1,0},75,47,47,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ПрименениеДляПодробногоОтображенияЭлементаЛокальногоОтбораСДатой", -{},11,0, -{1,0}, -{"Pattern", -{"#",27d7d459-265e-4fac-9685-d86b957f211f} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVJLbgMhDK26jJRL0C2WMBgYbpFNVl3BAMsuquwi -TtZFj9QrlE+GdFJlsLBsP57fGN5fX/r38/V9dfx4uLKTv1zS5wfrwRvj0kYbSTuQ -Rieg7FdwZtEQFxOctlki5nI8lIYfhoJjixSn5sRWfYwNV7xCS916VTUHUj7D/4/H -CfuYkHjPdCWAS+tSV88iHxwSe/Lvfvdt0ZDGzqxMz9gO1JuIoavVAJvhrdOz0jy7 -F7WxbvK7eESfRUIHIUQEkmjALa5ehaKVtDY+r2aC242RtTKoQJDJKyC3CvDoNSxr -0M6groRqzB+TRul9AAxUqVOu1MpqyAKVDcnF6HAqLbvn0bRCn/O0G2pMZ/5R+QU= -},0} -}, -{47}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Представление"} -}, -{1,0}, -{1,0},1e2,48,48,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ПредставлениеДляПодробногоОтображенияЭлементаЛокальногоОтбораСДатой", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ -OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U -bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm -rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ -XFhJtSKWz30vMgcItzCmDw==},0} -}, -{48}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Левое значение"} -}, -{1,0}, -{1,0},1e2,49,49,-1,-1,8402433, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,1,0,4,0,"ЛевоеЗначениеДляКраткогоОтображенияЭлементаЛокальногоОтбораСДатой", -{},15,0, -{1,0}, -{"Pattern", -{"B"}, -{"#",913e8016-6e90-47a0-b2a0-4513f4edad61}, -{"S"}, -{"D"}, -{"N"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVFLagMxDC1dBnIJd2uB5b+2petQKD2AJ3aWXYTs -wpysix4pV4gtj6dtQsZGb6SnzxPePT/xd/n+OZPcbs7iPZ1O5fgl2HkVM+OLkISm -RIUefCEFNiQFk67GOjQHW3LKHnvyx1L0tuBOzNsN//aLSmLzjLQN1GBvfS+NrKlz -NcyaBqD1o/x7v1eE24DG3wgrAYxtSj0cRdl7aOTgsH897Ryj7eLE57JrQyHWNDW0 -q66scYDt4jLrEbXW/pc1uo4FNJu9yZNKDlwOBPUtIlByFjK6A5JHKobfdl2bUvDW -ZA2VqgWuaIiRDOiopj0huUSh5dm73VTfjucvzVgUdrFd4nwF},0} -}, -{49}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Вид сравнения"} -}, -{1,0}, -{1,0},75,50,50,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ВидыСравненияДляКраткогоОтображенияЭлементаЛокальногоОтбораСДатой", -{},11,0, -{1,0}, -{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig -YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga -WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI -GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} -}, -{50}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Правое значение"} -}, -{1,0}, -{1,0},5e1,51,51,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ПравоеЗначениеДляКраткогоОтображенияЭлементаЛокальногоОтбораСДатой", -{},8,0, -{1,0}, -{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig -YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga -WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI -GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} -}, -{51}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Дата"} -}, -{1,0}, -{1,0},5e1,52,52,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ДатаПравоеЗначениеДляКраткогоОтображенияЭлементаЛокальногоОтбораСДатой", -{},8,0, -{1,0}, -{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig -YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga -WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI -GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} -}, -{52}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Применение"} -}, -{1,0}, -{1,0},75,53,53,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ПрименениеДляКраткогоОтображенияЭлементаЛокальногоОтбораСДатой", -{},11,0, -{1,0}, -{"Pattern", -{"#",27d7d459-265e-4fac-9685-d86b957f211f} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVJLbgMhDK26jJRL0C2WMBgYbpFNVl3BAMsuquwi -TtZFj9QrlE+GdFJlsLBsP57fGN5fX/r38/V9dfx4uLKTv1zS5wfrwRvj0kYbSTuQ -Rieg7FdwZtEQFxOctlki5nI8lIYfhoJjixSn5sRWfYwNV7xCS916VTUHUj7D/4/H -CfuYkHjPdCWAS+tSV88iHxwSe/Lvfvdt0ZDGzqxMz9gO1JuIoavVAJvhrdOz0jy7 -F7WxbvK7eESfRUIHIUQEkmjALa5ehaKVtDY+r2aC242RtTKoQJDJKyC3CvDoNSxr -0M6groRqzB+TRul9AAxUqVOu1MpqyAKVDcnF6HAqLbvn0bRCn/O0G2pMZ/5R+QU= -},0} -}, -{53}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Левое значение"} -}, -{1,0}, -{1,0},1e2,54,54,-1,-1,8402433, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,1,0,4,0,"ЛевоеЗначениеДляПодробногоОтображенияЭлементаГлавногоОтбораСДатой", -{},15,0, -{1,0}, -{"Pattern", -{"B"}, -{"#",913e8016-6e90-47a0-b2a0-4513f4edad61}, -{"S"}, -{"D"}, -{"N"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdVFLagMxDC1dBnIJd2uB5b+2petQKD2AJ3aWXYTs -wpysix4pV4gtj6dtQsZGb6SnzxPePT/xd/n+OZPcbs7iPZ1O5fgl2HkVM+OLkISm -RIUefCEFNiQFk67GOjQHW3LKHnvyx1L0tuBOzNsN//aLSmLzjLQN1GBvfS+NrKlz -NcyaBqD1o/x7v1eE24DG3wgrAYxtSj0cRdl7aOTgsH897Ryj7eLE57JrQyHWNDW0 -q66scYDt4jLrEbXW/pc1uo4FNJu9yZNKDlwOBPUtIlByFjK6A5JHKobfdl2bUvDW -ZA2VqgWuaIiRDOiopj0huUSh5dm73VTfjucvzVgUdrFd4nwF},0} -}, -{54}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Вид сравнения"} -}, -{1,0}, -{1,0},75,55,55,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ВидыСравненияДляПодробногоОтображенияЭлементаГлавногоОтбораСДатой", -{},11,0, -{1,0}, -{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig -YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga -WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI -GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} -}, -{55}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Правое значение"} -}, -{1,0}, -{1,0},5e1,56,56,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ПравоеЗначениеДляПодробногоОтображенияЭлементаГлавногоОтбораСДатой", -{},8,0, -{1,0}, -{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig -YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga -WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI -GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} -}, -{56}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Дата"} -}, -{1,0}, -{1,0},5e1,57,57,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ДатаПравоеЗначениеДляПодробногоОтображенияЭлементаГлавногоОтбораСДатой", -{},8,0, -{1,0}, -{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig -YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga -WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI -GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} -}, -{57}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Режим отображения"} -}, -{1,0}, -{1,0},75,58,58,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"РежимОтображенияДляПодробногоОтображенияЭлементаГлавногоОтбораСДатой", -{},11,0, -{1,0}, -{"Pattern"},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNa2JkAIP3u/dXW+rwclUrBSSWlKQW5SnVgngQZGig -YwjiGeuYgCiDWl6uWmx8Mx1jHaDSWiABljUGUbpGRrjUY/IhOszRBYwMESJgl+ga -WoBsAUKwqKEOxAwjQ7AghIRBCM/I1BRMm0AcpxQK8SCYVlJC0QS2xgDiMpCcriEI -GULtwiUF14vqLJipMA8YwEiIjXBVtQA=},0} -}, -{58}, -{-1}, -{-1} -},0} -}, -{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b, -{4, -{8, -{16, -{1,1, -{"ru","Представление"} -}, -{1,0}, -{1,0},1e2,59,59,-1,-1,8394240, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,2,0,4,0,"ПредставлениеДляПодробногоОтображенияЭлементаГлавногоОтбораСДатой", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ -OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U -bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm -rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ -XFhJtSKWz30vMgcItzCmDw==},0} -}, -{59}, -{-1}, -{-1} -},0} -} -},0,0,0,0} -}, -{44c6793c-98d3-4635-bbfe-58bbded2bb4e, -{3,0,0} -}, -{2, -{49,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} -} -} -}, -{51,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} -} -} -} -} -}, -{8,347,104,722,277,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,1,-6}, -{2,-1,6,0} -}, -{0, -{2,14,3,5}, -{2,-1,6,0} -}, -{0, -{2,0,3,-6}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},0,0,0,0,0,0,0,9,17,0,0}, -{14,"КомпоновщикОтбор",4294967295,0,0,0}, -{0} -}, -{e69bf21d-97b2-4f37-86db-675aea9ec2cb,24, -{2, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},8,2,1,0,1,1, -{5,d0a52278-ca43-4762-b8e3-8d872ef8fe2d,140,1,2, -{6,84879366-724a-4fd1-ab6d-25a97ca36cbf,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,0db2cb9d-9be8-49d7-8efe-f8d525230408,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} -} -},6, -{1,1, -{"ru","Показать выбранные записи"} -}, -{1,1, -{"ru","Показать выбранные записи"} -} -},1, -{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,2,84879366-724a-4fd1-ab6d-25a97ca36cbf, -{8,"Разделитель1",0,1, -{1,1, -{"ru","Действие4"} -},0,d0a52278-ca43-4762-b8e3-8d872ef8fe2d,8,1e2,2,0,1,0,0,0,0},0db2cb9d-9be8-49d7-8efe-f8d525230408, -{8,"ПоказатьРезультатаОтбора",0,3, -{1,1, -{"ru","Показать выбранные"} -},1,d0a52278-ca43-4762-b8e3-8d872ef8fe2d,7,1e2,0,0,1,0,0,0,0}, -{0,0, -{0} -} -} -},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,9d0a2e40-b978-11d4-84b6-008048da06df,0} -}, -{8,347,78,722,102,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,24,0,24}, -{2,-1,6,0} -}, -{0, -{2,25,3,5}, -{2,-1,6,0} -}, -{0, -{2,0,3,-6}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,24,1},0,0,0,0,0,0,10,15,0,0}, -{14,"КоманднаяПанельКомпоновщикОтбор",23,0,0,0}, -{0} -}, -{e69bf21d-97b2-4f37-86db-675aea9ec2cb,25, -{2, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},8,2,0,0,1,1, -{5,8d6538eb-fa47-46f2-82d7-07ab238d41c2,3,1,3, -{6,278f626e-f367-4517-a952-c5962665bc13,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} -} -},1, -{3,1, -{-8},"",-1,-1,1,0} -}, -{6,c7971298-588d-4453-8899-91579a2f9331,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,87488b1f-f5fb-454b-b6d8-22efdd7678cc,1,e1692cc2-605b-4535-84dd-28440238746c, -{3,"КоманднаяПанель1ПересчетВыгружаемыхПоСсылке", -{1,"КоманднаяПанель1ПересчетВыгружаемыхПоСсылке", -{1,1, -{"ru","Командная панель1 пересчет выгружаемых по ссылке"} -}, -{1,1, -{"ru","Командная панель1 пересчет выгружаемых по ссылке"} -}, -{1,1, -{"ru","Командная панель1 пересчет выгружаемых по ссылке"} -}, -{3,0, -{0},"",-1,-1,1,0}, -{0,0,0} -} -},7, -{1,1, -{"ru","Определение объектов, выгружаемых по ссылке"} -}, -{1,1, -{"ru","Определение объектов, выгружаемых по ссылке"} -}, -{3,3, -{0},"",12,11,1, -{ -{#base64:Qk3uAAAAAAAAAHYAAAAoAAAADwAAAA8AAAABAAQAAAAAAHgAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAMDAwACAgIAAAAD/AAD/ -AAAA//8A/wAAAP8A/wD//wAA////AIiIiIiGZmZgj/D//4ZmZmCPAA//hmZmYIAA -AP+IiGZggA8AD4/4ZmCA//AAj/hmYI///wCP+IiAj///8I/4/4CIiIiIj/j/gGZo -////+P+AZmj////4D4BmaIiIiIgAgGZmZo///wCAZmZmj///8IBmZmaIiIiIgA== -} -},0} -},1, -{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,3,87488b1f-f5fb-454b-b6d8-22efdd7678cc, -{8,"ПересчетВыгружаемыхПоСсылке",0,2, -{1,1, -{"ru","Объекты по ссылкам"} -},1,8d6538eb-fa47-46f2-82d7-07ab238d41c2,1,1e2,0,3,1,0,0,0,0},c7971298-588d-4453-8899-91579a2f9331, -{8,"Разделитель",0,1, -{1,1, -{"ru","Действие"} -},0,8d6538eb-fa47-46f2-82d7-07ab238d41c2,3,1e2,2,0,1,0,0,0,0},278f626e-f367-4517-a952-c5962665bc13, -{8,"ЗаполнитьТаблицуДанных",0,1, -{1,1, -{"#","Заполнить таблицу данных"} -},0,8d6538eb-fa47-46f2-82d7-07ab238d41c2,2,1e2,0,3,0,0,0,0,0}, -{-1,0, -{0} -} -} -},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,9d0a2e40-b978-11d4-84b6-008048da06df,0} -}, -{8,6,78,342,102,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,25,0,24}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,2,342}, -{2,0,3,-386} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,25,1},0,0,1, -{0,24,2},0,0,0,11,14,0,0}, -{14,"КоманднаяПанельДеревоМетаданных",14,0,0,0}, -{0} -}, -{35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26,26, -{1, -{ -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,1, -{"ru","Выгружать код"} -} -},4, -{1,1, -{"ru","Выгружать код / номер в макет"} -},1,0,1},1,0,0}, -{0} -}, -{8,257,54,440,73,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,26,0,19}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,26,2,183}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,26,1},0,1, -{0,26,3},0,0,0,0,12,11,0,0}, -{14,"ВыгружатьКод",4294967295,0,0,0}, -{0} -}, -{35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26,27, -{1, -{ -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,1, -{"ru","Выгружать ссылку"} -} -},4, -{1,1, -{"ru","Выгружать ссылку"} -},1,0,1},1,0,0}, -{0} -}, -{8,444,54,558,73,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,27,0,19}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,27,2,114}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,27,1},0,1, -{0,27,3},0,0,0,0,13,12,0,0}, -{14,"ВыгружатьСсылку",4294967295,0,0,0}, -{0} -}, -{35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26,28, -{1, -{ -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,1, -{"ru","Связь по гуид"} -} -},4, -{1,1, -{"ru","Связь по гуид"} -},1,0,1},1,0,0}, -{0} -}, -{8,567,54,658,73,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,28,0,19}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,28,2,91}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,28,1},0,1, -{0,28,3},0,0,0,0,14,13,0,0}, -{14,"СвязьПоГуид",4294967295,0,0,0}, -{0} -}, -{35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26,29, -{1, -{ -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,1, -{"ru","Только создание"} -} -},4, -{1,1, -{"ru","Только создание"} -},1,0,1},1,0,0}, -{0} -}, -{8,422,30,531,49,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,29,0,19}, -{2,-1,6,0} -}, -{0, -{2,22,3,4}, -{2,-1,6,0} -}, -{0, -{2,29,2,109}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,29,1},0,1, -{0,29,3},0,0,0,0,15,8,0,0}, -{14,"ТолькоСоздание",4294967295,0,0,0}, -{0} -}, -{35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26,30, -{1, -{ -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,1, -{"ru","Обмен данными"} -} -},4, -{1,1, -{"ru","Обмен данными"} -},1,0,1},1,0,0}, -{0} -}, -{8,549,30,658,49,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,30,0,19}, -{2,-1,6,0} -}, -{0, -{2,22,3,131}, -{2,-1,6,0} -}, -{0, -{2,30,2,109}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,30,1},0,1, -{0,30,3},0,0,0,0,16,9,0,0}, -{14,"ОбменДанными",4294967295,0,0,0}, -{0} -} -} -} -} -},746,500,1,0,1,4,4,325}, -{ -{0},11, -{2, -{ -{0},0,0,1,"ОбработкаОбъект", -{"Pattern", -{"#",9d3c86e4-fa06-4c20-bca1-6fe80c64060e} -} -}, -{ -{7},1,0,1,"ДеревоМетаданных_КопияФормы", -{"Pattern", -{"#",e603c0f2-92fb-4d47-8f38-a44a381cf235} -} -} -}, -{12, -{6, -{2, -{0}, -{0,f420a238-4e45-4a7b-84ca-9abcd874383f} -} -}, -{14, -{1, -{7} -} -}, -{16, -{2, -{0}, -{0,0ddab741-62a3-4d54-bb38-5d944fa6768a} -} -}, -{17, -{2, -{0}, -{0,bcd9f98c-16d2-4a22-b512-f58f24c2c2e2} -} -}, -{19, -{2, -{0}, -{0,ccf43cfe-b00c-431f-b3cb-e45e968dc5d7} -} -}, -{20, -{2, -{0}, -{0,6c7b1e37-1582-46c4-8922-004412d0d14e} -} -}, -{23, -{4, -{0}, -{0,688c1a9a-ed60-4a99-a19c-f10ad08240f3}, -{0}, -{1} -} -}, -{26, -{2, -{0}, -{0,63248c36-ab07-4643-9cd2-ba37d20c4155} -} -}, -{27, -{2, -{0}, -{0,28ec811a-3df5-448b-acff-e2eeab7cac5b} -} -}, -{28, -{2, -{0}, -{0,e290ebce-71a9-4e8a-ab5b-48fdab75a6fc} -} -}, -{29, -{2, -{0}, -{0,59c1f2b8-34f7-46c6-a5c2-e970905a82e8} -} -}, -{30, -{2, -{0}, -{0,e548c2b3-1668-40b7-ae4c-8cb11f51ff25} -} -} -} -}, -{59d6c227-97d3-46f6-84a0-584c5a2807e1,1, -{2,0, -{0,0}, -{0},1} -}, -{1, -{70001,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,4,1,0,0,0, -{0}, -{0}, -{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/xddDataFixtureGen/Form/\320\244\320\276\321\200\320\274\320\260/module" "b/src/xddDataFixtureGen/Form/\320\244\320\276\321\200\320\274\320\260/module" deleted file mode 100644 index 9a5362c6..00000000 --- "a/src/xddDataFixtureGen/Form/\320\244\320\276\321\200\320\274\320\260/module" +++ /dev/null @@ -1,386 +0,0 @@ - -// структура соотвествия имени класса индексу его картинки в коллекции -Перем ИндексыКартинокКлассов; -Перем СоответствиеПоказыватьПриНеобходимости; - -Перем ПолужирныйШрифт; - -//////////////////////////////////////////////////////////////////////////////// -// ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ - -Процедура ПриОткрытии() - ЭтаФорма.Заголовок = ЭтотОбъект.ЗаголовокФормы(); - - Объект().Инициализация(); - ДеревоМетаданных_КопияФормы = ДеревоМетаданных; - - ЗаполнитьСписокВыбора_РежимПоиска(); - ЗаполнитьСписокВыбора_РежимСоздания(); - - ВыгружатьСсылку = Истина; -КонецПроцедуры - -//////////////////////////////////////////////////////////////////////////////// -// ОБРАБОТЧИКИ СОБЫТИЙ ЭЛЕМЕНТОВ ШАПКИ ФОРМЫ - -//////////////////////////////////////////////////////////////////////////////// -// ОБРАБОТЧИКИ СОБЫТИЙ ТАБЛИЦЫ ФОРМЫ ТаблицаДанных - -Процедура ТаблицаДанныхСсылкаПриИзменении(Элемент) - ТаблицаДанныхСсылкаПриИзмененииСервер(ЭлементыФормы.ТаблицаДанных.ТекущаяСтрока); -КонецПроцедуры - -//////////////////////////////////////////////////////////////////////////////// -// ОБРАБОТЧИКИ КОМАНД ФОРМЫ - -Процедура КоманднаяПанель1ПодменюСоздатьМакетДанных(Кнопка) - ПанельИсточников = ЭлементыФормы.ПанельИсточникиДанных; - Если ПанельИсточников.ТекущаяСтраница = ПанельИсточников.Страницы.СтраницаМетаданные Тогда - КоманднаяПанель1СоздатьМакетДанныхПоМетаданным(Кнопка); - ИначеЕсли ПанельИсточников.ТекущаяСтраница = ПанельИсточников.Страницы.СтраницаТаблицаДанных Тогда - КоманднаяПанель1СоздатьМакетДанныхПоТаблицеДанных(Кнопка); - КонецЕсли; -КонецПроцедуры - -Процедура КоманднаяПанель1СоздатьМакетДанныхПоТаблицеДанных(Кнопка) - Если ПроверитьЗаполнение() Тогда - НовыйМакет = СоздатьМакетДанныхПоТаблицеДанныхСервер(); - КонецЕсли; -КонецПроцедуры - -Процедура КоманднаяПанель1СоздатьМакетДанныхПоМетаданным(Кнопка) - - НовыйМакет = СоздатьМакетДанныхПоМетаданнымСервер(); - -КонецПроцедуры - -Процедура КоманднаяПанель1ПротестироватьЗагрузкуМакета(Кнопка) - Макет = Новый ТабличныйДокумент; - Макет.Вывести(ЭлементыФормы.Макет); - - Если ЭтоВстроеннаяОбработка И Не ЕстьВстроеннаяОбработка_юТест Тогда - СообщениеПользователю = Новый СообщениеПользователю; - СообщениеПользователю.Текст = НСтр("ru = 'В конфигурации отсутствует обработка "+ИмяЗапускателяТестов()+". Функция тестирования загрузки макета недоступна.'"); - СообщениеПользователю.Сообщить(); - Возврат; - КонецЕсли; - - Если ЕстьВстроеннаяОбработка_юТест Тогда - ПроверитьЗагрузкуМакетаСервер(Неопределено, Макет, Истина); - Иначе - путьФайл_юТест = ПолучитьПутьОбработкиЗапускателяТестов(); - ИдОбработки_юТест = ИмяЗапускателяТестов(); - ИДПодключеннойОбработки = ПодключитьНаСервереВнешнююОбработкуОтКлиента(путьФайл_юТест, ИдОбработки_юТест); - ПроверитьЗагрузкуМакетаСервер(ИДПодключеннойОбработки, Макет, Ложь); - КонецЕсли; - -КонецПроцедуры - -Процедура КоманднаяПанель1СохранитьМакетДанныхВФайл(Кнопка) - ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); - ДиалогВыбораФайла.ПолноеИмяФайла = ""; - ДиалогВыбораФайла.Фильтр = "Табличный документ (*.mxl)|*.mxl|Все файлы (*.*)|*.*"; - ДиалогВыбораФайла.Заголовок = "Выберите файл"; - Если Не ДиалогВыбораФайла.Выбрать() Тогда - Возврат; - КонецЕсли; - - Макет = ЭлементыФормы.Макет; - Макет.Записать(ДиалогВыбораФайла.ПолноеИмяФайла); -КонецПроцедуры - -Процедура КоманднаяПанель2ОчиститьТаблицуДанных(Кнопка) - ТаблицаДанных.Очистить(); -КонецПроцедуры - -Процедура КоманднаяПанельМакетОчиститьТаблицуДанных(Кнопка) - ЭлементыФормы.Макет.Очистить(); -КонецПроцедуры - -//////////////////////////////////////////////////////////////////////////////// -// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ - -Функция Объект() - Возврат ЭтотОбъект; -КонецФункции - -Процедура ТаблицаДанныхСсылкаПриИзмененииСервер(ИдентификаторСтрокиДанных) - ЭлементДанных = ИдентификаторСтрокиДанных; - Объект().ПриИзмененииСсылки(ЭлементДанных); -КонецПроцедуры - -Функция СоздатьМакетДанныхПоТаблицеДанныхСервер() - Возврат Объект().СоздатьМакетДанныхПоТаблицеДанных(ЭлементыФормы.Макет); -КонецФункции - -Функция СоздатьМакетДанныхПоМетаданнымСервер() - Возврат Объект().СоздатьМакетДанныхПоМетаданным(ЭлементыФормы.Макет); -КонецФункции - -Функция ПолучитьКаталогОбработкиСервер() - Возврат Объект().ПолучитьКаталогОбработки(); -КонецФункции - -Функция ПодключитьВнешнююОбработкуСервер(АдресХранилища, ИдентификаторОбработки, ПолныйПутьФайлаОбработки) - Возврат Объект().ПодключитьВнешнююОбработку(АдресХранилища, ИдентификаторОбработки, ПолныйПутьФайлаОбработки); -КонецФункции - -Функция ПолучитьПутьОбработкиЗапускателяТестов() - каталогТекущегоФайла = ПолучитьКаталогОбработкиСервер(); - - имяФайла_Раннера = ИмяЗапускателяТестов() + ".epf"; - Файл = Новый Файл(каталогТекущегоФайла + имяФайла_Раннера); - Если НЕ Файл.Существует() Тогда - Файл = Новый Файл(каталогТекущегоФайла + "..\" + имяФайла_Раннера); - Если НЕ Файл.Существует() Тогда - ВызватьИсключение "Не удалось найти файл "+имяФайла_Раннера; - КонецЕсли; - КонецЕсли; - путьФайл_Раннер = Файл.ПолноеИмя; - Возврат путьФайл_Раннер; -КонецФункции - -Функция ПодключитьНаСервереВнешнююОбработкуОтКлиента(ПолныйПутьФайлаОбработки, ИдентификаторОбработки) - АдресХранилища = ""; - #Если ТонкийКлиент Тогда - ПоместитьФайл(АдресХранилища, ПолныйПутьФайлаОбработки,, Ложь); - #КонецЕсли - Возврат ПодключитьВнешнююОбработкуСервер(АдресХранилища, ИдентификаторОбработки, ПолныйПутьФайлаОбработки); -КонецФункции - -Процедура ПроверитьЗагрузкуМакетаСервер(ИдОбработки_юТест, ТабличныйДокумент, ЕстьВстроеннаяОбработка_юТест) - Объект().ПроверитьЗагрузкуМакета(ИдОбработки_юТест, ТабличныйДокумент, ЕстьВстроеннаяОбработка_юТест); -КонецПроцедуры - - - - - -// Обработчик события ПриВыводеСтроки элемента формы ДеревоМетаданных. -// -Процедура ДеревоМетаданныхПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) - - ОформлениеСтроки.Ячейки.ВыгружатьПриНеобходимости.ОтображатьФлажок = ПоказыватьФлажокВыгружатьПриНеобходимости(ДанныеСтроки); - ИндексКартинки = Неопределено; - - Если ДанныеСтроки.ЭлементОписания <> Неопределено Тогда - ИндексКартинки = ИндексыКартинокКлассов[ДанныеСтроки.ЭлементОписания.Класс]; - Иначе - ИндексКартинки = ИндексыКартинокКлассов[ДанныеСтроки.Метаданные]; - КонецЕсли; - - Если ИндексКартинки <> Неопределено Тогда - - ОформлениеСтроки.Ячейки.Метаданные.ИндексКартинки = ИндексКартинки; - ОформлениеСтроки.Ячейки.Метаданные.ОтображатьКартинку = Истина; - - КонецЕсли; - - Если ДанныеСтроки.Использоватьотбор = Истина Тогда - - ОформлениеСтроки.Шрифт = ПолужирныйШрифт; - - КонецЕсли; - -КонецПроцедуры - -// Функция определяет, следует ли показывать флажок в колонке выгрузки по ссылке -// -// Параметры -// -Функция ПоказыватьФлажокВыгружатьПриНеобходимости(ЭлементДЗ) - - ЗапомненноеСостояние = СоответствиеПоказыватьПриНеобходимости[ЭлементДЗ]; - Если ЗапомненноеСостояние <> Неопределено Тогда - Возврат ЗапомненноеСостояние; - КонецЕсли; - Если ОбъектОбразуетСсылочныйТип(ЭлементДЗ.ОбъектМД) Тогда - СоответствиеПоказыватьПриНеобходимости[ЭлементДЗ] = Истина; - Возврат Истина; - КонецЕсли; - Для Каждого ПодчиненныйЭлементДЗ Из ЭлементДЗ.Строки Цикл - Если ПоказыватьФлажокВыгружатьПриНеобходимости(ПодчиненныйЭлементДЗ) Тогда - СоответствиеПоказыватьПриНеобходимости[ЭлементДЗ] = Истина; - Возврат Истина; - КонецЕсли; - КонецЦикла; - СоответствиеПоказыватьПриНеобходимости[ЭлементДЗ] = Ложь; - Возврат Ложь; - -КонецФункции - -// Обработчик события ПриИзмененииФлажка элемента формы ДеревоМетаданных. -// -Процедура ДеревоМетаданныхПриИзмененииФлажка(Элемент, Колонка) - Если Колонка = ЭлементыФормы.ДеревоМетаданных.Колонки.Метаданные Тогда - ОбработкаИзмененияСостоянияВыгружать(Элемент.ТекущиеДанные); - ИначеЕсли Колонка = ЭлементыФормы.ДеревоМетаданных.Колонки.ВыгружатьПриНеобходимости Тогда - ОбработкаИзмененияСостоянияВыгружатьПриНеобходимости(Элемент.ТекущиеДанные); - КонецЕсли; -КонецПроцедуры - -Процедура ДеревоМетаданныхПриАктивизацииСтроки(Элемент) - - НастроитьКомпоновщик(); - -КонецПроцедуры - -// Служит для настройки построителя при отборе данных -// -// Параметры: -// -Процедура НастроитьКомпоновщик() - - ТекущаяСтрока = ЭлементыФормы.ДеревоМетаданных.ТекущиеДанные; - - Если ТекущаяСтрока = Неопределено Тогда - Возврат; - КонецЕсли; - - Если НЕ ОпределитьПоСтрокеДереваДоступенПостроитель(ТекущаяСтрока) Тогда - - ДоступностьКомпоновщика = ЛОЖЬ; - УдалитьОтборыКомпоновщика(КомпоновщикНастроекКомпоновкиДанных); - - Иначе - - Попытка - - СхемаКомпоновкиДанных = ПодготовитьКомпоновщикДляВыгрузки(ТекущаяСтрока); - КомпоновщикНастроекКомпоновкиДанных.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); - КомпоновщикНастроекКомпоновкиДанных.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию); - - ДоступностьКомпоновщика = Истина; - - Исключение - ДоступностьКомпоновщика = ЛОЖЬ; - УдалитьОтборыКомпоновщика(КомпоновщикНастроекКомпоновкиДанных); - КонецПопытки; - - КонецЕсли; - - ЭлементыФормы.КомпоновщикОтбор.Доступность = ДоступностьКомпоновщика; - ЭлементыФормы.КоманднаяПанельКомпоновщикОтбор.Доступность = ДоступностьКомпоновщика; - -КонецПроцедуры - -Функция ОпределитьПоСтрокеДереваДоступенПостроитель(СтрокаДерева) - - Если СтрокаДерева.Строки.Количество() > 0 Тогда - Возврат Ложь; - Иначе - Возврат Истина; - КонецЕсли; - -КонецФункции - -Процедура УдалитьОтборыКомпоновщика(Компоновщик) - - Компоновщик.Настройки.Отбор.Элементы.Очистить(); - -КонецПроцедуры - -Процедура КомпоновщикОтборПослеУдаления(Элемент) - - ОбновитьНастройкиПостроителяВТаблицеДляВыгрузки(); - -КонецПроцедуры - -Процедура КомпоновщикОтборПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования) - - ОбновитьНастройкиПостроителяВТаблицеДляВыгрузки(); - -КонецПроцедуры - -Процедура ОбновитьНастройкиПостроителяВТаблицеДляВыгрузки() - - ТекущаяСтрока = ЭлементыФормы.ДеревоМетаданных.ТекущиеДанные; - Если КомпоновщикНастроекКомпоновкиДанных.Настройки.Отбор.Элементы.Количество() > 0 Тогда - - ТекущаяСтрока.НастройкиКомпоновщика = КомпоновщикНастроекКомпоновкиДанных.Настройки.Отбор; //КомпоновщикНастроекКомпоновкиДанных.ПолучитьНастройки(); - ТекущаяСтрока.ИспользоватьОтбор = ИСТИНА; - ТекущаяСтрока.Выгружать = Истина; - - Иначе - - ТекущаяСтрока.НастройкиКомпоновщика = Неопределено; - ТекущаяСтрока.ИспользоватьОтбор = ЛОЖЬ; - - КонецЕсли; - -КонецПроцедуры - -Процедура КоманднаяПанельКомпоновщикОтборПоказатьРезультатаОтбора(Кнопка) - - // показать выбранные записи - Если ЭлементыФормы.КомпоновщикОтбор.Доступность <> Истина - ИЛИ ЭлементыФормы.ДеревоМетаданных.ТекущиеДанные = Неопределено Тогда - Возврат; - КонецЕсли; - - Отчет = СформироватьОтчетПоОтобраннымДанным(ЭлементыФормы.ДеревоМетаданных.ТекущиеДанные); - Отчет.Показать(НСтр("ru = 'Выбранные объекты'")); - -КонецПроцедуры - -// Обработчик события кнопки ПересчетВыгружаемыхПоСсылке командной панели КоманднаяПанель1. -// -Процедура КоманднаяПанель1ПересчетВыгружаемыхПоСсылке(Кнопка) - - СоставВыгрузки(); - ПересчитатьВыгружаемыеПоСсылке(СоставПолнойВыгрузки); - -КонецПроцедуры - -Процедура КоманднаяПанельДеревоМетаданныхЗаполнитьТаблицуДанных(Кнопка) - - - -КонецПроцедуры - -Процедура ЗаполнитьСписокВыбора_РежимПоиска() - СписокВыбора_РежимПоиска(ЭлементыФормы.ТаблицаДанных.Колонки.РежимПоиска.ЭлементУправления.СписокВыбора); -КонецПроцедуры - -Процедура ЗаполнитьСписокВыбора_РежимСоздания() - СписокВыбора_РежимСоздания(ЭлементыФормы.ТаблицаДанных.Колонки.РежимСоздания.ЭлементУправления.СписокВыбора); -КонецПроцедуры - -Процедура КнопкаУстановкиПериодаНажатие(Элемент) - НастройкаПериода = Новый НастройкаПериода; - НастройкаПериода.РедактироватьКакИнтервал = Истина; - НастройкаПериода.РедактироватьКакПериод = Истина; - НастройкаПериода.ВариантНастройки = ВариантНастройкиПериода.Период; - НастройкаПериода.УстановитьПериод(ДатаНачала, ДатаОкончания); - Если НастройкаПериода.Редактировать() Тогда - ДатаНачала = НастройкаПериода.ПолучитьДатуНачала(); - ДатаОкончания = НастройкаПериода.ПолучитьДатуОкончания(); - КонецЕсли; -КонецПроцедуры - - -ПолужирныйШрифт = Новый Шрифт(,,ИСТИНА,,,); - -ИндексыКартинокКлассов = Новый Структура; -ИндексыКартинокКлассов.Вставить("Справочники", 0); -ИндексыКартинокКлассов.Вставить("ПланыОбмена", 1); -ИндексыКартинокКлассов.Вставить("ПланыСчетов", 2); -ИндексыКартинокКлассов.Вставить("РеквизитыАдресации", 3); -ИндексыКартинокКлассов.Вставить("Константы", 4); -ИндексыКартинокКлассов.Вставить("РегистрыНакопления", 5); -ИндексыКартинокКлассов.Вставить("БизнесПроцессы", 6); -ИндексыКартинокКлассов.Вставить("Последовательности", 7); -ИндексыКартинокКлассов.Вставить("РегистрыСведений", 8); -ИндексыКартинокКлассов.Вставить("Перерасчеты", 9); -ИндексыКартинокКлассов.Вставить("Реквизиты", 10); -ИндексыКартинокКлассов.Вставить("ТабличныеЧасти", 11); -ИндексыКартинокКлассов.Вставить("Ресурсы", 12); -ИндексыКартинокКлассов.Вставить("ПланыВидовРасчета", 13); -ИндексыКартинокКлассов.Вставить("Документы", 14); -ИндексыКартинокКлассов.Вставить("ПланыВидовХарактеристик", 15); -ИндексыКартинокКлассов.Вставить("Конфигурации", 16); -ИндексыКартинокКлассов.Вставить("Задачи", 17); -ИндексыКартинокКлассов.Вставить("РегистрыБухгалтерии", 18); -ИндексыКартинокКлассов.Вставить("РегистрыРасчета", 19); -ИндексыКартинокКлассов.Вставить("Измерения", 20); -СоответствиеПоказыватьПриНеобходимости = Новый Соответствие; diff --git a/src/xddDataFixtureGen/ObjectModule.txt b/src/xddDataFixtureGen/ObjectModule.txt deleted file mode 100644 index ec69ecca..00000000 --- a/src/xddDataFixtureGen/ObjectModule.txt +++ /dev/null @@ -1,4583 +0,0 @@ -Перем ТестовыеДанныхДляУдаления; - -Перем МассивИмен; - -Перем МетаданныеОписание Экспорт; -Перем СсылочныеТипы Экспорт; -Перем СоответствиеОбъектовМетаданныхИСсылочныхТипов; - -// массив строк дерева метаданных, имеющих признак Выгружать -Перем СоставПолнойВыгрузки Экспорт; - -Перем мВыгруженныеОбъекты; - -Перем мНаличиеВыгрузкиПодчиненныхОбъектов; -Перем мТипРезультатЗапроса; -Перем мСоответствиеКолонокДвижений; -Перем ОбработанныхКонстант Экспорт; -Перем ОбработанныхНаборовЗаписей Экспорт; -Перем СоставВспомогательнойВыгрузки; - -Перем юТест; - -Функция Версия() Экспорт - Возврат "3.0.0.3"; -КонецФункции - -Функция ЗаголовокФормы() Экспорт - Возврат СокрЛП(Метаданные().Синоним) + ", версия " + Версия();; -КонецФункции - -//{ основная процедура для юнит-тестирования xUnitFor1C -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - //юТест.ДобавитьПростыеТестыИзОбъекта(ВсеТесты, ЭтотОбъект); - - #Если ТолстыйКлиентОбычноеПриложение Или ТолстыйКлиентУправляемоеПриложение Тогда - ВсеТесты.Добавить("СпецТестДолжен_ПолучитьМакетДляСозданияПростогоСправочникаНаБазеЗапроса"); - ВсеТесты.Добавить("СпецТестДолжен_ПолучитьМакетДляСоздания2ЗаписейРегистраСведенийНаБазеЗапроса"); - #КонецЕсли - - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияПростогоСправочника"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьИдентификаторИзПредставления"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияПростогоСправочника_ПредставлениеНеИдентификатор"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияОбъектаСЗаполненнымРеквизитомТипаПеречисление"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияДвухПростыхСправочников"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияДвухСвязанныхСправочников"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияСправочникаСРеквизитомСсылка_РежимПоискаКод"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияСправочникаСДвумяСтрокамиВТабличнойЧасти"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияДокументаСДвумяСтрокамиВТабличнойЧасти"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияДвухЗаписейВРегистреСведений"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияПодчиненногоСправочника"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияИерархическогоСправочника"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияДвухЗаписейРегистраНакопления"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияСправочникаСПустойСсылкойРеквизитаСоставногоТипа"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияДвухЗаписейРегистраБухгалтерии"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияДокументаСДвумяТабличнымиЧастями"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляЗаполненияПредопределенногоЭлементаСправочника"); - ВсеТесты.Добавить("ТестДолжен_ПолучитьМакетДляСозданияЗаполненияУзловПланаОбмена"); - - Возврат ВсеТесты; - -КонецФункции -//} - -//{ ОСНОВНОЙ БЛОК -Функция СоздатьМакетДляГенерацииДанных(МассивДанных) Экспорт - ШапкаДанных = ШапкаДанныхВМакете(); - Макет = Новый ТабличныйДокумент; - номерКолонки = 0; - Для каждого ключЗначение Из ШапкаДанных Цикл - номерКолонки = номерКолонки + 1; - имяПоля = ключЗначение.Ключ; - Макет.Область(1, номерКолонки, 1, номерКолонки).Текст = имяПоля ; - КонецЦикла; - - Для каждого ОписательОбъекта Из МассивДанных Цикл - ДобавитьОбъектВМакет(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных); - КонецЦикла; - Возврат Макет; -КонецФункции - -//{ Пример вызова из внешнего кода: -// Путь_xUnitFor1C = "C:\Projects\GitHub\xUnitFor1C\"; -// ПутьГенератораМакета = Путь_xUnitFor1C + "ГенерацияМакетаДанных_На_БазеРеальныхДанных.epf"; -// Запрос = Новый Запрос; -// запрос.Текст = " -// |ВЫБРАТЬ -// | ""РегистрыСведений.РегистрСведений1.СоздатьНаборЗаписей().Метаданные()"" КАК __Метаданные, -// | ""ЗаписьРегистра"" КАК __Префикс, -// | РегистрСведений1.ПростойСправочник, -// | РегистрСведений1.ПростойСправочник2, -// | РегистрСведений1.РесурсЧисло, -// | РегистрСведений1.РесурсБулево -// |ИЗ -// | РегистрСведений.РегистрСведений1 КАК РегистрСведений1 -// |УПОРЯДОЧИТЬ ПО -// | ПростойСправочник2"; -// - //или Запрос.Текст = - // "ВЫБРАТЬ - // | """" КАК __Метаданные, - // | ""ПростойСправочник"" КАК __Префикс, - // | ПростойСправочник.Ссылка, - // | ПростойСправочник.Код, - // | ПростойСправочник.Наименование, - // | ПростойСправочник.РеквизитБулево, - // | ПростойСправочник.РеквизитПеречисление - // |ИЗ - // | Справочник.ПростойСправочник КАК ПростойСправочник - // |Где РеквизитБулево И ПростойСправочник.Наименование = ""Тестовое наименование"" "; -// -// РезультатЗапроса = Запрос.Выполнить(); -// -// ГенераторМакетаДанных = ВнешниеОбработки.Создать(ПутьГенератораМакета); -// Макет = ГенераторМакетаДанных.СоздатьМакетДанныхНаОснованииЗапроса(РезультатЗапроса); -// Макет.Показать(); -//} -Функция СоздатьМакетДанныхНаОснованииЗапроса(РезультатЗапроса) Экспорт - Таблица = РезультатЗапроса.Выгрузить(); - - МассивПропускаемыхКолонок = Новый Массив; - МассивПропускаемыхКолонок.Добавить("__Метаданные"); - МассивПропускаемыхКолонок.Добавить("__Префикс"); - СтрокаПропускаемыхКолонок = ""; - Для каждого Колонка Из МассивПропускаемыхКолонок Цикл - СтрокаПропускаемыхКолонок = СтрокаПропускаемыхКолонок + Колонка+", "; - КонецЦикла; - - КоличествоСлужебныхКолонок = МассивПропускаемыхКолонок.Количество(); - - СтруктураДанных = Новый Структура(); - для каждого КолонкаЗапроса из Таблица.Колонки цикл - Если МассивПропускаемыхКолонок.Найти(КолонкаЗапроса.Имя) <> Неопределено Тогда - КоличествоСлужебныхКолонок = КоличествоСлужебныхКолонок - 1; - Продолжить; - КонецЕсли; - - имяКолонки = КолонкаЗапроса.имя; - СтруктураДанных.Вставить(имяКолонки); - КонецЦикла; - - Если КоличествоСлужебныхКолонок <> 0 Тогда - ВызватьИсключение "Не все служебные колонки заданы! В запросе обязательно должны быть колонки "+СтрокаПропускаемыхКолонок; - КонецЕсли; - - МассивДанных = Новый Массив; - - номер = 1; - индекс = 1; - Для каждого Строка из Таблица Цикл - номер = номер + 1; - - ИмяПеременной = Строка.__Префикс + индекс; - РеквизитыЗаписи = Новый Структура(); - Для каждого ключЗначение Из СтруктураДанных Цикл - РеквизитыЗаписи.Вставить(ключЗначение.Ключ) - КонецЦикла; - ЗаполнитьЗначенияСвойств(РеквизитыЗаписи, Строка); - - описаниеЗаписиРегистраСведений1 = СоздатьОписательЭлемента(); - описаниеЗаписиРегистраСведений1.Вставить("ИмяПеременной", ИмяПеременной); - описаниеЗаписиРегистраСведений1.Вставить("Реквизиты", РеквизитыЗаписи); - - Если ПустаяСтрока(Строка.__Метаданные) Тогда - описаниеЗаписиРегистраСведений1.Вставить("Ссылка", Строка.Ссылка); - Иначе - Мета = Неопределено; - Выполнить("Мета = "+Строка.__Метаданные); - - описаниеЗаписиРегистраСведений1.Вставить("Метаданное", Мета); - КонецЕсли; - - МассивДанных.Добавить(описаниеЗаписиРегистраСведений1); - - индекс = индекс + 1; - КонецЦикла; - - Макет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - Возврат Макет; -КонецФункции - -Функция СоздатьОписательЭлементаПоСсылке(Ссылка, МассивИмен, ДанныеОбъекта = Неопределено) Экспорт - ОписательЭлемента = СоздатьОписательЭлемента(); - ОписательЭлемента.Ссылка = Ссылка; - ОписательЭлемента.ИмяПеременной = УникальноеИмяПеременнойПоСсылке(Ссылка, МассивИмен); - МетаСсылка = Ссылка.Метаданные(); - ОписательЭлемента.Метаданное = МетаСсылка; - ОписательЭлемента.РежимПоиска = "Перем"; - ОписательЭлемента.ВыгружатьКод = ВыгружатьКод; - МенеджерОбъекта = ПолучитьМенеджерОбъекта_ирЛкс(МетаСсылка); - Если Метаданные.Справочники.Содержит(МетаСсылка) И Ссылка.ЭтоГруппа Тогда - ОписательЭлемента.РежимСоздания = "Группа"; - ИначеЕсли Метаданные.ПланыОбмена.Содержит(МетаСсылка) И Ссылка = МенеджерОбъекта.ЭтотУзел() Тогда - ОписательЭлемента.РежимСоздания = "ЭтотУзел"; - Иначе - ОписательЭлемента.РежимСоздания = ""; - КонецЕсли; - Если ДанныеОбъекта <> Неопределено Тогда - Если ДанныеОбъекта.Свойство("Предопределенный") Тогда - ЭтоПредопределенноеЗначение = ДанныеОбъекта.Предопределенный; - Иначе - ЭтоПредопределенноеЗначение = Ложь; - КонецЕсли; - Если ЭтоПредопределенноеЗначение Тогда - Если ЭтоПлатформа8_3_3БезРежимаСовместимости() Тогда - ОписательЭлемента.РежимСоздания = "Предопределенный"; - ОписательЭлемента.Значение = ДанныеОбъекта.ИмяПредопределенныхДанных; - Иначе // т.к. в 8.2 нет свойства ИмяПредопределенныхДанных, приходится использовать ГУИД - ОписательЭлемента.РежимСоздания = "СоздатьПоГуид"; - ОписательЭлемента.ГуидСсылки = Ссылка.УникальныйИдентификатор(); - КонецЕсли; - КонецЕсли; - КонецЕсли; - Возврат ОписательЭлемента; -КонецФункции - -Функция ЭтоПлатформа8_3_3БезРежимаСовместимости() - - СистемнаяИнформация = Новый СистемнаяИнформация; - - ВерсияПриложения = СистемнаяИнформация.ВерсияПриложения; - Если СравнитьВерсии(ВерсияПриложения, "8.3.3") >= 0 Тогда - ВерсияРежимаСовместимости = СтрЗаменить(СтрЗаменить(Метаданные.РежимСовместимости, "Версия", ""), "_", "."); - Если ВРег(ВерсияРежимаСовместимости) = ВРег("НеИспользовать") Или СравнитьВерсии(ВерсияРежимаСовместимости, "8.3.3") >= 0 Тогда - Возврат Истина; - КонецЕсли; - КонецЕсли; - - Возврат Ложь; - -КонецФункции - -// Сравнить две строки версий. -// -// Параметры -// СтрокаВерсии1 - Строка - номер версии в формате РР.{П|ПП}.ЗЗ.СС -// СтрокаВерсии2 - Строка - второй сравниваемый номер версии -// -// Возвращаемое значение: -// Число - больше 0, если СтрокаВерсии1 > СтрокаВерсии2; 0, если версии равны. -// -Функция СравнитьВерсии(Знач СтрокаВерсии1, Знач СтрокаВерсии2) Экспорт - - Строка1 = ?(ПустаяСтрока(СтрокаВерсии1), "0.0.0.0", СтрокаВерсии1); - Строка2 = ?(ПустаяСтрока(СтрокаВерсии2), "0.0.0.0", СтрокаВерсии2); - Версия1 = РазложитьСтрокуВМассивПодстрок(Строка1, "."); - Если Версия1.Количество() > 4 Тогда - ВызватьИсключение СтрЗаменить(НСтр("ru = 'Неправильный формат параметра СтрокаВерсии1: %1'"), "%1", СтрокаВерсии1); - Иначе - Для Инекс = Версия1.Количество() По 4 Цикл - Версия1.Добавить("0"); - КонецЦикла; - КонецЕсли; - Версия2 = РазложитьСтрокуВМассивПодстрок(Строка2, "."); - Если Версия2.Количество() > 4 Тогда - ВызватьИсключение СтрЗаменить(НСтр("ru = 'Неправильный формат параметра СтрокаВерсии2: %1'"), "%1", СтрокаВерсии2); - Иначе - Для Инекс = Версия2.Количество() По 4 Цикл - Версия2.Добавить("0"); - КонецЦикла; - КонецЕсли; - - Результат = 0; - Для Разряд = 0 По 3 Цикл - Результат = Число(Версия1[Разряд]) - Число(Версия2[Разряд]); - Если Результат <> 0 Тогда - Возврат Результат; - КонецЕсли; - КонецЦикла; - Возврат Результат; - -КонецФункции - -Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",", Знач ПропускатьПустыеСтроки = Неопределено, СокращатьНепечатаемыеСимволы = Ложь) Экспорт - - Результат = Новый Массив; - - // для обеспечения обратной совместимости - Если ПропускатьПустыеСтроки = Неопределено Тогда - ПропускатьПустыеСтроки = ?(Разделитель = " ", Истина, Ложь); - Если ПустаяСтрока(Строка) Тогда - Если Разделитель = " " Тогда - Результат.Добавить(""); - КонецЕсли; - Возврат Результат; - КонецЕсли; - КонецЕсли; - // - - Позиция = Найти(Строка, Разделитель); - Пока Позиция > 0 Цикл - Подстрока = Лев(Строка, Позиция - 1); - Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Подстрока) Тогда - Если СокращатьНепечатаемыеСимволы Тогда - Результат.Добавить(СокрЛП(Подстрока)); - Иначе - Результат.Добавить(Подстрока); - КонецЕсли; - КонецЕсли; - Строка = Сред(Строка, Позиция + СтрДлина(Разделитель)); - Позиция = Найти(Строка, Разделитель); - КонецЦикла; - - Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Строка) Тогда - Если СокращатьНепечатаемыеСимволы Тогда - Результат.Добавить(СокрЛП(Строка)); - Иначе - Результат.Добавить(Строка); - КонецЕсли; - КонецЕсли; - - Возврат Результат; - -КонецФункции - -Функция СоздатьОписательЭлементаПоНаборуЗаписей(НаборЗаписей, МассивИмен) Экспорт - Мд = НаборЗаписей.Метаданные(); - ОписательЭлемента = СоздатьОписательЭлемента(); - ОписательЭлемента.ИмяПеременной = ПолучитьУникальноеИмяПеременной(МассивИмен, Мд.Имя); - МассивИмен.Добавить(НРег(ОписательЭлемента.ИмяПеременной)); - - ОписательЭлемента.Реквизиты = НаборЗаписей; - ОписательЭлемента.Ссылка = Неопределено; - ОписательЭлемента.Метаданное = Мд; - Возврат ОписательЭлемента; -КонецФункции - -Функция СоздатьОписательЭлемента() Экспорт - ОписательЭлемента = Новый Структура; - ОписательЭлемента.Вставить("Ссылка"); - ОписательЭлемента.Вставить("ИмяПеременной", ""); - ОписательЭлемента.Вставить("Значение", Неопределено); - ОписательЭлемента.Вставить("Метаданное"); - ОписательЭлемента.Вставить("ВыгружатьКод", Ложь); - ОписательЭлемента.Вставить("РежимПоиска", ""); - ОписательЭлемента.Вставить("РежимСоздания", ""); - ОписательЭлемента.Вставить("ГуидСсылки", Неопределено); - ОписательЭлемента.Вставить("Реквизиты", Неопределено); - Возврат ОписательЭлемента; -КонецФункции - -Функция УникальноеИмяПеременнойПоСсылке(Ссылка, МассивИмен) - ИмяПеременной = ПолучитьИдентификаторПредставленияПоСсылке(Ссылка); - ИмяПеременной = ПолучитьУникальноеИмяПеременной(МассивИмен, ИмяПеременной); - МассивИмен.Добавить(НРег(ИмяПеременной)); - Возврат ИмяПеременной; -КонецФункции - -Функция ПолучитьУникальноеИмяПеременной(МассивИмен, Знач Имя) - Если Не ЗначениеЗаполнено(МассивИмен) Тогда - Возврат Имя; - КонецЕсли; - - ПоменялиИмя = Ложь; - Индекс = 1; - ИсходноеИмя = Имя + "_"; // для генерации нормальных имен типа Перем_1, Перем_2, Перем_3 - Пока МассивИмен.Найти(НРег(Имя)) <> Неопределено Цикл - Имя = ИсходноеИмя + Индекс; - Индекс = Индекс + 1; - ПоменялиИмя = Истина; - КонецЦикла; - Возврат Имя; -КонецФункции - -Функция ПолучитьИдентификаторПредставленияПоСсылке(Ссылка) //Экспорт - Мд = Ссылка.Метаданные(); - - менеджерОбъекта = ПолучитьМенеджерОбъекта_ирЛкс(Мд); - КорневойТипКонфигурации = ПолучитьКорневойТипКонфигурации_ирЛкс(Мд); - - Представление = ""; - Если КорневойТипКонфигурации = "Справочник" Тогда - Представление = Ссылка.Наименование; - ИначеЕсли КорневойТипКонфигурации = "Документ" Тогда - Представление = ""+Ссылка; - //ИначеЕсли КорневойТипКонфигурации = "РегистрСведений" Тогда - ИначеЕсли КорневойТипКонфигурации = "БизнесПроцесс" Тогда - Представление = ""+Ссылка; - ИначеЕсли КорневойТипКонфигурации = "Задача" Тогда - Представление = ""+Ссылка; - ИначеЕсли КорневойТипКонфигурации = "ПланОбмена" Тогда - Представление = ""+Ссылка; - Иначе - ВызватьИсключение "ПолучитьИдентификаторПредставленияПоСсылке() : Неизвестный КорневойТипКонфигурации <"+КорневойТипКонфигурации+">"; - КонецЕсли; - рез = ПолучитьИдентификаторИзПредставления_Лкс(Представление, "_"); - Возврат рез; -КонецФункции - -Процедура ДобавитьОбъектВМакет(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных) - Ссылка = Неопределено; - Мд = Неопределено; - ЭтоСсылочныйОбъект = ЭтоОписательОбъектаСсылки(ОписательОбъекта, Ссылка); - Если ЭтоСсылочныйОбъект Тогда - ЭтоСсылочныйОбъект = Истина; - Мд = Ссылка.Метаданные(); - ИначеЕсли ОписательОбъекта.Свойство("Метаданное", Мд) Тогда - КонецЕсли; - - ДобавитьМетаданныеВМакетДляДобавляемогоОбъекта(Макет, ОписательОбъекта, ШапкаДанных, Макет.ВысотаТаблицы+1, Мд); - - менеджерОбъекта = ПолучитьМенеджерОбъекта_ирЛкс(Мд); - КорневойТипКонфигурации = ПолучитьКорневойТипКонфигурации_ирЛкс(Мд); - Если КорневойТипКонфигурации = "Справочник" Тогда - Если ЗначениеЗаполнено(Ссылка) и Ссылка.ЭтоГруппа Тогда - лПустойОбъект = менеджерОбъекта.СоздатьГруппу(); - Иначе - лПустойОбъект = менеджерОбъекта.СоздатьЭлемент(); - КонецЕсли; - ИначеЕсли КорневойТипКонфигурации = "Документ" Тогда - лПустойОбъект = менеджерОбъекта.СоздатьДокумент(); - ИначеЕсли КорневойТипКонфигурации = "БизнесПроцесс" Тогда - лПустойОбъект = менеджерОбъекта.СоздатьБизнесПроцесс(); - ИначеЕсли КорневойТипКонфигурации = "Задача" Тогда - лПустойОбъект = менеджерОбъекта.СоздатьЗадачу(); - ИначеЕсли КорневойТипКонфигурации = "РегистрСведений" Тогда - ИначеЕсли КорневойТипКонфигурации = "РегистрНакопления" Тогда - ИначеЕсли КорневойТипКонфигурации = "РегистрБухгалтерии" Тогда - ИначеЕсли КорневойТипКонфигурации = "ПланОбмена" Тогда - лПустойОбъект = менеджерОбъекта.СоздатьУзел(); - Иначе - ВызватьИсключение "Неизвестный КорневойТипКонфигурации <"+КорневойТипКонфигурации+">"; - КонецЕсли; - - ВыгружаемыеСтандартныеРеквизиты = ВыгружаемыеСтандартныеРеквизиты(ОписательОбъекта, КорневойТипКонфигурации); - - Если ЗначениеЗаполнено(Ссылка) Тогда - объект = Ссылка.ПолучитьОбъект(); - - Если Не ВыгружатьСсылку И ЗначениеЗаполнено(ОписательОбъекта.ГуидСсылки) Тогда - Для каждого РеквизитМд Из Мд.СтандартныеРеквизиты Цикл - Если РеквизитМд.Имя = "Ссылка" Тогда - НомерСтрокиМакета = Макет.ВысотаТаблицы+1; - ДобавилиРеквизит = ОбработатьРеквизитОбъекта(Макет, МассивДанных, Объект, РеквизитМд, ОписательОбъекта.ГуидСсылки, Мд, НомерСтрокиМакета, ШапкаДанных); - КонецЕсли; - КонецЦикла; - КонецЕсли; - - ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект, лПустойОбъект, Мд.СтандартныеРеквизиты, ВыгружаемыеСтандартныеРеквизиты); - ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект, лПустойОбъект, Мд.Реквизиты, Неопределено); - - ОбработатьТабличныеЧастиОбъекта(Макет, Мд.ТабличныеЧасти, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект); - ОбработатьРежимыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект); - - ИначеЕсли КорневойТипКонфигурации = "РегистрСведений" и ТипЗнч(ОписательОбъекта.Реквизиты) = Тип("Структура") Тогда - ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Мд, Неопределено, Мд.СтандартныеРеквизиты, ВыгружаемыеСтандартныеРеквизиты); - ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Мд, Неопределено, Мд.Измерения, Неопределено); - ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Мд, Неопределено, Мд.Ресурсы, Неопределено); - ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Мд, Неопределено, Мд.Реквизиты, Неопределено); - - ИначеЕсли КорневойТипКонфигурации = "РегистрСведений" - Или КорневойТипКонфигурации = "РегистрНакопления" - Или КорневойТипКонфигурации = "РегистрБухгалтерии" Тогда - - ЭтоРегистрБухгалтерии = КорневойТипКонфигурации = "РегистрБухгалтерии"; - - НаборЗаписейРегистра = ОписательОбъекта.Реквизиты; - Для Каждого ЗаписьРегистра Из НаборЗаписейРегистра Цикл - Макет.Область(Макет.ВысотаТаблицы+1, ШапкаДанных.ТЧ).Текст = "Запись"; - ОписательОбъекта.Реквизиты = ЗаписьРегистра; - - НаборСтандартныеРеквизиты = Мд.СтандартныеРеквизиты; - Если ЭтоРегистрБухгалтерии Тогда - ДанныеСчета = Новый Структура; - Если Мд.Корреспонденция Тогда - ДанныеСчета.Вставить("СчетДт", Новый Структура("НомераВидовСубконто, НаименованиеРеквизитаСубконто", Новый Массив, "СубконтоДт")); - ДанныеСчета.Вставить("СчетКт", Новый Структура("НомераВидовСубконто, НаименованиеРеквизитаСубконто", Новый Массив, "СубконтоКт")); - Иначе - ДанныеСчета.Вставить("Счет", Новый Структура("НомераВидовСубконто, НаименованиеРеквизитаСубконто", Новый Массив, "Субконто")); - КонецЕсли; - - НаборСтандартныеРеквизиты = Новый Массив; - для каждого МдРеквизит из Мд.СтандартныеРеквизиты Цикл - ИмяРеквизита = МдРеквизит.Имя; - Если Лев(ИмяРеквизита, СтрДлина("ВидСубконто")) = "ВидСубконто" Тогда - Продолжить; - КонецЕсли; - Если Лев(ИмяРеквизита, СтрДлина("Субконто")) = "Субконто" Тогда - Продолжить; - КонецЕсли; - НаборСтандартныеРеквизиты.Добавить(МдРеквизит); - КонецЦикла; - КонецЕсли; - - ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Мд, Неопределено, НаборСтандартныеРеквизиты, ВыгружаемыеСтандартныеРеквизиты); - ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Мд, Неопределено, Мд.Измерения, Неопределено, КорневойТипКонфигурации); - ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Мд, Неопределено, Мд.Ресурсы, Неопределено, КорневойТипКонфигурации); - ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Мд, Неопределено, Мд.Реквизиты, Неопределено); - - Если ЭтоРегистрБухгалтерии Тогда - ВыгружаемыеРеквизиты = Новый Массив; - МассивИмитаторРеквизитовМд = Новый Массив; - Для каждого КлючЗначение Из ДанныеСчета Цикл - ИмяРеквизита = КлючЗначение.Ключ; - ВыгружаемыеРеквизиты.Добавить(ИмяРеквизита); - Структура = Новый Структура("Имя,Субконто", ИмяРеквизита, КлючЗначение.Значение); - МассивИмитаторРеквизитовМд.Добавить(Структура); - КонецЦикла; - - ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Мд, Неопределено, МассивИмитаторРеквизитовМд, ВыгружаемыеРеквизиты, КорневойТипКонфигурации); - КонецЕсли; - КонецЦикла; - - Иначе - ВызватьИсключение "Неизвестный вариант работы - метод <ДобавитьОбъектВМакет>"; - КонецЕсли; -КонецПроцедуры - -Процедура ДобавитьМетаданныеВМакетДляДобавляемогоОбъекта(Макет, ОписательОбъекта, ШапкаДанных, НомерСтрокиМакета, Мд) - НомерКолонкиМакета_Тип = ШапкаДанных.Тип; - ОбластьМакета = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_Тип, НомерСтрокиМакета, НомерКолонкиМакета_Тип); - ОбластьМакета.Текст = ПолучитьКорневойТипКонфигурации_ирЛкс(Мд); - - НомерКолонкиМакета_Вид = ШапкаДанных.Вид; - ОбластьМакета = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_Вид, НомерСтрокиМакета, НомерКолонкиМакета_Вид); - ОбластьМакета.Текст = Мд.Имя; - - НомерКолонкиМакета_ИмяПеременной = ШапкаДанных.ИмяПеременной; - ОбластьМакета = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_ИмяПеременной, НомерСтрокиМакета, НомерКолонкиМакета_ИмяПеременной); - - ИмяПеременной = ИмяПеременнойИзОписателяОбъекта(Мд, ОписательОбъекта); - ОбластьМакета.Текст = ИмяПеременной; - - НомерКолонкиМакета_Режим = ШапкаДанных.Режим; - ОбластьМакета_Режим = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_Режим, НомерСтрокиМакета, НомерКолонкиМакета_Режим); - ОбластьМакета_Режим.Текст = ОписательОбъекта.РежимСоздания; - - НомерКолонкиМакета_Значение = ШапкаДанных.Значение; - ОбластьМакета_Значение = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_Значение, НомерСтрокиМакета, НомерКолонкиМакета_Значение); - ОбластьМакета_Значение.Текст = ОписательОбъекта.Значение; -КонецПроцедуры - -Функция ВыгружаемыеСтандартныеРеквизиты(ОписательОбъекта, КорневойТипКонфигурации) - ВыгружаемыеСтандартныеРеквизиты = Новый Массив; - Если КорневойТипКонфигурации = "Справочник" Тогда - ВыгружаемыеСтандартныеРеквизиты.Добавить("Наименование"); - ВыгружаемыеСтандартныеРеквизиты.Добавить("ПометкаУдаления"); - ВыгружатьКод = Ложь; - Если ОписательОбъекта.Свойство("ВыгружатьКод", ВыгружатьКод) и ВыгружатьКод Тогда - ВыгружаемыеСтандартныеРеквизиты.Добавить("Код"); - КонецЕсли; - Если ВыгружатьСсылку Тогда - ВыгружаемыеСтандартныеРеквизиты.Добавить("Ссылка"); - КонецЕсли; - - МетаданныеСправочника = ОписательОбъекта.Ссылка.Метаданные(); - Если МетаданныеСправочника.Владельцы.Количество() > 0 Тогда - ВыгружаемыеСтандартныеРеквизиты.Добавить("Владелец"); - КонецЕсли; - Если МетаданныеСправочника.Иерархический Тогда - ВыгружаемыеСтандартныеРеквизиты.Добавить("Родитель"); - КонецЕсли; - - ИначеЕсли КорневойТипКонфигурации = "Документ" Тогда - ВыгружаемыеСтандартныеРеквизиты.Добавить("Дата"); - ВыгружаемыеСтандартныеРеквизиты.Добавить("ПометкаУдаления"); - ВыгружаемыеСтандартныеРеквизиты.Добавить("Проведен"); - ВыгружатьКод = Ложь; - Если ОписательОбъекта.Свойство("ВыгружатьКод", ВыгружатьКод) и ВыгружатьКод Тогда - ВыгружаемыеСтандартныеРеквизиты.Добавить("Номер"); - КонецЕсли; - Если ВыгружатьСсылку Тогда - ВыгружаемыеСтандартныеРеквизиты.Добавить("Ссылка"); - КонецЕсли; - - ИначеЕсли КорневойТипКонфигурации = "БизнесПроцесс" Тогда - ВыгружаемыеСтандартныеРеквизиты.Добавить("Дата"); - ВыгружаемыеСтандартныеРеквизиты.Добавить("ПометкаУдаления"); - ВыгружаемыеСтандартныеРеквизиты.Добавить("Стартован"); - ВыгружаемыеСтандартныеРеквизиты.Добавить("Завершен"); - ВыгружаемыеСтандартныеРеквизиты.Добавить("ВедущаяЗадача"); - ВыгружатьКод = Ложь; - Если ОписательОбъекта.Свойство("ВыгружатьКод", ВыгружатьКод) и ВыгружатьКод Тогда - ВыгружаемыеСтандартныеРеквизиты.Добавить("Номер"); - КонецЕсли; - Если ВыгружатьСсылку Тогда - ВыгружаемыеСтандартныеРеквизиты.Добавить("Ссылка"); - КонецЕсли; - - ИначеЕсли КорневойТипКонфигурации = "Задача" Тогда - ВыгружаемыеСтандартныеРеквизиты.Добавить("Дата"); - ВыгружаемыеСтандартныеРеквизиты.Добавить("ПометкаУдаления"); - ВыгружаемыеСтандартныеРеквизиты.Добавить("БизнесПроцесс"); - ВыгружаемыеСтандартныеРеквизиты.Добавить("ТочкаМаршрута"); - ВыгружаемыеСтандартныеРеквизиты.Добавить("Наименование"); - ВыгружаемыеСтандартныеРеквизиты.Добавить("Выполнена"); - ВыгружатьКод = Ложь; - Если ОписательОбъекта.Свойство("ВыгружатьКод", ВыгружатьКод) и ВыгружатьКод Тогда - ВыгружаемыеСтандартныеРеквизиты.Добавить("Номер"); - КонецЕсли; - Если ВыгружатьСсылку Тогда - ВыгружаемыеСтандартныеРеквизиты.Добавить("Ссылка"); - КонецЕсли; - - ИначеЕсли КорневойТипКонфигурации = "РегистрСведений" Тогда - Если Не ОписательОбъекта.Метаданное.ПериодичностьРегистраСведений = Метаданные.СвойстваОбъектов.ПериодичностьРегистраСведений.Непериодический Тогда - ВыгружаемыеСтандартныеРеквизиты.Добавить("Период"); - КонецЕсли; - Если ОписательОбъекта.Метаданное.РежимЗаписи = Метаданные.СвойстваОбъектов.РежимЗаписиРегистра.ПодчинениеРегистратору Тогда - ВыгружаемыеСтандартныеРеквизиты.Добавить("Регистратор"); - ВыгружаемыеСтандартныеРеквизиты.Добавить("Активность"); - КонецЕсли; - - ИначеЕсли КорневойТипКонфигурации = "РегистрНакопления" или КорневойТипКонфигурации = "РегистрБухгалтерии" Тогда - Для Каждого ОписаниеСтандартногоРеквизита Из ОписательОбъекта.Метаданное.СтандартныеРеквизиты Цикл - Если ОписаниеСтандартногоРеквизита.Имя = "НомерСтроки" Тогда - Продолжить; - КонецЕсли; - ВыгружаемыеСтандартныеРеквизиты.Добавить(ОписаниеСтандартногоРеквизита.Имя); - КонецЦикла; - - ИначеЕсли КорневойТипКонфигурации = "ПланОбмена" Тогда - ВыгружаемыеСтандартныеРеквизиты.Добавить("Наименование"); - ВыгружаемыеСтандартныеРеквизиты.Добавить("ПометкаУдаления"); - ВыгружаемыеСтандартныеРеквизиты.Добавить("НомерОтправленного"); - ВыгружаемыеСтандартныеРеквизиты.Добавить("НомерПринятого"); - ВыгружатьКод = Ложь; - Если ОписательОбъекта.Свойство("ВыгружатьКод", ВыгружатьКод) и ВыгружатьКод Тогда - ВыгружаемыеСтандартныеРеквизиты.Добавить("Код"); - КонецЕсли; - Если ВыгружатьСсылку Тогда - ВыгружаемыеСтандартныеРеквизиты.Добавить("Ссылка"); - КонецЕсли; - - Иначе - ВызватьИсключение "Неизвестный КорневойТипКонфигурации <"+КорневойТипКонфигурации+"> КорневойТипКонфигурации()"; - КонецЕсли; - - Возврат ВыгружаемыеСтандартныеРеквизиты; -КонецФункции - -Процедура ОбработатьРеквизитыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект, лПустойОбъект, МдРеквизиты, ВыгружаемыеРеквизиты, КорневойТипКонфигурации = "") - НомерСтрокиМакета = Макет.ВысотаТаблицы+1; - - ЭтоСсылочныйОбъект = ЭтоОписательОбъектаСсылки(ОписательОбъекта); - Если ЭтоСсылочныйОбъект Тогда - Мд = Объект.Метаданные(); - Иначе - Мд = Объект; - КонецЕсли; - - Для каждого РеквизитМд Из МдРеквизиты Цикл - имяРеквизита = РеквизитМд.Имя; - Если ВыгружаемыеРеквизиты <> Неопределено и ВыгружаемыеРеквизиты.Найти(имяРеквизита) = Неопределено Тогда - Продолжить; - КонецЕсли; - - БылДобавленСчетДляЗаписиРегистраБухгалтерии = Ложь; - - Если ЭтоСсылочныйОбъект Тогда - ЗначениеРеквизита = объект[имяРеквизита]; - - этоЗначениеБудетСозданоПоУмолчанию = лПустойОбъект[имяРеквизита] = ЗначениеРеквизита; - Если этоЗначениеБудетСозданоПоУмолчанию Тогда - Продолжить; - КонецЕсли; - Иначе - Если КорневойТипКонфигурации = "РегистрБухгалтерии" Тогда - Если Лев(ИмяРеквизита, СтрДлина("Счет")) = "Счет" Тогда - БылДобавленСчетДляЗаписиРегистраБухгалтерии = Истина; - ИмяРеквизитаСчет = имяРеквизита; - ИначеЕсли Не РеквизитМд.Балансовый Тогда - Суффиксы = Новый Массив; - Суффиксы.Добавить("Дт"); - Суффиксы.Добавить("Кт"); - Для Каждого Суффикс Из Суффиксы Цикл - ЗначениеРеквизита = ОписательОбъекта.Реквизиты[имяРеквизита + Суффикс]; - ИмитаторРеквизитаМд = Новый Структура("Имя, Тип", имяРеквизита + Суффикс, РеквизитМд.Тип); - ДобавилиРеквизит = ОбработатьРеквизитОбъекта(Макет, МассивДанных, Объект, ИмитаторРеквизитаМд, ЗначениеРеквизита, Мд, НомерСтрокиМакета, ШапкаДанных); - Если ДобавилиРеквизит Тогда - НомерСтрокиМакета = НомерСтрокиМакета + 1; - КонецЕсли; - КонецЦикла; - Продолжить; - КонецЕсли; - КонецЕсли; - ЗначениеРеквизита = ОписательОбъекта.Реквизиты[имяРеквизита]; - КонецЕсли; - - ДобавилиРеквизит = ОбработатьРеквизитОбъекта(Макет, МассивДанных, Объект, РеквизитМд, ЗначениеРеквизита, Мд, НомерСтрокиМакета, ШапкаДанных); - - Если ДобавилиРеквизит Тогда - НомерСтрокиМакета = НомерСтрокиМакета + 1; - КонецЕсли; - - Если БылДобавленСчетДляЗаписиРегистраБухгалтерии Тогда - Для Каждого ОписаниеВидаСубконто Из ОписательОбъекта.Реквизиты[ИмяРеквизитаСчет].ВидыСубконто Цикл - ВидСубконто = ОписаниеВидаСубконто.ВидСубконто; - НаименованиеРеквизитаСубконто = РеквизитМд.Субконто.НаименованиеРеквизитаСубконто; - ЗначениеРеквизита = ОписательОбъекта.Реквизиты[НаименованиеРеквизитаСубконто][ВидСубконто]; - Если ЗначениеРеквизита = Неопределено Тогда - Продолжить; - КонецЕсли; - - ИмитаторРеквизитаМд = Новый Структура("Имя, Тип", НаименованиеРеквизитаСубконто + ОписаниеВидаСубконто.НомерСтроки, ВидСубконто.ТипЗначения); - - ДобавилиРеквизит = ОбработатьРеквизитОбъекта(Макет, МассивДанных, Объект, ИмитаторРеквизитаМд, ЗначениеРеквизита, Мд, НомерСтрокиМакета, ШапкаДанных); - - Если ДобавилиРеквизит Тогда - НомерСтрокиМакета = НомерСтрокиМакета + 1; - КонецЕсли; - КонецЦикла; - КонецЕсли; - КонецЦикла; -КонецПроцедуры - -Процедура ОбработатьТабличныеЧастиОбъекта(Макет, МдТабличныеЧасти, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект) - Для каждого МдТч Из МдТабличныеЧасти Цикл - МдРеквизиты = МдТч.Реквизиты; - ИмяТЧ = МдТч.Имя; - - НомерКолонкиМакета_ТЧ = ШапкаДанных.ТЧ; - - Для каждого строкаТчОбъекта Из объект[ИмяТЧ] Цикл - НомерСтрокиМакета = Макет.ВысотаТаблицы+1; - ОбластьМакета = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_ТЧ, НомерСтрокиМакета, НомерКолонкиМакета_ТЧ); - ОбластьМакета.Текст = ИмяТЧ; - - ОбработатьРеквизитыТабличнойЧастиОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект, строкаТчОбъекта, МдРеквизиты); - КонецЦикла; - КонецЦикла; -КонецПроцедуры - -Процедура ОбработатьРежимыОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект) - НомерСтрокиМакета = Макет.ВысотаТаблицы+1; - Режимы = новый Массив; - Если ТолькоСоздание Тогда - Режимы.Добавить("ТолькоСоздание"); - КонецЕсли; - Если ОбменДанными Тогда - Режимы.Добавить("ОбменДанными"); - КонецЕсли; - Мета = Объект.Метаданные(); - Если Метаданные.Справочники.Содержит(Мета) И Объект.ЭтоГруппа Тогда - Режимы.Добавить("Группа"); - КонецЕсли; - - Если Режимы.Количество()>0 Тогда - НомерКолонкиМакета_ТЧ = ШапкаДанных.ТЧ; - ОбластьМакета = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_ТЧ, НомерСтрокиМакета, НомерКолонкиМакета_ТЧ); - ОбластьМакета.Текст = "xddMods"; - - Для каждого Режим Из Режимы Цикл - НомерСтрокиМакета = НомерСтрокиМакета + 1; - НомерКолонкиМакета_Реквизит = ШапкаДанных.Реквизит; - НомерКолонкиМакета_Значение = ШапкаДанных.Значение; - - ОбластьМакета_Реквизит = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_Реквизит, НомерСтрокиМакета, НомерКолонкиМакета_Реквизит); - ОбластьМакета_Реквизит.Текст = "Режим"; - - ОбластьМакета_Значение = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_Значение, НомерСтрокиМакета, НомерКолонкиМакета_Значение); - ОбластьМакета_Значение.Текст = Режим; - КонецЦикла; - КонецЕсли; -КонецПроцедуры - -Процедура ОбработатьРеквизитыТабличнойЧастиОбъекта(Макет, ОписательОбъекта, ШапкаДанных, МассивДанных, Объект, строкаТчОбъекта, МдРеквизиты) - НомерСтрокиМакета = Макет.ВысотаТаблицы+1; - - Мд = Объект.Метаданные(); - - Для каждого РеквизитМд Из МдРеквизиты Цикл - имяРеквизита = РеквизитМд.Имя; - - ЗначениеРеквизита = строкаТчОбъекта[имяРеквизита]; - - ДобавилиРеквизит = ОбработатьРеквизитОбъекта(Макет, МассивДанных, Объект, РеквизитМд, ЗначениеРеквизита, Мд, НомерСтрокиМакета, ШапкаДанных); - - Если ДобавилиРеквизит Тогда - НомерСтрокиМакета = НомерСтрокиМакета + 1; - КонецЕсли; - КонецЦикла; -КонецПроцедуры - -Функция ОбработатьРеквизитОбъекта(Макет, МассивДанных, Объект, РеквизитМд, ЗначениеРеквизита, Мд, НомерСтрокиМакета, ШапкаДанных) - имяРеквизита = РеквизитМд.Имя; - ЕстьТипы = Ложь; - Попытка - Тип = РеквизитМд.Тип.Типы(); - ЕстьТипы = Истина; - Исключение - КонецПопытки; - - Если ЕстьТипы И Не ЗначениеЗаполнено(ЗначениеРеквизита) И РеквизитМд.Тип.Типы().Количество() = 1 Тогда - Возврат Ложь; - КонецЕсли; - ТипРеквизита = ТипЗнч(ЗначениеРеквизита); - Если ТипРеквизита = ТипЗнч(Неопределено) Тогда - Возврат Ложь; - КонецЕсли; - - ПредставлениеЗначенияРеквизита = ""; - РежимПоиска = ""; - ДополнительныйТипЗначения = ""; - Попытка - ПолучитьПредставлениеИРежимПоискаПоЗначениюРеквизита(Объект, ЗначениеРеквизита, ТипРеквизита, МассивДанных, ПредставлениеЗначенияРеквизита, РежимПоиска, ДополнительныйТипЗначения); - Исключение - описаниеОшибки = ОписаниеОшибки(); - ВызватьИсключение описаниеОшибки + " Не умею обрабатывать реквизит <"+имяРеквизита+"> у объекта <"+Мд.ПолноеИмя()+">"; - КонецПопытки; - - Если ЕстьТипы И РеквизитМд.Тип.Типы().Количество() = 1 Тогда - ДополнительныйТипЗначения = ""; - КонецЕсли; - - НомерКолонкиМакета_Реквизит = ШапкаДанных.Реквизит; - НомерКолонкиМакета_Значение = ШапкаДанных.Значение; - НомерКолонкиМакета_Режим = ШапкаДанных.Режим; - НомерКолонкиМакета_ДополнительныйТипЗначения = ШапкаДанных.ДополнительныйТипЗначения; - - ОбластьМакета_Реквизит = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_Реквизит, НомерСтрокиМакета, НомерКолонкиМакета_Реквизит); - ОбластьМакета_Реквизит.Текст = имяРеквизита; - - ОбластьМакета_Значение = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_Значение, НомерСтрокиМакета, НомерКолонкиМакета_Значение); - ОбластьМакета_Режим = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_Режим, НомерСтрокиМакета, НомерКолонкиМакета_Режим); - - ОбластьМакета_ДополнительныйТипЗначения = Макет.Область(НомерСтрокиМакета, НомерКолонкиМакета_ДополнительныйТипЗначения, НомерСтрокиМакета, НомерКолонкиМакета_ДополнительныйТипЗначения); - ОбластьМакета_ДополнительныйТипЗначения.Текст = ДополнительныйТипЗначения; - - ОбластьМакета_Значение.Текст = ПредставлениеЗначенияРеквизита; - Если РежимПоиска <> "" Тогда - ОбластьМакета_Режим.Текст = РежимПоиска; - КонецЕсли; - - Возврат Истина; -КонецФункции - -Процедура ПолучитьПредставлениеИРежимПоискаПоЗначениюРеквизита(Объект, ЗначениеРеквизита, ТипРеквизита, МассивДанных, резПредставлениеЗначенияРеквизита, резРежимПоиска, резДополнительныйТипЗначения) - резДополнительныйТипЗначения = ""; - Если ТипРеквизита = Тип("Число") Тогда - ПредставлениеЗначенияРеквизита = Формат(ЗначениеРеквизита, "ЧГ="); - резДополнительныйТипЗначения = "Число"; - ИначеЕсли ТипРеквизита = Тип("Строка") Тогда - ПредставлениеЗначенияРеквизита = ЗначениеРеквизита; - резДополнительныйТипЗначения = "Строка"; - ИначеЕсли ТипРеквизита = Тип("Дата") Тогда - ПредставлениеЗначенияРеквизита = Формат(ЗначениеРеквизита, "ДФ=yyyyMMddЧЧммсс"); // важно ЧЧ - резДополнительныйТипЗначения = "Дата"; - ИначеЕсли ТипРеквизита = Тип("Булево") Тогда - ПредставлениеЗначенияРеквизита = Формат(ЗначениеРеквизита, "БЛ=Ложь; БИ=Истина"); - резДополнительныйТипЗначения = "Булево"; - - ИначеЕсли ЛиСсылкаНаОбъектБД_ирЛкс(ЗначениеРеквизита) Тогда - ОписательЗначенияРеквизита = НайтиОписательОбъектаПоСсылке(МассивДанных, ЗначениеРеквизита); //МассивДанных.Найти(ЗначениеРеквизита); - Если ОписательЗначенияРеквизита <> Неопределено Тогда - ЕстьРеквизитСсылка = Истина; - Если ТипЗнч(Объект) = Тип("ОбъектМетаданных") Тогда - ЕстьРеквизитСсылка = Ложь; - Для каждого РеквизитМд Из Объект.СтандартныеРеквизиты Цикл - Если РеквизитМд.Имя = "Ссылка" Тогда - ЕстьРеквизитСсылка = Истина; - КонецЕсли; - КонецЦикла; - КонецЕсли; - Если ЕстьРеквизитСсылка И ЗначениеРеквизита = Объект.Ссылка Тогда - ПредставлениеЗначенияРеквизита = Строка(ЗначениеРеквизита.УникальныйИдентификатор()); - РежимПоиска = ""; - Иначе - ИмяПеременнойИзОписателяОбъекта = ИмяПеременнойИзОписателяОбъекта(ЗначениеРеквизита.Метаданные(), ОписательЗначенияРеквизита); - ИскатьПоГуид = Ложь; - Если СвязьПоГуид Тогда - Для каждого Элемент Из МассивДанных Цикл - Если Элемент.ИмяПеременной = ИмяПеременнойИзОписателяОбъекта Тогда - ИскатьПоГуид = Истина; - Прервать; - КонецЕсли; - КонецЦикла; - КонецЕсли; - Если ИскатьПоГуид Тогда - ПредставлениеЗначенияРеквизита = Строка(ЗначениеРеквизита.УникальныйИдентификатор()); - РежимПоиска = "Гуид"; - Иначе - ПредставлениеЗначенияРеквизита = ИмяПеременнойИзОписателяОбъекта; - РежимПоиска = "Перем"; - КонецЕсли; - КонецЕсли; - Иначе - ПредставлениеЗначенияРеквизита = ЗначениеРеквизита; - Если БизнесПроцессы.ТипВсеСсылкиТочекМаршрутаБизнесПроцессов().СодержитТип(ТипРеквизита) Тогда - ПредставлениеЗначенияРеквизита = ЗначениеРеквизита.Имя; - РежимПоиска = "Предопределенный"; - Иначе - Если СвязьПоГуид Тогда - ПредставлениеЗначенияРеквизита = Строка(ЗначениеРеквизита.УникальныйИдентификатор()); - РежимПоиска = "Гуид"; - Иначе - МетаданныеСсылки = ЗначениеРеквизита.Метаданные(); - Если Метаданные.Справочники.Содержит(МетаданныеСсылки) Тогда - ОсновноеПредставлениеСсылки = МетаданныеСсылки.ОсновноеПредставление; - Если ЗначениеРеквизита.Предопределенный Тогда - РежимПоиска = "Предопределенный"; - ПредставлениеЗначенияРеквизита = Справочники[МетаданныеСсылки.Имя].ПолучитьИмяПредопределенного(ЗначениеРеквизита); - ИначеЕсли ОсновноеПредставлениеСсылки = Метаданные.СвойстваОбъектов.ОсновноеПредставлениеСправочника.ВВидеНаименования Тогда - РежимПоиска = "Наименование"; - Иначе - РежимПоиска = "Код"; - КонецЕсли; - резДополнительныйТипЗначения = "СправочникСсылка."+МетаданныеСсылки.Имя; - ИначеЕсли Метаданные.Документы.Содержит(МетаданныеСсылки) Тогда - ПредставлениеЗначенияРеквизита = ЗначениеРеквизита.Номер; - РежимПоиска = "Номер"; - резДополнительныйТипЗначения = "ДокументСсылка."+МетаданныеСсылки.Имя; - ИначеЕсли Метаданные.ПланыСчетов.Содержит(МетаданныеСсылки) Тогда - ОсновноеПредставлениеСсылки = МетаданныеСсылки.ОсновноеПредставление; - Если ЗначениеРеквизита.Предопределенный Тогда - РежимПоиска = "Предопределенный"; - ПредставлениеЗначенияРеквизита = ПланыСчетов[МетаданныеСсылки.Имя].ПолучитьИмяПредопределенного(ЗначениеРеквизита); - ИначеЕсли ОсновноеПредставлениеСсылки = Метаданные.СвойстваОбъектов.ОсновноеПредставлениеСчета.ВВидеНаименования Тогда - РежимПоиска = "Наименование"; - Иначе - РежимПоиска = "Код"; - КонецЕсли; - резДополнительныйТипЗначения = "ПланСчетовСсылка."+МетаданныеСсылки.Имя; - Иначе - // пока так. надо добавить остальные типы - РежимПоиска = "Наименование"; - КонецЕсли; - Если ЗначениеРеквизита.Пустая() Тогда - РежимПоиска = ""; - КонецЕсли; - КонецЕсли; // СвязьПоГуид - - КонецЕсли; - - КонецЕсли; - - ИначеЕсли ЛиСсылкаНаПеречисление_ирЛкс(ЗначениеРеквизита) Тогда - ПредставлениеЗначенияРеквизита = ""; - ИмяПеречисления = ЗначениеРеквизита.Метаданные().Имя; - Если ЗначениеЗаполнено(ЗначениеРеквизита) Тогда - ИндексЗначения = Перечисления[ИмяПеречисления].Индекс(ЗначениеРеквизита); - ИмяЗначения = Метаданные.Перечисления[ИмяПеречисления].ЗначенияПеречисления[ИндексЗначения].Имя; - КонецЕсли; - ПредставлениеЗначенияРеквизита = ИмяЗначения; - РежимПоиска = "Предопределенный"; - резДополнительныйТипЗначения = "ПеречислениеСсылка."+ИмяПеречисления; - - ИначеЕсли ТипРеквизита = Тип("УникальныйИдентификатор") Тогда - ПредставлениеЗначенияРеквизита = ""+ЗначениеРеквизита; - РежимПоиска = "Гуид"; - ИначеЕсли ТипРеквизита = Тип("ХранилищеЗначения") Тогда - ПредставлениеЗначенияРеквизита = ""+ЗначениеРеквизита; - - Иначе - УжеВычислилиЗначение = Ложь; - ПредставлениеЗначенияРеквизита = Неопределено; - СтрокаДляВыполнения = "ПредставлениеЗначенияРеквизита = "+ТипРеквизита+"["""+ЗначениеРеквизита+"""];"; - Попытка - Выполнить(СтрокаДляВыполнения); - УжеВычислилиЗначение = Истина; - РежимПоиска = "Предопределенный"; - Исключение - КонецПопытки; - Если Не УжеВычислилиЗначение Тогда - ВызватьИсключение "Генератор макета из реальных данных: Не умею обрабатывать такой тип <"+ТипРеквизита+">"; - КонецЕсли; - КонецЕсли; - резПредставлениеЗначенияРеквизита = ПредставлениеЗначенияРеквизита; - резРежимПоиска = РежимПоиска; -КонецПроцедуры - -Функция НайтиОписательОбъектаПоСсылке(МассивДанных, Ссылка) - Для каждого ОписательОбъекта Из МассивДанных Цикл - СсылкаВрем = Неопределено; - Если ЭтоОписательОбъектаСсылки(ОписательОбъекта, СсылкаВрем) и СсылкаВрем = Ссылка Тогда - Возврат ОписательОбъекта; - КонецЕсли; - КонецЦикла; - Возврат Неопределено; -КонецФункции - -Функция ЭтоОписательОбъектаСсылки(ОписательОбъекта, РезСсылка = Неопределено) - - ЭтоСсылочныйОбъект = ОписательОбъекта.Свойство("Ссылка", РезСсылка) И РезСсылка <> Неопределено; - Возврат ЭтоСсылочныйОбъект; - -КонецФункции - -Функция ИмяПеременнойИзОписателяОбъекта(Мд, ОписательОбъекта) - ИмяПеременной = ""; - Если НЕ ОписательОбъекта.Свойство("ИмяПеременной", ИмяПеременной) или ПустаяСтрока(ИмяПеременной) Тогда - ИмяПеременной = Мд.Имя; - КонецЕсли; - Возврат ИмяПеременной; -КонецФункции - -Функция ШапкаДанныхВМакете() - рез = Новый Структура(); - рез.Вставить("Тип", 1); - рез.Вставить("Вид", 2); - рез.Вставить("ИмяПеременной", 3); - рез.Вставить("ТЧ", 4); - рез.Вставить("Реквизит", 5); - рез.Вставить("Значение", 6); - рез.Вставить("Режим", 7); - рез.Вставить("ДополнительныйТипЗначения", 8); - Возврат рез; -КонецФункции - -// { БЛОК МЕТОДОВ ИЗ ИР (Инструменты Разработчика, автор TormozIt ) -// -// Определяет корневой тип конфигурации по описанию типов, типу, метаданным, ссылке или объекту. -// Для описания типов берется первый тип массива типов. -// -// Параметры: -// пОбъект – Произвольный – для чего получаем метаданные; -// *пЛиТолькоДляКорневого - Булево, *Ложь - возвращать только для объекта корневого типа. -// -// Возвращаемое значение: -// - Строка – имя типа корневого объекта метаданных; -// Неопределено - не удалось получить имя типа. -// -Функция ПолучитьКорневойТипКонфигурации_ирЛкс(пОбъект, пЛиТолькоДляКорневого = Ложь) Экспорт - - Если ТипЗнч(пОбъект) = Тип("ОбъектМетаданных") Тогда - МетаданныеТипа = пОбъект; - Иначе - МетаданныеТипа = ПолучитьМетаданные_ирЛкс(пОбъект); - КонецЕсли; - Результат = Неопределено; - Если МетаданныеТипа <> Неопределено Тогда - ПолноеИмя = МетаданныеТипа.ПолноеИмя(); - Если пЛиТолькоДляКорневого Тогда - МассивФрагментов = ПолучитьМассивИзСтрокиСРазделителем_ирЛкс(ПолноеИмя); - Если МассивФрагментов.Количество() = 2 Тогда - Результат = МассивФрагментов[0]; - КонецЕсли; - Иначе - Результат = ПолучитьПервыйФрагмент_ирЛкс(ПолноеИмя); - КонецЕсли; - КонецЕсли; - Если Результат = "ТабличнаяЧасть" Тогда - // Баг платформы. У внешних метаданных полное имя не включает сам внешний метаобъект - Результат = Неопределено; - КонецЕсли; - Возврат Результат; - -КонецФункции // ЛксПолучитьКорневойТипКонфигурации() - -// Проверяет, является ли значение ссылкой на объект БД. На базе ЛксЛиСсылкаНаОбъектБД -// -// Параметры: -// пЗначение – ОбъектМетаданных, Произвольный – проверяемое значение. -// -// Возвращаемое значение: -// Истина – значение является ссылкой на объект БД; -// Ложь – значение не является ссылкой на объект БД. -// -Функция ЛиСсылкаНаОбъектБД_ирЛкс(пЗначение) Экспорт - - Возврат ЛиКорневойТипОбъектаБД_ирЛкс(ПолучитьКорневойТипКонфигурации_ирЛкс(пЗначение, Истина)); - -КонецФункции // ЛксЛиСсылкаНаОбъектБД - -// Проверяет, является ли значение ссылкой на значение перечисления. -// -// Параметры: -// пЗначение – Произвольный – проверяемое значение. -// -// Возвращаемое значение: -// Истина – значение является ссылкой на объект БД; -// Ложь – значение не является ссылкой на объект БД. -// -Функция ЛиСсылкаНаПеречисление_ирЛкс(пЗначение) Экспорт - - Возврат (ПолучитьКорневойТипКонфигурации_ирЛкс(пЗначение) = "Перечисление"); - -КонецФункции // ЛксЛиСсылкаНаПеречисление() - -// Проверяет, является ли строка именем корневого типа объекта БД. -// -// Параметры: -// пИмяКорневогоТипа - Строка, Неопределено - имя корневого типа. -// -// Возвращаемое значение: -// Истина – тип является корневым типом объекта БД; -// Ложь – иначе. -// -Функция ЛиКорневойТипОбъектаБД_ирЛкс(КорневойТип) Экспорт - - Если Ложь - ИЛИ КорневойТип = "БизнесПроцесс" - ИЛИ КорневойТип = "Задача" - ИЛИ КорневойТип = "Документ" - ИЛИ КорневойТип = "ПланВидовРасчета" - ИЛИ КорневойТип = "ПланВидовХарактеристик" - ИЛИ КорневойТип = "ПланОбмена" - ИЛИ КорневойТип = "ПланСчетов" - ИЛИ КорневойТип = "Справочник" - Тогда - Возврат Истина; - КонецЕсли; - Возврат Ложь; - -КонецФункции // ЛксЛиКорневойТипОбъектаБД() - -// Получает менеджер по описанию типов, типу, метаданным, ссылке или объекту. На базе метода ЛксПолучитьМенеджер -// Для описания типов берется первый тип массива типов. -// -// Параметры: -// пОбъект – Произвольный – для чего получаем менеджер. -// -// Возвращаемое значение: -// – МенеджерОбъекта - для ссылки или ссылочного типа; -// Неопределено - не удалось получить. -// -Функция ПолучитьМенеджерОбъекта_ирЛкс(пОбъект) Экспорт - - Если ТипЗнч(пОбъект) = Тип("ОбъектМетаданных") Тогда - МетаданныеОбъекта = пОбъект; - Иначе - МетаданныеОбъекта = ПолучитьМетаданные_ирЛкс(пОбъект); - КонецЕсли; - Если МетаданныеОбъекта = Неопределено Тогда - Возврат Неопределено; - КонецЕсли; - - МассивФрагментов = ПолучитьМассивИзСтрокиСРазделителем_ирЛкс(МетаданныеОбъекта.ПолноеИмя()); - КорневойТип = МассивФрагментов[0]; - Менеджер = Неопределено; - Если Истина - И МассивФрагментов.Количество() = 4 - И КорневойТип = "ВнешнийИсточникДанных" - Тогда - ИмяТипаМенеджера = МассивФрагментов[0] + "ТаблицаМенеджер." + МассивФрагментов[1] + "." + МассивФрагментов[3]; - Иначе - //КорневойТип = ЛксПолучитьКорневойТипКонфигурации(МетаданныеОбъекта, Истина); // Изменил 02.03.2012 - Если КорневойТип <> Неопределено Тогда - ИмяТипаМенеджера = КорневойТип + "Менеджер." + МетаданныеОбъекта.Имя; - Иначе - ИмяТипаМенеджера = "Неопределено"; - КонецЕсли; - КонецЕсли; - Попытка - Менеджер = Новый (ИмяТипаМенеджера); - Исключение - КонецПопытки; - Возврат Менеджер; - -КонецФункции // ЛксПолучитьМенеджер() - -// Получает метаданные по полному имени, описанию типов, типу, ссылке или объекту. На базе ЛксПолучитьМетаданные -// Для описания типов берется первый тип массива типов. -// -// Параметры: -// пОбъект – Произвольный – для чего получаем метаданные. -// -// Возвращаемое значение: -// – Метаданные - полученные; -// Неопределено - не удалось получить метаданные. -// -Функция ПолучитьМетаданные_ирЛкс(пОбъект) Экспорт - - Если ТипЗнч(пОбъект) = Тип("Строка") Тогда - Если ПустаяСтрока(пОбъект) Тогда - Результат = Неопределено; - Иначе - Фрагменты = ПолучитьМассивИзСтрокиСРазделителем_ирЛкс(пОбъект); - Если Фрагменты.Количество() = 3 Тогда - // ВидыСубконто, Изменения - ПолноеИмяМД = Фрагменты[0] + "." + Фрагменты[1]; - Иначе - ПолноеИмяМД = пОбъект; - КонецЕсли; - Результат = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМД); - КонецЕсли; - Возврат Результат; - КонецЕсли; - ТипОбъекта = ПолучитьТипОбъекта_ирЛкс(пОбъект); - Результат = Метаданные.НайтиПоТипу(ТипОбъекта); - Возврат Результат; - -КонецФункции // ЛксПолучитьМетаданные() - -// Получает тип из описания типов, типа или значения. На базе ЛксПолучитьТипОбъекта -// -// Параметры: -// пОбъект – Тип, ОписаниеТипов, Произвольный – проверяемое значение. -// -// Возвращаемое значение: -// Тип - найденный тип. -// -Функция ПолучитьТипОбъекта_ирЛкс(пОбъект) - - ТипОбъекта = Тип("Неопределено"); - ТипПараметра = ТипЗнч(пОбъект); - Если ТипПараметра = Тип("ОписаниеТипов") Тогда - Если пОбъект.Типы().Количество() > 0 Тогда - ТипОбъекта = пОбъект.Типы()[0]; - КонецЕсли; - ИначеЕсли ТипПараметра <> Тип("Тип") Тогда - ТипОбъекта = ТипПараметра; - Иначе - ТипОбъекта = пОбъект; - КонецЕсли; - - Возврат ТипОбъекта; - -КонецФункции // ЛксПолучитьТипОбъекта() - -// Функция разбивает строку разделителем. На базе ЛксПолучитьМассивИзСтрокиСРазделителем -// -// Параметры: -// пСтрока - Строка - которую разбиваем; -// *пРазделитель - Строка, "." - символ-разделитель; -// *ОбрезатьНепечатныеСимволы - Булево, *Ложь - делать СокрЛП. -// *ОставлятьПустуюСтроку - Булево, *Истина - если передана пустая строка, то добавлять ее в массив. -// -// Возвращаемое значение: -// Массив - фрагментов. -// -Функция ПолучитьМассивИзСтрокиСРазделителем_ирЛкс(Знач Стр, Разделитель = ".", ОбрезатьНепечатныеСимволы = Ложь, ОставлятьПустуюСтроку = Истина) Экспорт - - МассивСтрок = Новый Массив; - Если Истина - И Не ОставлятьПустуюСтроку - И ПустаяСтрока(Стр) - Тогда - Возврат МассивСтрок; - КонецЕсли; - - //лСтрока = СтрЗаменить(Стр, Разделитель, Символы.ПС); - //// Баг платформы. СтрЧислоСтрок не учитывает терминальный перевод строки. - //ЧислоСтрок = СтрЧислоСтрок(лСтрока + " "); - //Для Счетчик = 1 По ЧислоСтрок Цикл - // Фрагмент = СтрПолучитьСтроку(лСтрока, Счетчик); - // Если ОбрезатьНепечатныеСимволы Тогда - // Фрагмент = СокрЛП(Фрагмент); - // КонецЕсли; - // МассивСтрок.Добавить(Фрагмент); - //КонецЦикла; - - Если Разделитель = " " Тогда - Стр = СокрЛП(Стр); - Пока 1=1 Цикл - Поз = Найти(Стр,Разделитель); - Если Поз=0 Тогда - МассивСтрок.Добавить(Стр); - Возврат МассивСтрок; - КонецЕсли; - МассивСтрок.Добавить(Лев(Стр,Поз-1)); - Стр = СокрЛ(Сред(Стр,Поз)); - КонецЦикла; - Иначе - ДлинаРазделителя = СтрДлина(Разделитель); - Пока 1=1 Цикл - Поз = Найти(Стр,Разделитель); - Если Поз=0 Тогда - Фрагмент = Стр; - Если ОбрезатьНепечатныеСимволы Тогда - Фрагмент = СокрЛП(Фрагмент); - КонецЕсли; - МассивСтрок.Добавить(Фрагмент); - Возврат МассивСтрок; - КонецЕсли; - Фрагмент = Лев(Стр,Поз-1); - Если ОбрезатьНепечатныеСимволы Тогда - Фрагмент = СокрЛП(Фрагмент); - КонецЕсли; - МассивСтрок.Добавить(Фрагмент); - Стр = Сред(Стр,Поз+ДлинаРазделителя); - КонецЦикла; - КонецЕсли; - - Возврат МассивСтрок; - -КонецФункции // ЛксПолучитьМассивИзСтрокиСРазделителем() - -// Получает первый фрагмент, отделяемый разделителем от строки. На базе ЛксПолучитьПервыйФрагмент -// Написана для оптимизации по скорости. -// -// Параметры: -// пСтрока - Строка - которую разбиваем; -// *пРазделитель - Строка, "." - символ-разделитель; -// *пЛиИспользоватьГраницуЕслиМаркерНеНайден - Булево, *Истина. -// -// Возвращаемое значение: -// - Строка - первый фрагмент строки; -// Неопределено - в строке не обнаружен разделитель. -// -Функция ПолучитьПервыйФрагмент_ирЛкс(пСтрока, пРазделитель = ".", - пЛиИспользоватьГраницуЕслиМаркерНеНайден = Истина) Экспорт - - Позиция = Найти(пСтрока, пРазделитель); - Если Позиция > 0 Тогда - Возврат Лев(пСтрока, Позиция - 1); - Иначе - Если пЛиИспользоватьГраницуЕслиМаркерНеНайден Тогда - Возврат пСтрока; - Иначе - Возврат пСтрока; - КонецЕсли; - КонецЕсли; - -КонецФункции // ЛксПолучитьПервыйФрагмент() - -// Получает идентификатор из любой строки. -// "3-я Дебиторка По контрагентам с интервалами СНГ (для Руководства)" => "_3_яДебиторкаПоКонтрагентамСИнтерваламиСНГ_дляРуководства_". -// -// Параметры: -// Представление – Строка. -// -// Возвращаемое значение: -// Строка. -// -Функция ПолучитьИдентификаторИзПредставления_Лкс(Знач Представление, ЗаменаПустойСтроки = "_") Экспорт - - Если ПустаяСтрока(Представление) Тогда - Представление = ЗаменаПустойСтроки; - КонецЕсли; - Если СокрЛП(Представление) = Представление и Найти(Представление, ",") = 0 Тогда - Попытка - Пустышка = Новый Структура(Представление); - Возврат Представление; - Исключение КонецПопытки; - КонецЕсли; - НовоеПредставление = СокрЛП(Представление); - ПервыйСимвол = Сред(НовоеПредставление, 1, 1); - Если ЭтоЦифра(ПервыйСимвол) Тогда - НовоеПредставление = "_" + НовоеПредставление; - КонецЕсли; - ПредыдущийСимвол = " "; - ТекущаяСтрока = ""; - Для Счетчик = 1 По СтрДлина(НовоеПредставление) Цикл - ТекущийСимвол = Сред(НовоеПредставление, Счетчик, 1); - Если ЭтоПробельныйСимвол(ПредыдущийСимвол) Тогда - // Предыдущий символ - непечатаемый - ТекущийСимвол = ВРег(ТекущийСимвол); - КонецЕсли; - Если ЭтоВалидныйСимволИдентификатора(ТекущийСимвол) Тогда - ТекущаяСтрока = ТекущаяСтрока + ТекущийСимвол; - ИначеЕсли Не ЭтоПробельныйСимвол(ТекущийСимвол) Тогда - ТекущаяСтрока = ТекущаяСтрока + "_"; - КонецЕсли; - ПредыдущийСимвол = ТекущийСимвол; - - КонецЦикла; - Результат = ТекущаяСтрока; - Возврат ТекущаяСтрока; - -КонецФункции // ПолучитьИдентификаторИзПредставления() - -Функция ЭтоЦифра(Символ) - - Возврат (Найти("0123456789", Символ) > 0); - -КонецФункции - -Функция ЭтоПробельныйСимвол(Символ) - - ПробельныеСимволы = " " + Символы.Таб + Символы.НПП + Символы.ВК + Символы.ВТаб + Символы.ПС + Символы.ПФ; - Возврат (Найти(ПробельныеСимволы, Символ) > 0) - -КонецФункции - -Функция ЭтоВалидныйСимволИдентификатора(Символ) - - Алфавит = "_АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯABCDEFGHIJKLMNOPQRSTUVWXYZ"; - Возврат (Найти(Алфавит, ВРег(Символ)) > 0 Или ЭтоЦифра(Символ)); - -КонецФункции - -// } Конец блока методов из ИР (Инструменты Разработчика, автор TormozIt ) - -//} КОНЕЦ ОСНОВНОГО БЛОКА - -Процедура ПриИзмененииСсылки(ИдентификаторСтрокиДанных) Экспорт - Перем Ссылка; - ЭлементДанных = ИдентификаторСтрокиДанных; - НовыйМассивИмен = ТаблицаДанных.ВыгрузитьКолонку("ИмяПеременной"); - - Ссылка = ЭлементДанных.Ссылка; - Если ЗначениеЗаполнено(Ссылка) Тогда - ОписательЭлемента = СоздатьОписательЭлементаПоСсылке(Ссылка, НовыйМассивИмен); - ЗаполнитьЗначенияСвойств(ЭлементДанных, ОписательЭлемента); - // ЭлементДанных.ИмяПеременной = УникальноеИмяПеременнойПоСсылке(Ссылка, НовыйМассивИмен); - // - // Мета = Ссылка.Метаданные(); - // ЭлементДанных.Метаданное = Мета.ПолноеИмя(); - // ЭлементДанных.РежимПоиска = "Перем"; - // Если Метаданные.Справочники.Содержит(Мета) И Ссылка.ЭтоГруппа Тогда - // ЭлементДанных.РежимСоздания = "Группа"; - // Иначе - // ЭлементДанных.РежимСоздания = ""; - // КонецЕсли; - КонецЕсли; -КонецПроцедуры - -Функция СоздатьМакетДанныхПоТаблицеДанных(Макет) Экспорт - Макет.Очистить(); - - массивДанных = Новый Массив; - - Для каждого строка Из ТаблицаДанных Цикл - ОписательЭлемента = СоздатьОписательЭлемента(); - ЗаполнитьЗначенияСвойств(ОписательЭлемента, строка); - массивДанных.Добавить(ОписательЭлемента); - КонецЦикла; - НовыйМакет = СоздатьМакетДляГенерацииДанных(массивДанных); - Если ТипЗнч(НовыйМакет) = Тип("ТабличныйДокумент") Тогда - Макет.Вывести(НовыйМакет); - КонецЕсли; - - Возврат НовыйМакет; -КонецФункции - -Функция СоздатьМакетДанныхПоМетаданным(Макет) Экспорт - Макет.Очистить(); - - массивДанных = Новый Массив; - МассивИмен = ТаблицаДанных.ВыгрузитьКолонку("ИмяПеременной"); - - СоздатьПоМетаданным(массивДанных); - - НовыйМакет = СоздатьМакетДляГенерацииДанных(массивДанных); - Если ТипЗнч(НовыйМакет) = Тип("ТабличныйДокумент") Тогда - Макет.Вывести(НовыйМакет); - КонецЕсли; - - МассивИмен = Неопределено; - - Возврат НовыйМакет; -КонецФункции - -Функция ПолучитьКаталогОбработки() Экспорт - - Если Не ЭтоВстроеннаяОбработка Тогда - ИмяФайла = ""; - Выполнить("ИмяФайла = ИспользуемоеИмяФайла"); - Файл = Новый Файл(ИмяФайла); - Возврат Файл.Путь; - КонецЕсли; - ВызватьИсключение "В режиме встроенной обработки xddTestRunner нельзя использовать метод Объект.ПолучитьКаталогОбработки()"; -КонецФункции - -Процедура ПроверитьЗагрузкуМакета(ИдОбработки_юТест, ТабличныйДокумент, ЕстьВстроеннаяОбработка_юТест = Ложь) Экспорт - НачатьТранзакцию(); - - Если ЕстьВстроеннаяОбработка_юТест Тогда - юТест = Обработки[ИмяЗапускателяТестов()].Создать(); - Иначе - юТест = ВнешниеОбработки.Создать(ИдОбработки_юТест); - КонецЕсли; - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(ТабличныйДокумент); - юТест.ПроверитьНеРавенство(0, ТестовыеДанные.Количество(), "не заполнены тестовые данные. Возможно, макет данных пуст!" ); - - Сообщить("Проверка загрузки объектов в ИБ из макета данных выполнена успешно."); - Сообщить("В ИБ загружены объекты: "+ТестовыеДанные.Количество()+" шт."); - Для каждого ЗагруженныйОбъект Из ТестовыеДанные Цикл - РеальныйОбъект = ЗагруженныйОбъект.Значение; - ДопТекст = ""; - Если ВыгружатьСсылку Тогда - Попытка - ДопТекст = ", ГУИД "+РеальныйОбъект.УникальныйИдентификатор()+""; - Исключение - КонецПопытки; - КонецЕсли; - Попытка - ДопТекст = ", записей "+РеальныйОбъект.Количество()+" шт."; // для регистров - Исключение - КонецПопытки; - Сообщить(" Загружен объект.Имя "+ЗагруженныйОбъект.Ключ+", Тип "+ТипЗнч(РеальныйОбъект)+ДопТекст); - КонецЦикла; - - Если ТранзакцияАктивна() Тогда - ОтменитьТранзакцию(); - КонецЕсли; -КонецПроцедуры - -Функция ПодключитьВнешнююОбработку(АдресХранилища, ИдентификаторОбработки, ПолныйПутьФайлаОбработки) Экспорт - #Если Клиент Тогда - Возврат ПолныйПутьФайлаОбработки; - #Иначе - Возврат ВнешниеОбработки.Подключить(АдресХранилища, ИдентификаторОбработки, Ложь); // подключаю не в безопасном режиме - #КонецЕсли -КонецФункции - -Функция СписокВыбора_РежимПоиска(СписокВыбора_РежимПоиска) Экспорт - СписокВыбора_РежимПоиска.Добавить("Перем"); - СписокВыбора_РежимПоиска.Добавить("Наименование"); - СписокВыбора_РежимПоиска.Добавить("Код"); - //СписокВыбора_РежимПоиска.Добавить("Группа"); - //СписокВыбора_РежимПоиска.Добавить("Объект"); - СписокВыбора_РежимПоиска.Добавить("Гуид"); - СписокВыбора_РежимПоиска.Добавить("Предопределенный"); - СписокВыбора_РежимПоиска.Добавить("ТекущаяДата"); - //СписокВыбора_РежимПоиска.Добавить("Проведение"); - СписокВыбора_РежимПоиска.Добавить("СоздатьПоГуид"); - Возврат СписокВыбора_РежимПоиска; -КонецФункции - -Функция СписокВыбора_РежимСоздания(СписокВыбора_РежимСоздания) Экспорт - //СписокВыбора_РежимПоиска.Добавить("Перем"); - //СписокВыбора_РежимПоиска.Добавить("Наименование"); - //СписокВыбора_РежимПоиска.Добавить("Код"); - СписокВыбора_РежимСоздания.Добавить("Группа"); - СписокВыбора_РежимСоздания.Добавить("Объект"); - //СписокВыбора_РежимПоиска.Добавить("Гуид"); - //СписокВыбора_РежимПоиска.Добавить("Предопределенный"); - //СписокВыбора_РежимПоиска.Добавить("ТекущаяДата"); - СписокВыбора_РежимСоздания.Добавить("Проведение"); - //СписокВыбора_РежимСоздания.Добавить("СоздатьПоГуид"); - Возврат СписокВыбора_РежимСоздания; -КонецФункции - -Функция ИмяЗапускателяТестов() Экспорт - Возврат "xddTestRunner"; -КонецФункции - -/////////////////////////////////////////////////////////////////////////////// -// Генерация по метаданным -/////////////////////////////////////////////////////////////////////////////// - -// Процедура производит начальную инициализацию - заполнение дерева описания -// классов объектов метаданных, дерево метаданных, список ссылочных типов -// -// Параметры -// -Процедура Инициализация() Экспорт - - // Создаем объект, описывающий процессы построения дерева и выгрузку - ЗаполнитьОписаниеМетаданных(); - - МетаданныеОписание = МетаданныеОписание.Строки[0]; - - СсылочныеТипы = Новый Соответствие; - СоответствиеОбъектовМетаданныхИСсылочныхТипов = Новый Соответствие; - - ДеревоМетаданных.Колонки.Очистить(); - // создание необходимых колонок - ДеревоМетаданных.Колонки.Добавить("Выгружать", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(1, 0, ДопустимыйЗнак.Неотрицательный))); - ДеревоМетаданных.Колонки.Добавить("ВыгружатьПриНеобходимости", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(1, 0, ДопустимыйЗнак.Неотрицательный)), "При необходимости"); - ДеревоМетаданных.Колонки.Добавить("Метаданные"); - ДеревоМетаданных.Колонки.Добавить("ЭлементОписания"); - ДеревоМетаданных.Колонки.Добавить("ОбъектМД"); - ДеревоМетаданных.Колонки.Добавить("ПолноеИмяМетаданных"); - ДеревоМетаданных.Колонки.Добавить("НастройкиКомпоновщика"); - ДеревоМетаданных.Колонки.Добавить("ИспользоватьОтбор"); - ДеревоМетаданных.Колонки.Добавить("ИндексКартинки"); - ДеревоМетаданных.Колонки.Добавить("Развернут"); - ДеревоМетаданных.Колонки.Добавить("ПолноеИмяМетаданныхДляПоиска"); - - //ОкноИсполнения = ПолучитьФорму("ОкноИсполнения"); - #Если Клиент Тогда - Состояние("Выполняется анализ метаданных конфигурации..."); - #КонецЕсли - - //ИспользующиеИтоги = Новый Массив; - Корень = ДеревоМетаданных.Строки.Добавить(); - ПостроениеПоддереваОбъекта(Метаданные, Корень, МетаданныеОписание); - СверткаПоддереваОбъекта(Корень); - - Для Каждого Эл Из СсылочныеТипы Цикл - СоответствиеОбъектовМетаданныхИСсылочныхТипов.Вставить(Эл.Значение, Эл.Ключ); - КонецЦикла; - -КонецПроцедуры - -// Процедура производит заполнение дерева описания классов объектов метаданных -// -// Параметры -// -Процедура ЗаполнитьОписаниеМетаданных() - - СтэкДереваЗначенийСтроки = Новый Массив; - МетаданныеОписание = Новый ДеревоЗначений; - МетаданныеОписание.Колонки.Добавить("Выгружаемый", Новый ОписаниеТипов("Булево")); - МетаданныеОписание.Колонки.Добавить("ДляЗапроса", Новый ОписаниеТипов("Строка")); - МетаданныеОписание.Колонки.Добавить("Класс", Новый ОписаниеТипов("Строка",,Новый КвалификаторыСтроки(100, ДопустимаяДлина.Переменная))); - МетаданныеОписание.Колонки.Добавить("Менеджер"); - МетаданныеОписание.Колонки.Добавить("Свойства", Новый ОписаниеТипов("СписокЗначений")); - МетаданныеОписание.Колонки.Добавить("ИндексКартинки"); - СтэкДереваЗначенийСтроки.Вставить(0, МетаданныеОписание.Строки); - ////////////////////////////////// - // Конфигурации - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "Конфигурации"; - ОписаниеКласса.Выгружаемый = ложь; - ОписаниеКласса.ДляЗапроса = ""; - ОписаниеКласса.ИндексКартинки = 0; - СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); - ////////////////////////////////// - // Конфигурации.Константы - //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - //ОписаниеКласса.Класс = "Константы"; - //ОписаниеКласса.Выгружаемый = истина; - //ОписаниеКласса.Менеджер = Константы; - //ОписаниеКласса.ДляЗапроса = ""; - //ОписаниеКласса.ИндексКартинки = 1; - //ОписаниеКласса.Свойства.Добавить("Тип"); - ////////////////////////////////// - // Конфигурации.Справочники - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "Справочники"; - ОписаниеКласса.Выгружаемый = истина; - ОписаниеКласса.Менеджер = Справочники; - ОписаниеКласса.ДляЗапроса = "Справочник."; - ОписаниеКласса.Свойства.Добавить("Владельцы"); - ОписаниеКласса.Свойства.Добавить("ВводитсяНаОсновании"); - ОписаниеКласса.ИндексКартинки = 3; - СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); - ////////////////////////////////// - // Конфигурации.Справочники.Реквизиты - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "Реквизиты"; - ОписаниеКласса.Выгружаемый = ложь; - ОписаниеКласса.ДляЗапроса = ""; - ОписаниеКласса.Свойства.Добавить("Тип"); - ОписаниеКласса.Свойства.Добавить("Использование"); - ////////////////////////////////// - // Конфигурации.Справочники.ТабличныеЧасти - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "ТабличныеЧасти"; - ОписаниеКласса.Выгружаемый = ложь; - ОписаниеКласса.ДляЗапроса = ""; - ОписаниеКласса.Свойства.Добавить("Использование"); - СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); - ////////////////////////////////// - // Конфигурации.Справочники.ТабличныеЧасти.Реквизиты - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "Реквизиты"; - ОписаниеКласса.Выгружаемый = ложь; - ОписаниеКласса.ДляЗапроса = ""; - ОписаниеКласса.Свойства.Добавить("Тип"); - СтэкДереваЗначенийСтроки.Удалить(0); - СтэкДереваЗначенийСтроки.Удалить(0); - ////////////////////////////////// - // Конфигурации.Документы - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "Документы"; - ОписаниеКласса.Выгружаемый = истина; - ОписаниеКласса.Менеджер = Документы; - ОписаниеКласса.ДляЗапроса = "Документ."; - ОписаниеКласса.Свойства.Добавить("ВводитсяНаОсновании"); - ОписаниеКласса.Свойства.Добавить("Движения"); - ОписаниеКласса.ИндексКартинки = 7; - СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); - ////////////////////////////////// - // Конфигурации.Документы.Реквизиты - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "Реквизиты"; - ОписаниеКласса.Выгружаемый = ложь; - ОписаниеКласса.ДляЗапроса = ""; - ОписаниеКласса.Свойства.Добавить("Тип"); - ////////////////////////////////// - // Конфигурации.Документы.ТабличныеЧасти - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "ТабличныеЧасти"; - ОписаниеКласса.Выгружаемый = ложь; - ОписаниеКласса.ДляЗапроса = ""; - СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); - ////////////////////////////////// - // Конфигурации.Документы.ТабличныеЧасти.Реквизиты - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "Реквизиты"; - ОписаниеКласса.Выгружаемый = ложь; - ОписаниеКласса.ДляЗапроса = ""; - ОписаниеКласса.Свойства.Добавить("Тип"); - СтэкДереваЗначенийСтроки.Удалить(0); - СтэкДереваЗначенийСтроки.Удалить(0); - - ////////////////////////////////// - // Конфигурации.Последовательности - //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - //ОписаниеКласса.Класс = "Последовательности"; - //ОписаниеКласса.Выгружаемый = истина; - //ОписаниеКласса.Менеджер = Последовательности; - //ОписаниеКласса.ДляЗапроса = "Последовательность."; - //ОписаниеКласса.Свойства.Добавить("Документы"); - //ОписаниеКласса.Свойства.Добавить("Движения"); - //ОписаниеКласса.ИндексКартинки = 5; - //СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); - //////////////////////////////////// - //// Конфигурации.Последовательности.Измерения - //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - //ОписаниеКласса.Класс = "Измерения"; - //ОписаниеКласса.Выгружаемый = ложь; - //ОписаниеКласса.ДляЗапроса = ""; - //ОписаниеКласса.Свойства.Добавить("Тип"); - //ОписаниеКласса.Свойства.Добавить("СоответствиеДокументам"); - //ОписаниеКласса.Свойства.Добавить("СоответствиеДвижениям"); - //СтэкДереваЗначенийСтроки.Удалить(0); - //////////////////////////////////// - //// Конфигурации.ПланыВидовХарактеристик - //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - //ОписаниеКласса.Класс = "ПланыВидовХарактеристик"; - //ОписаниеКласса.Выгружаемый = истина; - //ОписаниеКласса.Менеджер = ПланыВидовХарактеристик; - //ОписаниеКласса.ДляЗапроса = "ПланВидовХарактеристик."; - //ОписаниеКласса.Свойства.Добавить("ДополнительныеЗначенияХарактеристик"); - //ОписаниеКласса.Свойства.Добавить("Тип"); - //ОписаниеКласса.Свойства.Добавить("ВводитсяНаОсновании"); - //ОписаниеКласса.ИндексКартинки = 9; - //СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); - //////////////////////////////////// - //// Конфигурации.ПланыВидовХарактеристик.Реквизиты - //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - //ОписаниеКласса.Класс = "Реквизиты"; - //ОписаниеКласса.Выгружаемый = ложь; - //ОписаниеКласса.ДляЗапроса = ""; - //ОписаниеКласса.Свойства.Добавить("Тип"); - //ОписаниеКласса.Свойства.Добавить("Использование"); - //////////////////////////////////// - //// Конфигурации.ПланыВидовХарактеристик.ТабличныеЧасти - //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - //ОписаниеКласса.Класс = "ТабличныеЧасти"; - //ОписаниеКласса.Выгружаемый = ложь; - //ОписаниеКласса.ДляЗапроса = ""; - //ОписаниеКласса.Свойства.Добавить("Использование"); - //СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); - //////////////////////////////////// - //// Конфигурации.ПланыВидовХарактеристик.ТабличныеЧасти.Реквизиты - //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - //ОписаниеКласса.Класс = "Реквизиты"; - //ОписаниеКласса.Выгружаемый = ложь; - //ОписаниеКласса.ДляЗапроса = ""; - //ОписаниеКласса.Свойства.Добавить("Тип"); - //СтэкДереваЗначенийСтроки.Удалить(0); - //СтэкДереваЗначенийСтроки.Удалить(0); - //////////////////////////////////// - //// Конфигурации.ПланыСчетов - //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - //ОписаниеКласса.Класс = "ПланыСчетов"; - //ОписаниеКласса.Выгружаемый = истина; - //ОписаниеКласса.Менеджер = ПланыСчетов; - //ОписаниеКласса.ДляЗапроса = "ПланСчетов."; - //ОписаниеКласса.Свойства.Добавить("ВводитсяНаОсновании"); - //ОписаниеКласса.Свойства.Добавить("ВидыСубконто"); - //ОписаниеКласса.ИндексКартинки = 11; - //СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); - //////////////////////////////////// - //// Конфигурации.ПланыСчетов.Реквизиты - //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - //ОписаниеКласса.Класс = "Реквизиты"; - //ОписаниеКласса.Выгружаемый = ложь; - //ОписаниеКласса.ДляЗапроса = ""; - //ОписаниеКласса.Свойства.Добавить("Тип"); - //////////////////////////////////// - //// Конфигурации.ПланыСчетов.ТабличныеЧасти - //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - //ОписаниеКласса.Класс = "ТабличныеЧасти"; - //ОписаниеКласса.Выгружаемый = ложь; - //ОписаниеКласса.ДляЗапроса = ""; - //СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); - //////////////////////////////////// - //// Конфигурации.ПланыСчетов.ТабличныеЧасти.Реквизиты - //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - //ОписаниеКласса.Класс = "Реквизиты"; - //ОписаниеКласса.Выгружаемый = ложь; - //ОписаниеКласса.ДляЗапроса = ""; - //ОписаниеКласса.Свойства.Добавить("Тип"); - //СтэкДереваЗначенийСтроки.Удалить(0); - //СтэкДереваЗначенийСтроки.Удалить(0); - //////////////////////////////////// - //// Конфигурации.ПланыВидовРасчета - //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - //ОписаниеКласса.Класс = "ПланыВидовРасчета"; - //ОписаниеКласса.Выгружаемый = истина; - //ОписаниеКласса.Менеджер = ПланыВидовРасчета; - //ОписаниеКласса.ДляЗапроса = "ПланВидовРасчета."; - //ОписаниеКласса.Свойства.Добавить("ВводитсяНаОсновании"); - //ОписаниеКласса.Свойства.Добавить("ЗависимостьОтВидовРасчета"); - //ОписаниеКласса.Свойства.Добавить("БазовыеВидыРасчета"); - //ОписаниеКласса.Свойства.Добавить("ИспользованиеПериодаДействия"); - //ОписаниеКласса.ИндексКартинки = 13; - //СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); - //////////////////////////////////// - //// Конфигурации.ПланыВидовРасчета.Реквизиты - //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - //ОписаниеКласса.Класс = "Реквизиты"; - //ОписаниеКласса.Выгружаемый = ложь; - //ОписаниеКласса.ДляЗапроса = ""; - //ОписаниеКласса.Свойства.Добавить("Тип"); - //////////////////////////////////// - //// Конфигурации.ПланыВидовРасчета.ТабличныеЧасти - //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - //ОписаниеКласса.Класс = "ТабличныеЧасти"; - //ОписаниеКласса.Выгружаемый = ложь; - //ОписаниеКласса.ДляЗапроса = ""; - //СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); - //////////////////////////////////// - //// Конфигурации.ПланыВидовРасчета.ТабличныеЧасти.Реквизиты - //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - //ОписаниеКласса.Класс = "Реквизиты"; - //ОписаниеКласса.Выгружаемый = ложь; - //ОписаниеКласса.ДляЗапроса = ""; - //ОписаниеКласса.Свойства.Добавить("Тип"); - //СтэкДереваЗначенийСтроки.Удалить(0); - //СтэкДереваЗначенийСтроки.Удалить(0); - ////////////////////////////////// - // Конфигурации.РегистрыСведений - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "РегистрыСведений"; - ОписаниеКласса.Выгружаемый = истина; - ОписаниеКласса.Менеджер = РегистрыСведений; - ОписаниеКласса.ДляЗапроса = "РегистрСведений."; - ОписаниеКласса.ИндексКартинки = 15; - СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); - ////////////////////////////////// - // Конфигурации.РегистрыСведений.Ресурсы - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "Ресурсы"; - ОписаниеКласса.Выгружаемый = ложь; - ОписаниеКласса.ДляЗапроса = ""; - ОписаниеКласса.Свойства.Добавить("Тип"); - ////////////////////////////////// - // Конфигурации.РегистрыСведений.Реквизиты - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "Реквизиты"; - ОписаниеКласса.Выгружаемый = ложь; - ОписаниеКласса.ДляЗапроса = ""; - ОписаниеКласса.Свойства.Добавить("Тип"); - ////////////////////////////////// - // Конфигурации.РегистрыСведений.Измерения - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "Измерения"; - ОписаниеКласса.Выгружаемый = ложь; - ОписаниеКласса.ДляЗапроса = ""; - ОписаниеКласса.Свойства.Добавить("Тип"); - СтэкДереваЗначенийСтроки.Удалить(0); - ////////////////////////////////// - // Конфигурации.РегистрыНакопления - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "РегистрыНакопления"; - ОписаниеКласса.Выгружаемый = истина; - ОписаниеКласса.Менеджер = РегистрыНакопления; - ОписаниеКласса.ДляЗапроса = "РегистрНакопления."; - ОписаниеКласса.ИндексКартинки = 17; - СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); - ////////////////////////////////// - // Конфигурации.РегистрыНакопления.Ресурсы - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "Ресурсы"; - ОписаниеКласса.Выгружаемый = ложь; - ОписаниеКласса.ДляЗапроса = ""; - ОписаниеКласса.Свойства.Добавить("Тип"); - ////////////////////////////////// - // Конфигурации.РегистрыНакопления.Реквизиты - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "Реквизиты"; - ОписаниеКласса.Выгружаемый = ложь; - ОписаниеКласса.ДляЗапроса = ""; - ОписаниеКласса.Свойства.Добавить("Тип"); - ////////////////////////////////// - // Конфигурации.РегистрыНакопления.Измерения - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "Измерения"; - ОписаниеКласса.Выгружаемый = ложь; - ОписаниеКласса.ДляЗапроса = ""; - ОписаниеКласса.Свойства.Добавить("Тип"); - СтэкДереваЗначенийСтроки.Удалить(0); - ////////////////////////////////// - // Конфигурации.РегистрыБухгалтерии - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "РегистрыБухгалтерии"; - ОписаниеКласса.Выгружаемый = истина; - ОписаниеКласса.Менеджер = РегистрыБухгалтерии; - ОписаниеКласса.ДляЗапроса = "РегистрБухгалтерии."; - ОписаниеКласса.Свойства.Добавить("ПланСчетов"); - ОписаниеКласса.Свойства.Добавить("Корреспонденция"); - ОписаниеКласса.ИндексКартинки = 19; - СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); - ////////////////////////////////// - // Конфигурации.РегистрыБухгалтерии.Измерения - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "Измерения"; - ОписаниеКласса.Выгружаемый = ложь; - ОписаниеКласса.ДляЗапроса = ""; - ОписаниеКласса.Свойства.Добавить("Тип"); - ////////////////////////////////// - // Конфигурации.РегистрыБухгалтерии.Ресурсы - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "Ресурсы"; - ОписаниеКласса.Выгружаемый = ложь; - ОписаниеКласса.ДляЗапроса = ""; - ОписаниеКласса.Свойства.Добавить("Тип"); - ////////////////////////////////// - // Конфигурации.РегистрыБухгалтерии.Реквизиты - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "Реквизиты"; - ОписаниеКласса.Выгружаемый = ложь; - ОписаниеКласса.ДляЗапроса = ""; - ОписаниеКласса.Свойства.Добавить("Тип"); - СтэкДереваЗначенийСтроки.Удалить(0); - //////////////////////////////////// - //// Конфигурации.РегистрыРасчета - //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - //ОписаниеКласса.Класс = "РегистрыРасчета"; - //ОписаниеКласса.Выгружаемый = истина; - //ОписаниеКласса.Менеджер = РегистрыРасчета; - //ОписаниеКласса.ДляЗапроса = "РегистрРасчета."; - //ОписаниеКласса.Свойства.Добавить("Периодичность"); - //ОписаниеКласса.Свойства.Добавить("ПериодДействия"); - //ОписаниеКласса.Свойства.Добавить("БазовыйПериод"); - //ОписаниеКласса.Свойства.Добавить("График"); - //ОписаниеКласса.Свойства.Добавить("ЗначениеГрафика"); - //ОписаниеКласса.Свойства.Добавить("ДатаГрафика"); - //ОписаниеКласса.Свойства.Добавить("ПланВидовРасчета"); - //ОписаниеКласса.ИндексКартинки = 21; - //СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); - //////////////////////////////////// - //// Конфигурации.РегистрыРасчета.Ресурсы - //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - //ОписаниеКласса.Класс = "Ресурсы"; - //ОписаниеКласса.Выгружаемый = ложь; - //ОписаниеКласса.ДляЗапроса = ""; - //ОписаниеКласса.Свойства.Добавить("Тип"); - //////////////////////////////////// - //// Конфигурации.РегистрыРасчета.Реквизиты - //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - //ОписаниеКласса.Класс = "Реквизиты"; - //ОписаниеКласса.Выгружаемый = ложь; - //ОписаниеКласса.ДляЗапроса = ""; - //ОписаниеКласса.Свойства.Добавить("Тип"); - //ОписаниеКласса.Свойства.Добавить("СвязьСГрафиком"); - //////////////////////////////////// - //// Конфигурации.РегистрыРасчета.Измерения - //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - //ОписаниеКласса.Класс = "Измерения"; - //ОписаниеКласса.Выгружаемый = ложь; - //ОписаниеКласса.ДляЗапроса = ""; - //ОписаниеКласса.Свойства.Добавить("Тип"); - //ОписаниеКласса.Свойства.Добавить("БазовоеИзмерение"); - //ОписаниеКласса.Свойства.Добавить("СвязьСГрафиком"); - ////////////////////////////////// - // Конфигурации.РегистрыРасчета.Перерасчеты - //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - //ОписаниеКласса.Класс = "Перерасчеты"; - //ОписаниеКласса.Выгружаемый = истина; - //ОписаниеКласса.Менеджер = "РегистрыРасчета.%i.Перерасчеты"; - //ОписаниеКласса.ДляЗапроса = "РегистрРасчета.%i."; - //СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); - ////////////////////////////////// - // Конфигурации.РегистрыРасчета.Перерасчеты.Измерения - //ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - //ОписаниеКласса.Класс = "Измерения"; - //ОписаниеКласса.Выгружаемый = ложь; - //ОписаниеКласса.Свойства.Добавить("ДанныеВедущихРегистров"); - //ОписаниеКласса.Свойства.Добавить("ИзмерениеРегистра"); - //СтэкДереваЗначенийСтроки.Удалить(0); - //СтэкДереваЗначенийСтроки.Удалить(0); - ////////////////////////////////// - // Конфигурации.БизнесПроцессы - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "БизнесПроцессы"; - ОписаниеКласса.Выгружаемый = истина; - ОписаниеКласса.Менеджер = БизнесПроцессы; - ОписаниеКласса.ДляЗапроса = "БизнесПроцесс."; - ОписаниеКласса.Свойства.Добавить("ВводитсяНаОсновании"); - ОписаниеКласса.Свойства.Добавить("Задача"); - ОписаниеКласса.ИндексКартинки = 23; - СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); - ////////////////////////////////// - // Конфигурации.БизнесПроцессы.Реквизиты - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "Реквизиты"; - ОписаниеКласса.Выгружаемый = ложь; - ОписаниеКласса.ДляЗапроса = ""; - ОписаниеКласса.Свойства.Добавить("Тип"); - ////////////////////////////////// - // Конфигурации.БизнесПроцессы.ТабличныеЧасти - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "ТабличныеЧасти"; - ОписаниеКласса.Выгружаемый = ложь; - ОписаниеКласса.ДляЗапроса = ""; - СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); - ////////////////////////////////// - // Конфигурации.БизнесПроцессы.ТабличныеЧасти.Реквизиты - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "Реквизиты"; - ОписаниеКласса.Выгружаемый = ложь; - ОписаниеКласса.ДляЗапроса = ""; - ОписаниеКласса.Свойства.Добавить("Тип"); - СтэкДереваЗначенийСтроки.Удалить(0); - СтэкДереваЗначенийСтроки.Удалить(0); - ////////////////////////////////// - // Конфигурации.Задачи - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "Задачи"; - ОписаниеКласса.Выгружаемый = истина; - ОписаниеКласса.Менеджер = Задачи; - ОписаниеКласса.ДляЗапроса = "Задача."; - ОписаниеКласса.Свойства.Добавить("Адресация"); - ОписаниеКласса.Свойства.Добавить("ОсновнойРеквизитАдресации"); - ОписаниеКласса.Свойства.Добавить("ТекущийИсполнитель"); - ОписаниеКласса.Свойства.Добавить("ВводитсяНаОсновании"); - ОписаниеКласса.ИндексКартинки = 25; - СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); - ////////////////////////////////// - // Конфигурации.Задачи.РеквизитыАдресации - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "РеквизитыАдресации"; - ОписаниеКласса.Выгружаемый = ложь; - ОписаниеКласса.ДляЗапроса = ""; - ОписаниеКласса.Свойства.Добавить("Тип"); - ОписаниеКласса.Свойства.Добавить("ИзмерениеАдресации"); - ////////////////////////////////// - // Конфигурации.Задачи.Реквизиты - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "Реквизиты"; - ОписаниеКласса.Выгружаемый = ложь; - ОписаниеКласса.ДляЗапроса = ""; - ОписаниеКласса.Свойства.Добавить("Тип"); - ////////////////////////////////// - // Конфигурации.Задачи.ТабличныеЧасти - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "ТабличныеЧасти"; - ОписаниеКласса.Выгружаемый = ложь; - ОписаниеКласса.ДляЗапроса = ""; - СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); - ////////////////////////////////// - // Конфигурации.Задачи.ТабличныеЧасти.Реквизиты - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "Реквизиты"; - ОписаниеКласса.Выгружаемый = ложь; - ОписаниеКласса.ДляЗапроса = ""; - ОписаниеКласса.Свойства.Добавить("Тип"); - СтэкДереваЗначенийСтроки.Удалить(0); - СтэкДереваЗначенийСтроки.Удалить(0); - - ////////////////////////////////// - // Конфигурации.ПланыОбмена - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "ПланыОбмена"; - ОписаниеКласса.Выгружаемый = истина; - ОписаниеКласса.Менеджер = ПланыОбмена; - ОписаниеКласса.ДляЗапроса = "ПланОбмена."; - ОписаниеКласса.Свойства.Добавить("ВводитсяНаОсновании"); - ОписаниеКласса.ИндексКартинки = 27; - СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); - ////////////////////////////////// - // Конфигурации.ПланыОбмена.Реквизиты - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "Реквизиты"; - ОписаниеКласса.Выгружаемый = ложь; - ОписаниеКласса.ДляЗапроса = ""; - ОписаниеКласса.Свойства.Добавить("Тип"); - ////////////////////////////////// - // Конфигурации.ПланыОбмена.ТабличныеЧасти - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "ТабличныеЧасти"; - ОписаниеКласса.Выгружаемый = ложь; - ОписаниеКласса.ДляЗапроса = ""; - СтэкДереваЗначенийСтроки.Вставить(0, ОписаниеКласса.Строки); - ////////////////////////////////// - // Конфигурации.ПланыОбмена.ТабличныеЧасти.Реквизиты - ОписаниеКласса = СтэкДереваЗначенийСтроки[0].Добавить(); - ОписаниеКласса.Класс = "Реквизиты"; - ОписаниеКласса.Выгружаемый = ложь; - ОписаниеКласса.ДляЗапроса = ""; - ОписаниеКласса.Свойства.Добавить("Тип"); - СтэкДереваЗначенийСтроки.Удалить(0); - СтэкДереваЗначенийСтроки.Удалить(0); - - СтэкДереваЗначенийСтроки.Удалить(0); - -КонецПроцедуры - -// Процедура заполняет строку дерева метаданных, попутно заполняя соответствие ссылочных типов объектам метаданных -// -// Параметры -// ОбъектМД - описание объекта метаданных -// ЭлементДЗ - заполняемая строка дерева метаданных -// ЭлементОписания - описание класса, к которому принадлежит объект метаданных (свойства, подчиненные классы) -// -Процедура ПостроениеПоддереваОбъекта(ОбъектМД, ЭлементДЗ, ЭлементОписания) - - ЭлементДЗ.Метаданные = ОбъектМД; - ЭлементДЗ.ОбъектМД = ОбъектМД; - ЭлементДЗ.ПолноеИмяМетаданных = ОбъектМД.Имя; - ЭлементДЗ.ЭлементОписания = ЭлементОписания; - ЭлементДЗ.Выгружать = Ложь; - ЭлементДЗ.ВыгружатьПриНеобходимости = Истина; - ЭлементДЗ.ИндексКартинки = ЭлементОписания.ИндексКартинки; - - Если ЭлементОписания.Менеджер <> Неопределено Тогда - - // заполнение соответствия ссылочных типов объектам метаданных - Если ОбъектОбразуетСсылочныйТип(ОбъектМД) Тогда - СсылочныеТипы[ТипЗнч(ЭлементОписания.Менеджер[ОбъектМД.Имя].ПустаяСсылка())] = ОбъектМД; - КонецЕсли; - - //Если Метаданные.РегистрыНакопления.Содержит(ОбъектМД) - // Или Метаданные.РегистрыБухгалтерии.Содержит(ОбъектМД) Тогда - // - // ИспользующиеИтоги.Добавить(ЭлементДЗ); - // - //КонецЕсли; - - КонецЕсли; - - // подчиненные ветви - Для Каждого ПодчиненныйКласс Из ЭлементОписания.Строки Цикл - - Если Не ПодчиненныйКласс.Выгружаемый Тогда - Продолжить; - КонецЕсли; - - ВеткаКласса = ЭлементДЗ.Строки.Добавить(); - ВеткаКласса.Метаданные = ПодчиненныйКласс.Класс; - ВеткаКласса.Выгружать = Ложь; - ВеткаКласса.ВыгружатьПриНеобходимости = Истина; - ВеткаКласса.ПолноеИмяМетаданных = ПодчиненныйКласс.Класс; - ВеткаКласса.ИндексКартинки = ПодчиненныйКласс.ИндексКартинки; - - ПодчиненныеОбъектыДанногоКласса = ОбъектМД[ПодчиненныйКласс.Класс]; - - Для Каждого ПодчиненныйОбъектМД Из ПодчиненныеОбъектыДанногоКласса Цикл - - //Если Метаданные.РегистрыСведений.Содержит(ПодчиненныйОбъектМД) Тогда - // Если ПодчиненныйОбъектМД.РежимЗаписи = Метаданные.СвойстваОбъектов.РежимЗаписиРегистра.ПодчинениеРегистратору Тогда - // Продолжить; - // КонецЕсли; - //КонецЕсли; - - ПодчиненныйЭлементДЗ = ВеткаКласса.Строки.Добавить(); - ПостроениеПоддереваОбъекта(ПодчиненныйОбъектМД, ПодчиненныйЭлементДЗ, ПодчиненныйКласс); - КонецЦикла; - - КонецЦикла; - -КонецПроцедуры - -// Процедура удаляет из дерева метаданных строки, соответствующие метаданным, заведомо не попадающим в выгрузку -// -// Параметры -// ЭлементДЗ - строка дерева метаданных, подчиненные которой рассматриваются -// с точки зрения удаления из списка потенциально выгружаемых -// -Процедура СверткаПоддереваОбъекта(ЭлементДЗ) - - УдаляемыеВеткиКлассов = Новый Массив; - Для Каждого ВеткаКласса Из ЭлементДЗ.Строки Цикл - - УдаляемыеПодчиненныеМД = Новый Массив; - - Для Каждого ПодчиненныйОбъектМД Из ВеткаКласса.Строки Цикл - СверткаПоддереваОбъекта(ПодчиненныйОбъектМД); - Если (ПодчиненныйОбъектМД.Строки.Количество()) = 0 - и (Не ПодчиненныйОбъектМД.ЭлементОписания.Выгружаемый) Тогда - - УдаляемыеПодчиненныеМД.Добавить(ВеткаКласса.Строки.Индекс(ПодчиненныйОбъектМД)); - - КонецЕсли; - - КонецЦикла; - - Для Сч = 1 По УдаляемыеПодчиненныеМД.Количество() Цикл - ВеткаКласса.Строки.Удалить(УдаляемыеПодчиненныеМД[УдаляемыеПодчиненныеМД.Количество() - Сч]); - КонецЦикла; - - Если ВеткаКласса.Строки.Количество() = 0 Тогда - УдаляемыеВеткиКлассов.Добавить(ЭлементДЗ.Строки.Индекс(ВеткаКласса)); - КонецЕсли; - - КонецЦикла; - - Для Сч = 1 По УдаляемыеВеткиКлассов.Количество() Цикл - ЭлементДЗ.Строки.Удалить(УдаляемыеВеткиКлассов[УдаляемыеВеткиКлассов.Количество() - Сч]); - КонецЦикла; - -КонецПроцедуры - -// Функция определяет имеет ли переданный объект метаданных ссылочный тип -// -// Возврат - Истина, если переданный объект метаданных имеет ссылочный тип, Ложь - противном случае -Функция ОбъектОбразуетСсылочныйТип(ОбъектМД) Экспорт - - Если ОбъектМД = Неопределено Тогда - Возврат Ложь; - КонецЕсли; - - Если Метаданные.Справочники.Содержит(ОбъектМД) - ИЛИ Метаданные.Документы.Содержит(ОбъектМД) - ИЛИ Метаданные.ПланыВидовХарактеристик.Содержит(ОбъектМД) - ИЛИ Метаданные.ПланыСчетов.Содержит(ОбъектМД) - ИЛИ Метаданные.ПланыВидовРасчета.Содержит(ОбъектМД) - ИЛИ Метаданные.ПланыОбмена.Содержит(ОбъектМД) - ИЛИ Метаданные.БизнесПроцессы.Содержит(ОбъектМД) - ИЛИ Метаданные.Задачи.Содержит(ОбъектМД) Тогда - Возврат Истина; - КонецЕсли; - - Возврат Ложь; -КонецФункции - -// Процедура обрабатывает состояние признака Выгрузка, проставляя признаки Выгрузка и ВыгружатьПриНеобходимости -// связанным ветвям дерева -// -// Параметры -// ЭлементДЗ - строка дерева метаданных -// -Процедура ОбработкаИзмененияСостоянияВыгружать(ЭлементДЗ) Экспорт - Если ЭлементДЗ.Выгружать = 2 Тогда - ЭлементДЗ.Выгружать = 0; - КонецЕсли; - // Изменяем состояние "вниз" - УстановитьВыгружатьПодчиненным(ЭлементДЗ); - // Изменяем состояние "вверх" - ОбновитьСостояниеВыгружать(ЭлементДЗ.Родитель); -КонецПроцедуры - -// Процедура обрабатывает состояние признака Выгрузка, проставляя признаки Выгрузка и ВыгружатьПриНеобходимости -// связанным ветвям дерева -// -// Параметры -// ЭлементДЗ - строка дерева метаданных -// -Процедура ОбработкаИзмененияСостоянияВыгружатьПриНеобходимости(ЭлементДЗ) Экспорт - - Если ЭлементДЗ.ВыгружатьПриНеобходимости = 2 Тогда - ЭлементДЗ.ВыгружатьПриНеобходимости = 0; - КонецЕсли; - - // Изменяем состояние "вниз" - УстановитьВыгружатьПриНеобходимостиПодчиненным(ЭлементДЗ); - // Изменяем состояние "вверх" - ОбновитьСостояниеВыгружатьПриНеобходимости(ЭлементДЗ.Родитель); - -КонецПроцедуры - -// Процедура проставляет признак Выгрузка строкам дерева метаданных, подчиненных данной, вычисляет и -// выставляет признак выгрузки "по ссылке" другим объектам, ссылки на которые может или должен -// содержать объект, соответствующий данной строке -// -// Параметры -// ЭлементДЗ - строка дерева метаданных -// -Процедура УстановитьВыгружатьПодчиненным(ЭлементДЗ) - Для Каждого ПодчиненнаяСтрока Из ЭлементДЗ.Строки Цикл - ПодчиненнаяСтрока.Выгружать = ЭлементДЗ.Выгружать; - УстановитьВыгружатьПодчиненным(ПодчиненнаяСтрока); - КонецЦикла; -КонецПроцедуры - -// Процедура проставляет признак Выгрузка строке дерева метаданных на основании этого признака подчиненных строк, -// затем вызывает себя же для родителя, обеспечивая отработку до корня дерева -// -// Параметры -// ЭлементДЗ - строка дерева метаданных -// -Процедура ОбновитьСостояниеВыгружать(ЭлементДЗ) - Если ЭлементДЗ = Неопределено Тогда - Возврат; - КонецЕсли; - Если (ЭлементДЗ.ЭлементОписания <> Неопределено) И ЭлементДЗ.ЭлементОписания.Выгружаемый Тогда - Возврат; // обновляем вверх или до корня, или до первого встретившегося выгружаемого - КонецЕсли; - Состояние = Неопределено; - Для Каждого ПодчиненныйЭлементДЗ Из ЭлементДЗ.Строки Цикл - Если Состояние = Неопределено Тогда - Состояние = ПодчиненныйЭлементДЗ.Выгружать; - Иначе - Если Не Состояние = ПодчиненныйЭлементДЗ.Выгружать Тогда - Состояние = 2; - Прервать; - КонецЕсли; - КонецЕсли; - КонецЦикла; - - Если Состояние <> Неопределено Тогда - ЭлементДЗ.Выгружать = Состояние; - ОбновитьСостояниеВыгружать(ЭлементДЗ.Родитель); - КонецЕсли; -КонецПроцедуры - -// Процедура проставляет признак Выгрузка строкам дерева метаданных, подчиненных данной, вычисляет и -// выставляет признак выгрузки "по ссылке" другим объектам, ссылки на которые может или должен -// содержать объект, соответствующий данной строке -// -// Параметры -// ЭлементДЗ - строка дерева метаданных -// -Процедура УстановитьВыгружатьПриНеобходимостиПодчиненным(ЭлементДЗ) - - Для Каждого ПодчиненнаяСтрока Из ЭлементДЗ.Строки Цикл - ПодчиненнаяСтрока.ВыгружатьПриНеобходимости = ЭлементДЗ.ВыгружатьПриНеобходимости; - УстановитьВыгружатьПриНеобходимостиПодчиненным(ПодчиненнаяСтрока); - КонецЦикла; - -КонецПроцедуры - -// Процедура проставляет признак Выгрузка строке дерева метаданных на основании этого признака подчиненных строк, -// затем вызывает себя же для родителя, обеспечивая отработку до корня дерева -// -// Параметры -// ЭлементДЗ - строка дерева метаданных -// -Процедура ОбновитьСостояниеВыгружатьПриНеобходимости(ЭлементДЗ) - - Если ЭлементДЗ = Неопределено Тогда - Возврат; - КонецЕсли; - - Если (ЭлементДЗ.ЭлементОписания <> Неопределено) И ЭлементДЗ.ЭлементОписания.Выгружаемый Тогда - Возврат; // обновляем вверх или до корня, или до первого встретившегося выгружаемого - КонецЕсли; - - Состояние = Неопределено; - Для Каждого ПодчиненныйЭлементДЗ Из ЭлементДЗ.Строки Цикл - - Если Состояние = Неопределено Тогда - Состояние = ПодчиненныйЭлементДЗ.ВыгружатьПриНеобходимости; - Иначе - Если Не Состояние = ПодчиненныйЭлементДЗ.ВыгружатьПриНеобходимости Тогда - Состояние = 2; - Прервать; - КонецЕсли; - КонецЕсли; - - КонецЦикла; - - Если Состояние <> Неопределено Тогда - ЭлементДЗ.ВыгружатьПриНеобходимости = Состояние; - ОбновитьСостояниеВыгружатьПриНеобходимости(ЭлементДЗ.Родитель); - КонецЕсли; - -КонецПроцедуры - -Функция ПодготовитьКомпоновщикДляВыгрузки(СтрокаДереваМетаданных, СтрокаПолейДляВыборки = "") Экспорт - - Если ТипЗнч(СтрокаДереваМетаданных.НастройкиКомпоновщика) = Тип("ОтборКомпоновкиДанных") Тогда - ЕстьДопОтборы = Ложь; - Для Каждого ЭлементОтбора Из СтрокаДереваМетаданных.НастройкиКомпоновщика.Элементы Цикл - Если ЭлементОтбора.Использование Тогда - ЕстьДопОтборы = Истина; - Прервать; - КонецЕсли; - КонецЦикла; - Иначе - ЕстьДопОтборы = (СтрокаДереваМетаданных.НастройкиКомпоновщика <> Неопределено); - КонецЕсли; - - ИтоговыйТекстЗапроса = ПолучитьТекстЗапросаПоСтроке(СтрокаДереваМетаданных, ЕстьДопОтборы, СтрокаПолейДляВыборки); - - СхемаКомпоновкиДанных = Новый СхемаКомпоновкиДанных; - ИсточникДанных = СхемаКомпоновкиДанных.ИсточникиДанных.Добавить(); - ИсточникДанных.Имя = "ТекущаяБаза"; - ИсточникДанных.СтрокаСоединения = ""; - ИсточникДанных.ТипИсточникаДанных = "Local"; - НаборДанных = СхемаКомпоновкиДанных.НаборыДанных.Добавить(Тип("НаборДанныхЗапросСхемыКомпоновкиДанных")); - НаборДанных.АвтоЗаполнениеДоступныхПолей = Истина; - НаборДанных.Запрос = ИтоговыйТекстЗапроса; - НаборДанных.Имя = "ОсновнойЗапрос"; - НаборДанных.ИсточникДанных = "ТекущаяБаза"; - - Если ЕстьДопОтборы Тогда - - НастройкиКомпоновщикаXDTO = СериализаторXDTO.ЗаписатьXDTO(СтрокаДереваМетаданных.НастройкиКомпоновщика); - СКДXDTO = СериализаторXDTO.ЗаписатьXDTO(СхемаКомпоновкиДанных); - СКДXDTO.defaultSettings = СКДXDTO.settingsVariant[0].settings; - СКДXDTO.defaultSettings.filter = НастройкиКомпоновщикаXDTO; - СхемаКомпоновкиДанных = СериализаторXDTO.ПрочитатьXDTO(СКДXDTO); - - КонецЕсли; - - ПараметрДатаНачала = Новый ПараметрКомпоновкиДанных("ДатаНачала"); - ПараметрДатаОкончания = Новый ПараметрКомпоновкиДанных("ДатаОкончания"); - - СхемаКомпоновкиДанных.НастройкиПоУмолчанию.ПараметрыДанных.Элементы.Очистить(); - Параметр = СхемаКомпоновкиДанных.НастройкиПоУмолчанию.ПараметрыДанных.Элементы.Добавить(); - Параметр.Параметр = ПараметрДатаНачала; - Параметр.Значение = ДатаНачала; - Параметр.Использование = Истина; - - Параметр = СхемаКомпоновкиДанных.НастройкиПоУмолчанию.ПараметрыДанных.Элементы.Добавить(); - Параметр.Параметр = ПараметрДатаОкончания; - Параметр.Значение = ДатаОкончания; - Параметр.Использование = Истина; - - Возврат СхемаКомпоновкиДанных; //ПостроительОтчета; - -КонецФункции - -Функция ПолучитьТекстЗапросаПоСтроке(СтрокаДереваМетаданных, ЕстьДопОтборы, СтрокаПолейДляВыборки = "") Экспорт - - Если ТипЗнч(СтрокаДереваМетаданных) = Тип("ДанныеФормыЭлементДерева") Тогда - // Вызов из управляемой формы - РодительскийЭлемент = СтрокаДереваМетаданных.ПолучитьРодителя(); - Иначе //СтрокаДереваЗначений - РодительскийЭлемент = СтрокаДереваМетаданных.Родитель; - КонецЕсли; - //ОбъектМетаданных = СтрокаДереваМетаданных.Метаданные; - ОбъектМетаданных = Метаданные[РодительскийЭлемент.ПолноеИмяМетаданных][СтрокаДереваМетаданных.ПолноеИмяМетаданных]; - ИмяМетаданных = ОбъектМетаданных.ПолноеИмя(); - - Если Метаданные.РегистрыСведений.Содержит(ОбъектМетаданных) Тогда - - ТекстЗапроса = ПолучитьТекстЗапросаДляРегистраСведений(ИмяМетаданных, ОбъектМетаданных, ЕстьДопОтборы, СтрокаПолейДляВыборки); - Возврат ТекстЗапроса; - - ИначеЕсли Метаданные.РегистрыНакопления.Содержит(ОбъектМетаданных) - ИЛИ Метаданные.РегистрыБухгалтерии.Содержит(ОбъектМетаданных) Тогда - - ТекстЗапроса = ПолучитьТекстЗапросаДляРегистра(ИмяМетаданных, ОбъектМетаданных, ЕстьДопОтборы, СтрокаПолейДляВыборки); - Возврат ТекстЗапроса; - - КонецЕсли; - - ЕстьОграничениеПоДатам = ЗначениеЗаполнено(ДатаНачала) Или ЗначениеЗаполнено(ДатаОкончания); - - Если НЕ ЗначениеЗаполнено(СтрокаПолейДляВыборки) Тогда - СтрокаПолейДляВыборки = "_.*"; - КонецЕсли; - - ТекстЗапроса = "ВЫБРАТЬ Разрешенные " + СтрокаПолейДляВыборки + " ИЗ " + ИмяМетаданных + " КАК _ "; - - // возможно нужно ограничение по датам установить - Если ЕстьОграничениеПоДатам Тогда - - Если ЕстьДопОтборы И - НЕ ИспользоватьОтборПоДатеДляВсехОбъектов Тогда - - Возврат ТекстЗапроса; - - КонецЕсли; - - ДопОграничениеПоДате = ""; - - // можно ли для данного объекта МД сторить ограничения по датам - Если Метаданные.Документы.Содержит(ОбъектМетаданных) Тогда - - ДопОграничениеПоДате = ПолучитьСтрокуОграниченияПоДатеДляЗапроса(ОбъектМетаданных, "Документ"); - - ИначеЕсли Метаданные.РегистрыБухгалтерии.Содержит(ОбъектМетаданных) - ИЛИ Метаданные.РегистрыНакопления.Содержит(ОбъектМетаданных) Тогда - - ДопОграничениеПоДате = ПолучитьСтрокуОграниченияПоДатеДляЗапроса(ОбъектМетаданных, "Регистр"); - - КонецЕсли; - - ТекстЗапроса = ТекстЗапроса + Символы.ПС + ДопОграничениеПоДате; - - КонецЕсли; - - Возврат ТекстЗапроса; - -КонецФункции - -Функция ПолучитьСтрокуОграниченияПоДатеДляЗапроса(Свойства, ИмяТипа) Экспорт - - ИтоговоеОграничениеПоДате = ""; - ИмяАлиасаТаблицы = "_"; - - Если НЕ (ИмяТипа = "Документ" ИЛИ ИмяТипа = "РегистрСведений" ИЛИ ИмяТипа = "Регистр") Тогда - Возврат ИтоговоеОграничениеПоДате; - КонецЕсли; - - ИмяПоляОграничения = ИмяАлиасаТаблицы + "." + ?(ИмяТипа = "Документ", "Дата", "Период"); - - Если ЗначениеЗаполнено(ДатаНачала) Тогда - - ИтоговоеОграничениеПоДате = " - | ГДЕ - | " + ИмяПоляОграничения + " >= &ДатаНачала"; - - КонецЕсли; - - Если ЗначениеЗаполнено(ДатаОкончания) Тогда - - Если ПустаяСтрока(ИтоговоеОграничениеПоДате) Тогда - - ИтоговоеОграничениеПоДате = " - | ГДЕ - | " + ИмяПоляОграничения + " <= &ДатаОкончания"; - - Иначе - - ИтоговоеОграничениеПоДате = ИтоговоеОграничениеПоДате + " - | И - | " + ИмяПоляОграничения + " <= &ДатаОкончания"; - - КонецЕсли; - - КонецЕсли; - - Возврат ИтоговоеОграничениеПоДате; - -КонецФункции - -Функция ПолучитьТекстЗапросаДляРегистраСведений(ИмяМетаданных, ОбъектМетаданных, ЕстьДопОтборы, СтрокаПолейДляВыборки = "") - - ЕстьОграничениеПоДатам = ЗначениеЗаполнено(ДатаНачала) Или ЗначениеЗаполнено(ДатаОкончания); - - ВыбираемВсеПоля = НЕ ЗначениеЗаполнено(СтрокаПолейДляВыборки) или - ОбъектМетаданных.РежимЗаписи = Метаданные.СвойстваОбъектов.РежимЗаписиРегистра.ПодчинениеРегистратору и СтрокаПолейДляВыборки = "Регистратор"; - - Если ВыбираемВсеПоля Тогда - МенеджерНабораЗаписей = Неопределено; - Выполнить("МенеджерНабораЗаписей = РегистрыСведений."+ОбъектМетаданных.Имя); - - СтрокаПолейДляВыборки = " Различные " + ПолучитьСтрокуПолейОтбораРегистра(МенеджерНабораЗаписей); - Иначе - СтрокаПолейДляВыборки = " Различные " + СтрокаПолейДляВыборки; - КонецЕсли; - - ТекстЗапроса = "ВЫБРАТЬ Разрешенные " + СтрокаПолейДляВыборки + " ИЗ " + ИмяМетаданных + " КАК _ "; - - Если ОбъектМетаданных.ПериодичностьРегистраСведений = Метаданные.СвойстваОбъектов.ПериодичностьРегистраСведений.Непериодический Тогда - Возврат ТекстЗапроса; - КонецЕсли; - - // 0 - отбор за период - // 1 - срез последних на дату окончания - // 2 - срез первых на дату начала - // 3 - срез последних на дату начала + отбор за период - - Если ТипВыгрузкиПериодическихРегистров = 0 Тогда - - Если ЕстьДопОтборы И - НЕ ИспользоватьОтборПоДатеДляВсехОбъектов Тогда - - Возврат ТекстЗапроса; - - КонецЕсли; - - ДопОграничениеПоДате = ПолучитьСтрокуОграниченияПоДатеДляЗапроса(ОбъектМетаданных, "РегистрСведений"); - - ТекстЗапроса = ТекстЗапроса + Символы.ПС + ДопОграничениеПоДате; - - ИначеЕсли ТипВыгрузкиПериодическихРегистров = 1 Тогда - - ТекстЗапроса = "ВЫБРАТЬ Разрешенные " + СтрокаПолейДляВыборки + " ИЗ " + ИмяМетаданных + ".СрезПоследних(&ДатаОкончания) КАК _ "; - - ИначеЕсли ТипВыгрузкиПериодическихРегистров = 2 Тогда - - ТекстЗапроса = "ВЫБРАТЬ Разрешенные " + СтрокаПолейДляВыборки + " ИЗ " + ИмяМетаданных + ".СрезПервых(&ДатаНачала) КАК _ "; - - ИначеЕсли ТипВыгрузкиПериодическихРегистров = 3 Тогда - - ТекстЗапроса = "ВЫБРАТЬ Разрешенные " + СтрокаПолейДляВыборки + " ИЗ " + ИмяМетаданных + ".СрезПоследних(&ДатаНачала) КАК _ - | - |Объединить все - | - |ВЫБРАТЬ " + СтрокаПолейДляВыборки + " ИЗ " + ИмяМетаданных + " КАК _ "; - - ДопОграничениеПоДате = ПолучитьСтрокуОграниченияПоДатеДляЗапроса(ОбъектМетаданных, "РегистрСведений"); - - ТекстЗапроса = ТекстЗапроса + Символы.ПС + ДопОграничениеПоДате; - - КонецЕсли; - - Возврат ТекстЗапроса; - -КонецФункции - -Функция ПолучитьТекстЗапросаДляРегистра(ИмяМетаданных, ОбъектМетаданных, ЕстьДопОтборы, СтрокаПолейДляВыборки = "") - - ЕстьОграничениеПоДатам = ЗначениеЗаполнено(ДатаНачала) Или ЗначениеЗаполнено(ДатаОкончания); - - ВыбираемВсеПоля = НЕ ЗначениеЗаполнено(СтрокаПолейДляВыборки) или СтрокаПолейДляВыборки = "Регистратор"; - - Если ВыбираемВсеПоля Тогда - МенеджерНабораЗаписей = Неопределено; - Если НЕ (Метаданные.РегистрыНакопления.Содержит(ОбъектМетаданных) - ИЛИ Метаданные.РегистрыБухгалтерии.Содержит(ОбъектМетаданных)) Тогда - ВызватьИсключение "должны были передать либо регистр накопления либо регистр бухгалтерии"; - КонецЕсли; - - ИмяМенеджераРегистра = ?(Метаданные.РегистрыНакопления.Содержит(ОбъектМетаданных), "РегистрыНакопления", "РегистрыБухгалтерии"); - - Выполнить("МенеджерНабораЗаписей = "+ИмяМенеджераРегистра+"."+ОбъектМетаданных.Имя); - - СтрокаПолейДляВыборки = " Различные " + ПолучитьСтрокуПолейОтбораРегистра(МенеджерНабораЗаписей); - Иначе - СтрокаПолейДляВыборки = " РАЗЛИЧНЫЕ " + СтрокаПолейДляВыборки; - КонецЕсли; - - ТекстЗапроса = "ВЫБРАТЬ Разрешенные " + СтрокаПолейДляВыборки + " ИЗ " + ИмяМетаданных + " КАК _ "; - - // возможно нужно ограничение по датам установить - Если ЕстьОграничениеПоДатам Тогда - - Если ЕстьДопОтборы И - НЕ ИспользоватьОтборПоДатеДляВсехОбъектов Тогда - - Возврат ТекстЗапроса; - - КонецЕсли; - - ДопОграничениеПоДате = ПолучитьСтрокуОграниченияПоДатеДляЗапроса(ОбъектМетаданных, "Регистр"); - - ТекстЗапроса = ТекстЗапроса + Символы.ПС + ДопОграничениеПоДате; - - КонецЕсли; - - Возврат ТекстЗапроса; - -КонецФункции - -// Процедура рекурсивно обрабатывает дерево метаданных, образуя списки полной и вспомогательной выгрузки -// -// Параметры -// -Процедура СоставВыгрузки(ПересчитатьВыгружаемыеПоСсылке = Ложь) Экспорт - - СоставПолнойВыгрузки = Новый ТаблицаЗначений; - СоставПолнойВыгрузки.Колонки.Добавить("ОбъектМД"); - СоставПолнойВыгрузки.Колонки.Добавить("СтрокаДерева"); - СоставПолнойВыгрузки.Индексы.Добавить("ОбъектМД"); - - СоставВспомогательнойВыгрузки = Новый ТаблицаЗначений; - СоставВспомогательнойВыгрузки.Колонки.Добавить("ОбъектМД"); - СоставВспомогательнойВыгрузки.Колонки.Добавить("СтрокаДерева"); - СоставВспомогательнойВыгрузки.Индексы.Добавить("ОбъектМД"); - - Для Каждого СтрокаДЗ Из ДеревоМетаданных.Строки Цикл - ДобавитьВыгружаемыеОбъекты(СоставПолнойВыгрузки, СоставВспомогательнойВыгрузки, СтрокаДЗ); - КонецЦикла; - - мНаличиеВыгрузкиПодчиненныхОбъектов = СоставВспомогательнойВыгрузки.Количество() > 0; - - Если ПересчитатьВыгружаемыеПоСсылке Тогда - - ПересчитатьВыгружаемыеПоСсылке(СоставПолнойВыгрузки); - - КонецЕсли; - -КонецПроцедуры - -// Процедура рекурсивно обрабатывает строку дерева метаданных, образуя списки полной и вспомогательной выгрузки -// -// Параметры -// СоставПолнойВыгрузки - список полной выгрузки -// СоставВспомогательнойВыгрузки - список вспомогательной выгрузки -// СтрокаДЗ - обрабатываемая строка дерева метаданных -// -Процедура ДобавитьВыгружаемыеОбъекты(СоставПолнойВыгрузки, СоставВспомогательнойВыгрузки, СтрокаДЗ) - - Если (СтрокаДЗ.ЭлементОписания <> Неопределено) - И СтрокаДЗ.ЭлементОписания.Выгружаемый Тогда - - СтрокаДобавления = Неопределено; - - Если СтрокаДЗ.Выгружать Тогда - - СтрокаДобавления = СоставПолнойВыгрузки.Добавить(); - - КонецЕсли; - Если СтрокаДобавления <> Неопределено Тогда - СтрокаДобавления.ОбъектМД = СтрокаДЗ.ОбъектМД; - СтрокаДобавления.СтрокаДерева = СтрокаДЗ; - - КонецЕсли; - - Если СтрокаДЗ.ВыгружатьПриНеобходимости Тогда // нужно для иерархических метаданных и подгрузки родителей - - СтрокаДобавления = СоставВспомогательнойВыгрузки.Добавить(); - - КонецЕсли; - - Если СтрокаДобавления <> Неопределено Тогда - СтрокаДобавления.ОбъектМД = СтрокаДЗ.ОбъектМД; - СтрокаДобавления.СтрокаДерева = СтрокаДЗ; - - КонецЕсли; - - КонецЕсли; - - Для Каждого ПодчиненнаяСтрокаДЗ Из СтрокаДЗ.Строки Цикл - ДобавитьВыгружаемыеОбъекты(СоставПолнойВыгрузки, СоставВспомогательнойВыгрузки, ПодчиненнаяСтрокаДЗ); - КонецЦикла; - -КонецПроцедуры - -// Процедура определяет, какие типы объектов следует выгружать для сохранения ссылочной целостности -// -// Параметры -// Выгрузка - массив строк - совокупность выгружаемых объектов -Процедура ПересчитатьВыгружаемыеПоСсылке(Выгрузка) Экспорт - - // сброс всех флажков ВыгружатьПриНеобходимости - СтрокаКонфигурации = ДеревоМетаданных.Строки[0]; - СтрокаКонфигурации.ВыгружатьПриНеобходимости = 0; - ОбработкаИзмененияСостоянияВыгружатьПриНеобходимости(СтрокаКонфигурации); - #Если Клиент Тогда - Состояние("Выполняется поиск объектов метаданных, которые могут быть выгружены по ссылкам..."); - #КонецЕсли - - КоллекцияУжеИспользованныхЭлементовДЗ = Новый Соответствие; - - // обработка переданного набора объектов - Для Каждого Выгружаемый Из Выгрузка Цикл - - УстановкаСостоянияВыгружатьПриНеобходимости(Выгружаемый.СтрокаДерева, КоллекцияУжеИспользованныхЭлементовДЗ); - - КонецЦикла; - -КонецПроцедуры - -// Процедура определяет, на какие объект может ссылаться запись, соответствующая объекту метаданных, отображаемому -// данной строкой дерева метаданных и проставляет им признак ВыгружатьПриНеобходимости -// -// Параметры -// ЭлементДЗ - строка дерева метаданных -// -Процедура УстановкаСостоянияВыгружатьПриНеобходимости(ЭлементДЗ, КоллекцияУжеИспользованныхЭлементовДЗ) - Если КоллекцияУжеИспользованныхЭлементовДЗ.Получить(ЭлементДЗ) <> Неопределено Тогда - Возврат; - КонецЕсли; - КоллекцияУжеИспользованныхЭлементовДЗ.Вставить(ЭлементДЗ, ЭлементДЗ); - - ОбновитьСостояниеВыгружатьПриНеобходимости(ЭлементДЗ.Родитель); - Если ЭлементДЗ.Выгружать <> 1 И ЭлементДЗ.ВыгружатьПриНеобходимости <> 1 Тогда - Возврат; - КонецЕсли; - Если ЭлементДЗ.ОбъектМД = Неопределено Тогда - Возврат; - КонецЕсли; - - ВсеТипы = ПолучитьВсеТипы(ЭлементДЗ); - Для Каждого СсылочныйТип Из ВсеТипы Цикл - - ТипИОбъект = СсылочныеТипы.Получить(СсылочныйТип); - Если ТипИОбъект = Неопределено Тогда - - ВызватьИсключение("Внутреняя ошибка. Неполное заполнение структуры ссылочных типов - " + СсылочныйТип); - - КонецЕсли; - - ОбъектМД = ТипИОбъект; - СтрокаДЗ = ЭлементДЗПоОбъектуМД(ОбъектМД); - Если СтрокаДЗ = Неопределено Тогда - - ВызватьИсключение("Внутреняя ошибка. Неполное заполнение дерева метаданных. Отсутствует объект, образующий тип - " + СсылочныйТип); - - КонецЕсли; - - Если СтрокаДЗ.Выгружать = 1 - И СтрокаДЗ.ВыгружатьПриНеобходимости = 1 Тогда - - Продолжить; - - КонецЕсли; - - СтрокаДЗ.ВыгружатьПриНеобходимости = 1; - УстановкаСостоянияВыгружатьПриНеобходимости(СтрокаДЗ, КоллекцияУжеИспользованныхЭлементовДЗ); - - КонецЦикла; - -КонецПроцедуры - -// Функция возвращает массив типов, которые могут иметь поля записи объекта метаданных, соответствующего строке дерева -// -// Параметры -// ЭлементДЗ - строка дерева метаданных -// Возврат - массив потенциально используемых соответствующей записью типов -// -Функция ПолучитьВсеТипы(ЭлементДЗ) - - ОбъектМД = ЭлементДЗ.ОбъектМД; - Если ТипЗнч(ОбъектМД) <> Тип("ОбъектМетаданных") - И ТипЗнч(ОбъектМД) <> Тип("ОбъектМетаданныхКонфигурация") Тогда - - ВызватьИсключение("Внутреняя ошибка обработки выгрузки"); - - КонецЕсли; - - Возврат ПолучитьТипыИспользуемыеОМД(ОбъектМД, ЭлементДЗ.ЭлементОписания); - -КонецФункции - -// Функция возвращает строку дерева метаданных, соответствующую переданному объекту метаданных -// Поиск осуществляется по всему дереву метаданных -// -// Параметры -// ОбъектМД - описание метаданного -// Возврат - строка дерева метаданных -// -Функция ЭлементДЗПоОбъектуМД(ОбъектМД) - Для Каждого СтрокаДЗ Из ДеревоМетаданных.Строки Цикл - ЭлементДЗ = ЭлементДЗПоОбъектуМДИСтроке(СтрокаДЗ, ОбъектМД); - Если ЭлементДЗ <> Неопределено Тогда - Возврат ЭлементДЗ; - КонецЕсли; - КонецЦикла; - Возврат Неопределено; -КонецФункции - -// Функция возвращает массив типов, которые могут иметь поля записи объекта метаданных -// -// Параметры -// ОбъектМД - описание метаданного -// ЭлементОписания - описание класса объекта метаданного -// Возврат - массив потенциально используемых соответствующей записью типов -// -Функция ПолучитьТипыИспользуемыеОМД(ОбъектМД, ЭлементОписания) - - ВсеТипы = Новый Массив; - - Для Каждого Свойство Из ЭлементОписания.Свойства Цикл - - ЗначениеСвойства = ОбъектМД[Свойство.Значение]; - Если ТипЗнч(ЗначениеСвойства) = Тип("КоллекцияЗначенийСвойстваОбъектаМетаданных") И ЗначениеСвойства.Количество() > 0 Тогда - - Для Каждого СтрокаКоллекции Из ЗначениеСвойства Цикл - - СсылочныйТипКлючИЗначение = СоответствиеОбъектовМетаданныхИСсылочныхТипов[СтрокаКоллекции]; - - Если СсылочныйТипКлючИЗначение <> Неопределено Тогда - - ДобавитьВМассивЕслиУникальный(ВсеТипы, СсылочныйТипКлючИЗначение); - - КонецЕсли; - - КонецЦикла; - - ИначеЕсли ТипЗнч(ЗначениеСвойства) = Тип("ОбъектМетаданных") Тогда - - Для Каждого СсылочныйТипКлючИЗначение Из СсылочныеТипы Цикл - - Если ЗначениеСвойства = СсылочныйТипКлючИЗначение.Значение Тогда - ДобавитьВМассивЕслиУникальный(ВсеТипы, СсылочныйТипКлючИЗначение.Ключ); - КонецЕсли; - - КонецЦикла; - - КонецЕсли; - - КонецЦикла; - - Если КлассМДТипизированный(ЭлементОписания) Тогда - - ОписаниеТипа = ОбъектМД.Тип; - Для Каждого ОдинТип Из ОписаниеТипа.Типы() Цикл - - Если СсылочныйТип(ОдинТип) Тогда - ДобавитьВМассивЕслиУникальный(ВсеТипы, ОдинТип); - КонецЕсли; - - КонецЦикла; - - Иначе - - Если Метаданные.РегистрыСведений.Содержит(ОбъектМД) Или - Метаданные.РегистрыНакопления.Содержит(ОбъектМД) Или - Метаданные.РегистрыБухгалтерии.Содержит(ОбъектМД) Или - Метаданные.РегистрыРасчета.Содержит(ОбъектМД) Тогда - - // какой-то из регистров, ищем в возможных регистраторах - Для Каждого ДокументМД Из Метаданные.Документы Цикл - - Если ДокументМД.Движения.Содержит(ОбъектМД) Тогда - - ДобавитьВМассивЕслиУникальный(ВсеТипы, ТипЗнч(Документы[ДокументМД.Имя].ПустаяСсылка())); - - КонецЕсли; - - КонецЦикла; - - // нужно для иерархических метаданных и подгрузки родителей - ИначеЕсли Метаданные.Справочники.Содержит(ОбъектМД) И ОбъектМД.Иерархический Тогда - ДобавитьВМассивЕслиУникальный(ВсеТипы, ТипЗнч(Справочники[ОбъектМД.Имя].ПустаяСсылка())); - ИначеЕсли Метаданные.ПланыВидовХарактеристик.Содержит(ОбъектМД) И ОбъектМД.Иерархический Тогда - ДобавитьВМассивЕслиУникальный(ВсеТипы, ТипЗнч(ПланыВидовХарактеристик[ОбъектМД.Имя].ПустаяСсылка())); - КонецЕсли; - - КонецЕсли; - - Для Каждого ПодчиненныйКласс Из ЭлементОписания.Строки Цикл - - Для Каждого ПодчиненныйОбъектМД Из ОбъектМД[ПодчиненныйКласс.Класс] Цикл - - ТипыПодчиненного = ПолучитьТипыИспользуемыеОМД(ПодчиненныйОбъектМД, ПодчиненныйКласс); - Для Каждого ОдинТип Из ТипыПодчиненного Цикл - ДобавитьВМассивЕслиУникальный(ВсеТипы, ОдинТип); - КонецЦикла; - - КонецЦикла; - - КонецЦикла; - - Возврат ВсеТипы; - -КонецФункции - -// Функция возвращает строку дерева метаданных, соответствующую переданному объекту метаданных -// Поиск осуществляется среди строк, подчиненных переданной -// -// Параметры -// СтрокаДЗ - строка дерева метаданных, от которй осуществляется поиск -// ОбъектМД - описание метаданного -// Возврат - строка дерева метаданных -// -Функция ЭлементДЗПоОбъектуМДИСтроке(СтрокаДЗ, ОбъектМД) - - Возврат СтрокаДЗ.Строки.Найти(ОбъектМД, "ОбъектМД", Истина); - -КонецФункции - -// Процедура добавляет в массив новый элемент, если он является уникальным -// -// Параметры -// Массив - исследуемый тип -// Элемент - добавляемый элемент -// -Процедура ДобавитьВМассивЕслиУникальный(Массив, Элемент) - - Если Массив.Найти(Элемент) = Неопределено Тогда - Массив.Добавить(Элемент); - КонецЕсли; - -КонецПроцедуры - -// Функция определяет, являются ли объекты данного класса метаданных типизированными -// -// Параметры -// Описание - Описание класса -// Возврат - Истина, если объекты данного класса метаданных типизированы, Ложь в противном случае -// -Функция КлассМДТипизированный(Описание) - - Для Каждого Свойство Из Описание.Свойства Цикл - Если Свойство.Значение = "Тип" Тогда - Возврат Истина; - КонецЕсли; - КонецЦикла; - Возврат Ложь; - -КонецФункции - -Функция КлассМДИерархический(ОбъектМД) - Рез = Ложь; - Если ОбъектМД = Неопределено Тогда - - ИначеЕсли Метаданные.Справочники.Содержит(ОбъектМД) И ОбъектМД.Иерархический Тогда - Рез = Истина; - ИначеЕсли Метаданные.ПланыВидовХарактеристик.Содержит(ОбъектМД) И ОбъектМД.Иерархический Тогда - Рез = Истина; - КонецЕсли; - - Возврат Рез; -КонецФункции - -// Функция определяет, являются ли тип ссылочным -// -// Параметры -// Тип - исследуемый тип -// Возврат - Истина, если тип ссылочный, Ложь в противном случае -// -Функция СсылочныйТип(Тип) - - МетаданныеТипа = СсылочныеТипы.Получить(Тип); - Возврат МетаданныеТипа <> Неопределено; - -КонецФункции - - -Процедура СоздатьПоМетаданным(массивДанных) - - ОбработанныхКонстант = 0; - ОбработанныхНаборовЗаписей = 0; - - ОбъектыВыгруженныеСОшибками = Новый Соответствие; - СоставВыгрузки(); - - мВыгруженныеОбъекты = Новый ТаблицаЗначений; - мВыгруженныеОбъекты.Колонки.Добавить("Ссылка"); - мВыгруженныеОбъекты.Индексы.Добавить("Ссылка"); - - - Если ОбъектыВыгруженныеСОшибками = Неопределено Тогда - ОбъектыВыгруженныеСОшибками = Новый Соответствие; - КонецЕсли; - - //ОкноИсполнения = ПолучитьФорму("ОкноИсполнения"); - //ОкноИсполненияОбщееКоличество = 1; - //ОкноИсполненияОбработано = 0; - //ОкноИсполнения.Открыть(); - - Попытка - - Для Каждого СтрокаТаблицыВыгрузки Из СоставПолнойВыгрузки Цикл - - СтрокаДереваМетаданных = СтрокаТаблицыВыгрузки.СтрокаДерева; - - Если СтрокаДереваМетаданных.ЭлементОписания.Менеджер = Неопределено Тогда - ВызватьИсключение("Выгрузка данных. Внутренняя ошибка"); - КонецЕсли; - - Если Метаданные.Константы.Содержит(СтрокаДереваМетаданных.ОбъектМД) Тогда - - //ЗаписьКонстанты(СтрокаДереваМетаданных.ОбъектМД, ОбъектыВыгруженныеСОшибками); - - ИначеЕсли Метаданные.РегистрыСведений.Содержит(СтрокаДереваМетаданных.ОбъектМД) Или - Метаданные.РегистрыНакопления.Содержит(СтрокаДереваМетаданных.ОбъектМД) Или - Метаданные.РегистрыРасчета.Содержит(СтрокаДереваМетаданных.ОбъектМД) Тогда - - ЗаписьРегистра(СтрокаДереваМетаданных, ОбъектыВыгруженныеСОшибками,, массивДанных); - - ИначеЕсли Метаданные.РегистрыБухгалтерии.Содержит(СтрокаДереваМетаданных.ОбъектМД) Тогда - - ЗаписьРегистра(СтрокаДереваМетаданных, ОбъектыВыгруженныеСОшибками, Истина, массивДанных); - - ИначеЕсли ТипЗнч(СтрокаДереваМетаданных.ЭлементОписания.Менеджер) = Тип("Строка") Тогда - // специальный случай для перерасчетов - //ЗаписьПерерасчета(СтрокаДереваМетаданных, ОбъектыВыгруженныеСОшибками); - - ИначеЕсли Метаданные.Последовательности.Содержит(СтрокаДереваМетаданных.ОбъектМД) Тогда - - //ЗаписьПоследовательности(СтрокаДереваМетаданных, ОбъектыВыгруженныеСОшибками); - - Иначе - ЗаписьДанныхОбъектногоТипа(СтрокаДереваМетаданных, ОбъектыВыгруженныеСОшибками, массивДанных); - - КонецЕсли; - - #Если Клиент Тогда - ОбработкаПрерыванияПользователя(); - #КонецЕсли - - КонецЦикла; - - //ДополнительныеОбъектыДляВыгрузки.Сортировать("ИмяОбъектаДляЗапроса"); - ТекущийМассивСсылок = Новый Массив(); - ТекущееИмяЗапроса = ""; - - - //Для Каждого СтрокаТаблицыВыгрузки Из ДополнительныеОбъектыДляВыгрузки Цикл - // - // Если НЕ ЗначениеЗаполнено(СтрокаТаблицыВыгрузки.Объект) - // ИЛИ НЕ ЗначениеЗаполнено(СтрокаТаблицыВыгрузки.ИмяОбъектаДляЗапроса) Тогда - // - // Продолжить; - // - // КонецЕсли; - // - // Если ТекущееИмяЗапроса <> СтрокаТаблицыВыгрузки.ИмяОбъектаДляЗапроса Тогда - // - // ВыгрузитьДанныеМассиваСсылок(ТекущийМассивСсылок, ТекущееИмяЗапроса, ОбъектыВыгруженныеСОшибками); - // - // ТекущийМассивСсылок = Новый массив(); - // ТекущееИмяЗапроса = СтрокаТаблицыВыгрузки.ИмяОбъектаДляЗапроса; - // - // КонецЕсли; - // - // ТекущийМассивСсылок.Добавить(СтрокаТаблицыВыгрузки.Объект); - // - //КонецЦикла; - - //ВыгрузитьДанныеМассиваСсылок(ТекущийМассивСсылок, ТекущееИмяЗапроса, ОбъектыВыгруженныеСОшибками); - - Исключение - //ОкноИсполнения.Закрыть(); - ВызватьИсключение; - КонецПопытки; - - //ОкноИсполнения.Закрыть(); - #Если Клиент Тогда - Состояние(); - #КонецЕсли - -КонецПроцедуры - -Процедура ЗаписьДанныхОбъектногоТипа(СтрокаДереваМетаданных, ОбъектыВыгруженныеСОшибками, массивДанных) - - ПодзаголовокОкнаИсполнения = СтрокаДереваМетаданных.ОбъектМД.ПолноеИмя(); - - ОкноИсполненияОбщееКоличество = 1; - //ОкноИсполненияОбработано = 0; - - РезультатЗапроса = ПолучитьРезультатЗапросаСОграничениями(СтрокаДереваМетаданных); - - ЗапросИЗапись(РезультатЗапроса, Истина, ОбъектыВыгруженныеСОшибками, массивДанных); - -КонецПроцедуры - -Функция ПолучитьРезультатЗапросаСОграничениями(СтрокаДереваМетаданных) - - СКД = ПодготовитьКомпоновщикДляВыгрузки(СтрокаДереваМетаданных); - - ТаблицаЗначений = Новый ТаблицаЗначений; - - Компоновщик = Новый КомпоновщикНастроекКомпоновкиДанных; - Компоновщик.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СКД)); - Компоновщик.ЗагрузитьНастройки(СКД.НастройкиПоУмолчанию); - - ПолеГруппировки = Компоновщик.Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных")); - - СистемныеПоля = Новый ПолеКомпоновкиДанных("СистемныеПоля"); - ПараметрыДанных = Новый ПолеКомпоновкиДанных("ПараметрыДанных"); - Для Каждого ДоступноеПоле Из Компоновщик.Настройки.ДоступныеПоляВыбора.Элементы Цикл - Если ДоступноеПоле.Поле = СистемныеПоля Или ДоступноеПоле.Поле = ПараметрыДанных Тогда - Продолжить; - КонецЕсли; - ПолеНабора = СКД.НаборыДанных[0].Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных")); - ПолеНабора.Поле = Строка(ДоступноеПоле.Поле); - ПолеНабора.ПутьКДанным = Строка(ДоступноеПоле.Поле); - Если ДоступноеПоле.Папка Тогда - ПолеГруппировкиПапки = Компоновщик.Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных")); - Для Каждого ВложенныйЭлемент Из ДоступноеПоле.Элементы Цикл - ПолеНабора = СКД.НаборыДанных[0].Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных")); - ПолеНабора.Поле = Строка(ВложенныйЭлемент.Поле); - ПолеНабора.ПутьКДанным = Строка(ВложенныйЭлемент.Поле); - ВыбранноеПоле = ПолеГруппировкиПапки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных")); - ВыбранноеПоле.Поле = ВложенныйЭлемент.Поле; - КонецЦикла; - Иначе - ВыбранноеПоле = ПолеГруппировки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных")); - ВыбранноеПоле.Поле = ДоступноеПоле.Поле; - КонецЕсли; - - КонецЦикла; - - //#Если Клиент Тогда - // - //НастройкиКомпоновщикаXDTO = СериализаторXDTO.ЗаписатьXDTO(Компоновщик.Настройки); - //СКДXDTO = СериализаторXDTO.ЗаписатьXDTO(СКД); - //СКДXDTO.defaultSettings = НастройкиКомпоновщикаXDTO; - //СКД = СериализаторXDTO.ПрочитатьXDTO(СКДXDTO); - // - //КонструкторСКД = Новый КонструкторСхемыКомпоновкиДанных(СКД); - //КонструкторСКД.Редактировать(ПолучитьФорму("Форма")); - //#КонецЕсли - - КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; - МакетКомпоновки = КомпоновщикМакета.Выполнить(СКД, Компоновщик.ПолучитьНастройки(),,, Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); - Запрос = Новый Запрос(МакетКомпоновки.НаборыДанных.ОсновнойЗапрос.Запрос); - ПараметрыЗапроса = Запрос.НайтиПараметры(); - Для Каждого Параметр Из ПараметрыЗапроса Цикл - ПараметрМакетаСКД = МакетКомпоновки.ЗначенияПараметров.Найти(Параметр.Имя); - Запрос.УстановитьПараметр(Параметр.Имя, ПараметрМакетаСКД.Значение); - КонецЦикла; - РезультатЗапроса = Запрос.Выполнить(); - //ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; - //ПроцессорКомпоновки.Инициализировать(МакетКомпоновки); - //ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; - //ПроцессорВывода.УстановитьОбъект(ТаблицаЗначений); - //ПроцессорВывода.Вывести(ПроцессорКомпоновки); - - //Возврат ТаблицаЗначений; - //ПостроительОтчета.Выполнить(); - //РезультатЗапроса = ПостроительОтчета.Результат; - // - Возврат РезультатЗапроса; - -КонецФункции - -// Процедура исполняет переданный запрос и записывает полученные через запрос объекты -// -// Параметры -// Запрос - запрос для исполнения, результат содержит выборку объектов для записи -// ЗаписьXML - объект, через которых происходит запись объектов ИБ -// ЗапросВерхнегоУровня - признак необходимости анимации процесса -// -Процедура ЗапросИЗапись(РезультатЗапроса, ЗапросВерхнегоУровня = Ложь, ОбъектыВыгруженныеСОшибками, массивДанных) - - // универсальная процедура выгрузки ссылочных объектов процедура - ОбработкаРезультатаЗапроса(РезультатЗапроса, Истина, ЗапросВерхнегоУровня, ОбъектыВыгруженныеСОшибками, массивДанных, МассивИмен); - -КонецПроцедуры - -// Процедура записывает содержащиеся в выборке результата запроса объекты и необходимые "по ссылке" объекты ИБ -// -// Параметры -// РезультатЗапроса - результат запроса -// ЗаписьXML - объект, через которых происходит запись объектов ИБ -// ЭтоЗапросПоОбъекту - если Истина, выборка должна содержать объекты, на которые может быть ссылка, -// если Ложь, выгружать, как объект не нужно, только обработать возможные ссылки на др. объекты ИБ -// -Процедура ОбработкаРезультатаЗапроса(РезультатЗапроса, ЭтоЗапросПоОбъекту = Ложь, - ЗапросВерхнегоУровня = Ложь, ОбъектыВыгруженныеСОшибками = Неопределено, массивДанных, МассивИмен) - - #Если Клиент Тогда - ОбработкаПрерыванияПользователя(); - #КонецЕсли - - ВыборкаИзРезультатовЗапроса = РезультатЗапроса.Выбрать(); - Если ЗапросВерхнегоУровня Тогда - - ОкноИсполненияОбщееКоличество = ВыборкаИзРезультатовЗапроса.Количество(); - //ОкноИсполнения.ОбновитьВерхнююГраницу(); - - КонецЕсли; - - ВсегоОбработаноОбъектов = 0; - ОбработаноОбъектов = 0; - - Пока ВыборкаИзРезультатовЗапроса.Следующий() Цикл - - ДанныеОбъекта = ВыборкаИзРезультатаЗапросаВСтруктуру(РезультатЗапроса, ВыборкаИзРезультатовЗапроса); - - Если ЭтоЗапросПоОбъекту Тогда - - // выгрузка ссылочных объектов - Ссылка = ДанныеОбъекта.Ссылка; - - Если СсылкаВыгружена(Ссылка) Тогда - - Если ЗапросВерхнегоУровня Тогда - - ОбработаноОбъектов = ОбработаноОбъектов + 1; - Если ОбработаноОбъектов % 100 = 0 Тогда - //ОкноИсполненияОбработано = ОкноИсполненияОбработано + ОбработаноОбъектов; - ОбработаноОбъектов = 0; - КонецЕсли; - - КонецЕсли; - Продолжить; - - КонецЕсли; - - ДобавитьСсылкуКВыгруженным(Ссылка); - - ВсегоОбработаноОбъектов = ВсегоОбработанныхЗаписей(); - - ПоказатьПользователюИнформациюОСостоянииВыгрузки(ВсегоОбработаноОбъектов, ОбъектыВыгруженныеСОшибками); - - КонецЕсли; - - Если мНаличиеВыгрузкиПодчиненныхОбъектов Тогда - - // перебираем колонки запроса в поисках ссылочных значений, которые, возможно, нужно выгрузить - Для Каждого КолонкаЗапроса Из РезультатЗапроса.Колонки Цикл - - ЗначениеКолонки = ДанныеОбъекта[КолонкаЗапроса.Имя]; - - Если ТипЗнч(ЗначениеКолонки) = мТипРезультатЗапроса Тогда - - ОбработкаРезультатаЗапроса(ЗначениеКолонки, , , ОбъектыВыгруженныеСОшибками, массивДанных, МассивИмен); - - Иначе - - ЗаписатьЗначениеПриНеобходимости(ЗначениеКолонки, ОбъектыВыгруженныеСОшибками, массивДанных); - - КонецЕсли; - - КонецЦикла; - - КонецЕсли; - - Если ЭтоЗапросПоОбъекту Тогда - - //Объект = Ссылка.ПолучитьОбъект(); - - Попытка - - //ВыполнитьВспомогательныеДействияДляЗаписиXML(ВсегоОбработаноОбъектов); - - //ЗаписатьXML(ЗаписьXML, Объект); - - //НоваяСтрокаТаблицыДанных = ТаблицаДанных.Добавить(); - //НоваяСтрокаТаблицыДанных.Ссылка = Ссылка; - //ПриИзмененииСсылки(НоваяСтрокаТаблицыДанных); - - ОписательЭлемента = СоздатьОписательЭлементаПоСсылке(Ссылка, МассивИмен, ДанныеОбъекта); - //ОписательЭлемента = СоздатьОписательЭлемента(); - //ОписательЭлемента.Ссылка = Ссылка; - //ОписательЭлемента.ИмяПеременной = УникальноеИмяПеременнойПоСсылке(Ссылка, МассивИмен); - //МетаСсылка = Ссылка.Метаданные(); - //ОписательЭлемента.Метаданное = МетаСсылка; - //ОписательЭлемента.РежимПоиска = "Перем"; - //Если Метаданные.Справочники.Содержит(МетаСсылка) И Ссылка.ЭтоГруппа Тогда - // ОписательЭлемента.РежимСоздания = "Группа"; - //Иначе - // ОписательЭлемента.РежимСоздания = ""; - //КонецЕсли; - МассивДанных.Добавить(ОписательЭлемента); - - Если ВыгружатьСДокументомЕгоДвижения - И Метаданные.Документы.Содержит(Ссылка.Метаданные()) Тогда - - Объект = Ссылка.ПолучитьОбъект(); - // выгрузка движений документа - Для Каждого Движение Из Объект.Движения Цикл - - Движение.Прочитать(); - - Если мНаличиеВыгрузкиПодчиненныхОбъектов - И Движение.Количество() > 0 Тогда - - ТипРегистра = Тип(Движение); - - МассивКолонок = мСоответствиеКолонокДвижений.Получить(ТипРегистра); - - Если МассивКолонок = Неопределено Тогда - - ТаблицаДвижений = Движение.Выгрузить(); - РегистрБухгалтерии = Метаданные.РегистрыБухгалтерии.Содержит(Движение.Метаданные()); - МассивКолонок = ПолучитьМассивКолонокДвижения(ТаблицаДвижений, РегистрБухгалтерии); - мСоответствиеКолонокДвижений.Вставить(ТипРегистра, МассивКолонок); - - КонецЕсли; - - ВыгрузитьПодчиненныеЗначенияНабора(Движение, МассивКолонок, ОбъектыВыгруженныеСОшибками, массивДанных); - - КонецЕсли; - - //ЗаписатьXML(ЗаписьXML, Движение); - - ОписательЭлемента = СоздатьОписательЭлементаПоНаборуЗаписей(Движение, МассивИмен); - МассивДанных.Добавить(ОписательЭлемента); - //Мд = Движение.Метаданные(); - ////Для каждого ЗаписьНабора Из Движение Цикл - // ОписательЭлемента = СоздатьОписательЭлемента(); - // ОписательЭлемента.Реквизиты = Движение; //ЗаписьНабора; - // ОписательЭлемента.Ссылка = Неопределено; - // ОписательЭлемента.Метаданное = Мд; - // МассивДанных.Добавить(ОписательЭлемента); - ////КонецЦикла; - - КонецЦикла; - - КонецЕсли; - - Исключение - - СтрокаОписанияОшибки = ОписаниеОшибки(); - //не смогли записать в XML - // возможно проблема с недопустимыми символами в XML - //Если ТолькоПроверкаНедопустимыхСимволов Тогда - // - // Если ОбъектыВыгруженныеСОшибками.Получить(Ссылка) = Неопределено Тогда - // ОбъектыВыгруженныеСОшибками.Вставить(Ссылка, СтрокаОписанияОшибки); - // КонецЕсли; - // - //Иначе - - ИтоговаяСтрокаСообщения = "Ошибка при выгрузке объекта: " + Строка(Ссылка) + " Тип: " + Строка(ТипЗнч(Ссылка)) + " - |" + СтрокаОписанияОшибки; - - Сообщить(ИтоговаяСтрокаСообщения); - - ВызватьИсключение ИтоговаяСтрокаСообщения; - - //КонецЕсли; - - КонецПопытки; - - КонецЕсли; - - Если ЗапросВерхнегоУровня Тогда - - ОбработаноОбъектов = ОбработаноОбъектов + 1; - Если ОбработаноОбъектов % 100 = 0 Тогда - //ОкноИсполненияОбработано = ОкноИсполненияОбработано + ОбработаноОбъектов; - ОбработаноОбъектов = 0; - КонецЕсли; - - КонецЕсли; - - КонецЦикла; - -// ОкноИсполненияОбработано = ОкноИсполненияОбработано + ОбработаноОбъектов; - -КонецПроцедуры - -Функция СсылкаВыгружена(Ссылка) - - Возврат мВыгруженныеОбъекты.Найти(Ссылка, "Ссылка") <> Неопределено; - -КонецФункции - -Процедура ДобавитьСсылкуКВыгруженным(Ссылка) - - СтрокаДобавления = мВыгруженныеОбъекты.Добавить(); - СтрокаДобавления.ссылка = Ссылка; - -КонецПроцедуры - -// Функция определяет общее количество произведенных записей констант + объектного типа + наборов записей -// -// Возврат - общее количество произведенных записей -Функция ВсегоОбработанныхЗаписей() - Возврат 0; - Возврат мВыгруженныеОбъекты.Количество() + ОбработанныхКонстант + ОбработанныхНаборовЗаписей; - -КонецФункции - -// Процедура анализирует необходимость записи объекта "по ссылке" и осуществляет запись -// -// Параметры -// АнализируемоеЗначение - анализируемое значение -// ЗаписьXML - объект, через которых происходит запись объектов ИБ -// -Процедура ЗаписатьЗначениеПриНеобходимости(АнализируемоеЗначение, ОбъектыВыгруженныеСОшибками, массивДанных) - - Если Не ЗначениеЗаполнено(АнализируемоеЗначение) Тогда - Возврат; - КонецЕсли; - - ОбъектМД = СсылочныеТипы.Получить(ТипЗнч(АнализируемоеЗначение)); - - Если ОбъектМД = Неопределено Тогда - Возврат; // это не ссылка - КонецЕсли; - - Если СсылкаВыгружена(АнализируемоеЗначение) Тогда - Возврат; // объект уже был выгружен - КонецЕсли; - - КлассМДИерархический = КлассМДИерархический(ОбъектМД); // нужно для иерархических метаданных и подгрузки родителей - Если Не КлассМДИерархический Тогда - // Проверка того, что данный тип входит в список выгружаемых дополнительно - СтрокаТаблицы = СоставПолнойВыгрузки.Найти(ОбъектМД, "ОбъектМД"); - Если СтрокаТаблицы <> Неопределено Тогда - Возврат; - КонецЕсли; - КонецЕсли; - - СтрокаТаблицы = СоставВспомогательнойВыгрузки.Найти(ОбъектМД, "ОбъектМД"); - Если СтрокаТаблицы <> Неопределено Тогда - - ДопЗапрос = Новый Запрос("ВЫБРАТЬ * ИЗ " + СтрокаТаблицы.СтрокаДерева.ЭлементОписания.ДляЗапроса + ОбъектМД.Имя + - " КАК ТаблицаОбъекта_" + " ГДЕ Ссылка = &Ссылка"); - ДопЗапрос.УстановитьПараметр("Ссылка", АнализируемоеЗначение); - РезультатЗапроса = ДопЗапрос.Выполнить(); - ЗапросИЗапись(РезультатЗапроса, , ОбъектыВыгруженныеСОшибками, массивДанных); - - КонецЕсли; - -КонецПроцедуры - -Функция ПолучитьМассивКолонокДвижения(ТаблицаДвижений, РегистрБухгалтерии = Ложь) - - МассивКолонок = Новый Массив(); - Для Каждого КолонкаТаблицы Из ТаблицаДвижений.Колонки Цикл - - Если КолонкаТаблицы.Имя = "МоментВремени" - ИЛИ Найти(КолонкаТаблицы.Имя, "ВидСубконтоДт") = 1 - ИЛИ Найти(КолонкаТаблицы.Имя, "ВидСубконтоКт") = 1 Тогда - - Продолжить; - - КонецЕсли; - - Если Найти(КолонкаТаблицы.Имя, "СубконтоДт") = 1 И РегистрБухгалтерии Тогда - - Если МассивКолонок.Найти("СубконтоДт") = Неопределено Тогда - МассивКолонок.Добавить("СубконтоДт"); - Конецесли; - - Продолжить; - - КонецЕсли; - - Если Найти(КолонкаТаблицы.Имя, "СубконтоКт") = 1 И РегистрБухгалтерии Тогда - - Если МассивКолонок.Найти("СубконтоКт") = Неопределено Тогда - МассивКолонок.Добавить("СубконтоКт"); - КонецЕсли; - - Продолжить; - - КонецЕсли; - - МассивКолонок.Добавить(КолонкаТаблицы.Имя); - - КонецЦикла; - - Возврат МассивКолонок; - -КонецФункции - -Процедура ВыгрузитьПодчиненныеЗначенияНабора(Движение, МассивКолонок, ОбъектыВыгруженныеСОшибками, массивДанных) - - Для Каждого ЗаписьИзНабора Из Движение Цикл - - Для Каждого Колонка Из МассивКолонок Цикл - - Если Колонка = "СубконтоДт" - ИЛИ Колонка = "СубконтоКт" Тогда - - Значение = ЗаписьИзНабора[Колонка]; - Для Каждого КлючИЗначение Из Значение Цикл - - Если ЗначениеЗаполнено(КлючИЗначение.Значение) Тогда - ЗаписатьЗначениеПриНеобходимости(КлючИЗначение.Значение, ОбъектыВыгруженныеСОшибками, массивДанных); - КонецЕсли; - - КонецЦикла; - - Иначе - - СохраненноеЗначение = ЗаписьИзНабора[Колонка]; - ЗаписатьЗначениеПриНеобходимости(СохраненноеЗначение, ОбъектыВыгруженныеСОшибками, массивДанных); - - КонецЕсли; - - КонецЦикла; - - КонецЦикла; - -КонецПроцедуры - -// Процедура записывает наборы записей регистра (накопления, бухгалтерии...) -// -// Параметры -// ЗаписьXML - объект, через которых происходит запись объектов ИБ -// СтрокаДереваМетаданных - строка дерева метаданных, соответствующая регистру -// -Процедура ЗаписьРегистра(СтрокаДереваМетаданных, ОбъектыВыгруженныеСОшибками, РегистрБухгалтерии = Ложь, массивДанных) - - ПодзаголовокОкнаИсполнения = СтрокаДереваМетаданных.ОбъектМД.ПолноеИмя(); - ОкноИсполненияОбщееКоличество = 1; - //ОкноИсполненияОбработано = 0; - - МенеджерНабораЗаписей = СтрокаДереваМетаданных.ЭлементОписания.Менеджер[СтрокаДереваМетаданных.ОбъектМД.Имя]; - - ИмяТаблицыДляЗапроса = СтрокаДереваМетаданных.ЭлементОписания.ДляЗапроса; - - ЗаписьЧерезНаборЗаписей(МенеджерНабораЗаписей, ИмяТаблицыДляЗапроса, - СтрокаДереваМетаданных.ОбъектМД.Имя, СтрокаДереваМетаданных, ОбъектыВыгруженныеСОшибками, РегистрБухгалтерии, массивДанных); - -КонецПроцедуры - -// Процедура записывает данные, доступ к которым осуществляется через набор записей -// -// Параметры -// ЗаписьXML - объект, через которых происходит запись объектов ИБ -// СтрокаДереваМетаданных - строка дерева метаданных, соответствующая регистру -// -Процедура ЗаписьЧерезНаборЗаписей(МенеджерНабораЗаписей, ДляЗапроса, ИмяОбъекта, - СтрокаДереваМетаданных = Неопределено, ОбъектыВыгруженныеСОшибками, РегистрБухгалтерии = Ложь, массивДанных) - - // получить состав колонок записи регистра и проверить наличие хотя бы одной записи - Если ДляЗапроса = "РегистрБухгалтерии." Тогда - ИмяТаблицыДляЗапроса = ДляЗапроса + ИмяОбъекта + ".ДвиженияССубконто"; - Иначе - ИмяТаблицыДляЗапроса = ДляЗапроса + ИмяОбъекта; - КонецЕсли; - - Запрос = Новый Запрос("ВЫБРАТЬ ПЕРВЫЕ 1 * ИЗ " + ИмяТаблицыДляЗапроса + " КАК ТаблицаОбъекта_" + ИмяОбъекта); - РезультатЗапросаПоСоставу = Запрос.Выполнить(); - Если РезультатЗапросаПоСоставу.Пустой() Тогда - Возврат; - КонецЕсли; - - ТаблицаДвижений = РезультатЗапросаПоСоставу.Выгрузить(); - МассивКолонок = ПолучитьМассивКолонокДвижения(ТаблицаДвижений, РегистрБухгалтерии); - - // выгрузка регистров осуществляется через его набор записей - НаборЗаписей = МенеджерНабораЗаписей.СоздатьНаборЗаписей(); - - СтрокаПолейОтбора = ПолучитьСтрокуПолейОтбораРегистра(МенеджерНабораЗаписей); - - СКД = ПодготовитьКомпоновщикДляВыгрузки(СтрокаДереваМетаданных, СтрокаПолейОтбора); - //ПостроительОтчета.Выполнить(); - РезультатЗапросаПоЗначениямОтбора = ПолучитьРезультатЗапросаСКД(СКД); - ВыборкаИзРезультата = РезультатЗапросаПоЗначениямОтбора.Выбрать(); - - ОкноИсполненияОбщееКоличество = ВыборкаИзРезультата.Количество(); - //ОкноИсполненияОбработано = 0; - //ОкноИсполнения.ОбновитьВерхнююГраницу(); - - КоличествоПолейОтбора = НаборЗаписей.Отбор.Количество(); - - // читаем наборы записей с различным составом отбора и записываем их - Пока ВыборкаИзРезультата.Следующий() Цикл - - // Пересоздание набора, чтоб чтоб разные экземпляры объекта в МассивДанных попали - НаборЗаписей = МенеджерНабораЗаписей.СоздатьНаборЗаписей(); - Отбор = НаборЗаписей.Отбор; - - // Отбор устанавливаем для регистров, у которых есть хотя бы один отбор (измерение) - Если КоличествоПолейОтбора <> 0 Тогда - - Для Каждого Колонка Из РезультатЗапросаПоЗначениямОтбора.Колонки Цикл - Отбор[Колонка.Имя].Значение = ВыборкаИзРезультата[Колонка.Имя]; - Отбор[Колонка.Имя].ВидСравнения = ВидСравнения.Равно; - Отбор[Колонка.Имя].Использование = Истина; - КонецЦикла; - - КонецЕсли; - - НаборЗаписей.Прочитать(); - - Если мНаличиеВыгрузкиПодчиненныхОбъектов Тогда - - // проверяем все записанные в наборе значения на необходимость записи "по ссылке" - ВыгрузитьПодчиненныеЗначенияНабора(НаборЗаписей, МассивКолонок, ОбъектыВыгруженныеСОшибками, массивДанных); - - КонецЕсли; - - ВсегоОбработаноОбъектов = ВсегоОбработанныхЗаписей(); - Попытка - - //ВыполнитьВспомогательныеДействияДляЗаписиXML(ВсегоОбработаноОбъектов, ЗаписьXML, ТолькоПроверкаНедопустимыхСимволов); - - //ЗаписатьXML(ЗаписьXML, НаборЗаписей); - - ОписательЭлемента = СоздатьОписательЭлементаПоНаборуЗаписей(НаборЗаписей, МассивИмен); - МассивДанных.Добавить(ОписательЭлемента); - //Мд = НаборЗаписей.Метаданные(); - ////Для каждого ЗаписьНабора Из НаборЗаписей Цикл - // ОписательЭлемента = СоздатьОписательЭлемента(); - // ОписательЭлемента.Реквизиты = НаборЗаписей; //ЗаписьНабора; - // ОписательЭлемента.Ссылка = Неопределено; - // ОписательЭлемента.Метаданное = Мд; - // МассивДанных.Добавить(ОписательЭлемента); - ////КонецЦикла; - - Исключение - - СтрокаОписанияОшибки = ОписаниеОшибки(); - //не смогли записать в XML - // возможно проблема с недопустимыми символами в XML - //Если ТолькоПроверкаНедопустимыхСимволов Тогда - // - // НовыйНабор = МенеджерНабораЗаписей.СоздатьНаборЗаписей(); - // - // Для Каждого СтрокаОтбора Из НаборЗаписей.Отбор Цикл - // - // СтрокаОтбораФормы = НовыйНабор.Отбор.Найти(СтрокаОтбора.Имя); - // - // Если СтрокаОтбораФормы = Неопределено Тогда - // Продолжить; - // КонецЕсли; - // - // СтрокаОтбораФормы.Использование = СтрокаОтбора.Использование; - // СтрокаОтбораФормы.ВидСравнения = СтрокаОтбора.ВидСравнения; - // СтрокаОтбораФормы.Значение = СтрокаОтбора.Значение; - // - // КонецЦикла; - // - // ОбъектыВыгруженныеСОшибками.Вставить(НовыйНабор, СтрокаОписанияОшибки); - // - //Иначе - - ИтоговаяСтрокаСообщения = "Ошибка при выгрузке набора записей регистра: " + ДляЗапроса + ИмяОбъекта + " - |" + СтрокаОписанияОшибки; - - Сообщить(ИтоговаяСтрокаСообщения); - - ВызватьИсключение ИтоговаяСтрокаСообщения; - - //КонецЕсли; - - КонецПопытки; - - ОбработанныхНаборовЗаписей = ОбработанныхНаборовЗаписей + 1; - //ОкноИсполненияОбработано = ОкноИсполненияОбработано + 1; - - ПоказатьПользователюИнформациюОСостоянииВыгрузки(ВсегоОбработаноОбъектов, ОбъектыВыгруженныеСОшибками); - - КонецЦикла; - -КонецПроцедуры - -Процедура ПоказатьПользователюИнформациюОСостоянииВыгрузки(ВсегоОбработаноОбъектов, ОбъектыВыгруженныеСОшибками) - - #Если Клиент Тогда - - Если ВсегоОбработаноОбъектов %100 = 0 Тогда - - Если ОбъектыВыгруженныеСОшибками <> Неопределено - И ОбъектыВыгруженныеСОшибками.Количество() > 0 Тогда - - Состояние("Выгруженных объектов - " + ВсегоОбработаноОбъектов + ", ошибок при выгрузке - " + ОбъектыВыгруженныеСОшибками.Количество()); - - Иначе - Состояние("Выгруженных объектов - " + ВсегоОбработаноОбъектов); - КонецЕсли; - - КонецЕсли; - - #КонецЕсли - -КонецПроцедуры - -Функция ПолучитьРезультатЗапросаСКД(СКД) - - Компоновщик = Новый КомпоновщикНастроекКомпоновкиДанных; - Компоновщик.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СКД)); - Компоновщик.ЗагрузитьНастройки(СКД.НастройкиПоУмолчанию); - - СистемныеПоля = Новый ПолеКомпоновкиДанных("СистемныеПоля"); - ПараметрыДанных = Новый ПолеКомпоновкиДанных("ПараметрыДанных"); - Для Каждого ДоступноеПоле Из Компоновщик.Настройки.ДоступныеПоляВыбора.Элементы Цикл - Если ДоступноеПоле.Поле = СистемныеПоля Или ДоступноеПоле.Поле = ПараметрыДанных Тогда - Продолжить; - КонецЕсли; - ПолеНабора = СКД.НаборыДанных[0].Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных")); - ПолеНабора.Поле = Строка(ДоступноеПоле.Поле); - ПолеНабора.ПутьКДанным = Строка(ДоступноеПоле.Поле); - Если ДоступноеПоле.Папка Тогда - ВыбранноеПолеГруппа = Компоновщик.Настройки.Выбор.Элементы.Добавить(Тип("ГруппаВыбранныхПолейКомпоновкиДанных")); - ВыбранноеПолеГруппа.Заголовок = ДоступноеПоле.Заголовок; - Для Каждого ВложенныйЭлемент Из ДоступноеПоле.Элементы Цикл - ПолеНабора = СКД.НаборыДанных[0].Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных")); - ПолеНабора.Поле = Строка(ВложенныйЭлемент.Поле); - ПолеНабора.ПутьКДанным = Строка(ВложенныйЭлемент.Поле); - ВыбранноеПоле = ВыбранноеПолеГруппа.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных")); - ВыбранноеПоле.Поле = ВложенныйЭлемент.Поле; - КонецЦикла; - Иначе - ВыбранноеПоле = Компоновщик.Настройки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных")); - ВыбранноеПоле.Поле = ДоступноеПоле.Поле; - КонецЕсли; - - КонецЦикла; - - ПолеГруппировки = Компоновщик.Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных")); - ПолеГруппировки.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных")); - - - //#Если Клиент Тогда - // - //НастройкиКомпоновщикаXDTO = СериализаторXDTO.ЗаписатьXDTO(Компоновщик.Настройки); - //СКДXDTO = СериализаторXDTO.ЗаписатьXDTO(СКД); - //СКДXDTO.defaultSettings = НастройкиКомпоновщикаXDTO; - //СКД = СериализаторXDTO.ПрочитатьXDTO(СКДXDTO); - // - //КонструкторСКД = Новый КонструкторСхемыКомпоновкиДанных(СКД); - //КонструкторСКД.Редактировать(ПолучитьФорму("Форма")); - //#КонецЕсли - - КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; - МакетКомпоновки = КомпоновщикМакета.Выполнить(СКД, Компоновщик.ПолучитьНастройки(),,, Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); - Запрос = Новый Запрос(МакетКомпоновки.НаборыДанных.ОсновнойЗапрос.Запрос); - ПараметрыЗапроса = Запрос.НайтиПараметры(); - Для Каждого Параметр Из ПараметрыЗапроса Цикл - ПараметрМакетаСКД = МакетКомпоновки.ЗначенияПараметров.Найти(Параметр.Имя); - Запрос.УстановитьПараметр(Параметр.Имя, ПараметрМакетаСКД.Значение); - КонецЦикла; - РезультатЗапроса = Запрос.Выполнить(); - - Возврат РезультатЗапроса; - -КонецФункции - -Функция ПолучитьСтрокуПолейОтбораРегистра(МенеджерНабораЗаписей) - - НаборЗаписей = МенеджерНабораЗаписей.СоздатьНаборЗаписей(); - - Отбор = НаборЗаписей.Отбор; - - СтрокаПолейОтбора = ""; - Для Каждого ЭлементОтбора Из Отбор Цикл - Если Не ПустаяСтрока(СтрокаПолейОтбора) Тогда - СтрокаПолейОтбора = СтрокаПолейОтбора + ","; - КонецЕсли; - СтрокаПолейОтбора = СтрокаПолейОтбора + ЭлементОтбора.Имя; - КонецЦикла; - Возврат СтрокаПолейОтбора; -КонецФункции - -Функция СформироватьОтчетПоОтобраннымДанным(СтрокаДереваМетаданных) Экспорт - - СКД = ПодготовитьКомпоновщикДляВыгрузки(СтрокаДереваМетаданных); - - Компоновщик = Новый КомпоновщикНастроекКомпоновкиДанных; - Компоновщик.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СКД)); - Компоновщик.ЗагрузитьНастройки(СКД.НастройкиПоУмолчанию); - - СистемныеПоля = Новый ПолеКомпоновкиДанных("СистемныеПоля"); - ПараметрыДанных = Новый ПолеКомпоновкиДанных("ПараметрыДанных"); - Для Каждого ДоступноеПоле Из Компоновщик.Настройки.ДоступныеПоляВыбора.Элементы Цикл - Если ДоступноеПоле.Поле = СистемныеПоля Или ДоступноеПоле.Поле = ПараметрыДанных Или ДоступноеПоле.Папка Тогда - Продолжить; - КонецЕсли; - ПолеНабора = СКД.НаборыДанных[0].Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных")); - ПолеНабора.Поле = Строка(ДоступноеПоле.Поле); - ПолеНабора.ПутьКДанным = Строка(ДоступноеПоле.Поле); - - ВыбранноеПоле = Компоновщик.Настройки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных")); - ВыбранноеПоле.Поле = ДоступноеПоле.Поле; - КонецЦикла; - - ПолеГруппировки = Компоновщик.Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных")); - ПолеГруппировки.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных")); - - КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; - МакетКомпоновки = КомпоновщикМакета.Выполнить(СКД, Компоновщик.ПолучитьНастройки()); - ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; - ПроцессорКомпоновки.Инициализировать(МакетКомпоновки); - ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; - ТабличныйДокумент = Новый ТабличныйДокумент; - ПроцессорВывода.УстановитьДокумент(ТабличныйДокумент); - ПроцессорВывода.Вывести(ПроцессорКомпоновки); - - ТабличныйДокумент.ОтображатьЗаголовки = Ложь; - ТабличныйДокумент.ОтображатьСетку = Ложь; - - Возврат ТабличныйДокумент; - -КонецФункции - -Функция ВыборкаИзРезультатаЗапросаВСтруктуру(РезультатЗапроса, СтрокаВыборки) - - РезультирующаяСтруктура = Новый Структура; - - Если РезультатЗапроса = Неопределено Или СтрокаВыборки = Неопределено Тогда - Возврат РезультирующаяСтруктура; - КонецЕсли; - - Для Каждого Колонка Из РезультатЗапроса.Колонки Цикл - РезультирующаяСтруктура.Вставить(Колонка.Имя, СтрокаВыборки[Колонка.Имя]); - КонецЦикла; - - Возврат РезультирующаяСтруктура; - -КонецФункции - - -//{ БЛОК ЮНИТ-ТЕСТОВ - сами тесты - -Процедура ПередЗапускомТеста() Экспорт - // в режиме транзакции какие-то проблемы с уникальностью кода :( - // а вот без режима транзакций иногда не все созданные тестовые элементы Справочника.ПростойСправочник удаляются :( - НачатьТранзакцию(); - - ТестовыеДанныхДляУдаления = Новый Массив; -КонецПроцедуры - -Процедура ПослеЗапускаТеста() Экспорт - Если ТранзакцияАктивна() Тогда - ОтменитьТранзакцию(); - КонецЕсли; - - Для каждого ТестовыеДанные Из ТестовыеДанныхДляУдаления Цикл - юТест.УдалитьСозданныеДанные(ТестовыеДанные); - КонецЦикла; -КонецПроцедуры - -Процедура ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные) - ТестовыеДанныхДляУдаления.Добавить(ТестовыеДанные); -КонецПроцедуры - - -Процедура ТестДолжен_ПолучитьМакетДляСозданияПростогоСправочника() Экспорт - Макет = ПолучитьМакет("СозданиеПростогоСправочника"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - Отбор = Новый Структура("Наименование,РеквизитБулево", "Тестовое наименование", Истина); - - КоличествоДо = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник", Отбор); - юТест.ПроверитьРавенство(1, количествоДо, "количествоДо"); - - описаниеЭлемента = СоздатьОписательЭлементаПоСсылке(ТестовыеДанные.ПростойСправочник, Новый Массив); - ИмяПеременной = описаниеЭлемента.ИмяПеременной; - - МассивДанных = Новый Массив; - МассивДанных.Добавить(описаниеЭлемента); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - юТест.УдалитьСозданныеДанные(тестовыеДанные); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник", Отбор), "количество после удаления"); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - - юТест.ПроверитьИстину(ТестовыеДанные.Свойство(ИмяПеременной), "Ожидали, что есть переменная '"+ИмяПеременной+"'"); - юТест.ПроверитьТип(ТестовыеДанные[ИмяПеременной], "СправочникСсылка.ПростойСправочник"); - - КоличествоПосле = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник", Отбор); - юТест.ПроверитьРавенство(1, КоличествоПосле, "КоличествоПосле"); -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьИдентификаторИзПредставления() Экспорт - - ИсходнаяСтрока = "ИД,Гуид"; - ОжидаемаяСтрока = "ИД_Гуид"; - ПолученнаяСтрока = ПолучитьИдентификаторИзПредставления_Лкс(ИсходнаяСтрока); - юТест.ПроверитьРавенство(ОжидаемаяСтрока, ПолученнаяСтрока, "Результат, КонечнаяСтрока"); - - ИсходнаяСтрока = "1)3-я Дебиторка По контрагентам с интервалами СНГ (для Руководства)"; - ОжидаемаяСтрока = "_1_3_яДебиторкаПоКонтрагентамСИнтерваламиСНГ_дляРуководства_"; - ПолученнаяСтрока = ПолучитьИдентификаторИзПредставления_Лкс(ИсходнаяСтрока); - юТест.ПроверитьРавенство(ОжидаемаяСтрока, ПолученнаяСтрока, "ОжидаемаяСтрока, ПолученнаяСтрока"); - - ИсходнаяСтрока = " - |2)3-я Дебиторка - |По контрагентам - | с интервалами СНГ (для Руководства) - | "; - ОжидаемаяСтрока = "_2_3_яДебиторкаПоКонтрагентамСИнтерваламиСНГ_дляРуководства_"; - ПолученнаяСтрока = ПолучитьИдентификаторИзПредставления_Лкс(ИсходнаяСтрока); - юТест.ПроверитьРавенство(ОжидаемаяСтрока, ПолученнаяСтрока, "ОжидаемаяСтрока, ПолученнаяСтрока"); - -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьМакетДляСозданияПростогоСправочника_ПредставлениеНеИдентификатор() Экспорт - Макет = ПолучитьМакет("СозданиеПростогоСправочника_ПредставлениеНеИдентификатор"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - Отбор = Новый Структура("Наименование,РеквизитБулево", "Тестовое,. наименование", Истина); - - КоличествоДо = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник", Отбор); - юТест.ПроверитьРавенство(1, количествоДо, "количествоДо"); - - описаниеЭлемента = СоздатьОписательЭлементаПоСсылке(ТестовыеДанные.ПростойСправочник, Новый Массив); - ИмяПеременной = описаниеЭлемента.ИмяПеременной; - - МассивДанных = Новый Массив; - МассивДанных.Добавить(описаниеЭлемента); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - юТест.УдалитьСозданныеДанные(тестовыеДанные); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник", Отбор), "количество после удаления"); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - - юТест.ПроверитьРавенство("Тестовое__Наименование", ИмяПеременной, "Ожидали правильное имя переменной '"+ИмяПеременной+"'"); - юТест.ПроверитьИстину(ТестовыеДанные.Свойство(ИмяПеременной), "Ожидали, что есть переменная '"+ИмяПеременной+"'"); - //юТест.ПроверитьТип(ТестовыеДанные[ИмяПеременной], "СправочникСсылка.ПростойСправочник"); - Значение = Неопределено; - ТестовыеДанные.Свойство(ИмяПеременной, Значение); - //юТест.ПроверитьРавенство(Значение, Неопределено, "Ожидали, что есть переменная '"+ИмяПеременной+"'"); - - - КоличествоПосле = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник", Отбор); - юТест.ПроверитьРавенство(1, КоличествоПосле, "КоличествоПосле"); -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьМакетДляСозданияОбъектаСЗаполненнымРеквизитомТипаПеречисление() Экспорт - Макет = ПолучитьМакет("СозданиеОбъектаСЗаполненнымРеквизитомТипаПеречисление"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - ЗначениеПеречисления = Перечисления.Перечисление1.ЗначениеПеречисления1; - Отбор = Новый Структура("Наименование,РеквизитПеречисление", "тЗначениеПеречисления1", ЗначениеПеречисления); - - КоличествоДо = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник", Отбор); - юТест.ПроверитьРавенство(1, количествоДо, "количествоДо"); - - описаниеЭлемента = СоздатьОписательЭлементаПоСсылке(ТестовыеДанные.ПростойСправочник, Новый Массив); - ИмяПеременной = описаниеЭлемента.ИмяПеременной; - - МассивДанных = Новый Массив; - МассивДанных.Добавить(описаниеЭлемента); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - юТест.УдалитьСозданныеДанные(тестовыеДанные); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник", Отбор), "количество после удаления"); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - - юТест.ПроверитьРавенство(ТестовыеДанные[ИмяПеременной].РеквизитПеречисление, ЗначениеПеречисления, "СправочникСсылка.ПростойСправочник.РеквизитПеречисление"); - - КоличествоПосле = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник", Отбор); - юТест.ПроверитьРавенство(1, КоличествоПосле, "КоличествоПосле"); -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьМакетДляСозданияДвухПростыхСправочников() Экспорт - Макет = ПолучитьМакет("СозданиеДвухПростыхСправочников"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - Отбор = Новый Структура("Наименование", "Тестовое наименование", Истина); - - МассивИмен = Новый Массив; - описаниеЭлемента = СоздатьОписательЭлементаПоСсылке(ТестовыеДанные.ПростойСправочник, МассивИмен); - описаниеЭлемента.Вставить("ВыгружатьКод", Ложь); - - описаниеЭлемента2 = СоздатьОписательЭлементаПоСсылке(ТестовыеДанные.ПростойСправочник2, МассивИмен); - описаниеЭлемента2.Вставить("ВыгружатьКод", Ложь); - ИмяПеременной2 = описаниеЭлемента2.ИмяПеременной; - - МассивДанных = Новый Массив; - МассивДанных.Добавить(описаниеЭлемента); - МассивДанных.Добавить(описаниеЭлемента2); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - юТест.УдалитьСозданныеДанные(тестовыеДанные); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник", Отбор), "количество после удаления"); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник2", Отбор), "количество2 после удаления"); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - юТест.ПроверитьРавенство(МассивДанных.Количество(), ТестовыеДанные.Количество(), "МассивДанных.Количество(), ТестовыеДанные.Количество() НовыйМакет"); - юТест.ПроверитьИстину(ТестовыеДанные.Свойство(ИмяПеременной2), "Ожидали, что есть переменная '"+ИмяПеременной2+"'"); - юТест.ПроверитьТип(ТестовыеДанные[ИмяПеременной2], "СправочникСсылка.ПростойСправочник2"); - - Количество2После = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник2", Отбор); - юТест.ПроверитьРавенство(Количество2После, 1, "Количество2После"); -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьМакетДляСозданияДвухСвязанныхСправочников() Экспорт - Макет = ПолучитьМакет("СозданиеСвязанныхСправочников"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - Отбор = Новый Структура("Наименование", "Тестовое наименование", Истина); - - МассивИмен = Новый Массив; - описаниеЭлемента = СоздатьОписательЭлементаПоСсылке(ТестовыеДанные.ПростойСправочник, МассивИмен); - описаниеЭлемента.Вставить("ВыгружатьКод", Ложь); - ИмяПеременной = описаниеЭлемента.ИмяПеременной; - - описаниеЭлемента2 = СоздатьОписательЭлементаПоСсылке(ТестовыеДанные.ИерархическийСправочник, МассивИмен); - описаниеЭлемента2.Вставить("ВыгружатьКод", Ложь); - ИмяПеременной2 = описаниеЭлемента2.ИмяПеременной; - - МассивДанных = Новый Массив; - МассивДанных.Добавить(описаниеЭлемента); - МассивДанных.Добавить(описаниеЭлемента2); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - юТест.УдалитьСозданныеДанные(тестовыеДанные); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник", Отбор), "количество после удаления"); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ИерархическийСправочник", Отбор), "количество2 после удаления"); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - юТест.ПроверитьРавенство(МассивДанных.Количество(), ТестовыеДанные.Количество(), "МассивДанных.Количество(), ТестовыеДанные.Количество() НовыйМакет"); - юТест.ПроверитьРавенство(ТестовыеДанные[ИмяПеременной], ТестовыеДанные[ИмяПеременной2].ПростойСправочник); - - Количество2После = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ИерархическийСправочник", Отбор); - юТест.ПроверитьРавенство(Количество2После, 1, "Количество2После"); -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьМакетДляСозданияСправочникаСРеквизитомСсылка_РежимПоискаКод() Экспорт - Макет1 = ПолучитьМакет("СозданиеПростогоСправочника"); - ТестовыеДанные1 = юТест.СоздатьДанныеПоТабличномуДокументу(Макет1); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные1); - - Макет = ПолучитьМакет("СозданиеСправочникаСРеквизитомСсылка_РежимПоискаКод"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - Отбор = Новый Структура("Наименование", "Тестовое наименование", Истина); - - МассивИмен = Новый Массив; - описаниеЭлемента2 = СоздатьОписательЭлементаПоСсылке(ТестовыеДанные.ИерархическийСправочник, МассивИмен); - описаниеЭлемента2.Вставить("ВыгружатьКод", Ложь); - ИмяПеременной2 = описаниеЭлемента2.ИмяПеременной; - - МассивДанных = Новый Массив; - МассивДанных.Добавить(описаниеЭлемента2); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - юТест.УдалитьСозданныеДанные(тестовыеДанные); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ИерархическийСправочник", Отбор), "количество2 после удаления"); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - юТест.ПроверитьРавенство(МассивДанных.Количество(), ТестовыеДанные.Количество(), "МассивДанных.Количество(), ТестовыеДанные.Количество() НовыйМакет"); - юТест.ПроверитьРавенство(ТестовыеДанные[ИмяПеременной2].ПростойСправочник.Наименование, "Тестовое наименование"); - - Количество2После = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ИерархическийСправочник", Отбор); - юТест.ПроверитьРавенство(Количество2После, 1, "Количество2После"); -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьМакетДляСозданияСправочникаСДвумяСтрокамиВТабличнойЧасти() Экспорт - Макет = ПолучитьМакет("СозданиеСправочникаСДвумяСтрокамиВТабличнойЧасти"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - НаименованиеПростогоЭлемента = "Тест"; - Отбор = Новый Структура("Наименование", "Тестовое наименование", Истина); - - МассивИмен = Новый Массив; - описаниеЭлемента2 = СоздатьОписательЭлементаПоСсылке(ТестовыеДанные.СправочникСТабЧастью, МассивИмен); - описаниеЭлемента2.Вставить("ВыгружатьКод", Ложь); - ИмяПеременной2 = описаниеЭлемента2.ИмяПеременной; - - МассивДанных = Новый Массив; - МассивДанных.Добавить(описаниеЭлемента2); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - тестовыеДанные.СправочникСТабЧастью.ПолучитьОбъект().Удалить(); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("СправочникСТабЧастью", Отбор), "количество2 после удаления"); - - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - юТест.ПроверитьРавенство(МассивДанных.Количество(), ТестовыеДанные.Количество(), "МассивДанных.Количество(), ТестовыеДанные.Количество() НовыйМакет"); - юТест.ПроверитьРавенство(2, ТестовыеДанные[ИмяПеременной2].Состав.Количество(), "ТестовыеДанные[ИмяПеременной].Состав.Количество()"); - тч = ТестовыеДанные[ИмяПеременной2].Состав; - строка0 = тч[0]; - юТест.ПроверитьРавенство(НаименованиеПростогоЭлемента, строка0.ПростойСправочник.Наименование, "строка0.ПростойСправочник.Наименование"); - юТест.ПроверитьРавенство(НаименованиеПростогоЭлемента+"1", строка0.ПростойСправочник2.Наименование, "строка0.ПростойСправочник2.Наименование"); - юТест.ПроверитьРавенство(Истина, строка0.РеквизитБулево, "строка0.РеквизитБулево"); - строка1 = тч[1]; - юТест.ПроверитьРавенство(НаименованиеПростогоЭлемента, строка1.ПростойСправочник.Наименование, "строка1.ПростойСправочник.Наименование"); - юТест.ПроверитьРавенство(НаименованиеПростогоЭлемента+"2", строка1.ПростойСправочник2.Наименование, "строка1.ПростойСправочник2.Наименование"); - юТест.ПроверитьРавенство(Ложь, строка1.РеквизитБулево, "строка1.РеквизитБулево"); - - Количество2После = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("СправочникСТабЧастью", Отбор); - юТест.ПроверитьРавенство(Количество2После, 1, "Количество2После"); -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьМакетДляСозданияДокументаСДвумяСтрокамиВТабличнойЧасти() Экспорт - Макет = ПолучитьМакет("СозданиеДокументаСДвумяСтрокамиВТабличнойЧасти"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - НаименованиеПростогоЭлемента = "Тест"; - Отбор = Новый Структура; //("ПростойСправочник", ТестовыеДанные.ПростойСправочник); - - МассивИмен = Новый Массив; - описаниеЭлемента = СоздатьОписательЭлементаПоСсылке(ТестовыеДанные.Документ, МассивИмен); - описаниеЭлемента.Вставить("ВыгружатьКод", Ложь); - ИмяПеременной = описаниеЭлемента.ИмяПеременной; - - описаниеЭлемента_ПростойСправочник = СоздатьОписательЭлементаПоСсылке(ТестовыеДанные.ПростойСправочник, МассивИмен); - описаниеЭлемента_ПростойСправочник.Вставить("ВыгружатьКод", Ложь); - - описаниеЭлемента_ПростойСправочник2 = СоздатьОписательЭлементаПоСсылке(ТестовыеДанные.ПростойСправочник22, МассивИмен); - описаниеЭлемента_ПростойСправочник2.Вставить("ВыгружатьКод", Ложь); - - МассивДанных = Новый Массив; - МассивДанных.Добавить(описаниеЭлемента_ПростойСправочник); - МассивДанных.Добавить(описаниеЭлемента_ПростойСправочник2); - МассивДанных.Добавить(описаниеЭлемента); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - НачалоПериода = '20140401'; //НачалоДня(ТекущаяДата()); - ОкончаниеПериода = КонецДня(НачалоПериода); //ТекущаяДата()); - тестовыеДанные.Документ.ПолучитьОбъект().Удалить(); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоДокументовПоОтбору("Документ1", НачалоПериода, ОкончаниеПериода, Отбор), "количество2 после удаления"); - - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - - юТест.ПроверитьРавенство(МассивДанных.Количество(), ТестовыеДанные.Количество(), "МассивДанных.Количество(), ТестовыеДанные.Количество() НовыйМакет"); - юТест.ПроверитьРавенство(НаименованиеПростогоЭлемента, ТестовыеДанные[ИмяПеременной].ПростойСправочник.Наименование, "ТестовыеДанные[ИмяПеременной].ПростойСправочник.Наименование"); - юТест.ПроверитьРавенство(2, ТестовыеДанные[ИмяПеременной].Состав.Количество(), "ТестовыеДанные[ИмяПеременной].Состав.Количество()"); - тч = ТестовыеДанные[ИмяПеременной].Состав; - строка0 = тч[0]; - юТест.ПроверитьРавенство(НаименованиеПростогоЭлемента+"1", строка0.ПростойСправочник2.Наименование, "строка0.ПростойСправочник2.Наименование"); - юТест.ПроверитьРавенство(Ложь, строка0.РеквизитБулево, "строка0.РеквизитБулево"); - юТест.ПроверитьРавенство(150, строка0.РеквизитЧисло, "строка0.РеквизитБулево"); - строка1 = тч[1]; - юТест.ПроверитьРавенство(НаименованиеПростогоЭлемента+"2", строка1.ПростойСправочник2.Наименование, "строка1.ПростойСправочник2.Наименование"); - юТест.ПроверитьРавенство(Истина, строка1.РеквизитБулево, "строка1.РеквизитБулево"); - юТест.ПроверитьРавенство(0, строка1.РеквизитЧисло, "строка1.РеквизитБулево"); - - Количество2После = юТест.ПолучитьКоличествоДокументовПоОтбору("Документ1", НачалоПериода, ОкончаниеПериода, Отбор); - юТест.ПроверитьРавенство(1, Количество2После, "Количество2После"); -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьМакетДляСозданияДвухЗаписейВРегистреСведений() Экспорт - Макет = ПолучитьМакет("СозданиеДвухЗаписейВРегистреСведений"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - НаименованиеПростогоЭлемента = "Тест"; - Отбор = Новый Структура; //("ПростойСправочник", ТестовыеДанные.ПростойСправочник); - - Метаданное = "РегистрСведений"; - ВидМетаданного = "РегистрСведений1"; - НаборЗаписей = РегистрыСведений[ВидМетаданного].СоздатьНаборЗаписей(); - МетаданныеРС = НаборЗаписей.Метаданные(); - - ИмяПеременнойЗаписиРС_1 = "ЗаписьРегистра1_1"; - РеквизитыЗаписи1 = Новый Структура("ПростойСправочник,ПростойСправочник2,РесурсЧисло,РесурсБулево"); - ЗаполнитьЗначенияСвойств(РеквизитыЗаписи1, ТестовыеДанные.ЗаписьРегистра1); - //описаниеЗаписиРегистраСведений1 = Новый Структура("Метаданное,ИмяПеременной,Реквизиты", МетаданныеРС, ИмяПеременнойЗаписиРС_1, РеквизитыЗаписи1); - описаниеЗаписиРегистраСведений1 = СоздатьОписательЭлемента(); - описаниеЗаписиРегистраСведений1.Вставить("Метаданное", МетаданныеРС); - описаниеЗаписиРегистраСведений1.Вставить("ИмяПеременной", ИмяПеременнойЗаписиРС_1); - описаниеЗаписиРегистраСведений1.Вставить("Реквизиты", РеквизитыЗаписи1); - //МассивИмен = Новый Массив; - //описаниеЗаписиРегистраСведений1 = СоздатьОписательЭлементаПоНаборуЗаписей(ТестовыеДанные.ЗаписьРегистра1, МассивИмен); - //ИмяПеременнойЗаписиРС_1 = описаниеЗаписиРегистраСведений1.ИмяПеременной; - - ИмяПеременнойЗаписиРС_2 = "ЗаписьРегистра1_2"; - РеквизитыЗаписи2 = Новый Структура("ПростойСправочник,ПростойСправочник2,РесурсЧисло,РесурсБулево"); - ЗаполнитьЗначенияСвойств(РеквизитыЗаписи2, ТестовыеДанные.ЗаписьРегистра2); - - описаниеЗаписиРегистраСведений2 = СоздатьОписательЭлемента(); - описаниеЗаписиРегистраСведений2.Вставить("Метаданное", МетаданныеРС); - описаниеЗаписиРегистраСведений2.Вставить("ИмяПеременной", ИмяПеременнойЗаписиРС_2); - описаниеЗаписиРегистраСведений2.Вставить("Реквизиты", РеквизитыЗаписи2); - //описаниеЗаписиРегистраСведений2 = СоздатьОписательЭлементаПоНаборуЗаписей(ТестовыеДанные.ЗаписьРегистра2, МассивИмен); - //ИмяПеременнойЗаписиРС_2 = описаниеЗаписиРегистраСведений2.ИмяПеременной; - - МассивИмен = Новый Массив; - описаниеЭлемента_ПростойСправочник = СоздатьОписательЭлементаПоСсылке(ТестовыеДанные.ПростойСправочник, МассивИмен); - описаниеЭлемента_ПростойСправочник.Вставить("ВыгружатьКод", Ложь); - описаниеЭлемента_ПростойСправочник.Вставить("ИмяПеременной", "ПростойСправочник"); - - описаниеЭлемента_ПростойСправочник22 = СоздатьОписательЭлементаПоСсылке(ТестовыеДанные.ПростойСправочник22, МассивИмен); - описаниеЭлемента_ПростойСправочник22.Вставить("ВыгружатьКод", Ложь); - описаниеЭлемента_ПростойСправочник22.Вставить("ИмяПеременной", "ПростойСправочник22"); - - МассивДанных = Новый Массив; - МассивДанных.Добавить(описаниеЭлемента_ПростойСправочник); - МассивДанных.Добавить(описаниеЭлемента_ПростойСправочник22); - МассивДанных.Добавить(описаниеЗаписиРегистраСведений1); - МассивДанных.Добавить(описаниеЗаписиРегистраСведений2); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - наборЗаписей = РегистрыСведений[ВидМетаданного].СоздатьНаборЗаписей(); - наборЗаписей.Записать(); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовРегистраПоОтбору(Метаданное, ВидМетаданного, Отбор), "количество2 после удаления"); - - ПростойСправочник21_ИмяПеременной = "ПростойСправочник21"; - ПростойСправочник21 = ТестовыеДанные[ПростойСправочник21_ИмяПеременной]; - Отбор_ПростойСправочник21 = Новый Структура("Ссылка", ПростойСправочник21); - Отбор_ПростойСправочник21_Наименование = Новый Структура("Наименование", ПростойСправочник21.Наименование); - юТест.ПроверитьРавенство(НаименованиеПростогоЭлемента + "1", ПростойСправочник21.Наименование); - - //ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - тестовыеДанные.Удалить(ПростойСправочник21_ИмяПеременной); - юТест.УдалитьСозданныеДанные(тестовыеДанные); - - юТест.ПроверитьРавенство(1, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник2", Отбор_ПростойСправочник21), "количество Отбор_ПростойСправочник21 после удаления"); - юТест.ПроверитьРавенство(1, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник2", Отбор_ПростойСправочник21_Наименование), "количество Отбор_ПростойСправочник21_Наименование после удаления"); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - - юТест.ПроверитьРавенство(2, юТест.ПолучитьКоличествоЭлементовРегистраПоОтбору(Метаданное, ВидМетаданного, Отбор), "количество после добавления"); - - юТест.ПроверитьРавенство(МассивДанных.Количество(), ТестовыеДанные.Количество(), "МассивДанных.Количество(), ТестовыеДанные.Количество() НовыйМакет"); - юТест.ПроверитьИстину(ТестовыеДанные.Свойство(ИмяПеременнойЗаписиРС_1), "Ожидали, что есть переменная '"+ИмяПеременнойЗаписиРС_1+"'"); - менеджерЗаписи1 = ТестовыеДанные[ИмяПеременнойЗаписиРС_1]; - юТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, менеджерЗаписи1.ПростойСправочник); - юТест.ПроверитьРавенство(ПростойСправочник21, менеджерЗаписи1.ПростойСправочник2); - юТест.ПроверитьРавенство(300, менеджерЗаписи1.РесурсЧисло); - юТест.ПроверитьЛожь(менеджерЗаписи1.РесурсБулево); - - юТест.ПроверитьИстину(ТестовыеДанные.Свойство(ИмяПеременнойЗаписиРС_2), "Ожидали, что есть переменная '"+ИмяПеременнойЗаписиРС_2+"'"); - менеджерЗаписи2 = ТестовыеДанные[ИмяПеременнойЗаписиРС_2]; - юТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник, менеджерЗаписи2.ПростойСправочник); - юТест.ПроверитьРавенство(ТестовыеДанные.ПростойСправочник22, менеджерЗаписи2.ПростойСправочник2); - юТест.ПроверитьРавенство(400, менеджерЗаписи2.РесурсЧисло); - юТест.ПроверитьИстину(менеджерЗаписи2.РесурсБулево); - -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьМакетДляСозданияПодчиненногоСправочника() Экспорт - Макет = ПолучитьМакет("СозданиеПодчиненногоСправочника"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - Отбор = Новый Структура("Наименование,Владелец", "Подчиненный элемент", Справочники.ПростойСправочник.ПредопределенноеЗначение1); - - КоличествоДо = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПодчиненныйСправочник", Отбор); - юТест.ПроверитьРавенство(1, количествоДо, "количествоДо"); - - МассивИмен = Новый Массив; - описаниеЭлемента = СоздатьОписательЭлементаПоСсылке(ТестовыеДанные.ПодчиненныйЭлемент, МассивИмен); - ИмяПеременной = описаниеЭлемента.ИмяПеременной; - - МассивДанных = Новый Массив; - МассивДанных.Добавить(описаниеЭлемента); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - юТест.УдалитьСозданныеДанные(тестовыеДанные); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПодчиненныйСправочник", Отбор), "количество после удаления"); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - - юТест.ПроверитьИстину(ТестовыеДанные.Свойство(ИмяПеременной), "Ожидали, что есть переменная '"+ИмяПеременной+"'"); - юТест.ПроверитьТип(ТестовыеДанные[ИмяПеременной], "СправочникСсылка.ПодчиненныйСправочник"); - - КоличествоПосле = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПодчиненныйСправочник", Отбор); - юТест.ПроверитьРавенство(1, КоличествоПосле, "КоличествоПосле"); -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьМакетДляСозданияИерархическогоСправочника() Экспорт - Макет = ПолучитьМакет("СозданиеСправочникаВГруппе"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - Отбор = Новый Структура("Наименование,Родитель", "Элемент в группе", Справочники.ИерархическийСправочник.Группа1); - - КоличествоДо = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ИерархическийСправочник", Отбор); - юТест.ПроверитьРавенство(1, количествоДо, "количествоДо"); - - МассивИмен = Новый Массив; - описаниеЭлемента = СоздатьОписательЭлементаПоСсылке(ТестовыеДанные.ЭлементВГруппе, МассивИмен); - ИмяПеременной = описаниеЭлемента.ИмяПеременной; - - МассивДанных = Новый Массив; - МассивДанных.Добавить(описаниеЭлемента); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - юТест.УдалитьСозданныеДанные(тестовыеДанные); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ИерархическийСправочник", Отбор), "количество после удаления"); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - - юТест.ПроверитьИстину(ТестовыеДанные.Свойство(ИмяПеременной), "Ожидали, что есть переменная '"+ИмяПеременной+"'"); - юТест.ПроверитьТип(ТестовыеДанные[ИмяПеременной], "СправочникСсылка.ИерархическийСправочник"); - - КоличествоПосле = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ИерархическийСправочник", Отбор); - юТест.ПроверитьРавенство(1, КоличествоПосле, "КоличествоПосле"); -КонецПроцедуры - -#Если ТолстыйКлиентОбычноеПриложение Или ТолстыйКлиентУправляемоеПриложение Тогда - -Процедура СпецТестДолжен_ПолучитьМакетДляСозданияПростогоСправочникаНаБазеЗапроса() Экспорт - Макет = ПолучитьМакет("СозданиеПростогоСправочника"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - //НаименованиеПростогоЭлемента = "Тест"; - //// - //Метаданное = "РегистрСведений"; - //ВидМетаданного = "РегистрСведений1"; - - Отбор = Новый Структура("Наименование,РеквизитБулево", "Тестовое наименование", Истина); - - КоличествоДо = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("ПростойСправочник", Отбор); - юТест.ПроверитьРавенство(1, количествоДо, "количествоДо"); - - Запрос = Новый Запрос; - Запрос.Текст = - "ВЫБРАТЬ - | """" КАК __Метаданные, - | ""ПростойСправочник"" КАК __Префикс, - | ПростойСправочник.Ссылка, - | ПростойСправочник.Код, - | ПростойСправочник.Наименование, - | ПростойСправочник.РеквизитБулево, - | ПростойСправочник.РеквизитПеречисление - |ИЗ - | Справочник.ПростойСправочник КАК ПростойСправочник - |Где РеквизитБулево И ПростойСправочник.Наименование = ""Тестовое наименование"" "; - - РезультатЗапроса = Запрос.Выполнить(); - МакетРез = ЭтотОбъект.СоздатьМакетДанныхНаОснованииЗапроса(РезультатЗапроса); - - МакетИсх = ПолучитьМакет("ЭталонМакетаПростогоСправочника"); - ФайлИсх = ПолучитьИмяВременногоФайла("txt"); - МакетИсх.Записать(ФайлИсх, ТипФайлаТабличногоДокумента.ANSITXT); // сохраняю в текст для отключения сравнения форматирования - ФайлРез = ПолучитьИмяВременногоФайла("txt"); - МакетРез.Записать(ФайлРез, ТипФайлаТабличногоДокумента.ANSITXT); - - ЮТест.ПроверитьРавенствоФайлов(ФайлИсх, ФайлРез, "ФайлИсх, ФайлРез", Неопределено, Истина); -КонецПроцедуры - -Процедура СпецТестДолжен_ПолучитьМакетДляСоздания2ЗаписейРегистраСведенийНаБазеЗапроса() Экспорт - Метаданное = "РегистрСведений"; - ВидМетаданного = "РегистрСведений1"; - Отбор = Новый Структура; //("ПростойСправочник", ТестовыеДанные.ПростойСправочник); - - наборЗаписей = РегистрыСведений[ВидМетаданного].СоздатьНаборЗаписей(); - наборЗаписей.Записать(); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовРегистраПоОтбору(Метаданное, ВидМетаданного, Отбор), "количество2 после удаления"); - - Макет = ПолучитьМакет("СозданиеДвухЗаписейВРегистреСведений"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - НаименованиеПростогоЭлемента = "Тест"; - // - - юТест.ПроверитьРавенство(2, юТест.ПолучитьКоличествоЭлементовРегистраПоОтбору(Метаданное, ВидМетаданного, Отбор), "количество после добавления"); - - Запрос = Новый Запрос; - Запрос.Текст = - "ВЫБРАТЬ - | ""РегистрыСведений.РегистрСведений1.СоздатьНаборЗаписей().Метаданные()"" КАК __Метаданные, - | ""ЗаписьРегистра"" КАК __Префикс, - | РегистрСведений1.ПростойСправочник, - | РегистрСведений1.ПростойСправочник2 КАК ПростойСправочник2, - | РегистрСведений1.РесурсЧисло, - | РегистрСведений1.РесурсБулево - |ИЗ - | РегистрСведений.РегистрСведений1 КАК РегистрСведений1 - | - |УПОРЯДОЧИТЬ ПО - | ПростойСправочник2.Наименование"; - - РезультатЗапроса = Запрос.Выполнить(); - МакетРез = ЭтотОбъект.СоздатьМакетДанныхНаОснованииЗапроса(РезультатЗапроса); - - МакетИсх = ПолучитьМакет("ЭталонМакетаДвухЗаписейВРегистреСведений"); - ФайлИсх = ПолучитьИмяВременногоФайла("txt"); - МакетИсх.Записать(ФайлИсх, ТипФайлаТабличногоДокумента.ANSITXT); // сохраняю в текст для отключения сравнения форматирования - ФайлРез = ПолучитьИмяВременногоФайла("txt"); - МакетРез.Записать(ФайлРез, ТипФайлаТабличногоДокумента.ANSITXT); - - ЮТест.ПроверитьРавенствоФайлов(ФайлИсх, ФайлРез, "ФайлИсх, ФайлРез", Неопределено, Истина); -КонецПроцедуры - -#КонецЕсли - -Процедура ТестДолжен_ПолучитьМакетДляСозданияДвухЗаписейРегистраНакопления() Экспорт - Метаданное = "РегистрНакопления"; - ВидМетаданного = "РегистрНакопления2"; - - Отбор = Новый Структура; - КоличествоДо = юТест.ПолучитьКоличествоЭлементовРегистраПоОтбору(Метаданное, ВидМетаданного, Отбор); - - Макет = ПолучитьМакет("СозданиеДвухЗаписейРегистраНакопления"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - МассивИмен = Новый Массив; - ОписательЭлементаНаборЗаписей = СоздатьОписательЭлементаПоНаборуЗаписей(ТестовыеДанные.ЗаписьРегистра2, МассивИмен); - - МассивДанных = Новый Массив; - МассивДанных.Добавить(ОписательЭлементаНаборЗаписей); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - //НовыйМакет.Показать(); - - наборЗаписей = РегистрыНакопления[ВидМетаданного].СоздатьНаборЗаписей(); - НаборЗаписей.Отбор.Регистратор.Установить(ТестовыеДанные.Документ); - наборЗаписей.Записать(); - юТест.ПроверитьРавенство(КоличествоДо, юТест.ПолучитьКоличествоЭлементовРегистраПоОтбору(Метаданное, ВидМетаданного, Отбор), "КоличествоДо, количество2 после удаления"); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - - юТест.ПроверитьРавенство(КоличествоДо + 2, юТест.ПолучитьКоличествоЭлементовРегистраПоОтбору(Метаданное, ВидМетаданного, Отбор), "количество после добавления"); -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьМакетДляСозданияСправочникаСПустойСсылкойРеквизитаСоставногоТипа() Экспорт - Макет = ПолучитьМакет("СозданиеСправочникаСПустойСсылкойРеквизитаСоставногоТипа"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - Отбор = Новый Структура("Наименование", "Тест пустые рекв"); - - МассивИмен = Новый Массив; - - описаниеЭлемента2 = СоздатьОписательЭлементаПоСсылке(ТестовыеДанные.СправочникСТабЧастью, МассивИмен); - описаниеЭлемента2.Вставить("ВыгружатьКод", Ложь); - ИмяПеременной2 = описаниеЭлемента2.ИмяПеременной; - - МассивДанных = Новый Массив; - МассивДанных.Добавить(описаниеЭлемента2); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - юТест.УдалитьСозданныеДанные(тестовыеДанные); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("СправочникСТабЧастью", Отбор), "количество2 после удаления"); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - юТест.ПроверитьРавенство(МассивДанных.Количество(), ТестовыеДанные.Количество(), "МассивДанных.Количество(), ТестовыеДанные.Количество() НовыйМакет"); - юТест.ПроверитьРавенство(Справочники.ПростойСправочник.ПустаяСсылка(), ТестовыеДанные[ИмяПеременной2].РеквизитСоставногоТипа, "Пустая ссылка РеквизитСоставногоТипа"); - юТест.ПроверитьРавенство(Справочники.ПростойСправочник2.ПустаяСсылка(), ТестовыеДанные[ИмяПеременной2].РеквизитСоставногоТипа2, "Пустая ссылка РеквизитСоставногоТипа2"); - - Количество2После = юТест.ПолучитьКоличествоЭлементовСправочникаПоОтбору("СправочникСТабЧастью", Отбор); - юТест.ПроверитьРавенство(Количество2После, 1, "Количество2После"); -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьМакетДляСозданияДвухЗаписейРегистраБухгалтерии() Экспорт - Метаданное = "РегистрБухгалтерии"; - ВидМетаданного = "РегистрБухгалтерии1"; - - Отбор = Новый Структура; - КоличествоДо = юТест.ПолучитьКоличествоЭлементовРегистраПоОтбору(Метаданное, ВидМетаданного, Отбор); - - Макет = ПолучитьМакет("СозданиеДвухЗаписейРегистраБухгалтерии"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - МассивИмен = Новый Массив; - ОписательЭлементаНаборЗаписей = СоздатьОписательЭлементаПоНаборуЗаписей(ТестовыеДанные.ЗаписьРегистра2, МассивИмен); - - МассивДанных = Новый Массив; - МассивДанных.Добавить(ОписательЭлементаНаборЗаписей); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - наборЗаписей = РегистрыБухгалтерии[ВидМетаданного].СоздатьНаборЗаписей(); - НаборЗаписей.Отбор.Регистратор.Установить(ТестовыеДанные.Документ); - наборЗаписей.Записать(); - юТест.ПроверитьРавенство(КоличествоДо, юТест.ПолучитьКоличествоЭлементовРегистраПоОтбору(Метаданное, ВидМетаданного, Отбор), "КоличествоДо, количество2 после удаления"); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - - юТест.ПроверитьРавенство(КоличествоДо + 2, юТест.ПолучитьКоличествоЭлементовРегистраПоОтбору(Метаданное, ВидМетаданного, Отбор), "количество после добавления"); -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьМакетДляСозданияДокументаСДвумяТабличнымиЧастями() Экспорт - Макет = ПолучитьМакет("СозданиеДокументаСДвумяТабличнымиЧастями"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - НаименованиеПростогоЭлемента = "Тест"; - Отбор = Новый Структура; - - МассивИмен = Новый Массив; - описаниеЭлемента = СоздатьОписательЭлементаПоСсылке(ТестовыеДанные.Документ, МассивИмен); - описаниеЭлемента.Вставить("ВыгружатьКод", Ложь); - ИмяПеременной = описаниеЭлемента.ИмяПеременной; - - описаниеЭлемента_ПростойСправочник = СоздатьОписательЭлементаПоСсылке(ТестовыеДанные.ПростойСправочник, МассивИмен); - описаниеЭлемента_ПростойСправочник.Вставить("ВыгружатьКод", Ложь); - - описаниеЭлемента_ПростойСправочник2 = СоздатьОписательЭлементаПоСсылке(ТестовыеДанные.ПростойСправочник22, МассивИмен); - описаниеЭлемента_ПростойСправочник2.Вставить("ВыгружатьКод", Ложь); - - МассивДанных = Новый Массив; - МассивДанных.Добавить(описаниеЭлемента_ПростойСправочник); - МассивДанных.Добавить(описаниеЭлемента_ПростойСправочник2); - МассивДанных.Добавить(описаниеЭлемента); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - НачалоПериода = '20140401'; //НачалоДня(ТекущаяДата()); - ОкончаниеПериода = КонецДня(НачалоПериода); //ТекущаяДата()); - тестовыеДанные.Документ.ПолучитьОбъект().Удалить(); - юТест.ПроверитьРавенство(0, юТест.ПолучитьКоличествоДокументовПоОтбору("Документ2", НачалоПериода, ОкончаниеПериода, Отбор), "количество2 после удаления"); - - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - ДобавитьТестовыеДанныхДляУдаления(ТестовыеДанные); - - юТест.ПроверитьРавенство(МассивДанных.Количество(), ТестовыеДанные.Количество(), "МассивДанных.Количество(), ТестовыеДанные.Количество() НовыйМакет"); - юТест.ПроверитьРавенство(НаименованиеПростогоЭлемента, ТестовыеДанные[ИмяПеременной].ПростойСправочник.Наименование, "ТестовыеДанные[ИмяПеременной].ПростойСправочник.Наименование"); - юТест.ПроверитьРавенство(1, ТестовыеДанные[ИмяПеременной].Состав.Количество(), "ТестовыеДанные[ИмяПеременной].Состав.Количество()"); - юТест.ПроверитьРавенство(1, ТестовыеДанные[ИмяПеременной].Состав2.Количество(), "ТестовыеДанные[ИмяПеременной].Состав2.Количество()"); - тч = ТестовыеДанные[ИмяПеременной].Состав; - строка0 = тч[0]; - юТест.ПроверитьРавенство(НаименованиеПростогоЭлемента+"1", строка0.ПростойСправочник2.Наименование, "строка0.ПростойСправочник2.Наименование"); - юТест.ПроверитьРавенство(Ложь, строка0.РеквизитБулево, "строка0.РеквизитБулево"); - юТест.ПроверитьРавенство(150, строка0.РеквизитЧисло, "строка0.РеквизитБулево"); - тч = ТестовыеДанные[ИмяПеременной].Состав2; - строка1 = тч[0]; - юТест.ПроверитьРавенство(НаименованиеПростогоЭлемента+"2", строка1.ЛюбаяСсылка.Наименование, "строка1.ЛюбаяСсылка.Наименование"); - юТест.ПроверитьРавенство(Новый УникальныйИдентификатор("39c2b68f-b7c8-11e4-b736-080027b785c3"), строка1.РеквизитУИД, "строка1.РеквизитУИД"); - - Количество2После = юТест.ПолучитьКоличествоДокументовПоОтбору("Документ2", НачалоПериода, ОкончаниеПериода, Отбор); - юТест.ПроверитьРавенство(1, Количество2После, "Количество2После"); -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьМакетДляЗаполненияПредопределенногоЭлементаСправочника() Экспорт - - Объект = Справочники.ПростойСправочник.ПредопределенноеЗначение1.ПолучитьОбъект(); - Объект.РеквизитБулево = Истина; - Объект.РеквизитПеречисление = Перечисления.Перечисление1.ЗначениеПеречисления2; - объект.Записать(); - - МассивИмен = Новый Массив; - ОписаниеЭлемента = СоздатьОписательЭлементаПоСсылке(Справочники.ПростойСправочник.ПредопределенноеЗначение1, МассивИмен); - ОписаниеЭлемента.Вставить("ВыгружатьКод", Ложь); - - МассивДанных = Новый Массив; - МассивДанных.Добавить(ОписаниеЭлемента); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(массивДанных); - - Объект = Справочники.ПростойСправочник.ПредопределенноеЗначение1.ПолучитьОбъект(); - Объект.РеквизитБулево = Ложь; - Объект.РеквизитПеречисление = Перечисления.Перечисление1.ЗначениеПеречисления1; - объект.Записать(); - - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(НовыйМакет); - - юТест.ПроверитьРавенство(МассивДанных.Количество(), ТестовыеДанные.Количество(), "МассивДанных.Количество(), ТестовыеДанные.Количество() НовыйМакет"); - юТест.ПроверитьРавенство(Истина, ТестовыеДанные[ОписаниеЭлемента.ИмяПеременной].РеквизитБулево, "РеквизитБулево НовыйМакет"); - юТест.ПроверитьРавенство(Перечисления.Перечисление1.ЗначениеПеречисления2, ТестовыеДанные[ОписаниеЭлемента.ИмяПеременной].РеквизитПеречисление, "РеквизитПеречисление НовыйМакет"); - -КонецПроцедуры - -Процедура ТестДолжен_ПолучитьМакетДляСозданияЗаполненияУзловПланаОбмена() Экспорт - - КоличествоУзловДо = юТест.ПолучитьКоличествоЭлементовМетаданногоПоОтбору("ПланОбмена", "ПланОбмена1"); - юТест.ПроверитьРавенство(КоличествоУзловДо, 1, "План обмена должен содержать только предопределенный узел"); - - Макет = ПолучитьМакет("СозданиеЗаполнениеУзловПланаОбмена"); - ТестовыеДанные = юТест.СоздатьДанныеПоТабличномуДокументу(Макет); - - КоличествоУзловПосле = юТест.ПолучитьКоличествоЭлементовМетаданногоПоОтбору("ПланОбмена", "ПланОбмена1"); - юТест.ПроверитьРавенство(КоличествоУзловПосле, 2, "Количество узлов План обмена после добавления тестовых данных"); - - ОписаниеЭлемента1 = СоздатьОписательЭлементаПоСсылке(ТестовыеДанные.ЭтаИнформационнаяБаза, Новый Массив); - ОписаниеЭлемента1.Вставить("ВыгружатьКод", Истина); - ОписаниеЭлемента2 = СоздатьОписательЭлементаПоСсылке(ТестовыеДанные.Узел1, Новый Массив); - - МассивДанных = Новый Массив; - МассивДанных.Добавить(ОписаниеЭлемента1); - МассивДанных.Добавить(ОписаниеЭлемента2); - - НовыйМакет = ЭтотОбъект.СоздатьМакетДляГенерацииДанных(МассивДанных); - - юТест.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(Макет, НовыйМакет,,); - -КонецПроцедуры - -//} КОНЕЦ БЛОКА ЮНИТ-ТЕСТОВ - -мНаличиеВыгрузкиПодчиненныхОбъектов = Ложь; -мТипРезультатЗапроса = Тип("РезультатЗапроса"); -мСоответствиеКолонокДвижений = Новый Соответствие; - - - -ЭтоВстроеннаяОбработка = Не Метаданные.НайтиПоТипу(ТипЗнч(ЭтотОбъект)) = Неопределено; -ЕстьВстроеннаяОбработка_юТест = Не Метаданные.Обработки.Найти(ИмяЗапускателяТестов()) = Неопределено; diff --git a/src/xddDataFixtureGen/renames.txt b/src/xddDataFixtureGen/renames.txt deleted file mode 100644 index 66d31f13..00000000 --- a/src/xddDataFixtureGen/renames.txt +++ /dev/null @@ -1,67 +0,0 @@ -01b3462f-bb96-43d3-862b-e5cbcf9afd55-->und\01b3462f-bb96-43d3-862b-e5cbcf9afd55 -01b3462f-bb96-43d3-862b-e5cbcf9afd55.0-->Form\Форма -103ebd31-7643-4b1a-ba8b-4c789efcb71f-->und\103ebd31-7643-4b1a-ba8b-4c789efcb71f -103ebd31-7643-4b1a-ba8b-4c789efcb71f.0-->Form\УправляемаяФорма\Форма.txt -103ebd31-7643-4b1a-ba8b-4c789efcb71f.0-->und\103ebd31-7643-4b1a-ba8b-4c789efcb71f.0 -103ebd31-7643-4b1a-ba8b-4c789efcb71f.0-->und\103ebd31-7643-4b1a-ba8b-4c789efcb71f.0 -178f7433-f515-4d45-befa-5af52252dd0a-->und\178f7433-f515-4d45-befa-5af52252dd0a -178f7433-f515-4d45-befa-5af52252dd0a.0-->Макеты\СозданиеДвухЗаписейРегистраБухгалтерии.mxl -178f7433-f515-4d45-befa-5af52252dd0a.0-->und\178f7433-f515-4d45-befa-5af52252dd0a.0 -39a44593-4b6d-4b66-8cda-2f0e9ea7d454-->und\39a44593-4b6d-4b66-8cda-2f0e9ea7d454 -39a44593-4b6d-4b66-8cda-2f0e9ea7d454.0-->Макеты\СозданиеЗаполнениеУзловПланаОбмена.mxl -39a44593-4b6d-4b66-8cda-2f0e9ea7d454.0-->und\39a44593-4b6d-4b66-8cda-2f0e9ea7d454.0 -3bcacc26-7049-41bb-94bc-b45f76986467-->und\3bcacc26-7049-41bb-94bc-b45f76986467 -3bcacc26-7049-41bb-94bc-b45f76986467.0-->Макеты\СозданиеДвухПростыхСправочников.mxl -3bcacc26-7049-41bb-94bc-b45f76986467.0-->und\3bcacc26-7049-41bb-94bc-b45f76986467.0 -4b38e3ee-f722-47b8-9c4c-1c4aa073ba10-->und\4b38e3ee-f722-47b8-9c4c-1c4aa073ba10 -4b38e3ee-f722-47b8-9c4c-1c4aa073ba10.0-->Макеты\ЭталонМакетаПростогоСправочника.mxl -4b38e3ee-f722-47b8-9c4c-1c4aa073ba10.0-->und\4b38e3ee-f722-47b8-9c4c-1c4aa073ba10.0 -54f1dec0-8f13-4065-9f45-0e74788142d2.0\info-->und\54f1dec0-8f13-4065-9f45-0e74788142d2.0\info -54f1dec0-8f13-4065-9f45-0e74788142d2.0\text-->ObjectModule.txt -5e00fac5-7796-4854-8e6b-c5933432d814-->und\5e00fac5-7796-4854-8e6b-c5933432d814 -5e00fac5-7796-4854-8e6b-c5933432d814.0-->Макеты\СозданиеДокументаСДвумяСтрокамиВТабличнойЧасти.mxl -5e00fac5-7796-4854-8e6b-c5933432d814.0-->und\5e00fac5-7796-4854-8e6b-c5933432d814.0 -624cf4b8-3591-4ce1-9579-6ac683689eb1-->und\624cf4b8-3591-4ce1-9579-6ac683689eb1 -624cf4b8-3591-4ce1-9579-6ac683689eb1.0-->Макеты\СозданиеПодчиненногоСправочника.mxl -624cf4b8-3591-4ce1-9579-6ac683689eb1.0-->und\624cf4b8-3591-4ce1-9579-6ac683689eb1.0 -6da54382-70f9-4d82-aa91-d001b86297ee-->und\6da54382-70f9-4d82-aa91-d001b86297ee -6da54382-70f9-4d82-aa91-d001b86297ee.0-->Макеты\СозданиеДвухЗаписейРегистраНакопления.mxl -6da54382-70f9-4d82-aa91-d001b86297ee.0-->und\6da54382-70f9-4d82-aa91-d001b86297ee.0 -799b41e4-6664-42d1-ba19-2dd1a0822bf6-->und\799b41e4-6664-42d1-ba19-2dd1a0822bf6 -799b41e4-6664-42d1-ba19-2dd1a0822bf6.0-->Макеты\СозданиеДокументаСДвумяТабличнымиЧастями.mxl -799b41e4-6664-42d1-ba19-2dd1a0822bf6.0-->und\799b41e4-6664-42d1-ba19-2dd1a0822bf6.0 -7b3de063-6588-445c-a318-e989e219f24c-->und\7b3de063-6588-445c-a318-e989e219f24c -7b3de063-6588-445c-a318-e989e219f24c.0-->Макеты\СозданиеСвязанныхСправочников.mxl -7b3de063-6588-445c-a318-e989e219f24c.0-->und\7b3de063-6588-445c-a318-e989e219f24c.0 -96508b55-1be0-4dbb-9a9d-a96d9a404282-->und\96508b55-1be0-4dbb-9a9d-a96d9a404282 -96508b55-1be0-4dbb-9a9d-a96d9a404282.0-->Макеты\ЭталонМакетаДвухЗаписейВРегистреСведений.mxl -96508b55-1be0-4dbb-9a9d-a96d9a404282.0-->und\96508b55-1be0-4dbb-9a9d-a96d9a404282.0 -96bd1b96-9768-4a45-a972-1a728188f448-->und\96bd1b96-9768-4a45-a972-1a728188f448 -96bd1b96-9768-4a45-a972-1a728188f448.0-->Макеты\СозданиеСправочникаВГруппе.mxl -96bd1b96-9768-4a45-a972-1a728188f448.0-->und\96bd1b96-9768-4a45-a972-1a728188f448.0 -9bd9901f-46d8-4c40-88b9-f58ac48f0fd0-->und\9bd9901f-46d8-4c40-88b9-f58ac48f0fd0 -9bd9901f-46d8-4c40-88b9-f58ac48f0fd0.0-->Макеты\СозданиеСправочникаСДвумяСтрокамиВТабличнойЧасти.mxl -9bd9901f-46d8-4c40-88b9-f58ac48f0fd0.0-->und\9bd9901f-46d8-4c40-88b9-f58ac48f0fd0.0 -9c8d5c50-f21a-4e92-a2df-2a0b5306e991-->und\9c8d5c50-f21a-4e92-a2df-2a0b5306e991 -9c8d5c50-f21a-4e92-a2df-2a0b5306e991.0-->Макеты\СозданиеСправочникаСРеквизитомСсылка_РежимПоискаКод.mxl -9c8d5c50-f21a-4e92-a2df-2a0b5306e991.0-->und\9c8d5c50-f21a-4e92-a2df-2a0b5306e991.0 -a5b4bbdd-19ca-489b-9dce-60e08daa143f-->und\a5b4bbdd-19ca-489b-9dce-60e08daa143f -a5b4bbdd-19ca-489b-9dce-60e08daa143f.0-->Макеты\СозданиеДвухЗаписейВРегистреСведений.mxl -a5b4bbdd-19ca-489b-9dce-60e08daa143f.0-->und\a5b4bbdd-19ca-489b-9dce-60e08daa143f.0 -aeaa86b2-a07f-40ef-afd6-1b116e7a37b6-->und\aeaa86b2-a07f-40ef-afd6-1b116e7a37b6 -aeaa86b2-a07f-40ef-afd6-1b116e7a37b6.0-->und\aeaa86b2-a07f-40ef-afd6-1b116e7a37b6.0 -aeaa86b2-a07f-40ef-afd6-1b116e7a37b6.0-->Макеты\СозданиеОбъектаСЗаполненнымРеквизитомТипаПеречисление.mxl -copyinfo-->und\copyinfo -d0ac533a-c210-47e2-94e1-6d5329bcc033-->und\d0ac533a-c210-47e2-94e1-6d5329bcc033 -efa2b5fc-de31-4695-a81b-8acc1a24d8f8-->und\efa2b5fc-de31-4695-a81b-8acc1a24d8f8 -efa2b5fc-de31-4695-a81b-8acc1a24d8f8.0-->Макеты\СозданиеПростогоСправочника.mxl -efa2b5fc-de31-4695-a81b-8acc1a24d8f8.0-->und\efa2b5fc-de31-4695-a81b-8acc1a24d8f8.0 -f04e1194-a196-4a4b-b797-7ece45ac1872-->und\f04e1194-a196-4a4b-b797-7ece45ac1872 -f04e1194-a196-4a4b-b797-7ece45ac1872.0-->Макеты\СозданиеСправочникаСПустойСсылкойРеквизитаСоставногоТипа.mxl -f04e1194-a196-4a4b-b797-7ece45ac1872.0-->und\f04e1194-a196-4a4b-b797-7ece45ac1872.0 -f930823a-837f-43ad-9791-02742bdf3c7a-->und\f930823a-837f-43ad-9791-02742bdf3c7a -f930823a-837f-43ad-9791-02742bdf3c7a.0-->Макеты\СозданиеПростогоСправочника_ПредставлениеНеИдентификатор.mxl -f930823a-837f-43ad-9791-02742bdf3c7a.0-->und\f930823a-837f-43ad-9791-02742bdf3c7a.0 -root-->und\root -version-->und\version -versions-->und\versions diff --git a/src/xddDataFixtureGen/und/54f1dec0-8f13-4065-9f45-0e74788142d2.0/info b/src/xddDataFixtureGen/und/54f1dec0-8f13-4065-9f45-0e74788142d2.0/info deleted file mode 100644 index c70b5f39..00000000 --- a/src/xddDataFixtureGen/und/54f1dec0-8f13-4065-9f45-0e74788142d2.0/info +++ /dev/null @@ -1 +0,0 @@ -{3,1,0,"",0} \ No newline at end of file diff --git a/src/xddDataFixtureGen/und/copyinfo b/src/xddDataFixtureGen/und/copyinfo deleted file mode 100644 index e583048d..00000000 --- a/src/xddDataFixtureGen/und/copyinfo +++ /dev/null @@ -1,186 +0,0 @@ -{4, -{23, -{01b3462f-bb96-43d3-862b-e5cbcf9afd55,01b3462f-bb96-43d3-862b-e5cbcf9afd55,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -}, -{0ddab741-62a3-4d54-bb38-5d944fa6768a,0ddab741-62a3-4d54-bb38-5d944fa6768a,1, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"ДатаНачала"} -}, -{103ebd31-7643-4b1a-ba8b-4c789efcb71f,103ebd31-7643-4b1a-ba8b-4c789efcb71f,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"УправляемаяФорма"} -}, -{28ec811a-3df5-448b-acff-e2eeab7cac5b,28ec811a-3df5-448b-acff-e2eeab7cac5b,1, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"ВыгружатьСсылку"} -}, -{383f520d-7dbc-4863-90d2-77842cefe60a,383f520d-7dbc-4863-90d2-77842cefe60a,1, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"ДеревоМетаданных"} -}, -{4c88b9d2-3975-40da-ad74-9a82a21b356f,4c88b9d2-3975-40da-ad74-9a82a21b356f,2, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,"ТаблицаДанных"}, -{5d24a9d1-098e-11d6-b9b8-0050bae0a95d,"ИмяПеременной"} -}, -{54f1dec0-8f13-4065-9f45-0e74788142d2,54f1dec0-8f13-4065-9f45-0e74788142d2,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"xddDataFixtureGen"} -}, -{5825a722-21bd-4ffe-b328-3e3f2e4b3c4c,5825a722-21bd-4ffe-b328-3e3f2e4b3c4c,2, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,"ТаблицаДанных"}, -{5d24a9d1-098e-11d6-b9b8-0050bae0a95d,"РежимСоздания"} -}, -{59c1f2b8-34f7-46c6-a5c2-e970905a82e8,59c1f2b8-34f7-46c6-a5c2-e970905a82e8,1, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"ТолькоСоздание"} -}, -{63248c36-ab07-4643-9cd2-ba37d20c4155,63248c36-ab07-4643-9cd2-ba37d20c4155,1, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"ВыгружатьКод"} -}, -{688c1a9a-ed60-4a99-a19c-f10ad08240f3,688c1a9a-ed60-4a99-a19c-f10ad08240f3,1, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"КомпоновщикНастроекКомпоновкиДанных"} -}, -{6c7b1e37-1582-46c4-8922-004412d0d14e,6c7b1e37-1582-46c4-8922-004412d0d14e,1, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"ВыгружатьСДокументомЕгоДвижения"} -}, -{6eaeb2c4-c358-4c9b-82bf-b779f300f3e5,6eaeb2c4-c358-4c9b-82bf-b779f300f3e5,1, -{9fcd25a0-4822-11d4-9414-008048da11f9,""} -}, -{708a2cac-1726-438b-94d8-aa7c9447b3a0,708a2cac-1726-438b-94d8-aa7c9447b3a0,2, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,"ТаблицаДанных"}, -{5d24a9d1-098e-11d6-b9b8-0050bae0a95d,"Ссылка"} -}, -{7f9c01b3-0d10-4675-90c1-3da13269f871,7f9c01b3-0d10-4675-90c1-3da13269f871,2, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,"ТаблицаДанных"}, -{5d24a9d1-098e-11d6-b9b8-0050bae0a95d,"ВыгружатьКод"} -}, -{811a0158-e000-4e8b-b55d-3c8ee2db8b5f,811a0158-e000-4e8b-b55d-3c8ee2db8b5f,1, -{51f2d5d8-ea4d-4064-8892-82951750031e,""} -}, -{88963759-0a6a-4839-bed2-219c5763c0c8,88963759-0a6a-4839-bed2-219c5763c0c8,2, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,"ТаблицаДанных"}, -{5d24a9d1-098e-11d6-b9b8-0050bae0a95d,"РежимПоиска"} -}, -{bcd9f98c-16d2-4a22-b512-f58f24c2c2e2,bcd9f98c-16d2-4a22-b512-f58f24c2c2e2,1, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"ДатаОкончания"} -}, -{ccf43cfe-b00c-431f-b3cb-e45e968dc5d7,ccf43cfe-b00c-431f-b3cb-e45e968dc5d7,1, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"ИспользоватьОтборПоДатеДляВсехОбъектов"} -}, -{e290ebce-71a9-4e8a-ab5b-48fdab75a6fc,e290ebce-71a9-4e8a-ab5b-48fdab75a6fc,1, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"СвязьПоГуид"} -}, -{e548c2b3-1668-40b7-ae4c-8cb11f51ff25,e548c2b3-1668-40b7-ae4c-8cb11f51ff25,1, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"ОбменДанными"} -}, -{ed59e5f4-5d76-4fdc-82e3-929b6bac9114,ed59e5f4-5d76-4fdc-82e3-929b6bac9114,2, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,"ТаблицаДанных"}, -{5d24a9d1-098e-11d6-b9b8-0050bae0a95d,"Метаданное"} -}, -{f420a238-4e45-4a7b-84ca-9abcd874383f,f420a238-4e45-4a7b-84ca-9abcd874383f,1, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,"ТаблицаДанных"} -} -}, -{5, -{214fa4d8-6ba4-4748-a5e1-6332b5887780,811a0158-e000-4e8b-b55d-3c8ee2db8b5f,0}, -{29b6a235-8506-4b28-9b61-48d9cb0967ae,f420a238-4e45-4a7b-84ca-9abcd874383f,0}, -{38bfd075-3e63-4aaa-a93e-94521380d579,6eaeb2c4-c358-4c9b-82bf-b779f300f3e5,4}, -{9d3c86e4-fa06-4c20-bca1-6fe80c64060e,54f1dec0-8f13-4065-9f45-0e74788142d2,0}, -{e61ef7b8-f3e1-4f4b-8ac7-676e90524997,6eaeb2c4-c358-4c9b-82bf-b779f300f3e5,0} -}, -{24, -{ -{0},cab0d12b-3c88-4993-8edc-8c3827cadc7d, -{0} -}, -{ -{0,0ddab741-62a3-4d54-bb38-5d944fa6768a},9d3c86e4-fa06-4c20-bca1-6fe80c64060e, -{-1} -}, -{ -{0,28ec811a-3df5-448b-acff-e2eeab7cac5b},9d3c86e4-fa06-4c20-bca1-6fe80c64060e, -{-1} -}, -{ -{0,383f520d-7dbc-4863-90d2-77842cefe60a},9d3c86e4-fa06-4c20-bca1-6fe80c64060e, -{-1} -}, -{ -{0,4c88b9d2-3975-40da-ad74-9a82a21b356f},29b6a235-8506-4b28-9b61-48d9cb0967ae, -{-1} -}, -{ -{0,5825a722-21bd-4ffe-b328-3e3f2e4b3c4c},29b6a235-8506-4b28-9b61-48d9cb0967ae, -{-1} -}, -{ -{0,59c1f2b8-34f7-46c6-a5c2-e970905a82e8},9d3c86e4-fa06-4c20-bca1-6fe80c64060e, -{-1} -}, -{ -{0,63248c36-ab07-4643-9cd2-ba37d20c4155},9d3c86e4-fa06-4c20-bca1-6fe80c64060e, -{-1} -}, -{ -{0,688c1a9a-ed60-4a99-a19c-f10ad08240f3},9d3c86e4-fa06-4c20-bca1-6fe80c64060e, -{-1} -}, -{ -{0,6c7b1e37-1582-46c4-8922-004412d0d14e},9d3c86e4-fa06-4c20-bca1-6fe80c64060e, -{-1} -}, -{ -{0,708a2cac-1726-438b-94d8-aa7c9447b3a0},29b6a235-8506-4b28-9b61-48d9cb0967ae, -{-1} -}, -{ -{0,7f9c01b3-0d10-4675-90c1-3da13269f871},29b6a235-8506-4b28-9b61-48d9cb0967ae, -{-1} -}, -{ -{0,88963759-0a6a-4839-bed2-219c5763c0c8},29b6a235-8506-4b28-9b61-48d9cb0967ae, -{-1} -}, -{ -{0,bcd9f98c-16d2-4a22-b512-f58f24c2c2e2},9d3c86e4-fa06-4c20-bca1-6fe80c64060e, -{-1} -}, -{ -{0,ccf43cfe-b00c-431f-b3cb-e45e968dc5d7},9d3c86e4-fa06-4c20-bca1-6fe80c64060e, -{-1} -}, -{ -{0,e290ebce-71a9-4e8a-ab5b-48fdab75a6fc},9d3c86e4-fa06-4c20-bca1-6fe80c64060e, -{-1} -}, -{ -{0,e548c2b3-1668-40b7-ae4c-8cb11f51ff25},9d3c86e4-fa06-4c20-bca1-6fe80c64060e, -{-1} -}, -{ -{0,ed59e5f4-5d76-4fdc-82e3-929b6bac9114},29b6a235-8506-4b28-9b61-48d9cb0967ae, -{-1} -}, -{ -{0,f420a238-4e45-4a7b-84ca-9abcd874383f},9d3c86e4-fa06-4c20-bca1-6fe80c64060e, -{-1} -}, -{ -{1},3c72ff56-7e04-4385-bc03-92d4bd6c351c, -{1} -}, -{ -{1,5bdad865-f2c5-434b-8041-ba4aad3b6687},e603c0f2-92fb-4d47-8f38-a44a381cf235, -{1,5bdad865-f2c5-434b-8041-ba4aad3b6687} -}, -{ -{2,5bdad865-f2c5-434b-8041-ba4aad3b6687},e603c0f2-92fb-4d47-8f38-a44a381cf235, -{2,5bdad865-f2c5-434b-8041-ba4aad3b6687} -}, -{ -{3,5bdad865-f2c5-434b-8041-ba4aad3b6687},e603c0f2-92fb-4d47-8f38-a44a381cf235, -{3,5bdad865-f2c5-434b-8041-ba4aad3b6687} -}, -{ -{4,5bdad865-f2c5-434b-8041-ba4aad3b6687},e603c0f2-92fb-4d47-8f38-a44a381cf235, -{4,5bdad865-f2c5-434b-8041-ba4aad3b6687} -} -}, -{0,0}, -{0} -} \ No newline at end of file diff --git a/src/xddDataFixtureGen/und/d0ac533a-c210-47e2-94e1-6d5329bcc033 b/src/xddDataFixtureGen/und/d0ac533a-c210-47e2-94e1-6d5329bcc033 deleted file mode 100644 index 73a0e553..00000000 --- a/src/xddDataFixtureGen/und/d0ac533a-c210-47e2-94e1-6d5329bcc033 +++ /dev/null @@ -1,505 +0,0 @@ -{1, -{d0ac533a-c210-47e2-94e1-6d5329bcc033},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,9d3c86e4-fa06-4c20-bca1-6fe80c64060e,65c26c15-b410-4357-9cee-7513c01c2564, -{0, -{0, -{0,0,54f1dec0-8f13-4065-9f45-0e74788142d2},"xddDataFixtureGen", -{1,"ru","Генерация макета на базе реальных данных для xUnitFor1C"},"Автор - Артур Аюханов aka artbear"} -},103ebd31-7643-4b1a-ba8b-4c789efcb71f,"",01b3462f-bb96-43d3-862b-e5cbcf9afd55},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,1, -{ -{0, -{11,29b6a235-8506-4b28-9b61-48d9cb0967ae,919246ed-32b9-445e-9c45-3e047f2daf19,7c5bdc43-0bd6-4bef-8492-201e042d0482,f7083211-0feb-4a89-a306-1a6e85f921a9, -{0, -{0, -{0,0,f420a238-4e45-4a7b-84ca-9abcd874383f},"ТаблицаДанных", -{1,"ru","Таблица данных"},""} -},1, -{1, -{1,1, -{-3},510405d3-2a0c-4fea-960a-7fee59b32f9b, -{8,23,1183c14f-f814-49c6-9233-a3c26b3f64cf, -{"#",9ad557b1-249e-48dc-824b-3e149ecf10a6, -{3,0,0} -},2723eb98-b4c1-498a-a6f3-70444757902f, -{"#",98ea8e5a-b586-442b-b944-6e3447734aa7,0},2bbba66b-fabf-4863-8ba3-54b3c64c896e, -{"B",0},2c8143d5-4248-4c43-8bfb-307c0be2e415, -{"B",0},33c74a4d-561f-4bc0-9eaa-8d21c893c0a9, -{"U"},3eaf5a8b-06d6-47b0-ac7d-a9698247f499, -{"U"},4690ff70-e3fa-4914-9127-6a9acc5fc949, -{"#",87024738-fc2a-4436-ada1-df79d395c424, -{0} -},4de03908-56f4-4396-a61e-17253afca9ac, -{"B",0},580c29e2-8af4-4258-882a-7cf8073e61c8, -{"#",87024738-fc2a-4436-ada1-df79d395c424, -{0} -},6c4f7074-e7d4-48eb-b31b-132873666262, -{"#",157fa490-4ce9-11d4-9415-008048da11f9, -{1,00000000-0000-0000-0000-000000000000} -},6e3a1131-37a3-4da5-8895-572d9d0c9db6, -{"#",ace3fd07-11b2-477e-ab7f-36f0ea37c8dd, -{ace3fd07-11b2-477e-ab7f-36f0ea37c8dd,2} -},7ba608f2-e654-42a3-8885-334fe88ca910, -{"U"},88149a78-9448-4767-867b-0e650d165d2e, -{"#",87024738-fc2a-4436-ada1-df79d395c424, -{0} -},90ae4b5d-e0fd-49ef-a008-d67c1e75038c, -{"B",0},b02800e9-a8d1-42ab-9a12-f673e92be968, -{"B",0},c65a541f-0b91-4f33-bc88-fbaaa57f9992, -{"U"},cf4abea3-37b2-11d4-940f-008048da11f9, -{"#",87024738-fc2a-4436-ada1-df79d395c424, -{0} -},cf4abea4-37b2-11d4-940f-008048da11f9, -{"S",""},d4232326-022b-421e-b6d3-88e418f74327, -{"#",3b8e6bdd-d648-49d5-af2f-d46d84f87dd5, -{3b8e6bdd-d648-49d5-af2f-d46d84f87dd5,1} -},e3da683b-c54a-457a-a243-b9b4f9bf76dd, -{"#",b76a58b9-2a56-4e46-bb31-8e04ad9f31ae, -{5004,0} -},e6b3f5f3-bdf3-4ad0-bc60-7323b3feb208, -{"U"},f49e4ced-4033-4e6c-8755-9fbaaccd6078, -{"S",""},fcf503b8-1c06-454a-970c-06413e64aee5, -{"#",f2eaae14-91a7-47b9-9d69-097877f41580, -{0,0} -} -} -} -}, -{0} -} -},1, -{5d24a9d1-098e-11d6-b9b8-0050bae0a95d,6, -{ -{0, -{25, -{2, -{0, -{0,0,708a2cac-1726-438b-94d8-aa7c9447b3a0},"Ссылка", -{1,"ru","Ссылка"},""}, -{"Pattern", -{"#",214fa4d8-6ba4-4748-a5e1-6332b5887780}, -{"#",38bfd075-3e63-4aaa-a93e-94521380d579}, -{"#",e61ef7b8-f3e1-4f4b-8ac7-676e90524997} -} -},0, -{0}, -{0},0,"",0, -{"U"}, -{"U"},0,00000000-0000-0000-0000-000000000000,2,1, -{5004,0}, -{3,0,0}, -{0,0},0, -{0}, -{"U"},0} -},0}, -{ -{0, -{25, -{2, -{0, -{0,0,ed59e5f4-5d76-4fdc-82e3-929b6bac9114},"Метаданное", -{1,"ru","Метаданное"},""}, -{"Pattern", -{"S"} -} -},0, -{0}, -{0},0,"",0, -{"U"}, -{"U"},0,00000000-0000-0000-0000-000000000000,2,1, -{5004,0}, -{3,0,0}, -{0,0},0, -{0}, -{"S",""},0} -},0}, -{ -{0, -{25, -{2, -{0, -{0,0,4c88b9d2-3975-40da-ad74-9a82a21b356f},"ИмяПеременной", -{1,"ru","Имя переменной"},""}, -{"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, -{25, -{2, -{0, -{0,0,7f9c01b3-0d10-4675-90c1-3da13269f871},"ВыгружатьКод", -{1,"ru","Выгружать код/номер"},""}, -{"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}, -{"U"},0} -},0}, -{ -{0, -{25, -{2, -{0, -{0,0,88963759-0a6a-4839-bed2-219c5763c0c8},"РежимПоиска", -{1,"ru","Режим поиска"},""}, -{"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, -{25, -{2, -{0, -{0,0,5825a722-21bd-4ffe-b328-3e3f2e4b3c4c},"РежимСоздания", -{1,"ru","Режим создания"},""}, -{"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} -} -} -}, -{3daea016-69b7-4ed4-9453-127911372fe6,18,efa2b5fc-de31-4695-a81b-8acc1a24d8f8,f930823a-837f-43ad-9791-02742bdf3c7a,3bcacc26-7049-41bb-94bc-b45f76986467,7b3de063-6588-445c-a318-e989e219f24c,9c8d5c50-f21a-4e92-a2df-2a0b5306e991,aeaa86b2-a07f-40ef-afd6-1b116e7a37b6,9bd9901f-46d8-4c40-88b9-f58ac48f0fd0,5e00fac5-7796-4854-8e6b-c5933432d814,a5b4bbdd-19ca-489b-9dce-60e08daa143f,624cf4b8-3591-4ce1-9579-6ac683689eb1,96bd1b96-9768-4a45-a972-1a728188f448,96508b55-1be0-4dbb-9a9d-a96d9a404282,4b38e3ee-f722-47b8-9c4c-1c4aa073ba10,6da54382-70f9-4d82-aa91-d001b86297ee,f04e1194-a196-4a4b-b797-7ece45ac1872,178f7433-f515-4d45-befa-5af52252dd0a,799b41e4-6664-42d1-ba19-2dd1a0822bf6,39a44593-4b6d-4b66-8cda-2f0e9ea7d454}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,2,103ebd31-7643-4b1a-ba8b-4c789efcb71f,01b3462f-bb96-43d3-862b-e5cbcf9afd55}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,14, -{ -{0, -{25, -{2, -{0, -{0,0,dc9d0183-f525-497a-b80d-72b314a72de4},"ЕстьВстроеннаяОбработка_юТест", -{1,"ru","Есть встроенная обработка ю тест"},""}, -{"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, -{25, -{2, -{0, -{0,0,a72707c6-f12d-4280-a939-50c2de29dc29},"ЭтоВстроеннаяОбработка", -{1,"ru","Это встроенная обработка"},""}, -{"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, -{25, -{2, -{0, -{0,0,383f520d-7dbc-4863-90d2-77842cefe60a},"ДеревоМетаданных", -{1,"ru","Дерево метаданных"},""}, -{"Pattern", -{"#",e603c0f2-92fb-4d47-8f38-a44a381cf235} -} -},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,0ddab741-62a3-4d54-bb38-5d944fa6768a},"ДатаНачала", -{1,"ru","Дата начала"},""}, -{"Pattern", -{"D"} -} -},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,bcd9f98c-16d2-4a22-b512-f58f24c2c2e2},"ДатаОкончания", -{1,"ru","Дата окончания"},""}, -{"Pattern", -{"D"} -} -},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,ccf43cfe-b00c-431f-b3cb-e45e968dc5d7},"ИспользоватьОтборПоДатеДляВсехОбъектов", -{1,"ru","Использовать отбор по дате для всех объектов"},""}, -{"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, -{25, -{2, -{0, -{0,0,6c7b1e37-1582-46c4-8922-004412d0d14e},"ВыгружатьСДокументомЕгоДвижения", -{1,"ru","Выгружать с документом его движения"},""}, -{"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, -{25, -{2, -{0, -{0,0,739796f3-4c4e-4817-8fbf-82f85ad3b663},"ТипВыгрузкиПериодическихРегистров", -{1,"ru","Тип выгрузки периодических регистров"},""}, -{"Pattern", -{"N",10,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, -{25, -{2, -{0, -{0,0,688c1a9a-ed60-4a99-a19c-f10ad08240f3},"КомпоновщикНастроекКомпоновкиДанных", -{1,"ru","Компоновщик настроек компоновки данных"},""}, -{"Pattern", -{"#",cab0d12b-3c88-4993-8edc-8c3827cadc7d} -} -},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,63248c36-ab07-4643-9cd2-ba37d20c4155},"ВыгружатьКод", -{1,"ru","Выгружать код / номер в макет"},""}, -{"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, -{25, -{2, -{0, -{0,0,28ec811a-3df5-448b-acff-e2eeab7cac5b},"ВыгружатьСсылку", -{1,"ru","Выгружать ссылку"},""}, -{"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, -{25, -{2, -{0, -{0,0,e290ebce-71a9-4e8a-ab5b-48fdab75a6fc},"СвязьПоГуид", -{1,"ru","Связь по гуид"},""}, -{"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, -{25, -{2, -{0, -{0,0,59c1f2b8-34f7-46c6-a5c2-e970905a82e8},"ТолькоСоздание", -{1,"ru","Только создание"},""}, -{"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, -{25, -{2, -{0, -{0,0,e548c2b3-1668-40b7-ae4c-8cb11f51ff25},"ОбменДанными", -{1,"ru","Обмен данными"},""}, -{"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} -} -} -} -} \ No newline at end of file diff --git a/src/xddDataFixtureGen/und/version b/src/xddDataFixtureGen/und/version deleted file mode 100644 index c23bfe28..00000000 --- a/src/xddDataFixtureGen/und/version +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git a/src/xddDataFixtureGen/und/versions b/src/xddDataFixtureGen/und/versions deleted file mode 100644 index 9c802afc..00000000 --- a/src/xddDataFixtureGen/und/versions +++ /dev/null @@ -1 +0,0 @@ -{1,47,"",7cc1aef4-5f73-4941-a6ef-262274de60b7,"624cf4b8-3591-4ce1-9579-6ac683689eb1.0",646b02f0-7744-428f-ad59-cfaaf1ee4952,"f930823a-837f-43ad-9791-02742bdf3c7a",305d586b-71b2-433c-ab4e-954707d3a9a1,"5e00fac5-7796-4854-8e6b-c5933432d814",ba97b561-cb3d-45e0-8238-c0245a56ddbb,"01b3462f-bb96-43d3-862b-e5cbcf9afd55",499463cf-0a93-42ed-adc5-a1822904ac5d,"39a44593-4b6d-4b66-8cda-2f0e9ea7d454",ed2a1059-79d9-4599-88a0-5ecfe489bb4a,"a5b4bbdd-19ca-489b-9dce-60e08daa143f.0",b4f15d10-6d76-41de-86b1-df35b9154334,"96bd1b96-9768-4a45-a972-1a728188f448.0",5b803394-7277-46d4-b271-b632839d3ac6,"f04e1194-a196-4a4b-b797-7ece45ac1872.0",1bbc81c8-4492-4ace-9349-4ea119379e9a,"copyinfo",46106627-48a1-4b08-b488-016daab3c634,"4b38e3ee-f722-47b8-9c4c-1c4aa073ba10",06fa2807-0fda-4db2-900a-207ba116ee24,"799b41e4-6664-42d1-ba19-2dd1a0822bf6.0",e0c40367-185c-462c-aec6-de246ea69e1c,"178f7433-f515-4d45-befa-5af52252dd0a",a1d2b65b-3a48-43e6-a972-1f17f0d43ae4,"aeaa86b2-a07f-40ef-afd6-1b116e7a37b6.0",1cb9f855-bb76-431e-b124-c4a07676f9ed,"178f7433-f515-4d45-befa-5af52252dd0a.0",b9387ddd-92ab-40b1-9338-7294fafa13dd,"d0ac533a-c210-47e2-94e1-6d5329bcc033",fcbe186e-7655-4e24-9df3-c01453eed1bf,"01b3462f-bb96-43d3-862b-e5cbcf9afd55.0",f7958c1e-783c-43ab-8883-2f5b2fba9f0b,"103ebd31-7643-4b1a-ba8b-4c789efcb71f",d77736fd-9bf9-48cf-adb4-05c73d157448,"5e00fac5-7796-4854-8e6b-c5933432d814.0",8badb08a-1796-407a-91f3-bf0888e3c1c5,"96508b55-1be0-4dbb-9a9d-a96d9a404282.0",75b6546f-3631-4dc9-9c75-d0e114d95fa0,"9bd9901f-46d8-4c40-88b9-f58ac48f0fd0",83932a59-d425-4d51-be6f-b8c2a1b2a486,"9bd9901f-46d8-4c40-88b9-f58ac48f0fd0.0",bb1535c3-239b-40d9-b685-161f9e1972bc,"efa2b5fc-de31-4695-a81b-8acc1a24d8f8.0",d18edb4f-d86d-44d5-90b1-e0cc5ad42c47,"6da54382-70f9-4d82-aa91-d001b86297ee.0",50ecd4b8-7e2b-4b7f-b541-1398ec15fc9a,"aeaa86b2-a07f-40ef-afd6-1b116e7a37b6",41a722c9-d26b-49b4-ae50-a65e675917d4,"624cf4b8-3591-4ce1-9579-6ac683689eb1",b3b5caad-82b7-4ec4-a93c-63dc0652c622,"4b38e3ee-f722-47b8-9c4c-1c4aa073ba10.0",b9052acb-26d3-4856-9aa0-fade47c1f863,"96bd1b96-9768-4a45-a972-1a728188f448",c636a0b6-4d23-49ea-a661-5af595761a96,"a5b4bbdd-19ca-489b-9dce-60e08daa143f",32ffeddb-f015-4c53-8334-1c9c57ebeae4,"3bcacc26-7049-41bb-94bc-b45f76986467",b566745f-3ec7-4fe6-95fc-10a12714ba41,"f930823a-837f-43ad-9791-02742bdf3c7a.0",3d6e28bb-4ebb-4914-b004-be7961d8e06b,"root",c95c9c9f-bf78-4619-b16e-248a97db9e8c,"version",67015477-4579-435b-8ed8-ca1fb6042ab9,"799b41e4-6664-42d1-ba19-2dd1a0822bf6",6921d7e9-7c3c-44d0-990d-86958dd3d851,"versions",1588d1c6-e69d-40e2-9f95-940adacca4b4,"103ebd31-7643-4b1a-ba8b-4c789efcb71f.0",1d35057f-77a6-4bd5-8638-7d5070342aec,"54f1dec0-8f13-4065-9f45-0e74788142d2.0",6caf98de-3f97-4f35-b408-e670b6d37630,"6da54382-70f9-4d82-aa91-d001b86297ee",8c0b509c-fb56-4707-9d33-3416c265aa77,"efa2b5fc-de31-4695-a81b-8acc1a24d8f8",d2e21847-384a-4273-9227-127a6b3f66bf,"7b3de063-6588-445c-a318-e989e219f24c",292bbba2-af2f-4643-99e5-4233706bdc5e,"7b3de063-6588-445c-a318-e989e219f24c.0",7e364013-9ff3-4ec3-b3c7-3718d27d44b6,"3bcacc26-7049-41bb-94bc-b45f76986467.0",3db1059f-b6f6-492c-8183-3c70724e621d,"9c8d5c50-f21a-4e92-a2df-2a0b5306e991",93052adc-a5a2-425d-af61-3eafe30db8f7,"96508b55-1be0-4dbb-9a9d-a96d9a404282",2ba29876-20cd-4070-a42c-1e3900ffa293,"9c8d5c50-f21a-4e92-a2df-2a0b5306e991.0",7dabde3c-5b18-491f-b5a7-6fb8db513e4e,"39a44593-4b6d-4b66-8cda-2f0e9ea7d454.0",8f1207d4-07a3-4410-a69d-06ca0a5776ff,"f04e1194-a196-4a4b-b797-7ece45ac1872",cac6464c-9bf3-4809-9587-16241d95c928} \ No newline at end of file diff --git a/src/xddGuidShow/ObjectModule.txt b/src/xddGuidShow/ObjectModule.txt deleted file mode 100644 index 5f282702..00000000 --- a/src/xddGuidShow/ObjectModule.txt +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/xddGuidShow/und/d3dfaee6-6db7-4643-bc26-98aab6f9dd78.0/info b/src/xddGuidShow/und/d3dfaee6-6db7-4643-bc26-98aab6f9dd78.0/info deleted file mode 100644 index c70b5f39..00000000 --- a/src/xddGuidShow/und/d3dfaee6-6db7-4643-bc26-98aab6f9dd78.0/info +++ /dev/null @@ -1 +0,0 @@ -{3,1,0,"",0} \ No newline at end of file diff --git a/src/xddGuidShow/und/version b/src/xddGuidShow/und/version deleted file mode 100644 index c23bfe28..00000000 --- a/src/xddGuidShow/und/version +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git "a/src/xddInformator/Form/\320\242\320\265\321\201\321\202\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217\320\224\320\265\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\260/form" "b/src/xddInformator/Form/\320\242\320\265\321\201\321\202\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217\320\224\320\265\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\260/form" deleted file mode 100644 index fbefa97a..00000000 --- "a/src/xddInformator/Form/\320\242\320\265\321\201\321\202\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217\320\224\320\265\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\260/form" +++ /dev/null @@ -1,257 +0,0 @@ -{27, -{16, -{ -{1,1, -{"ru","Обработка Информатор 81/82 - http://www.1cpp.ru/forum/YaBB.pl?num=1313560540"} -},3,4294967295}, -{09ccdc77-ea1a-4a6d-ab1c-3435eada2433, -{1, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},21,0,1, -{0,3,1},2, -{0,2,2}, -{0,3,2},2, -{0,2,3}, -{0,3,3},0,0, -{3,1, -{3,0, -{0},"",-1,-1,1,0} -},0,1, -{1,1, -{3, -{1,1, -{"ru","Страница1"} -}, -{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,33,0,1,2,0,0,0,0}, -{2,392,1,1,3,0,0,8,0}, -{2,259,0,1,4,0,0,33,0},0,4294967295,5,64,0}, -{0} -}, -{2, -{e69bf21d-97b2-4f37-86db-675aea9ec2cb,2, -{2, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-21} -}, -{3,0, -{0},4,1,0,00000000-0000-0000-0000-000000000000}, -{1,0} -},8,2,1,0,1,1, -{5,e5befeef-ae10-413d-8273-3b4c89008e9d,6,1,0,1, -{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,0, -{0,0, -{0} -} -} -},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,9d0a2e40-b978-11d4-84b6-008048da06df,0} -}, -{8,0,0,400,25,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,2,0,25}, -{2,-1,6,0} -}, -{0, -{2,0,2,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,2,1},0,0,0,0,0,0,0,1,1,0}, -{14,"КоманднаяПанель1",0,0,0,0}, -{0} -}, -{e69bf21d-97b2-4f37-86db-675aea9ec2cb,3, -{2, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-21} -}, -{3,0, -{0},7,1,0,00000000-0000-0000-0000-000000000000}, -{1,0} -},8,2,0,2,0,1, -{5,1d2ca24c-4e49-4cb6-adf2-18165c794829,3,1,2, -{6,c7269c92-8e0b-4da6-b8db-4e5e21db830a,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,3450c423-4c91-4aea-8843-6d8d95bbd947,1,fbe38877-b914-4fd5-8540-07dde06ba2e1, -{6,2,00000000-0000-0000-0000-000000000000,142, -{1,0,357c6a54-357d-425d-a2bd-22f4f6e86c87,2147483647,0},0,1},0},1, -{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,2,c7269c92-8e0b-4da6-b8db-4e5e21db830a, -{8,"Разделитель",0,1, -{1,0},0,1d2ca24c-4e49-4cb6-adf2-18165c794829,2,1e2,2,1,1,0,1,0,0},3450c423-4c91-4aea-8843-6d8d95bbd947, -{8,"ОсновныеДействияФормыЗакрыть",0,1, -{1,1, -{"ru","Закрыть"} -},1,1d2ca24c-4e49-4cb6-adf2-18165c794829,3,1e2,0,1,1,0,1,0,0}, -{-1,0, -{0} -} -} -},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,9d0a2e40-b978-11d4-84b6-008048da06df,0} -}, -{8,0,267,400,292,1, -{0, -{2,3,1,-25}, -{2,-1,6,0} -}, -{0, -{2,0,1,0}, -{2,-1,6,0} -}, -{0, -{2,0,2,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,3,1},1, -{0,3,0},0,0,0,0,0,1,2,1,1}, -{14,"ОсновныеДействияФормы",0,0,0,0}, -{0} -} -} -},400,292,1,0,1,4,4,14}, -{ -{1},3, -{2, -{ -{1},0,0,1,"ОбработкаОбъект", -{"Pattern", -{"#",2b9d320f-7082-4f5b-a346-714a87fc26ba} -} -}, -{ -{2},0,0,1,"Реквизит", -{"Pattern"} -} -}, -{0} -}, -{59d6c227-97d3-46f6-84a0-584c5a2807e1,1, -{2,0, -{0,0}, -{0},1} -}, -{1, -{70003,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} -} -} -} -},1,4,1,0,0,0, -{0}, -{0}, -{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/xddInformator/Form/\320\242\320\265\321\201\321\202\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217\320\224\320\265\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\260/module" "b/src/xddInformator/Form/\320\242\320\265\321\201\321\202\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217\320\224\320\265\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\260/module" deleted file mode 100644 index cded43ad..00000000 --- "a/src/xddInformator/Form/\320\242\320\265\321\201\321\202\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217\320\224\320\265\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\260/module" +++ /dev/null @@ -1,4 +0,0 @@ - -Процедура ПриЗакрытии() - Сообщить("Форма::ПриЗакрытии"); -КонецПроцедуры diff --git "a/src/xddInformator/Form/\320\244\320\276\321\200\320\274\320\260/form" "b/src/xddInformator/Form/\320\244\320\276\321\200\320\274\320\260/form" deleted file mode 100644 index d5c15cf4..00000000 --- "a/src/xddInformator/Form/\320\244\320\276\321\200\320\274\320\260/form" +++ /dev/null @@ -1,1081 +0,0 @@ -{27, -{16, -{ -{1,1, -{"ru","Информатор"} -},6,3}, -{09ccdc77-ea1a-4a6d-ab1c-3435eada2433, -{1, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},21,0,2, -{0,3,1}, -{0,4,1},3, -{0,2,2}, -{0,3,2}, -{0,5,2},5, -{0,2,3}, -{0,3,3}, -{0,4,3}, -{0,5,3}, -{0,6,3},0,0, -{3,1, -{3,0, -{0},"",-1,-1,1,0} -},0,1, -{1,1, -{3, -{1,1, -{"ru","Страница1"} -}, -{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,33,0,1,2,0,0,0,0}, -{2,836,1,1,3,0,0,8,0}, -{2,488,0,1,4,0,0,33,0},0,4294967295,5,64,0}, -{0} -}, -{5, -{e69bf21d-97b2-4f37-86db-675aea9ec2cb,2, -{2, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-21} -}, -{3,0, -{0},4,1,0,00000000-0000-0000-0000-000000000000}, -{1,0} -},8,2,1,0,1,1, -{5,0520bbd3-4cbc-4eb9-ba0d-8bbe97ef2dc0,156,1,0,1, -{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,0, -{0,0, -{0} -} -} -},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,9d0a2e40-b978-11d4-84b6-008048da06df,0} -}, -{8,0,0,844,25,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,2,0,25}, -{2,-1,6,0} -}, -{0, -{2,0,2,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,2,1},0,0,0,0,0,0,0,1,1,0}, -{14,"КоманднаяПанель1",0,0,0,0}, -{0} -}, -{e69bf21d-97b2-4f37-86db-675aea9ec2cb,3, -{2, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-21} -}, -{3,0, -{0},7,1,0,00000000-0000-0000-0000-000000000000}, -{1,0} -},8,2,0,2,0,1, -{5,88cfa5ce-39b7-494a-a1b9-7d6756a478f6,7,1,5, -{6,d61c054a-b7d7-4386-bc64-2ab8a39b55cf,1,fbe38877-b914-4fd5-8540-07dde06ba2e1, -{6,2,00000000-0000-0000-0000-000000000000,142, -{1,0,357c6a54-357d-425d-a2bd-22f4f6e86c87,2147483647,0},0,1},0}, -{6,0e63b160-1b3c-4f27-bdd4-a7eefb00c90b,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} -} -},6, -{1,1, -{"ru","Исследовать тест"} -}, -{1,1, -{"ru","Исследовать тест"} -} -}, -{6,97fbf9c3-5a3a-40b7-975e-d413dba44e2f,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} -} -},6, -{1,1, -{"ru","Изучить ГлобальныйКонтекст"} -}, -{1,1, -{"ru","Изучить ГлобальныйКонтекст"} -} -}, -{6,3f6cbf26-c783-4bc7-9d88-3aa94c5ad2b6,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,ac3d6195-d296-4833-aa2d-fb53725ee21b,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} -} -},6, -{1,1, -{"ru","Изучить Таблицу"} -}, -{1,1, -{"ru","Изучить Таблицу"} -} -},1, -{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,5,97fbf9c3-5a3a-40b7-975e-d413dba44e2f, -{8,"ОсновныеДействияФормыВыполнитьГлобальныйКонтекст",0,3, -{1,1, -{"ru","Изучить ГлобальныйКонтекст"} -},1,88cfa5ce-39b7-494a-a1b9-7d6756a478f6,6,1e2,0,1,1,0,0,0,0},ac3d6195-d296-4833-aa2d-fb53725ee21b, -{8,"ОсновныеДействияФормыВыполнитьТаблицаЗначений",0,2, -{1,1, -{"ru","Изучить Таблицу"} -},1,88cfa5ce-39b7-494a-a1b9-7d6756a478f6,4,1e2,0,1,1,0,0,0,0},0e63b160-1b3c-4f27-bdd4-a7eefb00c90b, -{8,"ОсновныеДействияФормыВыполнить",0,1, -{1,1, -{"ru","Исследовать тест"} -},1,88cfa5ce-39b7-494a-a1b9-7d6756a478f6,1,1e2,0,1,1,0,0,0,0},3f6cbf26-c783-4bc7-9d88-3aa94c5ad2b6, -{8,"Разделитель",0,1, -{1,0},0,88cfa5ce-39b7-494a-a1b9-7d6756a478f6,2,1e2,2,1,1,0,0,0,0},d61c054a-b7d7-4386-bc64-2ab8a39b55cf, -{8,"ОсновныеДействияФормыЗакрыть",0,1, -{1,1, -{"ru","Закрыть"} -},1,88cfa5ce-39b7-494a-a1b9-7d6756a478f6,3,1e2,0,1,1,0,0,0,0}, -{-1,0, -{0} -} -} -},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,b0fbce30-e1a2-4f7e-befe-132d5a5e45c2,4} -}, -{8,0,496,844,521,1, -{0, -{2,3,1,-25}, -{2,-1,6,0} -}, -{0, -{2,0,1,0}, -{2,-1,6,0} -}, -{0, -{2,0,2,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,3,1},1, -{0,3,0},0,0,0,0,0,1,5,1,1}, -{14,"ОсновныеДействияФормы",0,0,0,0}, -{0} -}, -{ea83fe3a-ac3c-4cce-8045-3dddf35b28b1,4, -{5, -{"Pattern", -{"#",e603c0f2-92fb-4d47-8f38-a44a381cf235} -}, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,1, -{-18},0,0,0}, -{1,0} -}, -{15,117644849, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-14} -}, -{3,3, -{-15} -}, -{3,3, -{-13} -},2,2,0,0,0,0,0,1,1, -{6,2,0, -{-20},1}, -{6,2,0, -{-20},1},2,0,1, -{7, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","Наименование"} -}, -{1,0}, -{1,0},1e2,0,-1,-1,-1,12590595, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"Наименование", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ -OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U -bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm -rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ -XFhJtSKWz30vMgcItzCmDw==},0} -}, -{-1}, -{-1}, -{-1} -},"Наименование","","",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","Значение"} -}, -{1,0}, -{1,0},1e2,2,-1,-1,-1,12590594, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"Значение", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ -OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U -bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm -rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ -XFhJtSKWz30vMgcItzCmDw==},0} -}, -{-1}, -{-1}, -{-1} -},"Значение","","",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","Тип"} -}, -{1,0}, -{1,0},1e2,1,-1,-1,-1,12590594, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"Тип", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ -OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U -bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm -rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ -XFhJtSKWz30vMgcItzCmDw==},0} -}, -{-1}, -{-1}, -{-1} -},"Тип","","",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","№ метода/свойства"} -}, -{1,0}, -{1,0},112,4,-1,-1,-1,12590594, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,0,2,2,0,"Индекс", -{},16,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ -OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U -bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm -rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ -XFhJtSKWz30vMgcItzCmDw==},0} -}, -{-1}, -{-1}, -{-1} -},"Индекс","","",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","№ глоб.контекста"} -}, -{1,0}, -{1,0},112,3,-1,-1,-1,12590594, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,0,2,2,0,"ИндексКонтекста", -{},16,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ -OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U -bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm -rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ -XFhJtSKWz30vMgcItzCmDw==},0} -}, -{-1}, -{-1}, -{-1} -},"ИндексКонтекста","","",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","IContext"} -}, -{1,0}, -{1,0},1e2,5,-1,-1,-1,12590594, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,0,1,1,0,"IContext", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU/LDYMwDG2vSCyRcyLFToB4i0pVB6At1x4qbiiT -9dAtukZXKHYIFSDiyH/7PX+OB3nf13sgXRaDOrV93z0fSoKzimUR2U0frAaOnPZs -bK6u41o7PbbGUUnVsTGIe/3bOE006wTCPyNMDARGGUWyoNMOBEkmnQVWPl94UXG2 -Si2aBMQmXlwzwB8mpL3SPLsklbdm+kKe2qb27o4GqCPjqw5NCOQMBnu9EVDVUsN9 -fkPVJrKybtooGNNZCTH+AA==},0} -}, -{-1}, -{-1}, -{-1} -},"IContext","","",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","VTable"} -}, -{1,0}, -{1,0},1e2,6,-1,-1,-1,12590594, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,0,1,1,0,"vtable", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU/LDYMwDG2vSCyRcyLFToB4i0pVB6At1x4qbiiT -9dAtukZXKHYIFSDiyH/7PX+OB3nf13sgXRaDOrV93z0fSoKzimUR2U0frAaOnPZs -bK6u41o7PbbGUUnVsTGIe/3bOE006wTCPyNMDARGGUWyoNMOBEkmnQVWPl94UXG2 -Si2aBMQmXlwzwB8mpL3SPLsklbdm+kKe2qb27o4GqCPjqw5NCOQMBnu9EVDVUsN9 -fkPVJrKybtooGNNZCTH+AA==},0} -}, -{-1}, -{-1}, -{-1} -},"vtable","","",0} -} -},0,0,0,0} -}, -{9ab3fa70-d2e0-4e44-baac-730682272ed2, -{4,1,1, -{1, -{10000,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} -} -} -} -} -} -}, -{4, -{34,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} -} -} -}, -{40,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} -} -} -}, -{42,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} -} -} -}, -{53,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} -} -} -} -} -}, -{8,8,74,836,479,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,1,-42}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,-8}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},0,0,0,0,0,0,0,2,4,0,0}, -{14,"ДЗ",4294967295,0,0,0}, -{0} -}, -{0fc7e20d-f241-460c-bdf4-5ad88e5474a5,5, -{3, -{ -{10,1, -{3,4, -{0} -}, -{3,2, -{10} -}, -{6,3,0,0},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},7, -{1,0},4,1,1,0,0, -{0,0,0},0, -{1,0},1, -{3,4, -{3,0, -{0},"",-1,-1,1,0} -},4}, -{1, -{0,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} -} -} -} -} -}, -{8,8,33,836,48,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,5,0,15}, -{2,-1,6,0} -}, -{0, -{2,0,2,8}, -{2,-1,6,0} -}, -{0, -{2,0,3,-8}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,5,1},0,0,0,0,0,0,3,2,1,0}, -{14,"НадписьЗаголовок",4294967295,0,0,0}, -{0} -}, -{e69bf21d-97b2-4f37-86db-675aea9ec2cb,6, -{2, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},8,2,1,0,1,1, -{5,9837984c-8d47-4b8a-a77e-230ba0f6f18f,283,1,0,1, -{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,0, -{0,0, -{0} -} -} -},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,9d0a2e40-b978-11d4-84b6-008048da06df,0} -}, -{8,8,50,836,74,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,6,0,24}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,-8}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,6,1},0,0,0,0,0,0,4,3,0,0}, -{14,"КоманднаяПанельДерева",4,1,0,0}, -{0} -} -} -},844,521,1,0,1,4,4,291}, -{ -{0},2, -{1, -{ -{0},0,0,1,"ОбработкаОбъект", -{"Pattern", -{"#",2b9d320f-7082-4f5b-a346-714a87fc26ba} -} -} -}, -{1, -{4, -{2, -{0}, -{0,ebe08dd6-f085-4891-8dc4-ea520e9d1b5a} -} -} -} -}, -{59d6c227-97d3-46f6-84a0-584c5a2807e1,1, -{2,0, -{0,0}, -{0},1} -}, -{2, -{70001,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} -} -} -}, -{70002,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} -} -} -} -},1,4,1,0,0,0, -{0}, -{0}, -{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/xddInformator/Form/\320\244\320\276\321\200\320\274\320\260/module" "b/src/xddInformator/Form/\320\244\320\276\321\200\320\274\320\260/module" deleted file mode 100644 index ff866cab..00000000 --- "a/src/xddInformator/Form/\320\244\320\276\321\200\320\274\320\260/module" +++ /dev/null @@ -1,84 +0,0 @@ -Перем ЦветМетоды; -Перем Жирность; - -Процедура КнопкаВыполнитьНажатие(Кнопка) - Объект = ЭтотОбъект;//Метаданные;//Неопределено; - - ИсследоватьОбъект(Объект); - УстановитьЗаголовокПоОбъекту(Объект); -КонецПроцедуры - -Процедура ПриОткрытии() - //Заголовок = ПолучитьНачалоЗаголовка(); - ЭлементыФормы.НадписьЗаголовок.Заголовок = Заголовок; - - ЦветМетоды = Новый Цвет(192, 0, 0); - Жирность = Новый Шрифт(,,Истина); -КонецПроцедуры - -Процедура ПередЗакрытием() - Очистить(ДЗ.Строки); - ДЗ.Строки.Очистить(); -КонецПроцедуры - -Функция ПолучитьНачалоЗаголовка() - Возврат "Информатор v."+Версия()+" : "; -КонецФункции - -// вызывается из модуля обработки -Процедура УстановитьЗаголовокПоОбъекту(Объект) Экспорт - ЭтаФорма.Заголовок = ПолучитьНачалоЗаголовка()+ "Свойства и методы объекта:" + Объект; - - ЭлементыФормы.ДЗ.Колонки.ИндексКонтекста.Видимость = ЭтоГлобальныйКонтекст(Объект); -КонецПроцедуры - -//================================== -Процедура ДЗПередРазворачиванием(Элемент, Строка, Отказ) - ОбработатьСобытие_ДЗ_ПередРазворачиванием(Элемент, Строка, Отказ); -КонецПроцедуры - -Процедура ДЗПриПолученииДанных(Элемент, ОформленияСтрок) - Для каждого ОформлениеСтроки Из ОформленияСтрок Цикл - лДанныеСтроки = ОформлениеСтроки.ДанныеСтроки; - лРодитель = лДанныеСтроки.Родитель; - - Если (лДанныеСтроки.Наименование = СТРОКА_МЕТОДЫ) Тогда - ОформлениеСтроки.ЦветТекста = ЦветМетоды; - ОформлениеСтроки.Шрифт = Жирность; - ИначеЕсли лРодитель <> Неопределено Then - If лРодитель.Наименование = СТРОКА_МЕТОДЫ Then - ОформлениеСтроки.ЦветТекста = ЦветМетоды; - EndIf; - КонецЕсли; - КонецЦикла; -КонецПроцедуры - -Процедура ДЗВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка) - ОбработатьСобытие_ДЗ_Выбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка); -КонецПроцедуры - -Процедура НадписьЗаголовокНажатие(Элемент) - ЗапуститьПриложение("http://www.1cpp.ru/forum/YaBB.pl?num=1313560540"); -КонецПроцедуры - -Процедура ОсновныеДействияФормыОсновныеДействияФормыВыполнитьГлобальныйКонтекст(Кнопка) - Объект = Неопределено; - - ИсследоватьОбъект(Объект); - УстановитьЗаголовокПоОбъекту(Объект); -КонецПроцедуры - -Процедура ОсновныеДействияФормыОсновныеДействияФормыВыполнитьТаблицаЗначений(Кнопка) - Объект = Новый ТаблицаЗначений; - - ИсследоватьОбъект(Объект); - УстановитьЗаголовокПоОбъекту(Объект); -КонецПроцедуры - -Процедура ДЗПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель) - Отказ = Истина; -КонецПроцедуры - -Процедура ДЗПередУдалением(Элемент, Отказ) - Отказ = Истина; -КонецПроцедуры diff --git a/src/xddInformator/ObjectModule.txt b/src/xddInformator/ObjectModule.txt deleted file mode 100644 index 766b1b95..00000000 --- a/src/xddInformator/ObjectModule.txt +++ /dev/null @@ -1,1572 +0,0 @@ -//Пример вызова (в отладчике, табло или своем коде) -// ВнешниеОбработки.Создать("T:\Информатор_82.epf").Изучить(Новый ТаблицаЗначений) -// для исследования глобального контекста следующий вызов -// ВнешниеОбработки.Создать("T:\Информатор_82.epf").Изучить(Неопределено) -// -// Экспортные методы -// булево = Изучить(Объект) - показ формы обработки с данными объекта -// таблицаЗначений = ПолучитьТаблицуМетодов(Объект) -// таблицаЗначений = ПолучитьТаблицуСвойств(Объект) -// булево = МетодСуществует(Объект, наименованиеМетода) -// булево = СвойствоСуществует(Объект, наименованиеСвойства) -// -// ВАЖНО: исключения зависших/циклических ссылок либо сбрасывать объект Информатора либо вызывать метод Сброс() -// - - -Перем СТРОКА_ОПИСАНИЕ_МЕТОДА_БЕЗ_ПАРАМЕТРОВ Экспорт; -Перем СТРОКА_МЕТОДЫ Экспорт; -Перем СТРОКА_СВОЙСТВА Экспорт; - -Перем СТРОКА_ГЛОБАЛЬНЫЙ_КОНТЕКСТ; // Экспорт; - -Перем ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_СВОЙСТВ_И_МЕТОДОВ; // Экспорт; -Перем ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_СВОЙСТВ; -Перем ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_МЕТОДОВ; -Перем ФЛАГ_ЗАПОЛНЕНИЯ_ЗАПОЛНИТЬ_СВОЙСТВА; -Перем ФЛАГ_ЗАПОЛНЕНИЯ_ЗАПОЛНИТЬ_МЕТОДЫ; - -Перем ИМЯ_КЛАССА_DynamicWrapperX; - -Перем ScrptCtrl; -Перем Wrap; -Перем ТЗ; -Перем buf; -Перем ppv; - -Перем WshShell; // Экспорт; -Перем ФайлРегистратораКомпонент; // Экспорт; -//Перем ИсполнительСкрытыхКомандСистемы; -Перем ПапкаВнешнихКомпонент; // Экспорт; -Перем Флаг; - -Перем юТест; // для тестирования в 1CUnit - -Функция Версия() Экспорт - Возврат "1.16.2"; -КонецФункции - -#Если Клиент Тогда - -// основной метод для внешнего использования, например, в отладчике -// если Объект = неопределено, то исследуется глобальный контекст -Функция Изучить(Объект, Модально = Ложь) Экспорт - форма = ЭтотОбъект.ПолучитьФорму(,, Новый УникальныйИдентификатор); - - ИсследоватьОбъект(Объект); - - форма.УстановитьЗаголовокПоОбъекту(Объект); - //форма.СпрятатьКолонкиВЗависимостиОтОбъекта(Объект); - Если Модально Тогда - форма.ОткрытьМодально(); - Иначе - форма.Открыть(); - КонецЕсли; - - Возврат Истина; -КонецФункции - -Функция ПолучитьТаблицуСвойств(Объект) Экспорт - Если НЕ ТипДоступенДляИсследования(Объект) Тогда - ВызватьИсключение "Объект недоступен для изучения"; - КонецЕсли; - - ИсследоватьОбъект(Объект, ФЛАГ_ЗАПОЛНЕНИЯ_ЗАПОЛНИТЬ_СВОЙСТВА); - - резТаблица = Новый ТаблицаЗначений; - резТаблица.Колонки.Добавить("Наименование"); - резТаблица.Колонки.Добавить("Тип"); - резТаблица.Колонки.Добавить("Значение"); - резТаблица.Колонки.Добавить("Индекс"); - резТаблица.Колонки.Добавить("ИндексКонтекста"); - - новСтрока = ДЗ.Строки[0]; - Для каждого строка Из новСтрока.Строки Цикл - НоваяСтрока = резТаблица.Добавить(); - ЗаполнитьЗначенияСвойств(НоваяСтрока, строка); - НоваяСтрока.Значение = строка.Объект; - //НоваяСтрока.Наименование = строка.Наименование; - //НоваяСтрока.Индекс = строка.Индекс; - КонецЦикла; - - Сброс(); - Возврат резТаблица; -КонецФункции - -Функция ПолучитьТаблицуМетодов(Объект) Экспорт - Если НЕ ТипДоступенДляИсследования(Объект) Тогда - ВызватьИсключение "Объект недоступен для изучения"; - КонецЕсли; - - ИсследоватьОбъект(Объект, ФЛАГ_ЗАПОЛНЕНИЯ_ЗАПОЛНИТЬ_МЕТОДЫ); - - резТаблица = Новый ТаблицаЗначений; - резТаблица.Колонки.Добавить("Наименование"); - резТаблица.Колонки.Добавить("КоличествоПараметров"); - резТаблица.Колонки.Добавить("ЕстьВозвращаемоеЗначение"); - //резТаблица.Колонки.Добавить("Тип"); - //резТаблица.Колонки.Добавить("Значение"); - резТаблица.Колонки.Добавить("Индекс"); - резТаблица.Колонки.Добавить("ИндексКонтекста"); - - новСтрока = ДЗ.Строки[0]; - Для каждого строка Из новСтрока.Строки Цикл - НоваяСтрока = резТаблица.Добавить(); - ЗаполнитьЗначенияСвойств(НоваяСтрока, строка); - //НоваяСтрока.Наименование = строка.Наименование; - //НоваяСтрока.Значение = строка.Объект; - //НоваяСтрока.КоличествоПараметров = строка.КоличествоПараметров; - //НоваяСтрока.ЕстьВозвращаемоеЗначение = строка.ЕстьВозвращаемоеЗначение = Истина; - //НоваяСтрока.Индекс = строка.ИндексМетодаСвойства; - КонецЦикла; - - Сброс(); - Возврат резТаблица; -КонецФункции - -Функция СвойствоСуществует(Объект, наименованиеСвойства) Экспорт - таблица = ПолучитьТаблицуСвойств(Объект); - строка = таблица.Найти(наименованиеСвойства, "Наименование"); - Возврат строка <> Неопределено; -КонецФункции - -Функция МетодСуществует(Объект, наименованиеМетода) Экспорт - таблица = ПолучитьТаблицуМетодов(Объект); - строка = таблица.Найти(наименованиеМетода, "Наименование"); - Возврат строка <> Неопределено; -КонецФункции - -Процедура GetIContext(текСтр, Объект) - Если ТипДоступенДляИсследования(Объект, -1) Тогда - текСтр.IContext = ScrptCtrl.Run("GetIContext", Объект); - текСтр.VTable = ScrptCtrl.Run("GetVT", Объект); - КонецЕсли; -КонецПроцедуры - -// вызывается из формы обработки -Процедура ИсследоватьОбъект(Объект, парамФлагЗаполнения = Неопределено ) Экспорт - Если Объект = Неопределено Тогда // глобальный контекст - - Объект = СТРОКА_ГЛОБАЛЬНЫЙ_КОНТЕКСТ; - //ElsIf Объект = ЭтотОбъект.ПолучитьФорму() Then - // Возврат; - КонецЕсли; - - Перехват(ЭтоГлобальныйКонтекст(Объект)); - Очистить(ДЗ.Строки); - ДЗ.Строки.Очистить(); - - новСтрока = ДЗ.Строки.Добавить(); - новСтрока.Наименование = "Значение"; - новСтрока.Тип = ТипЗнч(Объект); - новСтрока.Значение = Объект; - новСтрока.Объект = Объект; - GetIContext(новСтрока, Объект); - - Если парамФлагЗаполнения = Неопределено Тогда - парамФлагЗаполнения = ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_СВОЙСТВ_И_МЕТОДОВ; - КонецЕсли; - - ЗаполнитьСубДерево(Объект, новСтрока, парамФлагЗаполнения); //0 -КонецПроцедуры - -Функция Инит() //Экспорт - ПапкаВнешнихКомпонент = Новый Файл(КаталогВременныхФайлов()); - - WshShell = Новый COMОбъект("WScript.Shell"); - - Wrap = "НеИнициализирован"; - Wrap = ПолучитьWinAPI(); - - ДЗ.Колонки.Добавить("Наименование"); - ДЗ.Колонки.Добавить("Тип"); - ДЗ.Колонки.Добавить("Значение"); - - ДЗ.Колонки.Добавить("Объект"); - ДЗ.Колонки.Добавить("УжеЗаполняли"); - ДЗ.Колонки.Добавить("ЕстьВозвращаемоеЗначение"); - ДЗ.Колонки.Добавить("КоличествоПараметров"); - - ДЗ.Колонки.Добавить("ИндексКонтекста"); - ДЗ.Колонки.Добавить("Индекс"); //ИндексМетодаСвойства"); - ДЗ.Колонки.Добавить("IContext"); - ДЗ.Колонки.Добавить("VTable"); -КонецФункции - -// вызывать для сброса данных для исключения зависших ссылок -Процедура Сброс() Экспорт - ДЗ.Строки.Очистить(); -КонецПроцедуры - -Процедура Перехват(ЭтоГлобальныйКонтекст) //Экспорт - If ТипЗнч(ScrptCtrl) <> Тип("Неопределено") Then Возврат; EndIf; - - ТекстМодуля = Public_Consts(); - ТекстМодуля = ТекстМодуля + Public_Vars(); - ТекстМодуля = ТекстМодуля + Class_Service(); - ТекстМодуля = ТекстМодуля + Funcs(); - - ScrptCtrl = Новый COMОбъект("MSScriptControl.ScriptControl"); - ScrptCtrl.Language = "vbscript"; - ScrptCtrl.TimeOut = -1; - - Попытка - ScrptCtrl.AddCode(ТекстМодуля); - Исключение - Сообщить(ScrptCtrl.Error.Description); - Сообщить(ScrptCtrl.Error.Source); - Сообщить(ScrptCtrl.Error.Text); - Сообщить(ScrptCtrl.Error.Line); - КонецПопытки; - // заглушка для исключения проблем при загрузке тестов в xUnitFor1C - Если ЭтоГлобальныйКонтекст Тогда - ScrptCtrl.Eval("oServ.HookOn"); - Сообщить(1); - ScrptCtrl.Eval("oServ.HookOff"); - КонецЕсли; - - //Для вычисления значения функций - buf = ScrptCtrl.Eval("oServ.buf"); - ppv = ScrptCtrl.Eval("oServ.ppv"); - Wrap.RegisterAddr(buf, "ImplBase_call", "i=pllp", "r=l"); //ID 20 -КонецПроцедуры - -Функция Public_Consts() - - ТекстМодуля = " - |Public Const S_OK = &h0 - |Public Const E_NOINTERFACE = &h80004002 - |Public Const CP_ACP = &h0 - | - |Public Const HEAP_ZERO_MEMORY = &h00000008 - |Public Const PAGE_EXECUTE_READWRITE = &h40 - |Public Const PAGE_EXECUTE_READ = &h20 - | - |Public Const VT_BSTR = &h8 - |Public Const VT_DISPATCH = &h9 - | - |'IID Интерфейсов - |Public Const IID_IContextExtImpBase = ""{FD7B6CC2-DC8E-11D2-B8D0-008048DA0335}"" - |Public Const IID_IValueImplBase = ""{FD7B6CC3-DC8E-11D2-B8D0-008048DA0335}"" - |Public Const IID_GC = ""{F7399BD5-100E-4D0A-A5CE-F97810ACFEE9}"" - | - |Public Const platform_offset = &h18 - |"; - - СисИнфо = Новый СистемнаяИнформация; - ВерсияDLL = СтрЗаменить(Лев(СисИнфо.ВерсияПриложения, 4), ".", ""); - ТекстМодуля = ТекстМодуля + " - |Public Const dllName = ""core" + ВерсияDLL + """ - |"; - - - Возврат ТекстМодуля; -КонецФункции - -Функция Public_Vars() - ТекстМодуля = " - |Public oServ - | - |Public Wrap - |Public curVers 'Версия сборки 8.X - |Public VersPlatform 'Версия 8.X - | - |Set Wrap = CreateObject("""+ИМЯ_КЛАССА_DynamicWrapperX+""") - | - |Public bsl_off_13 - |"; - //|Set Wrap = CreateObject(""DynamicWrapperX"") - - Возврат ТекстМодуля; -КонецФункции - -Функция Class_Service() - ТекстМодуля = " -//{ |Class Service - |Class Service -//{ |Vars - | Private hHeap - | Public buf 'Буфер для вызова функций - | Private buf_thiscall 'Буфер для вызова функций - | - //| Private res 'Память для результата VirtualProtect - | Private pGC 'Глоб.объект - | Public ppv - | Private pIID - | Private swIID - | Private handle - | - | Public numGK 'Кол-во ГК контекстов - | Public pArray 'Массив ГК - | - | 'Для передачи параметров - | Public paramArr2 'Для печати - | Public paramArr9 'Для вызова функций - | - | Private pMes 'Контекст, с методом /Сообщить/ - | Private numMes 'Номер метода /Сообщить/ - | - | Private adrValue_str 'адрес ф-и __thiscall core::Value::Value(wchar_t const *) - | Private adrValue_void 'адрес ф-и __thiscall core::Value::Value(void) - | - | Private Ref - | Private oldFunc - | Private newFunc -//} | -//{ |Release - | Private Function Release(pObj) - | vfunc pObj, (3 - 1) * 4 - | res = Wrap.IUnknown_Release(pObj) - | End Function -//} | -//{ |FindCG_Message - | Private Function FindCG_Message() - | FindCG_Message = -1 - | - | 'Найдем контекст, в котором есть метод ""Сообщить"" - | j = 0 - | PutString(""Сообщить"") - | Do While j < numGK + 1 - | pIContext = Wrap.NumGet(pArray, j * 4) - | - | vfunc pIContext, 4 * (16 - 1) - | numMes = Wrap.ImplBase_findMethod(pIContext, ppv) - | If numMes =>0 Then - | FindCG_Message = pIContext - | Exit Do - | End If - | j = j + 1 - | Loop - | '======================================================= - | End Function -//} | -//{ |GetArrayGC - | Private Function GetArrayGC() - | IIDFromString IID_GC - | - | 'ГО (1) - | vfunc pGC, (15 - 1) * 4 - | pObj1 = Wrap.GetObjectFromIID(pGC, pIID) - | - | 'ГО (2) - | vfunc pObj1, (13 - 1) * 4 - | res = Wrap.GetObj(pObj1, ppv) - | pObj2 = Wrap.NumGet(ppv) - | - | If VersPlatform = 82 Then - | Select Case curVers - | Case 13 - | numfunc = 68 - | Case 14 - | numfunc = 69 - | Case 15 - | numfunc = 70 - | Case Else - | numfunc = 70 - | End Select - | Else - | numfunc = 71 - | End If - | - | 'ГО (3) - | vfunc pObj2, (numfunc - 1) * 4 - | res1 = Wrap.GetObj(pObj2, ppv) - | pObj3 = Wrap.NumGet(ppv) - | - | 'Массив - | GetArrayGC = Wrap.NumGet(pObj3, &h10) - | - | 'Количество - | numGK = (Wrap.NumGet(pObj3, &h14) - GetArrayGC) / 4 - | numGK = numGK - 1 - | - | Release pObj3 - | Release pObj2 - | Release pObj1 - | Release pGC - | End Function -//} | -//{ |Class_Initialize - | Private Sub Class_Initialize - | Wrap.Register ""Kernel32"", ""HeapAlloc"", ""i=lll"", ""r=l"" - | Wrap.Register ""Kernel32"", ""GetProcessHeap"", ""r=l"" - | Wrap.Register ""Kernel32"", ""HeapFree"", ""i=lll"",""r=l"" - | Wrap.Register ""Kernel32"", ""VirtualProtect"" , ""i=lllp"", ""r=l"" - | Wrap.Register ""Kernel32"", ""LoadLibrary"" , ""i=s"", ""r=h"" - | Wrap.Register ""Kernel32"", ""GetProcAddress"" , ""i=hs"", ""r=u"" - | Wrap.Register ""Kernel32"", ""MultiByteToWideChar"", ""i=llslpl"", ""r=l"" - | Wrap.Register ""Ole32"" , ""IIDFromString"", ""i=pp"", ""r=l"" - | Wrap.Register ""Version"", ""GetFileVersionInfoSize"", ""i=sl"", ""r=l"" - | Wrap.Register ""Version"", ""GetFileVersionInfo"", ""i=sllp"", ""r=l"" - | Wrap.Register ""Version"", ""VerQueryValue"", ""i=pspp"", ""r=l"" - | - | hHeap = Wrap.GetProcessHeap() - | curVers = GetVersion() - | - | numGK = 0 - | code_len = 10 - | - | buf_thiscall= Wrap.HeapAlloc(hHeap, HEAP_ZERO_MEMORY, code_len) - | ppv = Wrap.HeapAlloc(hHeap, HEAP_ZERO_MEMORY, &h20) 'Под внутр. нужды и строки - | pIID = Wrap.HeapAlloc(hHeap, HEAP_ZERO_MEMORY, 32) - | swIID = Wrap.HeapAlloc(hHeap, HEAP_ZERO_MEMORY, 100) - | - | paramArr2 = Wrap.HeapAlloc(hHeap, HEAP_ZERO_MEMORY, 16 * 2 + 4 * (2 + 1) + 4 * 3) 'На 2 параметра - | paramArr9 = Wrap.HeapAlloc(hHeap, HEAP_ZERO_MEMORY, 16 * 9 + 4 * (9 + 1) + 4 * 3) 'На 9 параметров - | '======================================================= - | 'Буфер для вызова функций интерфейса - | Wrap.VirtualProtect buf_thiscall, code_len, PAGE_EXECUTE_READWRITE, ppv - | - | Wrap.NumPut &hB9, buf_thiscall, 0, ""b"" 'mov ecx, .... pObj - | - | buf = buf_thiscall + 5 - | Wrap.NumPut &hE9, buf, 0, ""b"" 'jmp ...Addr - | '======================================================= - | 'IUnknown - | Wrap.RegisterAddr buf, ""IUnknown_QueryInterface"", ""i=ppp"", ""r=l"" 'ID 1 - | Wrap.RegisterAddr buf, ""IUnknown_AddRef"", ""i=p"", ""r=l"" 'ID 2 - | Wrap.RegisterAddr buf, ""IUnknown_Release"", ""i=p"", ""r=l"" 'ID 3 - | - | 'IContextExtImplBase - | Wrap.RegisterAddr buf , ""ImplBase_getName"", ""i=pll"", ""r=l"" 'ID getPropName - 5, getMethodName - 10 - | Wrap.RegisterAddr buf , ""ImplBase_getN"", ""i=p"", ""r=l"" 'ID getNProps - 4, getNMethods - 9 - | Wrap.RegisterAddr buf , ""ImplBase_getNParams"", ""i=pl"", ""r=l"" 'ID 11 - | Wrap.RegisterAddr buf , ""ImplBase_hasRetVal"", ""i=pl"", ""r=l"" 'ID 15 - | Wrap.RegisterAddr buf , ""ImplBase_findMethod"", ""i=pp"", ""r=l"" 'ID 16 - | Wrap.RegisterAddr buf , ""ImplBase_getParamDefValue"", ""i=pllp"", ""r=l"" 'ID 14 - | Wrap.RegisterAddr buf , ""ImplBase_call"", ""i=pllp"", ""r=l"" 'ID 20 - | Wrap.RegisterAddr buf_thiscall, ""ImplBase_call_thiscall"", ""i=pllp"", ""r=l"" 'ID 20 - | - | 'IValue - | Wrap.RegisterAddr buf_thiscall, ""setIValue"", ""i=p"", ""r=l"" 'ID 1 - | Wrap.RegisterAddr buf_thiscall, ""getIValue"", ""i=p"", ""r=l"" 'ID 2 - | Wrap.RegisterAddr buf_thiscall, ""type0"", ""i=p"", ""r=l"" 'ID 7 - | - | 'ObjectTypeCore - | Wrap.RegisterAddr buf, ""getTypeCode"", ""i=p"", ""r=l"" 'ID 4 - | '======================================================= - | handle = Wrap.LoadLibrary(dllName) - | 'Функция возвращает ГК - | Addr1 = Wrap.GetProcAddress(handle, ""?current_process@core@@YAPAVSCOM_Process@1@XZ"") - | - | Wrap.RegisterAddr Addr1, ""current_process"", ""r=l"" 'core::current_process(void) - | - | 'Вот это Глобальный Контекст - | pGC = Wrap.current_process() - | '======================================================= - | 'CurProc - | 'Функция из ВТ объекта pGC - | 'возвращает какой-то глобальный объект (1) - | 'в ВТ (1) есть ф-я, возвращающая другой ГО (2) - | 'в ВТ (2) есть ф-я, возвращающая другой ГО (3) - | '(3) - содержит массив ГК IContextExtImplBase - | - | Wrap.RegisterAddr buf, ""GetObjectFromIID"", ""i=pp"", ""r=l"" 'ID 15 - | - | 'Функция, получения объектов - | Wrap.RegisterAddr buf, ""GetObj"", ""i=pp"", ""r=p"" - | - | 'Получим указатель на глоб. массив ГК - | pArray = GetArrayGC() - | - | 'Для вывода сообщений - | pMes = FindCG_Message() - | '======================================================= - | - | adrValue_str = Wrap.GetProcAddress(handle, ""??0Value@core@@QAE@PB_W@Z"") '__thiscall core::Value::Value(wchar_t const *) - | Wrap.RegisterAddr buf_thiscall, ""Value_str"", ""i=p"", ""r=l"" - | - | adrValue_void = Wrap.GetProcAddress(handle, ""??0Value@core@@QAE@XZ"") '__thiscall core::Value::Value(void) - | Wrap.RegisterAddr buf_thiscall, ""Value_void"", ""r=l"" - | - | 'Обертка 1C-х объектов в IDispatch - | Addr1 = Wrap.GetProcAddress(handle, ""?value_to_dispatch@core@@YA?AV?$InterfacePtr@UIDispatch@@@1@PAVIValue@1@PAVSCOM_ProcessData@1@@Z"") - | Wrap.RegisterAddr Addr1, ""value_to_dispatch"", ""i=ppl"", ""r=l"" - | - | Set Ref = GetRef(""IContextExtImplBase_call"") - | newFunc = Wrap.RegisterCallback(Ref, ""i=pllp"", ""r=l"") - | Wrap.VirtualProtect newFunc - 6, 21, PAGE_EXECUTE_READWRITE, ppv - | End Sub -//} | -//{ |Class_Terminate - | Private Sub Class_Terminate - | Wrap.HeapFree hHeap, 0, buf_thiscall - | Wrap.HeapFree hHeap, 0, ppv - | Wrap.HeapFree hHeap, 0, pIID - | Wrap.HeapFree hHeap, 0, swIID - | - | Wrap.HeapFree hHeap, 0, paramArr2 - | Wrap.HeapFree hHeap, 0, paramArr9 - | - | Set Ref = Nothing - | Set Wrap = Nothing - //| MsgBox ""Class_Terminate2"" - | End Sub -//} | -//{ |GetString - | Private Function GetString(offset) - | ppv1 = ppv + offset - | ln = Wrap.NumGet(ppv1) - | If ln > 15 Then - | GetString = Wrap.StrGet(Wrap.NumGet(ppv1, 4) + 8) - | Else - | GetString = Wrap.StrGet(ppv1 + 4) - | End If - | End Function -//} | -//{ |PutString - | Private Function PutString(txt) - | 'Формируем структуру строки - | ln = Len(txt) - | If ln > 15 Then - | Wrap.NumPut 16, ppv, 0 'Флаг, что строка длиннее 15 символов - | Wrap.NumPut (ppv + 16), ppv, 4 'Указатель на начало строки - | Wrap.NumPut (ppv + 24) + ln * 2, ppv, 8 'Указатель на 0, за концом строки - | Wrap.NumPut 1, ppv, 12 'Не знаю, что это - | - | Wrap.NumPut 1, ppv, 16 'Это счетчик ссылок на строку - | Wrap.NumPut 1, ppv, 20 'Не знаю, что это - | res = Wrap.MultiByteToWideChar(CP_ACP, 0, txt, -1, ppv + 24, ln) - | Wrap.NumPut 0, ppv, 24 + ln * 2 - | Else - | Wrap.NumPut ln, ppv, 0 - | res = Wrap.MultiByteToWideChar(CP_ACP, 0, txt, -1, ppv + 4, ln) - | End If - | End Function -//} | -//{ |GetVersion - | Private Function GetVersion() - | sz = Wrap.GetFileVersionInfoSize(dllName, 0) - | - | pbuf = Wrap.HeapAlloc(hHeap, 0, sz) - | lplpBuffer = Wrap.HeapAlloc(hHeap, 0, 4) - | puLen = Wrap.HeapAlloc(hHeap, 0, 4) - | - | res1 = Wrap.GetFileVersionInfo(dllName,0, sz, pbuf) - | res1 = Wrap.VerQueryValue(pbuf, ""\"", lplpBuffer, puLen) - | - | VS_FIXEDFILEINFO = Wrap.NumGet(lplpBuffer) - | 'Младшая часть версии - | lpart = Wrap.NumGet(VS_FIXEDFILEINFO, &h0C, ""t"") - | 'Старшая часть версии - | hpart = Wrap.NumGet(VS_FIXEDFILEINFO, &h0E, ""t"") - | - //| GetVersion = CSTR(hpart) & ""."" & CSTR(lpart) - | GetVersion = hpart - | - | VersPlatform = Wrap.NumGet(VS_FIXEDFILEINFO, &h0A, ""t"") * 10 - | VersPlatform = VersPlatform + Wrap.NumGet(VS_FIXEDFILEINFO, &h08, ""t"") - | - | Wrap.HeapFree hHeap, 0, pbuf - | Wrap.HeapFree hHeap, 0, lplpBuffer - | Wrap.HeapFree hHeap, 0, puLen - | End Function -//} | -//{ |IIDFromString - | Private Function IIDFromString(sIDD) - | IIDFromString = Wrap.MultiByteToWideChar(CP_ACP, 0, sIDD, -1, swIID, 100) - | IIDFromString = Wrap.IIDFromString(swIID, pIID) - | End Function -//} | -//{ |QueryInterface - | Private Function QueryInterface(pObj, sIDD) - | QueryInterface = E_NOINTERFACE - | If IIDFromString(sIDD) = S_OK Then - | vfunc pObj, &h0 - | QueryInterface = Wrap.IUnknown_QueryInterface(pObj, pIID, ppv) - | End If - | End Function -//} | -//{ |GetInterface - | Public Function GetInterface(pObj, sIID) - | GetInterface = QueryInterface(pObj, sIID) - | If GetInterface = S_OK Then - | GetInterface = Wrap.NumGet(ppv) - | End If - | End Function -//} | -//{ |vfunc - | Public Sub vfunc(pObj, offset) - | Addr = Wrap.NumGet(Wrap.NumGet(pObj), offset) - | Wrap.NumPut Addr - (buf + 1 + 4), buf, 1 - | End Sub -//} | -//{ |this_call - | Public Sub this_call(ECX, Addr) - | Wrap.NumPut ECX, buf_thiscall,1 - | Wrap.NumPut Addr - (buf + 1 + 4),buf, 1 - | End Sub -//} | -//{ |SetParamsCount - | Private Function SetParamsCount(pParams, num, cnt) - | 'Указатели на начало и конец массива указателей на параметры - | - | 'Указатель на начало массива указателей на параметры - | Wrap.NumPut (pParams + num * 16), pParams, num * 16 + (num + 1) * 4 - | - | 'Указатель на конец массива указателей на параметры - | Wrap.NumPut (pParams + num * 16 + cnt * 4), pParams, num * 16 + (num + 1) * 4 + 4 - | Wrap.NumPut (pParams + num * 16 + cnt * 4), pParams, num * 16 + (num + 1) * 4 + 8 - | End Function -//} | -//{ |PrepareParams - | Private Function PrepareParams(pParams, num) - | 'Подготовим параметры, 16 байт на параметр - | bsl_off = bsl_off_13 - | - | For j = 0 To num - 1 - | Wrap.NumPut bsl_off, pParams, j * 16 - | Next - | - | 'Указатели на параметры - | For j = 0 To num - 1 - | Wrap.NumPut (pParams + j * 16), pParams, num * 16 + j * 4 - | Next - | - | 'Установим по-умолчанию 2 параметра - | SetParamsCount pParams, num, 2 - | End Function -//} | -//{ |SetParam - | Private Function SetParam(pParams, num, paramType, paramValue, paramValueType) - | Wrap.NumPut paramType, pParams, (num - 1) * 16 + 4 - | Wrap.NumPut paramValue, pParams, (num - 1) * 16 + 8 - | Wrap.NumPut paramValueType, pParams, (num - 1) * 16 + 12 - | End Function -//} | -//{ |GetParam - | Private Function GetParam(pParams, num) - | GetParam = Wrap.NumGet(pParams, 8 + num * 16) - | End Function -//} | -//{ |getParamList - | Public Function getParamList(pParams, num) - | getParamList = pParams + num * 16 + (num + 1) * 4 - | End Function -//} | -//{ |getType - | Public Function getType(pIValue) - | Addr = Wrap.NumGet(Wrap.NumGet(pIValue), (7 - 1) * 4) - | this_call pIValue, Addr - | res = Wrap.type0(ppv + 8) - | - | pObjTypeCore = Wrap.NumGet(ppv + 8) - | vfunc pObjTypeCore, (4 - 1) * 4 - | getType = Wrap.getTypeCode(pObjTypeCore) - //| MsgBox getType - | End Function -//} | -//{ |getIValue - | Private Function getIValue(pValue) - | Addr = Wrap.NumGet(Wrap.NumGet(pValue), (2 - 1) * 4) - | - | this_call pValue, Addr - | res = Wrap.getIValue(ppv + 8) - | getIValue = Wrap.NumGet(ppv + 8) - | End Function -//} | -//{ |setIValue - | Private Function setIValue(pIValue, pValue) - | Addr = Wrap.NumGet(Wrap.NumGet(pIValue), (1 - 1) * 4) - | - | this_call pIValue, Addr - | setIValue = Wrap.setIValue(pValue) - | End Function -//} | -//{ |Message - | Public Function Message(txt) - | '1-й параметр, строка - | '======================================================= - | this_call ppv, adrValue_str - | res = Wrap.Value_str(txt) - | IValue = getIValue(ppv) - | res = SetParam (paramArr2, 1, 0, IValue, 4) - | - | '2-й параметр, перечисление - | '======================================================= - | this_call ppv, adrValue_void - | res = Wrap.Value_void() - | - | vfunc pMes, 4 * (14 - 1) - | res = Wrap.ImplBase_getParamDefValue(pMes, numMes, 1, ppv) - | IValue = getIValue(ppv) - | res = SetParam(paramArr2, 2, 0, IValue, 0) - | - | SetParamsCount paramArr2, 2, 2 - | '======================================================= - | vtable = Wrap.NumGet(pMes) - | Addr = Wrap.NumGet(vtable, 4 * (20 - 1)) - | - | this_call numMes, Addr - | Wrap.ImplBase_call_thiscall pMes, numMes, 0, getParamList(paramArr2, 2) - | End Function -//} | -//{ |PrepareDefParams - |Public Function PrepareDefParams(pIContext, numFunc) - | PrepareDefParams = -1 - | - | vfunc pIContext, 4 * (11 - 1) - | NParams = Wrap.ImplBase_getNParams(pIContext, numFunc) - | - | If (NParams = 0) OR (NParams > 9) Then - | Exit Function - | End If - | - | j = 0 - | Do While j < NParams - | this_call ppv, adrValue_void - | res = Wrap.Value_void() - | - | vfunc pIContext, 4 * (14 - 1) - | res = Wrap.ImplBase_getParamDefValue(pIContext, numFunc, j, ppv) - | If res <> S_OK Then - | PrepareDefParams = -1 - | Exit Do - | End If - | IValue = getIValue(ppv) - | typeCode = getType(ppv) - | res = SetParam(paramArr9, j + 1, 0, IValue, typeCode) - | j = j + 1 - | Loop - | If PrepareDefParams = -1 Then - | Exit Function - | End If - | - | SetParamsCount paramArr9, 9, NParams - | - | this_call ppv, adrValue_void - | res = Wrap.Value_void() - | - | vfunc pIContext, 4 * (20 - 1) - | PrepareDefParams = getParamList(paramArr9, 9) - | End Function -//} | -//{ |RetValueImplBase - | Public Function RetValueImplBase() - | pCont = getIValue(ppv) - | pValueImplBase = GetInterface(pCont, IID_IValueImplBase) - | - | res = Wrap.value_to_dispatch(ppv, pValueImplBase, 0) - | pDisp = Wrap.NumGet(ppv) - | - | 'Уменьшим счетчик ссылок (незаконно - не через Release), иначе повиснет ссылка и 1С не закроется - | res = Wrap.NumGet(pDisp, 8) - | res = Wrap.NumPut(res - 1, pDisp, 8) - | - | Set RetValueImplBase = Wrap.GetObject(pDisp) - | End Function -//} | -//{ |HookOn - | Public Function HookOn() - | vtable = Wrap.NumGet(pMes) - | Wrap.VirtualProtect vtable + (20 - 1) * 4, 4, PAGE_EXECUTE_READWRITE, ppv - | oldFunc = Wrap.NumGet(vtable, (20 - 1) * 4) - | Wrap.NumPut newFunc, vtable,(20 - 1) * 4 - | End Function -//} | -//{ |HookOn - | Public Function HookOff() - | vtable = Wrap.NumGet(pMes) - | Wrap.NumPut oldFunc, vtable,(20 - 1) * 4 - | Wrap.VirtualProtect vtable + (20 - 1) * 4, 4, PAGE_EXECUTE_READ, ppv - | - | PrepareParams paramArr2, 2 - | PrepareParams paramArr9, 9 - | End Function -//} | - |End Class -//} | - |Set oServ = New Service - |"; - - Возврат ТекстМодуля; -КонецФункции - -Функция Funcs() - ТекстМодуля = " -//{ |getN - |Public Function getN(pIContext, nfunc) - | getN = 0 - | If pIContext <> 0 Then - | oServ.vfunc pIContext, 4 * (nfunc - 1) - | getN = Wrap.ImplBase_getN(pIContext) - | End If - |End Function -//} | -//{ |ImplBase_getN - |Public Function ImplBase_getN(Obj, nfunc) - | ImplBase_getN = 0 - | If VarType(Obj) = VT_BSTR Then - | For j = 0 To oServ.numGK - | pIContext = Wrap.NumGet(oServ.pArray, j * 4) - | ImplBase_getN = ImplBase_getN + getN(pIContext, nfunc) - | Next - | Else - | pObj = Wrap.GetIDispatch(Obj) - | pIContext = Wrap.NumGet(pObj, platform_offset) - | - //| If pIContext <> 0 Then - //| oServ.Message Hex(pIContext) - //| oServ.Message Hex(Wrap.NumGet(pIContext)) - //| End If - | - | ImplBase_getN = getN(pIContext, nfunc) - | End if - |End Function -//} | -//{ |ImplBase_getName - |Public Function ImplBase_getName(pIContext, num, nfunc) - | ImplBase_getName = 0 - | If pIContext <> 0 Then - | j = 1 - | Do While j > -1 - | oServ.vfunc pIContext, 4 * (nfunc - 1) - | pbstrName = Wrap.ImplBase_getName(pIContext, num, j) - | - | If (pbstrName <> 0) Then - | If Wrap.StrGet(pbstrName) <> """" Then - | ImplBase_getName = pbstrName - | Exit Do - | End If - | End If - | j = j - 1 - | Loop - | End If - |End Function -//} | -//{ |valFill - |Public Function valFill(pIContext, num, valTable, nfunc, ContID) - | For j = 0 To num - 1 - | pStr = ImplBase_getName(pIContext, j, nfunc) - | If (pStr <> 0) Then - | Set nRow = valTable.Add() - | nRow.Name = Wrap.StrGet(pStr) - | - | oServ.vfunc pIContext, 4 * (15 - 1) - | nRow.Val = Wrap.ImplBase_hasRetVal(pIContext, j) - | - | oServ.vfunc pIContext, 4 * (11 - 1) - | nRow.NParams = Wrap.ImplBase_getNParams(pIContext, j) - | nRow.ID = j - | nRow.ContID = ContID - | End If - | Next - |End Function -//} | -//{ |Fill - |Public Function Fill(Obj, valTable, nfunc) - | Fill = 0 - | - | If VarType(Obj) = VT_BSTR Then - | For j = 0 To oServ.numGK - | pIContext = Wrap.NumGet(oServ.pArray, j * 4) - | num = getN(pIContext, nfunc - 1) - | Fill = Fill + num - | valFill pIContext, num, valTable, nfunc, j - | Next - | Else - | pObj = Wrap.GetIDispatch(Obj) - | pIContext = Wrap.NumGet(pObj, platform_offset) - | - | Fill = getN(pIContext, nfunc - 1) - | valFill pIContext, Fill, valTable, nfunc, 0 - | End if - |End Function -//} | -//{ |GetContext - |Public Function GetContext(Obj, numCont) - | If VarType(Obj) = VT_BSTR Then - | GetContext = Wrap.NumGet(oServ.pArray, numCont * 4) - | Else - | pObj = Wrap.GetIDispatch(Obj) - | GetContext = Wrap.NumGet(pObj, platform_offset) - | End If - |End Function -//} | -//{ |PrepareDefParams - |Public Function PrepareDefParams(Obj, numFunc, numCont) - | pIContext = GetContext(Obj, numCont) - | PrepareDefParams = oServ.PrepareDefParams(pIContext, numFunc) - |End Function -//} | -//{ |RetValueImplBase - |Public Function RetValueImplBase() - | Set RetValueImplBase = oServ.RetValueImplBase() - |End Function -//} | -//{ |GetIContext - |Public Function GetIContext(Obj) - | GetIContext = """" - | pObj = GetContext(Obj, 0) - | If pObj <> 0 Then - | GetIContext = Hex(pObj) - | End If - |End Function -//} | -//{ |GetVT - |Public Function GetVT(Obj) - | GetVT = """" - | pObj = GetContext(Obj, 0) - | If pObj <> 0 Then - | GetVT = Hex(Wrap.NumGet(pObj)) - | End If - |End Function -//} | -//{ |IContextExtImplBase_call - |Public Function IContextExtImplBase_call(pIContext, numMeth, paramOut, ppArrayParIn) - | If bsl_off_13 = 0 Then - | pFirst = Wrap.NumGet(ppArrayParIn) - | bsl_off_13 = Wrap.NumGet(Wrap.NumGet(pFirst)) - | End If - |End Function -//} | - |"; - - Возврат ТекстМодуля; -КонецФункции - -Функция ТипДоступенДляИсследования(Объект, Уровень = 0) - Если (Объект = Неопределено) И (Уровень = 0) Тогда // глобальный контекст - Объект = СТРОКА_ГЛОБАЛЬНЫЙ_КОНТЕКСТ; - КонецЕсли; - типОбъект = ТипЗнч(Объект); - Если (Объект <> СТРОКА_ГЛОБАЛЬНЫЙ_КОНТЕКСТ) Тогда - If (типОбъект = Тип("Число"))ИЛИ - (типОбъект = Тип("Строка")) ИЛИ - (типОбъект = Тип("Дата")) ИЛИ - (типОбъект = Тип("Булево")) ИЛИ - (типОбъект = Тип("Неопределено")) ИЛИ - (типОбъект = Тип("ComОбъект")) Then - - Возврат Ложь; - EndIf; - КонецЕсли; - Возврат Истина; -КонецФункции - -Функция ЭтоГлобальныйКонтекст(Объект) Экспорт - Возврат Объект = СТРОКА_ГЛОБАЛЬНЫЙ_КОНТЕКСТ ИЛИ Объект = Неопределено; -КонецФункции - -Функция ПолучитьОписание(Объект, ТЗ, Флаг, Уровень) - Рез = ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_СВОЙСТВ_И_МЕТОДОВ; //0 - - Если НЕ ТипДоступенДляИсследования(Объект, Уровень) Тогда Возврат Рез; КонецЕсли; - //типОбъект = ТипЗнч(Объект); - //Если (Объект <> СТРОКА_ГЛОБАЛЬНЫЙ_КОНТЕКСТ) Тогда - // If (типОбъект = Тип("Число"))ИЛИ - // (типОбъект = Тип("Строка")) ИЛИ - // (типОбъект = Тип("Дата")) ИЛИ - // (типОбъект = Тип("Булево")) ИЛИ - // (типОбъект = Тип("Неопределено")) ИЛИ - // (типОбъект = Тип("ComОбъект")) Then - // - // Возврат Рез; - // EndIf; - //КонецЕсли; - - If Флаг = ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_СВОЙСТВ_И_МЕТОДОВ Then //0 - Рез = ScrptCtrl.Run("ImplBase_getN",Объект, 4); - Рез = Рез + ScrptCtrl.Run("ImplBase_getN", Объект, 9); - - //Адр = ScrptCtrl.CodeObject.ImplBase_pIContext(Объект); - //If (Адр <> "0") И (Адр <> "") Then - // Сообщить(""+ Объект + " :" + Адр); - //EndIf; - - ElsIf Флаг = ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_СВОЙСТВ Then //1 - Рез = ScrptCtrl.Run("ImplBase_getN",Объект, 4); - ElsIf Флаг = ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_МЕТОДОВ Then //2 - Рез = ScrptCtrl.Run("ImplBase_getN", Объект, 9); - Else - ТЗ = Новый ТаблицаЗначений; - ТЗ.Колонки.Добавить("Name"); - ТЗ.Колонки.Добавить("Type"); - ТЗ.Колонки.Добавить("Val"); - ТЗ.Колонки.Добавить("NParams"); - ТЗ.Колонки.Добавить("ID"); - ТЗ.Колонки.Добавить("ContID"); - - If Флаг = ФЛАГ_ЗАПОЛНЕНИЯ_ЗАПОЛНИТЬ_СВОЙСТВА Then //3 - ScrptCtrl.Run("Fill", Объект, ТЗ, 5); - Else - ScrptCtrl.Run("Fill", Объект, ТЗ, 10); - EndIf; - //Если (Объект <> СТРОКА_ГЛОБАЛЬНЫЙ_КОНТЕКСТ) Тогда - ТЗ.Сортировать("Name"); - //EndIf; - EndIf; - - Возврат Рез; -КонецФункции - -Процедура ДобавитьВДерево(текСтрока, ТЗ, ТипТЗ, Объект) - Для каждого текСтр Из ТЗ Цикл - новСвойство = текСтрока.Строки.Добавить(); - новСвойство.Наименование = текСтр.Name; //новСвойство.Наименование = текСтр.Name + " (" + ?(Объект <> СТРОКА_ГЛОБАЛЬНЫЙ_КОНТЕКСТ,"", "" + текСтр.ContID + ",") + текСтр.ID + ")"; - - //контИД это порядковый номер контекста из массива Глобальных контекстов, - // ИД номер свойства/метода - //контИД = 0 для не ГлК - новСвойство.ИндексКонтекста = ?(Объект <> СТРОКА_ГЛОБАЛЬНЫЙ_КОНТЕКСТ, "", "" + текСтр.ContID); - новСвойство.Индекс = текСтр.ID; - - текОбъект = ""; - If ТипТЗ = СТРОКА_СВОЙСТВА Then - Если Объект <> СТРОКА_ГЛОБАЛЬНЫЙ_КОНТЕКСТ Тогда - Попытка - текОбъект = Вычислить("Объект."+текСтр.Name);//Объект[текСтр.Name]; - Исключение - КонецПопытки; - Иначе - текОбъект = Вычислить(текСтр.Name); - КонецЕсли; - //текОбъект = Вычислить("Объект."+текСтр.Name);//Объект[текСтр.Name]; - Значение = Строка(текОбъект); - новСвойство.Тип = ТипЗнч(текОбъект); - Else - новСвойство.КоличествоПараметров = текСтр.NParams; - If текСтр.Val = 0 Then //Процедура - Значение = ""; - новСвойство.ЕстьВозвращаемоеЗначение = Ложь; - Else - Значение = СТРОКА_ОПИСАНИЕ_МЕТОДА_БЕЗ_ПАРАМЕТРОВ; - новСвойство.ЕстьВозвращаемоеЗначение = Истина; - EndIf; - EndIf; - - новСвойство.Значение = Значение; - новСвойство.Объект = текОбъект; - GetIContext(новСвойство, текОбъект); - - ЗаполнитьСубДерево(текОбъект, новСвойство, ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_СВОЙСТВ_И_МЕТОДОВ); //0); - КонецЦикла; -КонецПроцедуры - -Процедура ЗаполнитьСубДерево(Объект, текСтрока, Флаг) Экспорт - Перем ТЗ; - - Рез = ПолучитьОписание(Объект, ТЗ, Флаг, текСтрока.Уровень()); - If Флаг < ФЛАГ_ЗАПОЛНЕНИЯ_ЗАПОЛНИТЬ_СВОЙСТВА Then //3 - If Рез > 0 Then - новСтрока = текСтрока.Строки.Добавить(); - If (Флаг > ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_СВОЙСТВ_И_МЕТОДОВ) Then //0 - новСтрока.Наименование = ?(Флаг = ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_СВОЙСТВ, СТРОКА_СВОЙСТВА, СТРОКА_МЕТОДЫ); //1 - новСтрока.Объект = новСтрока.Наименование; - новСтрока.Строки.Добавить(); - EndIf; - EndIf; - ElsIf Флаг = ФЛАГ_ЗАПОЛНЕНИЯ_ЗАПОЛНИТЬ_СВОЙСТВА Then //3 - ДобавитьВДерево(текСтрока, ТЗ, СТРОКА_СВОЙСТВА, Объект); - Else - ДобавитьВДерево(текСтрока, ТЗ, СТРОКА_МЕТОДЫ, Объект); - EndIf; -КонецПроцедуры - -Процедура Очистить(НаборСтрок) Экспорт - Для каждого текСтр Из НаборСтрок Цикл - текСтр.Объект = 0; - текСтр.Значение = 0; - Очистить(текСтр.Строки); - КонецЦикла; -КонецПроцедуры - -Процедура ОбработатьСобытие_ДЗ_ПередРазворачиванием(Элемент, Строка, Отказ) Экспорт - //Уже заполняли - If Строка.УжеЗаполняли = Истина Then Возврат; EndIf; //1 - - Объект = Строка.Объект; - Строка.Строки.Очистить(); - If (Объект = СТРОКА_СВОЙСТВА) Then - ЗаполнитьСубДерево(Строка.Родитель.Объект, Строка, ФЛАГ_ЗАПОЛНЕНИЯ_ЗАПОЛНИТЬ_СВОЙСТВА); //3 - ElsIf (Объект = СТРОКА_МЕТОДЫ) Then - ЗаполнитьСубДерево(Строка.Родитель.Объект, Строка, ФЛАГ_ЗАПОЛНЕНИЯ_ЗАПОЛНИТЬ_МЕТОДЫ); //4 - Else - ЗаполнитьСубДерево(Объект, Строка, ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_СВОЙСТВ); //1 - ЗаполнитьСубДерево(Объект, Строка, ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_МЕТОДОВ); //2 - EndIf; - Строка.УжеЗаполняли = Истина; //1; -КонецПроцедуры - -Функция ПолныйПутьОбъекта(ВыбраннаяСтрока) - If ВыбраннаяСтрока.Родитель = Неопределено Then - Возврат "<Объект>"; - Else - If (ВыбраннаяСтрока.Объект = СТРОКА_СВОЙСТВА) Then - Возврат ПолныйПутьОбъекта(ВыбраннаяСтрока.Родитель); - ElsIf (ВыбраннаяСтрока.Объект = СТРОКА_МЕТОДЫ) Then - Возврат ПолныйПутьОбъекта(ВыбраннаяСтрока.Родитель); - Else - тег = ?(ВыбраннаяСтрока.Родитель.Объект = СТРОКА_СВОЙСТВА, "" , "()"); - Возврат ПолныйПутьОбъекта(ВыбраннаяСтрока.Родитель) + "." + ВыбраннаяСтрока.Наименование + тег; - EndIf; - EndIf; -КонецФункции - -Процедура ОбработатьСобытие_ДЗ_Выбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка) Экспорт - If (Колонка.Имя = "Наименование") И ((ВыбраннаяСтрока.Объект <> СТРОКА_СВОЙСТВА) И (ВыбраннаяСтрока.Объект <> СТРОКА_МЕТОДЫ)) Then - Сообщить(ПолныйПутьОбъекта(ВыбраннаяСтрока)); - ElsIf (Колонка.Имя = "vtable") ИЛИ (Колонка.Имя = "IContext") Then - Сообщить(Вычислить("ВыбраннаяСтрока." + Колонка.Имя)); - ElsIf (ВыбраннаяСтрока.ЕстьВозвращаемоеЗначение = Истина) И (ВыбраннаяСтрока.Значение = СТРОКА_ОПИСАНИЕ_МЕТОДА_БЕЗ_ПАРАМЕТРОВ) Then //1 - ВычислитьФункциюВСтроке(ВыбраннаяСтрока); - EndIf; -КонецПроцедуры - -Процедура вспВычислитьФункциюВСтроке(ВыбраннаяСтрока, текОбъект) - ВыбраннаяСтрока.Тип = ТипЗнч(текОбъект); - ВыбраннаяСтрока.Значение = Строка(текОбъект); - ВыбраннаяСтрока.Объект = текОбъект; - - ЗаполнитьСубДерево(текОбъект, ВыбраннаяСтрока, ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_СВОЙСТВ_И_МЕТОДОВ); //0 -КонецПроцедуры - -Процедура ВычислитьФункциюВСтроке(ВыбраннаяСтрока) Экспорт - текОбъект = ВыбраннаяСтрока.Родитель.Родитель.Объект; - param = ScrptCtrl.Run("PrepareDefParams", текОбъект, ВыбраннаяСтрока.Индекс, ВыбраннаяСтрока.индексКонтекста); - - If param = -1 Then - Попытка - Если текОбъект <> СТРОКА_ГЛОБАЛЬНЫЙ_КОНТЕКСТ Тогда - текОбъект = Вычислить("текОбъект." + ВыбраннаяСтрока.Наименование + "()"); - Иначе - текОбъект = Вычислить(ВыбраннаяСтрока.Наименование + "()"); - КонецЕсли; - //текОбъект = Вычислить("текОбъект." + ВыбраннаяСтрока.Наименование + "()"); - - вспВычислитьФункциюВСтроке(ВыбраннаяСтрока, текОбъект); - GetIContext(ВыбраннаяСтрока, текОбъект); - Исключение - Ошибка = ОписаниеОшибки(); - Поз = Найти(Ошибка, "Недостаточно фактических параметров"); - ВыбраннаяСтрока.Значение = ?(Поз >0, Сред(Ошибка, Поз), Ошибка); - КонецПопытки; - Else - Попытка - pIContext = ScrptCtrl.Run("GetContext", текОбъект, ВыбраннаяСтрока.индексКонтекста); - res = Wrap.ImplBase_call(pIContext, ВыбраннаяСтрока.Индекс, ppv, param); - текОбъект = ScrptCtrl.Run("RetValueImplBase"); - вспВычислитьФункциюВСтроке(ВыбраннаяСтрока, текОбъект); - GetIContext(ВыбраннаяСтрока, текОбъект); - Исключение - Ошибка = ОписаниеОшибки(); - Стр = "Произошла исключительная ситуация:"; - Поз = ?(Найти(Ошибка, Стр) >0, Найти(Ошибка, Стр) + СтрДлина(Стр), 1); - - ВыбраннаяСтрока.Значение = Сред(Ошибка, Поз); - КонецПопытки; - EndIf; -КонецПроцедуры - -#КонецЕсли - -// ================================== ================================== ================================== -// -// блок кода из "Инструменты разработчика" -// -// ================================== ================================== ================================== - -#Если Клиент Тогда - -// Получает новый экземпляр ком-объекта парсера. -// -// Параметры: -// Нет. -// -// Возвращаемое значение: -// Com-объект, Неопределено. -// -Функция ПолучитьWinAPI() //Экспорт - - Если Wrap = "НеИнициализирован" Тогда - Wrap = ПолучитьCOMОбъектИзМакета(ИМЯ_КЛАССА_DynamicWrapperX, ИМЯ_КЛАССА_DynamicWrapperX); - Если Wrap <> Неопределено Тогда - Wrap.Register( "KERNEL32.DLL","Sleep","i=h","f=s"); - //Wrap.Register( "KERNEL32.DLL","GetTickCount64","r=l","f=s"); // обычный DynamicWrapper на x86 подключает, а этот - нет - Wrap.Register( "KERNEL32.DLL","GetTickCount","r=l","f=s"); - Wrap.Register( "KERNEL32.DLL","GetProcessId","i=l","r=l","f=s"); - Wrap.Register( "KERNEL32.DLL","GetCurrentProcessId","r=l","f=s"); - Wrap.Register( "WINMM.DLL", "timeGetTime", "r=l", "f=s"); - Wrap.Register( "WINMM.DLL", "timeBeginPeriod", "i=l", "r=l", "f=s"); - Wrap.Register( "WINMM.DLL", "timeEndPeriod", "i=l", "r=l", "f=s"); - Иначе - // Под пользователем ОС без админских прав сразу после установки через regsvr32 /i компонента не создается почему то. - // Нужно перезапускать приложение. - Предупреждение("Установлена новая компонента. Сеанс будет перезапущен", 5); - ПрекратитьРаботуСистемы(Истина); - КонецЕсли; - КонецЕсли; - Возврат Wrap; - -КонецФункции // ПолучитьWinAPI() - -#КонецЕсли - -Функция ЗарегистрироватьПолучитьCOMОбъект(КлассКомпоненты, ПолноеИмяDll) //Экспорт - - // Сначала пробуем зарегистрировать для HKLM - КоманднаяСтрока = "regsvr32 /s """ + ПолноеИмяDll + """"; - //КомандаСистемы(КоманднаяСтрока); - ЗапуститьСкрытоеПриложениеИДождатьсяЗавершения(КоманднаяСтрока, , Истина); - Попытка - Компонента = Новый COMОбъект(КлассКомпоненты); - Исключение - КонецПопытки; - Если Компонента <> Неопределено Тогда - Сообщить("Зарегистрирована COM-компонента " + КлассКомпоненты, СтатусСообщения.Информация); - Возврат Компонента; - КонецЕсли; - - // Теперь пробуем зарегистрировать для HKCU - КоманднаяСтрока = "regsvr32 /s /i""" + ПолноеИмяDll + """"; - //КомандаСистемы(КоманднаяСтрока); - ЗапуститьСкрытоеПриложениеИДождатьсяЗавершения(КоманднаяСтрока, , Истина); - Попытка - Компонента = Новый COMОбъект(КлассКомпоненты); - Исключение - КонецПопытки; - Если Компонента <> Неопределено Тогда - Сообщить("Зарегистрирована COM-компонента " + КлассКомпоненты, СтатусСообщения.Информация); - Возврат Компонента; - КонецЕсли; - - Если ФайлРегистратораКомпонент = Неопределено Тогда - ФайлРегистратораКомпонент = Новый Файл(ПолучитьИмяВременногоФайла("exe")); - ПолучитьМакет("regsvrex").Записать(ФайлРегистратораКомпонент.ПолноеИмя); - КонецЕсли; - - // Теперь пробуем зарегистрировать для HKCU через сторонний регистратор - КоманднаяСтрока = """" + ФайлРегистратораКомпонент.ПолноеИмя + """ /c /s """ + ПолноеИмяDll + """"; - //КомандаСистемы(КоманднаяСтрока); - ЗапуститьСкрытоеПриложениеИДождатьсяЗавершения(КоманднаяСтрока, , Истина); - Попытка - Компонента = Новый COMОбъект(КлассКомпоненты); - Исключение - КонецПопытки; - Если Компонента <> Неопределено Тогда - Сообщить("Зарегистрирована COM-компонента " + КлассКомпоненты, СтатусСообщения.Информация); - Возврат Компонента; - КонецЕсли; - - // Теперь пробуем зарегистрировать для HKCU через сторонний регистратор - КоманднаяСтрока = """" + ФайлРегистратораКомпонент.ПолноеИмя + """ /c /s /i """ + ПолноеИмяDll + """"; - //КомандаСистемы(КоманднаяСтрока); - ЗапуститьСкрытоеПриложениеИДождатьсяЗавершения(КоманднаяСтрока, , Истина); - Попытка - Компонента = Новый COMОбъект(КлассКомпоненты); - Исключение - КонецПопытки; - Если Компонента <> Неопределено Тогда - Сообщить("Зарегистрирована COM-компонента " + КлассКомпоненты, СтатусСообщения.Информация); - Возврат Компонента; - КонецЕсли; - - Сообщить("Не удалось зарегистривать COM-компоненту " + КлассКомпоненты + ". Возможно требуются права администратора ОС", - СтатусСообщения.Внимание); - Возврат Неопределено; - -КонецФункции // ЗарегистрироватьПолучитьCOMОбъект - -// Возвращает нужный com-объект. Если компонента не зарегистрирована, то пытается ее сохранить из макета и зарегистрировать. -// -// Параметры: -// Нет. -// -// Возвращаемое значение: -// COM-объект, Неопределено. -// -Функция ПолучитьCOMОбъектИзМакета(ИмяКомпоненты, КлассКомпоненты, КаталогУстановки = "авто") //Экспорт - - Попытка - Компонента = Новый COMОбъект(КлассКомпоненты); - - // -- Артур -- 14.09.2011 - вставка в код ИР - Если КлассКомпоненты = ИМЯ_КЛАССА_DynamicWrapperX Тогда - Попытка - л = Компонента.GetIDispatch(Компонента); - Возврат Компонента; - Исключение - //ВызватьИсключение "Зарегистрирована старая версия COM-объекта DynamicWrapperX"; - КонецПопытки; - КонецЕсли; - //Возврат Компонента; - // --завершение - - Исключение - КонецПопытки; - - #Если Клиент Тогда - Если КаталогУстановки = "" Тогда - Ответ = Вопрос("Для работы данной функции необходимо зарегистрировать - //|(необходимы права локального администратора) - | COM-компоненту """ + ИмяКомпоненты + """. Выполнить регистрацию?", - РежимДиалогаВопрос.ОКОтмена, 30, КодВозвратаДиалога.Отмена); - Если Ответ = КодВозвратаДиалога.Отмена Тогда - Возврат Неопределено; - КонецЕсли; - ВыборФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога); - ВыборФайла.Заголовок = "Укажите папку, куда установить компоненту."; - Если Не ВыборФайла.Выбрать() Тогда - Возврат Неопределено; - КонецЕсли; - КаталогУстановки = ВыборФайла.Каталог; - ИначеЕсли Нрег(КаталогУстановки) = Нрег("авто") Тогда - КаталогУстановки = ПапкаВнешнихКомпонент.ПолноеИмя; - КонецЕсли; - ФайлКомпоненты = Новый Файл(КаталогУстановки + "\" + ИмяКомпоненты + ".dll"); - Если Не ФайлКомпоненты.Существует() Тогда - ПолучитьМакет(ИмяКомпоненты).Записать(ФайлКомпоненты.ПолноеИмя); - КонецЕсли; - - Результат = ЗарегистрироватьПолучитьCOMОбъект(КлассКомпоненты, ФайлКомпоненты.ПолноеИмя); - #Иначе - Результат = Неопределено; - #КонецЕсли - Возврат Результат; - -КонецФункции // ПолучитьCOMОбъектИзМакета() - -// <Описание процедуры> -// -// Параметры: -// <Параметр1> – <Тип.Вид> – <описание параметра> -// <продолжение описания параметра>; -// ИмяФайлаРезультата – Краткое имя файла, в который будет выведен выходной поток, только в текущем каталоге. -// -Процедура ЗапуститьСкрытоеПриложениеИДождатьсяЗавершения(Знач СтрокаЗапуска, ТекущийКаталог = "\.", ИспользоватьWSH = Ложь, - КраткоеИмяФайлаРезультата = "") //Экспорт - - #Если Клиент Тогда - // Баг платформы здесь будет работать. Во время работы данной строки окно продолжает принимать команды! - // WSH не использовать при генерации внешних обработок - Если ИспользоватьWSH Тогда - #КонецЕсли - WshShell.CurrentDirectory = ТекущийКаталог; - СтрокаЗапуска = "cmd.exe /c """ + СтрокаЗапуска + """"; - Если КраткоеИмяФайлаРезультата <> "" Тогда - СтрокаЗапуска = СтрокаЗапуска + " > " + КраткоеИмяФайлаРезультата; - СтрокаЗапуска = СтрокаЗапуска + " 2>&1"; //stderr - КонецЕсли; - Попытка - WshShell.Run(СтрокаЗапуска, 0, Истина); - Исключение - // Для x64 ОС - СтрокаЗапуска = "%windir%\Sysnative\" + СтрокаЗапуска; - WshShell.Run(СтрокаЗапуска, 0, Истина); - КонецПопытки; - #Если Клиент Тогда - Иначе - ВызватьИсключение "Работаем только через WSH"; - //ПолучитьИсполнительСкрытыхКомандСистемы(); - //КонечнаяСтрока = ИсполнительСкрытыхКомандСистемы + " /nowindow /wait /silent /D=""" + ТекущийКаталог + """ " + СтрокаЗапуска; - //ЗапуститьПриложение(КонечнаяСтрока, , Истина); - КонецЕсли; - #КонецЕсли - -КонецПроцедуры // ЗапуститьСкрытоеПриложениеИДождатьсяЗавершения() - -//Функция ПолучитьИсполнительСкрытыхКомандСистемы() //Экспорт -// -// Если ИсполнительСкрытыхКомандСистемы = Неопределено Тогда -// ДвоичныеДанные = ПолучитьОбщийМакет("hstart"); -// ИсполнительСкрытыхКомандСистемы = ПолучитьИмяВременногоФайла("exe"); -// ДвоичныеДанные.Записать(ИсполнительСкрытыхКомандСистемы); -// ИсполнительСкрытыхКомандСистемы = """" + ИсполнительСкрытыхКомандСистемы + """"; -// КонецЕсли; -// Возврат ИсполнительСкрытыхКомандСистемы; -// -//КонецФункции - -// ================================== ================================== ================================== -// -// окончание блока кода из "Инструменты разработчика" -// -// ================================== ================================== ================================== - -#Если Клиент Тогда - -// основная процедура для юнит-тестирования 1CUnit -Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт - юТест = ЮнитТестирование; - - ВсеТесты = Новый Массив; - - ВсеТесты.Добавить("Тесты_ВызовДеструктораОбъектов"); - ВсеТесты.Добавить("Тесты_ПолучитьТаблицуСвойств"); - ВсеТесты.Добавить("Тесты_ПолучитьТаблицуМетодов"); - ВсеТесты.Добавить("Тесты_ПолучитьТаблицуСвойств_Глобальный"); - ВсеТесты.Добавить("Тесты_ПолучитьТаблицуМетодов_Глобальный"); - ВсеТесты.Добавить("Тесты_СвойствоСуществует"); - ВсеТесты.Добавить("Тесты_МетодСуществует"); - ВсеТесты.Добавить("Тесты_СвойствоСуществует_Глобальный"); - ВсеТесты.Добавить("Тесты_МетодСуществует_Глобальный"); - - Возврат ВсеТесты; -КонецФункции - -Процедура ПередЗапускомТеста() Экспорт -КонецПроцедуры - -Процедура ПослеЗапускаТеста() Экспорт -КонецПроцедуры - -Процедура Тесты_ВызовДеструктораОбъектов() Экспорт - лФорма = ЭтотОбъект.ПолучитьФорму("ТестВыполненияДеструктора", , "1"); - лФорма.Реквизит = 1; - лФорма.Открыть(); - - успешно = ЭтотОбъект.МетодСуществует(лФорма, "Метод1"); - - //Сообщить("До закрытия"); - лФорма.Закрыть(); - //Сообщить("После закрытия"); - //лФорма = Неопределено; - лФорма = ЭтотОбъект.ПолучитьФорму("ТестВыполненияДеструктора", , "1"); - юТест.ПроверитьНеравенство(лФорма.Реквизит, 1, "лФорма.Реквизит, 1"); - лФорма = Неопределено; - //лФорма.Открыть(); - //Сообщить("После деструктора"); -КонецПроцедуры - -#КонецЕсли - -// ======================= ======================= ======================= ======================= -// -// БЛОК ЮНИТ-ТЕСТОВ - сами тесты -// -// ======================= ======================= ======================= ======================= - -Процедура Тесты_ПолучитьТаблицуСвойств() Экспорт - тестТЗ = Новый ТаблицаЗначений; - тестТЗ.Колонки.Добавить("Колонка1"); - НоваяСтрока = тестТЗ.Добавить(); - - таблицаСвойств = ЭтотОбъект.ПолучитьТаблицуСвойств(тестТЗ); - юТест.ПроверитьБольшеИлиРавно(таблицаСвойств.Колонки.Количество(), 5, "таблицаСвойств.Колонки.Количество()"); - юТест.ПроверитьРавенство(таблицаСвойств.Количество(), 2, "таблицаСвойств.Количество()"); - юТест.ПроверитьРавенство(таблицаСвойств[0].Наименование, "Индексы", "таблицаСвойств[0].Наименование"); - юТест.ПроверитьРавенство(таблицаСвойств[1].Наименование, "Колонки", "таблицаСвойств[0].Наименование"); -КонецПроцедуры - -Процедура Тесты_ПолучитьТаблицуМетодов() Экспорт - тестТЗ = Новый ТаблицаЗначений; - тестТЗ.Колонки.Добавить("Колонка1"); - НоваяСтрока = тестТЗ.Добавить(); - - таблица = ЭтотОбъект.ПолучитьТаблицуМетодов(тестТЗ); - юТест.ПроверитьБольшеИлиРавно(таблица.Колонки.Количество(), 5, "таблица.Колонки.Количество()"); - юТест.ПроверитьРавенство(таблица.Количество(), 19, "таблица.Количество()"); - юТест.ПроверитьРавенство(таблица[0].Наименование, "Вставить", "таблица[0].Наименование"); - юТест.ПроверитьИстину(таблица[0].ЕстьВозвращаемоеЗначение, "таблица[0].ЕстьВозвращаемоеЗначение"); - юТест.ПроверитьРавенство(таблица[0].КоличествоПараметров, 1, "таблица[0].КоличествоПараметров"); - - юТест.ПроверитьРавенство(таблица[4].Наименование, "ЗагрузитьКолонку", "таблица[4].Наименование"); - юТест.ПроверитьЛожь(таблица[4].ЕстьВозвращаемоеЗначение, "таблица[4].ЕстьВозвращаемоеЗначение"); - юТест.ПроверитьРавенство(таблица[4].КоличествоПараметров, 2, "таблица[4].КоличествоПараметров"); // ПАДАЕТ ЗДЕСЬ - - юТест.ПроверитьРавенство(таблица[18].Наименование, "Удалить", "таблица[Последняя].Наименование"); - - Если Ложь Тогда - таблица = Новый ТаблицаЗначений; - КонецЕсли; - строка = таблица.Найти("Количество", "Наименование"); - юТест.ПроверитьНеравенство(строка, Неопределено, "таблица.НайтиСтроки(Количество, Наименование)"); - юТест.ПроверитьИстину(строка.ЕстьВозвращаемоеЗначение, "строка.ЕстьВозвращаемоеЗначение"); - юТест.ПроверитьРавенство(строка.КоличествоПараметров, 0, "таблица[0].КоличествоПараметров"); -КонецПроцедуры - -Процедура Тесты_ПолучитьТаблицуСвойств_Глобальный() Экспорт - таблица = ЭтотОбъект.ПолучитьТаблицуСвойств(Неопределено); - юТест.ПроверитьБольшеИлиРавно(таблица.Колонки.Количество(), 5, "таблица.Колонки.Количество()"); - юТест.ПроверитьБольшеИлиРавно(таблица.Количество(), 10, "таблица.Количество()"); - - строка = таблица.Найти("SelectRecordType", "Наименование"); - юТест.ПроверитьНеравенство(строка, Неопределено, "таблица.НайтиСтроки(Количество, Наименование)"); - //юТест.ПроверитьРавенство(таблицаСвойств[0].Наименование, "Индексы", "таблицаСвойств[0].Наименование"); - //юТест.ПроверитьРавенство(таблицаСвойств[1].Наименование, "Колонки", "таблицаСвойств[0].Наименование"); -КонецПроцедуры - -Процедура Тесты_ПолучитьТаблицуМетодов_Глобальный() Экспорт - таблица = ЭтотОбъект.ПолучитьТаблицуМетодов(Неопределено); - юТест.ПроверитьБольшеИлиРавно(таблица.Колонки.Количество(), 5, "таблица.Колонки.Количество()"); - юТест.ПроверитьБольшеИлиРавно(таблица.Количество(), 30, "таблица.Количество()"); - //юТест.ПроверитьРавенство(таблица[0].Наименование, "Вставить", "таблица[0].Наименование"); - //юТест.ПроверитьИстину(таблица[0].ЕстьВозвращаемоеЗначение, "таблица[0].ЕстьВозвращаемоеЗначение"); - //юТест.ПроверитьРавенство(таблица[0].КоличествоПараметров, 1, "таблица[0].КоличествоПараметров"); - //юТест.ПроверитьРавенство(таблица[18].Наименование, "Удалить", "таблица[Последняя].Наименование"); - - Если Ложь Тогда - таблица = Новый ТаблицаЗначений; - КонецЕсли; - строка = таблица.Найти("XMLЗначение", "Наименование"); - юТест.ПроверитьНеравенство(строка, Неопределено, "таблица.НайтиСтроки(Количество, Наименование)"); - юТест.ПроверитьИстину(строка.ЕстьВозвращаемоеЗначение, "строка.ЕстьВозвращаемоеЗначение"); - юТест.ПроверитьРавенство(строка.КоличествоПараметров, 2, "таблица[0].КоличествоПараметров"); -КонецПроцедуры - -Процедура Тесты_СвойствоСуществует() Экспорт - тестТЗ = Новый ТаблицаЗначений; - тестТЗ.Колонки.Добавить("Колонка1"); - НоваяСтрока = тестТЗ.Добавить(); - - существует = ЭтотОбъект.СвойствоСуществует(тестТЗ, "Колонки"); - юТест.ПроверитьИстину(существует, "существует Колонки"); - - существует = ЭтотОбъект.СвойствоСуществует(тестТЗ, "Колонки1564"); - юТест.ПроверитьЛожь(существует, "существует Колонки1564"); -КонецПроцедуры - -Процедура Тесты_МетодСуществует() Экспорт - тестТЗ = Новый ТаблицаЗначений; - тестТЗ.Колонки.Добавить("Колонка1"); - НоваяСтрока = тестТЗ.Добавить(); - - существует = ЭтотОбъект.МетодСуществует(тестТЗ, "Количество"); - юТест.ПроверитьИстину(существует, "существует Количество"); - - существует = ЭтотОбъект.МетодСуществует(тестТЗ, "Количество1564"); - юТест.ПроверитьЛожь(существует, "существует Количество1564"); -КонецПроцедуры - -Процедура Тесты_СвойствоСуществует_Глобальный() Экспорт - существует = ЭтотОбъект.СвойствоСуществует(Неопределено, "SelectRecordType"); - юТест.ПроверитьИстину(существует, "существует SelectRecordType"); - - существует = ЭтотОбъект.СвойствоСуществует(Неопределено, "SelectRecordType1564"); - юТест.ПроверитьЛожь(существует, "существует SelectRecordType1564"); -КонецПроцедуры - -Процедура Тесты_МетодСуществует_Глобальный() Экспорт - существует = ЭтотОбъект.МетодСуществует(Неопределено, "XMLЗначение"); - юТест.ПроверитьИстину(существует, "существует XMLЗначение"); - - существует = ЭтотОбъект.МетодСуществует(Неопределено, "XMLЗначение1564"); - юТест.ПроверитьЛожь(существует, "существует XMLЗначение1564"); -КонецПроцедуры - -// ======================= ======================= ======================= ======================= -// -// КОНЕЦ БЛОКА ЮНИТ-ТЕСТОВ -// -// ======================= ======================= ======================= ======================= - -//#КонецЕсли - -//================================== -ИМЯ_КЛАССА_DynamicWrapperX = "DynamicWrapperX"; - -СТРОКА_ОПИСАНИЕ_МЕТОДА_БЕЗ_ПАРАМЕТРОВ = "<Двойной клик по ячейке>"; -СТРОКА_МЕТОДЫ = "Методы"; -СТРОКА_СВОЙСТВА = "Свойства"; - -СТРОКА_ГЛОБАЛЬНЫЙ_КОНТЕКСТ = "ГлобальныйКонтекст"; - -ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_СВОЙСТВ_И_МЕТОДОВ = 0; -ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_СВОЙСТВ = 1; -ФЛАГ_ЗАПОЛНЕНИЯ_ПРОВЕРИТЬ_СУЩЕСТВОВАНИЕ_МЕТОДОВ = 2; -ФЛАГ_ЗАПОЛНЕНИЯ_ЗАПОЛНИТЬ_СВОЙСТВА = 3; -ФЛАГ_ЗАПОЛНЕНИЯ_ЗАПОЛНИТЬ_МЕТОДЫ = 4; - -#Если Клиент Тогда -Инит(); -#КонецЕсли diff --git a/src/xddInformator/renames.txt b/src/xddInformator/renames.txt deleted file mode 100644 index 55641578..00000000 --- a/src/xddInformator/renames.txt +++ /dev/null @@ -1,20 +0,0 @@ -086ad3d2-8d65-433e-b0e8-7ff530ba743f-->und\086ad3d2-8d65-433e-b0e8-7ff530ba743f -086ad3d2-8d65-433e-b0e8-7ff530ba743f.0-->Макеты\regsvrex.txt -086ad3d2-8d65-433e-b0e8-7ff530ba743f.0-->und\086ad3d2-8d65-433e-b0e8-7ff530ba743f.0 -4e7ed6e0-c9f6-4f27-b7c5-3c43bcd48d5e-->und\4e7ed6e0-c9f6-4f27-b7c5-3c43bcd48d5e -4e7ed6e0-c9f6-4f27-b7c5-3c43bcd48d5e.0-->Form\Форма -52a1ccc3-6b0d-4567-935b-b2ed53f861f4-->und\52a1ccc3-6b0d-4567-935b-b2ed53f861f4 -9103c8d6-5b2e-451d-b65c-084dc4d7e550-->und\9103c8d6-5b2e-451d-b65c-084dc4d7e550 -9103c8d6-5b2e-451d-b65c-084dc4d7e550.0-->Макеты\DynamicWrapperX.txt -9103c8d6-5b2e-451d-b65c-084dc4d7e550.0-->und\9103c8d6-5b2e-451d-b65c-084dc4d7e550.0 -bfe4f214-cce0-401b-a06d-14142add0cc4.0\info-->und\bfe4f214-cce0-401b-a06d-14142add0cc4.0\info -bfe4f214-cce0-401b-a06d-14142add0cc4.0\text-->ObjectModule.txt -cda1fe1b-4d28-4bc3-bd16-ee8a00eaf201-->und\cda1fe1b-4d28-4bc3-bd16-ee8a00eaf201 -cda1fe1b-4d28-4bc3-bd16-ee8a00eaf201.0-->Макеты\Справка.txt -cda1fe1b-4d28-4bc3-bd16-ee8a00eaf201.0-->und\cda1fe1b-4d28-4bc3-bd16-ee8a00eaf201.0 -copyinfo-->und\copyinfo -e557bbbf-ecd6-4988-ae29-6ecfbd2e1d5a-->und\e557bbbf-ecd6-4988-ae29-6ecfbd2e1d5a -e557bbbf-ecd6-4988-ae29-6ecfbd2e1d5a.0-->Form\ТестВыполненияДеструктора -root-->und\root -version-->und\version -versions-->und\versions diff --git a/src/xddInformator/und/086ad3d2-8d65-433e-b0e8-7ff530ba743f b/src/xddInformator/und/086ad3d2-8d65-433e-b0e8-7ff530ba743f deleted file mode 100644 index f7835b6a..00000000 --- a/src/xddInformator/und/086ad3d2-8d65-433e-b0e8-7ff530ba743f +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,1, -{0, -{0,0,086ad3d2-8d65-433e-b0e8-7ff530ba743f},"regsvrex", -{1,"ru","Regsvrex"},""} -},0} \ No newline at end of file diff --git a/src/xddInformator/und/086ad3d2-8d65-433e-b0e8-7ff530ba743f.0 b/src/xddInformator/und/086ad3d2-8d65-433e-b0e8-7ff530ba743f.0 deleted file mode 100644 index e3c8d956..00000000 --- a/src/xddInformator/und/086ad3d2-8d65-433e-b0e8-7ff530ba743f.0 +++ /dev/null @@ -1,429 +0,0 @@ -{1, -{#base64:TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAyAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5v -dCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAACD8Kh9x5HGLseRxi7HkcYu -x5HHLsiRxi6ljtUuzpHGLsGyzS7FkcYuAJfALsaRxi5SaWNox5HGLgAAAAAAAAAA -AAAAAAAAAABQRQAATAEEAAG7SUUAAAAAAAAAAOAADwELAQYAABAAAAAwAAAAAAAA -VhYAAAAQAAAAIAAAAABAAAAQAAAAEAAABAAAAAAAAAAEAAAAAAAAAABQAAAAEAAA -AAAAAAIAAAAAABAAABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAEwgAABkAAAA -AEAAANAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAATAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAAtgYAAAAQAAAAEAAAABAAAAAAAAAAAAAA -AAAAACAAAGAucmRhdGEAACICAAAAIAAAABAAAAAgAAAAAAAAAAAAAAAAAABAAABA -LmRhdGEAAACUAAAAADAAAAAQAAAAMAAAAAAAAAAAAAAAAAAAQAAAwC5yc3JjAAAA -0AkAAABAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -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 -QABW/3X4/9eL+Dv7dRVWU2oFjYXY/P//ajBQ6ID6//+DxBT/dQgzwDhd5Q+UwFD/ -1zvDdSxWU2oGjYXY/P//akBQ6Fn6//+DxBTrSGoHjYXY/P//ajBQ6ET6//+DxBTr -FlBWU2oIjYXY/P//ajBQ6Cz6//+DxBiNTRDoLv7//41N7OiG/f//jU386FIAAABq -A1jrO41NEOgR/v//jU3s6Gn9//+NTfzoNQAAAIvD6x9qAWoCahDrBmoAagFqQI2F -2Pz//1Do1vn//4PEEDPAX15bycIQAIvBi0wkBIkIwgQAVovxiwaFwHQHUP8VDCBA -AIMmAF7D/xUcIEAAgDgidRCKSAFAhMl0GoD5InXzQOsSikgBQITJdAqA+SB0BYD5 -CXXuigiA+SB05ID5CXTfagVQagBqAP8VJCBAAFDoff3//1D/FRggQADD/yVEIEAA -/yVAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYIQAAyiEAAAAAAABEIQAA -CCEAAC4hAAB0IQAAgiEAAPwgAAAaIQAAUiEAAGQhAAAAAAAAsCEAAKIhAAAAAAAA -BiIAAPYhAAAAAAAAvCAAAAAAAAAAAAAAlCEAAAwgAADkIAAAAAAAAAAAAAC+IQAA -NCAAALAgAAAAAAAAAAAAAOghAAAAIAAA8CAAAAAAAAAAAAAAGCIAAEAgAAAAAAAA -AAAAAAAAAAAAAAAAAAAAANghAADKIQAAAAAAAEQhAAAIIQAALiEAAHQhAACCIQAA -/CAAABohAABSIQAAZCEAAAAAAACwIQAAoiEAAAAAAAAGIgAA9iEAAAAAAADMAUxv -Y2FsRnJlZQCvAEZvcm1hdE1lc3NhZ2VBAAAmAUdldE1vZHVsZUhhbmRsZUEAAOQB -TXVsdGlCeXRlVG9XaWRlQ2hhcgC0AEZyZWVMaWJyYXJ5AD4BR2V0UHJvY0FkZHJl -c3MAAMIBTG9hZExpYnJhcnlBAAB9AEV4aXRQcm9jZXNzAMoAR2V0Q29tbWFuZExp -bmVBAEtFUk5FTDMyLmRsbAAAvgFNZXNzYWdlQm94QQCrAUxvYWRTdHJpbmdBAFVT -RVIzMi5kbGwAAFsBUmVnQ2xvc2VLZXkAcgFSZWdPcGVuS2V5RXhBAEFEVkFQSTMy -LmRsbAAAyQBPbGVJbml0aWFsaXplAOAAT2xlVW5pbml0aWFsaXplAG9sZTMyLmRs -bAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -UmVnc3ZyRVgAAAAAJTEKCiUyAABzY3JvYmouZGxsAABTb2Z0d2FyZVxDbGFzc2Vz -AAAAAFJlZ092ZXJyaWRlUHJlZGVmS2V5AAAAAGFkdmFwaTMyLmRsbAAAAABEbGxJ -bnN0YWxsAABEbGxSZWdpc3RlclNlcnZlcgAAAERsbFVucmVnaXN0ZXJTZXJ2ZXIA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAGAAAAIAAAgBAAAAA4AACA -AAAAAAAAAAAAAAAAAAABAAEAAABQAACAAAAAAAAAAAAAAAAAAAABAAEAAABoAACA -AAAAAAAAAAAAAAAAAAABABkEAACAAAAAAAAAAAAAAAAAAAAAAAABABkEAACQAAAA -4EMAAPAFAAAAAAAAAAAAAKBAAAA8AwAAAAAAAAAAAAA8AzQAAABWAFMAXwBWAEUA -UgBTAEkATwBOAF8ASQBOAEYATwAAAAAAvQTv/gAAAQAAAAEAAQAAAAAAAQABAAAA -PwAAAAAAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAJwCAAABAFMAdAByAGkAbgBnAEYA -aQBsAGUASQBuAGYAbwAAAHgCAAABADAANAAxADkAMAA0AGIAMAAAABgAAAABAEMA -bwBtAG0AZQBuAHQAcwAAAC4ABwABAEMAbwBtAHAAYQBuAHkATgBhAG0AZQAAAAAA -QQBsAGUAeABxAGMAAAAAADoACQABAEYAaQBsAGUARABlAHMAYwByAGkAcAB0AGkA -bwBuAAAAAAByAGUAZwBzAHYAcgBlAHgAAAAAADYACwABAEYAaQBsAGUAVgBlAHIA -cwBpAG8AbgAAAAAAMQAsACAAMAAsACAAMAAsACAAMQAAAAAAMgAJAAEASQBuAHQA -ZQByAG4AYQBsAE4AYQBtAGUAAAByAGUAZwBzAHYAcgBlAHgAAAAAAEYAEQABAEwA -ZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgAdAAAAEMAbwBwAHkAcgBpAGcAaAB0ACAA -qQAgADIAMAAwADYAAAAAACgAAAABAEwAZQBnAGEAbABUAHIAYQBkAGUAbQBhAHIA -awBzAAAAAABCAA0AAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBuAGEAbQBlAAAA -cgBlAGcAcwB2AHIAZQB4AC4AZQB4AGUAAAAAACAAAAABAFAAcgBpAHYAYQB0AGUA -QgB1AGkAbABkAAAAQAAQAAEAUAByAG8AZAB1AGMAdABOAGEAbQBlAAAAAABBAGwA -ZQB4AHEAYwAgAHIAZQBnAHMAdgByAGUAeAAAADoACwABAFAAcgBvAGQAdQBjAHQA -VgBlAHIAcwBpAG8AbgAAADEALAAgADAALAAgADAALAAgADEAAAAAACAAAAABAFMA -cABlAGMAaQBhAGwAQgB1AGkAbABkAAAARAAAAAEAVgBhAHIARgBpAGwAZQBJAG4A -ZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAAABkEsAQAAAAA -AADvARgEQQQ/BD4EOwRMBDcEPgQyBDAEPQQ4BDUEOgAgAFIAZQBnAFMAdgByAEUA -eAAgAFsALwB1AF0AIABbAC8AcwBdACAAWwAvAG4AXQAgAFsALwBjAF0AIABbAC8A -aQBbADoAYwBtAGQAbABpAG4AZQBdAF0AIABkAGwAbABuAGEAbQBlAAoAIAQ1BDME -OARBBEIEQAQ4BEAEPgQyBDAEQgRMBCAAHgQbBBUEIAAoAEEAYwB0AGkAdgBYACkA -IABBBDUEQAQyBDUEQAQgAGQAbABsAG4AYQBtAGUACgAvAHUAIAAtAAkAIAQwBDcE -QAQ1BDMEOARBBEIEQAQ4BEAEPgQyBDAEQgRMBCAAQQQ1BEAEMgQ1BEAECgAvAHMA -IAAtAAkAEQQ1BDcEIAA/BD4EOgQwBDcEMAQgAD4EOgQ9BDAEIABBBD4EPgQxBEkE -NQQ9BDgEOQQKAC8AaQAgAC0ACQASBEsENwQ+BDIEIABEAGwAbABJAG4AcwB0AGEA -bABsACAAQQQgAD4EPwRGBDgEPgQ9BDAEOwRMBD0ESwQ8BDgEIAA/BDAEQAQwBDwE -NQRCBEAEMAQ8BDgEIABbAGMAbQBkAGwAaQBuAGUAXQA7ACAAQQQgAC8AdQAgADIE -SwQ3BEsEMgQwBDUEQgQgAGQAbABsACAAdQBuAGkAbgBzAHQAYQBsAGwACgAvAG4A -IAAtAAkAPQQ1BCAAMgRLBDcESwQyBDAEQgRMBCAARABsAGwAUgBlAGcAaQBzAHQA -ZQByAFMAZQByAHYAZQByADsAIAA+BD8ERgQ4BE8EIAA4BDwENQQ1BEIEIABBBDwE -SwRBBDsEIABCBD4EOwRMBDoEPgQgAEEEIAAvAGkACgAKAC8AYwAgAC0ACQAYBEEE -PwQ+BDsETAQ3BD4EMgQwBEIETAQgADIENQRCBDoEQwQgAEAENQQ1BEEEQgRABDAE -IABCBDUEOgRDBEkENQQzBD4EIAA/BD4EOwRMBDcEPgQyBDAEQgQ1BDsETwQgACgA -SABLAEMAVQApAC4ACgAJAB8EPgQ3BDIEPgQ7BE8ENQRCBCAAQAQ1BDMEOARBBEIE -QAQ4BEAEPgQyBDAEQgRMBCAAQQQ1BEAEMgQ1BEAEIABCBD4EOwRMBDoEPgQgAD8E -PgQ0BCAAQgQ1BDoEQwRJBDUEPAQgAD8EPgQ7BEwENwQ+BDIEMARCBDUEOwQ1BDwE -LAAKAAkAPQQ1BCAAQgRABDUEMQRDBDUEQgQgAD8EQAQ4BDIENQQ7BDUEMwQ4BDkE -IAAwBDQEPAQ4BD0EOARBBEIEQAQwBEIEPgRABDAELgAKAEUAHQQ1BD8EQAQwBDIE -OAQ7BEwEPQRLBDkEIABEBD4EQAQ8BDAEQgQgADoEPgQ8BDAEPQQ0BD0EPgQ5BCAA -QQRCBEAEPgQ6BDgELgAKABQEOwRPBCAAQQQ/BEAEMAQyBDoEOAQgADIEMgQ1BDQE -OARCBDUEIABSAGUAZwBzAHYAcgBFAHgAIAAvAD8AFAAdBDUEIABDBDoEMAQ3BDAE -PQQgAD8EQwRCBEwEIAA6BCAARABMAEwAGwAdBDUEIAA8BD4EMwRDBCAANwQwBDME -QARDBDcEOARCBEwEIAA8BD4ENARDBDsETAQgACUAMQAVACQEQwQ9BDoERgQ4BE8E -IAAlADEAIAA9BDUEIAA9BDAEOQQ0BDUEPQQwBB4AJARDBD0EOgRGBDgETwQgACUA -MQAgADcEMAQyBDUEQARIBDgEOwQwBEEETAQgAEMEQQQ/BDUESAQ9BD4EHwAkBEME -PQQ6BEYEOARPBCAAJQAxACAANwQwBDIENQRABEgEOAQ7BDAEQQRMBCAAPQQ1BEME -NAQwBEcEPQQ+BDMAJARDBD0EOgRGBDgETwQgACUAMQAgADcEMAQyBDUEQARIBDUE -PQQwBCAAPQQ1BEMENAQwBEcEPQQ+BCwAIAA6BD4ENAQgADIEPgQ3BDIEQAQwBEIE -MAQgADAAeAAlADIAIQB4ACEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=} -} \ No newline at end of file diff --git a/src/xddInformator/und/4e7ed6e0-c9f6-4f27-b7c5-3c43bcd48d5e b/src/xddInformator/und/4e7ed6e0-c9f6-4f27-b7c5-3c43bcd48d5e deleted file mode 100644 index 104b3a20..00000000 --- a/src/xddInformator/und/4e7ed6e0-c9f6-4f27-b7c5-3c43bcd48d5e +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,4e7ed6e0-c9f6-4f27-b7c5-3c43bcd48d5e},"Форма", -{1,"ru","Форма"},""},0,0}, -{0} -} -},0} \ No newline at end of file diff --git a/src/xddInformator/und/52a1ccc3-6b0d-4567-935b-b2ed53f861f4 b/src/xddInformator/und/52a1ccc3-6b0d-4567-935b-b2ed53f861f4 deleted file mode 100644 index 1f76c360..00000000 --- a/src/xddInformator/und/52a1ccc3-6b0d-4567-935b-b2ed53f861f4 +++ /dev/null @@ -1,39 +0,0 @@ -{1, -{52a1ccc3-6b0d-4567-935b-b2ed53f861f4},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,2b9d320f-7082-4f5b-a346-714a87fc26ba,e4534467-47b5-4d85-b739-4d0d217be4cf, -{0, -{0, -{0,0,bfe4f214-cce0-401b-a06d-14142add0cc4},"xddInformator", -{1,"ru","Информатор 81/82 - http://www.1cpp.ru/forum/YaBB.pl?num=1313560540"},"http://www.1cpp.ru/forum/YaBB.pl?num=1313560540"} -},4e7ed6e0-c9f6-4f27-b7c5-3c43bcd48d5e,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,3,9103c8d6-5b2e-451d-b65c-084dc4d7e550,086ad3d2-8d65-433e-b0e8-7ff530ba743f,cda1fe1b-4d28-4bc3-bd16-ee8a00eaf201}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,2,4e7ed6e0-c9f6-4f27-b7c5-3c43bcd48d5e,e557bbbf-ecd6-4988-ae29-6ecfbd2e1d5a}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,1, -{ -{0, -{25, -{2, -{0, -{0,0,ebe08dd6-f085-4891-8dc4-ea520e9d1b5a},"ДЗ", -{1,"ru","ДЗ"},""}, -{"Pattern", -{"#",e603c0f2-92fb-4d47-8f38-a44a381cf235} -} -},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} -} -} -} -} \ No newline at end of file diff --git a/src/xddInformator/und/9103c8d6-5b2e-451d-b65c-084dc4d7e550 b/src/xddInformator/und/9103c8d6-5b2e-451d-b65c-084dc4d7e550 deleted file mode 100644 index 6c81ec33..00000000 --- a/src/xddInformator/und/9103c8d6-5b2e-451d-b65c-084dc4d7e550 +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,1, -{0, -{0,0,9103c8d6-5b2e-451d-b65c-084dc4d7e550},"DynamicWrapperX", -{1,"ru","Dynamic wrapper X"},""} -},0} \ No newline at end of file diff --git a/src/xddInformator/und/9103c8d6-5b2e-451d-b65c-084dc4d7e550.0 b/src/xddInformator/und/9103c8d6-5b2e-451d-b65c-084dc4d7e550.0 deleted file mode 100644 index 2dd00869..00000000 --- a/src/xddInformator/und/9103c8d6-5b2e-451d-b65c-084dc4d7e550.0 +++ /dev/null @@ -1,312 +0,0 @@ -{1, -{#base64:TVpsAAEAAAACAAAA//8AAAAAAAARAAAAQAAAAAAAAABXaW4zMiBQcm9ncmFtIQ0K -JLQJugABzSG0TM0hYAAAAEdvTGluaywgR29Bc20gd3d3LkdvRGV2VG9vbC5jb20A -UEUAAEwBBwBRhMFIAAAAAAAAAADgAA4hCwEAJgAYAAAAGgAAAAAAAAAQAAAAEAAA -ADAAAAAAABAAEAAAAAIAAAQAAAAAAAAABAAAAAAAAAAAkAAAAAQAALWQAAACAAAA -AAAQAAAAAQAAABAAABAAAAAAAAAQAAAAAHAAALwAAACEYAAAZAAAAABQAAD4BAAA -AAAAAAAAAAAAAAAAAAAAAACAAADAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6GAAAGgAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAABjb2RlAAAAAFcYAAAAEAAAABoAAAAEAAAAAAAAAAAAAAAAAAAgAABg -ZGF0YQAAAABQBAAAADAAAAACAAAAHgAAAAAAAAAAAAAAAAAAQAAAwGNvbnN0AAAA -RAgAAABAAAAACgAAACAAAAAAAAAAAAAAAAAAAEAAAEAucnNyYwAAAPgEAAAAUAAA -AAYAAAAqAAAAAAAAAAAAAAAAAABAAABALmlkYXRhAABiAwAAAGAAAAAEAAAAMAAA -AAAAAAAAAAAAAAAAIAAAYC5lZGF0YQAAvAAAAABwAAAAAgAAADQAAAAAAAAAAAAA -AAAAAEAAAEAucmVsb2MAAMACAAAAgAAAAAQAAAA2AAAAAAAAAAAAAAAAAABAAABC -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -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 -VVZXU4nlg+wEg30YAHRgi10YizNT/1YE6KMNAACFwJCQkJCQkJCQkJCQdEtqAP91 -IP91HGoB6N77//9yKVBSUf91GI8Gj0YEj0YIj0YMg8YQiTU4MAAQifgDPTQwABCJ -PTAwABD4iexbX15dwhAAuA4AAoD56++4CgACgPnr51VWV1OJ5YPsMInji3UUi1YI -i04EiU30ichAweAEKcSJZeyLRRiDwASLPlBTUVJX6KkAAACJTfzHRfAAAAAAx0X4 -AAAAAIsfZsdF3AAAx0XkAAAAAFWDBCTUagBqAWhGMAAQaJhAABBX/1MUhcB1Sf9F -9GoAagBVgwQk3FWDBCTsagFqAGiYQAAQ/3XUV/9TGIXAdUWDfgwAdA//dgxVgwQk -3OikAQAAcjCLTfyD6QSJ7FtfXl3CCABqAGoAVYMEJNxVgwQk7GoBagBomEAAEGoA -V/9TGIXAdLsxwOvMVVZXU4nlg+wEi00ci10gg+sQ/3UUagmPA49DCOMui30ki3UY -/K3B4AIFPEUAEIsQhdJ0JIPrEFFXU1LoLwcAAFlyDInH4t6J+StNJDHA+InsW19e -XcIUALgFAAKA+evvjwQMAczDieBQaFAwABDosP7//+vrieBQaGAwABDoof7//+vc -ieBQaHAwABDokv7//+vNieBQaIAwABDog/7//+u+ieBQaJAwABDodP7//+uvieBQ -aKAwABDoZf7//+ugieBQaLAwABDoVv7//+uRieBQaMAwABDoR/7//+uCieBQaNAw -ABDoOP7//+lw////ieBQaOAwABDoJv7//+le////ieBQaPAwABDoFP7//+lM//// -ieBQaAAxABDoAv7//+k6////ieBQaBAxABDo8P3//+ko////ieBQaCAxABDo3v3/ -/+kW////ieBQaDAxABDozP3//+kE////ieBQaEAxABDouv3//+ny/v//VVZXU4nl -g+wEi10Ui3UYZoM7CXRDiw3YQQAQicpmiwO/yEEAEPzyZq91QynKSsHiAosGweAF -AdCNgNxBABCLAIXAdCpqAGoAU1DoNwAAAInsW19eXcIIAItDCGaDeCwDdAdmg3gs -BXWsjVgs66e4BQACgPmJ7FtfXl3CCACQkJCQkJCQkJBVVldTieWD7BSLdRiLRgiL -fRz/VRRyBoX/eAKJ+InsW19eXcIQACX/AAAA6wGYg+8EeAKJB/jDm9vj2UYI6wab -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 -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAIAAIAAAAAAAAAAAAAAAAAKAAAAAAAAAERHABAAAAAA -AhwAEA8AAABQMAAQYwBhAGwAbAAAADwwABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEeW5hbWljV3JhcHBlclgA -ezg5NTY1Mjc1LUE3MTQtNGE0My05MTJFLTk3OEI5MzVFRENDQ30AU29mdHdhcmVc -Q2xhc3Nlc1xEeW5hbWljV3JhcHBlclgAU29mdHdhcmVcQ2xhc3Nlc1xDTFNJRFx7 -ODk1NjUyNzUtQTcxNC00YTQzLTkxMkUtOTc4QjkzNUVEQ0NDfQAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAMAAAAAAAABGAQAAAAAAAADAAAAAAAAARgAEAgAAAAAA -wAAAAAAAAEZ1UlaJFKdDSpEul4uTXtzMrxIAEPYSABD8EgAQAhMAEGwTABDoQAAQ -jhMAEOQTABD0EwAQJRQAEC0UABA1FAAQrhQAEEFkdmFwaTMyLmRsbABSZWdDcmVh -dGVLZXlFeEEAUmVnU2V0VmFsdWVFeEEAUmVnQ2xvc2VLZXkASW5Qcm9jU2VydmVy -MzIAJXNcJXMAQ0xTSUQAJXNcJXMAc2hsd2FwaS5kbGwAU0hEZWxldGVLZXlBAAAA -bABoAHUAcABuAHQAYwBiAGQAZgB3AHMAegBMAEgAVQBQAE4AVABDAEIARABGAFcA -UwBaABoAAAADAAIAEQAFAAQACQAAAAgACAAAAL4dABC9HQAQth0AEM8dABDHHQAQ -AAAAAAAAAAAAAAAA+B0AEPcdABDwHQAQCR4AEAEeABAAAAAAAAAAAAAAAABNHgAQ -QR4AEDoeABBiHgAQWh4AEAAAAAAAAAAAAAAAAE0eABBBHgAQOh4AEGIeABBaHgAQ -TR4AEAAAAAA5IAAQmh4AEJAeABCJHgAQsh4AEKoeABAAAAAAAAAAAAAAAADtHgAQ -2h4AENMeABACHwAQ+h4AEAAAAAAAAAAAAAAAADcfABA2HwAQIx8AEEsfABBDHwAQ -AAAAAAAAAAAAAAAAhR8AEGwfABB3HwAQmh8AEJIfABAAAAAAAAAAAAAAAADPHwAQ -1x8AEN8fABDDHwAQux8AEAAAAAAAAAAAAAAAABIgABAaIAAQIiAAEO8fABAGIAAQ -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkgABAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASSAAEAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAABCIAAQwCAAELcgABCwIAAQ1SAAEMogABAAAAAAuyAAEAAAAADwIAAQ -5yAAEOAgABAFIQAQ+iAAEAAAAADrIAAQAAAAACQhABAXIQAQECEAEDghABBDIQAQ -AAAAAB8hABAAAAAAJCEAEBchABAQIQAQOCEAEEMhABAAAAAAHyEAEAAAAABeIQAQ -VSEAEE4hABByIQAQfSEAEAAAAABZIQAQAAAAAJwhABCPIQAQiCEAELAhABC7IQAQ -AAAAAJchABAAAAAA1iEAEM0hABDGIQAQ6iEAEPUhABAAAAAA0SEAEAAAAAANIgAQ -ACIAEAAiABAhIgAQLCIAEAAAAAAIIgAQAAAAAHoiABB2IgAQbyIAEIgiABCSIgAQ -AAAAAHoiABAAAAAAQiIAED4iABA3IgAQZCIAEFAiABAAAAAAQiIAEAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3iIAEAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAACkIgAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ0iABAEIwAQ -BCMAEAQjABAEIwAQBCMAEAQjABAEIwAQBCMAEDYjABA2IwAQTiMAEE4jABA1IwAQ -RyMAEDMjABBAIwAQgyMAEG8jABDZIwAQpSMAEJ4jABCHJwAQAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4yMAEAAAAAAAAAAA -UwB0AHIARwBlAHQAAAADAAAACgAAAAAAsEUAEAoAAAACAAAAvkUAECAwABAGJwAQ -skcAEFMAdAByAFAAdAByAAAAGgAAAAoAAAADAAAAAADkRQAQCwAAAAIAAADyRQAQ -+kUAEHImABDIRQAQUwBwAGEAYwBlAAAAAgAAAAoAAAAaAAAAHEYAEAwAAAACAAAA -KEYAEDBGABAYJgAQAEYAEE4AdQBtAFAAdQB0AAAAGgAAAAMAAAAAAAAACgAAAAMA -AAAAAFBGABANAAAABAAAAF5GABBuRgAQaiUAEDRGABBOAHUAbQBHAGUAdAAAAAMA -AAAAAAAACgAAAAAAkEYAEA4AAAADAAAAnkYAECQwABDVJAAQdEYAEFIAZQBnAGkA -cwB0AGUAcgBDAGEAbABsAGIAYQBjAGsAAAADAAAACgAAAAoAAAADAAAAAADIRgAQ -DwAAAAMAAADqRgAQ9kYAEEAaABCsRgAQUgBlAGcAaQBzAHQAZQByAAAACgAAAAoA -AAAKAAAACgAAAAoAAAAAAAAAAAAYRwAQEAAAAAUAAAAqRwAQPkcAENAVABD8RgAQ -QQAlcyVzAAAAAAAAAAAAAAAAAAAAACT0EkAAAAAAAABSAGUAZwBpAHMAdABlAHIA -QQBkAGQAcgAAAAMAAAAKAAAACgAAAAoAAAAKAAAAAAAAAIBHABAJAAAABQAAAJpH -ABCuRwAQcCcAEPBHABBHAGUAdABJAEQAaQBzAHAAYQB0AGMAaAAAAAMAAAAAAAAA -zkcAEAgAAAABAAAA6EcAEOxHABCBJwAQKEgAEEcAZQB0AE8AYgBqAGUAYwB0AAAA -AwAAAA0AAAAMSAAQBwAAAAEAAAAgSAAQJEgAEIEnABAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAFGEwUhJQTA0AAABABAAAAAYAACAAAAAAFGEwUgAAAAAAAABAAEAAAAwAACA -AAAAAFGEwUgAAAAAAAABABkEAABIAAAAWFAAAKAEAAAAAAAAAAAAAKAENAAAAFYA -UwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAANAC9BO/+AAABAAEAAQAAAAAA -AQABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAAAAQAAAAAUwB0AHIA -aQBuAGcARgBpAGwAZQBJAG4AZgBvAAAA3AMAAAAAMAA0ADEAOQAwADQARQAzAAAA -nACCAAEAQwBvAG0AbQBlAG4AdABzAAAAEgRLBDcEPgQyBCAARARDBD0EOgRGBDgE -OQQgADgENwQgADEEOAQxBDsEOAQ+BEIENQQ6BCAARABMAEwAIAAyBCAAQQQ6BEAE -OAQ/BEIEMARFBCAAPQQwBCAASgBTAGMAcgBpAHAAdAAgADgEIABWAEIAUwBjAHIA -aQBwAHQALgAAAAAAPAAcAAEAQwBvAG0AcABhAG4AeQBOAGEAbQBlAAAAAAAfBEAE -PgQ8BDAEQARCBDUEOwRMBCAAFiEyAAAAWAAuAAEARgBpAGwAZQBEAGUAcwBjAHIA -aQBwAHQAaQBvAG4AAAAAAB4EMQRKBDUEOgRCBCAARAB5AG4AYQBtAGkAYwBXAHIA -YQBwAHAAZQByAFgAAAAAACwACgABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAA -MQAuADEAMAAAAAAANAASAAEASQBuAHQAZQByAG4AYQBsAE4AYQBtAGUAAABkAHkA -bgB3AHIAYQBwAHgAAAAAAHQAUAABAEwAZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgA -dAAAAKkAIAAuBEAEOAQ5BCAAHwQ+BD8EPgQyBCwAIAASBDsEMAQ0BDgEPAQ4BEAE -IAAYBEEEMAQ1BDIELAAgADIAMAAwADgALQAyADAAMQAxAAAARAAaAAEATwByAGkA -ZwBpAG4AYQBsAEYAaQBsAGUAbgBhAG0AZQAAAGQAeQBuAHcAcgBhAHAAeAAuAGQA -bABsAAAAAABAACAAAQBQAHIAbwBkAHUAYwB0AE4AYQBtAGUAAAAAAEQAeQBuAGEA -bQBpAGMAVwByAGEAcABwAGUAcgBYAAAAMAAKAAEAUAByAG8AZAB1AGMAdABWAGUA -cgBzAGkAbwBuAAAAMQAuADEAMAAAAAAADAHsAAEAUAByAGkAdgBhAHQAZQBCAHUA -aQBsAGQAAAAUBD4EMQQwBDIEOwQ1BD0ESwQgADMAIAAyBEEEQgRABD4ENQQ9BD0E -SwRFBCAAPAQ1BEIEPgQ0BDAELAAgAEEEPQRPBEIEPgQgAD4EMwRABDAEPQQ4BEcE -NQQ9BDgENQQgADoEPgQ7BC0AMgQwBCAAMgRLBDcEPgQyBD4EMgQgAFIAZQBnAGkA -cwB0AGUAcgBDAGEAbABsAEIAYQBjAGsALgAgABgENwQ8BDUEPQQ4BDsEIAASBDsE -MAQ0BDgEPAQ4BEAEIAAYBEEEMAQ1BDIEIABhAGsAYQAgAGMAaABlAHMAcwBtAGEA -bgAAAEQAAAAAAFYAYQByAEYAaQBsAGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEA -bgBzAGwAYQB0AGkAbwBuAAAAAAAZBOMEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -/yXoYAAQ/yXsYAAQ/yXwYAAQ/yX0YAAQ/yX4YAAQ/yX8YAAQ/yUAYQAQ/yUEYQAQ -/yUIYQAQ/yUMYQAQ/yUQYQAQ/yUUYQAQ/yUYYQAQ/yUcYQAQ/yUkYQAQ/yUoYQAQ -/yUsYQAQ/yUwYQAQ/yU4YQAQ/yVAYQAQ/yVEYQAQ/yVIYQAQUGEAAAAAAAAAAAAA -uGEAAOhgAACMYQAAAAAAAAAAAADSYgAAJGEAAKBhAAAAAAAAAAAAAAhjAAA4YQAA -qGEAAAAAAAAAAAAAIGMAAEBhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMVhAADiYQAA -8mEAAARiAAAaYgAALGIAADpiAABIYgAAYGIAAHhiAACGYgAAlmIAAKxiAADCYgAA -AAAAAN1iAADoYgAA8mIAAP5iAAAAAAAAEmMAAAAAAAAtYwAAPmMAAE5jAAAAAAAA -xWEAAOJhAADyYQAABGIAABpiAAAsYgAAOmIAAEhiAABgYgAAeGIAAIZiAACWYgAA -rGIAAMJiAAAAAAAA3WIAAOhiAADyYgAA/mIAAAAAAAASYwAAAAAAAC1jAAA+YwAA -TmMAAAAAAABLRVJORUwzMi5kbGwAhABEaXNhYmxlVGhyZWFkTGlicmFyeUNhbGxz -AAA6AkxvYWRMaWJyYXJ5QQAAkAFHZXRQcm9jQWRkcmVzcwAAbAFHZXRNb2R1bGVG -aWxlTmFtZUEAAAIBR2V0Q29tbWFuZExpbmVBAOkARnJlZUxpYnJhcnkA4wFHbG9i -YWxBbGxvYwAWAkludGVybG9ja2VkSW5jcmVtZW50AAASAkludGVybG9ja2VkRGVj -cmVtZW50AADqAUdsb2JhbEZyZWUAAD0CTG9hZExpYnJhcnlXAAB3A1dpZGVDaGFy -VG9NdWx0aUJ5dGUAXQJNdWx0aUJ5dGVUb1dpZGVDaGFyALwCUnRsTW92ZU1lbW9y -eQBtc3ZjcnQuZGxsAPgCc3ByaW50ZgAABANzdHJsZW4AACgCX3djc2ljbXAAACwD -d2NzbGVuAABvbGUzMi5kbGwA1QBJc0VxdWFsR1VJRABPTEVBVVQzMi5kbGwAWABT -eXNBbGxvY1N0cmluZwBbAFN5c0ZyZWVTdHJpbmcAWgBTeXNBbGxvY1N0cmluZ0xl -bgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAABRhMFIAAAAAFxwAAABAAAABQAAAAUAAABIcAAA -NHAAAChwAAAAAAEAAgADAAQAAABpcAAAeXAAAItwAACWcAAAqHAAAB4QAABwEgAA -UhIAADEQAADnEQAAZHlud3JhcHguZGxsAERsbENhblVubG9hZE5vdwBEbGxHZXRD -bGFzc09iamVjdABEbGxJbnN0YWxsAERsbFJlZ2lzdGVyU2VydmVyAERsbFVucmVn -aXN0ZXJTZXJ2ZXIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -ABAAAKgAAAAOMB8wJTA+MFMwYzBzMJEwmzCgMKUwCTFNMVIxVzGGMZIxoTHaMfEx -AjISMhgyJDIqMl0yejKRMrwyzTIhMywzMzN0M4MznjOvMxg0PzS8NO829TYRN/03 -CjitOLU4wzjWODg5AAAAAAAAkzqbOqE6HTsiO0Q7ijvGOwY8FTwkPDM8QjxRPGA8 -bzx+PJA8ojy0PMY82DzqPPw8IT0rPUQ9ACAAADQAAAAoMWIxoDHaMREyVDL7NAE1 -GDWQNZY1iTaPNq82tza9NtY2JDcsNzI3SjcAAAAwAAAQAAAAKDAwMDgwRjAAQAAA -oAEAAOgw7DDwMPQw+DD8MAAxBDEIMQwxEDEUMRgx3DHgMeQx6DHsMfwxADIEMggy -DDIcMiAyJDIoMiwyPDJAMkQySDJMMlAyWDJcMmAyZDJoMmwyfDKAMoQyiDKMMpwy -oDKkMqgyrDK8MsAyxDLIMswy3DLgMuQy6DLsMvwyADMEMwgzDDM4M1gzeDN8M4Az -hDOIM4wzlDOcM6AzpDOoM6wztDO8M8AzxDPIM8wz1DPcM+Az5DPoM+wz9DP8MwA0 -BDQINAw0FDQcNCA0JDQoNCw0NDQ8NEA0RDRINEw0VDRcNGA0ZDRoNGw0dDR8NIA0 -hDSINIw0lDScNKA0pDSoNKw0tDTYNPg0GDUcNSA1JDUoNSw1MDU0NTg1PDVANUQ1 -SDVMNVA1VDVYNVw1YDVkNWg1bDWkNcg11DXYNdw1ADYMNhA2FDYYNjQ2QDZENkg2 -TDZ0NoA2hDaINow2rDa4Nrw2wDbENvw2CDcMNxA3FDdEN1A3VDdYN1w34DW+N8I3 -sjfGN8o38Df8NwA4BDgIOCg4NDg4ODw4cDUAAABgAAA0AAAAAjAIMA4wFDAaMCAw -JjAsMDIwODA+MEQwSjBQMFYwXDBiMGgwbjB0MHowgDAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAA==} -} \ No newline at end of file diff --git a/src/xddInformator/und/bfe4f214-cce0-401b-a06d-14142add0cc4.0/info b/src/xddInformator/und/bfe4f214-cce0-401b-a06d-14142add0cc4.0/info deleted file mode 100644 index c70b5f39..00000000 --- a/src/xddInformator/und/bfe4f214-cce0-401b-a06d-14142add0cc4.0/info +++ /dev/null @@ -1 +0,0 @@ -{3,1,0,"",0} \ No newline at end of file diff --git a/src/xddInformator/und/cda1fe1b-4d28-4bc3-bd16-ee8a00eaf201 b/src/xddInformator/und/cda1fe1b-4d28-4bc3-bd16-ee8a00eaf201 deleted file mode 100644 index 950ee256..00000000 --- a/src/xddInformator/und/cda1fe1b-4d28-4bc3-bd16-ee8a00eaf201 +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,4, -{0, -{0,0,cda1fe1b-4d28-4bc3-bd16-ee8a00eaf201},"Справка", -{1,"ru","Справка"},""} -},0} \ No newline at end of file diff --git a/src/xddInformator/und/cda1fe1b-4d28-4bc3-bd16-ee8a00eaf201.0 b/src/xddInformator/und/cda1fe1b-4d28-4bc3-bd16-ee8a00eaf201.0 deleted file mode 100644 index e2378ff7..00000000 --- a/src/xddInformator/und/cda1fe1b-4d28-4bc3-bd16-ee8a00eaf201.0 +++ /dev/null @@ -1,411 +0,0 @@ - - - - -Информатор - - - -
-

Информатор

- - - -

Класс "Информатор" .

-

Удобный сервисный класс, показывающий различную информацию.

-

Версия 1C: 8.2 и выше.

-
-

Методы

- -
-

ПолучитьТаблицуМетодов

-
-
-

Синтаксис: ПолучитьТаблицуМетодов(ПроверяемыйОбъект)

-
-
Параметры:
-
    -
  • ПроверяемыйОбъект - тип: Агрегатный.
  • -
-
-
-

Возвращает: тип: ТаблицаЗначений. Полученная таблица методов для данного объекта.

-

Описание: Получает таблицу методов для переданного объекта.

-
-
-
В случае, если проверяемый объект не является агрегатным типом (Строка, Число и т.п.),
-
выдается исключение.
-
-
-
-
-

ПолучитьТаблицуСвойств

-
-
-

Синтаксис: ПолучитьТаблицуСвойств(ПроверяемыйОбъект)

-
-
Параметры:
-
    -
  • ПроверяемыйОбъект - тип: Агрегатный.
  • -
-
-
-
-

Возвращает: тип: ТаблицаЗначений. Полученная таблица свойств для данного объекта.

-
-Описание: Получает таблицу свойств для переданного объекта.
-
-
В случае, если проверяемый объект не является агрегатным типом (Строка, Число и т.п.),
-
выдается исключение.
-
-
-
-
-

МетодСуществует

-
-
-

Синтаксис: МетодСуществует(ПроверяемыйОбъект, ИмяМетода)

-
-
Параметры:
-
    -
  • ПроверяемыйОбъект - тип: Агрегатный.
  • -
  • ИмяМетода - тип: Строка. Имя метода, существование которого проверяем.
  • -
-
-
-
-

Возвращает: тип: Булево. Истина, если метод существует. Ложь, если нет.

-
-

Описание: Проверяет существование указанного метода у переданного объекта.

-

В случае, если проверяемый объект не является агрегатным типом (Строка, Число и т.п.), -выдается исключение. -В случае, если второй параметр не является строкой, выдается исключение.

-
-
-
-
-

СвойствоСуществует

-
-
-

Синтаксис: СвойствоСуществует(ПроверяемыйОбъект, ИмяСвойства)

-
-
Параметры:
-
    -
  • ПроверяемыйОбъект - тип: Агрегатный.
  • -
  • ИмяСвойства - тип: Строка. Имя свойства, существование которого проверяем.
  • -
-
-
-
-

Возвращает: тип: Булево. Истина, если свойство существует. Ложь, если нет.

-
-

Описание: Проверяет существование указанного свойства у переданного объекта.

-

В случае, если проверяемый объект не является агрегатным типом (Строка, Число и т.п.), -выдается исключение. -В случае, если второй параметр не является строкой, выдается исключение.

-
-
-
-
-
- - - diff --git a/src/xddInformator/und/copyinfo b/src/xddInformator/und/copyinfo deleted file mode 100644 index d860880f..00000000 --- a/src/xddInformator/und/copyinfo +++ /dev/null @@ -1,24 +0,0 @@ -{4, -{3, -{4e7ed6e0-c9f6-4f27-b7c5-3c43bcd48d5e,4e7ed6e0-c9f6-4f27-b7c5-3c43bcd48d5e,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -}, -{bfe4f214-cce0-401b-a06d-14142add0cc4,bfe4f214-cce0-401b-a06d-14142add0cc4,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"xddInformator"} -}, -{ebe08dd6-f085-4891-8dc4-ea520e9d1b5a,ebe08dd6-f085-4891-8dc4-ea520e9d1b5a,1, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"ДЗ"} -} -}, -{1, -{2b9d320f-7082-4f5b-a346-714a87fc26ba,bfe4f214-cce0-401b-a06d-14142add0cc4,0} -}, -{1, -{ -{0,ebe08dd6-f085-4891-8dc4-ea520e9d1b5a},2b9d320f-7082-4f5b-a346-714a87fc26ba, -{-1} -} -}, -{0,0}, -{0} -} \ No newline at end of file diff --git a/src/xddInformator/und/e557bbbf-ecd6-4988-ae29-6ecfbd2e1d5a b/src/xddInformator/und/e557bbbf-ecd6-4988-ae29-6ecfbd2e1d5a deleted file mode 100644 index 6e80f76e..00000000 --- a/src/xddInformator/und/e557bbbf-ecd6-4988-ae29-6ecfbd2e1d5a +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,e557bbbf-ecd6-4988-ae29-6ecfbd2e1d5a},"ТестВыполненияДеструктора", -{1,"ru","Тест выполнения деструктора"},""},0,0}, -{0} -} -},0} \ No newline at end of file diff --git a/src/xddInformator/und/root b/src/xddInformator/und/root deleted file mode 100644 index ee65029b..00000000 --- a/src/xddInformator/und/root +++ /dev/null @@ -1 +0,0 @@ -{2,52a1ccc3-6b0d-4567-935b-b2ed53f861f4,} \ No newline at end of file diff --git a/src/xddInformator/und/version b/src/xddInformator/und/version deleted file mode 100644 index c23bfe28..00000000 --- a/src/xddInformator/und/version +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git a/src/xddInformator/und/versions b/src/xddInformator/und/versions deleted file mode 100644 index c137dcce..00000000 --- a/src/xddInformator/und/versions +++ /dev/null @@ -1 +0,0 @@ -{1,17,"",e6024d5f-8211-4a57-ab57-fa73778204b0,"52a1ccc3-6b0d-4567-935b-b2ed53f861f4",a7ef5dc5-c0a2-4566-98a0-852b2e4b526e,"4e7ed6e0-c9f6-4f27-b7c5-3c43bcd48d5e",09d59e5f-cbc5-439f-8ebc-46a05c31e854,"versions",282881e0-5c66-452c-8c46-dee988e23f9c,"cda1fe1b-4d28-4bc3-bd16-ee8a00eaf201.0",0c11060f-d3fd-4ad8-81a5-77953516464a,"4e7ed6e0-c9f6-4f27-b7c5-3c43bcd48d5e.0",7b1df511-dded-4186-a6b6-da4ccdf1a322,"root",94e4d480-738e-4fbc-b094-2adf7161dbc1,"e557bbbf-ecd6-4988-ae29-6ecfbd2e1d5a",f1cba71b-c7c5-4695-beaf-0ea90cedf233,"086ad3d2-8d65-433e-b0e8-7ff530ba743f.0",040a9d84-e7d1-4168-a836-ffe43fc3d0f0,"9103c8d6-5b2e-451d-b65c-084dc4d7e550.0",75390c7e-55d6-4895-a239-58c1192a5793,"086ad3d2-8d65-433e-b0e8-7ff530ba743f",9df280fc-168e-44b2-bf4d-cadaedba8706,"version",5100d9ce-688c-4489-983e-ce52c9eabda8,"e557bbbf-ecd6-4988-ae29-6ecfbd2e1d5a.0",99e645dd-309a-4f48-8bd4-776320301ae6,"9103c8d6-5b2e-451d-b65c-084dc4d7e550",b5eae34b-5d55-4285-bede-c6df6e7427ae,"bfe4f214-cce0-401b-a06d-14142add0cc4.0",d99d8364-d16a-47a0-882f-b0e37d1ded38,"cda1fe1b-4d28-4bc3-bd16-ee8a00eaf201",40160e19-fdda-49ee-994e-2b8b15981b7a,"copyinfo",ff65ee18-8f10-42c7-87a3-286f37effad7} \ No newline at end of file diff --git "a/src/xddInformator/\320\234\320\260\320\272\320\265\321\202\321\213/DynamicWrapperX.txt" "b/src/xddInformator/\320\234\320\260\320\272\320\265\321\202\321\213/DynamicWrapperX.txt" deleted file mode 100644 index 2dd00869..00000000 --- "a/src/xddInformator/\320\234\320\260\320\272\320\265\321\202\321\213/DynamicWrapperX.txt" +++ /dev/null @@ -1,312 +0,0 @@ -{1, -{#base64:TVpsAAEAAAACAAAA//8AAAAAAAARAAAAQAAAAAAAAABXaW4zMiBQcm9ncmFtIQ0K -JLQJugABzSG0TM0hYAAAAEdvTGluaywgR29Bc20gd3d3LkdvRGV2VG9vbC5jb20A -UEUAAEwBBwBRhMFIAAAAAAAAAADgAA4hCwEAJgAYAAAAGgAAAAAAAAAQAAAAEAAA -ADAAAAAAABAAEAAAAAIAAAQAAAAAAAAABAAAAAAAAAAAkAAAAAQAALWQAAACAAAA -AAAQAAAAAQAAABAAABAAAAAAAAAQAAAAAHAAALwAAACEYAAAZAAAAABQAAD4BAAA -AAAAAAAAAAAAAAAAAAAAAACAAADAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6GAAAGgAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAABjb2RlAAAAAFcYAAAAEAAAABoAAAAEAAAAAAAAAAAAAAAAAAAgAABg -ZGF0YQAAAABQBAAAADAAAAACAAAAHgAAAAAAAAAAAAAAAAAAQAAAwGNvbnN0AAAA -RAgAAABAAAAACgAAACAAAAAAAAAAAAAAAAAAAEAAAEAucnNyYwAAAPgEAAAAUAAA -AAYAAAAqAAAAAAAAAAAAAAAAAABAAABALmlkYXRhAABiAwAAAGAAAAAEAAAAMAAA -AAAAAAAAAAAAAAAAIAAAYC5lZGF0YQAAvAAAAABwAAAAAgAAADQAAAAAAAAAAAAA -AAAAAEAAAEAucmVsb2MAAMACAAAAgAAAAAQAAAA2AAAAAAAAAAAAAAAAAABAAABC -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -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 -VVZXU4nlg+wEg30YAHRgi10YizNT/1YE6KMNAACFwJCQkJCQkJCQkJCQdEtqAP91 -IP91HGoB6N77//9yKVBSUf91GI8Gj0YEj0YIj0YMg8YQiTU4MAAQifgDPTQwABCJ -PTAwABD4iexbX15dwhAAuA4AAoD56++4CgACgPnr51VWV1OJ5YPsMInji3UUi1YI -i04EiU30ichAweAEKcSJZeyLRRiDwASLPlBTUVJX6KkAAACJTfzHRfAAAAAAx0X4 -AAAAAIsfZsdF3AAAx0XkAAAAAFWDBCTUagBqAWhGMAAQaJhAABBX/1MUhcB1Sf9F -9GoAagBVgwQk3FWDBCTsagFqAGiYQAAQ/3XUV/9TGIXAdUWDfgwAdA//dgxVgwQk -3OikAQAAcjCLTfyD6QSJ7FtfXl3CCABqAGoAVYMEJNxVgwQk7GoBagBomEAAEGoA -V/9TGIXAdLsxwOvMVVZXU4nlg+wEi00ci10gg+sQ/3UUagmPA49DCOMui30ki3UY -/K3B4AIFPEUAEIsQhdJ0JIPrEFFXU1LoLwcAAFlyDInH4t6J+StNJDHA+InsW19e -XcIUALgFAAKA+evvjwQMAczDieBQaFAwABDosP7//+vrieBQaGAwABDoof7//+vc -ieBQaHAwABDokv7//+vNieBQaIAwABDog/7//+u+ieBQaJAwABDodP7//+uvieBQ -aKAwABDoZf7//+ugieBQaLAwABDoVv7//+uRieBQaMAwABDoR/7//+uCieBQaNAw -ABDoOP7//+lw////ieBQaOAwABDoJv7//+le////ieBQaPAwABDoFP7//+lM//// -ieBQaAAxABDoAv7//+k6////ieBQaBAxABDo8P3//+ko////ieBQaCAxABDo3v3/ -/+kW////ieBQaDAxABDozP3//+kE////ieBQaEAxABDouv3//+ny/v//VVZXU4nl -g+wEi10Ui3UYZoM7CXRDiw3YQQAQicpmiwO/yEEAEPzyZq91QynKSsHiAosGweAF -AdCNgNxBABCLAIXAdCpqAGoAU1DoNwAAAInsW19eXcIIAItDCGaDeCwDdAdmg3gs -BXWsjVgs66e4BQACgPmJ7FtfXl3CCACQkJCQkJCQkJBVVldTieWD7BSLdRiLRgiL -fRz/VRRyBoX/eAKJ+InsW19eXcIQACX/AAAA6wGYg+8EeAKJB/jDm9vj2UYI6wab -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 -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAIAAIAAAAAAAAAAAAAAAAAKAAAAAAAAAERHABAAAAAA -AhwAEA8AAABQMAAQYwBhAGwAbAAAADwwABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEeW5hbWljV3JhcHBlclgA -ezg5NTY1Mjc1LUE3MTQtNGE0My05MTJFLTk3OEI5MzVFRENDQ30AU29mdHdhcmVc -Q2xhc3Nlc1xEeW5hbWljV3JhcHBlclgAU29mdHdhcmVcQ2xhc3Nlc1xDTFNJRFx7 -ODk1NjUyNzUtQTcxNC00YTQzLTkxMkUtOTc4QjkzNUVEQ0NDfQAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAMAAAAAAAABGAQAAAAAAAADAAAAAAAAARgAEAgAAAAAA -wAAAAAAAAEZ1UlaJFKdDSpEul4uTXtzMrxIAEPYSABD8EgAQAhMAEGwTABDoQAAQ -jhMAEOQTABD0EwAQJRQAEC0UABA1FAAQrhQAEEFkdmFwaTMyLmRsbABSZWdDcmVh -dGVLZXlFeEEAUmVnU2V0VmFsdWVFeEEAUmVnQ2xvc2VLZXkASW5Qcm9jU2VydmVy -MzIAJXNcJXMAQ0xTSUQAJXNcJXMAc2hsd2FwaS5kbGwAU0hEZWxldGVLZXlBAAAA -bABoAHUAcABuAHQAYwBiAGQAZgB3AHMAegBMAEgAVQBQAE4AVABDAEIARABGAFcA -UwBaABoAAAADAAIAEQAFAAQACQAAAAgACAAAAL4dABC9HQAQth0AEM8dABDHHQAQ -AAAAAAAAAAAAAAAA+B0AEPcdABDwHQAQCR4AEAEeABAAAAAAAAAAAAAAAABNHgAQ -QR4AEDoeABBiHgAQWh4AEAAAAAAAAAAAAAAAAE0eABBBHgAQOh4AEGIeABBaHgAQ -TR4AEAAAAAA5IAAQmh4AEJAeABCJHgAQsh4AEKoeABAAAAAAAAAAAAAAAADtHgAQ -2h4AENMeABACHwAQ+h4AEAAAAAAAAAAAAAAAADcfABA2HwAQIx8AEEsfABBDHwAQ -AAAAAAAAAAAAAAAAhR8AEGwfABB3HwAQmh8AEJIfABAAAAAAAAAAAAAAAADPHwAQ -1x8AEN8fABDDHwAQux8AEAAAAAAAAAAAAAAAABIgABAaIAAQIiAAEO8fABAGIAAQ -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkgABAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASSAAEAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAABCIAAQwCAAELcgABCwIAAQ1SAAEMogABAAAAAAuyAAEAAAAADwIAAQ -5yAAEOAgABAFIQAQ+iAAEAAAAADrIAAQAAAAACQhABAXIQAQECEAEDghABBDIQAQ -AAAAAB8hABAAAAAAJCEAEBchABAQIQAQOCEAEEMhABAAAAAAHyEAEAAAAABeIQAQ -VSEAEE4hABByIQAQfSEAEAAAAABZIQAQAAAAAJwhABCPIQAQiCEAELAhABC7IQAQ -AAAAAJchABAAAAAA1iEAEM0hABDGIQAQ6iEAEPUhABAAAAAA0SEAEAAAAAANIgAQ -ACIAEAAiABAhIgAQLCIAEAAAAAAIIgAQAAAAAHoiABB2IgAQbyIAEIgiABCSIgAQ -AAAAAHoiABAAAAAAQiIAED4iABA3IgAQZCIAEFAiABAAAAAAQiIAEAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3iIAEAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAACkIgAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ0iABAEIwAQ -BCMAEAQjABAEIwAQBCMAEAQjABAEIwAQBCMAEDYjABA2IwAQTiMAEE4jABA1IwAQ -RyMAEDMjABBAIwAQgyMAEG8jABDZIwAQpSMAEJ4jABCHJwAQAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4yMAEAAAAAAAAAAA -UwB0AHIARwBlAHQAAAADAAAACgAAAAAAsEUAEAoAAAACAAAAvkUAECAwABAGJwAQ -skcAEFMAdAByAFAAdAByAAAAGgAAAAoAAAADAAAAAADkRQAQCwAAAAIAAADyRQAQ -+kUAEHImABDIRQAQUwBwAGEAYwBlAAAAAgAAAAoAAAAaAAAAHEYAEAwAAAACAAAA -KEYAEDBGABAYJgAQAEYAEE4AdQBtAFAAdQB0AAAAGgAAAAMAAAAAAAAACgAAAAMA -AAAAAFBGABANAAAABAAAAF5GABBuRgAQaiUAEDRGABBOAHUAbQBHAGUAdAAAAAMA -AAAAAAAACgAAAAAAkEYAEA4AAAADAAAAnkYAECQwABDVJAAQdEYAEFIAZQBnAGkA -cwB0AGUAcgBDAGEAbABsAGIAYQBjAGsAAAADAAAACgAAAAoAAAADAAAAAADIRgAQ -DwAAAAMAAADqRgAQ9kYAEEAaABCsRgAQUgBlAGcAaQBzAHQAZQByAAAACgAAAAoA -AAAKAAAACgAAAAoAAAAAAAAAAAAYRwAQEAAAAAUAAAAqRwAQPkcAENAVABD8RgAQ -QQAlcyVzAAAAAAAAAAAAAAAAAAAAACT0EkAAAAAAAABSAGUAZwBpAHMAdABlAHIA -QQBkAGQAcgAAAAMAAAAKAAAACgAAAAoAAAAKAAAAAAAAAIBHABAJAAAABQAAAJpH -ABCuRwAQcCcAEPBHABBHAGUAdABJAEQAaQBzAHAAYQB0AGMAaAAAAAMAAAAAAAAA -zkcAEAgAAAABAAAA6EcAEOxHABCBJwAQKEgAEEcAZQB0AE8AYgBqAGUAYwB0AAAA -AwAAAA0AAAAMSAAQBwAAAAEAAAAgSAAQJEgAEIEnABAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAFGEwUhJQTA0AAABABAAAAAYAACAAAAAAFGEwUgAAAAAAAABAAEAAAAwAACA -AAAAAFGEwUgAAAAAAAABABkEAABIAAAAWFAAAKAEAAAAAAAAAAAAAKAENAAAAFYA -UwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAANAC9BO/+AAABAAEAAQAAAAAA -AQABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAAAAQAAAAAUwB0AHIA -aQBuAGcARgBpAGwAZQBJAG4AZgBvAAAA3AMAAAAAMAA0ADEAOQAwADQARQAzAAAA -nACCAAEAQwBvAG0AbQBlAG4AdABzAAAAEgRLBDcEPgQyBCAARARDBD0EOgRGBDgE -OQQgADgENwQgADEEOAQxBDsEOAQ+BEIENQQ6BCAARABMAEwAIAAyBCAAQQQ6BEAE -OAQ/BEIEMARFBCAAPQQwBCAASgBTAGMAcgBpAHAAdAAgADgEIABWAEIAUwBjAHIA -aQBwAHQALgAAAAAAPAAcAAEAQwBvAG0AcABhAG4AeQBOAGEAbQBlAAAAAAAfBEAE -PgQ8BDAEQARCBDUEOwRMBCAAFiEyAAAAWAAuAAEARgBpAGwAZQBEAGUAcwBjAHIA -aQBwAHQAaQBvAG4AAAAAAB4EMQRKBDUEOgRCBCAARAB5AG4AYQBtAGkAYwBXAHIA -YQBwAHAAZQByAFgAAAAAACwACgABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAA -MQAuADEAMAAAAAAANAASAAEASQBuAHQAZQByAG4AYQBsAE4AYQBtAGUAAABkAHkA -bgB3AHIAYQBwAHgAAAAAAHQAUAABAEwAZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgA -dAAAAKkAIAAuBEAEOAQ5BCAAHwQ+BD8EPgQyBCwAIAASBDsEMAQ0BDgEPAQ4BEAE -IAAYBEEEMAQ1BDIELAAgADIAMAAwADgALQAyADAAMQAxAAAARAAaAAEATwByAGkA -ZwBpAG4AYQBsAEYAaQBsAGUAbgBhAG0AZQAAAGQAeQBuAHcAcgBhAHAAeAAuAGQA -bABsAAAAAABAACAAAQBQAHIAbwBkAHUAYwB0AE4AYQBtAGUAAAAAAEQAeQBuAGEA -bQBpAGMAVwByAGEAcABwAGUAcgBYAAAAMAAKAAEAUAByAG8AZAB1AGMAdABWAGUA -cgBzAGkAbwBuAAAAMQAuADEAMAAAAAAADAHsAAEAUAByAGkAdgBhAHQAZQBCAHUA -aQBsAGQAAAAUBD4EMQQwBDIEOwQ1BD0ESwQgADMAIAAyBEEEQgRABD4ENQQ9BD0E -SwRFBCAAPAQ1BEIEPgQ0BDAELAAgAEEEPQRPBEIEPgQgAD4EMwRABDAEPQQ4BEcE -NQQ9BDgENQQgADoEPgQ7BC0AMgQwBCAAMgRLBDcEPgQyBD4EMgQgAFIAZQBnAGkA -cwB0AGUAcgBDAGEAbABsAEIAYQBjAGsALgAgABgENwQ8BDUEPQQ4BDsEIAASBDsE -MAQ0BDgEPAQ4BEAEIAAYBEEEMAQ1BDIEIABhAGsAYQAgAGMAaABlAHMAcwBtAGEA -bgAAAEQAAAAAAFYAYQByAEYAaQBsAGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEA -bgBzAGwAYQB0AGkAbwBuAAAAAAAZBOMEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -/yXoYAAQ/yXsYAAQ/yXwYAAQ/yX0YAAQ/yX4YAAQ/yX8YAAQ/yUAYQAQ/yUEYQAQ -/yUIYQAQ/yUMYQAQ/yUQYQAQ/yUUYQAQ/yUYYQAQ/yUcYQAQ/yUkYQAQ/yUoYQAQ -/yUsYQAQ/yUwYQAQ/yU4YQAQ/yVAYQAQ/yVEYQAQ/yVIYQAQUGEAAAAAAAAAAAAA -uGEAAOhgAACMYQAAAAAAAAAAAADSYgAAJGEAAKBhAAAAAAAAAAAAAAhjAAA4YQAA -qGEAAAAAAAAAAAAAIGMAAEBhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMVhAADiYQAA -8mEAAARiAAAaYgAALGIAADpiAABIYgAAYGIAAHhiAACGYgAAlmIAAKxiAADCYgAA -AAAAAN1iAADoYgAA8mIAAP5iAAAAAAAAEmMAAAAAAAAtYwAAPmMAAE5jAAAAAAAA -xWEAAOJhAADyYQAABGIAABpiAAAsYgAAOmIAAEhiAABgYgAAeGIAAIZiAACWYgAA -rGIAAMJiAAAAAAAA3WIAAOhiAADyYgAA/mIAAAAAAAASYwAAAAAAAC1jAAA+YwAA -TmMAAAAAAABLRVJORUwzMi5kbGwAhABEaXNhYmxlVGhyZWFkTGlicmFyeUNhbGxz -AAA6AkxvYWRMaWJyYXJ5QQAAkAFHZXRQcm9jQWRkcmVzcwAAbAFHZXRNb2R1bGVG -aWxlTmFtZUEAAAIBR2V0Q29tbWFuZExpbmVBAOkARnJlZUxpYnJhcnkA4wFHbG9i -YWxBbGxvYwAWAkludGVybG9ja2VkSW5jcmVtZW50AAASAkludGVybG9ja2VkRGVj -cmVtZW50AADqAUdsb2JhbEZyZWUAAD0CTG9hZExpYnJhcnlXAAB3A1dpZGVDaGFy -VG9NdWx0aUJ5dGUAXQJNdWx0aUJ5dGVUb1dpZGVDaGFyALwCUnRsTW92ZU1lbW9y -eQBtc3ZjcnQuZGxsAPgCc3ByaW50ZgAABANzdHJsZW4AACgCX3djc2ljbXAAACwD -d2NzbGVuAABvbGUzMi5kbGwA1QBJc0VxdWFsR1VJRABPTEVBVVQzMi5kbGwAWABT -eXNBbGxvY1N0cmluZwBbAFN5c0ZyZWVTdHJpbmcAWgBTeXNBbGxvY1N0cmluZ0xl -bgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAABRhMFIAAAAAFxwAAABAAAABQAAAAUAAABIcAAA -NHAAAChwAAAAAAEAAgADAAQAAABpcAAAeXAAAItwAACWcAAAqHAAAB4QAABwEgAA -UhIAADEQAADnEQAAZHlud3JhcHguZGxsAERsbENhblVubG9hZE5vdwBEbGxHZXRD -bGFzc09iamVjdABEbGxJbnN0YWxsAERsbFJlZ2lzdGVyU2VydmVyAERsbFVucmVn -aXN0ZXJTZXJ2ZXIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -ABAAAKgAAAAOMB8wJTA+MFMwYzBzMJEwmzCgMKUwCTFNMVIxVzGGMZIxoTHaMfEx -AjISMhgyJDIqMl0yejKRMrwyzTIhMywzMzN0M4MznjOvMxg0PzS8NO829TYRN/03 -CjitOLU4wzjWODg5AAAAAAAAkzqbOqE6HTsiO0Q7ijvGOwY8FTwkPDM8QjxRPGA8 -bzx+PJA8ojy0PMY82DzqPPw8IT0rPUQ9ACAAADQAAAAoMWIxoDHaMREyVDL7NAE1 -GDWQNZY1iTaPNq82tza9NtY2JDcsNzI3SjcAAAAwAAAQAAAAKDAwMDgwRjAAQAAA -oAEAAOgw7DDwMPQw+DD8MAAxBDEIMQwxEDEUMRgx3DHgMeQx6DHsMfwxADIEMggy -DDIcMiAyJDIoMiwyPDJAMkQySDJMMlAyWDJcMmAyZDJoMmwyfDKAMoQyiDKMMpwy -oDKkMqgyrDK8MsAyxDLIMswy3DLgMuQy6DLsMvwyADMEMwgzDDM4M1gzeDN8M4Az -hDOIM4wzlDOcM6AzpDOoM6wztDO8M8AzxDPIM8wz1DPcM+Az5DPoM+wz9DP8MwA0 -BDQINAw0FDQcNCA0JDQoNCw0NDQ8NEA0RDRINEw0VDRcNGA0ZDRoNGw0dDR8NIA0 -hDSINIw0lDScNKA0pDSoNKw0tDTYNPg0GDUcNSA1JDUoNSw1MDU0NTg1PDVANUQ1 -SDVMNVA1VDVYNVw1YDVkNWg1bDWkNcg11DXYNdw1ADYMNhA2FDYYNjQ2QDZENkg2 -TDZ0NoA2hDaINow2rDa4Nrw2wDbENvw2CDcMNxA3FDdEN1A3VDdYN1w34DW+N8I3 -sjfGN8o38Df8NwA4BDgIOCg4NDg4ODw4cDUAAABgAAA0AAAAAjAIMA4wFDAaMCAw -JjAsMDIwODA+MEQwSjBQMFYwXDBiMGgwbjB0MHowgDAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAA==} -} \ No newline at end of file diff --git "a/src/xddInformator/\320\234\320\260\320\272\320\265\321\202\321\213/regsvrex.txt" "b/src/xddInformator/\320\234\320\260\320\272\320\265\321\202\321\213/regsvrex.txt" deleted file mode 100644 index e3c8d956..00000000 --- "a/src/xddInformator/\320\234\320\260\320\272\320\265\321\202\321\213/regsvrex.txt" +++ /dev/null @@ -1,429 +0,0 @@ -{1, -{#base64:TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAyAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5v -dCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAACD8Kh9x5HGLseRxi7HkcYu -x5HHLsiRxi6ljtUuzpHGLsGyzS7FkcYuAJfALsaRxi5SaWNox5HGLgAAAAAAAAAA -AAAAAAAAAABQRQAATAEEAAG7SUUAAAAAAAAAAOAADwELAQYAABAAAAAwAAAAAAAA -VhYAAAAQAAAAIAAAAABAAAAQAAAAEAAABAAAAAAAAAAEAAAAAAAAAABQAAAAEAAA -AAAAAAIAAAAAABAAABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAEwgAABkAAAA -AEAAANAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAATAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAAtgYAAAAQAAAAEAAAABAAAAAAAAAAAAAA -AAAAACAAAGAucmRhdGEAACICAAAAIAAAABAAAAAgAAAAAAAAAAAAAAAAAABAAABA -LmRhdGEAAACUAAAAADAAAAAQAAAAMAAAAAAAAAAAAAAAAAAAQAAAwC5yc3JjAAAA -0AkAAABAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -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 -QABW/3X4/9eL+Dv7dRVWU2oFjYXY/P//ajBQ6ID6//+DxBT/dQgzwDhd5Q+UwFD/ -1zvDdSxWU2oGjYXY/P//akBQ6Fn6//+DxBTrSGoHjYXY/P//ajBQ6ET6//+DxBTr -FlBWU2oIjYXY/P//ajBQ6Cz6//+DxBiNTRDoLv7//41N7OiG/f//jU386FIAAABq -A1jrO41NEOgR/v//jU3s6Gn9//+NTfzoNQAAAIvD6x9qAWoCahDrBmoAagFqQI2F -2Pz//1Do1vn//4PEEDPAX15bycIQAIvBi0wkBIkIwgQAVovxiwaFwHQHUP8VDCBA -AIMmAF7D/xUcIEAAgDgidRCKSAFAhMl0GoD5InXzQOsSikgBQITJdAqA+SB0BYD5 -CXXuigiA+SB05ID5CXTfagVQagBqAP8VJCBAAFDoff3//1D/FRggQADD/yVEIEAA -/yVAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYIQAAyiEAAAAAAABEIQAA -CCEAAC4hAAB0IQAAgiEAAPwgAAAaIQAAUiEAAGQhAAAAAAAAsCEAAKIhAAAAAAAA -BiIAAPYhAAAAAAAAvCAAAAAAAAAAAAAAlCEAAAwgAADkIAAAAAAAAAAAAAC+IQAA -NCAAALAgAAAAAAAAAAAAAOghAAAAIAAA8CAAAAAAAAAAAAAAGCIAAEAgAAAAAAAA -AAAAAAAAAAAAAAAAAAAAANghAADKIQAAAAAAAEQhAAAIIQAALiEAAHQhAACCIQAA -/CAAABohAABSIQAAZCEAAAAAAACwIQAAoiEAAAAAAAAGIgAA9iEAAAAAAADMAUxv -Y2FsRnJlZQCvAEZvcm1hdE1lc3NhZ2VBAAAmAUdldE1vZHVsZUhhbmRsZUEAAOQB -TXVsdGlCeXRlVG9XaWRlQ2hhcgC0AEZyZWVMaWJyYXJ5AD4BR2V0UHJvY0FkZHJl -c3MAAMIBTG9hZExpYnJhcnlBAAB9AEV4aXRQcm9jZXNzAMoAR2V0Q29tbWFuZExp -bmVBAEtFUk5FTDMyLmRsbAAAvgFNZXNzYWdlQm94QQCrAUxvYWRTdHJpbmdBAFVT -RVIzMi5kbGwAAFsBUmVnQ2xvc2VLZXkAcgFSZWdPcGVuS2V5RXhBAEFEVkFQSTMy -LmRsbAAAyQBPbGVJbml0aWFsaXplAOAAT2xlVW5pbml0aWFsaXplAG9sZTMyLmRs -bAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -UmVnc3ZyRVgAAAAAJTEKCiUyAABzY3JvYmouZGxsAABTb2Z0d2FyZVxDbGFzc2Vz -AAAAAFJlZ092ZXJyaWRlUHJlZGVmS2V5AAAAAGFkdmFwaTMyLmRsbAAAAABEbGxJ -bnN0YWxsAABEbGxSZWdpc3RlclNlcnZlcgAAAERsbFVucmVnaXN0ZXJTZXJ2ZXIA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAGAAAAIAAAgBAAAAA4AACA -AAAAAAAAAAAAAAAAAAABAAEAAABQAACAAAAAAAAAAAAAAAAAAAABAAEAAABoAACA -AAAAAAAAAAAAAAAAAAABABkEAACAAAAAAAAAAAAAAAAAAAAAAAABABkEAACQAAAA -4EMAAPAFAAAAAAAAAAAAAKBAAAA8AwAAAAAAAAAAAAA8AzQAAABWAFMAXwBWAEUA -UgBTAEkATwBOAF8ASQBOAEYATwAAAAAAvQTv/gAAAQAAAAEAAQAAAAAAAQABAAAA -PwAAAAAAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAJwCAAABAFMAdAByAGkAbgBnAEYA -aQBsAGUASQBuAGYAbwAAAHgCAAABADAANAAxADkAMAA0AGIAMAAAABgAAAABAEMA -bwBtAG0AZQBuAHQAcwAAAC4ABwABAEMAbwBtAHAAYQBuAHkATgBhAG0AZQAAAAAA -QQBsAGUAeABxAGMAAAAAADoACQABAEYAaQBsAGUARABlAHMAYwByAGkAcAB0AGkA -bwBuAAAAAAByAGUAZwBzAHYAcgBlAHgAAAAAADYACwABAEYAaQBsAGUAVgBlAHIA -cwBpAG8AbgAAAAAAMQAsACAAMAAsACAAMAAsACAAMQAAAAAAMgAJAAEASQBuAHQA -ZQByAG4AYQBsAE4AYQBtAGUAAAByAGUAZwBzAHYAcgBlAHgAAAAAAEYAEQABAEwA -ZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgAdAAAAEMAbwBwAHkAcgBpAGcAaAB0ACAA -qQAgADIAMAAwADYAAAAAACgAAAABAEwAZQBnAGEAbABUAHIAYQBkAGUAbQBhAHIA -awBzAAAAAABCAA0AAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBuAGEAbQBlAAAA -cgBlAGcAcwB2AHIAZQB4AC4AZQB4AGUAAAAAACAAAAABAFAAcgBpAHYAYQB0AGUA -QgB1AGkAbABkAAAAQAAQAAEAUAByAG8AZAB1AGMAdABOAGEAbQBlAAAAAABBAGwA -ZQB4AHEAYwAgAHIAZQBnAHMAdgByAGUAeAAAADoACwABAFAAcgBvAGQAdQBjAHQA -VgBlAHIAcwBpAG8AbgAAADEALAAgADAALAAgADAALAAgADEAAAAAACAAAAABAFMA -cABlAGMAaQBhAGwAQgB1AGkAbABkAAAARAAAAAEAVgBhAHIARgBpAGwAZQBJAG4A -ZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAAABkEsAQAAAAA -AADvARgEQQQ/BD4EOwRMBDcEPgQyBDAEPQQ4BDUEOgAgAFIAZQBnAFMAdgByAEUA -eAAgAFsALwB1AF0AIABbAC8AcwBdACAAWwAvAG4AXQAgAFsALwBjAF0AIABbAC8A -aQBbADoAYwBtAGQAbABpAG4AZQBdAF0AIABkAGwAbABuAGEAbQBlAAoAIAQ1BDME -OARBBEIEQAQ4BEAEPgQyBDAEQgRMBCAAHgQbBBUEIAAoAEEAYwB0AGkAdgBYACkA -IABBBDUEQAQyBDUEQAQgAGQAbABsAG4AYQBtAGUACgAvAHUAIAAtAAkAIAQwBDcE -QAQ1BDMEOARBBEIEQAQ4BEAEPgQyBDAEQgRMBCAAQQQ1BEAEMgQ1BEAECgAvAHMA -IAAtAAkAEQQ1BDcEIAA/BD4EOgQwBDcEMAQgAD4EOgQ9BDAEIABBBD4EPgQxBEkE -NQQ9BDgEOQQKAC8AaQAgAC0ACQASBEsENwQ+BDIEIABEAGwAbABJAG4AcwB0AGEA -bABsACAAQQQgAD4EPwRGBDgEPgQ9BDAEOwRMBD0ESwQ8BDgEIAA/BDAEQAQwBDwE -NQRCBEAEMAQ8BDgEIABbAGMAbQBkAGwAaQBuAGUAXQA7ACAAQQQgAC8AdQAgADIE -SwQ3BEsEMgQwBDUEQgQgAGQAbABsACAAdQBuAGkAbgBzAHQAYQBsAGwACgAvAG4A -IAAtAAkAPQQ1BCAAMgRLBDcESwQyBDAEQgRMBCAARABsAGwAUgBlAGcAaQBzAHQA -ZQByAFMAZQByAHYAZQByADsAIAA+BD8ERgQ4BE8EIAA4BDwENQQ1BEIEIABBBDwE -SwRBBDsEIABCBD4EOwRMBDoEPgQgAEEEIAAvAGkACgAKAC8AYwAgAC0ACQAYBEEE -PwQ+BDsETAQ3BD4EMgQwBEIETAQgADIENQRCBDoEQwQgAEAENQQ1BEEEQgRABDAE -IABCBDUEOgRDBEkENQQzBD4EIAA/BD4EOwRMBDcEPgQyBDAEQgQ1BDsETwQgACgA -SABLAEMAVQApAC4ACgAJAB8EPgQ3BDIEPgQ7BE8ENQRCBCAAQAQ1BDMEOARBBEIE -QAQ4BEAEPgQyBDAEQgRMBCAAQQQ1BEAEMgQ1BEAEIABCBD4EOwRMBDoEPgQgAD8E -PgQ0BCAAQgQ1BDoEQwRJBDUEPAQgAD8EPgQ7BEwENwQ+BDIEMARCBDUEOwQ1BDwE -LAAKAAkAPQQ1BCAAQgRABDUEMQRDBDUEQgQgAD8EQAQ4BDIENQQ7BDUEMwQ4BDkE -IAAwBDQEPAQ4BD0EOARBBEIEQAQwBEIEPgRABDAELgAKAEUAHQQ1BD8EQAQwBDIE -OAQ7BEwEPQRLBDkEIABEBD4EQAQ8BDAEQgQgADoEPgQ8BDAEPQQ0BD0EPgQ5BCAA -QQRCBEAEPgQ6BDgELgAKABQEOwRPBCAAQQQ/BEAEMAQyBDoEOAQgADIEMgQ1BDQE -OARCBDUEIABSAGUAZwBzAHYAcgBFAHgAIAAvAD8AFAAdBDUEIABDBDoEMAQ3BDAE -PQQgAD8EQwRCBEwEIAA6BCAARABMAEwAGwAdBDUEIAA8BD4EMwRDBCAANwQwBDME -QARDBDcEOARCBEwEIAA8BD4ENARDBDsETAQgACUAMQAVACQEQwQ9BDoERgQ4BE8E -IAAlADEAIAA9BDUEIAA9BDAEOQQ0BDUEPQQwBB4AJARDBD0EOgRGBDgETwQgACUA -MQAgADcEMAQyBDUEQARIBDgEOwQwBEEETAQgAEMEQQQ/BDUESAQ9BD4EHwAkBEME -PQQ6BEYEOARPBCAAJQAxACAANwQwBDIENQRABEgEOAQ7BDAEQQRMBCAAPQQ1BEME -NAQwBEcEPQQ+BDMAJARDBD0EOgRGBDgETwQgACUAMQAgADcEMAQyBDUEQARIBDUE -PQQwBCAAPQQ1BEMENAQwBEcEPQQ+BCwAIAA6BD4ENAQgADIEPgQ3BDIEQAQwBEIE -MAQgADAAeAAlADIAIQB4ACEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=} -} \ No newline at end of file diff --git "a/src/xddInformator/\320\234\320\260\320\272\320\265\321\202\321\213/\320\241\320\277\321\200\320\260\320\262\320\272\320\260.txt" "b/src/xddInformator/\320\234\320\260\320\272\320\265\321\202\321\213/\320\241\320\277\321\200\320\260\320\262\320\272\320\260.txt" deleted file mode 100644 index e2378ff7..00000000 --- "a/src/xddInformator/\320\234\320\260\320\272\320\265\321\202\321\213/\320\241\320\277\321\200\320\260\320\262\320\272\320\260.txt" +++ /dev/null @@ -1,411 +0,0 @@ - - - - -Информатор - - - -
-

Информатор

- - - -

Класс "Информатор" .

-

Удобный сервисный класс, показывающий различную информацию.

-

Версия 1C: 8.2 и выше.

-
-

Методы

- -
-

ПолучитьТаблицуМетодов

-
-
-

Синтаксис: ПолучитьТаблицуМетодов(ПроверяемыйОбъект)

-
-
Параметры:
-
    -
  • ПроверяемыйОбъект - тип: Агрегатный.
  • -
-
-
-

Возвращает: тип: ТаблицаЗначений. Полученная таблица методов для данного объекта.

-

Описание: Получает таблицу методов для переданного объекта.

-
-
-
В случае, если проверяемый объект не является агрегатным типом (Строка, Число и т.п.),
-
выдается исключение.
-
-
-
-
-

ПолучитьТаблицуСвойств

-
-
-

Синтаксис: ПолучитьТаблицуСвойств(ПроверяемыйОбъект)

-
-
Параметры:
-
    -
  • ПроверяемыйОбъект - тип: Агрегатный.
  • -
-
-
-
-

Возвращает: тип: ТаблицаЗначений. Полученная таблица свойств для данного объекта.

-
-Описание: Получает таблицу свойств для переданного объекта.
-
-
В случае, если проверяемый объект не является агрегатным типом (Строка, Число и т.п.),
-
выдается исключение.
-
-
-
-
-

МетодСуществует

-
-
-

Синтаксис: МетодСуществует(ПроверяемыйОбъект, ИмяМетода)

-
-
Параметры:
-
    -
  • ПроверяемыйОбъект - тип: Агрегатный.
  • -
  • ИмяМетода - тип: Строка. Имя метода, существование которого проверяем.
  • -
-
-
-
-

Возвращает: тип: Булево. Истина, если метод существует. Ложь, если нет.

-
-

Описание: Проверяет существование указанного метода у переданного объекта.

-

В случае, если проверяемый объект не является агрегатным типом (Строка, Число и т.п.), -выдается исключение. -В случае, если второй параметр не является строкой, выдается исключение.

-
-
-
-
-

СвойствоСуществует

-
-
-

Синтаксис: СвойствоСуществует(ПроверяемыйОбъект, ИмяСвойства)

-
-
Параметры:
-
    -
  • ПроверяемыйОбъект - тип: Агрегатный.
  • -
  • ИмяСвойства - тип: Строка. Имя свойства, существование которого проверяем.
  • -
-
-
-
-

Возвращает: тип: Булево. Истина, если свойство существует. Ложь, если нет.

-
-

Описание: Проверяет существование указанного свойства у переданного объекта.

-

В случае, если проверяемый объект не является агрегатным типом (Строка, Число и т.п.), -выдается исключение. -В случае, если второй параметр не является строкой, выдается исключение.

-
-
-
-
-
- - - diff --git "a/src/xddRegisterDynaWrapperX/Form/\320\244\320\276\321\200\320\274\320\260/form" "b/src/xddRegisterDynaWrapperX/Form/\320\244\320\276\321\200\320\274\320\260/form" deleted file mode 100644 index 4e33e0f9..00000000 --- "a/src/xddRegisterDynaWrapperX/Form/\320\244\320\276\321\200\320\274\320\260/form" +++ /dev/null @@ -1,371 +0,0 @@ -{27, -{16, -{ -{1,1, -{"ru","Регистрация_DynaWrapperX - на базе Информатора - http://www.1cpp.ru/forum/YaBB.pl?num=1313560540"} -},7,3}, -{09ccdc77-ea1a-4a6d-ab1c-3435eada2433, -{1, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},21,0,1, -{0,3,1},2, -{0,2,2}, -{0,3,2},2, -{0,2,3}, -{0,3,3},0,0, -{3,1, -{3,0, -{0},"",-1,-1,1,0} -},0,1, -{1,1, -{3, -{1,1, -{"ru","Страница1"} -}, -{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,33,0,1,2,0,0,0,0}, -{2,643,1,1,3,0,0,8,0}, -{2,104,0,1,4,0,0,33,0},0,4294967295,5,64,0}, -{0} -}, -{3, -{e69bf21d-97b2-4f37-86db-675aea9ec2cb,2, -{2, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-21} -}, -{3,0, -{0},4,1,0,00000000-0000-0000-0000-000000000000}, -{1,0} -},8,2,1,0,1,1, -{5,0520bbd3-4cbc-4eb9-ba0d-8bbe97ef2dc0,120,1,0,1, -{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,0, -{0,0, -{0} -} -} -},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,9d0a2e40-b978-11d4-84b6-008048da06df,0} -}, -{8,0,0,651,25,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,2,0,25}, -{2,-1,6,0} -}, -{0, -{2,0,2,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,2,1},0,0,0,0,0,0,0,1,1,0}, -{14,"КоманднаяПанель1",0,0,0,0}, -{0} -}, -{e69bf21d-97b2-4f37-86db-675aea9ec2cb,3, -{2, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-21} -}, -{3,0, -{0},7,1,0,00000000-0000-0000-0000-000000000000}, -{1,0} -},8,2,0,2,0,1, -{5,88cfa5ce-39b7-494a-a1b9-7d6756a478f6,8,1,3, -{6,fd2f36a9-eede-4811-9a16-9b9692a9f2d0,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,c67a0ede-f83a-4518-8283-eeabf4bfa960,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} -} -},7, -{1,1, -{"ru","Зарегистрировать DynaWrapperX (в редакции chessman)"} -}, -{1,1, -{"ru","Зарегистрировать DynaWrapperX (в редакции chessman)"} -}, -{3,1, -{0,f874b0cc-db1d-4577-8c77-d4ba206eb05d},"",-1,-1,1,0} -}, -{6,88558c78-7949-483d-aba0-04ea915cb34f,1,fbe38877-b914-4fd5-8540-07dde06ba2e1, -{6,2,00000000-0000-0000-0000-000000000000,142, -{1,0,357c6a54-357d-425d-a2bd-22f4f6e86c87,2147483647,0},0,1},0},1, -{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,3,c67a0ede-f83a-4518-8283-eeabf4bfa960, -{8,"Зарегистрировать",0,1, -{1,1, -{"ru","Зарегистрировать DynaWrapperX"} -},1,88cfa5ce-39b7-494a-a1b9-7d6756a478f6,8,1e2,0,3,1,0,0,0,0},fd2f36a9-eede-4811-9a16-9b9692a9f2d0, -{8,"Разделитель",0,1, -{1,0},0,88cfa5ce-39b7-494a-a1b9-7d6756a478f6,2,1e2,2,1,1,0,0,0,0},88558c78-7949-483d-aba0-04ea915cb34f, -{8,"ОсновныеДействияФормыЗакрыть",0,1, -{1,1, -{"ru","Закрыть"} -},1,88cfa5ce-39b7-494a-a1b9-7d6756a478f6,3,1e2,0,1,1,0,0,0,0}, -{-1,0, -{0} -} -} -},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,51f42c16-70a8-4092-9b3a-d86538b5cd16,8} -}, -{8,0,112,651,137,1, -{0, -{2,3,1,-25}, -{2,-1,6,0} -}, -{0, -{2,0,1,0}, -{2,-1,6,0} -}, -{0, -{2,0,2,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,3,1},1, -{0,3,0},0,0,0,0,0,1,3,1,1}, -{14,"ОсновныеДействияФормы",0,0,0,0}, -{0} -}, -{0fc7e20d-f241-460c-bdf4-5ad88e5474a5,7, -{3, -{ -{10,1, -{3,4, -{0} -}, -{3,2, -{10} -}, -{6,3,0,0},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},7, -{1,0},4,1,1,0,0, -{0,0,0},0, -{1,0},1, -{3,4, -{3,0, -{0},"",-1,-1,1,0} -},4}, -{1, -{0,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} -} -} -} -} -}, -{8,8,44,643,59,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,7,0,15}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,7,2,635}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,7,1},0,1, -{0,7,3},0,0,0,0,2,2,0,0}, -{14,"НадписьЗаголовок",4294967295,0,0,0}, -{0} -} -} -},651,137,1,0,1,4,4,218}, -{ -{0},2, -{1, -{ -{0},0,0,1,"ОбработкаОбъект", -{"Pattern", -{"#",a920c8f8-3d68-4182-9acd-0f8faac4dff7} -} -} -}, -{0} -}, -{59d6c227-97d3-46f6-84a0-584c5a2807e1,1, -{2,0, -{0,0}, -{0},1} -}, -{1, -{70001,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} -} -} -} -},1,4,1,0,0,0, -{0}, -{0}, -{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/xddRegisterDynaWrapperX/Form/\320\244\320\276\321\200\320\274\320\260/module" "b/src/xddRegisterDynaWrapperX/Form/\320\244\320\276\321\200\320\274\320\260/module" deleted file mode 100644 index 428baa93..00000000 --- "a/src/xddRegisterDynaWrapperX/Form/\320\244\320\276\321\200\320\274\320\260/module" +++ /dev/null @@ -1,13 +0,0 @@ - -Процедура ПриОткрытии() - //Заголовок = ПолучитьНачалоЗаголовка(); - ЭлементыФормы.НадписьЗаголовок.Заголовок = Заголовок; -КонецПроцедуры - -Процедура НадписьЗаголовокНажатие(Элемент) - ЗапуститьПриложение("http://www.1cpp.ru/forum/YaBB.pl?num=1313560540"); -КонецПроцедуры - -Процедура ОсновныеДействияФормыЗарегистрировать(Кнопка) - ЗарегистрироватьWinAPI(); -КонецПроцедуры diff --git a/src/xddRegisterDynaWrapperX/ObjectModule.txt b/src/xddRegisterDynaWrapperX/ObjectModule.txt deleted file mode 100644 index e54504ea..00000000 --- a/src/xddRegisterDynaWrapperX/ObjectModule.txt +++ /dev/null @@ -1,266 +0,0 @@ -Перем ИМЯ_КЛАССА_DynamicWrapperX; - -Перем WinAPI; - -Перем WshShell; // Экспорт; -Перем ФайлРегистратораКомпонент; // Экспорт; -Перем ИсполнительСкрытыхКомандСистемы; -Перем ПапкаВнешнихКомпонент; // Экспорт; - -Функция Версия() Экспорт - Возврат "1.10.1"; -КонецФункции - -#Если Клиент Тогда - -Функция ЗарегистрироватьWinAPI() Экспорт - ПапкаВнешнихКомпонент = Новый Файл(КаталогВременныхФайлов()); - - WshShell = Новый COMОбъект("WScript.Shell"); - - WinAPI = "НеИнициализирован"; - WinAPI = ПолучитьWinAPI(); -КонецФункции - -Функция ЭтоПлатформа_81() - Перем локальная; - этоПлатформа_81 = Истина; - Попытка - Выполнить("локальная = Метаданные.РежимСовместимости"); - этоПлатформа_81 = Ложь; - Исключение - КонецПопытки; - Возврат этоПлатформа_81; -КонецФункции - -#КонецЕсли - -// ================================== ================================== ================================== -// -// блок кода из "Инструменты разработчика" -// -// ================================== ================================== ================================== - -#Если Клиент Тогда - -// Получает новый экземпляр ком-объекта парсера. -// -// Параметры: -// Нет. -// -// Возвращаемое значение: -// Com-объект, Неопределено. -// -Функция ПолучитьWinAPI() //Экспорт - - Если WinAPI = "НеИнициализирован" Тогда - WinAPI = ПолучитьCOMОбъектИзМакета(ИМЯ_КЛАССА_DynamicWrapperX, ИМЯ_КЛАССА_DynamicWrapperX); - Если WinAPI <> Неопределено Тогда - //WinAPI.Register( "KERNEL32.DLL","Sleep","i=h","f=s"); - ////WinAPI.Register( "KERNEL32.DLL","GetTickCount64","r=l","f=s"); // обычный DynamicWrapper на x86 подключает, а этот - нет - //WinAPI.Register( "KERNEL32.DLL","GetTickCount","r=l","f=s"); - //WinAPI.Register( "KERNEL32.DLL","GetProcessId","i=l","r=l","f=s"); - //WinAPI.Register( "KERNEL32.DLL","GetCurrentProcessId","r=l","f=s"); - //WinAPI.Register( "WINMM.DLL", "timeGetTime", "r=l", "f=s"); - //WinAPI.Register( "WINMM.DLL", "timeBeginPeriod", "i=l", "r=l", "f=s"); - //WinAPI.Register( "WINMM.DLL", "timeEndPeriod", "i=l", "r=l", "f=s"); - Иначе - // Под пользователем ОС без админских прав сразу после установки через regsvr32 /i компонента не создается почему то. - // Нужно перезапускать приложение. - Предупреждение("Установлена новая компонента. Сеанс будет перезапущен", 5); - ПрекратитьРаботуСистемы(Истина); - КонецЕсли; - КонецЕсли; - Возврат WinAPI; - -КонецФункции // ПолучитьWinAPI() - -#КонецЕсли - -Функция ЗарегистрироватьПолучитьCOMОбъект(КлассКомпоненты, ПолноеИмяDll) //Экспорт - - // Сначала пробуем зарегистрировать для HKLM - КоманднаяСтрока = "regsvr32 /s """ + ПолноеИмяDll + """"; - //КомандаСистемы(КоманднаяСтрока); - ЗапуститьСкрытоеПриложениеИДождатьсяЗавершения(КоманднаяСтрока, , Истина); - Попытка - Компонента = Новый COMОбъект(КлассКомпоненты); - Исключение - КонецПопытки; - Если Компонента <> Неопределено Тогда - Сообщить("Зарегистрирована COM-компонента " + КлассКомпоненты, СтатусСообщения.Информация); - Возврат Компонента; - КонецЕсли; - - // Теперь пробуем зарегистрировать для HKCU - КоманднаяСтрока = "regsvr32 /s /i""" + ПолноеИмяDll + """"; - //КомандаСистемы(КоманднаяСтрока); - ЗапуститьСкрытоеПриложениеИДождатьсяЗавершения(КоманднаяСтрока, , Истина); - Попытка - Компонента = Новый COMОбъект(КлассКомпоненты); - Исключение - КонецПопытки; - Если Компонента <> Неопределено Тогда - Сообщить("Зарегистрирована COM-компонента " + КлассКомпоненты, СтатусСообщения.Информация); - Возврат Компонента; - КонецЕсли; - - Если ФайлРегистратораКомпонент = Неопределено Тогда - ФайлРегистратораКомпонент = Новый Файл(ПолучитьИмяВременногоФайла("exe")); - ПолучитьМакет("regsvrex").Записать(ФайлРегистратораКомпонент.ПолноеИмя); - КонецЕсли; - - // Теперь пробуем зарегистрировать для HKCU через сторонний регистратор - КоманднаяСтрока = """" + ФайлРегистратораКомпонент.ПолноеИмя + """ /c /s """ + ПолноеИмяDll + """"; - //КомандаСистемы(КоманднаяСтрока); - ЗапуститьСкрытоеПриложениеИДождатьсяЗавершения(КоманднаяСтрока, , Истина); - Попытка - Компонента = Новый COMОбъект(КлассКомпоненты); - Исключение - КонецПопытки; - Если Компонента <> Неопределено Тогда - Сообщить("Зарегистрирована COM-компонента " + КлассКомпоненты, СтатусСообщения.Информация); - Возврат Компонента; - КонецЕсли; - - // Теперь пробуем зарегистрировать для HKCU через сторонний регистратор - КоманднаяСтрока = """" + ФайлРегистратораКомпонент.ПолноеИмя + """ /c /s /i """ + ПолноеИмяDll + """"; - //КомандаСистемы(КоманднаяСтрока); - ЗапуститьСкрытоеПриложениеИДождатьсяЗавершения(КоманднаяСтрока, , Истина); - Попытка - Компонента = Новый COMОбъект(КлассКомпоненты); - Исключение - КонецПопытки; - Если Компонента <> Неопределено Тогда - Сообщить("Зарегистрирована COM-компонента " + КлассКомпоненты, СтатусСообщения.Информация); - Возврат Компонента; - КонецЕсли; - - Сообщить("Не удалось зарегистривать COM-компоненту " + КлассКомпоненты + ". Возможно требуются права администратора ОС", - СтатусСообщения.Внимание); - Возврат Неопределено; - -КонецФункции // ЗарегистрироватьПолучитьCOMОбъект - -// Возвращает нужный com-объект. Если компонента не зарегистрирована, то пытается ее сохранить из макета и зарегистрировать. -// -// Параметры: -// Нет. -// -// Возвращаемое значение: -// COM-объект, Неопределено. -// -Функция ПолучитьCOMОбъектИзМакета(ИмяКомпоненты, КлассКомпоненты, КаталогУстановки = "авто") //Экспорт - - Попытка - Компонента = Новый COMОбъект(КлассКомпоненты); - - // -- Артур -- 14.09.2011 - вставка в код ИР - Если КлассКомпоненты = ИМЯ_КЛАССА_DynamicWrapperX Тогда - Попытка - л = Компонента.GetIDispatch(Компонента); - Возврат Компонента; - Исключение - //ВызватьИсключение "Зарегистрирована старая версия COM-объекта DynamicWrapperX"; - КонецПопытки; - КонецЕсли; - //Возврат Компонента; - // --завершение - - Исключение - КонецПопытки; - - #Если Клиент Тогда - Если КаталогУстановки = "" Тогда - Ответ = Вопрос("Для работы данной функции необходимо зарегистрировать - //|(необходимы права локального администратора) - | COM-компоненту """ + ИмяКомпоненты + """. Выполнить регистрацию?", - РежимДиалогаВопрос.ОКОтмена, 30, КодВозвратаДиалога.Отмена); - Если Ответ = КодВозвратаДиалога.Отмена Тогда - Возврат Неопределено; - КонецЕсли; - ВыборФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога); - ВыборФайла.Заголовок = "Укажите папку, куда установить компоненту."; - Если Не ВыборФайла.Выбрать() Тогда - Возврат Неопределено; - КонецЕсли; - КаталогУстановки = ВыборФайла.Каталог; - ИначеЕсли Нрег(КаталогУстановки) = Нрег("авто") Тогда - КаталогУстановки = ПапкаВнешнихКомпонент.ПолноеИмя; - КонецЕсли; - ФайлКомпоненты = Новый Файл(КаталогУстановки + "\" + ИмяКомпоненты + ".dll"); - Если Не ФайлКомпоненты.Существует() Тогда - ПолучитьМакет(ИмяКомпоненты).Записать(ФайлКомпоненты.ПолноеИмя); - КонецЕсли; - - Результат = ЗарегистрироватьПолучитьCOMОбъект(КлассКомпоненты, ФайлКомпоненты.ПолноеИмя); - #Иначе - Результат = Неопределено; - #КонецЕсли - Возврат Результат; - -КонецФункции // ПолучитьCOMОбъектИзМакета() - -// <Описание процедуры> -// -// Параметры: -// <Параметр1> – <Тип.Вид> – <описание параметра> -// <продолжение описания параметра>; -// ИмяФайлаРезультата – Краткое имя файла, в который будет выведен выходной поток, только в текущем каталоге. -// -Процедура ЗапуститьСкрытоеПриложениеИДождатьсяЗавершения(Знач СтрокаЗапуска, ТекущийКаталог = "\.", ИспользоватьWSH = Ложь, - КраткоеИмяФайлаРезультата = "") //Экспорт - - #Если Клиент Тогда - // Баг платформы здесь будет работать. Во время работы данной строки окно продолжает принимать команды! - // WSH не использовать при генерации внешних обработок - Если ИспользоватьWSH Тогда - #КонецЕсли - WshShell.CurrentDirectory = ТекущийКаталог; - СтрокаЗапуска = "cmd.exe /c """ + СтрокаЗапуска + """"; - Если КраткоеИмяФайлаРезультата <> "" Тогда - СтрокаЗапуска = СтрокаЗапуска + " > " + КраткоеИмяФайлаРезультата; - СтрокаЗапуска = СтрокаЗапуска + " 2>&1"; //stderr - КонецЕсли; - Попытка - WshShell.Run(СтрокаЗапуска, 0, Истина); - Исключение - // Для x64 ОС - СтрокаЗапуска = "%windir%\Sysnative\" + СтрокаЗапуска; - WshShell.Run(СтрокаЗапуска, 0, Истина); - КонецПопытки; - #Если Клиент Тогда - Иначе - ПолучитьИсполнительСкрытыхКомандСистемы(); - КонечнаяСтрока = ИсполнительСкрытыхКомандСистемы + " /nowindow /wait /silent /D=""" + ТекущийКаталог + """ " + СтрокаЗапуска; - ЗапуститьПриложение(КонечнаяСтрока, , Истина); - КонецЕсли; - #КонецЕсли - -КонецПроцедуры // ЗапуститьСкрытоеПриложениеИДождатьсяЗавершения() - -Функция ПолучитьИсполнительСкрытыхКомандСистемы() //Экспорт - - Если ИсполнительСкрытыхКомандСистемы = Неопределено Тогда - ДвоичныеДанные = ПолучитьОбщийМакет("hstart"); - ИсполнительСкрытыхКомандСистемы = ПолучитьИмяВременногоФайла("exe"); - ДвоичныеДанные.Записать(ИсполнительСкрытыхКомандСистемы); - ИсполнительСкрытыхКомандСистемы = """" + ИсполнительСкрытыхКомандСистемы + """"; - КонецЕсли; - Возврат ИсполнительСкрытыхКомандСистемы; - -КонецФункции - -// ================================== ================================== ================================== -// -// окончание блока кода из "Инструменты разработчика" -// -// ================================== ================================== ================================== - -ИМЯ_КЛАССА_DynamicWrapperX = "DynamicWrapperX"; - -//#Если Клиент Тогда -// -// Инит(); -// -//#КонецЕсли diff --git a/src/xddRegisterDynaWrapperX/renames.txt b/src/xddRegisterDynaWrapperX/renames.txt deleted file mode 100644 index 65014496..00000000 --- a/src/xddRegisterDynaWrapperX/renames.txt +++ /dev/null @@ -1,16 +0,0 @@ -11116fb6-f76c-4234-b4b9-636425c00fa9-->und\11116fb6-f76c-4234-b4b9-636425c00fa9 -43dd74a9-d72e-4251-bd67-7057118283e8-->und\43dd74a9-d72e-4251-bd67-7057118283e8 -43dd74a9-d72e-4251-bd67-7057118283e8.0-->Макеты\DynamicWrapperX.txt -43dd74a9-d72e-4251-bd67-7057118283e8.0-->und\43dd74a9-d72e-4251-bd67-7057118283e8.0 -4d409c29-d7aa-4a07-91f5-6531a0ba7fad-->und\4d409c29-d7aa-4a07-91f5-6531a0ba7fad -4d409c29-d7aa-4a07-91f5-6531a0ba7fad.0-->Form\Форма -copyinfo-->und\copyinfo -d054f62e-af11-4458-b21f-f566a1ddad63.0\info-->und\d054f62e-af11-4458-b21f-f566a1ddad63.0\info -d054f62e-af11-4458-b21f-f566a1ddad63.0\text-->ObjectModule.txt -d054f62e-af11-4458-b21f-f566a1ddad63.1-->und\d054f62e-af11-4458-b21f-f566a1ddad63.1 -e33bfc68-6347-4ba4-ad0a-9ff4064ff5cb-->und\e33bfc68-6347-4ba4-ad0a-9ff4064ff5cb -e33bfc68-6347-4ba4-ad0a-9ff4064ff5cb.0-->Макеты\regsvrex.txt -e33bfc68-6347-4ba4-ad0a-9ff4064ff5cb.0-->und\e33bfc68-6347-4ba4-ad0a-9ff4064ff5cb.0 -root-->und\root -version-->und\version -versions-->und\versions diff --git a/src/xddRegisterDynaWrapperX/und/11116fb6-f76c-4234-b4b9-636425c00fa9 b/src/xddRegisterDynaWrapperX/und/11116fb6-f76c-4234-b4b9-636425c00fa9 deleted file mode 100644 index b6ba5082..00000000 --- a/src/xddRegisterDynaWrapperX/und/11116fb6-f76c-4234-b4b9-636425c00fa9 +++ /dev/null @@ -1,17 +0,0 @@ -{1, -{11116fb6-f76c-4234-b4b9-636425c00fa9},1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, -{1, -{4,a920c8f8-3d68-4182-9acd-0f8faac4dff7,63ede7c5-f0c1-49dc-bf4d-71c3d72ef434, -{0, -{0, -{0,0,d054f62e-af11-4458-b21f-f566a1ddad63},"xddRegisterDynaWrapperX", -{1,"ru","Регистрация DynaWrapperX - на базе Информатора - http://www.1cpp.ru/forum/YaBB.pl?num=1313560540"},"http://www.1cpp.ru/forum/YaBB.pl?num=1313560540"} -},4d409c29-d7aa-4a07-91f5-6531a0ba7fad,"",00000000-0000-0000-0000-000000000000},4, -{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,2,43dd74a9-d72e-4251-bd67-7057118283e8,e33bfc68-6347-4ba4-ad0a-9ff4064ff5cb}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,4d409c29-d7aa-4a07-91f5-6531a0ba7fad}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0} -} -} -} \ No newline at end of file diff --git a/src/xddRegisterDynaWrapperX/und/43dd74a9-d72e-4251-bd67-7057118283e8 b/src/xddRegisterDynaWrapperX/und/43dd74a9-d72e-4251-bd67-7057118283e8 deleted file mode 100644 index 36f382f2..00000000 --- a/src/xddRegisterDynaWrapperX/und/43dd74a9-d72e-4251-bd67-7057118283e8 +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,1, -{0, -{0,0,43dd74a9-d72e-4251-bd67-7057118283e8},"DynamicWrapperX", -{1,"ru","Dynamic wrapper X"},""} -},0} \ No newline at end of file diff --git a/src/xddRegisterDynaWrapperX/und/43dd74a9-d72e-4251-bd67-7057118283e8.0 b/src/xddRegisterDynaWrapperX/und/43dd74a9-d72e-4251-bd67-7057118283e8.0 deleted file mode 100644 index 2dd00869..00000000 --- a/src/xddRegisterDynaWrapperX/und/43dd74a9-d72e-4251-bd67-7057118283e8.0 +++ /dev/null @@ -1,312 +0,0 @@ -{1, -{#base64:TVpsAAEAAAACAAAA//8AAAAAAAARAAAAQAAAAAAAAABXaW4zMiBQcm9ncmFtIQ0K -JLQJugABzSG0TM0hYAAAAEdvTGluaywgR29Bc20gd3d3LkdvRGV2VG9vbC5jb20A -UEUAAEwBBwBRhMFIAAAAAAAAAADgAA4hCwEAJgAYAAAAGgAAAAAAAAAQAAAAEAAA -ADAAAAAAABAAEAAAAAIAAAQAAAAAAAAABAAAAAAAAAAAkAAAAAQAALWQAAACAAAA -AAAQAAAAAQAAABAAABAAAAAAAAAQAAAAAHAAALwAAACEYAAAZAAAAABQAAD4BAAA -AAAAAAAAAAAAAAAAAAAAAACAAADAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6GAAAGgAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAABjb2RlAAAAAFcYAAAAEAAAABoAAAAEAAAAAAAAAAAAAAAAAAAgAABg -ZGF0YQAAAABQBAAAADAAAAACAAAAHgAAAAAAAAAAAAAAAAAAQAAAwGNvbnN0AAAA -RAgAAABAAAAACgAAACAAAAAAAAAAAAAAAAAAAEAAAEAucnNyYwAAAPgEAAAAUAAA -AAYAAAAqAAAAAAAAAAAAAAAAAABAAABALmlkYXRhAABiAwAAAGAAAAAEAAAAMAAA -AAAAAAAAAAAAAAAAIAAAYC5lZGF0YQAAvAAAAABwAAAAAgAAADQAAAAAAAAAAAAA -AAAAAEAAAEAucmVsb2MAAMACAAAAgAAAAAQAAAA2AAAAAAAAAAAAAAAAAABAAABC -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -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 -VVZXU4nlg+wEg30YAHRgi10YizNT/1YE6KMNAACFwJCQkJCQkJCQkJCQdEtqAP91 -IP91HGoB6N77//9yKVBSUf91GI8Gj0YEj0YIj0YMg8YQiTU4MAAQifgDPTQwABCJ -PTAwABD4iexbX15dwhAAuA4AAoD56++4CgACgPnr51VWV1OJ5YPsMInji3UUi1YI -i04EiU30ichAweAEKcSJZeyLRRiDwASLPlBTUVJX6KkAAACJTfzHRfAAAAAAx0X4 -AAAAAIsfZsdF3AAAx0XkAAAAAFWDBCTUagBqAWhGMAAQaJhAABBX/1MUhcB1Sf9F -9GoAagBVgwQk3FWDBCTsagFqAGiYQAAQ/3XUV/9TGIXAdUWDfgwAdA//dgxVgwQk -3OikAQAAcjCLTfyD6QSJ7FtfXl3CCABqAGoAVYMEJNxVgwQk7GoBagBomEAAEGoA -V/9TGIXAdLsxwOvMVVZXU4nlg+wEi00ci10gg+sQ/3UUagmPA49DCOMui30ki3UY -/K3B4AIFPEUAEIsQhdJ0JIPrEFFXU1LoLwcAAFlyDInH4t6J+StNJDHA+InsW19e -XcIUALgFAAKA+evvjwQMAczDieBQaFAwABDosP7//+vrieBQaGAwABDoof7//+vc -ieBQaHAwABDokv7//+vNieBQaIAwABDog/7//+u+ieBQaJAwABDodP7//+uvieBQ -aKAwABDoZf7//+ugieBQaLAwABDoVv7//+uRieBQaMAwABDoR/7//+uCieBQaNAw -ABDoOP7//+lw////ieBQaOAwABDoJv7//+le////ieBQaPAwABDoFP7//+lM//// -ieBQaAAxABDoAv7//+k6////ieBQaBAxABDo8P3//+ko////ieBQaCAxABDo3v3/ -/+kW////ieBQaDAxABDozP3//+kE////ieBQaEAxABDouv3//+ny/v//VVZXU4nl -g+wEi10Ui3UYZoM7CXRDiw3YQQAQicpmiwO/yEEAEPzyZq91QynKSsHiAosGweAF -AdCNgNxBABCLAIXAdCpqAGoAU1DoNwAAAInsW19eXcIIAItDCGaDeCwDdAdmg3gs -BXWsjVgs66e4BQACgPmJ7FtfXl3CCACQkJCQkJCQkJBVVldTieWD7BSLdRiLRgiL -fRz/VRRyBoX/eAKJ+InsW19eXcIQACX/AAAA6wGYg+8EeAKJB/jDm9vj2UYI6wab -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 -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAIAAIAAAAAAAAAAAAAAAAAKAAAAAAAAAERHABAAAAAA -AhwAEA8AAABQMAAQYwBhAGwAbAAAADwwABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEeW5hbWljV3JhcHBlclgA -ezg5NTY1Mjc1LUE3MTQtNGE0My05MTJFLTk3OEI5MzVFRENDQ30AU29mdHdhcmVc -Q2xhc3Nlc1xEeW5hbWljV3JhcHBlclgAU29mdHdhcmVcQ2xhc3Nlc1xDTFNJRFx7 -ODk1NjUyNzUtQTcxNC00YTQzLTkxMkUtOTc4QjkzNUVEQ0NDfQAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAMAAAAAAAABGAQAAAAAAAADAAAAAAAAARgAEAgAAAAAA -wAAAAAAAAEZ1UlaJFKdDSpEul4uTXtzMrxIAEPYSABD8EgAQAhMAEGwTABDoQAAQ -jhMAEOQTABD0EwAQJRQAEC0UABA1FAAQrhQAEEFkdmFwaTMyLmRsbABSZWdDcmVh -dGVLZXlFeEEAUmVnU2V0VmFsdWVFeEEAUmVnQ2xvc2VLZXkASW5Qcm9jU2VydmVy -MzIAJXNcJXMAQ0xTSUQAJXNcJXMAc2hsd2FwaS5kbGwAU0hEZWxldGVLZXlBAAAA -bABoAHUAcABuAHQAYwBiAGQAZgB3AHMAegBMAEgAVQBQAE4AVABDAEIARABGAFcA -UwBaABoAAAADAAIAEQAFAAQACQAAAAgACAAAAL4dABC9HQAQth0AEM8dABDHHQAQ -AAAAAAAAAAAAAAAA+B0AEPcdABDwHQAQCR4AEAEeABAAAAAAAAAAAAAAAABNHgAQ -QR4AEDoeABBiHgAQWh4AEAAAAAAAAAAAAAAAAE0eABBBHgAQOh4AEGIeABBaHgAQ -TR4AEAAAAAA5IAAQmh4AEJAeABCJHgAQsh4AEKoeABAAAAAAAAAAAAAAAADtHgAQ -2h4AENMeABACHwAQ+h4AEAAAAAAAAAAAAAAAADcfABA2HwAQIx8AEEsfABBDHwAQ -AAAAAAAAAAAAAAAAhR8AEGwfABB3HwAQmh8AEJIfABAAAAAAAAAAAAAAAADPHwAQ -1x8AEN8fABDDHwAQux8AEAAAAAAAAAAAAAAAABIgABAaIAAQIiAAEO8fABAGIAAQ -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkgABAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASSAAEAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAABCIAAQwCAAELcgABCwIAAQ1SAAEMogABAAAAAAuyAAEAAAAADwIAAQ -5yAAEOAgABAFIQAQ+iAAEAAAAADrIAAQAAAAACQhABAXIQAQECEAEDghABBDIQAQ -AAAAAB8hABAAAAAAJCEAEBchABAQIQAQOCEAEEMhABAAAAAAHyEAEAAAAABeIQAQ -VSEAEE4hABByIQAQfSEAEAAAAABZIQAQAAAAAJwhABCPIQAQiCEAELAhABC7IQAQ -AAAAAJchABAAAAAA1iEAEM0hABDGIQAQ6iEAEPUhABAAAAAA0SEAEAAAAAANIgAQ -ACIAEAAiABAhIgAQLCIAEAAAAAAIIgAQAAAAAHoiABB2IgAQbyIAEIgiABCSIgAQ -AAAAAHoiABAAAAAAQiIAED4iABA3IgAQZCIAEFAiABAAAAAAQiIAEAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3iIAEAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAACkIgAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ0iABAEIwAQ -BCMAEAQjABAEIwAQBCMAEAQjABAEIwAQBCMAEDYjABA2IwAQTiMAEE4jABA1IwAQ -RyMAEDMjABBAIwAQgyMAEG8jABDZIwAQpSMAEJ4jABCHJwAQAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4yMAEAAAAAAAAAAA -UwB0AHIARwBlAHQAAAADAAAACgAAAAAAsEUAEAoAAAACAAAAvkUAECAwABAGJwAQ -skcAEFMAdAByAFAAdAByAAAAGgAAAAoAAAADAAAAAADkRQAQCwAAAAIAAADyRQAQ -+kUAEHImABDIRQAQUwBwAGEAYwBlAAAAAgAAAAoAAAAaAAAAHEYAEAwAAAACAAAA -KEYAEDBGABAYJgAQAEYAEE4AdQBtAFAAdQB0AAAAGgAAAAMAAAAAAAAACgAAAAMA -AAAAAFBGABANAAAABAAAAF5GABBuRgAQaiUAEDRGABBOAHUAbQBHAGUAdAAAAAMA -AAAAAAAACgAAAAAAkEYAEA4AAAADAAAAnkYAECQwABDVJAAQdEYAEFIAZQBnAGkA -cwB0AGUAcgBDAGEAbABsAGIAYQBjAGsAAAADAAAACgAAAAoAAAADAAAAAADIRgAQ -DwAAAAMAAADqRgAQ9kYAEEAaABCsRgAQUgBlAGcAaQBzAHQAZQByAAAACgAAAAoA -AAAKAAAACgAAAAoAAAAAAAAAAAAYRwAQEAAAAAUAAAAqRwAQPkcAENAVABD8RgAQ -QQAlcyVzAAAAAAAAAAAAAAAAAAAAACT0EkAAAAAAAABSAGUAZwBpAHMAdABlAHIA -QQBkAGQAcgAAAAMAAAAKAAAACgAAAAoAAAAKAAAAAAAAAIBHABAJAAAABQAAAJpH -ABCuRwAQcCcAEPBHABBHAGUAdABJAEQAaQBzAHAAYQB0AGMAaAAAAAMAAAAAAAAA -zkcAEAgAAAABAAAA6EcAEOxHABCBJwAQKEgAEEcAZQB0AE8AYgBqAGUAYwB0AAAA -AwAAAA0AAAAMSAAQBwAAAAEAAAAgSAAQJEgAEIEnABAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAFGEwUhJQTA0AAABABAAAAAYAACAAAAAAFGEwUgAAAAAAAABAAEAAAAwAACA -AAAAAFGEwUgAAAAAAAABABkEAABIAAAAWFAAAKAEAAAAAAAAAAAAAKAENAAAAFYA -UwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAANAC9BO/+AAABAAEAAQAAAAAA -AQABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAAAAQAAAAAUwB0AHIA -aQBuAGcARgBpAGwAZQBJAG4AZgBvAAAA3AMAAAAAMAA0ADEAOQAwADQARQAzAAAA -nACCAAEAQwBvAG0AbQBlAG4AdABzAAAAEgRLBDcEPgQyBCAARARDBD0EOgRGBDgE -OQQgADgENwQgADEEOAQxBDsEOAQ+BEIENQQ6BCAARABMAEwAIAAyBCAAQQQ6BEAE -OAQ/BEIEMARFBCAAPQQwBCAASgBTAGMAcgBpAHAAdAAgADgEIABWAEIAUwBjAHIA -aQBwAHQALgAAAAAAPAAcAAEAQwBvAG0AcABhAG4AeQBOAGEAbQBlAAAAAAAfBEAE -PgQ8BDAEQARCBDUEOwRMBCAAFiEyAAAAWAAuAAEARgBpAGwAZQBEAGUAcwBjAHIA -aQBwAHQAaQBvAG4AAAAAAB4EMQRKBDUEOgRCBCAARAB5AG4AYQBtAGkAYwBXAHIA -YQBwAHAAZQByAFgAAAAAACwACgABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAA -MQAuADEAMAAAAAAANAASAAEASQBuAHQAZQByAG4AYQBsAE4AYQBtAGUAAABkAHkA -bgB3AHIAYQBwAHgAAAAAAHQAUAABAEwAZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgA -dAAAAKkAIAAuBEAEOAQ5BCAAHwQ+BD8EPgQyBCwAIAASBDsEMAQ0BDgEPAQ4BEAE -IAAYBEEEMAQ1BDIELAAgADIAMAAwADgALQAyADAAMQAxAAAARAAaAAEATwByAGkA -ZwBpAG4AYQBsAEYAaQBsAGUAbgBhAG0AZQAAAGQAeQBuAHcAcgBhAHAAeAAuAGQA -bABsAAAAAABAACAAAQBQAHIAbwBkAHUAYwB0AE4AYQBtAGUAAAAAAEQAeQBuAGEA -bQBpAGMAVwByAGEAcABwAGUAcgBYAAAAMAAKAAEAUAByAG8AZAB1AGMAdABWAGUA -cgBzAGkAbwBuAAAAMQAuADEAMAAAAAAADAHsAAEAUAByAGkAdgBhAHQAZQBCAHUA -aQBsAGQAAAAUBD4EMQQwBDIEOwQ1BD0ESwQgADMAIAAyBEEEQgRABD4ENQQ9BD0E -SwRFBCAAPAQ1BEIEPgQ0BDAELAAgAEEEPQRPBEIEPgQgAD4EMwRABDAEPQQ4BEcE -NQQ9BDgENQQgADoEPgQ7BC0AMgQwBCAAMgRLBDcEPgQyBD4EMgQgAFIAZQBnAGkA -cwB0AGUAcgBDAGEAbABsAEIAYQBjAGsALgAgABgENwQ8BDUEPQQ4BDsEIAASBDsE -MAQ0BDgEPAQ4BEAEIAAYBEEEMAQ1BDIEIABhAGsAYQAgAGMAaABlAHMAcwBtAGEA -bgAAAEQAAAAAAFYAYQByAEYAaQBsAGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEA -bgBzAGwAYQB0AGkAbwBuAAAAAAAZBOMEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -/yXoYAAQ/yXsYAAQ/yXwYAAQ/yX0YAAQ/yX4YAAQ/yX8YAAQ/yUAYQAQ/yUEYQAQ -/yUIYQAQ/yUMYQAQ/yUQYQAQ/yUUYQAQ/yUYYQAQ/yUcYQAQ/yUkYQAQ/yUoYQAQ -/yUsYQAQ/yUwYQAQ/yU4YQAQ/yVAYQAQ/yVEYQAQ/yVIYQAQUGEAAAAAAAAAAAAA -uGEAAOhgAACMYQAAAAAAAAAAAADSYgAAJGEAAKBhAAAAAAAAAAAAAAhjAAA4YQAA -qGEAAAAAAAAAAAAAIGMAAEBhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMVhAADiYQAA -8mEAAARiAAAaYgAALGIAADpiAABIYgAAYGIAAHhiAACGYgAAlmIAAKxiAADCYgAA -AAAAAN1iAADoYgAA8mIAAP5iAAAAAAAAEmMAAAAAAAAtYwAAPmMAAE5jAAAAAAAA -xWEAAOJhAADyYQAABGIAABpiAAAsYgAAOmIAAEhiAABgYgAAeGIAAIZiAACWYgAA -rGIAAMJiAAAAAAAA3WIAAOhiAADyYgAA/mIAAAAAAAASYwAAAAAAAC1jAAA+YwAA -TmMAAAAAAABLRVJORUwzMi5kbGwAhABEaXNhYmxlVGhyZWFkTGlicmFyeUNhbGxz -AAA6AkxvYWRMaWJyYXJ5QQAAkAFHZXRQcm9jQWRkcmVzcwAAbAFHZXRNb2R1bGVG -aWxlTmFtZUEAAAIBR2V0Q29tbWFuZExpbmVBAOkARnJlZUxpYnJhcnkA4wFHbG9i -YWxBbGxvYwAWAkludGVybG9ja2VkSW5jcmVtZW50AAASAkludGVybG9ja2VkRGVj -cmVtZW50AADqAUdsb2JhbEZyZWUAAD0CTG9hZExpYnJhcnlXAAB3A1dpZGVDaGFy -VG9NdWx0aUJ5dGUAXQJNdWx0aUJ5dGVUb1dpZGVDaGFyALwCUnRsTW92ZU1lbW9y -eQBtc3ZjcnQuZGxsAPgCc3ByaW50ZgAABANzdHJsZW4AACgCX3djc2ljbXAAACwD -d2NzbGVuAABvbGUzMi5kbGwA1QBJc0VxdWFsR1VJRABPTEVBVVQzMi5kbGwAWABT -eXNBbGxvY1N0cmluZwBbAFN5c0ZyZWVTdHJpbmcAWgBTeXNBbGxvY1N0cmluZ0xl -bgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAABRhMFIAAAAAFxwAAABAAAABQAAAAUAAABIcAAA -NHAAAChwAAAAAAEAAgADAAQAAABpcAAAeXAAAItwAACWcAAAqHAAAB4QAABwEgAA -UhIAADEQAADnEQAAZHlud3JhcHguZGxsAERsbENhblVubG9hZE5vdwBEbGxHZXRD -bGFzc09iamVjdABEbGxJbnN0YWxsAERsbFJlZ2lzdGVyU2VydmVyAERsbFVucmVn -aXN0ZXJTZXJ2ZXIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -ABAAAKgAAAAOMB8wJTA+MFMwYzBzMJEwmzCgMKUwCTFNMVIxVzGGMZIxoTHaMfEx -AjISMhgyJDIqMl0yejKRMrwyzTIhMywzMzN0M4MznjOvMxg0PzS8NO829TYRN/03 -CjitOLU4wzjWODg5AAAAAAAAkzqbOqE6HTsiO0Q7ijvGOwY8FTwkPDM8QjxRPGA8 -bzx+PJA8ojy0PMY82DzqPPw8IT0rPUQ9ACAAADQAAAAoMWIxoDHaMREyVDL7NAE1 -GDWQNZY1iTaPNq82tza9NtY2JDcsNzI3SjcAAAAwAAAQAAAAKDAwMDgwRjAAQAAA -oAEAAOgw7DDwMPQw+DD8MAAxBDEIMQwxEDEUMRgx3DHgMeQx6DHsMfwxADIEMggy -DDIcMiAyJDIoMiwyPDJAMkQySDJMMlAyWDJcMmAyZDJoMmwyfDKAMoQyiDKMMpwy -oDKkMqgyrDK8MsAyxDLIMswy3DLgMuQy6DLsMvwyADMEMwgzDDM4M1gzeDN8M4Az -hDOIM4wzlDOcM6AzpDOoM6wztDO8M8AzxDPIM8wz1DPcM+Az5DPoM+wz9DP8MwA0 -BDQINAw0FDQcNCA0JDQoNCw0NDQ8NEA0RDRINEw0VDRcNGA0ZDRoNGw0dDR8NIA0 -hDSINIw0lDScNKA0pDSoNKw0tDTYNPg0GDUcNSA1JDUoNSw1MDU0NTg1PDVANUQ1 -SDVMNVA1VDVYNVw1YDVkNWg1bDWkNcg11DXYNdw1ADYMNhA2FDYYNjQ2QDZENkg2 -TDZ0NoA2hDaINow2rDa4Nrw2wDbENvw2CDcMNxA3FDdEN1A3VDdYN1w34DW+N8I3 -sjfGN8o38Df8NwA4BDgIOCg4NDg4ODw4cDUAAABgAAA0AAAAAjAIMA4wFDAaMCAw -JjAsMDIwODA+MEQwSjBQMFYwXDBiMGgwbjB0MHowgDAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAA==} -} \ No newline at end of file diff --git a/src/xddRegisterDynaWrapperX/und/4d409c29-d7aa-4a07-91f5-6531a0ba7fad b/src/xddRegisterDynaWrapperX/und/4d409c29-d7aa-4a07-91f5-6531a0ba7fad deleted file mode 100644 index 87f216a3..00000000 --- a/src/xddRegisterDynaWrapperX/und/4d409c29-d7aa-4a07-91f5-6531a0ba7fad +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,4d409c29-d7aa-4a07-91f5-6531a0ba7fad},"Форма", -{1,"ru","Форма"},""},0,0}, -{0} -} -},0} \ No newline at end of file diff --git a/src/xddRegisterDynaWrapperX/und/copyinfo b/src/xddRegisterDynaWrapperX/und/copyinfo deleted file mode 100644 index e8360646..00000000 --- a/src/xddRegisterDynaWrapperX/und/copyinfo +++ /dev/null @@ -1,16 +0,0 @@ -{4, -{2, -{4d409c29-d7aa-4a07-91f5-6531a0ba7fad,4d409c29-d7aa-4a07-91f5-6531a0ba7fad,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} -}, -{d054f62e-af11-4458-b21f-f566a1ddad63,d054f62e-af11-4458-b21f-f566a1ddad63,1, -{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"xddRegisterDynaWrapperX"} -} -}, -{1, -{a920c8f8-3d68-4182-9acd-0f8faac4dff7,d054f62e-af11-4458-b21f-f566a1ddad63,0} -}, -{0}, -{0,0}, -{0} -} \ No newline at end of file diff --git a/src/xddRegisterDynaWrapperX/und/d054f62e-af11-4458-b21f-f566a1ddad63.0/info b/src/xddRegisterDynaWrapperX/und/d054f62e-af11-4458-b21f-f566a1ddad63.0/info deleted file mode 100644 index c70b5f39..00000000 --- a/src/xddRegisterDynaWrapperX/und/d054f62e-af11-4458-b21f-f566a1ddad63.0/info +++ /dev/null @@ -1 +0,0 @@ -{3,1,0,"",0} \ No newline at end of file diff --git a/src/xddRegisterDynaWrapperX/und/d054f62e-af11-4458-b21f-f566a1ddad63.1 b/src/xddRegisterDynaWrapperX/und/d054f62e-af11-4458-b21f-f566a1ddad63.1 deleted file mode 100644 index 433815b9..00000000 --- a/src/xddRegisterDynaWrapperX/und/d054f62e-af11-4458-b21f-f566a1ddad63.1 +++ /dev/null @@ -1 +0,0 @@ -{5,0,0} \ No newline at end of file diff --git a/src/xddRegisterDynaWrapperX/und/e33bfc68-6347-4ba4-ad0a-9ff4064ff5cb b/src/xddRegisterDynaWrapperX/und/e33bfc68-6347-4ba4-ad0a-9ff4064ff5cb deleted file mode 100644 index 2a0fc7aa..00000000 --- a/src/xddRegisterDynaWrapperX/und/e33bfc68-6347-4ba4-ad0a-9ff4064ff5cb +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,1, -{0, -{0,0,e33bfc68-6347-4ba4-ad0a-9ff4064ff5cb},"regsvrex", -{1,"ru","Regsvrex"},""} -},0} \ No newline at end of file diff --git a/src/xddRegisterDynaWrapperX/und/e33bfc68-6347-4ba4-ad0a-9ff4064ff5cb.0 b/src/xddRegisterDynaWrapperX/und/e33bfc68-6347-4ba4-ad0a-9ff4064ff5cb.0 deleted file mode 100644 index e3c8d956..00000000 --- a/src/xddRegisterDynaWrapperX/und/e33bfc68-6347-4ba4-ad0a-9ff4064ff5cb.0 +++ /dev/null @@ -1,429 +0,0 @@ -{1, -{#base64:TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAyAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5v -dCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAACD8Kh9x5HGLseRxi7HkcYu -x5HHLsiRxi6ljtUuzpHGLsGyzS7FkcYuAJfALsaRxi5SaWNox5HGLgAAAAAAAAAA -AAAAAAAAAABQRQAATAEEAAG7SUUAAAAAAAAAAOAADwELAQYAABAAAAAwAAAAAAAA -VhYAAAAQAAAAIAAAAABAAAAQAAAAEAAABAAAAAAAAAAEAAAAAAAAAABQAAAAEAAA -AAAAAAIAAAAAABAAABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAEwgAABkAAAA -AEAAANAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAATAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAAtgYAAAAQAAAAEAAAABAAAAAAAAAAAAAA -AAAAACAAAGAucmRhdGEAACICAAAAIAAAABAAAAAgAAAAAAAAAAAAAAAAAABAAABA -LmRhdGEAAACUAAAAADAAAAAQAAAAMAAAAAAAAAAAAAAAAAAAQAAAwC5yc3JjAAAA -0AkAAABAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -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 -QABW/3X4/9eL+Dv7dRVWU2oFjYXY/P//ajBQ6ID6//+DxBT/dQgzwDhd5Q+UwFD/ -1zvDdSxWU2oGjYXY/P//akBQ6Fn6//+DxBTrSGoHjYXY/P//ajBQ6ET6//+DxBTr -FlBWU2oIjYXY/P//ajBQ6Cz6//+DxBiNTRDoLv7//41N7OiG/f//jU386FIAAABq -A1jrO41NEOgR/v//jU3s6Gn9//+NTfzoNQAAAIvD6x9qAWoCahDrBmoAagFqQI2F -2Pz//1Do1vn//4PEEDPAX15bycIQAIvBi0wkBIkIwgQAVovxiwaFwHQHUP8VDCBA -AIMmAF7D/xUcIEAAgDgidRCKSAFAhMl0GoD5InXzQOsSikgBQITJdAqA+SB0BYD5 -CXXuigiA+SB05ID5CXTfagVQagBqAP8VJCBAAFDoff3//1D/FRggQADD/yVEIEAA -/yVAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYIQAAyiEAAAAAAABEIQAA -CCEAAC4hAAB0IQAAgiEAAPwgAAAaIQAAUiEAAGQhAAAAAAAAsCEAAKIhAAAAAAAA -BiIAAPYhAAAAAAAAvCAAAAAAAAAAAAAAlCEAAAwgAADkIAAAAAAAAAAAAAC+IQAA -NCAAALAgAAAAAAAAAAAAAOghAAAAIAAA8CAAAAAAAAAAAAAAGCIAAEAgAAAAAAAA -AAAAAAAAAAAAAAAAAAAAANghAADKIQAAAAAAAEQhAAAIIQAALiEAAHQhAACCIQAA -/CAAABohAABSIQAAZCEAAAAAAACwIQAAoiEAAAAAAAAGIgAA9iEAAAAAAADMAUxv -Y2FsRnJlZQCvAEZvcm1hdE1lc3NhZ2VBAAAmAUdldE1vZHVsZUhhbmRsZUEAAOQB -TXVsdGlCeXRlVG9XaWRlQ2hhcgC0AEZyZWVMaWJyYXJ5AD4BR2V0UHJvY0FkZHJl -c3MAAMIBTG9hZExpYnJhcnlBAAB9AEV4aXRQcm9jZXNzAMoAR2V0Q29tbWFuZExp -bmVBAEtFUk5FTDMyLmRsbAAAvgFNZXNzYWdlQm94QQCrAUxvYWRTdHJpbmdBAFVT -RVIzMi5kbGwAAFsBUmVnQ2xvc2VLZXkAcgFSZWdPcGVuS2V5RXhBAEFEVkFQSTMy -LmRsbAAAyQBPbGVJbml0aWFsaXplAOAAT2xlVW5pbml0aWFsaXplAG9sZTMyLmRs -bAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -UmVnc3ZyRVgAAAAAJTEKCiUyAABzY3JvYmouZGxsAABTb2Z0d2FyZVxDbGFzc2Vz -AAAAAFJlZ092ZXJyaWRlUHJlZGVmS2V5AAAAAGFkdmFwaTMyLmRsbAAAAABEbGxJ -bnN0YWxsAABEbGxSZWdpc3RlclNlcnZlcgAAAERsbFVucmVnaXN0ZXJTZXJ2ZXIA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAGAAAAIAAAgBAAAAA4AACA -AAAAAAAAAAAAAAAAAAABAAEAAABQAACAAAAAAAAAAAAAAAAAAAABAAEAAABoAACA -AAAAAAAAAAAAAAAAAAABABkEAACAAAAAAAAAAAAAAAAAAAAAAAABABkEAACQAAAA -4EMAAPAFAAAAAAAAAAAAAKBAAAA8AwAAAAAAAAAAAAA8AzQAAABWAFMAXwBWAEUA -UgBTAEkATwBOAF8ASQBOAEYATwAAAAAAvQTv/gAAAQAAAAEAAQAAAAAAAQABAAAA -PwAAAAAAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAJwCAAABAFMAdAByAGkAbgBnAEYA -aQBsAGUASQBuAGYAbwAAAHgCAAABADAANAAxADkAMAA0AGIAMAAAABgAAAABAEMA -bwBtAG0AZQBuAHQAcwAAAC4ABwABAEMAbwBtAHAAYQBuAHkATgBhAG0AZQAAAAAA -QQBsAGUAeABxAGMAAAAAADoACQABAEYAaQBsAGUARABlAHMAYwByAGkAcAB0AGkA -bwBuAAAAAAByAGUAZwBzAHYAcgBlAHgAAAAAADYACwABAEYAaQBsAGUAVgBlAHIA -cwBpAG8AbgAAAAAAMQAsACAAMAAsACAAMAAsACAAMQAAAAAAMgAJAAEASQBuAHQA -ZQByAG4AYQBsAE4AYQBtAGUAAAByAGUAZwBzAHYAcgBlAHgAAAAAAEYAEQABAEwA -ZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgAdAAAAEMAbwBwAHkAcgBpAGcAaAB0ACAA -qQAgADIAMAAwADYAAAAAACgAAAABAEwAZQBnAGEAbABUAHIAYQBkAGUAbQBhAHIA -awBzAAAAAABCAA0AAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBuAGEAbQBlAAAA -cgBlAGcAcwB2AHIAZQB4AC4AZQB4AGUAAAAAACAAAAABAFAAcgBpAHYAYQB0AGUA -QgB1AGkAbABkAAAAQAAQAAEAUAByAG8AZAB1AGMAdABOAGEAbQBlAAAAAABBAGwA -ZQB4AHEAYwAgAHIAZQBnAHMAdgByAGUAeAAAADoACwABAFAAcgBvAGQAdQBjAHQA -VgBlAHIAcwBpAG8AbgAAADEALAAgADAALAAgADAALAAgADEAAAAAACAAAAABAFMA -cABlAGMAaQBhAGwAQgB1AGkAbABkAAAARAAAAAEAVgBhAHIARgBpAGwAZQBJAG4A -ZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAAABkEsAQAAAAA -AADvARgEQQQ/BD4EOwRMBDcEPgQyBDAEPQQ4BDUEOgAgAFIAZQBnAFMAdgByAEUA -eAAgAFsALwB1AF0AIABbAC8AcwBdACAAWwAvAG4AXQAgAFsALwBjAF0AIABbAC8A -aQBbADoAYwBtAGQAbABpAG4AZQBdAF0AIABkAGwAbABuAGEAbQBlAAoAIAQ1BDME -OARBBEIEQAQ4BEAEPgQyBDAEQgRMBCAAHgQbBBUEIAAoAEEAYwB0AGkAdgBYACkA -IABBBDUEQAQyBDUEQAQgAGQAbABsAG4AYQBtAGUACgAvAHUAIAAtAAkAIAQwBDcE -QAQ1BDMEOARBBEIEQAQ4BEAEPgQyBDAEQgRMBCAAQQQ1BEAEMgQ1BEAECgAvAHMA -IAAtAAkAEQQ1BDcEIAA/BD4EOgQwBDcEMAQgAD4EOgQ9BDAEIABBBD4EPgQxBEkE -NQQ9BDgEOQQKAC8AaQAgAC0ACQASBEsENwQ+BDIEIABEAGwAbABJAG4AcwB0AGEA -bABsACAAQQQgAD4EPwRGBDgEPgQ9BDAEOwRMBD0ESwQ8BDgEIAA/BDAEQAQwBDwE -NQRCBEAEMAQ8BDgEIABbAGMAbQBkAGwAaQBuAGUAXQA7ACAAQQQgAC8AdQAgADIE -SwQ3BEsEMgQwBDUEQgQgAGQAbABsACAAdQBuAGkAbgBzAHQAYQBsAGwACgAvAG4A -IAAtAAkAPQQ1BCAAMgRLBDcESwQyBDAEQgRMBCAARABsAGwAUgBlAGcAaQBzAHQA -ZQByAFMAZQByAHYAZQByADsAIAA+BD8ERgQ4BE8EIAA4BDwENQQ1BEIEIABBBDwE -SwRBBDsEIABCBD4EOwRMBDoEPgQgAEEEIAAvAGkACgAKAC8AYwAgAC0ACQAYBEEE -PwQ+BDsETAQ3BD4EMgQwBEIETAQgADIENQRCBDoEQwQgAEAENQQ1BEEEQgRABDAE -IABCBDUEOgRDBEkENQQzBD4EIAA/BD4EOwRMBDcEPgQyBDAEQgQ1BDsETwQgACgA -SABLAEMAVQApAC4ACgAJAB8EPgQ3BDIEPgQ7BE8ENQRCBCAAQAQ1BDMEOARBBEIE -QAQ4BEAEPgQyBDAEQgRMBCAAQQQ1BEAEMgQ1BEAEIABCBD4EOwRMBDoEPgQgAD8E -PgQ0BCAAQgQ1BDoEQwRJBDUEPAQgAD8EPgQ7BEwENwQ+BDIEMARCBDUEOwQ1BDwE -LAAKAAkAPQQ1BCAAQgRABDUEMQRDBDUEQgQgAD8EQAQ4BDIENQQ7BDUEMwQ4BDkE -IAAwBDQEPAQ4BD0EOARBBEIEQAQwBEIEPgRABDAELgAKAEUAHQQ1BD8EQAQwBDIE -OAQ7BEwEPQRLBDkEIABEBD4EQAQ8BDAEQgQgADoEPgQ8BDAEPQQ0BD0EPgQ5BCAA -QQRCBEAEPgQ6BDgELgAKABQEOwRPBCAAQQQ/BEAEMAQyBDoEOAQgADIEMgQ1BDQE -OARCBDUEIABSAGUAZwBzAHYAcgBFAHgAIAAvAD8AFAAdBDUEIABDBDoEMAQ3BDAE -PQQgAD8EQwRCBEwEIAA6BCAARABMAEwAGwAdBDUEIAA8BD4EMwRDBCAANwQwBDME -QARDBDcEOARCBEwEIAA8BD4ENARDBDsETAQgACUAMQAVACQEQwQ9BDoERgQ4BE8E -IAAlADEAIAA9BDUEIAA9BDAEOQQ0BDUEPQQwBB4AJARDBD0EOgRGBDgETwQgACUA -MQAgADcEMAQyBDUEQARIBDgEOwQwBEEETAQgAEMEQQQ/BDUESAQ9BD4EHwAkBEME -PQQ6BEYEOARPBCAAJQAxACAANwQwBDIENQRABEgEOAQ7BDAEQQRMBCAAPQQ1BEME -NAQwBEcEPQQ+BDMAJARDBD0EOgRGBDgETwQgACUAMQAgADcEMAQyBDUEQARIBDUE -PQQwBCAAPQQ1BEMENAQwBEcEPQQ+BCwAIAA6BD4ENAQgADIEPgQ3BDIEQAQwBEIE -MAQgADAAeAAlADIAIQB4ACEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=} -} \ No newline at end of file diff --git a/src/xddRegisterDynaWrapperX/und/root b/src/xddRegisterDynaWrapperX/und/root deleted file mode 100644 index 6830d0fe..00000000 --- a/src/xddRegisterDynaWrapperX/und/root +++ /dev/null @@ -1 +0,0 @@ -{2,11116fb6-f76c-4234-b4b9-636425c00fa9,} \ No newline at end of file diff --git a/src/xddRegisterDynaWrapperX/und/version b/src/xddRegisterDynaWrapperX/und/version deleted file mode 100644 index c23bfe28..00000000 --- a/src/xddRegisterDynaWrapperX/und/version +++ /dev/null @@ -1,3 +0,0 @@ -{ -{216,0} -} \ No newline at end of file diff --git a/src/xddRegisterDynaWrapperX/und/versions b/src/xddRegisterDynaWrapperX/und/versions deleted file mode 100644 index 403003a3..00000000 --- a/src/xddRegisterDynaWrapperX/und/versions +++ /dev/null @@ -1 +0,0 @@ -{1,15,"",be5e8a91-15f4-4afe-94c4-40d3aa689efe,"versions",03179455-727a-4a9a-bcdd-93154305358a,"root",a2365728-2428-4b48-ae24-5abcacba8f91,"4d409c29-d7aa-4a07-91f5-6531a0ba7fad.0",53ecd3b2-0f60-4bb6-9808-77b06a59f0b9,"4d409c29-d7aa-4a07-91f5-6531a0ba7fad",dcfa6acd-ba3a-4c12-a8a0-c32e47ec5fd2,"version",17063683-773d-430f-b0e0-f9331f2e1c0f,"e33bfc68-6347-4ba4-ad0a-9ff4064ff5cb",fff743d6-4e4c-454c-871d-2501f62be43b,"11116fb6-f76c-4234-b4b9-636425c00fa9",245fe255-f620-4534-a8a5-2785c19de151,"43dd74a9-d72e-4251-bd67-7057118283e8",b5b2e159-736b-41a2-a76f-a0cb69f00b1b,"d054f62e-af11-4458-b21f-f566a1ddad63",199e14c2-2131-4649-a9ca-2169240bf14f,"e33bfc68-6347-4ba4-ad0a-9ff4064ff5cb.0",2a22c79a-2a3d-4b58-9284-58322346f544,"copyinfo",67bb1c08-cef1-4862-b7b3-ec53384dd44b,"d054f62e-af11-4458-b21f-f566a1ddad63.0",e7f9dca9-1275-4a3b-aa3b-41196bbb5550,"d054f62e-af11-4458-b21f-f566a1ddad63.1",41ff4afb-4a6c-41d2-839b-b0ce5f26d2b0,"43dd74a9-d72e-4251-bd67-7057118283e8.0",99831adf-d4db-43eb-9df8-f1b5e7a4b3bb} \ No newline at end of file diff --git "a/src/xddRegisterDynaWrapperX/\320\234\320\260\320\272\320\265\321\202\321\213/DynamicWrapperX.txt" "b/src/xddRegisterDynaWrapperX/\320\234\320\260\320\272\320\265\321\202\321\213/DynamicWrapperX.txt" deleted file mode 100644 index 2dd00869..00000000 --- "a/src/xddRegisterDynaWrapperX/\320\234\320\260\320\272\320\265\321\202\321\213/DynamicWrapperX.txt" +++ /dev/null @@ -1,312 +0,0 @@ -{1, -{#base64:TVpsAAEAAAACAAAA//8AAAAAAAARAAAAQAAAAAAAAABXaW4zMiBQcm9ncmFtIQ0K -JLQJugABzSG0TM0hYAAAAEdvTGluaywgR29Bc20gd3d3LkdvRGV2VG9vbC5jb20A -UEUAAEwBBwBRhMFIAAAAAAAAAADgAA4hCwEAJgAYAAAAGgAAAAAAAAAQAAAAEAAA -ADAAAAAAABAAEAAAAAIAAAQAAAAAAAAABAAAAAAAAAAAkAAAAAQAALWQAAACAAAA -AAAQAAAAAQAAABAAABAAAAAAAAAQAAAAAHAAALwAAACEYAAAZAAAAABQAAD4BAAA -AAAAAAAAAAAAAAAAAAAAAACAAADAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6GAAAGgAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAABjb2RlAAAAAFcYAAAAEAAAABoAAAAEAAAAAAAAAAAAAAAAAAAgAABg -ZGF0YQAAAABQBAAAADAAAAACAAAAHgAAAAAAAAAAAAAAAAAAQAAAwGNvbnN0AAAA -RAgAAABAAAAACgAAACAAAAAAAAAAAAAAAAAAAEAAAEAucnNyYwAAAPgEAAAAUAAA -AAYAAAAqAAAAAAAAAAAAAAAAAABAAABALmlkYXRhAABiAwAAAGAAAAAEAAAAMAAA -AAAAAAAAAAAAAAAAIAAAYC5lZGF0YQAAvAAAAABwAAAAAgAAADQAAAAAAAAAAAAA -AAAAAEAAAEAucmVsb2MAAMACAAAAgAAAAAQAAAA2AAAAAAAAAAAAAAAAAABAAABC -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -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 -VVZXU4nlg+wEg30YAHRgi10YizNT/1YE6KMNAACFwJCQkJCQkJCQkJCQdEtqAP91 -IP91HGoB6N77//9yKVBSUf91GI8Gj0YEj0YIj0YMg8YQiTU4MAAQifgDPTQwABCJ -PTAwABD4iexbX15dwhAAuA4AAoD56++4CgACgPnr51VWV1OJ5YPsMInji3UUi1YI -i04EiU30ichAweAEKcSJZeyLRRiDwASLPlBTUVJX6KkAAACJTfzHRfAAAAAAx0X4 -AAAAAIsfZsdF3AAAx0XkAAAAAFWDBCTUagBqAWhGMAAQaJhAABBX/1MUhcB1Sf9F -9GoAagBVgwQk3FWDBCTsagFqAGiYQAAQ/3XUV/9TGIXAdUWDfgwAdA//dgxVgwQk -3OikAQAAcjCLTfyD6QSJ7FtfXl3CCABqAGoAVYMEJNxVgwQk7GoBagBomEAAEGoA -V/9TGIXAdLsxwOvMVVZXU4nlg+wEi00ci10gg+sQ/3UUagmPA49DCOMui30ki3UY -/K3B4AIFPEUAEIsQhdJ0JIPrEFFXU1LoLwcAAFlyDInH4t6J+StNJDHA+InsW19e -XcIUALgFAAKA+evvjwQMAczDieBQaFAwABDosP7//+vrieBQaGAwABDoof7//+vc -ieBQaHAwABDokv7//+vNieBQaIAwABDog/7//+u+ieBQaJAwABDodP7//+uvieBQ -aKAwABDoZf7//+ugieBQaLAwABDoVv7//+uRieBQaMAwABDoR/7//+uCieBQaNAw -ABDoOP7//+lw////ieBQaOAwABDoJv7//+le////ieBQaPAwABDoFP7//+lM//// -ieBQaAAxABDoAv7//+k6////ieBQaBAxABDo8P3//+ko////ieBQaCAxABDo3v3/ -/+kW////ieBQaDAxABDozP3//+kE////ieBQaEAxABDouv3//+ny/v//VVZXU4nl -g+wEi10Ui3UYZoM7CXRDiw3YQQAQicpmiwO/yEEAEPzyZq91QynKSsHiAosGweAF -AdCNgNxBABCLAIXAdCpqAGoAU1DoNwAAAInsW19eXcIIAItDCGaDeCwDdAdmg3gs -BXWsjVgs66e4BQACgPmJ7FtfXl3CCACQkJCQkJCQkJBVVldTieWD7BSLdRiLRgiL -fRz/VRRyBoX/eAKJ+InsW19eXcIQACX/AAAA6wGYg+8EeAKJB/jDm9vj2UYI6wab -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 -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAIAAIAAAAAAAAAAAAAAAAAKAAAAAAAAAERHABAAAAAA -AhwAEA8AAABQMAAQYwBhAGwAbAAAADwwABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEeW5hbWljV3JhcHBlclgA -ezg5NTY1Mjc1LUE3MTQtNGE0My05MTJFLTk3OEI5MzVFRENDQ30AU29mdHdhcmVc -Q2xhc3Nlc1xEeW5hbWljV3JhcHBlclgAU29mdHdhcmVcQ2xhc3Nlc1xDTFNJRFx7 -ODk1NjUyNzUtQTcxNC00YTQzLTkxMkUtOTc4QjkzNUVEQ0NDfQAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAMAAAAAAAABGAQAAAAAAAADAAAAAAAAARgAEAgAAAAAA -wAAAAAAAAEZ1UlaJFKdDSpEul4uTXtzMrxIAEPYSABD8EgAQAhMAEGwTABDoQAAQ -jhMAEOQTABD0EwAQJRQAEC0UABA1FAAQrhQAEEFkdmFwaTMyLmRsbABSZWdDcmVh -dGVLZXlFeEEAUmVnU2V0VmFsdWVFeEEAUmVnQ2xvc2VLZXkASW5Qcm9jU2VydmVy -MzIAJXNcJXMAQ0xTSUQAJXNcJXMAc2hsd2FwaS5kbGwAU0hEZWxldGVLZXlBAAAA -bABoAHUAcABuAHQAYwBiAGQAZgB3AHMAegBMAEgAVQBQAE4AVABDAEIARABGAFcA -UwBaABoAAAADAAIAEQAFAAQACQAAAAgACAAAAL4dABC9HQAQth0AEM8dABDHHQAQ -AAAAAAAAAAAAAAAA+B0AEPcdABDwHQAQCR4AEAEeABAAAAAAAAAAAAAAAABNHgAQ -QR4AEDoeABBiHgAQWh4AEAAAAAAAAAAAAAAAAE0eABBBHgAQOh4AEGIeABBaHgAQ -TR4AEAAAAAA5IAAQmh4AEJAeABCJHgAQsh4AEKoeABAAAAAAAAAAAAAAAADtHgAQ -2h4AENMeABACHwAQ+h4AEAAAAAAAAAAAAAAAADcfABA2HwAQIx8AEEsfABBDHwAQ -AAAAAAAAAAAAAAAAhR8AEGwfABB3HwAQmh8AEJIfABAAAAAAAAAAAAAAAADPHwAQ -1x8AEN8fABDDHwAQux8AEAAAAAAAAAAAAAAAABIgABAaIAAQIiAAEO8fABAGIAAQ -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkgABAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASSAAEAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAABCIAAQwCAAELcgABCwIAAQ1SAAEMogABAAAAAAuyAAEAAAAADwIAAQ -5yAAEOAgABAFIQAQ+iAAEAAAAADrIAAQAAAAACQhABAXIQAQECEAEDghABBDIQAQ -AAAAAB8hABAAAAAAJCEAEBchABAQIQAQOCEAEEMhABAAAAAAHyEAEAAAAABeIQAQ -VSEAEE4hABByIQAQfSEAEAAAAABZIQAQAAAAAJwhABCPIQAQiCEAELAhABC7IQAQ -AAAAAJchABAAAAAA1iEAEM0hABDGIQAQ6iEAEPUhABAAAAAA0SEAEAAAAAANIgAQ -ACIAEAAiABAhIgAQLCIAEAAAAAAIIgAQAAAAAHoiABB2IgAQbyIAEIgiABCSIgAQ -AAAAAHoiABAAAAAAQiIAED4iABA3IgAQZCIAEFAiABAAAAAAQiIAEAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3iIAEAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAACkIgAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ0iABAEIwAQ -BCMAEAQjABAEIwAQBCMAEAQjABAEIwAQBCMAEDYjABA2IwAQTiMAEE4jABA1IwAQ -RyMAEDMjABBAIwAQgyMAEG8jABDZIwAQpSMAEJ4jABCHJwAQAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4yMAEAAAAAAAAAAA -UwB0AHIARwBlAHQAAAADAAAACgAAAAAAsEUAEAoAAAACAAAAvkUAECAwABAGJwAQ -skcAEFMAdAByAFAAdAByAAAAGgAAAAoAAAADAAAAAADkRQAQCwAAAAIAAADyRQAQ -+kUAEHImABDIRQAQUwBwAGEAYwBlAAAAAgAAAAoAAAAaAAAAHEYAEAwAAAACAAAA -KEYAEDBGABAYJgAQAEYAEE4AdQBtAFAAdQB0AAAAGgAAAAMAAAAAAAAACgAAAAMA -AAAAAFBGABANAAAABAAAAF5GABBuRgAQaiUAEDRGABBOAHUAbQBHAGUAdAAAAAMA -AAAAAAAACgAAAAAAkEYAEA4AAAADAAAAnkYAECQwABDVJAAQdEYAEFIAZQBnAGkA -cwB0AGUAcgBDAGEAbABsAGIAYQBjAGsAAAADAAAACgAAAAoAAAADAAAAAADIRgAQ -DwAAAAMAAADqRgAQ9kYAEEAaABCsRgAQUgBlAGcAaQBzAHQAZQByAAAACgAAAAoA -AAAKAAAACgAAAAoAAAAAAAAAAAAYRwAQEAAAAAUAAAAqRwAQPkcAENAVABD8RgAQ -QQAlcyVzAAAAAAAAAAAAAAAAAAAAACT0EkAAAAAAAABSAGUAZwBpAHMAdABlAHIA -QQBkAGQAcgAAAAMAAAAKAAAACgAAAAoAAAAKAAAAAAAAAIBHABAJAAAABQAAAJpH -ABCuRwAQcCcAEPBHABBHAGUAdABJAEQAaQBzAHAAYQB0AGMAaAAAAAMAAAAAAAAA -zkcAEAgAAAABAAAA6EcAEOxHABCBJwAQKEgAEEcAZQB0AE8AYgBqAGUAYwB0AAAA -AwAAAA0AAAAMSAAQBwAAAAEAAAAgSAAQJEgAEIEnABAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAFGEwUhJQTA0AAABABAAAAAYAACAAAAAAFGEwUgAAAAAAAABAAEAAAAwAACA -AAAAAFGEwUgAAAAAAAABABkEAABIAAAAWFAAAKAEAAAAAAAAAAAAAKAENAAAAFYA -UwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAANAC9BO/+AAABAAEAAQAAAAAA -AQABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAAAAQAAAAAUwB0AHIA -aQBuAGcARgBpAGwAZQBJAG4AZgBvAAAA3AMAAAAAMAA0ADEAOQAwADQARQAzAAAA -nACCAAEAQwBvAG0AbQBlAG4AdABzAAAAEgRLBDcEPgQyBCAARARDBD0EOgRGBDgE -OQQgADgENwQgADEEOAQxBDsEOAQ+BEIENQQ6BCAARABMAEwAIAAyBCAAQQQ6BEAE -OAQ/BEIEMARFBCAAPQQwBCAASgBTAGMAcgBpAHAAdAAgADgEIABWAEIAUwBjAHIA -aQBwAHQALgAAAAAAPAAcAAEAQwBvAG0AcABhAG4AeQBOAGEAbQBlAAAAAAAfBEAE -PgQ8BDAEQARCBDUEOwRMBCAAFiEyAAAAWAAuAAEARgBpAGwAZQBEAGUAcwBjAHIA -aQBwAHQAaQBvAG4AAAAAAB4EMQRKBDUEOgRCBCAARAB5AG4AYQBtAGkAYwBXAHIA -YQBwAHAAZQByAFgAAAAAACwACgABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAA -MQAuADEAMAAAAAAANAASAAEASQBuAHQAZQByAG4AYQBsAE4AYQBtAGUAAABkAHkA -bgB3AHIAYQBwAHgAAAAAAHQAUAABAEwAZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgA -dAAAAKkAIAAuBEAEOAQ5BCAAHwQ+BD8EPgQyBCwAIAASBDsEMAQ0BDgEPAQ4BEAE -IAAYBEEEMAQ1BDIELAAgADIAMAAwADgALQAyADAAMQAxAAAARAAaAAEATwByAGkA -ZwBpAG4AYQBsAEYAaQBsAGUAbgBhAG0AZQAAAGQAeQBuAHcAcgBhAHAAeAAuAGQA -bABsAAAAAABAACAAAQBQAHIAbwBkAHUAYwB0AE4AYQBtAGUAAAAAAEQAeQBuAGEA -bQBpAGMAVwByAGEAcABwAGUAcgBYAAAAMAAKAAEAUAByAG8AZAB1AGMAdABWAGUA -cgBzAGkAbwBuAAAAMQAuADEAMAAAAAAADAHsAAEAUAByAGkAdgBhAHQAZQBCAHUA -aQBsAGQAAAAUBD4EMQQwBDIEOwQ1BD0ESwQgADMAIAAyBEEEQgRABD4ENQQ9BD0E -SwRFBCAAPAQ1BEIEPgQ0BDAELAAgAEEEPQRPBEIEPgQgAD4EMwRABDAEPQQ4BEcE -NQQ9BDgENQQgADoEPgQ7BC0AMgQwBCAAMgRLBDcEPgQyBD4EMgQgAFIAZQBnAGkA -cwB0AGUAcgBDAGEAbABsAEIAYQBjAGsALgAgABgENwQ8BDUEPQQ4BDsEIAASBDsE -MAQ0BDgEPAQ4BEAEIAAYBEEEMAQ1BDIEIABhAGsAYQAgAGMAaABlAHMAcwBtAGEA -bgAAAEQAAAAAAFYAYQByAEYAaQBsAGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEA -bgBzAGwAYQB0AGkAbwBuAAAAAAAZBOMEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -/yXoYAAQ/yXsYAAQ/yXwYAAQ/yX0YAAQ/yX4YAAQ/yX8YAAQ/yUAYQAQ/yUEYQAQ -/yUIYQAQ/yUMYQAQ/yUQYQAQ/yUUYQAQ/yUYYQAQ/yUcYQAQ/yUkYQAQ/yUoYQAQ -/yUsYQAQ/yUwYQAQ/yU4YQAQ/yVAYQAQ/yVEYQAQ/yVIYQAQUGEAAAAAAAAAAAAA -uGEAAOhgAACMYQAAAAAAAAAAAADSYgAAJGEAAKBhAAAAAAAAAAAAAAhjAAA4YQAA -qGEAAAAAAAAAAAAAIGMAAEBhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMVhAADiYQAA -8mEAAARiAAAaYgAALGIAADpiAABIYgAAYGIAAHhiAACGYgAAlmIAAKxiAADCYgAA -AAAAAN1iAADoYgAA8mIAAP5iAAAAAAAAEmMAAAAAAAAtYwAAPmMAAE5jAAAAAAAA -xWEAAOJhAADyYQAABGIAABpiAAAsYgAAOmIAAEhiAABgYgAAeGIAAIZiAACWYgAA -rGIAAMJiAAAAAAAA3WIAAOhiAADyYgAA/mIAAAAAAAASYwAAAAAAAC1jAAA+YwAA -TmMAAAAAAABLRVJORUwzMi5kbGwAhABEaXNhYmxlVGhyZWFkTGlicmFyeUNhbGxz -AAA6AkxvYWRMaWJyYXJ5QQAAkAFHZXRQcm9jQWRkcmVzcwAAbAFHZXRNb2R1bGVG -aWxlTmFtZUEAAAIBR2V0Q29tbWFuZExpbmVBAOkARnJlZUxpYnJhcnkA4wFHbG9i -YWxBbGxvYwAWAkludGVybG9ja2VkSW5jcmVtZW50AAASAkludGVybG9ja2VkRGVj -cmVtZW50AADqAUdsb2JhbEZyZWUAAD0CTG9hZExpYnJhcnlXAAB3A1dpZGVDaGFy -VG9NdWx0aUJ5dGUAXQJNdWx0aUJ5dGVUb1dpZGVDaGFyALwCUnRsTW92ZU1lbW9y -eQBtc3ZjcnQuZGxsAPgCc3ByaW50ZgAABANzdHJsZW4AACgCX3djc2ljbXAAACwD -d2NzbGVuAABvbGUzMi5kbGwA1QBJc0VxdWFsR1VJRABPTEVBVVQzMi5kbGwAWABT -eXNBbGxvY1N0cmluZwBbAFN5c0ZyZWVTdHJpbmcAWgBTeXNBbGxvY1N0cmluZ0xl -bgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAABRhMFIAAAAAFxwAAABAAAABQAAAAUAAABIcAAA -NHAAAChwAAAAAAEAAgADAAQAAABpcAAAeXAAAItwAACWcAAAqHAAAB4QAABwEgAA -UhIAADEQAADnEQAAZHlud3JhcHguZGxsAERsbENhblVubG9hZE5vdwBEbGxHZXRD -bGFzc09iamVjdABEbGxJbnN0YWxsAERsbFJlZ2lzdGVyU2VydmVyAERsbFVucmVn -aXN0ZXJTZXJ2ZXIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -ABAAAKgAAAAOMB8wJTA+MFMwYzBzMJEwmzCgMKUwCTFNMVIxVzGGMZIxoTHaMfEx -AjISMhgyJDIqMl0yejKRMrwyzTIhMywzMzN0M4MznjOvMxg0PzS8NO829TYRN/03 -CjitOLU4wzjWODg5AAAAAAAAkzqbOqE6HTsiO0Q7ijvGOwY8FTwkPDM8QjxRPGA8 -bzx+PJA8ojy0PMY82DzqPPw8IT0rPUQ9ACAAADQAAAAoMWIxoDHaMREyVDL7NAE1 -GDWQNZY1iTaPNq82tza9NtY2JDcsNzI3SjcAAAAwAAAQAAAAKDAwMDgwRjAAQAAA -oAEAAOgw7DDwMPQw+DD8MAAxBDEIMQwxEDEUMRgx3DHgMeQx6DHsMfwxADIEMggy -DDIcMiAyJDIoMiwyPDJAMkQySDJMMlAyWDJcMmAyZDJoMmwyfDKAMoQyiDKMMpwy -oDKkMqgyrDK8MsAyxDLIMswy3DLgMuQy6DLsMvwyADMEMwgzDDM4M1gzeDN8M4Az -hDOIM4wzlDOcM6AzpDOoM6wztDO8M8AzxDPIM8wz1DPcM+Az5DPoM+wz9DP8MwA0 -BDQINAw0FDQcNCA0JDQoNCw0NDQ8NEA0RDRINEw0VDRcNGA0ZDRoNGw0dDR8NIA0 -hDSINIw0lDScNKA0pDSoNKw0tDTYNPg0GDUcNSA1JDUoNSw1MDU0NTg1PDVANUQ1 -SDVMNVA1VDVYNVw1YDVkNWg1bDWkNcg11DXYNdw1ADYMNhA2FDYYNjQ2QDZENkg2 -TDZ0NoA2hDaINow2rDa4Nrw2wDbENvw2CDcMNxA3FDdEN1A3VDdYN1w34DW+N8I3 -sjfGN8o38Df8NwA4BDgIOCg4NDg4ODw4cDUAAABgAAA0AAAAAjAIMA4wFDAaMCAw -JjAsMDIwODA+MEQwSjBQMFYwXDBiMGgwbjB0MHowgDAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAA==} -} \ No newline at end of file diff --git "a/src/xddRegisterDynaWrapperX/\320\234\320\260\320\272\320\265\321\202\321\213/regsvrex.txt" "b/src/xddRegisterDynaWrapperX/\320\234\320\260\320\272\320\265\321\202\321\213/regsvrex.txt" deleted file mode 100644 index e3c8d956..00000000 --- "a/src/xddRegisterDynaWrapperX/\320\234\320\260\320\272\320\265\321\202\321\213/regsvrex.txt" +++ /dev/null @@ -1,429 +0,0 @@ -{1, -{#base64:TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAyAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5v -dCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAACD8Kh9x5HGLseRxi7HkcYu -x5HHLsiRxi6ljtUuzpHGLsGyzS7FkcYuAJfALsaRxi5SaWNox5HGLgAAAAAAAAAA -AAAAAAAAAABQRQAATAEEAAG7SUUAAAAAAAAAAOAADwELAQYAABAAAAAwAAAAAAAA -VhYAAAAQAAAAIAAAAABAAAAQAAAAEAAABAAAAAAAAAAEAAAAAAAAAABQAAAAEAAA -AAAAAAIAAAAAABAAABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAEwgAABkAAAA -AEAAANAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAATAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAAtgYAAAAQAAAAEAAAABAAAAAAAAAAAAAA -AAAAACAAAGAucmRhdGEAACICAAAAIAAAABAAAAAgAAAAAAAAAAAAAAAAAABAAABA -LmRhdGEAAACUAAAAADAAAAAQAAAAMAAAAAAAAAAAAAAAAAAAQAAAwC5yc3JjAAAA -0AkAAABAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -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 -QABW/3X4/9eL+Dv7dRVWU2oFjYXY/P//ajBQ6ID6//+DxBT/dQgzwDhd5Q+UwFD/ -1zvDdSxWU2oGjYXY/P//akBQ6Fn6//+DxBTrSGoHjYXY/P//ajBQ6ET6//+DxBTr -FlBWU2oIjYXY/P//ajBQ6Cz6//+DxBiNTRDoLv7//41N7OiG/f//jU386FIAAABq -A1jrO41NEOgR/v//jU3s6Gn9//+NTfzoNQAAAIvD6x9qAWoCahDrBmoAagFqQI2F -2Pz//1Do1vn//4PEEDPAX15bycIQAIvBi0wkBIkIwgQAVovxiwaFwHQHUP8VDCBA -AIMmAF7D/xUcIEAAgDgidRCKSAFAhMl0GoD5InXzQOsSikgBQITJdAqA+SB0BYD5 -CXXuigiA+SB05ID5CXTfagVQagBqAP8VJCBAAFDoff3//1D/FRggQADD/yVEIEAA -/yVAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYIQAAyiEAAAAAAABEIQAA -CCEAAC4hAAB0IQAAgiEAAPwgAAAaIQAAUiEAAGQhAAAAAAAAsCEAAKIhAAAAAAAA -BiIAAPYhAAAAAAAAvCAAAAAAAAAAAAAAlCEAAAwgAADkIAAAAAAAAAAAAAC+IQAA -NCAAALAgAAAAAAAAAAAAAOghAAAAIAAA8CAAAAAAAAAAAAAAGCIAAEAgAAAAAAAA -AAAAAAAAAAAAAAAAAAAAANghAADKIQAAAAAAAEQhAAAIIQAALiEAAHQhAACCIQAA -/CAAABohAABSIQAAZCEAAAAAAACwIQAAoiEAAAAAAAAGIgAA9iEAAAAAAADMAUxv -Y2FsRnJlZQCvAEZvcm1hdE1lc3NhZ2VBAAAmAUdldE1vZHVsZUhhbmRsZUEAAOQB -TXVsdGlCeXRlVG9XaWRlQ2hhcgC0AEZyZWVMaWJyYXJ5AD4BR2V0UHJvY0FkZHJl -c3MAAMIBTG9hZExpYnJhcnlBAAB9AEV4aXRQcm9jZXNzAMoAR2V0Q29tbWFuZExp -bmVBAEtFUk5FTDMyLmRsbAAAvgFNZXNzYWdlQm94QQCrAUxvYWRTdHJpbmdBAFVT -RVIzMi5kbGwAAFsBUmVnQ2xvc2VLZXkAcgFSZWdPcGVuS2V5RXhBAEFEVkFQSTMy -LmRsbAAAyQBPbGVJbml0aWFsaXplAOAAT2xlVW5pbml0aWFsaXplAG9sZTMyLmRs -bAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -UmVnc3ZyRVgAAAAAJTEKCiUyAABzY3JvYmouZGxsAABTb2Z0d2FyZVxDbGFzc2Vz -AAAAAFJlZ092ZXJyaWRlUHJlZGVmS2V5AAAAAGFkdmFwaTMyLmRsbAAAAABEbGxJ -bnN0YWxsAABEbGxSZWdpc3RlclNlcnZlcgAAAERsbFVucmVnaXN0ZXJTZXJ2ZXIA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAGAAAAIAAAgBAAAAA4AACA -AAAAAAAAAAAAAAAAAAABAAEAAABQAACAAAAAAAAAAAAAAAAAAAABAAEAAABoAACA -AAAAAAAAAAAAAAAAAAABABkEAACAAAAAAAAAAAAAAAAAAAAAAAABABkEAACQAAAA -4EMAAPAFAAAAAAAAAAAAAKBAAAA8AwAAAAAAAAAAAAA8AzQAAABWAFMAXwBWAEUA -UgBTAEkATwBOAF8ASQBOAEYATwAAAAAAvQTv/gAAAQAAAAEAAQAAAAAAAQABAAAA -PwAAAAAAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAJwCAAABAFMAdAByAGkAbgBnAEYA -aQBsAGUASQBuAGYAbwAAAHgCAAABADAANAAxADkAMAA0AGIAMAAAABgAAAABAEMA -bwBtAG0AZQBuAHQAcwAAAC4ABwABAEMAbwBtAHAAYQBuAHkATgBhAG0AZQAAAAAA -QQBsAGUAeABxAGMAAAAAADoACQABAEYAaQBsAGUARABlAHMAYwByAGkAcAB0AGkA -bwBuAAAAAAByAGUAZwBzAHYAcgBlAHgAAAAAADYACwABAEYAaQBsAGUAVgBlAHIA -cwBpAG8AbgAAAAAAMQAsACAAMAAsACAAMAAsACAAMQAAAAAAMgAJAAEASQBuAHQA -ZQByAG4AYQBsAE4AYQBtAGUAAAByAGUAZwBzAHYAcgBlAHgAAAAAAEYAEQABAEwA -ZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgAdAAAAEMAbwBwAHkAcgBpAGcAaAB0ACAA -qQAgADIAMAAwADYAAAAAACgAAAABAEwAZQBnAGEAbABUAHIAYQBkAGUAbQBhAHIA -awBzAAAAAABCAA0AAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBuAGEAbQBlAAAA -cgBlAGcAcwB2AHIAZQB4AC4AZQB4AGUAAAAAACAAAAABAFAAcgBpAHYAYQB0AGUA -QgB1AGkAbABkAAAAQAAQAAEAUAByAG8AZAB1AGMAdABOAGEAbQBlAAAAAABBAGwA -ZQB4AHEAYwAgAHIAZQBnAHMAdgByAGUAeAAAADoACwABAFAAcgBvAGQAdQBjAHQA -VgBlAHIAcwBpAG8AbgAAADEALAAgADAALAAgADAALAAgADEAAAAAACAAAAABAFMA -cABlAGMAaQBhAGwAQgB1AGkAbABkAAAARAAAAAEAVgBhAHIARgBpAGwAZQBJAG4A -ZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAAABkEsAQAAAAA -AADvARgEQQQ/BD4EOwRMBDcEPgQyBDAEPQQ4BDUEOgAgAFIAZQBnAFMAdgByAEUA -eAAgAFsALwB1AF0AIABbAC8AcwBdACAAWwAvAG4AXQAgAFsALwBjAF0AIABbAC8A -aQBbADoAYwBtAGQAbABpAG4AZQBdAF0AIABkAGwAbABuAGEAbQBlAAoAIAQ1BDME -OARBBEIEQAQ4BEAEPgQyBDAEQgRMBCAAHgQbBBUEIAAoAEEAYwB0AGkAdgBYACkA -IABBBDUEQAQyBDUEQAQgAGQAbABsAG4AYQBtAGUACgAvAHUAIAAtAAkAIAQwBDcE -QAQ1BDMEOARBBEIEQAQ4BEAEPgQyBDAEQgRMBCAAQQQ1BEAEMgQ1BEAECgAvAHMA -IAAtAAkAEQQ1BDcEIAA/BD4EOgQwBDcEMAQgAD4EOgQ9BDAEIABBBD4EPgQxBEkE -NQQ9BDgEOQQKAC8AaQAgAC0ACQASBEsENwQ+BDIEIABEAGwAbABJAG4AcwB0AGEA -bABsACAAQQQgAD4EPwRGBDgEPgQ9BDAEOwRMBD0ESwQ8BDgEIAA/BDAEQAQwBDwE -NQRCBEAEMAQ8BDgEIABbAGMAbQBkAGwAaQBuAGUAXQA7ACAAQQQgAC8AdQAgADIE -SwQ3BEsEMgQwBDUEQgQgAGQAbABsACAAdQBuAGkAbgBzAHQAYQBsAGwACgAvAG4A -IAAtAAkAPQQ1BCAAMgRLBDcESwQyBDAEQgRMBCAARABsAGwAUgBlAGcAaQBzAHQA -ZQByAFMAZQByAHYAZQByADsAIAA+BD8ERgQ4BE8EIAA4BDwENQQ1BEIEIABBBDwE -SwRBBDsEIABCBD4EOwRMBDoEPgQgAEEEIAAvAGkACgAKAC8AYwAgAC0ACQAYBEEE -PwQ+BDsETAQ3BD4EMgQwBEIETAQgADIENQRCBDoEQwQgAEAENQQ1BEEEQgRABDAE -IABCBDUEOgRDBEkENQQzBD4EIAA/BD4EOwRMBDcEPgQyBDAEQgQ1BDsETwQgACgA -SABLAEMAVQApAC4ACgAJAB8EPgQ3BDIEPgQ7BE8ENQRCBCAAQAQ1BDMEOARBBEIE -QAQ4BEAEPgQyBDAEQgRMBCAAQQQ1BEAEMgQ1BEAEIABCBD4EOwRMBDoEPgQgAD8E -PgQ0BCAAQgQ1BDoEQwRJBDUEPAQgAD8EPgQ7BEwENwQ+BDIEMARCBDUEOwQ1BDwE -LAAKAAkAPQQ1BCAAQgRABDUEMQRDBDUEQgQgAD8EQAQ4BDIENQQ7BDUEMwQ4BDkE -IAAwBDQEPAQ4BD0EOARBBEIEQAQwBEIEPgRABDAELgAKAEUAHQQ1BD8EQAQwBDIE -OAQ7BEwEPQRLBDkEIABEBD4EQAQ8BDAEQgQgADoEPgQ8BDAEPQQ0BD0EPgQ5BCAA -QQRCBEAEPgQ6BDgELgAKABQEOwRPBCAAQQQ/BEAEMAQyBDoEOAQgADIEMgQ1BDQE -OARCBDUEIABSAGUAZwBzAHYAcgBFAHgAIAAvAD8AFAAdBDUEIABDBDoEMAQ3BDAE -PQQgAD8EQwRCBEwEIAA6BCAARABMAEwAGwAdBDUEIAA8BD4EMwRDBCAANwQwBDME -QARDBDcEOARCBEwEIAA8BD4ENARDBDsETAQgACUAMQAVACQEQwQ9BDoERgQ4BE8E -IAAlADEAIAA9BDUEIAA9BDAEOQQ0BDUEPQQwBB4AJARDBD0EOgRGBDgETwQgACUA -MQAgADcEMAQyBDUEQARIBDgEOwQwBEEETAQgAEMEQQQ/BDUESAQ9BD4EHwAkBEME -PQQ6BEYEOARPBCAAJQAxACAANwQwBDIENQRABEgEOAQ7BDAEQQRMBCAAPQQ1BEME -NAQwBEcEPQQ+BDMAJARDBD0EOgRGBDgETwQgACUAMQAgADcEMAQyBDUEQARIBDUE -PQQwBCAAPQQ1BEMENAQwBEcEPQQ+BCwAIAA6BD4ENAQgADIEPgQ3BDIEQAQwBEIE -MAQgADAAeAAlADIAIQB4ACEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=} -} \ 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.txt" "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.txt" index 293f1d7a..e0581d0d 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.txt" +++ "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.txt" @@ -1,3454 +1 @@ - -&НаКлиенте -Перем MiddleMan; - -&НаКлиенте -Перем СоответствиеСтатусовДляTeamCity; - -&НаКлиенте -Перем кэшТестовыхОбработок; - -//////////////////////////////////////////////////////////////////////////////// -// ИНТЕРФЕЙС АВТОМАТИЧЕСКИХ ТЕСТОВ - -//#Область ИнтерфейсАвтоматическихТестов - -//////////////////////////////////////////////////////////////////////////////// -// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ ДЛЯ ПРОВЕДЕНИЯ ТЕСТИРОВАНИЯ - -//#Область СлужебныеПроцедурыИФункцииДляПроведенияТестирования - -// { функции утверждения- проверки значений. - -&НаКлиенте -Процедура Проверить(_Истина, ДопСообщениеОшибки = "") Экспорт - Если Не _Истина Тогда - СообщениеОшибки = "Переданный параметр ("+Формат(_Истина, "БЛ=ложь; БИ=истина")+") не является Истиной, а хотели, чтобы являлся." + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьИстину(_Истина, ДопСообщениеОшибки = "") Экспорт - Проверить(_Истина, ДопСообщениеОшибки); -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьЛожь(_Ложь, ДопСообщениеОшибки = "") Экспорт - Если _Ложь Тогда - СообщениеОшибки = "Переданный параметр ("+Формат(_Ложь, "БЛ=ложь; БИ=истина")+") не является Ложью, а хотели, чтобы являлся." + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьДату(_Дата, _Период, ДопСообщениеОшибки = "") Экспорт - Если _Дата < _Период.ДатаНачала или _Дата > _Период.ДатаОкончания Тогда - представление = ПредставлениеПериода(_Период.ДатаНачала, _Период.ДатаОкончания, "ФП = Истина"); - СообщениеОшибки = "Переданный параметр ("+Формат(_Дата, "ДФ='dd.MM.yyyy HH:mm:ss'")+") не входит в период "+представление+", а хотели, чтобы являлся." + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьРавенствоДатСТочностью2Секунды(_Дата, _Дата2, ДопСообщениеОшибки = "") Экспорт - Если _Дата < _Дата2-2 или _Дата > _Дата2+2 Тогда - СообщениеОшибки = "Переданная дата ("+Формат(_Дата, "ДФ='dd.MM.yyyy HH:mm:ss'")+") не равна дате ("+Формат(_Дата2, "ДФ='dd.MM.yyyy HH:mm:ss'")+") с точностью до 2-х секунд, а хотели, чтобы они равнялись." + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьРавенство(_1, _2, ДопСообщениеОшибки = "") Экспорт - Если _1 <> _2 Тогда - СообщениеОшибки = "Сравниваемые значения ("+_1+"; "+_2+") не равны, а хотели, чтобы были равны." + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьНеРавенство(_1, _2, ДопСообщениеОшибки = "") Экспорт - Если _1 = _2 Тогда - СообщениеОшибки = "Сравниваемые значения ("+_1+"; "+_2+") равны, а хотели, чтобы были не равны." + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьБольше(_Больше, _Меньше, ДопСообщениеОшибки = "") Экспорт - Если _Больше <= _Меньше Тогда - СообщениеОшибки = "Первый параметр ("+_Больше+") меньше или равен второму ("+_Меньше+") а хотели, чтобы был больше." + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьБольшеИлиРавно(_Больше, _Меньше, ДопСообщениеОшибки = "") Экспорт - Если _Больше < _Меньше Тогда - СообщениеОшибки = "Первый параметр ("+_Больше+") меньше второго ("+_Меньше+") а хотели, чтобы был больше или равен." + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьМеньше(проверяемоеЗначение1, проверяемоеЗначение2, СообщениеОбОшибке = "") Экспорт - Если проверяемоеЗначение1 >= проверяемоеЗначение2 Тогда - СообщениеОшибки = "Значение <"+проверяемоеЗначение1+"> больше или равно, чем <"+проверяемоеЗначение2+">, а ожидалось меньше"+ - ФорматДСО(СообщениеОбОшибке); - ВызватьОшибкуПроверки(СообщениеОшибки) - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьМеньшеИлиРавно(проверяемоеЗначение1, проверяемоеЗначение2, СообщениеОбОшибке = "") Экспорт - Если проверяемоеЗначение1 > проверяемоеЗначение2 Тогда - СообщениеОшибки = "Значение <"+проверяемоеЗначение1+"> больше, чем <"+проверяемоеЗначение2+">, а ожидалось меньше или равно"+ - ФорматДСО(СообщениеОбОшибке); - ВызватьОшибкуПроверки(СообщениеОшибки) - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьВыполнилось(Знач СтрокаАлгоритм, ПараметрыИлиДопСообщениеОшибки = Неопределено, Знач ДопСообщениеОшибки = "") Экспорт - Перем Параметры; - - Если ТипЗнч(ПараметрыИлиДопСообщениеОшибки) = Тип("Строка") Тогда - ДопСообщениеОшибки = ПараметрыИлиДопСообщениеОшибки; - Иначе - Параметры = ПараметрыИлиДопСообщениеОшибки; - КонецЕсли; - Попытка - Выполнить(СтрокаАлгоритм); - Исключение - ПолученноеОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - СообщениеОшибки = "Хотели, чтобы алгоритм """+СтрокаАлгоритм+""" выполнился, а он упал с ошибкой """+ПолученноеОписаниеОшибки+"""." + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецПопытки; - -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьМетодВыполнился(Объект, Знач ИмяМетода, ПараметрыИлиДопСообщениеОшибки = Неопределено, Знач ДопСообщениеОшибки = "") Экспорт - Перем Параметры; - - Если ТипЗнч(ПараметрыИлиДопСообщениеОшибки) = Тип("Строка") Тогда - ДопСообщениеОшибки = ПараметрыИлиДопСообщениеОшибки; - Иначе - Параметры = ПараметрыИлиДопСообщениеОшибки; - Если Параметры <> Неопределено Тогда - ТипПараметра = ТипЗнч(Параметры); - Если ТипПараметра <> Тип("Массив") Тогда - ВызватьИсключение ("Ожидали, что вторым параметром будет передан массив параметров для метода <"+ИмяМетода+">, а получили другой объект с типом <"+ТипПараметра+">"); - КонецЕсли; - КонецЕсли; - КонецЕсли; - - ПараметрыСтрока = ПараметрыСтрокой(Параметры); - - СтрокаВыполнения = "Объект." + ИмяМетода + "(" + ПараметрыСтрока + ")"; - - Попытка - Выполнить(СтрокаВыполнения); - Исключение - ПолученноеОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - СообщениеОшибки = "Хотели, чтобы код """+СтрокаВыполнения+""" выполнился, а он упал с ошибкой """+ПолученноеОписаниеОшибки+"""." + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецПопытки; - -КонецПроцедуры - -&НаКлиенте -Функция ПараметрыСтрокой(Параметры) - ПараметрыСтрока = ""; - Если ЗначениеЗаполнено(Параметры) Тогда - Для Индекс = 0 По Параметры.ВГраница() Цикл - ПараметрыСтрока = ПараметрыСтрока + ", Параметры[" + Формат(Индекс, "ЧН=0; ЧГ=0") + "]"; - КонецЦикла; - КонецЕсли; - Возврат Сред(ПараметрыСтрока, 3); -КонецФункции - -&НаКлиенте -Процедура ПроверитьНеВыполнилось(Знач СтрокаАлгоритм, ПараметрыИлиОжидаемоеОписаниеОшибки, Знач ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки = "", Знач ДопСообщениеОшибки = "") Экспорт - Перем Параметры, ОжидаемоеОписаниеОшибки; - Если ТипЗнч(ПараметрыИлиОжидаемоеОписаниеОшибки) = Тип("Строка") Тогда - ОжидаемоеОписаниеОшибки = ПараметрыИлиОжидаемоеОписаниеОшибки; - ДопСообщениеОшибки = ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки; - Иначе - Параметры = ПараметрыИлиОжидаемоеОписаниеОшибки; - ОжидаемоеОписаниеОшибки = ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки; - КонецЕсли; - Попытка - Выполнить(СтрокаАлгоритм); - Исключение - ПолученноеОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - Если Найти(ПолученноеОписаниеОшибки, ОжидаемоеОписаниеОшибки) = 0 Тогда - ВызватьОшибкуПроверки("Хотели, чтобы алгоритм """+СтрокаАлгоритм+""" упал с сообщением об ошибке """+ОжидаемоеОписаниеОшибки+""", а он упал с сообщением """+ПолученноеОписаниеОшибки+"""." + ФорматДСО(ДопСообщениеОшибки)); - КонецЕсли; - Возврат; - КонецПопытки; - - ВызватьОшибкуПроверки("Хотели, чтобы алгоритм """+СтрокаАлгоритм+""" упал, а он выполнился" + ФорматДСО(ДопСообщениеОшибки)); - -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьМетодНеВыполнился(Объект, ИмяМетода, ПараметрыИлиОжидаемоеОписаниеОшибки, Знач ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки = "", Знач ДопСообщениеОшибки = "") Экспорт - Перем Параметры, ОжидаемоеОписаниеОшибки; - - Если ТипЗнч(ПараметрыИлиОжидаемоеОписаниеОшибки) = Тип("Строка") Тогда - ОжидаемоеОписаниеОшибки = ПараметрыИлиОжидаемоеОписаниеОшибки; - ДопСообщениеОшибки = ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки; - Иначе - Параметры = ПараметрыИлиОжидаемоеОписаниеОшибки; - Если Параметры <> Неопределено Тогда - ТипПараметра = ТипЗнч(Параметры); - Если ТипПараметра <> Тип("Массив") Тогда - ВызватьИсключение ("Ожидали, что третьим параметром будет передан массив параметров для метода <"+ИмяМетода+">, а получили другой объект с типом <"+ТипПараметра+">"); - КонецЕсли; - КонецЕсли; - ОжидаемоеОписаниеОшибки = ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки; - КонецЕсли; - - ПараметрыСтрока = ПараметрыСтрокой(Параметры); - - СтрокаВыполнения = "Объект." + ИмяМетода + "(" + ПараметрыСтрока + ")"; - - Попытка - Выполнить(СтрокаВыполнения); - Исключение - ПолученноеОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - Если Найти(ПолученноеОписаниеОшибки, ОжидаемоеОписаниеОшибки) = 0 Тогда - ВызватьОшибкуПроверки("Хотели, чтобы код """+СтрокаВыполнения+""" упал с сообщением об ошибке """+ОжидаемоеОписаниеОшибки+""", а он упал с сообщением """+ПолученноеОписаниеОшибки+"""." + ФорматДСО(ДопСообщениеОшибки)); - КонецЕсли; - Возврат; - КонецПопытки; - - ВызватьОшибкуПроверки("Хотели, чтобы код """+СтрокаВыполнения+""" упал, а он выполнился" + ФорматДСО(ДопСообщениеОшибки)); - -КонецПроцедуры - -// проверка идет через ЗначениеЗаполнено, но мутабельные значение всегда считаем заполненными -&НаКлиенте -Процедура ПроверитьЗаполненность(ПроверяемоеЗначение, ДопСообщениеОшибки = "") Экспорт - Попытка - фЗаполнено = ЗначениеЗаполнено(ПроверяемоеЗначение); - Исключение - Возврат; - КонецПопытки; - Если НЕ фЗаполнено Тогда - ВызватьОшибкуПроверки("Значение ("+ПроверяемоеЗначение+") не заполнено, а ожидалась заполненность" + ФорматДСО(ДопСообщениеОшибки)); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьНеЗаполненность(ПроверяемоеЗначение, ДопСообщениеОшибки = "") Экспорт - СообщениеОшибки = "Значение ("+ПроверяемоеЗначение+") заполнено, а ожидалась незаполненность" + ФорматДСО(ДопСообщениеОшибки); - Попытка - фЗаполнено = ЗначениеЗаполнено(ПроверяемоеЗначение); - Исключение - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецПопытки; - Если фЗаполнено Тогда - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьТип(значение, ТипИлиИмяТипа, ДопСообщениеОшибки = "") Экспорт - Если ТипЗнч(ТипИлиИмяТипа) = Тип("Строка") Тогда - искомыйТип = Тип(ТипИлиИмяТипа); - ИначеЕсли ТипЗнч(ТипИлиИмяТипа) = Тип("Тип") Тогда - искомыйТип = ТипИлиИмяТипа; - Иначе - ВызватьИсключение ("ПроверитьТип: Тип значения параметра ТипИлиИмяТипа должен быть <Тип> или <Строка>, а получили <"+ ТипЗнч(ТипИлиИмяТипа) + ">" + ФорматДСО(ДопСообщениеОшибки)); - КонецЕсли; - Если ТипЗнч(значение) <> искомыйТип Тогда - ВызватьОшибкуПроверки("Типом значения <"+значение+"> является <"+ТипЗнч(значение)+">, а ожидался тип <"+ТипИлиИмяТипа+">."+ФорматДСО(ДопСообщениеОшибки)); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьВхождение(строка, подстрокаПоиска, ДопСообщениеОшибки = "") Экспорт - Если Найти(строка, подстрокаПоиска) = 0 Тогда - ПредставлениеСтроки = "<"+строка+">"; - Если СтрДлина(строка) > 20 Тогда - ПредставлениеСтроки = ПредставлениеСтроки + Символы.ПС; - КонецЕсли; - ПредставлениеПодСтроки = "<"+подстрокаПоиска+">"; - Если СтрДлина(подстрокаПоиска) > 20 Тогда - ПредставлениеПодСтроки = ПредставлениеПодСтроки + Символы.ПС; - КонецЕсли; - СообщениеОшибки = "Искали в "+ПредставлениеСтроки+" подстроку "+ПредставлениеПодСтроки+", но не нашли." + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -//Коллекция - Массив, Структура, Соответствие, ФиксированныйМассив, ФиксированнаяСтруктура, ФиксированноеСоответствие, СписокЗначений -&НаКлиенте -Процедура ПроверитьВхождениеВКоллекцию(Элемент, Коллекция, ДопСообщениеОшибки = "") Экспорт - Нашли = Неопределено; - ТипКоллекции = ТипЗнч(Коллекция); - Если ТипКоллекции = Тип("Массив") или ТипКоллекции = Тип("ФиксированныйМассив") Тогда - Нашли = Коллекция.Найти(Элемент) <> Неопределено; - ИначеЕсли ТипКоллекции = Тип("Структура") или ТипКоллекции = Тип("Соответствие") - или ТипКоллекции = Тип("ФиксированнаяСтруктура") или ТипКоллекции = Тип("ФиксированноеСоответствие") Тогда - Для каждого КлючЗначение Из Коллекция Цикл - Нашли = КлючЗначение.Значение = Элемент; - Если Нашли Тогда - Прервать; - КонецЕсли; - КонецЦикла; - ИначеЕсли ТипКоллекции = Тип("СписокЗначений") Тогда - Нашли = Коллекция.НайтиПоЗначению(Элемент) <> Неопределено; - КонецЕсли; - Если Нашли = Неопределено Тогда - СообщениеОшибки = "Утверждение ""ПроверитьВхождениеВКоллекцию"" не умеет работать с типом коллекции <"+ТипКоллекции+">." + ФорматДСО(ДопСообщениеОшибки); - ВызватьИсключение СообщениеОшибки; - КонецЕсли; - Если Не Нашли Тогда - СообщениеОшибки = "Не нашли элемент <"+Элемент+"> в коллекции, а хотели, чтобы он был в коллекции." + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьВалидностьЗапросаСКД(ТекстЗапроса, ДопСообщениеОшибки = "") Экспорт - ПроверитьВалидностьЗапросаСКДНаСервере(ТекстЗапроса, ДопСообщениеОшибки); -КонецПроцедуры - -// Только для внутреннего использования -&НаСервере -Процедура ПроверитьВалидностьЗапросаСКДНаСервере(ТекстЗапроса, ДопСообщениеОшибки = "") - Объект().ПроверитьВалидностьЗапросаСКД(ТекстЗапроса, ДопСообщениеОшибки); -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки = Ложь, УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки = Ложь, Знач ДопСообщениеОшибки = "") Экспорт - ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениямСервер(ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки, УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки, ДопСообщениеОшибки); -КонецПроцедуры - -&НаСервере -Процедура ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениямСервер(ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки = Ложь, УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки = Ложь, Знач ДопСообщениеОшибки = "") Экспорт - Объект().ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки, УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки, ДопСообщениеОшибки); -КонецПроцедуры - -&НаКлиенте -Процедура ВызватьОшибкуПроверки(СообщениеОшибки) - - Префикс = "[" + СтатусыРезультатаТестирования.ОшибкаПроверки + "]"; - ВызватьИсключение Префикс + " " + СообщениеОшибки; - -КонецПроцедуры - -&НаКлиенте -Процедура ПропуститьТест(Знач Сообщение = "") Экспорт - - Префикс = "[" + СтатусыРезультатаТестирования.ТестПропущен + "]"; - Если ПустаяСтрока(Сообщение) Тогда - Сообщение = НСтр("ru = 'Тест пропущен'"); - КонецЕсли; - ВызватьИсключение Префикс + " " + Сообщение; - -КонецПроцедуры - -&НаКлиенте -Функция ПолучитьКонтекст(Знач ИдентификаторКонтекста = Неопределено) Экспорт - Перем Контекст; - - Если ИдентификаторКонтекста = Неопределено Тогда - ИдентификаторКонтекста = ИдентификаторПустогоКонтекста(); - КонецЕсли; - - Если Не ЗначениеЗаполнено(Объект.Мир) Или Не Объект.Мир.Свойство(ИдентификаторКонтекста, Контекст) Тогда - ТекстОшибки = СтрЗаменить(НСтр("ru = 'Отсутствует запрашиваемый контекст%1.'"), "%1", ?(ИдентификаторКонтекста = ИдентификаторПустогоКонтекста(), "", " (" + ИдентификаторКонтекста + ")")); - ВызватьИсключение ТекстОшибки; - КонецЕсли; - - Возврат Контекст; - -КонецФункции - -&НаКлиенте -Процедура УстановитьКонтекст(Контекст, Знач ИдентификаторКонтекста = Неопределено) Экспорт - - Если Не ЗначениеЗаполнено(Объект.Мир) Тогда - Объект.Мир = Новый Структура; - КонецЕсли; - - Если ИдентификаторКонтекста = Неопределено Тогда - ИдентификаторКонтекста = ИдентификаторПустогоКонтекста(); - КонецЕсли; - - Объект.Мир.Вставить(ИдентификаторКонтекста, Контекст); - -КонецПроцедуры - -// создается копия данных текущего теста - структура "Имя, ПолныйПуть, СостояниеТеста" -&НаКлиенте -Функция ДанныеТекущегоТеста() Экспорт - Результат = СоздатьПустуюСтруктуруСостоянияТекущегоТеста(); - - ДанныеТекущегоТеста = ПолучитьКонтекст("xUnitFor1C_ДанныеТекущегоТеста"); - Если Не ЗначениеЗаполнено(ДанныеТекущегоТеста) Тогда - ВызватьИсключение "Нельзя получить данные текущего теста вне режима тестирования"; - КонецЕсли; - - ЗаполнитьЗначенияСвойств(Результат, ДанныеТекущегоТеста); - Возврат Результат; -КонецФункции - -// } - -//#КонецОбласти - -//#КонецОбласти - - -//////////////////////////////////////////////////////////////////////////////// -// ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ - -//#Область ОбработчикиСобытийФормы - -&НаСервере -Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) - - // Получаем версию платформы для определения вызова процедур\функций для 8.2 или 8.3 - СистемнаяИнформация = Новый СистемнаяИнформация; - ВерсияПлатформы = Лев(СистемнаяИнформация.ВерсияПриложения, 3); - ЕстьПоддержкаНемодальныхФорм = (СравнитьВерсии(СистемнаяИнформация.ВерсияПриложения, "8.3.3.641") >= 0); - ЕстьПоддержкаАсинхронныхВызовов = (СравнитьВерсии(СистемнаяИнформация.ВерсияПриложения, "8.3.5.1383") >= 0) - И Вычислить("Метаданные.РежимИспользованияСинхронныхВызововРасширенийИВнешнихКомпонент <> Метаданные.СвойстваОбъектов.РежимИспользованияСинхронныхВызововРасширенийИВнешнихКомпонент.Использовать"); - - ИнициализироватьНастройки(); - - ОбъектНаСервере = Объект(); - ЭтаФорма.Заголовок = ОбъектНаСервере.ЗаголовокФормы(); - - ЭтоВстроеннаяОбработка = ОбъектНаСервере.ЭтоВстроеннаяОбработка; - Если Не ЭтоВстроеннаяОбработка Тогда - ИспользуемоеИмяФайла = ОбъектНаСервере.ИспользуемоеИмяФайла; - КонецЕсли; - УстановитьПоУмолчаниюОбработчикКоманды_ЗагрузитьТесты(); - - ЗапретИспользованияИнформатора = Истина; - - БылаОшибкаПриПредыдущейЗагрузке = ОбъектНаСервере.СохраненнаяНастройка_БылаОшибкаПриПредыдущейЗагрузке(); - ОбъектНаСервере.УстановитьНастройку_БылаОшибкаПриПредыдущейЗагрузке(Истина); - - Если ЗначениеЗаполнено(Параметры.Пути) Тогда - Пути.ЗагрузитьЗначения(Параметры.Пути.ВыгрузитьЗначения()); - КонецЕсли; - - ЗначенияСостоянияТестов = ОбъектНаСервере.мЗначенияСостоянияТестов; - ЗначенияТиповСтроки = ОбъектНаСервере.мЗначенияТиповСтроки; - ЗначениеМодульИлиФорма = ОбъектНаСервере.мЗначениеМодульИлиФорма; - СтатусыРезультатаТестирования = ОбъектНаСервере.СтатусыРезультатаТестирования; - -КонецПроцедуры - -&НаСервере -Процедура УстановитьПоУмолчаниюОбработчикКоманды_ЗагрузитьТесты() - Перем Команда; - - Если ЭтоВстроеннаяОбработка Тогда - Команда = Команды.КомандаЗагрузитьТестыИзКонфигурацииПоИмени; - Иначе - Команда = Команды.КомандаЗагрузитьТестовыйНабор; - КонецЕсли; - - Элементы.ФормаЗагрузитьТестыПоУмолчанию.ИмяКоманды = Команда.Имя; - -КонецПроцедуры - -&НаКлиенте -Процедура ПриОткрытии(Отказ) - - СоздатьСоответствиеСтатусовДляTeamCity(); - - Если ОбработатьПараметрыЗапуска(ПараметрЗапуска) Тогда - Возврат; - КонецЕсли; - - Ответ = КодВозвратаДиалога.Нет; - Если ЗначениеЗаполнено(Пути) Тогда - - Если БылаОшибкаПриПредыдущейЗагрузке Тогда - Текст = НСтр("ru = 'Возникла ошибка при предыдущей загрузке тестов. Хотите отменить загрузку тестов?'"); - Если ЕстьПоддержкаНемодальныхФорм Тогда - Оповещение = Вычислить("Новый ОписаниеОповещения(""ПриОткрытииПослеВопросаОбОтменеЗагрузкиТестов"", ЭтаФорма)"); - Выполнить("ПоказатьВопрос(Оповещение, Текст, РежимДиалогаВопрос.ДаНет)"); - Возврат; - Иначе - Ответ = Вопрос(Текст, РежимДиалогаВопрос.ДаНет, 0); - КонецЕсли; - - КонецЕсли; - - КонецЕсли; - - ПриОткрытииПослеВопросаОбОтменеЗагрузкиТестов(Ответ); - -КонецПроцедуры - -&НаКлиенте -Процедура ПриОткрытииПослеВопросаОбОтменеЗагрузкиТестов(Ответ, ДополнительныеПараметры = Неопределено) Экспорт - - Если Ответ = КодВозвратаДиалога.Да Тогда - Пути.Очистить(); - КонецЕсли; - - Если ЗначениеЗаполнено(Пути) Тогда - - ОбновитьНадписьПути(); - - Попытка - LoadAllTests(); - Исключение - ТекстОшибки = ОписаниеОшибки(); - ТекстСообщения = НСтр("ru='ОШИБКА загрузки тестов: %ТекстОшибки%'; en='Error loading testcases: %ТекстОшибки%'"); - ТекстСообщения = СтрЗаменить(ТекстСообщения, "%ТекстОшибки%", ТекстОшибки); - ВывестиСообщение(ТекстСообщения); - - КонецПопытки; - - КонецЕсли; - - СброситьПризнак_БылаОшибкаПриПредыдущейЗагрузкеСервер(); - -КонецПроцедуры - -&НаКлиенте -Процедура СоздатьСоответствиеСтатусовДляTeamCity() - - //{ Соответствие Статуса сообщения 1с Статусу в Buildlog TeamCity - СоответствиеСтатусовДляTeamCity = Новый Соответствие; - СоответствиеСтатусовДляTeamCity.Вставить(СтатусСообщения.БезСтатуса,"NORMAL"); - СоответствиеСтатусовДляTeamCity.Вставить(СтатусСообщения.Обычное,"NORMAL"); - СоответствиеСтатусовДляTeamCity.Вставить(СтатусСообщения.Информация,"NORMAL"); - СоответствиеСтатусовДляTeamCity.Вставить(СтатусСообщения.Внимание,"WARNING"); - СоответствиеСтатусовДляTeamCity.Вставить(СтатусСообщения.Важное,"FAILURE"); - СоответствиеСтатусовДляTeamCity.Вставить(СтатусСообщения.ОченьВажное,"ERROR"); - СоответствиеСтатусовДляTeamCity = Новый ФиксированноеСоответствие(СоответствиеСтатусовДляTeamCity); - //} Соответствие Статуса сообщения 1с Статусу в Buildlog TeamCity -КонецПроцедуры - -// Обработка оповещений о загрузке или ходе выполнения тестов. -// -&НаКлиенте -Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) - - // Возможные события: - // xUnitFor1C.TestLoaded - // xUnitFor1C.TestPassed - // xUnitFor1C.TestNotInplemented - // xUnitFor1C.TestFailed - - Если ИмяСобытия = "xUnitFor1C.TestPassed" Тогда - - ИндикаторВыполнения = ИндикаторВыполнения + 1; //Элементы.ИндикаторВыполнения.Значение = Элементы.ИндикаторВыполнения.Значение + 1; - - ИначеЕсли ИмяСобытия = "xUnitFor1C.TestNotImplemented" Тогда - - ИндикаторВыполнения = ИндикаторВыполнения + 1; //Элементы.ИндикаторВыполнения.Значение = Элементы.ИндикаторВыполнения.Значение + 1; - - Если Элементы.ИндикаторВыполнения.ЦветРамки <> WebЦвета.Красный Тогда - Элементы.ИндикаторВыполнения.ЦветРамки = WebЦвета.Золотой; - КонецЕсли; - - ИначеЕсли ИмяСобытия = "xUnitFor1C.TestFailed" Тогда - - ИндикаторВыполнения = ИндикаторВыполнения + 1; //Элементы.ИндикаторВыполнения.Значение = Элементы.ИндикаторВыполнения.Значение + 1; - Элементы.ИндикаторВыполнения.ЦветРамки = WebЦвета.Красный; - - ИначеЕсли ИмяСобытия = "xUnitFor1C.LoadSubSystem" Тогда - - Если ТипЗнч(Параметр) = Тип("Строка") И НЕ ПустаяСтрока(Параметр) Тогда - - Пути.Очистить(); - Пути.Добавить(Параметр); - ОбновитьНадписьПути(); - LoadAllTests(); - - КонецЕсли; - - КонецЕсли; - - ОбновитьОтображениеДанных(); - -КонецПроцедуры - -&НаКлиенте -Процедура ПриЗакрытии() - - Если Не ЭтоЗапускВПакетномРежиме Тогда - СохранитьНастройки(); - КонецЕсли; - -КонецПроцедуры - -//#КонецОбласти - -//////////////////////////////////////////////////////////////////////////////// -// ОБРАБОТЧИКИ ТАБЛИЦЫ ФОРМЫ ДЕРЕВОТЕСТОВ - -//#Область ОбработчикиТаблицыФормы_ДеревоТестов - -&НаКлиенте -Процедура РазвернутьСтрокиДерева(ВключаяПодчиненные = Ложь) - - Для Каждого СтрокаДерева Из Объект.ДеревоТестов.ПолучитьЭлементы() Цикл - Идентификатор = СтрокаДерева.ПолучитьИдентификатор(); - Элементы.ДеревоТестов.Развернуть(Идентификатор, ВключаяПодчиненные); - КонецЦикла; - -КонецПроцедуры - -&НаКлиенте -Процедура СвернутьУспешныеСтрокиДереваИРазвернутьНеуспешные(СтрокиДереваТестов, ОставитьРазвернутым) - - ЭлементДеревоТестов = Элементы.ДеревоТестов; - Для Каждого СтрокаДерева из СтрокиДереваТестов Цикл - Если Не ОставитьРазвернутым Тогда - Идентификатор = СтрокаДерева.ПолучитьИдентификатор(); - Если СтрокаДерева.Состояние = ЗначенияСостоянияТестов.Сломался - Или СтрокаДерева.Состояние = ЗначенияСостоянияТестов.НеРеализован Тогда - ЭлементДеревоТестов.Развернуть(Идентификатор, Ложь); - ИначеЕсли СтрокаДерева.Состояние <> ЗначенияСостоянияТестов.НеВыполнялся Тогда - ЭлементДеревоТестов.Свернуть(Идентификатор); - КонецЕсли; - КонецЕсли; - СвернутьУспешныеСтрокиДереваИРазвернутьНеуспешные(СтрокаДерева.ПолучитьЭлементы(), Ложь); - КонецЦикла; - -КонецПроцедуры - -&НаКлиенте -Процедура ИзменитьСостояниеВыполненияРодителей(СтрокаДереваТестов) - - СтрокаРодителя = СтрокаДереваТестов.ПолучитьРодителя(); - Если СтрокаРодителя = Неопределено Тогда - Возврат; - КонецЕсли; - - ПредыдушееСостояние = СтрокаРодителя.Состояние; - Состояние = ЗначенияСостоянияТестов.НеВыполнялся; - Для Каждого Строка Из СтрокаРодителя.ПолучитьЭлементы() Цикл - Если Строка.Состояние = ЗначенияСостоянияТестов.НеВыполнялся Тогда - Состояние = ЗначенияСостоянияТестов.НеВыполнялся; - Прервать; - КонецЕсли; - ЗапомнитьСамоеХудшееСостояние(Состояние, Строка.Состояние); - КонецЦикла; - Если ПредыдушееСостояние <> Состояние Тогда - СтрокаРодителя.Состояние = Состояние; - ИзменитьСостояниеВыполненияРодителей(СтрокаРодителя); - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ИзменитьВремяВыполненияРодителей(СтрокаДереваТестов) - - СтрокаРодителя = СтрокаДереваТестов.ПолучитьРодителя(); - Если СтрокаРодителя = Неопределено Тогда - Возврат; - КонецЕсли; - - ВремяВыполнения = 0; - Для Каждого Строка Из СтрокаРодителя.ПолучитьЭлементы() Цикл - ВремяВыполнения = ВремяВыполнения + Строка.ВремяВыполнения; - КонецЦикла; - Если СтрокаРодителя.ВремяВыполнения <> ВремяВыполнения Тогда - СтрокаРодителя.ВремяВыполнения = ВремяВыполнения; - ИзменитьВремяВыполненияРодителей(СтрокаРодителя); - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура УдалитьПустуюСтрокуДерева(СтрокаТеста, РодительскаяСтрока) - Если СтрокаТеста <> Неопределено И СтрокаТеста.ПолучитьЭлементы().Количество() = 0 Тогда - Если РодительскаяСтрока <> Неопределено Тогда - РодительскаяСтрока.ПолучитьЭлементы().Удалить(СтрокаТеста); - Иначе - Объект.ДеревоТестов.ПолучитьЭлементы().Удалить(СтрокаТеста); - КонецЕсли; - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура УдалитьПустыеСтрокиКаталогов(СтрокиДерева) - - УдаляемыеСтроки = Новый Массив; - - Для Каждого СтрокаДерева Из СтрокиДерева Цикл - Если СтрокаДерева.ТипСтроки = ЗначенияТиповСтроки.КаталогТестов Тогда - УдалитьПустыеСтрокиКаталогов(СтрокаДерева.ПолучитьЭлементы()); - Если СтрокаДерева.ПолучитьЭлементы().Количество() = 0 Тогда - УдаляемыеСтроки.Добавить(СтрокаДерева); - КонецЕсли; - КонецЕсли; - КонецЦикла; - - Для Каждого СтрокаКУдалению Из УдаляемыеСтроки Цикл - СтрокиДерева.Удалить(СтрокаКУдалению); - КонецЦикла; - -КонецПроцедуры - -&НаКлиенте -Функция ПосчитатьКоличествоТестовыхСлучаевПоВсемуДеревуТестов(РодительскаяСтрока) - коллекцияСтрок = РодительскаяСтрока.ПолучитьЭлементы(); - Если коллекцияСтрок.Количество() = 0 Тогда - Возврат 1; - КонецЕсли; - количествоТестов = 0; - Для каждого СтрокаДерева из коллекцияСтрок Цикл - лКоличество = ПосчитатьКоличествоТестовыхСлучаевПоВсемуДеревуТестов(СтрокаДерева); - СтрокаДерева.КоличествоТестов = лКоличество; - количествоТестов = количествоТестов + лКоличество; - КонецЦикла; - Возврат количествоТестов; -КонецФункции - -&НаСервере -Процедура УпорядочитьСтрокиДереваТестов() - - Дерево = РеквизитФормыВЗначение("Объект.ДеревоТестов"); - Объект().УпорядочитьСтрокиДереваТестов(Дерево); - ЗначениеВРеквизитФормы(Дерево, "Объект.ДеревоТестов"); - -КонецПроцедуры - -//#КонецОбласти - -//////////////////////////////////////////////////////////////////////////////// -// ОБРАБОТЧИКИ КОМАНД ФОРМЫ - -//#Область ОбработчикиКомандФормы - -&НаКлиенте -Процедура КомандаВыполнитьВсеТесты(Команда) - ОчиститьСообщения(); - RunAllTests(); -КонецПроцедуры - -&НаКлиенте -Процедура КомандаПерезагрузитьВсеТесты(Команда) - LoadAllTests(); -КонецПроцедуры - -&НаКлиенте -Процедура КомандаЗагрузитьТестовыйНабор(Команда) - - ПараметрыВыбора = Новый Структура; - ПараметрыВыбора.Вставить("ИмяИстории", Элементы.ИсторияВыбораМест.Имя); - ПараметрыВыбора.Вставить("РазвернутьСтроки", Ложь); - - Режим = РежимДиалогаВыбораФайла.ВыборКаталога; - ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим); - ДиалогОткрытияФайла.ПолноеИмяФайла = ""; - ДиалогОткрытияФайла.МножественныйВыбор = Ложь; - ДиалогОткрытияФайла.Заголовок = НСтр("en='Choose a folder with testcases'; ru='Выберите каталог с тестовыми случаями'"); - Если ЕстьПоддержкаАсинхронныхВызовов Тогда - Оповещение = Вычислить("Новый ОписаниеОповещения(""ПослеВыбораФайлаТестов"", ЭтаФорма, ПараметрыВыбора)"); - ДиалогОткрытияФайла.Показать(Оповещение); - ИначеЕсли ДиалогОткрытияФайла.Выбрать() Тогда - ВыбранныеФайлы = Новый Массив; - ВыбранныеФайлы.Добавить(ДиалогОткрытияФайла.Каталог); - ПослеВыбораФайлаТестов(ВыбранныеФайлы, ПараметрыВыбора); - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура КомандаЗагрузитьТестовыеСлучаи(Команда) - - ПараметрыВыбора = Новый Структура; - ПараметрыВыбора.Вставить("ИмяИстории", Элементы.ИсторияВыбораФайлов.Имя); - ПараметрыВыбора.Вставить("РазвернутьСтроки", Истина); - - Режим = РежимДиалогаВыбораФайла.Открытие; - ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим); - ДиалогОткрытияФайла.МножественныйВыбор = Истина; - ДиалогОткрытияФайла.Фильтр = НСтр("en='External processing form files (*.epf, *.erf)|*.epf; *.erf'; ru='Файлы внешних обработок (*.epf, *.erf)|*.epf; *.erf'"); - ДиалогОткрытияФайла.Заголовок = НСтр("en='Choose an external processing form file'; ru='Выберите файл с внешней обработкой'"); - Если ЕстьПоддержкаАсинхронныхВызовов Тогда - Оповещение = Вычислить("Новый ОписаниеОповещения(""ПослеВыбораФайлаТестов"", ЭтаФорма, ПараметрыВыбора)"); - ДиалогОткрытияФайла.Показать(Оповещение); - ИначеЕсли ДиалогОткрытияФайла.Выбрать() Тогда - ПослеВыбораФайлаТестов(ДиалогОткрытияФайла.ВыбранныеФайлы, ПараметрыВыбора); - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ПослеВыбораФайлаТестов(ВыбранныеФайлы, ПараметрыВыбора) Экспорт - - Если ВыбранныеФайлы = Неопределено Тогда - Возврат; - КонецЕсли; - - Пути.ЗагрузитьЗначения(ВыбранныеФайлы); - - ДобавитьВИсториюКонтекст(ПараметрыВыбора.ИмяИстории, Пути.ВыгрузитьЗначения()); - - ОбновитьНадписьПути(); - LoadAllTests(ПараметрыВыбора.РазвернутьСтроки); - -КонецПроцедуры - -&НаКлиенте -Процедура КомандаЗагрузитьТолькоВыделенныеТесты(Команда) - - Пути.Очистить(); - МассивИдентификаторовСтрок = Элементы.ДеревоТестов.ВыделенныеСтроки; - Для каждого Идентификатор Из МассивИдентификаторовСтрок Цикл - - СтрокаДерева = Объект.ДеревоТестов.НайтиПоИдентификатору(Идентификатор); - Если СтрокаДерева.ТипСтроки = ЗначенияТиповСтроки.ТестовыйМетод Тогда - СтрокаДерева = СтрокаДерева.ПолучитьРодителя(); - КонецЕсли; - - Путь = СтрокаДерева.ПолныйПуть; - Если Пути.НайтиПоЗначению(Путь) = Неопределено Тогда - Пути.Добавить(Путь); - Если СтрокаДерева.ТипСтроки = ЗначенияТиповСтроки.КаталогТестов Тогда - ДобавитьВИсториюКонтекст(Элементы.ИсторияВыбораМест.Имя, Путь); - ИначеЕсли СтрокаДерева.ТипСтроки = ЗначенияТиповСтроки.ТестовыйСлучай - И Не СтрокаДерева.ЭтоВнутренняяОбработка Тогда - ДобавитьВИсториюКонтекст(Элементы.ИсторияВыбораФайлов.Имя, Путь); - КонецЕсли; - КонецЕсли; - - КонецЦикла; - - ОбновитьНадписьПути(); - LoadAllTests(); - -КонецПроцедуры - -&НаКлиенте -Процедура КомандаВыполнитьВыделенныеТесты(Команда) - ВыполнитьВыделенныеТесты(); -КонецПроцедуры - -&НаКлиенте -Процедура КомандаВыполнитьВыделенныеТестыСИсключением(Команда) - Сообщить(НСтр("ru = 'Подключитесь на исключение ""ПередЗапускомТеста""'")); - ВыполнитьВыделенныеТесты(Истина); -КонецПроцедуры - - -&НаКлиенте -Процедура ГенераторМакетовДанных(Команда) - ИмяИнструмента = "xddDataFixtureGen"; - ОткрытьИнструмент(ИмяИнструмента); -КонецПроцедуры - -&НаКлиенте -Процедура ПоказатьГУИД(Команда) - ИмяИнструмента = "xddGuidShow"; - ОткрытьИнструмент(ИмяИнструмента); -КонецПроцедуры - -&НаКлиенте -Процедура ОПроекте(Команда) - Если ЕстьПоддержкаАсинхронныхВызовов Тогда - Оповещение = Вычислить("Новый ОписаниеОповещения(""ОПроектеПослеЗапуска"", ЭтаФорма)"); - Выполнить("НачатьЗапускПриложения(Оповещение, ""https://github.com/xDrivenDevelopment/xUnitFor1C/wiki"")"); - Иначе - ЗапуститьПриложение("https://github.com/xDrivenDevelopment/xUnitFor1C/wiki"); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ОПроектеПослеЗапуска(КодВозврата, ДополнительныеПараметры) - Возврат; -КонецПроцедуры - -&НаКлиенте -Процедура КомандаЗагрузитьТестыИзКонфигурации(Команда) - ЗагрузитьТестыИзКонфигурации(""); -КонецПроцедуры - -&НаКлиенте -Процедура КомандаЗагрузитьТестыИзКонфигурацииПоИмени(Команда) - ЗагрузитьТестыИзКонфигурации("Тест_"); -КонецПроцедуры - -&НаКлиенте -Процедура КомандаРегистрацияПрохожденияТестовВЖР(Команда) - - ИзменитьЗначениеРеквизитаИУстановитьПометкуНаКнопке("РегистрацияПрохожденияТестовВЖР", "КомандаРегистрацияПрохожденияТестовВЖР"); - -КонецПроцедуры - -&НаКлиенте -Процедура КомандаРегистрацияОшибокТестовВЖР(Команда) - - ИзменитьЗначениеРеквизитаИУстановитьПометкуНаКнопке("РегистрацияОшибокТестовВЖР", "КомандаРегистрацияОшибокТестовВЖР"); - -КонецПроцедуры - -&НаКлиенте -Процедура КомандаВыполнятьТестыВСлучайномПорядке(Команда) - ИзменитьЗначениеРеквизитаИУстановитьПометкуНаКнопке("СлучайныйПорядокВыполнения", "КомандаСлучайныйПорядокВыполнения"); -КонецПроцедуры - -&НаКлиенте -Процедура КомандаПерезагрузитьФорму(Команда) - - Закрыть(); - ОткрытьФормуЗапускаТестов(); - -КонецПроцедуры - -&НаКлиенте -Процедура КомандаВключитьРежимОтладки(Команда) - - ИзменитьЗначениеРеквизитаИУстановитьПометкуНаКнопке("РежимОтладки", "КомандаВключитьРежимОтладки"); - Закрыть(); - - ОткрытьФормуЗапускаТестов(); - -КонецПроцедуры - -&НаКлиенте -Процедура ОткрытьФормуЗапускаТестов(НастройкиФормы = Неопределено) - - Если Не ЭтоВстроеннаяОбработка Тогда - ИмяОбработки = ПодключитьНаСервереВнешнююОбработкуОтКлиента(ИспользуемоеИмяФайла, Неопределено); - КонецЕсли; - - Форма = ПолучитьФорму(ЭтаФорма.ИмяФормы, НастройкиФормы,, Истина); - Форма.ИспользуемоеИмяФайла = ИспользуемоеИмяФайла; - Форма.Открыть(); - -КонецПроцедуры - -&НаКлиенте -Процедура Подключаемый_КомандаЗагрузитьТестыИзИстории(Команда) - - ИмяИстории = Элементы[Команда.Имя].Родитель.Имя; - ПунктИстории = Число(СтрЗаменить(Команда.Имя, ИмяИстории, "")); - Пути.Очистить(); - Пути.Добавить(ЭтаФорма[ИмяИстории].Получить(ПунктИстории).Значение); - - ДобавитьВИсториюКонтекст(ИмяИстории, Пути.ВыгрузитьЗначения()); - - ОбновитьНадписьПути(); - LoadAllTests(); - -КонецПроцедуры - -&НаКлиенте -Процедура ПоказатьОшибки(Команда) - - МассивИдентификаторовСтрок = Элементы.ДеревоТестов.ВыделенныеСтроки; - НовыйМассивИдентификаторовСтрок = ПолучитьТолькоТестовыеМетодыИзДерева(МассивИдентификаторовСтрок); - СписокОшибок = Новый СписокЗначений; - Для Каждого Идентификатор Из НовыйМассивИдентификаторовСтрок Цикл - ТестовыйСлучай = Объект.ДеревоТестов.НайтиПоИдентификатору(Идентификатор); - Для Каждого ЭлементСписка Из ТестовыйСлучай.СписокОшибок Цикл - СписокОшибок.Добавить(ЭлементСписка.Значение); - КонецЦикла; - КонецЦикла; - - ВсегоТестов = СписокОшибок.Количество(); - ОбработатьОтчетТестирования(ТекущаяДата()); - -КонецПроцедуры - -//#КонецОбласти - - - -//////////////////////////////////////////////////////////////////////////////// -// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ - -//#Область СлужебныеПроцедурыИФункции - -//////////////////////////////////////////////////////////////////////////////// -// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ ДЛЯ ЗАГРУЗКИ ВЫПОЛНЕНИЯ ТЕСТОВ - -//#Область СлужебныеПроцедурыИФункцииЗагрузкиВыполненияТестов - -&НаСервере -Функция Объект() Экспорт - ОбъектНаСервере = Неопределено; - Если ЭтоАдресВременногоХранилища(АдресОбъектаНаСервере) Тогда - КэшОбъекта = ПолучитьИзВременногоХранилища(АдресОбъектаНаСервере); - Если ТипЗнч(КэшОбъекта) = Тип("Структура") Тогда - КэшОбъекта.Свойство("Объект", ОбъектНаСервере); - КонецЕсли; - КонецЕсли; - - Если ОбъектНаСервере = Неопределено Тогда - ОбъектНаСервере = РеквизитФормыВЗначение("Объект"); - АдресОбъектаНаСервере = ПоместитьВоВременноеХранилище(Новый Структура("Объект", ОбъектНаСервере), УникальныйИдентификатор); - КонецЕсли; - - Возврат ОбъектНаСервере; -КонецФункции - -&НаСервере -Функция ВерсияСервер() - Возврат Объект().Версия(); -КонецФункции - -//#Область ВнешнееAPI - -// { ВНЕШНЕЕ API - -// Процедура загружает тесты из внешних файлов и из тестируемой конфигурации -// -// Параметры: -// Нет -&НаКлиенте -Процедура LoadAllTests(РазвернутьСтроки = Ложь, ОповеститьПослеЗагрузки = Неопределено) Экспорт - ИнициализироватьИндикаторВыполнения(); - - Объект.ДеревоТестов.ПолучитьЭлементы().Очистить(); - ОчередьЗагрузки.Очистить(); - - ДополнительныеПараметры = Новый Структура; - ДополнительныеПараметры.Вставить("Родитель", Объект.ДеревоТестов); - ДополнительныеПараметры.Вставить("РазвернутьСтроки", РазвернутьСтроки); - Если ОповеститьПослеЗагрузки <> Неопределено Тогда - ДополнительныеПараметры.Вставить("ОповеститьПослеЗагрузки", ОповеститьПослеЗагрузки); - КонецЕсли; - - ВерхняяГраница = Пути.Количество() - 1; - Для Индекс = 0 По ВерхняяГраница Цикл - - ОбработкаПрерыванияПользователя(); - - ПутьКТесту = Пути[Индекс].Значение; - ДополнительныеПараметры.Вставить("ПоследнийПуть", Индекс = ВерхняяГраница); - Если Найти(ВРег(ПутьКТесту), "МЕТАДАННЫЕ.") = 1 Тогда - ЗагрузитьТестыКонфигурации(ПутьКТесту, ДополнительныеПараметры); - Иначе - ДополнительныеПараметры.Вставить("Путь", ПутьКТесту); - ДополнительныеПараметры.Вставить("СообщитьОбОтсутствииФайлов", Истина); - Если ЕстьПоддержкаАсинхронныхВызовов Тогда - Оповещение = Вычислить("Новый ОписаниеОповещения(""ЗагрузитьТестыПослеПоискаФайлов"", ЭтаФорма, ДополнительныеПараметры)"); - Выполнить("НачатьПоискФайлов(Оповещение, ПутьКТесту);"); - Иначе - НайденныеФайлы = НайтиФайлы(ПутьКТесту); - ЗагрузитьТестыПослеПоискаФайлов(НайденныеФайлы, ДополнительныеПараметры); - КонецЕсли; - КонецЕсли; - - КонецЦикла; - -КонецПроцедуры - -&НаКлиенте -Функция RunAllTests() Экспорт - - МассивИдентификаторовСтрок = Новый Массив(); - Для каждого ЭлементДерева Из Объект.ДеревоТестов.ПолучитьЭлементы() Цикл - МассивИдентификаторовСтрок.Добавить(ЭлементДерева.ПолучитьИдентификатор()); - КонецЦикла; - - Возврат _ВыполнитьВыбранныеТесты(МассивИдентификаторовСтрок); - -КонецФункции - -&НаКлиенте -Функция OpenBrowserForm() Экспорт - ЭтаФорма.Открыть(); -КонецФункции - -&НаКлиенте -Функция SetHandlerObject(obj) Экспорт - MiddleMan = obj; -КонецФункции - -// } - -//#КонецОбласти - -&НаКлиенте -Процедура ЗагрузитьТесты(ОбъектФайл, ПараметрыЗагрузки) - - ЭтоФайл = (ТипЗнч(ОбъектФайл) = Тип("Файл")); - - ДополнительныеПараметры = СкопироватьСтруктуру(ПараметрыЗагрузки); - ДополнительныеПараметры.Вставить("ОбъектФайл", ОбъектФайл); - - Если ЭтоФайл Тогда - Если ЕстьПоддержкаАсинхронныхВызовов Тогда - Оповещение = Вычислить("Новый ОписаниеОповещения(""ЗагрузитьТестыПослеПроверкиЭтоКаталог"", ЭтаФорма, ДополнительныеПараметры)"); - ОбъектФайл.НачатьПроверкуЭтоКаталог(Оповещение); - Иначе - ЭтоКаталог = ОбъектФайл.ЭтоКаталог(); - ЗагрузитьТестыПослеПроверкиЭтоКаталог(ЭтоКаталог, ДополнительныеПараметры); - КонецЕсли; - ИначеЕсли ТипЗнч(ОбъектФайл) = Тип("Структура") Тогда - ЭтоКаталог = ОбъектФайл.ТипСтроки = ЗначенияТиповСтроки.КаталогТестов; - ОбъектФайл.Вставить("Расширение", ".epf"); - ЗагрузитьТестыПослеПроверкиЭтоКаталог(ЭтоКаталог, ДополнительныеПараметры); - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ЗагрузитьТестыПослеПроверкиЭтоКаталог(ЭтоКаталог, ПараметрыЗагрузки) Экспорт - - РодительскаяСтрока = ПараметрыЗагрузки.Родитель; - ОбъектФайл = ПараметрыЗагрузки.ОбъектФайл; - ЭтоФайл = (ТипЗнч(ОбъектФайл) = Тип("Файл")); - - GUID = Строка(Новый УникальныйИдентификатор); - Если ЭтоКаталог Тогда - Если ОбъектФайл.Имя = ".git" Тогда // ОбъектФайл.ПолучитьНевидимость() и - ОчередьЗагрузки.Удалить(ОчередьЗагрузки.НайтиПоЗначению(ОбъектФайл.ПолноеИмя)); - Иначе - ПараметрыСтроки = ПолучитьПустуюСтруктуруПараметровСтроки(); - ПараметрыСтроки.Вставить("Имя", ОбъектФайл.Имя); - ПараметрыСтроки.Вставить("_GUID", GUID); - ПараметрыСтроки.Вставить("ТипСтроки", ?(ЭтоФайл, ЗначенияТиповСтроки.КаталогТестов, ЗначенияТиповСтроки.Подсистема)); - ПараметрыСтроки.Вставить("ПолныйПуть", ОбъектФайл.ПолноеИмя); - - СтрокаКаталога = ДобавитьСтрокуДереваТестов(РодительскаяСтрока, ПараметрыСтроки); //TODO Развернуть, нужно ли тут оповещение ОповеститьОСобытии("TestLoaded", СтрокаТеста);? - - ДополнительныеПараметры = СкопироватьСтруктуру(ПараметрыЗагрузки,, "ОбъектФайл, Родитель, Путь, СообщитьОбОтсутствииФайлов"); - ДополнительныеПараметры.Вставить("Родитель", СтрокаКаталога); - ДополнительныеПараметры.Вставить("СообщитьОбОтсутствииФайлов", Ложь); - Если ЭтоФайл Тогда - Если ЕстьПоддержкаАсинхронныхВызовов Тогда - Оповещение = Вычислить("Новый ОписаниеОповещения(""ЗагрузитьТестыПослеПоискаФайлов"", ЭтаФорма, ДополнительныеПараметры)"); - Выполнить("НачатьПоискФайлов(Оповещение, ОбъектФайл.ПолноеИмя, ""*"", Ложь);"); - Иначе - НайденныеФайлы = НайтиФайлы(ОбъектФайл.ПолноеИмя, "*", Ложь); - ЗагрузитьТестыПослеПоискаФайлов(НайденныеФайлы, ДополнительныеПараметры); - КонецЕсли; - Иначе - НайденныеФайлы = ОбъектФайл.Строки; - ЗагрузитьТестыПослеПоискаФайлов(НайденныеФайлы, ДополнительныеПараметры); - КонецЕсли; - КонецЕсли; - Иначе - Если ОбъектФайл.Расширение = ".epf" ИЛИ ОбъектФайл.Расширение = ".erf" Тогда - ДополнительныеПараметры = Новый Структура; - ДополнительныеПараметры.Вставить("GUID", GUID); - ДополнительныеПараметры.Вставить("Расширение", ОбъектФайл.Расширение); - ДополнительныеПараметры.Вставить("ВнешнийФайл", ЭтоФайл); - ДополнительныеПараметры.Вставить("ИмяБезРасширения", ОбъектФайл.ИмяБезРасширения); - ДополнительныеПараметры.Вставить("РежимОтладки", Объект.РежимОтладки); - - Если ТипЗнч(РодительскаяСтрока) <> Тип("ДанныеФормыДерево") Тогда - ДополнительныеПараметры.Вставить("Идентификатор", РодительскаяСтрока.ПолучитьИдентификатор()); - КонецЕсли; - - Если ЭтоФайл Тогда - Если ЕстьПоддержкаНемодальныхФорм Тогда - Оповещение = Вычислить("Новый ОписаниеОповещения(""ВыполнитьПодключениеОбъектаНаКлиенте"", ЭтаФорма, ДополнительныеПараметры)"); - Выполнить("НачатьПомещениеФайла(Оповещение,, ОбъектФайл.ПолноеИмя, Ложь, УникальныйИдентификатор);"); - Иначе - АдресХранилища = ""; - ПоместитьФайл(АдресХранилища, ОбъектФайл.ПолноеИмя, , Ложь, УникальныйИдентификатор); - ВыполнитьПодключениеОбъектаНаКлиенте(Неопределено, АдресХранилища, ОбъектФайл.ПолноеИмя, ДополнительныеПараметры); - КонецЕсли; - Иначе - ВыполнитьПодключениеОбъектаНаКлиенте(Неопределено, ОбъектФайл.Имя, ОбъектФайл.ПолноеИмя, ДополнительныеПараметры); - КонецЕсли; - КонецЕсли; - ОчередьЗагрузки.Удалить(ОчередьЗагрузки.НайтиПоЗначению(ОбъектФайл.ПолноеИмя)); - КонецЕсли; - - ВыполнитьДействияПослеЗагрузкиТестов(ПараметрыЗагрузки); - -КонецПроцедуры - -&НаКлиенте -Процедура ЗагрузитьТестыПослеПоискаФайлов(НайденныеФайлы, ПараметрыЗагрузки) Экспорт - - Если НайденныеФайлы.Количество() = 0 Тогда - Если ПараметрыЗагрузки.СообщитьОбОтсутствииФайлов Тогда - ТекстСообщения = НСтр("en='File or directory does not exist ""%Путь%""'; ru='Файл или каталог не существует ""%Путь%""'"); - ТекстСообщения = СтрЗаменить(ТекстСообщения, "%Путь%", ПараметрыЗагрузки.Путь); - ВывестиОшибку(ТекстСообщения); - КонецЕсли; - Если ТипЗнч(ПараметрыЗагрузки.Родитель) = Тип("ДанныеФормыДерево") Тогда - ВыполнитьДействияПослеЗагрузкиТестов(ПараметрыЗагрузки); - КонецЕсли; - Иначе - - Для Каждого Файл Из НайденныеФайлы Цикл - ОбработкаПрерыванияПользователя(); - ОчередьЗагрузки.Добавить(Файл.ПолноеИмя); - ЗагрузитьТесты(Файл, ПараметрыЗагрузки); - КонецЦикла; - - КонецЕсли; - - Если ТипЗнч(ПараметрыЗагрузки.Родитель) = Тип("ДанныеФормыЭлементДерева") Тогда - ОчередьЗагрузки.Удалить(ОчередьЗагрузки.НайтиПоЗначению(ПараметрыЗагрузки.Родитель.ПолныйПуть)); - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ВыполнитьДействияПослеЗагрузкиТестов(ПараметрыЗагрузки) - - Если ПараметрыЗагрузки.ПоследнийПуть И ОчередьЗагрузки.Количество() = 0 Тогда - УдалитьПустыеСтрокиКаталогов(Объект.ДеревоТестов.ПолучитьЭлементы()); - Если Объект.ДеревоТестов.ПолучитьЭлементы().Количество() > 0 Тогда - УпорядочитьСтрокиДереваТестов(); - ПосчитатьКоличествоТестовыхСлучаевПоВсемуДеревуТестов(Объект.ДеревоТестов); - РазвернутьСтрокиДерева(ПараметрыЗагрузки.РазвернутьСтроки); - КонецЕсли; - Если ПараметрыЗагрузки.Свойство("ОповеститьПослеЗагрузки") Тогда - Выполнить("ВыполнитьОбработкуОповещения(ПараметрыЗагрузки.ОповеститьПослеЗагрузки);"); - КонецЕсли; - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ЗагрузитьТестыИзКонфигурации(ОтборПоИмениТеста) - - ПараметрыОткрытия = Новый Структура("ОтборПоИмениТеста, РежимОткрытияОкна ", ОтборПоИмениТеста, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); - ИмяФормыВыбораПодсистемыУФ = СтрЗаменить(ЭтаФорма.ИмяФормы, "УправляемаяФорма", "ФормаВыбораПодсистемУФ"); - ОткрытьФорму(ИмяФормыВыбораПодсистемыУФ, ПараметрыОткрытия, ЭтаФорма); - -КонецПроцедуры - -&НаКлиенте -Функция ЗагрузитьТестыКонфигурации(Путь, ДополнительныеПараметры) Экспорт - - КоллекцияВстроенныхТестов = Новый Массив; - КоллекцияВстроенныхТестовСервер(КоллекцияВстроенныхТестов, Путь); - - ДополнительныеПараметры.Вставить("СообщитьОбОтсутствииФайлов", Ложь); - ЗагрузитьТестыПослеПоискаФайлов(КоллекцияВстроенныхТестов, ДополнительныеПараметры); - -КонецФункции - -&НаСервере -Функция КоллекцияВстроенныхТестовСервер(КоллекцияВстроенныхТестовСервер, Путь) - - ОсновнойОбъект = Объект(); - - ДеревоВстроенныхТестов = Новый ДеревоЗначений; - ДеревоВстроенныхТестов.Колонки.Добавить("Имя"); - ДеревоВстроенныхТестов.Колонки.Добавить("ИмяБезРасширения"); - ДеревоВстроенныхТестов.Колонки.Добавить("ПолноеИмя"); - ДеревоВстроенныхТестов.Колонки.Добавить("ТипСтроки"); - - ОбъектМетаданных = ОсновнойОбъект.ПолучитьОбъектМетаданныхПоПути(Путь); - Если ОбъектМетаданных<>Неопределено Тогда - Если ВРег(Лев(ОбъектМетаданных.ПолноеИмя(),11)) = "ПОДСИСТЕМА." Тогда - ДобавитьИменаТестовПодсистемы(ДеревоВстроенныхТестов, ОбъектМетаданных); - Иначе - ДобавитьИмяВстроенногоТестовогоСлучая(ДеревоВстроенныхТестов, ОбъектМетаданных); - КонецЕсли; - - ВыгрузитьИменаТестовИзДереваВСписокЗначений(ДеревоВстроенныхТестов.Строки, КоллекцияВстроенныхТестовСервер); - КонецЕсли; - -КонецФункции - -&НаСервере -Функция ДобавитьИменаТестовПодсистемы(СтрокаДерева, МетаПодсистема) Экспорт - - СтрокаТеста = СтрокаДерева.Строки.Добавить(); - СтрокаТеста.Имя = МетаПодсистема.Имя; - СтрокаТеста.ПолноеИмя = СтрЗаменить("Метаданные." + МетаПодсистема.ПолноеИмя(), ".Подсистема.", ".Подсистемы."); - СтрокаТеста.ТипСтроки = ЗначенияТиповСтроки.КаталогТестов; - - Для каждого МетаПодчиненнаяПодсистема из МетаПодсистема.Подсистемы цикл - ДобавитьИменаТестовПодсистемы(СтрокаТеста, МетаПодчиненнаяПодсистема); - КонецЦикла; - - Для каждого МетаОбработка из МетаПодсистема.Состав цикл - ДобавитьИмяВстроенногоТестовогоСлучая(СтрокаТеста, МетаОбработка); - КонецЦикла; - -КонецФункции - -&НаСервере -Функция ДобавитьИмяВстроенногоТестовогоСлучая(СтрокаДерева, МетаОбработка) - Если Метаданные.Обработки.Найти(МетаОбработка.Имя) = Неопределено Тогда - Возврат Ложь; - КонецЕсли; - - НоваяСтрока = СтрокаДерева.Строки.Добавить(); - НоваяСтрока.Имя = МетаОбработка.Имя; - НоваяСтрока.ИмяБезРасширения = МетаОбработка.Имя; - НоваяСтрока.ПолноеИмя = СтрЗаменить("Метаданные." + МетаОбработка.ПолноеИмя(), ".Обработка.", ".Обработки."); - НоваяСтрока.ТипСтроки = ЗначенияТиповСтроки.ТестовыйСлучай; - Возврат Истина; -КонецФункции - -&НаСервере -Процедура ВыгрузитьИменаТестовИзДереваВСписокЗначений(СтрокиДереваВстроенныхТестов, КоллекцияВстроенныхТестов) - Для каждого Строка Из СтрокиДереваВстроенныхТестов Цикл - НоваяКоллекция = Новый Массив; - ЭлементКоллекции = Новый Структура("Имя,ИмяБезРасширения,ПолноеИмя,ТипСтроки,Строки"); - ЭлементКоллекции.Имя = Строка.Имя; - ЭлементКоллекции.ИмяБезРасширения = Строка.ИмяБезРасширения; - ЭлементКоллекции.ПолноеИмя = Строка.ПолноеИмя; - ЭлементКоллекции.ТипСтроки = Строка.ТипСтроки; - ЭлементКоллекции.Строки = НоваяКоллекция; - КоллекцияВстроенныхТестов.Добавить(ЭлементКоллекции); - Если Строка.Строки.Количество() > 0 Тогда - ВыгрузитьИменаТестовИзДереваВСписокЗначений(Строка.Строки, НоваяКоллекция); - КонецЕсли; - КонецЦикла; -КонецПроцедуры - - -&НаКлиенте -Процедура ВыполнитьПодключениеОбъектаНаКлиенте(Результат, АдресХранилища, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт - - Перем GUID; - Если ТипЗнч(ДополнительныеПараметры) = Тип("Структура") Тогда - ДополнительныеПараметры.Свойство("GUID", GUID); - КонецЕсли; - - Идентификатор = ВыполнитьПодключениеОбъектаНаСервере(АдресХранилища, ВыбранноеИмяФайла, ДополнительныеПараметры); - Для каждого Оповещение Из ОчередьОповещений Цикл - СтрокаТеста = Объект.ДеревоТестов.НайтиПоИдентификатору(Оповещение.Значение); - Если СтрокаТеста <> Неопределено Тогда - ОповеститьОСобытии("TestLoaded", СтрокаТеста); - КонецЕсли; - КонецЦикла; - ОчередьОповещений.Очистить(); - - Если Идентификатор <> Неопределено Тогда - - СтрокаКаталога = Объект.ДеревоТестов.НайтиПоИдентификатору(Идентификатор); - - РезультатПоиска = ТаблицаИменаФорм.НайтиСтроки(Новый Структура("GUID, ОсновнаяФорма", GUID, Истина)); - Если РезультатПоиска.Количество() Тогда - ЗагрузитьСписокТестовыхФормИзОсновнойФормыОбъекта(ЭтаФорма, СтрокаКаталога, РезультатПоиска[0], ДополнительныеПараметры); - КонецЕсли; - - РезультатПоиска = ТаблицаИменаФорм.НайтиСтроки(Новый Структура("GUID", GUID)); - Для Каждого ЭлементПоиска Из РезультатПоиска Цикл - ЗагрузитьТестыИзФормыОбъекта(ЭтаФорма, СтрокаКаталога, ЭлементПоиска, ДополнительныеПараметры); - КонецЦикла; - - УдалитьПустуюСтрокуДерева(СтрокаКаталога, СтрокаКаталога.ПолучитьРодителя()); - - КонецЕсли; - -КонецПроцедуры - -&НаСервере -Функция ВыполнитьПодключениеОбъектаНаСервере(АдресХранилища, ВыбранноеИмяФайла, ДополнительныеПараметры) - - Перем GUID, Расширение, ЭтоВнешнийФайл, ИмяБезРасширения, Идентификатор, РежимОтладки, ПолныйПуть; - РежимОтладки = Ложь; - - ЮнитОбъект = Объект(); - Если ТипЗнч(ДополнительныеПараметры) = Тип("Структура") Тогда - ДополнительныеПараметры.Свойство("GUID", GUID); - ДополнительныеПараметры.Свойство("Расширение", Расширение); - ДополнительныеПараметры.Свойство("ВнешнийФайл", ЭтоВнешнийФайл); - ДополнительныеПараметры.Свойство("ИмяБезРасширения", ИмяБезРасширения); - ДополнительныеПараметры.Свойство("Идентификатор", Идентификатор); - ДополнительныеПараметры.Свойство("РежимОтладки", РежимОтладки); - КонецЕсли; - - Если Расширение = ".epf" Тогда - МенеджерВстроенногоОбъекта = Обработки; - МенеджерВнешнегоОбъекта = ВнешниеОбработки; - ИначеЕсли Расширение = ".erf" Тогда - МенеджерВстроенногоОбъекта = Отчеты; - МенеджерВнешнегоОбъекта = ВнешниеОтчеты; - КонецЕсли; - - Попытка - Если ЭтоВнешнийФайл Тогда - Если РежимОтладки = Истина Тогда - Файл = Новый Файл(ВыбранноеИмяФайла); - //Это файловый вариант или обработка доступна с сервера - Если Файл.Существует() Тогда - ВнешнийОбъект = ВнешниеОбработки.Создать(ВыбранноеИмяФайла); - Иначе - ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресХранилища); - ВременноеИмяФайла = ПолучитьИмяВременногоФайла(Прав(Расширение,3)); - ДвоичныеДанные.Записать(ВременноеИмяФайла); - ВнешнийОбъект = ВнешниеОбработки.Создать(ВременноеИмяФайла); - КонецЕсли; - ИмяОбъекта = МенеджерВнешнегоОбъекта.Подключить(АдресХранилища, ,РежимОтладки); - - Попытка - //УдалитьФайлы(ВременноеИмяФайла); - Исключение - КонецПопытки; - - Иначе - - ИмяОбъекта = МенеджерВнешнегоОбъекта.Подключить(АдресХранилища, GUID, Ложь); - ВнешнийОбъект = МенеджерВнешнегоОбъекта.Создать(GUID); - КонецЕсли; - - Иначе - ИмяОбъекта = АдресХранилища; - ВнешнийОбъект = МенеджерВстроенногоОбъекта[ИмяОбъекта].Создать(); - КонецЕсли; - Исключение - ТекстОшибки = ОписаниеОшибки(); - ТекстСообщения = НСтр("ru='ОШИБКА загрузки тестов: %ТекстОшибки%, %ВыбранноеИмяФайла%'; en='Error loading testcases: %ТекстОшибки%, %ВыбранноеИмяФайла%'"); - ТекстСообщения = СтрЗаменить(ТекстСообщения, "%ТекстОшибки%", ТекстОшибки); - ТекстСообщения = СтрЗаменить(ТекстСообщения, "%ВыбранноеИмяФайла%", ВыбранноеИмяФайла); - ЮнитОбъект.ВывестиСообщение(ТекстСообщения); - Возврат Неопределено; - КонецПопытки; - - ПараметрыСтроки = ПолучитьПустуюСтруктуруПараметровСтроки(); - ПараметрыСтроки.Вставить("Имя", ИмяБезРасширения); - ПараметрыСтроки.Вставить("_GUID", GUID); - ПараметрыСтроки.Вставить("ТипСтроки", ЗначенияТиповСтроки.ТестовыйСлучай); - ПараметрыСтроки.Вставить("ПолныйПуть", ВыбранноеИмяФайла); - ПараметрыСтроки.Вставить("ЭтоВнутренняяОбработка", НЕ ЭтоВнешнийФайл); - ПараметрыСтроки.Вставить("ТестовыйСлучайОбъектМетаданныхИмя", ВнешнийОбъект.Метаданные().Имя); - Если Идентификатор = Неопределено Тогда - НоваяСтрока = ДобавитьСтрокуДереваТестов(Объект.ДеревоТестов, ПараметрыСтроки); //TODO Развернуть, нужно ли тут оповещение ОповеститьОСобытии("TestLoaded", СтрокаТеста);? - Иначе - НоваяСтрока = ДобавитьСтрокуДереваТестов(Объект.ДеревоТестов.НайтиПоИдентификатору(Идентификатор), ПараметрыСтроки); //TODO Развернуть, нужно ли тут оповещение ОповеститьОСобытии("TestLoaded", СтрокаТеста);? - КонецЕсли; - - ЗагрузитьСписокТестовыхФормИзМодуляОбъекта(ЮнитОбъект, НоваяСтрока, ВнешнийОбъект, ДополнительныеПараметры); - ЗагрузитьТестыИзМодуляОбъекта(ЮнитОбъект, НоваяСтрока, ВнешнийОбъект); - - Возврат НоваяСтрока.ПолучитьИдентификатор(); - -КонецФункции - -&НаКлиенте -Процедура ЗагрузитьТестыИзФормыОбъекта(ЮнитОбъект, Родитель, ВнешнийОбъект, ДополнительныеПараметры) - - Попытка - ИмяФормыОбъекта = ПолучитьИмяФормыОбъекта(ВнешнийОбъект, ДополнительныеПараметры); - ВнешняяФорма = ПолучитьФорму(ИмяФормыОбъекта, Новый Структура("АвтоТест"), ЭтаФорма); - Исключение - - ТекстОшибки = ОписаниеОшибки(); - ТекстСообщения = НСтр("ru='ОШИБКА загрузки тестов: %ТекстОшибки%'; en='Error loading testcases: %ТекстОшибки%'"); - ТекстСообщения = СтрЗаменить(ТекстСообщения, "%ТекстОшибки%", ТекстОшибки); - ЮнитОбъект.ВывестиСообщение(ТекстСообщения); - Возврат; - - КонецПопытки; - - - Попытка - МассивТестовыхМетодов = ВнешняяФорма.ПолучитьСписокТестов(ЮнитОбъект); - Исключение - - ЕстьОшибка_МетодОбъектаНеОбнаружен = ЕстьОшибка_МетодОбъектаНеОбнаружен(ИнформацияОбОшибке().Описание, "ПолучитьСписокТестов"); - Если НЕ ЕстьОшибка_МетодОбъектаНеОбнаружен Тогда - ТекстОшибки = НСтр("ru = 'Не удалось загрузить список тестов из упр.формы: %2 - | Ошибка получения списка тестовых случаев: %1'"); - ТекстОшибки = СтрЗаменить(ТекстОшибки, "%1", ОписаниеОшибки()); - ТекстОшибки = СтрЗаменить(ТекстОшибки, "%2", Родитель.ПолныйПуть); - ЮнитОбъект.ВывестиОшибку(ТекстОшибки); - КонецЕсли; - - Возврат; - - КонецПопытки; - - ИмяМетодаРазрешенСлучайныйПорядокВыполненияТестов = "РазрешенСлучайныйПорядокВыполненияТестов"; - Попытка - РазрешенСлучайныйПорядокВыполнения = ВнешняяФорма.РазрешенСлучайныйПорядокВыполненияТестов(); - Исключение - - ЕстьОшибка_МетодОбъектаНеОбнаружен = ЕстьОшибка_МетодОбъектаНеОбнаружен(ИнформацияОбОшибке().Описание, ИмяМетодаРазрешенСлучайныйПорядокВыполненияТестов); - Если НЕ ЕстьОшибка_МетодОбъектаНеОбнаружен Тогда - ТекстОшибки = НСтр("ru = 'Набор тестов из упр.формы не загружен: %3 - | Ошибка вызова метода %1 из теста: %2'"); - ТекстОшибки = СтрЗаменить(ТекстОшибки, "%1", ИмяМетодаРазрешенСлучайныйПорядокВыполненияТестов); - ТекстОшибки = СтрЗаменить(ТекстОшибки, "%2", ОписаниеОшибки()); - ТекстОшибки = СтрЗаменить(ТекстОшибки, "%3", Родитель.ПолныйПуть); - ЮнитОбъект.ВывестиОшибку(ТекстОшибки); - Возврат; - КонецЕсли; - РазрешенСлучайныйПорядокВыполнения = Истина; - КонецПопытки; - - Для каждого ЭлементМассива Из МассивТестовыхМетодов Цикл - - ПараметрыСтроки = ПолучитьСтруктуруПараметровСтроки( - ЭлементМассива, - Родитель.Имя, - Родитель.ПолныйПуть, - ВнешнийОбъект.ИмяОбъекта, - ЗначениеМодульИлиФорма.Форма, - Родитель.ЭтоВнутренняяОбработка, - РазрешенСлучайныйПорядокВыполнения, - ВнешнийОбъект.ИмяФормы); - - СтрокаТеста = Родитель.ПолучитьЭлементы().Добавить(); - ЗаполнитьЗначенияСвойств(СтрокаТеста, ПараметрыСтроки); - - ОповеститьОСобытии("TestLoaded", СтрокаТеста); - - КонецЦикла; - -КонецПроцедуры - -&НаКлиенте -Процедура ЗагрузитьСписокТестовыхФормИзОсновнойФормыОбъекта(ЮнитОбъект, Родитель, ВнешнийОбъект, ДополнительныеПараметры) - - Перем GUID; - - МассивТестовыхФорм = Новый Массив; - Если ТипЗнч(ДополнительныеПараметры) = Тип("Структура") Тогда - ДополнительныеПараметры.Свойство("GUID", GUID); - КонецЕсли; - - Попытка - ИмяФормыОбъекта = ПолучитьИмяФормыОбъекта(ВнешнийОбъект, ДополнительныеПараметры); - ВнешняяФорма = ПолучитьФорму(ИмяФормыОбъекта, Новый Структура("АвтоТест"), ЭтаФорма); - Исключение - - ТекстОшибки = ОписаниеОшибки(); - ТекстСообщения = НСтр("ru='ОШИБКА загрузки тестовых форм из основной формы объекта: %ТекстОшибки%'; en='Error loading testforms from main object form: %ТекстОшибки%'"); - ТекстСообщения = СтрЗаменить(ТекстСообщения, "%ТекстОшибки%", ТекстОшибки); - ЮнитОбъект.ВывестиСообщение(ТекстСообщения); - Возврат; - - КонецПопытки; - - Попытка - - МассивТестовыхФорм = ВнешняяФорма.ПолучитьСписокТестовыхФорм(); - - ПараметрыОтбора = Новый Структура("GUID, ОсновнаяФорма", GUID, Ложь); - РезультатОтбора = ТаблицаИменаФорм.НайтиСтроки(ПараметрыОтбора); - Для Каждого ЭлементОтбора Из РезультатОтбора Цикл - ТаблицаИменаФорм.Удалить(ЭлементОтбора); - КонецЦикла; - - Для Каждого ИмяТестовойФормы Из МассивТестовыхФорм Цикл - Если ИмяТестовойФормы <> ВнешнийОбъект.ИмяФормы Тогда - НоваяЗапись = ТаблицаИменаФорм.Добавить(); - НоваяЗапись.GUID = GUID; - НоваяЗапись.ИмяФормы = ИмяТестовойФормы; - НоваяЗапись.ИмяОбъекта = ВнешнийОбъект.ИмяОбъекта; - НоваяЗапись.ОсновнаяФорма = Ложь; - КонецЕсли; - КонецЦикла; - - Исключение - - ЕстьОшибка_МетодОбъектаНеОбнаружен = ЕстьОшибка_МетодОбъектаНеОбнаружен(ИнформацияОбОшибке().Описание, "ПолучитьСписокТестовыхФорм"); - Если НЕ ЕстьОшибка_МетодОбъектаНеОбнаружен Тогда - ТекстОшибки = НСтр("ru = 'Не удалось загрузить список тестовых форм объекта: - | Ошибка получения списка тестовых форм: %1'"); - ЮнитОбъект.ВывестиОшибку(СтрЗаменить(ТекстОшибки, "%1", ОписаниеОшибки())); - Родитель.Состояние = ЗначенияСостоянияТестов.Сломался; // TODO: нужно ли отображение, что при получении списка форм вывалилась ошибка? - КонецЕсли; - - КонецПопытки; - -КонецПроцедуры - - -&НаСервере -Процедура ЗагрузитьТестыИзМодуляОбъекта(ЮнитОбъект, Родитель, ВнешнийОбъект) - - Попытка - МассивТестовыхМетодов = ВнешнийОбъект.ПолучитьСписокТестов(ЮнитОбъект); - Исключение - - ЕстьОшибка_МетодОбъектаНеОбнаружен = ЕстьОшибка_МетодОбъектаНеОбнаружен(ИнформацияОбОшибке().Описание, "ПолучитьСписокТестов"); - Если НЕ ЕстьОшибка_МетодОбъектаНеОбнаружен Тогда - ТекстОшибки = НСтр("ru = 'Не удалось загрузить список тестов для модуля объекта: %2 - | Ошибка получения списка тестовых случаев: %1'"); - ТекстОшибки = СтрЗаменить(ТекстОшибки, "%1", ОписаниеОшибки()); - ТекстОшибки = СтрЗаменить(ТекстОшибки, "%2", Родитель.ПолныйПуть); - ЮнитОбъект.ВывестиОшибку(ТекстОшибки); - - Родитель.Состояние = ЗначенияСостоянияТестов.Сломался; - КонецЕсли; - - Возврат; - - КонецПопытки; - - МетаданныеИмя = ВнешнийОбъект.Метаданные().Имя; - - ИмяМетодаРазрешенСлучайныйПорядокВыполненияТестов = "РазрешенСлучайныйПорядокВыполненияТестов"; - Попытка - РазрешенСлучайныйПорядокВыполнения = ЮнитОбъект.РазрешенСлучайныйПорядокВыполненияТестов(ВнешнийОбъект, МетаданныеИмя); - Исключение - ТекстОшибки = НСтр("ru = 'Не удалось загрузить список тестов для модуля объекта: %3 - | Ошибка выполнения метода %1: %2'"); - ТекстОшибки = СтрЗаменить(ТекстОшибки, "%1", ИмяМетодаРазрешенСлучайныйПорядокВыполненияТестов); - ТекстОшибки = СтрЗаменить(ТекстОшибки, "%2", ОписаниеОшибки()); - ТекстОшибки = СтрЗаменить(ТекстОшибки, "%3", Родитель.ПолныйПуть); - ЮнитОбъект.ВывестиОшибку(ТекстОшибки); - Родитель.Состояние = ЗначенияСостоянияТестов.Сломался; - РазрешенСлучайныйПорядокВыполнения = Истина; - КонецПопытки; - - Для каждого ЭлементМассива Из МассивТестовыхМетодов Цикл - - ПараметрыСтроки = ПолучитьСтруктуруПараметровСтроки( - ЭлементМассива, - Родитель.Имя, - Родитель.ПолныйПуть, - МетаданныеИмя, - ЗначениеМодульИлиФорма.Модуль, - Родитель.ЭтоВнутренняяОбработка, - РазрешенСлучайныйПорядокВыполнения); - - СтрокаТеста = Родитель.ПолучитьЭлементы().Добавить(); - ЗаполнитьЗначенияСвойств(СтрокаТеста, ПараметрыСтроки); - - ОчередьОповещений.Добавить(СтрокаТеста.ПолучитьИдентификатор()); - - КонецЦикла; - -КонецПроцедуры - -// Загружает список управляемых форм из которых нужно получить тестовые случаи -// -// Параметры: -// ЮнитОбъект - ОбработкаОбъект - Преобразованный реквизит формы "Объект" в объект прикладного тип -// Родитель - ДанныеФормыЭлементДерева - Элемент дерева "ДеревоТестов" -// ВнешнийОбъект - ВнешняяОбработкаОбъект, -// ВнешнийОтчетОбъект, -// ОбработкаОбъект, -// ОтчетОбъект - Объект содержащий тестовые случаи -// ДополнительныеПараметры - Структура - Структура с дополнительными параметрами -// * GUID - Строка(36) - Уникальный идентификатор внешнего объекта -// -&НаСервере -Процедура ЗагрузитьСписокТестовыхФормИзМодуляОбъекта(ЮнитОбъект, Родитель, ВнешнийОбъект, ДополнительныеПараметры) - - Перем GUID; - - МетаданныеОбъекта = ВнешнийОбъект.Метаданные(); - Если МетаданныеОбъекта.Формы.Количество() = 0 Тогда - Возврат; - КонецЕсли; - - МассивТестовыхФорм = Новый Массив; - Если ТипЗнч(ДополнительныеПараметры) = Тип("Структура") Тогда - ДополнительныеПараметры.Свойство("GUID", GUID); - КонецЕсли; - - // Обычные формы при проведении тестов в управляемом режиме не поддерживаются - ТипФормыОбъекта = Метаданные.СвойстваОбъектов.ТипФормы.Управляемая; - - Попытка - МассивТестовыхФорм = ВнешнийОбъект.ПолучитьСписокТестовыхФорм(); - Исключение - - ЕстьОшибка_МетодОбъектаНеОбнаружен = ЕстьОшибка_МетодОбъектаНеОбнаружен(ИнформацияОбОшибке().Описание, "ПолучитьСписокТестовыхФорм"); - Если НЕ ЕстьОшибка_МетодОбъектаНеОбнаружен Тогда - ТекстОшибки = НСтр("ru = 'Не удалось загрузить список тестовых форм объекта: - | Ошибка получения списка тестовых форм: %1'"); - ЮнитОбъект.ВывестиОшибку(СтрЗаменить(ТекстОшибки, "%1", ОписаниеОшибки())); - Родитель.Состояние = ЗначенияСостоянияТестов.Сломался; // TODO: нужно ли отображение, что при получении списка форм вывалилась ошибка? - КонецЕсли; - - КонецПопытки; - - Если МетаданныеОбъекта.ОсновнаяФорма <> Неопределено - И МетаданныеОбъекта.ОсновнаяФорма.ТипФормы = ТипФормыОбъекта Тогда - - ИмяОсновнойФормы = МетаданныеОбъекта.ОсновнаяФорма.Имя; - - ИначеЕсли МетаданныеОбъекта.ДополнительнаяФорма <> Неопределено - И МетаданныеОбъекта.ДополнительнаяФорма.ТипФормы = ТипФормыОбъекта Тогда - - ИмяОсновнойФормы = МетаданныеОбъекта.ДополнительнаяФорма.Имя; - - Иначе - ИмяОсновнойФормы = Неопределено; - КонецЕсли; - - Для каждого Форма Из МетаданныеОбъекта.Формы Цикл - Если Форма.ТипФормы = ТипФормыОбъекта Тогда - Если Форма.Имя <> ИмяОсновнойФормы Тогда - Если МассивТестовыхФорм.Найти(Форма.Имя) = Неопределено Тогда - Продолжить; - КонецЕсли; - КонецЕсли; - - НоваяЗапись = ТаблицаИменаФорм.Добавить(); - НоваяЗапись.GUID = GUID; - НоваяЗапись.ИмяФормы = Форма.Имя; - НоваяЗапись.ИмяОбъекта = МетаданныеОбъекта.Имя; - НоваяЗапись.ОсновнаяФорма = Форма.Имя = ИмяОсновнойФормы; - - КонецЕсли; - КонецЦикла; - -КонецПроцедуры - -// Функция возвращает полное имя формы объекта -// -&НаКлиенте -Функция ПолучитьИмяФормыОбъекта(ВнешнийОбъект, ДополнительныеПараметры) - - Перем Расширение, ЭтоВнешнийФайл; - Если ТипЗнч(ДополнительныеПараметры) = Тип("Структура") Тогда - ДополнительныеПараметры.Свойство("Расширение", Расширение); - ДополнительныеПараметры.Свойство("ВнешнийФайл", ЭтоВнешнийФайл); - КонецЕсли; - - ИмяФормыОбъекта = "%Объект%.%ИмяОбъекта%.Форма.%ИмяФормы%"; - ИмяФормыОбъекта = СтрЗаменить(ИмяФормыОбъекта, "%ИмяФормы%", ВнешнийОбъект.ИмяФормы); - ИмяФормыОбъекта = СтрЗаменить(ИмяФормыОбъекта, "%ИмяОбъекта%", ВнешнийОбъект.ИмяОбъекта); - Если ЭтоВнешнийФайл И Расширение = ".epf" Тогда - ИмяФормыОбъекта = СтрЗаменить(ИмяФормыОбъекта, "%Объект%", "ВнешняяОбработка"); - ИначеЕсли ЭтоВнешнийФайл И Расширение = ".erf" Тогда - ИмяФормыОбъекта = СтрЗаменить(ИмяФормыОбъекта, "%Объект%", "ВнешнийОтчет"); - ИначеЕсли НЕ ЭтоВнешнийФайл И Расширение = ".epf" Тогда - ИмяФормыОбъекта = СтрЗаменить(ИмяФормыОбъекта, "%Объект%", "Обработка"); - ИначеЕсли НЕ ЭтоВнешнийФайл И Расширение = ".erf" Тогда - ИмяФормыОбъекта = СтрЗаменить(ИмяФормыОбъекта, "%Объект%", "Отчет"); - Иначе - ИмяФормыОбъекта = Неопределено; - КонецЕсли; - - Возврат ИмяФормыОбъекта; - -КонецФункции - -// Функция добавляет новую строку в ДеревоЗначений, которая соответствует тестовому случаю -// -// Возвращаемое значение: -// НоваяСтрока - ДанныеФормыЭлементДерева - Новая строка в дереве тестов -// -&НаКлиентеНаСервереБезКонтекста -Функция ДобавитьСтрокуДереваТестов(Родитель, ПараметрыСтроки) - - НоваяСтрока = Родитель.ПолучитьЭлементы().Добавить(); - ЗаполнитьЗначенияСвойств(НоваяСтрока, ПараметрыСтроки); - - //ОповеститьОСобытии("TestLoaded", НоваяСтрока); //TODO Возможно удалить всю функцию? - - Возврат НоваяСтрока; - -КонецФункции - -&НаКлиентеНаСервереБезКонтекста -Функция ПолучитьПустуюСтруктуруПараметровСтроки() - - ПараметрыСтроки = Новый Структура; - ПараметрыСтроки.Вставить("Имя"); - ПараметрыСтроки.Вставить("ИмяТестовогоСлучая"); - ПараметрыСтроки.Вставить("_GUID"); - ПараметрыСтроки.Вставить("Состояние"); - ПараметрыСтроки.Вставить("ТипСтроки"); - ПараметрыСтроки.Вставить("ПолныйПуть"); - ПараметрыСтроки.Вставить("МодульИлиФорма"); - ПараметрыСтроки.Вставить("ПараметрыТеста"); - ПараметрыСтроки.Вставить("КоличествоТестов"); - ПараметрыСтроки.Вставить("ЕстьПараметрыТеста"); - ПараметрыСтроки.Вставить("ТестовыйСлучайОбъектМетаданныхИмя"); - ПараметрыСтроки.Вставить("ЭтоВнутренняяОбработка"); - //ПараметрыСтроки.Вставить("РазрешенСлучайныйПорядокВыполнения"); - - Возврат ПараметрыСтроки; - -КонецФункции - -&НаКлиентеНаСервереБезКонтекста -Функция ПолучитьСтруктуруПараметровСтроки(ЭлементМассива, ИмяТестовогоНабора, ПолныйПуть, МетаданныеИмя, МодульИлиФорма, ЭтоВнутренняяОбработка, РазрешенСлучайныйПорядокВыполнения, ИмяОсновнойУправляемойФормы = "") - - ПараметрыСтроки = ПолучитьПустуюСтруктуруПараметровСтроки(); - Если ТипЗнч(ЭлементМассива) = Тип("Строка") Тогда - ПараметрыСтроки.Вставить("Имя", ЭлементМассива); - ПараметрыСтроки.Вставить("ИмяТестовогоСлучая", ЭлементМассива); - Иначе - ПредставлениеТеста = ?(ЭлементМассива.Свойство("ПредставлениеТеста") и ЗначениеЗаполнено(ЭлементМассива.ПредставлениеТеста), ЭлементМассива.ПредставлениеТеста, ЭлементМассива.ИмяТеста); - ПараметрыСтроки.Вставить("Имя", ПредставлениеТеста); - ПараметрыСтроки.Вставить("ИмяТестовогоСлучая", ЭлементМассива.ИмяТеста); - - ЗаданоСпециальноеПредставлениеТеста = ПараметрыСтроки.Имя <> ПараметрыСтроки.ИмяТестовогоСлучая; - - ПараметрыСтроки.Вставить("ПараметрыТеста", ЭлементМассива); - ПараметрыСтроки.Вставить("ЕстьПараметрыТеста", Истина); - - Если Не ЗаданоСпециальноеПредставлениеТеста Тогда - ОписаниеПараметра = "<пусто>"; - Если ЭлементМассива.Свойство("Параметр") Тогда - ОписаниеПараметра = Строка(ЭлементМассива.Параметр); - КонецЕсли; - ПараметрыСтроки.Вставить("Имя", ЭлементМассива.ИмяТеста + "( " + ОписаниеПараметра + " )"); - КонецЕсли; - КонецЕсли; - - ПараметрыСтроки.Вставить("_GUID", Строка(Новый УникальныйИдентификатор)); - ПараметрыСтроки.Вставить("ТипСтроки", 2); // ЗначенияТиповСтроки.ТестовыйМетод - ПараметрыСтроки.Вставить("ИмяТестовогоНабора", ИмяТестовогоНабора); - ПараметрыСтроки.Вставить("ПолныйПуть", ПолныйПуть); - ПараметрыСтроки.Вставить("МодульИлиФорма", МодульИлиФорма); - ПараметрыСтроки.Вставить("ТестовыйСлучайОбъектМетаданныхИмя", МетаданныеИмя); - ПараметрыСтроки.Вставить("ЭтоВнутренняяОбработка", ЭтоВнутренняяОбработка); - ПараметрыСтроки.Вставить("ИмяОсновнойУправляемойФормы", ИмяОсновнойУправляемойФормы); - ПараметрыСтроки.Вставить("РазрешенСлучайныйПорядокВыполнения", РазрешенСлучайныйПорядокВыполнения); - - Возврат ПараметрыСтроки; - -КонецФункции - - -//#Область ОбработкаПараметровЗапуска - -// { Обработка параметров запуска - -// Пример строки запуска - "Тесты_Команда_Тестировать;E:\ТестыИМ\Тесты;ЗавершитьРаботуПослеТестирования" -// "C:\Program Files (x86)\1cv82\8.2.18.96\bin\1cv8c.exe" /DisableStartupMessages /Execute E:\ТестыИМ\xddTestRunner.epf /S "server\ib" /Out "E:\ТестыИМ\Тесты\log.txt" /C "Тесты_Команда_Тестировать;E:\ТестыИМ\Тесты;ЗавершитьРаботуПослеТестирования" /LogUI -&НаКлиенте -Функция ОбработатьПараметрыЗапуска(СтрокаПараметровЗапуска) - - ПараметрыЗапуска = РазобратьПараметрыЗапускаСервер(СтрокаПараметровЗапуска); - Если ПараметрыЗапуска = Неопределено Тогда - Возврат Ложь; - КонецЕсли; - - УстановитьЗначенияНастроекПоУмолчанию(ЭтаФорма); - - ПутьКТестам = ПараметрыЗапуска.ПутьТестов; - Если ЗначениеЗаполнено(ПутьКТестам) Тогда - Пути.Добавить(ПутьКТестам); - КонецЕсли; - - ОбновитьНадписьПути(); - - //ПутьОтчетаТестирования = ПараметрыЗапуска.ПутьОтчета; - УстановитьТипОтчетаТестирования(ЭтаФорма, ПараметрыЗапуска.ФорматОтчета); - - Объект.РегистрацияПрохожденияТестовВЖР = ПараметрыЗапуска.РегистрацияПрохожденияТестовВЖР; - Объект.РегистрацияОшибокТестовВЖР = ПараметрыЗапуска.РегистрацияОшибокТестовВЖР; - Объект.СлучайныйПорядокВыполнения = ПараметрыЗапуска.СлучайныйПорядокВыполнения; - Объект.РежимОтладки = ПараметрыЗапуска.РежимОтладки; - - Объект.ВыводЛогаВФорматеTeamCity = ПараметрыЗапуска.ВыводЛогаВФорматеTeamCity; - - ПривестиИнерфейсВСоответствиеСНастройками(ЭтаФорма); - Если Не ПараметрыЗапуска.Загрузить Тогда - Возврат Ложь; - КонецЕсли; - - ЭтоЗапускВПакетномРежиме = Истина; // ПараметрыЗапуска.ОстановитьСистему; - - ОбработатьКомандыПакетногоРежима(ПараметрыЗапуска); - Возврат Истина; - -КонецФункции - -&НаКлиенте -Процедура ОбработатьКомандыПакетногоРежима(ПараметрыЗапуска) - - ПутьКФайлуЛога = ПараметрыЗапуска.ПутьКодаВозврата; - ЗаписатьКодВозвратаВЛогФайл(ПутьКФайлуЛога, "1"); //По умолчанию считаем что ошибка. Перед завершением работы запишем 0. - - Если ЕстьПоддержкаАсинхронныхВызовов Тогда - Оповещение = Вычислить("Новый ОписаниеОповещения(""ОбработатьКомандыПакетногоРежимаПослеЗагрузкиТестов"", ЭтотОбъект, ПараметрыЗапуска)"); - LoadAllTests(, Оповещение); - Иначе - LoadAllTests(); - ОбработатьКомандыПакетногоРежимаПослеЗагрузкиТестов(, ПараметрыЗапуска); - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ОбработатьКомандыПакетногоРежимаПослеЗагрузкиТестов(Результат, ПараметрыЗапуска) Экспорт - - лЗавершитьРаботуПослеТестирования = ПараметрыЗапуска.ОстановитьСистему; - Если Объект.ДеревоТестов.ПолучитьЭлементы().Количество() = 0 Тогда - ОписаниеОшибки = СтрЗаменить(НСтр("ru = 'ОШИБКА загрузки тестов: путь <%1>'; en = 'Error loading testcases: path <%1>'"), "%1", ПараметрыЗапуска.ПутьТестов); - ВывестиСообщение(ОписаниеОшибки); - ЗарегистрироватьОшибкуЗапускаТестированияСервер(ПараметрыЗапуска.ПутьТестов, ОписаниеОшибки); - Если лЗавершитьРаботуПослеТестирования Тогда - ЗавершитьРаботуСистемы(Ложь); - КонецЕсли; - Возврат; - КонецЕсли; - - Если ПараметрыЗапуска.Выполнить Тогда - Если ЕстьПоддержкаАсинхронныхВызовов Тогда - Оповещение = Вычислить("Новый ОписаниеОповещения(""ОбработатьКомандыПакетногоРежимаПослеИнициализацииФайлаОтчетаТестирования"", ЭтотОбъект, ПараметрыЗапуска)"); - ФайлОтчетаТестирования = Вычислить("Новый Файл"); - ФайлОтчетаТестирования.НачатьИнициализацию(Оповещение, ПараметрыЗапуска.ПутьОтчета); - Иначе - ФайлОтчетаТестирования = Новый Файл(ПараметрыЗапуска.ПутьОтчета); - ОбработатьКомандыПакетногоРежимаПослеИнициализацииФайлаОтчетаТестирования(ФайлОтчетаТестирования, ПараметрыЗапуска); - КонецЕсли; - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ОбработатьКомандыПакетногоРежимаПослеИнициализацииФайлаОтчетаТестирования(ФайлОтчетаТестирования, ПараметрыЗапуска) Экспорт - - ПараметрыЗапуска.Вставить("ФайлОтчетаТестирования", ФайлОтчетаТестирования); - Если ЕстьПоддержкаАсинхронныхВызовов Тогда - Оповещение = Вычислить("Новый ОписаниеОповещения(""ОбработатьКомандыПакетногоРежимаПослеПроверкиФайлОтчетаТестированияСуществует"", ЭтотОбъект, ПараметрыЗапуска)"); - ФайлОтчетаТестирования.НачатьПроверкуСуществования(Оповещение); - Иначе - ОбработатьКомандыПакетногоРежимаПослеПроверкиФайлОтчетаТестированияСуществует(ФайлОтчетаТестирования.Существует(), ПараметрыЗапуска); - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ОбработатьКомандыПакетногоРежимаПослеПроверкиФайлОтчетаТестированияСуществует(Существует, ПараметрыЗапуска) Экспорт - - ФайлОтчетаТестирования = ПараметрыЗапуска.ФайлОтчетаТестирования; - Если Не Существует Тогда - УстановитьПутьОтчетаТестирования(ФайлОтчетаТестирования.Путь, ФайлОтчетаТестирования.Имя); - ОбработатьКомандыПакетногоРежимаПослеОбработкиФайлаОтчетаТестирования(ПараметрыЗапуска); - Иначе - Если ЕстьПоддержкаАсинхронныхВызовов Тогда - Оповещение = Вычислить("Новый ОписаниеОповещения(""ОбработатьКомандыПакетногоРежимаПослеПроверкиФайлОтчетаТестированияЭтоКаталог"", ЭтотОбъект, ПараметрыЗапуска)"); - ФайлОтчетаТестирования.НачатьПроверкуЭтоКаталог(Оповещение); - Иначе - ОбработатьКомандыПакетногоРежимаПослеПроверкиФайлОтчетаТестированияЭтоКаталог(ФайлОтчетаТестирования.ЭтоКаталог(), ПараметрыЗапуска); - КонецЕсли; - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ОбработатьКомандыПакетногоРежимаПослеПроверкиФайлОтчетаТестированияЭтоКаталог(ЭтоКаталог, ПараметрыЗапуска) Экспорт - - ФайлОтчетаТестирования = ПараметрыЗапуска.ФайлОтчетаТестирования; - Если ЭтоКаталог Тогда - УстановитьПутьОтчетаТестирования(ФайлОтчетаТестирования.ПолноеИмя); - Иначе - УстановитьПутьОтчетаТестирования(ФайлОтчетаТестирования.Путь, ФайлОтчетаТестирования.Имя); - КонецЕсли; - - ОбработатьКомандыПакетногоРежимаПослеОбработкиФайлаОтчетаТестирования(ПараметрыЗапуска); - -КонецПроцедуры - -&НаКлиенте -Процедура ОбработатьКомандыПакетногоРежимаПослеОбработкиФайлаОтчетаТестирования(ПараметрыЗапуска) - - лЗавершитьРаботуПослеТестирования = ПараметрыЗапуска.ОстановитьСистему; - Если ПараметрыЗапуска.Выполнить Тогда - - Попытка - КодРезультатаТестирования = RunAllTests(); - Исключение - - ТекстОшибки = ОписаниеОшибки(); - ТекстСообщения = НСтр("ru='ОШИБКА выполнения тестов: %ТекстОшибки%'; en='Error running testcases: %ТекстОшибки%'"); - ТекстСообщения = СтрЗаменить(ТекстСообщения, "%ТекстОшибки%", ТекстОшибки); - ВывестиСообщение(ТекстСообщения); - - Если лЗавершитьРаботуПослеТестирования Тогда - ЗавершитьРаботуСистемы(Ложь); - Возврат; - КонецЕсли; - - КонецПопытки; - - КонецЕсли; - - Если лЗавершитьРаботуПослеТестирования Тогда - - ЗаписатьКодВозвратаВЛогФайл(ПараметрыЗапуска.ПутьКодаВозврата, "0", КодРезультатаТестирования); - ЗавершитьРаботуСистемы(Ложь); - - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ЗаписатьКодВозвратаВЛогФайл(ПутьКФайлуЛога, КодВозврата, КодРезультатаТестирования = Неопределено) - - Попытка - Запись = Новый ЗаписьТекста(ПутьКФайлуЛога); - Запись.ЗаписатьСтроку(КодВозврата); - Если КодРезультатаТестирования <> Неопределено Тогда - Запись.ЗаписатьСтроку(КодРезультатаТестирования); - КонецЕсли; - Запись.Закрыть(); - Исключение - ТекстСообщения = НСтр("ru = 'Ошибка записи лог-файла кода возврата: путь <%1>'"); - ВывестиСообщение(СтрЗаменить(ТекстСообщения, "%1", ПутьКФайлуЛога) + Символы.ПС + КраткоеПредставлениеОшибки(ИнформацияОбОшибке())); - КонецПопытки; - -КонецПроцедуры - -&НаСервере -Функция РазобратьПараметрыЗапускаСервер(СтрокаПараметровЗапуска) - Возврат Объект().РазобратьПараметрыЗапуска(СтрокаПараметровЗапуска); -КонецФункции - -&НаСервере -Функция ЗарегистрироватьОшибкуЗапускаТестированияСервер(ПолныйПуть, ОписаниеОшибки) - Объект().ЗарегистрироватьОшибкуЗапускаТестирования(ПолныйПуть, ОписаниеОшибки); -КонецФункции - -// } - -//#КонецОбласти - - - -&НаКлиенте -Процедура ОбновитьНадписьПути() - - Если Пути.Количество() = 1 Тогда - ПутиНадпись = Пути[0].Значение; - Элементы.ПутиНадпись.МногострочныйРежим = Ложь; - Иначе - ПутиНадпись = ""; - КонечныйИндекс = Пути.Количество() - 1; - Для Индекс = 0 По КонечныйИндекс Цикл - Если Индекс = КонечныйИндекс Тогда - ПутиНадпись = ПутиНадпись + Пути[Индекс].Значение; - Иначе - ПутиНадпись = ПутиНадпись + Пути[Индекс].Значение + Символы.ПС; - КонецЕсли; - КонецЦикла; - Элементы.ПутиНадпись.МногострочныйРежим = Истина; - КонецЕсли; - -КонецПроцедуры - -// Процедура изменяет значение реквизита обработки и устанавливает пометку на кнопке командной панели -// -// Параметры: -// ИмяРеквизитаОбъекта - Строка - Имя реквизита типа "Булево" -// ИмяКнопкиКоманднойПанели - Строка - Имя кнопки командной панели для которой нужно изменить реквизит "Пометка" -// -&НаКлиенте -Процедура ИзменитьЗначениеРеквизитаИУстановитьПометкуНаКнопке(ИмяРеквизитаОбработки, ИмяКнопкиКоманднойПанели) - - Объект[ИмяРеквизитаОбработки] = НЕ Объект[ИмяРеквизитаОбработки]; - Элементы[ИмяКнопкиКоманднойПанели].Пометка = Объект[ИмяРеквизитаОбработки]; - -КонецПроцедуры - - - -&НаКлиенте -Функция ВывестиОшибку(Ошибка) Экспорт - НужныйТекстОшибки = ПолучитьРазвернутыйТекстОшибки(Ошибка); - - ВывестиСообщение(НужныйТекстОшибки, СтатусСообщения.Важное); - - Возврат НужныйТекстОшибки; -КонецФункции - -Функция ПолучитьРазвернутыйТекстОшибки(Ошибка) - ТипОбъектаОшибка = ТипЗнч(Ошибка); - - Если ТипОбъектаОшибка = Тип("Структура") Тогда - - НужныйТекстОшибки = "[" + Ошибка.ИмяТестовогоНабора + ": " + Ошибка.ИмяТестовогоСлучая + "] " + Ошибка.Описание; - - ИначеЕсли ТипОбъектаОшибка = Тип("ИнформацияОбОшибке") Тогда - - НужныйТекстОшибки = Ошибка.Описание; - - Иначе - - НужныйТекстОшибки = Ошибка; - - КонецЕсли; - Возврат НужныйТекстОшибки; -КонецФункции - -// Выводит сообщение. В тестах ВСЕГДА должна использоваться ВМЕСТО метода Сообщить(). -// -&НаКлиенте -Функция ВывестиСообщение(ТекстСообщения, Статус = Неопределено) Экспорт - Если MiddleMan <> Неопределено Тогда - Если НЕ ОповеститьОСобытии("Message", ТекстСообщения) Тогда - ОповеститьОСобытии("ВывестиСообщение", ТекстСообщения); - КонецЕсли; - Иначе - Если Объект.ВыводЛогаВФорматеTeamCity Тогда - ТекстСообщения = СтрЗаменить(ТекстСообщения,"|","||"); - ТекстСообщения = СтрЗаменить(ТекстСообщения,"'","|'"); - ТекстСообщения = СтрЗаменить(ТекстСообщения,"[","|["); - ТекстСообщения = СтрЗаменить(ТекстСообщения,"]","|]"); - ТекстСообщения = СтрЗаменить(ТекстСообщения,Символы.ВК,"|r"); - ТекстСообщения = СтрЗаменить(ТекстСообщения,Символы.ПС,"|n"); - - СтатусДляTeamCity = ?(Статус = Неопределено, СтатусСообщения.Обычное, Статус); - Сообщить("##teamcity[message text='"+ТекстСообщения+"' errorDetails='' status='"+СоответствиеСтатусовДляTeamCity[СтатусДляTeamCity]+"']"); - Иначе - Сообщить(ТекстСообщения, Статус); - КонецЕсли; - КонецЕсли; -КонецФункции - -// Вызывает исключение с заданным текстом ошибки для прерывания выполнения тестового случая. -// -&НаКлиенте -Функция ПрерватьТест(ТекстОшибки) Экспорт - - ВызватьИсключение ТекстОшибки; - -КонецФункции - - -//#КонецОбласти - -//#КонецОбласти - - - -// { Методы генерации тестовых данных - -// количествоСозданныхОбъектов учитывает только созданные элементы справочников, документы и пользователей ИБ. Записи регистров сведений не считаются! -&НаКлиенте -Функция СоздатьДанныеПоТабличномуДокументу(ТабличныйДокумент, РежимыЗагрузкиИлиИмяКолонкиЗамещения = Неопределено, ИмяКолонкиЗамещения = Неопределено) Экспорт - Данные = СоздатьДанныеПоТабличномуДокументуСервер(ТабличныйДокумент, РежимыЗагрузкиИлиИмяКолонкиЗамещения, ИмяКолонкиЗамещения); - Возврат Данные; -КонецФункции - -&НаСервере -Функция СоздатьДанныеПоТабличномуДокументуСервер(ТабличныйДокумент, РежимыЗагрузкиИлиИмяКолонкиЗамещения, ИмяКолонкиЗамещения) //Экспорт - Данные = Объект().СоздатьДанныеПоТабличномуДокументу(ТабличныйДокумент, РежимыЗагрузкиИлиИмяКолонкиЗамещения, ИмяКолонкиЗамещения); - Возврат Неопределено; //Данные; -КонецФункции -//} - -// { работа с данными текущего теста - -&НаКлиенте -Процедура УстановитьДанныеТекущегоТеста(ДанныеТекущегоТеста) - УстановитьКонтекст(ДанныеТекущегоТеста, "xUnitFor1C_ДанныеТекущегоТеста"); -КонецПроцедуры - -&НаКлиенте -Функция СоздатьПустуюСтруктуруСостоянияТекущегоТеста() - Результат = Новый Структура; - Результат.Вставить("Имя", ""); - Результат.Вставить("ПолныйПуть", ""); - Результат.Вставить("СостояниеТеста", ""); - Возврат Результат; -КонецФункции - -// } - -// { работа с тестами - - - -&НаСервере -Функция ПолучитьИмяОсновнойУправляемойФормы(имОбработки) - Попытка - лМетаданные = ВнешниеОбработки.Создать(имОбработки).Метаданные(); - Исключение - лМетаданные = Метаданные.Обработки[имОбработки]; - КонецПопытки; - МассивФорм = Новый Массив; - МассивФорм.Добавить(лМетаданные.ОсновнаяФорма); - МассивФорм.Добавить(лМетаданные.ДополнительнаяФорма); - Для каждого метаФорма Из МассивФорм Цикл - Если метаФорма = Неопределено Тогда - Продолжить; - КонецЕсли; - Если метаФорма.ТипФормы = Метаданные.СвойстваОбъектов.ТипФормы.Управляемая Тогда - Возврат метаФорма.Имя; - КонецЕсли; - КонецЦикла; - Возврат ""; -КонецФункции - -&НаКлиенте -Функция ПодключитьНаСервереВнешнююОбработкуОтКлиента(ПолныйПутьФайлаОбработки, ИдентификаторОбработки, РежимОтладки = Ложь) - - Перем ИмяПодключеннойВнешнейОбработки; - - Если ЕстьВстроеннаяОбработкаСервер(ИдентификаторОбработки) Тогда - ИмяПодключеннойВнешнейОбработки = ИдентификаторОбработки; - Иначе - ИмяВнешнейОбработки = ""; - БезопасныйРежимПодключенияОбработки = Ложь; - Если РежимОтладки Тогда - БезопасныйРежимПодключенияОбработки = Истина; - КонецЕсли; - ДопПараметры = Новый Структура; - ДопПараметры.Вставить("ИдентификаторОбработки", ИдентификаторОбработки); - ДопПараметры.Вставить("БезопасныйРежимПодключения", РежимОтладки); - - Если ЕстьПоддержкаНемодальныхФорм Тогда - Оповещение = Вычислить("Новый ОписаниеОповещения(""ПодключитьВнешнююОбработкуСервер"", ЭтаФорма, ДопПараметры)"); - Выполнить("НачатьПомещениеФайла(Оповещение, , ПолныйПутьФайлаОбработки, Ложь);");// Адрес действителен только на 1 вызов сервера! - Иначе - АдресХранилища = ""; - ПоместитьФайл(АдресХранилища, ПолныйПутьФайлаОбработки, , Ложь); - ПодключитьВнешнююОбработкуСервер(Неопределено, АдресХранилища, ПолныйПутьФайлаОбработки, ДопПараметры); - КонецЕсли; - - ИмяПодключеннойВнешнейОбработки = ИмяВнешнейОбработки; - - КонецЕсли; - - Возврат ИмяПодключеннойВнешнейОбработки; - -КонецФункции - -&НаСервере -Процедура ПодключитьВнешнююОбработкуСервер(Результат, АдресХранилища, ВыбранноеИмяФайла, Параметры) - Перем ИдентификаторОбработки, БезопасныйРежимПодключения; - - БезопасныйРежимПодключения = Ложь; - ИдентификаторОбработки = ""; - - Если ТипЗнч(Параметры) = Тип("Структура") Тогда - БезопасныйРежимПодключения = ?(Параметры.Свойство("БезопасныйРежимПодключения"), Параметры.БезопасныйРежимПодключения, БезопасныйРежимПодключения); - ИдентификаторОбработки = ?(Параметры.Свойство("ИдентификаторОбработки"), Параметры.ИдентификаторОбработки, ИдентификаторОбработки); - Иначе - ИдентификаторОбработки = Параметры; - КонецЕсли; - - ИмяВнешнейОбработки = ВнешниеОбработки.Подключить(АдресХранилища, ИдентификаторОбработки, БезопасныйРежимПодключения); // подключаю не в безопасном режиме - -КонецПроцедуры - - - -&НаСервереБезКонтекста -Функция ЕстьВстроеннаяОбработкаСервер(ИдентификаторОбработки) - Возврат Метаданные.Обработки.Найти(ИдентификаторОбработки) <> Неопределено; -КонецФункции - -&НаСервереБезКонтекста -Функция ПредставлениеВстроеннойОбработкиСервер(ИдентификаторОбработки) - Возврат Метаданные.Обработки.Найти(ИдентификаторОбработки).Представление(); -КонецФункции - - -&НаКлиенте -Функция ПолучитьТестовыеСлучаи(ТестовыйСлучайОбъект, ТестовыйСлучайИмяФайла) - Попытка - МассивТестовыхМетодов = ТестовыйСлучайОбъект.ПолучитьСписокТестов(ЭтаФорма); - Исключение - ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()) ; - - // TODO если не использовать переменную ниже, а поставить вызов метода в условие, то будет глюк - внутрь условия не попадаем ! - ЕстьОшибка_МетодОбъектаНеОбнаружен = ЕстьОшибка_МетодОбъектаНеОбнаружен(ИнформацияОбОшибке().Описание, "ПолучитьСписокТестов"); - Если НЕ ЕстьОшибка_МетодОбъектаНеОбнаружен Тогда - ТекстОшибки = НСтр("ru = 'Тестовый случай не загружен: %1 - | Ошибка получения списка тестовых случаев: %2'"); - ВывестиОшибку(СтрЗаменить(СтрЗаменить(ТекстОшибки, "%1", ТестовыйСлучайИмяФайла), "%2", ОписаниеОшибки())); - КонецЕсли; - - Возврат Неопределено; - КонецПопытки; - - Если ТипЗнч(МассивТестовыхМетодов) <> Тип("Массив") Тогда - ТекстОшибки = НСтр("ru = 'Тест не загружен: %1 - | Ошибка получения списка тестовых случаев: вместо массива - |имен тестовых случаев получен объект <%2>'"); - ВывестиОшибку(СтрЗаменить(СтрЗаменить(ТекстОшибки, "%1", ТестовыйСлучайИмяФайла), "%2", Строка(ТипЗнч(МассивТестовыхМетодов)))); - - Возврат Неопределено; - КонецЕсли; - - Возврат МассивТестовыхМетодов; -КонецФункции - -&НаКлиенте -Функция ПолучитьСтрокиДереваВСлучайномПорядке(МассивИдентификаторовСтрок) Экспорт - Отбор = Новый Структура("РазрешенСлучайныйПорядокВыполнения", Ложь); - МассивСтрокДерева = ПолучитьТолькоТестовыеМетодыИзДерева(МассивИдентификаторовСтрок, Отбор); - - Отбор = Новый Структура("РазрешенСлучайныйПорядокВыполнения", Истина); - МассивСтрокДереваДляСлучайногоВыполнения = ПолучитьТолькоТестовыеМетодыИзДерева(МассивИдентификаторовСтрок, Отбор); - - ПеремешанныеСтрокиДерева = ПеремешатьМассив(МассивСтрокДереваДляСлучайногоВыполнения); - Для каждого Элем Из ПеремешанныеСтрокиДерева Цикл - МассивСтрокДерева.Добавить(Элем); - КонецЦикла; - - Возврат МассивСтрокДерева; -КонецФункции - -&НаКлиенте -Функция ПолучитьМассивИдентификаторовСтрок(СтрокаДереваТестов) - МассивИдентификаторовСтрок = Новый Массив(); - Для каждого ЭлементДерева Из СтрокаДереваТестов.ПолучитьЭлементы() Цикл - МассивИдентификаторовСтрок.Добавить(ЭлементДерева.ПолучитьИдентификатор()); - КонецЦикла; - Возврат МассивИдентификаторовСтрок; -КонецФункции - -&НаКлиенте -Функция ПолучитьТолькоТестовыеМетодыИзДерева(МассивИдентификаторовСтрок, Отбор = Неопределено, МассивДляДобавления = Неопределено) - Если МассивДляДобавления=Неопределено Тогда - МассивДляДобавления = Новый Массив; - КонецЕсли; - Для каждого Идентификатор из МассивИдентификаторовСтрок Цикл - СтрокаДереваТестов = Объект.ДеревоТестов.НайтиПоИдентификатору(Идентификатор); - - Если СтрокаДереваТестов.ТипСтроки = ЗначенияТиповСтроки.ТестовыйМетод Тогда - Если ЗначениеЗаполнено(Отбор) И Не СтрокаДереваУдовлетворяетОтбору(СтрокаДереваТестов, Отбор) Тогда - Продолжить; - КонецЕсли; - - Если МассивДляДобавления.Найти(Идентификатор) = Неопределено Тогда - МассивДляДобавления.Добавить(Идентификатор); - КонецЕсли; - - Иначе - НовыйМассив = ПолучитьМассивИдентификаторовСтрок(СтрокаДереваТестов); - ПолучитьТолькоТестовыеМетодыИзДерева(НовыйМассив, Отбор, МассивДляДобавления); - - КонецЕсли; - - КонецЦикла; - Возврат МассивДляДобавления; -КонецФункции - -&НаКлиенте -Функция СтрокаДереваУдовлетворяетОтбору(СтрокаДерева, Отбор) - Нашли = Ложь; - Для каждого КлючЗначение Из Отбор Цикл - КлючОтбора = КлючЗначение.Ключ; - Если СтрокаДерева[КлючОтбора] <> Отбор[КлючОтбора] Тогда - Прервать; - КонецЕсли; - Нашли = Истина; - КонецЦикла; - - Возврат Нашли; -КонецФункции - -&НаКлиенте -Функция ОбновитьСостояниеВыбранныхСтрок(ВыбранныеСтроки) - - СостояниеВыполнения = ЗначенияСостоянияТестов.НеВыполнялся; - ВремяВыполнения = 0; - Для Каждого СтрокаИлиИдентификатор Из ВыбранныеСтроки Цикл - - Если ТипЗнч(СтрокаИлиИдентификатор) = Тип("ДанныеФормыЭлементДерева") Тогда - Строка = СтрокаИлиИдентификатор; - Иначе - Строка = Объект.ДеревоТестов.НайтиПоИдентификатору(СтрокаИлиИдентификатор); - КонецЕсли; - - Если Строка.ТипСтроки <> ЗначенияТиповСтроки.ТестовыйМетод Тогда - Состояние = ОбновитьСостояниеВыбранныхСтрок(Строка.ПолучитьЭлементы()); - Строка.Состояние = Состояние.СостояниеВыполнения; - Строка.ВремяВыполнения = Состояние.ВремяВыполнения; - КонецЕсли; - - ЗапомнитьСамоеХудшееСостояние(СостояниеВыполнения, Строка.Состояние); - ВремяВыполнения = ВремяВыполнения + Строка.ВремяВыполнения; - - КонецЦикла; - - Возврат Новый Структура("СостояниеВыполнения, ВремяВыполнения", СостояниеВыполнения, ВремяВыполнения); - -КонецФункции - -&НаКлиенте -Процедура ОбновитьСостояниеРодителейВыбранныхСтрок(МассивИдентификаторовСтрок) - - Для Каждого Идентификатор Из МассивИдентификаторовСтрок Цикл - СтрокаДереваТестов = Объект.ДеревоТестов.НайтиПоИдентификатору(Идентификатор); - ИзменитьСостояниеВыполненияРодителей(СтрокаДереваТестов); - ИзменитьВремяВыполненияРодителей(СтрокаДереваТестов); - КонецЦикла; - -КонецПроцедуры - - -&НаКлиентеНаСервереБезКонтекста -Функция ПеремешатьМассив(ИсходныйМассив) - - Результат = Новый Массив; - Для Каждого Элемент Из ИсходныйМассив Цикл - Результат.Добавить(Элемент); - КонецЦикла; - - // алгоритм перемешивания взят из книги Кнута "Искусство программирования" т.2 - ГСЧ = Новый ГенераторСлучайныхЧисел(); - ПоследнийИндекс = Результат.ВГраница(); - Для Индекс = 1 По ПоследнийИндекс Цикл - ТекущийИндекс = ПоследнийИндекс - Индекс + 1; - НовыйИндекс = ГСЧ.СлучайноеЧисло(0, ТекущийИндекс); - Если НовыйИндекс <> ТекущийИндекс Тогда - Значение = Результат[НовыйИндекс]; - Результат[НовыйИндекс] = Результат[ТекущийИндекс]; - Результат[ТекущийИндекс] = Значение; - КонецЕсли; - КонецЦикла; - - Возврат Результат; - -КонецФункции - -//////////////////////////////////////////////////////////////////////////////// -// ВЫПОЛНЕНИЕ ТЕСТОВ - -&НаКлиенте -Процедура ВыполнитьВыделенныеТесты(ВызыватьИсключение = Ложь) - - ОчиститьСообщения(); - - МассивИдентификаторовСтрок = Элементы.ДеревоТестов.ВыделенныеСтроки; - - _ВыполнитьВыбранныеТесты(МассивИдентификаторовСтрок, ВызыватьИсключение); - -КонецПроцедуры - -&НаКлиенте -Функция _ВыполнитьВыбранныеТесты(МассивИдентификаторовСтрок, ВызыватьИсключение = Ложь) - - датаНачалаТестирования = ТекущаяДата(); - - Если Объект.СлучайныйПорядокВыполнения Тогда - НовыйМассивИдентификаторовСтрок = ПолучитьСтрокиДереваВСлучайномПорядке(МассивИдентификаторовСтрок); - Иначе - НовыйМассивИдентификаторовСтрок = ПолучитьТолькоТестовыеМетодыИзДерева(МассивИдентификаторовСтрок); - КонецЕсли; - - ПередВыполнениемТестов(НовыйМассивИдентификаторовСтрок); - - ИнициализироватьИндикаторВыполнения(НовыйМассивИдентификаторовСтрок.Количество()); - - СостояниеРезультат = _ВыполнитьТесты(НовыйМассивИдентификаторовСтрок, ВызыватьИсключение); - - ОбновитьСостояниеВыбранныхСтрок(МассивИдентификаторовСтрок); - ОбновитьСостояниеРодителейВыбранныхСтрок(МассивИдентификаторовСтрок); - СвернутьУспешныеСтрокиДереваИРазвернутьНеуспешные(Объект.ДеревоТестов.ПолучитьЭлементы(), Истина); - - ОбработатьОтчетТестирования(датаНачалаТестирования); - - Возврат СостояниеРезультат; -КонецФункции - -&НаКлиенте -Процедура СброситьКэшТестовыхОбработок() - - кэшТестовыхОбработок = Новый Соответствие; - УдалитьИзВременногоХранилища(АдресОбъектаНаСервере); - -КонецПроцедуры - -&НаКлиенте -Функция _ВыполнитьТесты(МассивИдентификаторовСтрок, ВызыватьИсключение = Ложь) Экспорт - СостояниеРезультат = ЗначенияСостоянияТестов.НеВыполнялся; - Для каждого ИдентификаторСтроки из МассивИдентификаторовСтрок Цикл - ОбработкаПрерыванияПользователя(); - - ВсегоТестов = ВсегоТестов + 1; - СтрокаДереваТестов = Объект.ДеревоТестов.НайтиПоИдентификатору(ИдентификаторСтроки); // обход бага платформы - НовоеСостояние = ВыполнитьТестВЗависимостиОтВидаТеста_МодульИлиФорма(СтрокаДереваТестов, СписокОшибок, ВызыватьИсключение); - - ЗапомнитьСамоеХудшееСостояние(СостояниеРезультат, НовоеСостояние); - КонецЦикла; - - Возврат СостояниеРезультат; -КонецФункции - -&НаКлиенте -Функция ВыполнитьТестВЗависимостиОтВидаТеста_МодульИлиФорма(СтрокаДереваТестов, СписокОшибок, ВызыватьИсключение = Ложь) - - Родитель = СтрокаДереваТестов.ПолучитьРодителя(); - Если Не Родитель.ЭтоВнутренняяОбработка Тогда - ТестОбъект = кэшТестовыхОбработок.Получить(Родитель.ПолныйПуть); - Если ТестОбъект = Неопределено Тогда - Попытка - лИмяОбработки = ПодключитьНаСервереВнешнююОбработкуОтКлиента(Родитель.полныйПуть, Родитель.ТестовыйСлучайОбъектМетаданныхИмя, Объект.РежимОтладки); - Исключение - СостояниеВыполнения = ВывестиОшибкуВыполненияТеста(СтрокаДереваТестов, ИнформацияОбОшибке(), СписокОшибок, Объект.РегистрацияОшибокТестовВЖР); - СтрокаДереваТестов.Состояние = СостояниеВыполнения; - Возврат СостояниеВыполнения; - КонецПопытки; - кэшТестовыхОбработок.Вставить(Родитель.полныйПуть, Истина); - КонецЕсли; - КонецЕсли; - - Если СтрокаДереваТестов.МодульИлиФорма = ЗначениеМодульИлиФорма.Форма Тогда - СостояниеРезультат = ВыполнитьТест(СтрокаДереваТестов, ВызыватьИсключение); - Иначе - - ОповеститьОСобытии("TestStart", СтрокаДереваТестов); - СостояниеРезультат = ВыполнитьТестНаСервере(СтрокаДереваТестов.ПолучитьИдентификатор(), СписокОшибок, ВызыватьИсключение); - - Если СостояниеРезультат = ЗначенияСостоянияТестов.Сломался Тогда - ОповеститьОСобытии("TestFailed", СтрокаДереваТестов); - ИначеЕсли СостояниеРезультат = ЗначенияСостоянияТестов.НеРеализован Тогда - ОповеститьОСобытии("TestNotImplemented", СтрокаДереваТестов); - Иначе - ОповеститьОСобытии("TestPassed", СтрокаДереваТестов); - КонецЕсли; - - КонецЕсли; - - СтрокаДереваТестов.Состояние = СостояниеРезультат; - - Возврат СостояниеРезультат; -КонецФункции - -&НаКлиенте -Функция ВыполнитьТест(СтрокаДереваТестов, ВызыватьИсключение = Ложь) Экспорт - Перем Тест; // специально локальная переменная для исключения циклических ссылок - - ИдентификаторСтроки = СтрокаДереваТестов.ПолучитьИдентификатор(); - - ТекущаяДата = ТекущаяДата(); - ПолныйПуть = СтрокаДереваТестов.ПолныйПуть; - - Если Объект.РегистрацияПрохожденияТестовВЖР Тогда - ЗарегистрироватьНачалоПрохожденияТестаСервер(СтрокаДереваТестов.Имя, ПолныйПуть); - КонецЕсли; - - СтрокаДереваТестов.СписокОшибок.Очистить(); - - Попытка - Тест = ПолучитьТестОбъект(СтрокаДереваТестов); - Исключение - Возврат ВывестиОшибкуВыполненияТеста(СтрокаДереваТестов, ИнформацияОбОшибке(), СписокОшибок, Объект.РегистрацияОшибокТестовВЖР); - КонецПопытки; - - Если ЭтоПервыйТестовыйМетодНабора(СтрокаДереваТестов) Тогда - Попытка - ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(Тест, "ПередЗапускомНабораТестов"); - Исключение - Возврат ВывестиОшибкуВыполненияТеста(СтрокаДереваТестов, ИнформацияОбОшибке(), СписокОшибок, Объект.РегистрацияОшибокТестовВЖР); - КонецПопытки; - КонецЕсли; - - УчестьЗапускТеста(СтрокаДереваТестов); - - СостояниеВыполнения = ВыполнитьМетодыТеста(Тест, СтрокаДереваТестов, ВызыватьИсключение); - СтрокаДереваТестов = Объект.ДеревоТестов.НайтиПоИдентификатору(ИдентификаторСтроки); - - Если ЭтоПоследнийТестовыйМетодНабора(СтрокаДереваТестов) Тогда - Попытка - ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(Тест, "ПослеЗапускаНабораТестов"); - Исключение - НовоеСостояние = ВывестиОшибкуВыполненияТеста(СтрокаДереваТестов, ИнформацияОбОшибке(), СписокОшибок, Объект.РегистрацияОшибокТестовВЖР); - ЗапомнитьСамоеХудшееСостояние(СостояниеВыполнения, НовоеСостояние); - КонецПопытки; - КонецЕсли; - - СтрокаДереваТестов.ВремяВыполнения = Число(ТекущаяДата() - ТекущаяДата); - Возврат СостояниеВыполнения; - -КонецФункции - -&НаКлиенте -Функция ВыполнитьМетодыТеста(Тест, СтрокаДереваТестов, ВызыватьИсключение) - - СостояниеВыполнения = ЗначенияСостоянияТестов.НеВыполнялся; - - ДанныеТекущегоТеста = СоздатьПустуюСтруктуруСостоянияТекущегоТеста(); - ДанныеТекущегоТеста.Вставить("Имя", СтрокаДереваТестов.Имя); - ДанныеТекущегоТеста.Вставить("ПолныйПуть", СтрокаДереваТестов.ПолныйПуть); - ДанныеТекущегоТеста.Вставить("СостояниеТеста", СостояниеВыполнения); - УстановитьДанныеТекущегоТеста(ДанныеТекущегоТеста); - - параметрыТеста = СтрокаДереваТестов.ПараметрыТеста; - естьПараметры = СтрокаДереваТестов.ЕстьПараметрыТеста; - - //TODO Если первый раз запуск setup оказался неуспешным, то при повторном прогоне без перезагрузки - // не выполнять, также не выполнять для следующих тестовых случаев. - Попытка - ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(Тест, "ПередЗапускомТеста"); - Исключение - Возврат ВывестиОшибкуВыполненияТеста(СтрокаДереваТестов, ИнформацияОбОшибке(), СписокОшибок, Объект.РегистрацияОшибокТестовВЖР); - КонецПопытки; - - ОповеститьОСобытии("TestStart", СтрокаДереваТестов); - - Попытка - - ВыполнитьТестовыйМетод(Тест, СтрокаДереваТестов, ВызыватьИсключение); - СостояниеВыполнения = ЗначенияСостоянияТестов.Прошел; - ОповеститьОСобытии("TestPassed", СтрокаДереваТестов); - - Исключение - - СостояниеВыполнения = ВывестиОшибкуВыполненияТеста(СтрокаДереваТестов, ИнформацияОбОшибке(), СписокОшибок, Объект.РегистрацияОшибокТестовВЖР); - - КонецПопытки; - - ДанныеТекущегоТеста.Вставить("СостояниеТеста", СостояниеВыполнения); - УстановитьДанныеТекущегоТеста(ДанныеТекущегоТеста); - - Попытка - ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(Тест, "ПослеЗапускаТеста"); - Исключение - НовоеСостояние = ВывестиОшибкуВыполненияТеста(СтрокаДереваТестов, ИнформацияОбОшибке(), СписокОшибок, Объект.РегистрацияОшибокТестовВЖР); - ЗапомнитьСамоеХудшееСостояние(СостояниеВыполнения, НовоеСостояние); - КонецПопытки; - - УстановитьДанныеТекущегоТеста(Неопределено); - - Возврат СостояниеВыполнения; - -КонецФункции - -&НаКлиенте -Процедура ВыполнитьТестовыйМетод(Тест, СтрокаДереваТестов, ВызыватьИсключение); - - ПредставлениеТестовогоСлучая = СтрокаДереваТестов.Имя; - ИмяТестовогоСлучая = СтрокаДереваТестов.ИмяТестовогоСлучая; - - СтрокаПараметров = ""; - Если СтрокаДереваТестов.ЕстьПараметрыТеста Тогда - ПараметрТеста = Неопределено; - Если СтрокаДереваТестов.ПараметрыТеста.Свойство("Параметр", ПараметрТеста) Тогда - СтрокаПараметров = "ПараметрТеста"; - КонецЕсли; - КонецЕсли; - - Если ВызыватьИсключение = Истина Тогда - ВызватьИсключение "ПередЗапускомТеста " + ПредставлениеТестовогоСлучая + " обработка: " + СтрокаДереваТестов.ПолныйПуть; - КонецЕсли; - - Попытка - ИcполняемыйКод = "Тест." + ИмяТестовогоСлучая + "(" + СтрокаПараметров + ");"; - Выполнить(ИcполняемыйКод); - Исключение - - текстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - Если ЕстьОшибка_МетодОбъектаНеОбнаружен(текстОшибки, ИмяТестовогоСлучая) Тогда - Сообщение = НСтр("ru = 'Отсутствует реализация тестового метода (%1).'"); - ПропуститьТест(СтрЗаменить(Сообщение, "%1", ИcполняемыйКод)); - Иначе - ВызватьИсключение; - КонецЕсли; - - КонецПопытки; - -КонецПроцедуры - -&НаКлиенте -Функция ПолучитьТестОбъект(СтрокаДереваТестов) - - ПолныйПуть = СтрокаДереваТестов.ПолныйПуть; - ИдентификаторКэша = ПолныйПуть + СтрокаДереваТестов.ИмяОсновнойУправляемойФормы; - Тест = кэшТестовыхОбработок.Получить(ИдентификаторКэша); - Если Тест = Неопределено Тогда - - ИдентификаторОбработки = СтрокаДереваТестов.ТестовыйСлучайОбъектМетаданныхИмя; - ИмяФормыТеста = СтрокаДереваТестов.ИмяОсновнойУправляемойФормы; - Если СтрокаДереваТестов.ЭтоВнутренняяОбработка Тогда - Тест = ПолучитьФорму("Обработка." + ИдентификаторОбработки + ".Форма." + ИмяФормыТеста); - Иначе - Тест = ПолучитьФорму("ВнешняяОбработка." + ИдентификаторОбработки + ".Форма." + ИмяФормыТеста); - КонецЕсли; - - массивТестов = ПолучитьТестовыеСлучаи(Тест, полныйПуть); // возможно, что тест сохранит у себя ссылку на браузер - Если Не ЗначениеЗаполнено(массивТестов) Тогда - ВызватьИсключение НСтр("ru = 'Не удалось получить тестовые случаи'"); - КонецЕсли; - - кэшТестовыхОбработок.Вставить(ИдентификаторКэша, Тест); - - КонецЕсли; - - Возврат Тест; - -КонецФункции - -&НаСервере -Функция ВыполнитьТестНаСервере(ИдентификаторСтрокиТестовогоМетода, СписокОшибокРез, ВызыватьИсключение) - ОсновнойОбъект = Объект(); - ОсновнойОбъект.Мир = Объект.Мир; - ОсновнойОбъект.СостояниеВыполненияНаборовТестов = Объект.СостояниеВыполненияНаборовТестов; - - рез = ОсновнойОбъект.ВыполнитьТест(Объект.ДеревоТестов.НайтиПоИдентификатору(ИдентификаторСтрокиТестовогоМетода), - СписокОшибокРез, Объект.РегистрацияПрохожденияТестовВЖР, Объект.РегистрацияОшибокТестовВЖР, ВызыватьИсключение); - - Объект.Мир = ОсновнойОбъект.Мир; - Объект.СостояниеВыполненияНаборовТестов = ОсновнойОбъект.СостояниеВыполненияНаборовТестов; - Возврат рез; -КонецФункции - -&НаКлиенте -Процедура ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(Тест, ИмяПроцедуры) - - Попытка - Выполнить("Тест." + ИмяПроцедуры + "();"); - Исключение - ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()) ; - Если Не ЕстьОшибка_МетодОбъектаНеОбнаружен(ТекстОшибки, ИмяПроцедуры) Тогда - ВызватьИсключение; - КонецЕсли; - КонецПопытки; - -КонецПроцедуры - -&НаКлиенте -Процедура ПередВыполнениемТестов(ЗапускаемыеТесты) - - СписокОшибок = Новый СписокЗначений; - ВсегоТестов = 0; - - СброситьКэшТестовыхОбработок(); - ИнициализироватьСостояниеВыполненияНаборовТестов(ЗапускаемыеТесты); - -КонецПроцедуры - -&НаКлиенте -Функция ВывестиОшибкуВыполненияТеста(СтрокаДереваТестов, ИнфоОшибки, СписокОшибок, РегистрироватьОшибкуВЖР) - - СостояниеВыполнения = ЗначенияСостоянияТестов.Сломался; - - СтруктураОшибки = Новый Структура; - - ТекстОшибки = КраткоеПредставлениеОшибки(ИнфоОшибки); - Если ЭтоПропущенныйТест(ТекстОшибки) Тогда - СостояниеВыполнения = ЗначенияСостоянияТестов.НеРеализован; - СтруктураОшибки.Вставить("Статус", СтатусыРезультатаТестирования.ТестПропущен); - стИнфоОшибки = Новый Структура; - стИнфоОшибки.Вставить("Описание", ТекстОшибки); - ИначеЕсли ЭтоОшибкаПроверки(ТекстОшибки) Тогда - СтруктураОшибки.Вставить("Статус", СтатусыРезультатаТестирования.ОшибкаПроверки); - стИнфоОшибки = Новый Структура; - стИнфоОшибки.Вставить("Описание", ТекстОшибки); - Иначе - ТекстОшибки = ПодробноеПредставлениеОшибки(ИнфоОшибки); - СтруктураОшибки.Вставить("Статус", СтатусыРезультатаТестирования.НеизвестнаяОшибка); - стИнфоОшибки = СкопироватьИнформациюОбОшибке(ИнфоОшибки); - КонецЕсли; - - ПредставлениеТестовогоСлучая = СтрокаДереваТестов.Имя; - СтруктураОшибки.Вставить("ИмяТестовогоНабора", СтрокаДереваТестов.ИмяТестовогоНабора); - СтруктураОшибки.Вставить("ИмяТестовогоСлучая", ПредставлениеТестовогоСлучая); - СтруктураОшибки.Вставить("Описание", ТекстОшибки); - СтруктураОшибки.Вставить("ИнфоОшибки", стИнфоОшибки); - СтруктураОшибки.Вставить("ЕстьПараметрыТеста", СтрокаДереваТестов.ЕстьПараметрыТеста); - СтруктураОшибки.Вставить("ПараметрыТеста", СтрокаДереваТестов.ПараметрыТеста); - СтруктураОшибки.Вставить("ПолныйПуть", СтрокаДереваТестов.ПолныйПуть); - СтруктураОшибки.Вставить("УИДСтрокиДерева", СтрокаДереваТестов._guid); - - СтрокаДереваТестов.СписокОшибок.Добавить(СтруктураОшибки); - СписокОшибок.Добавить(СтруктураОшибки); - - НужныйТекстОшибки = ВывестиОшибку(СтруктураОшибки); - - Если РегистрироватьОшибкуВЖР Тогда - ЗарегистрироватьОшибкуТестаСервер(НужныйТекстОшибки, ПредставлениеТестовогоСлучая, СтрокаДереваТестов.ПолныйПуть); - КонецЕсли; - - Если СостояниеВыполнения = ЗначенияСостоянияТестов.НеРеализован Тогда - ОповеститьОСобытии("TestNotImplemented", СтрокаДереваТестов); - Иначе - ОповеститьОСобытии("TestFailed", СтрокаДереваТестов); - КонецЕсли; - - УстановитьДанныеТекущегоТеста(Неопределено); - - Возврат СостояниеВыполнения; - -КонецФункции - -&НаКлиенте -Функция СкопироватьИнформациюОбОшибке(Знач ИнфоОшибки) - - стИнфоОшибки = Новый Структура("ИмяМодуля, ИсходнаяСтрока, НомерСтроки, Описание"); - ЗаполнитьЗначенияСвойств(стИнфоОшибки, ИнфоОшибки); - стИнфоОшибки.Вставить("Причина", Неопределено); - - стИнфоОшибкиЦикл = стИнфоОшибки; - ИнфоОшибки = ИнфоОшибки.Причина; - Пока ИнфоОшибки <> Неопределено Цикл - стИнфоОшибкиЦикл.Причина = Новый Структура("ИмяМодуля, ИсходнаяСтрока, НомерСтроки, Описание"); - стИнфоОшибкиЦикл = стИнфоОшибкиЦикл.Причина; - ЗаполнитьЗначенияСвойств(стИнфоОшибкиЦикл, ИнфоОшибки); - стИнфоОшибкиЦикл.Вставить("Причина", Неопределено); - - ИнфоОшибки = ИнфоОшибки.Причина; - КонецЦикла; - - Возврат стИнфоОшибки; - -КонецФункции - -&НаКлиенте -Функция ЭтоОшибкаПроверки(ТекстОшибки) - - Возврат Найти(ТекстОшибки, "[" + СтатусыРезультатаТестирования.ОшибкаПроверки + "]") = 1; - -КонецФункции - -&НаКлиенте -Функция ЭтоПропущенныйТест(ТекстОшибки) - - Возврат Найти(ТекстОшибки, "["+ СтатусыРезультатаТестирования.ТестПропущен + "]") = 1; - -КонецФункции - -&НаКлиенте -Функция ОповеститьОСобытии(ИмяСобытия, Аргумент1 = Неопределено) - рез = Истина; - Если MiddleMan <> Неопределено Тогда - Попытка - Выполнить("MiddleMan." + ИмяСобытия + "(Аргумент1);"); - Исключение - рез = Ложь; - КонецПопытки; - КонецЕсли; - - Оповестить("xUnitFor1C." + ИмяСобытия, Аргумент1); - - Возврат рез; -КонецФункции - -&НаКлиенте -Функция ЗапомнитьСамоеХудшееСостояние(ТекущееСостояние, НовоеСостояние) - ТекущееСостояние = Макс(ТекущееСостояние, НовоеСостояние); // TODO некоторый хак, который зависит от порядка заполнения в мЗначенияСостоянияТестов - Возврат ТекущееСостояние; -КонецФункции - -&НаСервере -Процедура ЗарегистрироватьНачалоПрохожденияТестаСервер(ИмяТестовогоСлучая, ПолныйПуть) - Объект().ЗарегистрироватьНачалоПрохожденияТеста(ИмяТестовогоСлучая, ПолныйПуть); -КонецПроцедуры - -&НаСервере -Процедура ЗарегистрироватьОшибкуТестаСервер(НужныйТекстОшибки, ИмяТестовогоСлучая, ПолныйПуть) - Объект().ЗарегистрироватьОшибкуТеста(НужныйТекстОшибки, ИмяТестовогоСлучая, ПолныйПуть); -КонецПроцедуры - -&НаКлиенте -Функция ИдентификаторПустогоКонтекста() - Возврат "UF_xUnitFor1C_Empty"; -КонецФункции - -//////////////////////////////////////////////////////////////////////////////// -// КОНТРОЛЬ СОСТОЯНИЯ ВЫПОЛНЕНИЯ НАБОРОВ ТЕСТОВ - -&НаКлиенте -Процедура ИнициализироватьСостояниеВыполненияНаборовТестов(ЗапускаемыеТесты) - - Объект.СостояниеВыполненияНаборовТестов = Новый Структура; - - Для Каждого ИдентификаторТеста Из ЗапускаемыеТесты Цикл - - ТестовыйМетод = Объект.ДеревоТестов.НайтиПоИдентификатору(ИдентификаторТеста); - ЗарегистрироватьТестовыйМетодКЗапуску(ТестовыйМетод); - - КонецЦикла; - -КонецПроцедуры - -&НаКлиенте -Процедура ЗарегистрироватьТестовыйМетодКЗапуску(ТестовыйМетод) - - Состояние = СостояниеВыполненияНабораТестовТестовогоМетода(Тестовыйметод); - Если Состояние = Неопределено Тогда - Состояние = ДобавитьСостояниеВыполненияНабораТестовТестовогоМетода(ТестовыйМетод); - КонецЕсли; - - Состояние.ТестыКЗапуску.Вставить(ИдентификаторПоУИД(ТестовыйМетод._GUID)); - -КонецПроцедуры - -&НаКлиенте -Функция ДобавитьСостояниеВыполненияНабораТестовТестовогоМетода(ТестовыйМетод) - - Состояние = Новый Структура; - Состояние.Вставить("ЭтоПервыйТестВНаборе", Истина); - Состояние.Вставить("ТестыКЗапуску", Новый Структура); - - Объект.СостояниеВыполненияНаборовТестов.Вставить(ИдентификаторТестовогоНабора(ТестовыйМетод), Состояние); - Возврат Состояние; - -КонецФункции - -&НаКлиенте -Процедура УчестьЗапускТеста(ТестовыйМетод) - - Состояние = СостояниеВыполненияНабораТестовТестовогоМетода(Тестовыйметод); - Состояние.ТестыКЗапуску.Удалить(ИдентификаторПоУИД(ТестовыйМетод._GUID)); - Состояние.ЭтоПервыйТестВНаборе = Ложь; - -КонецПроцедуры - -&НаКлиенте -Функция ЭтоПервыйТестовыйМетодНабора(ТестовыйМетод) - - Состояние = СостояниеВыполненияНабораТестовТестовогоМетода(Тестовыйметод); - Возврат Состояние.ЭтоПервыйТестВНаборе; - -КонецФункции - -&НаКлиенте -Функция ЭтоПоследнийТестовыйМетодНабора(ТестовыйМетод) - - Состояние = СостояниеВыполненияНабораТестовТестовогоМетода(Тестовыйметод); - Возврат (Состояние.ТестыКЗапуску.Количество() = 0); - -КонецФункции - -&НаКлиенте -Функция СостояниеВыполненияНабораТестовТестовогоМетода(Тестовыйметод) - Перем Состояние; - - Объект.СостояниеВыполненияНаборовТестов.Свойство(ИдентификаторТестовогоНабора(ТестовыйМетод), Состояние); - Возврат Состояние; - -КонецФункции - -&НаКлиенте -Функция ИдентификаторТестовогоНабора(ТестовыйМетод) - - ТестовыйНабор = ТестовыйМетод.ПолучитьРодителя(); - Возврат ИдентификаторПоУИД(ТестовыйНабор._GUID) + ТестовыйМетод.ИмяОсновнойУправляемойФормы; - -КонецФункции - -&НаКлиентеНаСервереБезКонтекста -Функция ИдентификаторПоУИД(УИД) - - Возврат "_" + СтрЗаменить(УИД, "-", "_"); - -КонецФункции - -//////////////////////////////////////////////////////////////////////////////// -// ФОРМИРОВАНИЕ ОТЧЕТА О ТЕСТИРОВАНИИ - -&НаКлиенте -Процедура ОбработатьОтчетТестирования(датаНачалаТестирования) - - ОтчетТестирования = ПолучитьОтчетТестирования(датаНачалаТестирования, ТипОтчетаОТестировании); - - Если ОтчетТестирования <> Неопределено Тогда - ПоказатьОтчетТестирования(ОтчетТестирования); - Если Не ПустаяСтрока(ПутьОтчетаТестирования) Тогда - ЗаписатьФайлОтчетТестирования(ОтчетТестирования); - КонецЕсли; - Иначе // все тесты прошли - Если Не ПустаяСтрока(ПутьОтчетаТестирования) Тогда - УдалитьФайлыОтчетовТестирования(); - КонецЕсли; - КонецЕсли; - -КонецПроцедуры - -// Возвращаем Неопределено, если все тесты прошли -&НаСервере -Функция ПолучитьОтчетТестирования(Знач датаНачалаТестирования, Знач ТипОтчета = "mxl") Экспорт - Возврат Объект().ПолучитьОтчетТестирования(РеквизитФормыВЗначение("Объект.ДеревоТестов"), датаНачалаТестирования, ТипОтчета, СписокОшибок, ВсегоТестов); -КонецФункции - -&НаКлиенте -Процедура ПоказатьОтчетТестирования(Отчет) - - ЗаголовокОкнаОтчета = СтрЗаменить(НСтр("ru = 'Отчет об автоматическом тестировании, xUnitFor1C v.%1'"), "%1", ВерсияСервер()); - - ТипКонтейнераОтчета = ТипЗнч(Отчет); - Если ТипКонтейнераОтчета = Тип("ТабличныйДокумент") Тогда - Отчет.Показать(ЗаголовокОкнаОтчета); - ИначеЕсли ТипКонтейнераОтчета = Тип("ТекстовыйДокумент") Тогда - Отчет.Показать(ЗаголовокОкнаОтчета); - Иначе - Текст = Новый ТекстовыйДокумент; - Текст.УстановитьТекст(Строка(Отчет)); - Текст.Показать(ЗаголовокОкнаОтчета); - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ЗаписатьФайлОтчетТестирования(Отчет) - - Попытка - ТипКонтейнераОтчета = ТипЗнч(Отчет); - Если ТипКонтейнераОтчета = Тип("ТекстовыйДокумент") Тогда - Отчет.Записать(ПутьОтчетаТестирования); - ИначеЕсли ТипКонтейнераОтчета = Тип("ТабличныйДокумент") Тогда - Отчет.Записать(ПутьОтчетаТестирования, ТипФайлаТабличногоДокумента[ТипОтчетаОТестировании]); - Иначе - Текст = Новый ТекстовыйДокумент; - Текст.УстановитьТекст(Строка(Отчет)); - Текст.Записать(ПутьОтчетаТестирования); - КонецЕсли; - Исключение - КонецПопытки; - -КонецПроцедуры - -&НаКлиенте -Процедура УдалитьФайлыОтчетовТестирования() - - Если ЕстьПоддержкаАсинхронныхВызовов Тогда - Выполнить("НачатьУдалениеФайлов(, ПутьОтчетаТестирования)"); - Иначе - Попытка - УдалитьФайлы(ПутьОтчетаТестирования); - Исключение - КонецПопытки; - КонецЕсли; - -КонецПроцедуры - -&НаКлиентеНаСервереБезКонтекста -Процедура УстановитьТипОтчетаТестирования(Ю_Тест, ТипОтчета); - - Если ЗначениеЗаполнено(ТипОтчета) Тогда - Ю_Тест.ТипОтчетаОТестировании = ТипОтчета; - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура УстановитьПутьОтчетаТестирования(Путь, Имя = ""); - - ПутьОтчетаТестирования = ДополнитьСлешВПуть(Путь) + ?(ЗначениеЗаполнено(Имя), Имя, "лог_тестирования." + РасширениеФайлаПоТипуОтчета(ТипОтчетаОТестировании)); - -КонецПроцедуры - -&НаКлиенте -Функция РасширениеФайлаПоТипуОтчета(ТипОтчета) - - Возврат ТипОтчета; - -КонецФункции - -//////////////////////////////////////////////////////////////////////////////// -// ИСТОРИЯ ВЫБОРА ТЕСТОВ - -&НаСервере -Процедура ДобавитьВИсториюКонтекст(ИмяИстории, Путь) - - ДобавитьВИсторию(ЭтаФорма, ИмяИстории, Путь, ДлинаИстории, "Подключаемый_КомандаЗагрузитьТестыИзИстории"); - -КонецПроцедуры - -&НаСервереБезКонтекста -Процедура ДобавитьВИсторию(Форма, ИмяИстории, Путь, ДлинаИстории, Действие) - - История = Форма[ИмяИстории]; - Элементы = Форма.Элементы; - Команды = Форма.Команды; - - Если ТипЗнч(Путь) <> Тип("Массив") Тогда - Пути = Новый Массив; - Пути.Добавить(Путь); - Иначе - Пути = Путь; - КонецЕсли; - - Для Каждого ВыбранныйПуть Из Пути Цикл - Элемент = История.НайтиПоЗначению(ВыбранныйПуть); - Если Элемент = Неопределено Тогда - История.Вставить(0, ВыбранныйПуть); - Если История.Количество() = ДлинаИстории + 1 Тогда - История.Удалить(ДлинаИстории); - Иначе - Команда = Команды.Добавить(ИмяИстории + Формат(История.Количество() - 1, "ЧН=0; ЧГ=0")); - Команда.Действие = Действие; - ПунктМеню = Элементы.Добавить(Команда.Имя, Тип("КнопкаФормы"), Элементы[ИмяИстории]); - ПунктМеню.ИмяКоманды = Команда.Имя; - КонецЕсли; - Иначе - Индекс = История.Индекс(Элемент); - Если Индекс > 0 Тогда - История.Сдвинуть(Элемент, -Индекс); - КонецЕсли; - КонецЕсли; - КонецЦикла; - - Для Каждого Элемент Из История Цикл - ПунктМеню = Элементы[ИмяИстории + Формат(История.Индекс(Элемент), "ЧН=0; ЧГ=0")]; - ПунктМеню.Заголовок = Элемент.Значение; - КонецЦикла; - -КонецПроцедуры - -&НаСервере -Процедура ВосстановитьИсторию(ИмяИстории, История) - - КоличествоПунктовИстории = История.Количество(); - Для Индекс = 1 По КоличествоПунктовИстории Цикл - ДобавитьВИсториюКонтекст(ИмяИстории, История[КоличествоПунктовИстории - Индекс]); - КонецЦикла; - -КонецПроцедуры - -//////////////////////////////////////////////////////////////////////////////// -// НАСТРОЙКИ - -&НаСервере -Процедура ИнициализироватьНастройки() - - УстановитьЗначенияНастроекПоУмолчанию(ЭтаФорма); - ВосстановитьНастройки(); - ПривестиИнерфейсВСоответствиеСНастройками(ЭтаФорма); - -КонецПроцедуры - -&НаКлиентеНаСервереБезКонтекста -Процедура УстановитьЗначенияНастроекПоУмолчанию(Ю_Тест) - - Ю_Тест.ДлинаИстории = 10; - - Объект = Ю_Тест.Объект; - Объект.РегистрацияПрохожденияТестовВЖР = Ложь; - Объект.РегистрацияОшибокТестовВЖР = Ложь; - Объект.РежимОтладки = Ложь; - Объект.СлучайныйПорядокВыполнения = Ложь; - - Ю_Тест.Пути.Очистить(); - - УстановитьТипОтчетаТестирования(Ю_Тест, "mxl"); - -КонецПроцедуры - -&НаСервере -Процедура СохранитьНастройки() - - Настройки = ХранилищеОбщихНастроек.Загрузить("xUnitFor1C"); - Если ТипЗнч(Настройки) <> Тип("Структура") Тогда - Настройки = Новый Структура; - КонецЕсли; - - Настройки.Вставить("РегистрацияПрохожденияТестовВЖР", Объект.РегистрацияПрохожденияТестовВЖР); - Настройки.Вставить("РегистрацияОшибокТестовВЖР", Объект.РегистрацияОшибокТестовВЖР); - Настройки.Вставить("РежимОтладки", Объект.РежимОтладки); - Настройки.Вставить("СлучайныйПорядокВыполнения", Объект.СлучайныйПорядокВыполнения); - - Настройки.Вставить("Пути", Пути.ВыгрузитьЗначения()); - - Настройки.Вставить("ДлинаИстории", ДлинаИстории); - Настройки.Вставить("ИсторияВыбораМест", ИсторияВыбораМест.ВыгрузитьЗначения()); - Настройки.Вставить("ИсторияВыбораФайлов", ИсторияВыбораФайлов.ВыгрузитьЗначения()); - - ХранилищеОбщихНастроек.Сохранить("xUnitFor1C",, Настройки); - - СброситьПризнак_БылаОшибкаПриПредыдущейЗагрузкеСервер(); - -КонецПроцедуры - -&НаСервере -Процедура ВосстановитьНастройки() - - Настройки = ХранилищеОбщихНастроек.Загрузить("xUnitFor1C"); - Если ТипЗнч(Настройки) = Тип("Структура") Тогда - - Настройки.Свойство("РегистрацияПрохожденияТестовВЖР", Объект.РегистрацияПрохожденияТестовВЖР); - Настройки.Свойство("РегистрацияОшибокТестовВЖР", Объект.РегистрацияОшибокТестовВЖР); - Настройки.Свойство("РежимОтладки", Объект.РежимОтладки); - Настройки.Свойство("СлучайныйПорядокВыполнения", Объект.СлучайныйПорядокВыполнения); - - Если Настройки.Свойство("Пути") Тогда - Пути.ЗагрузитьЗначения(Настройки.Пути); - КонецЕсли; - - Если Настройки.Свойство("ДлинаИстории") И ЗначениеЗаполнено(Настройки.ДлинаИстории) Тогда - ДлинаИстории = Настройки.ДлинаИстории; - КонецЕсли; - Если Настройки.Свойство("ИсторияВыбораМест") Тогда - ВосстановитьИсторию(Элементы.ИсторияВыбораМест.Имя, Настройки.ИсторияВыбораМест); - КонецЕсли; - Если Настройки.Свойство("ИсторияВыбораФайлов") Тогда - ВосстановитьИсторию(Элементы.ИсторияВыбораФайлов.Имя, Настройки.ИсторияВыбораФайлов); - КонецЕсли; - КонецЕсли; - -КонецПроцедуры - -&НаКлиентеНаСервереБезКонтекста -Процедура ПривестиИнерфейсВСоответствиеСНастройками(Ю_Тест) - - Элементы = Ю_Тест.Элементы; - Объект = Ю_Тест.Объект; - - Элементы.КомандаРегистрацияПрохожденияТестовВЖР.Пометка = Объект.РегистрацияПрохожденияТестовВЖР; - Элементы.КомандаРегистрацияОшибокТестовВЖР.Пометка = Объект.РегистрацияОшибокТестовВЖР; - Элементы.КомандаСлучайныйПорядокВыполнения.Пометка = Объект.СлучайныйПорядокВыполнения; - Элементы.КомандаВключитьРежимОтладки.Пометка = Объект.РежимОтладки; - -КонецПроцедуры - -&НаСервере -Процедура СброситьПризнак_БылаОшибкаПриПредыдущейЗагрузкеСервер() - Объект().УстановитьНастройку_БылаОшибкаПриПредыдущейЗагрузке(Ложь); -КонецПроцедуры - -//////////////////////////////////////////////////////////////////////////////// -// ПРОЦЕДУРЫ И ФУНКЦИИ ОБЩЕГО НАЗНАЧЕНИЯ - -&НаКлиенте -Функция ФорматДСО(ДопСообщениеОшибки) - Если ДопСообщениеОшибки = "" Тогда - Возврат ""; - КонецЕсли; - - Возврат Символы.ПС + ДопСообщениеОшибки; -КонецФункции - -&НаКлиенте -Функция Новый_НаборТестов() Экспорт - Возврат Новый Массив; -КонецФункции - -&НаКлиенте -Функция НаборТестов_Добавить(НаборТестов, ИмяТестовогоСлучая, П1 = Неопределено, П2 = Неопределено, П3 = Неопределено, - П4 = Неопределено, П5 = Неопределено, П6 = Неопределено, П7 = Неопределено) Экспорт - НаборТестов.Добавить(ИмяТестовогоСлучая); - - Возврат НаборТестов; -КонецФункции - -&НаКлиентеНаСервереБезКонтекста -Функция ЕстьОшибка_МетодОбъектаНеОбнаружен(текстОшибки, имяМетода) - Возврат Найти(ТекстОшибки, "Метод объекта не обнаружен (" + ИмяМетода + ")") > 0 - Или Найти(ТекстОшибки, "Object method not found (" + ИмяМетода + ")") > 0; -КонецФункции - -// Функция ДополнитьСлешВПуть -// -// Параметры: -// ИмяКаталога -// -// Описание: -// Функция дополняет и возвращает слеш в путь в конец строки, если он отсутствует -// -&НаКлиенте -Функция ДополнитьСлешВПуть(Знач Каталог) - разделитель = "\"; - - СисИнфо = Новый СистемнаяИнформация; - Если Найти(Строка(СисИнфо.ТипПлатформы), "Linux")>0 Тогда - разделитель = "/"; - КонецЕсли; - - Если Прав(Каталог, 1) <> разделитель Тогда - Каталог = Каталог + разделитель; - КонецЕсли; - Возврат Каталог; -КонецФункции - - -// } - - -// Экспорт нужен для тестов -&НаКлиенте -Функция ОткрытьИнструмент(ИмяИнструмента) Экспорт - - Если Не ЭтоВстроеннаяОбработка Тогда - Если ЕстьПоддержкаАсинхронныхВызовов Тогда - Оповещение = Вычислить("Новый ОписаниеОповещения(""ОткрытьИнструментПослеПоискаЗапускателяТестов"", ЭтотОбъект, ИмяИнструмента)"); - Выполнить("НачатьПоискФайлов(Оповещение, ИспользуемоеИмяФайла);"); - Иначе - НайденныеФайлы = НайтиФайлы(ИспользуемоеИмяФайла); - Возврат ОткрытьИнструментПослеПоискаЗапускателяТестов(НайденныеФайлы, ИмяИнструмента); - КонецЕсли; - Иначе - ИмяОбработки = ИмяИнструмента; - Если Не ЕстьВстроеннаяОбработкаСервер(ИмяОбработки) Тогда - Сообщить(СтрЗаменить(НСтр("ru = 'Инструмент/встроенная обработка <%1> не найден в конфигурации'"), "%1", ИмяИнструмента)); - Возврат Неопределено; - КонецЕсли; - Возврат ОткрытьИнструментПослеПолученияОбработки(ИмяОбработки, ИмяИнструмента); - КонецЕсли; - -КонецФункции - -&НаКлиенте -Функция ОткрытьИнструментПослеПоискаЗапускателяТестов(НайденныеФайлы, ИмяИнструмента) Экспорт - - Если НайденныеФайлы.Количество() = 0 Тогда - Сообщить(НСтр("ru = 'Не удалось найти путь к xddTestRunner'")); - Сообщить(СтрЗаменить(НСтр("ru = 'Не удалось открыть инструмент <%1>'"), "%1", ИмяИнструмента)); - Возврат Неопределено; - КонецЕсли; - - ПутьВнешнихИнструментов = НайденныеФайлы[0].Путь; - - ПутьИнструмента = ПутьВнешнихИнструментов + ИмяИнструмента + ".epf"; - ДополнительныеПараметры = Новый Структура; - ДополнительныеПараметры.Вставить("ИмяИнструмента", ИмяИнструмента); - ДополнительныеПараметры.Вставить("ПутьИнструмента", ПутьИнструмента); - ДополнительныеПараметры.Вставить("ПутьВнешнихИнструментов", ПутьВнешнихИнструментов); - Если ЕстьПоддержкаАсинхронныхВызовов Тогда - Оповещение = Вычислить("Новый ОписаниеОповещения(""ОткрытьИнструментПослеПоискаИнструмента"", ЭтотОбъект, ДополнительныеПараметры)"); - Выполнить("НачатьПоискФайлов(Оповещение, ПутьИнструмента);"); - Иначе - НайденныеФайлы = НайтиФайлы(ИспользуемоеИмяФайла); - Возврат ОткрытьИнструментПослеПоискаИнструмента(НайденныеФайлы, ДополнительныеПараметры); - КонецЕсли; - -КонецФункции - -&НаКлиенте -Функция ОткрытьИнструментПослеПоискаИнструмента(НайденныеФайлы, ДополнительныеПараметры) Экспорт - - ИмяИнструмента = ДополнительныеПараметры.ИмяИнструмента; - ПутьИнструмента = ДополнительныеПараметры.ПутьИнструмента; - Если НайденныеФайлы.Количество() = 0 Тогда - Сообщить(СтрЗаменить(СтрЗаменить(НСтр("ru = 'Инструмент <%1> не найден в каталоге <%2>'"), "%1", ИмяИнструмента), "%2", ПутьИнструмента)); - Возврат Неопределено; - КонецЕсли; - - ИмяОбработки = ПодключитьНаСервереВнешнююОбработкуОтКлиента(ПутьИнструмента, Строка(Новый УникальныйИдентификатор())); - Возврат ОткрытьИнструментПослеПолученияОбработки(ИмяОбработки, ИмяИнструмента, ДополнительныеПараметры.ПутьВнешнихИнструментов); - -КонецФункции - -&НаКлиенте -Функция ОткрытьИнструментПослеПолученияОбработки(ИмяОбработки, ИмяИнструмента, ПутьВнешнихИнструментов = "") - - ИмяОсновнойУправляемойФормы = ПолучитьИмяОсновнойУправляемойФормы(ИмяОбработки); - Если ИмяОсновнойУправляемойФормы = "" Тогда - Сообщить(СтрЗаменить(НСтр("ru = 'Инструмент <%1>: не удалось вычислить основную управляемую форму по метаданным!'"), "%1", ИмяИнструмента)); - Возврат Неопределено; - КонецЕсли; - - ИдентификаторИнструмента = ?(ЭтоВстроеннаяОбработка, "Обработка", "ВнешняяОбработка") + "." + ИмяОбработки; - ФормаИнструмента = ПолучитьФорму(ИдентификаторИнструмента + ".Форма." + ИмяОсновнойУправляемойФормы); - Если ФормаИнструмента = Неопределено Тогда - Сообщить(СтрЗаменить(НСтр("ru = 'Инструмент <%1>: не удалось получить основную управляемую форму!'"), "%1", ИмяИнструмента)); - Возврат Неопределено; - КонецЕсли; - - Если Не ЭтоВстроеннаяОбработка Тогда - Попытка - ФормаИнструмента.ПутьОбработкиЗапускателяТестов = ПутьВнешнихИнструментов; - Исключение - КонецПопытки; - КонецЕсли; - - ОткрытьФорму(ФормаИнструмента); - Возврат ФормаИнструмента; - -КонецФункции - -&НаКлиенте -Функция МетаданныеИмя() Экспорт - Возврат МетаданныеИмяСервер(); -КонецФункции - -&НаСервере -Функция МетаданныеИмяСервер() - ОсновнойОбъект = Объект(); - НайденноеИмя = ОсновнойОбъект.Метаданные().Имя; - - Возврат НайденноеИмя; -КонецФункции - - - -&НаКлиенте -Процедура ИнициализироватьИндикаторВыполнения(КоличествоТестовыхСлучаев = 0) - - Элементы.ИндикаторВыполнения.МаксимальноеЗначение = КоличествоТестовыхСлучаев; - ИндикаторВыполнения = 0; //Элементы.ИндикаторВыполнения.Значение = 1; - Элементы.ИндикаторВыполнения.ЦветРамки = Новый Цвет(0, 174, 0); // Зеленый. - - ОбновитьОтображениеДанных(); -КонецПроцедуры - -&НаКлиентеНаСервереБезКонтекста -// Сравнить две строки версий. -// -// Параметры -// СтрокаВерсии1 - Строка - номер версии в формате РР.{П|ПП}.ЗЗ.СС -// СтрокаВерсии2 - Строка - второй сравниваемый номер версии -// -// Возвращаемое значение: -// Число - больше 0, если СтрокаВерсии1 > СтрокаВерсии2; 0, если версии равны. -// -Функция СравнитьВерсии(Знач СтрокаВерсии1, Знач СтрокаВерсии2) Экспорт - - Строка1 = ?(ПустаяСтрока(СтрокаВерсии1), "0.0.0.0", СтрокаВерсии1); - Строка2 = ?(ПустаяСтрока(СтрокаВерсии2), "0.0.0.0", СтрокаВерсии2); - Версия1 = РазложитьСтрокуВМассивПодстрок(Строка1, "."); - Если Версия1.Количество() <> 4 Тогда - ВызватьИсключение СтрЗаменить(НСтр("ru = 'Неправильный формат параметра СтрокаВерсии1: %1'"), "%1", СтрокаВерсии1); - КонецЕсли; - Версия2 = РазложитьСтрокуВМассивПодстрок(Строка2, "."); - Если Версия2.Количество() <> 4 Тогда - ВызватьИсключение СтрЗаменить(НСтр("ru = 'Неправильный формат параметра СтрокаВерсии2: %1'"), "%1", СтрокаВерсии2); - КонецЕсли; - - Результат = 0; - Для Разряд = 0 По 3 Цикл - Результат = Число(Версия1[Разряд]) - Число(Версия2[Разряд]); - Если Результат <> 0 Тогда - Возврат Результат; - КонецЕсли; - КонецЦикла; - Возврат Результат; - -КонецФункции - -&НаКлиентеНаСервереБезКонтекста -Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",", Знач ПропускатьПустыеСтроки = Неопределено, СокращатьНепечатаемыеСимволы = Ложь) Экспорт - - Результат = Новый Массив; - - // для обеспечения обратной совместимости - Если ПропускатьПустыеСтроки = Неопределено Тогда - ПропускатьПустыеСтроки = ?(Разделитель = " ", Истина, Ложь); - Если ПустаяСтрока(Строка) Тогда - Если Разделитель = " " Тогда - Результат.Добавить(""); - КонецЕсли; - Возврат Результат; - КонецЕсли; - КонецЕсли; - // - - Позиция = Найти(Строка, Разделитель); - Пока Позиция > 0 Цикл - Подстрока = Лев(Строка, Позиция - 1); - Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Подстрока) Тогда - Если СокращатьНепечатаемыеСимволы Тогда - Результат.Добавить(СокрЛП(Подстрока)); - Иначе - Результат.Добавить(Подстрока); - КонецЕсли; - КонецЕсли; - Строка = Сред(Строка, Позиция + СтрДлина(Разделитель)); - Позиция = Найти(Строка, Разделитель); - КонецЦикла; - - Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Строка) Тогда - Если СокращатьНепечатаемыеСимволы Тогда - Результат.Добавить(СокрЛП(Строка)); - Иначе - Результат.Добавить(Строка); - КонецЕсли; - КонецЕсли; - - Возврат Результат; - -КонецФункции - -&НаКлиентеНаСервереБезКонтекста -Функция СкопироватьСтруктуру(Знач Источник, Знач СписокПолей = "", Знач ИсключаемыеПоля = "") - - Если Не ПустаяСтрока(СписокПолей) Тогда - Приемник = Новый Структура(СписокПолей); - ЗаполнитьЗначенияСвойств(Приемник, Источник); - Иначе - Если ПустаяСтрока(ИсключаемыеПоля) Тогда - Исключить = Новый Структура; - Иначе - Исключить = Новый Структура(ИсключаемыеПоля); - КонецЕсли; - Приемник = Новый Структура; - Для Каждого КлючЗначение Из Источник Цикл - Если Не Исключить.Свойство(КлючЗначение.Ключ) Тогда - Приемник.Вставить(КлючЗначение.Ключ, КлючЗначение.Значение); - КонецЕсли; - КонецЦикла; - КонецЕсли; - - Возврат Приемник; - -КонецФункции - -//} +&НаКлиенте Перем КэшФормПлагинов; &НаКлиенте Перем ПодключенныеВнешниеОбработки; // { События формы &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ОбъектНаСервере = РеквизитФормыВЗначение("Объект"); ЭтаФорма.Заголовок = ОбъектНаСервере.ЗаголовокФормы(); ИспользуемоеИмяФайла = ОбъектНаСервере.ИспользуемоеИмяФайла; ОбновитьКомандыИсторииЗагрузкиТестов(); КонецПроцедуры &НаКлиенте Процедура ПриОткрытии() ЗагрузитьПлагины(); КэшироватьПеречисленияПлагинов(); СброситьПодключенныеВнешниеОбработки(); ЭтоПакетныйЗапуск = ЗначениеЗаполнено(ПараметрЗапуска); Если ЭтоПакетныйЗапуск Тогда ВыполнитьПакетныйЗапуск(ПараметрЗапуска); Иначе ПерезагрузитьПоследниеТестыПоИстории(); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ПриЗакрытии() ПриЗакрытииНаСервере(); КонецПроцедуры &НаСервере Процедура ПриЗакрытииНаСервере() ЭтотОбъектНаСервере().СохранитьНастройки(); КонецПроцедуры &НаКлиенте Процедура ОбработатьСобытиеВыполненияТестов(Знач ИмяСобытия, Знач Параметр) Экспорт Если ИмяСобытия = Объект.ВозможныеСобытия.ВыполненТестовыйМетод Тогда Если Параметр.Состояние = Объект.СостоянияТестов.НеРеализован Тогда Если Элементы.ИндикаторВыполнения.ЦветРамки <> WebЦвета.Красный Тогда Элементы.ИндикаторВыполнения.ЦветРамки = WebЦвета.Золотой; КонецЕсли; ИначеЕсли Параметр.Состояние = Объект.СостоянияТестов.Сломан Тогда Элементы.ИндикаторВыполнения.ЦветРамки = WebЦвета.Красный; КонецЕсли; ИндикаторВыполнения = ИндикаторВыполнения + 1; КонецЕсли; ОбновитьОтображениеДанных(); КонецПроцедуры // } События формы // { Управляющие воздействия пользователя &НаКлиенте Процедура ЗагрузитьТестыПоУмолчанию(Команда) ЗагрузчикПоУмолчанию = ЗагрузчикПоУмолчанию(); ИдентификаторЗагрузчикаПоУмолчанию = ЗагрузчикПоУмолчанию.ОписаниеПлагина(Объект.ТипыПлагинов).Идентификатор; Подключаемый_ИнтерактивныйВызовЗагрузчика(Новый Структура("Имя", ИдентификаторЗагрузчикаПоУмолчанию)); КонецПроцедуры &НаКлиенте Процедура КомандаВыполнитьВсеТесты(Команда) ВыполнитьТестыНаКлиенте(); КонецПроцедуры &НаКлиенте Процедура ВыполнитьТестыНаКлиенте(Знач Фильтр = Неопределено) Если ЗначениеЗаполнено(ЭтаФорма.ДеревоОтЗагрузчика) Тогда ОчиститьСообщения(); КоличествоТестовыхМетодов = ПолучитьКоличествоТестовыхМетодов(ЭтаФорма.ДеревоОтЗагрузчика, Фильтр); ИнициализироватьИндикаторВыполнения(КоличествоТестовыхМетодов); СброситьПодключенныеВнешниеОбработки(); РезультатыТестирования = ВыполнитьТесты(Плагин(ИдентификаторЗагрузчика), ЭтаФорма.ДеревоОтЗагрузчика, Фильтр, ЭтаФорма); ОбновитьДеревоТестовНаОснованииРезультатовТестирования(ДеревоТестов.ПолучитьЭлементы()[0], РезультатыТестирования); ГенераторОтчетаMXL = Плагин("ГенераторОтчетаMXL"); Отчет = ГенераторОтчетаMXL.СоздатьОтчет(ЭтаФорма, РезультатыТестирования); ГенераторОтчетаMXL.Показать(Отчет); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура КомандаВыполнитьВыделенныеТесты(Команда) Фильтр = Новый Массив; ВыделенныеСтроки = Элементы.ДеревоТестов.ВыделенныеСтроки; Для каждого ИдентификаторВыделеннойСтроки Из ВыделенныеСтроки Цикл ВыделеннаяСтрока = ДеревоТестов.НайтиПоИдентификатору(ИдентификаторВыделеннойСтроки); Фильтр.Добавить(Новый УникальныйИдентификатор(ВыделеннаяСтрока.Ключ)); КонецЦикла; Если Фильтр.Количество() > 0 Тогда ВыполнитьТестыНаКлиенте(Фильтр); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура КомандаПерезагрузитьФорму(Команда) Закрыть(); АдресХранилища = ""; ПоместитьФайл(АдресХранилища, ЭтаФорма.ИспользуемоеИмяФайла, , Ложь); ПодключитьФайлОбработкиНаСервере(АдресХранилища, Неопределено); НоваяФорма = ПолучитьФорму(ЭтаФорма.ИмяФормы,,,Истина); НоваяФорма.ИспользуемоеИмяФайла = ЭтаФорма.ИспользуемоеИмяФайла; НоваяФорма.Открыть(); КонецПроцедуры &НаКлиенте Процедура ПерезагрузитьПоследниеТестыПоИстории(Команда = Неопределено) ИсторияЗагрузкиТестов = Объект.Настройки.ИсторияЗагрузкиТестов; Если ИсторияЗагрузкиТестов.Количество() > 0 Тогда ЭлементИстории = ИсторияЗагрузкиТестов[0]; Попытка ЗагрузитьТесты(ЭлементИстории.ИдентификаторЗагрузчика, ЭлементИстории.Путь); Исключение // TODO Сообщить("Не удалось загрузить тесты из истории <" + ЭлементИстории.ИдентификаторЗагрузчика + ": " + ЭлементИстории.Путь + ">" + Символы.ПС + ОписаниеОшибки()); КонецПопытки; КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ГенераторМакетовДанных(Команда) ОткрытьИнструмент("СериализаторMXL", ПолучитьПутьКПлагинам()); КонецПроцедуры &НаКлиенте Процедура ПоказатьГУИД(Команда) ОткрытьИнструмент("xddGuidShow"); КонецПроцедуры &НаКлиенте Процедура КонвертерТестов(Команда) ОткрытьИнструмент("xddTestsConvertIntoRebornFormat"); КонецПроцедуры // } Управляющие воздействия пользователя // { Плагины &НаКлиенте Процедура ЗагрузитьПлагины() Объект.Плагины = Новый Структура; КэшФормПлагинов = Новый Структура; КаталогПлагинов = ПолучитьПутьКПлагинам(); НайденныеФайлы = НайтиФайлы(КаталогПлагинов, "*.epf", Ложь); ПомещаемыеФайлы = Новый Массив; ИдентификаторыПлагинов = Новый Соответствие; Для каждого ФайлОбработки Из НайденныеФайлы Цикл ПомещаемыйФайл = Новый ОписаниеПередаваемогоФайла(ФайлОбработки.ПолноеИмя); ПомещаемыеФайлы.Добавить(ПомещаемыйФайл); ИмяПлагина = ФайлОбработки.ИмяБезРасширения; ИдентификаторыПлагинов.Вставить(ФайлОбработки.ПолноеИмя, ИмяПлагина); КонецЦикла; ЗагруженныеФайлы = Новый Массив; Если ПомещаемыеФайлы.Количество() Тогда ПоместитьФайлы(ПомещаемыеФайлы, ЗагруженныеФайлы,,Ложь, ЭтаФорма.УникальныйИдентификатор); КонецЕсли; ОписанияПлагинов = ПодключитьПлагиныНаСервере(ЗагруженныеФайлы); Для Каждого ЗагруженныйФайл Из ЗагруженныеФайлы Цикл ИмяПлагина = ИдентификаторыПлагинов[ЗагруженныйФайл.Имя]; ОписаниеПлагина = ОписанияПлагинов[ЗагруженныйФайл.Имя]; Объект.Плагины.Вставить(ОписаниеПлагина.Идентификатор, ИмяПлагина); КэшФормПлагинов.Вставить(ОписаниеПлагина.Идентификатор, Истина); КонецЦикла; ДобавитьКомандыЗагрузчиковНаФорме(); КонецПроцедуры &НаСервере Функция ПодключитьПлагиныНаСервере(Знач ЗагружаемыеФайлы) ОписанияПлагинов = Новый Соответствие; Для Каждого ОписаниеФайла Из ЗагружаемыеФайлы Цикл ФайлОбъект = Новый Файл(ОписаниеФайла.Имя); ИмяПлагина = ФайлОбъект.ИмяБезРасширения; ПодключитьФайлОбработкиНаСервере(ОписаниеФайла.Хранение, ИмяПлагина); Попытка ОбъектОбработки = ВнешниеОбработки.Создать(ИмяПлагина, Ложь); ОбъектОбработки.Инициализация(ЭтотОбъектНаСервере()); ОписанияПлагинов.Вставить(ОписаниеФайла.Имя, ОбъектОбработки.ОписаниеПлагина(Объект.ТипыПлагинов)); Исключение Ошибка = "Возникла ошибка при загрузке плагина: "+ОписаниеФайла.Имя + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); Сообщить(Ошибка); Продолжить; КонецПопытки; КонецЦикла; Возврат Новый ФиксированноеСоответствие(ОписанияПлагинов); КонецФункции // ПодключитьПлагиныНаСервере() &НаКлиенте Процедура КэшироватьПеречисленияПлагинов() Объект.ТипыУзловДереваТестов = Плагин("ПостроительДереваТестов").Объект.ТипыУзловДереваТестов; КонецПроцедуры &НаКлиенте Функция Плагин(Знач Идентификатор) Экспорт ОбъектПлагин = КэшФормПлагинов[Идентификатор]; Если ОбъектПлагин = Неопределено Тогда ВызватьИсключение НСтр("ru = 'Неизвестный идентификатор плагина: <"+Идентификатор+">'"); ИначеЕсли ОбъектПлагин = Истина Тогда // загрузка клиентского плагина "По требованию" ИмяПлагина = Объект.Плагины[Идентификатор]; Попытка ОбъектПлагин = ПолучитьФорму("ВнешняяОбработка." + ИмяПлагина + ".Форма", , ЭтаФорма); КэшФормПлагинов.Вставить(Идентификатор, ОбъектПлагин); Исключение // TODO добавить поведение при отсутствии управляемой формы у плагина ВызватьИсключение; КонецПопытки; КонецЕсли; Возврат ОбъектПлагин; КонецФункции &НаСервере Процедура ДобавитьКомандыЗагрузчиковНаФорме() ОписанияЗагрузчиков = ПолучитьОписанияЗагрузчиковНаСервере(); Для каждого Описание Из ОписанияЗагрузчиков Цикл Команда = ЭтаФорма.Команды.Добавить(Описание.Идентификатор); Команда.Действие = "Подключаемый_ИнтерактивныйВызовЗагрузчика"; ПунктМеню = ЭтаФорма.Элементы.Добавить(Команда.Имя, Тип("КнопкаФормы"), ЭтаФорма.Элементы.ПлагиныЗагрузчики); ПунктМеню.Заголовок = Описание.Представление; ПунктМеню.ИмяКоманды = Команда.Имя; КонецЦикла; КонецПроцедуры &НаКлиенте Функция ПолучитьОписанияПлагиновПоТипу(Знач ТипПлагина) Экспорт Результат = ПолучитьОписанияПлагиновПоТипуНаСервере(ТипПлагина); Возврат Результат; КонецФункции &НаСервере Функция ПолучитьОписанияПлагиновПоТипуНаСервере(Знач ТипПлагина) ОбъектНаСервере = РеквизитФормыВЗначение("Объект"); Результат = ОбъектНаСервере.ПолучитьОписанияПлагиновПоТипу(ТипПлагина); Возврат Результат; КонецФункции &НаСервере Функция ПолучитьОписанияЗагрузчиковНаСервере() ОбъектНаСервере = РеквизитФормыВЗначение("Объект"); ОписанияЗагрузчиков = ОбъектНаСервере.ПолучитьОписанияПлагиновПоТипу(ОбъектНаСервере.ТипыПлагинов.Загрузчик); Возврат ОписанияЗагрузчиков; КонецФункции &НаКлиенте Функция ЗагрузчикПоУмолчанию() Экспорт Возврат Плагин("ЗагрузчикКаталога"); КонецФункции // } Плагины // { Работа с деревом тестов &НаКлиенте Процедура Подключаемый_ИнтерактивныйВызовЗагрузчика(Команда) ИдентификаторВыбранногоЗагрузчика = Команда.Имя; Путь = Плагин(ИдентификаторВыбранногоЗагрузчика).ВыбратьПутьИнтерактивно(); Если ЗначениеЗаполнено(Путь) Тогда ЗагрузитьТесты(ИдентификаторВыбранногоЗагрузчика, Путь); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ЗагрузитьТесты(Знач ИдентификаторВыбранногоЗагрузчика, Знач Путь) ИнициализироватьИндикаторВыполнения(); ЭтаФорма.ИдентификаторЗагрузчика = ИдентификаторВыбранногоЗагрузчика; ФормаЗагрузчика = Плагин(ИдентификаторВыбранногоЗагрузчика); Попытка ЭтаФорма.ДеревоОтЗагрузчика = ФормаЗагрузчика.Загрузить(ЭтаФорма, Путь); Исключение Сообщить(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); Возврат; КонецПопытки; ЭлементыДереваТестов = ЭтаФорма.ДеревоТестов.ПолучитьЭлементы(); ЭлементыДереваТестов.Очистить(); ЗаполнитьДеревоТестов(ЭтаФорма.ДеревоТестов, ДеревоОтЗагрузчика); КоличествоТестовыхСлучаев = ЗаполнитьКоличествоТестовыхСлучаевПоВсемуДеревуТестов(ЭтаФорма.ДеревоТестов); РазвернутьСтрокиДерева(КоличествоТестовыхСлучаев < 30); СохранитьВИсториюЗагрузкиТестовНаСервере(ИдентификаторВыбранногоЗагрузчика, Путь); ОбновитьКомандыИсторииЗагрузкиТестов(); КонецПроцедуры &НаКлиенте Процедура ЗаполнитьДеревоТестов(РодительскаяСтрокаДереваТестов, Знач КонтейнерДереваТестовЗагрузчика) СтрокаКонтейнера = РодительскаяСтрокаДереваТестов.ПолучитьЭлементы().Добавить(); СтрокаКонтейнера.Имя = КонтейнерДереваТестовЗагрузчика.Имя; СтрокаКонтейнера.ИконкаУзла = КонтейнерДереваТестовЗагрузчика.ИконкаУзла; СтрокаКонтейнера.Ключ = КонтейнерДереваТестовЗагрузчика.Ключ; Для каждого ЭлементКоллекции Из КонтейнерДереваТестовЗагрузчика.Строки Цикл Если ЭлементКоллекции.Тип = Объект.ТипыУзловДереваТестов.Контейнер Тогда ЗаполнитьДеревоТестов(СтрокаКонтейнера, ЭлементКоллекции); ИначеЕсли ЭлементКоллекции.Тип = Объект.ТипыУзловДереваТестов.Элемент Тогда СтрокаЭлемента = СтрокаКонтейнера.ПолучитьЭлементы().Добавить(); СтрокаЭлемента.Имя = ЭлементКоллекции.Представление; СтрокаЭлемента.Путь = ЭлементКоллекции.Путь; СтрокаЭлемента.ИконкаУзла = ЭлементКоллекции.ИконкаУзла; СтрокаЭлемента.Ключ = ЭлементКоллекции.Ключ; КонецЕсли; КонецЦикла; КонецПроцедуры &НаКлиенте Функция ЗаполнитьКоличествоТестовыхСлучаевПоВсемуДеревуТестов(РодительскаяСтрока) КоллекцияСтрок = РодительскаяСтрока.ПолучитьЭлементы(); Если КоллекцияСтрок.Количество() = 0 Тогда Возврат 1; КонецЕсли; ОбщееКоличествоТестов = 0; Для каждого СтрокаДерева из КоллекцияСтрок Цикл КоличествоТестовВСтроке = ЗаполнитьКоличествоТестовыхСлучаевПоВсемуДеревуТестов(СтрокаДерева); СтрокаДерева.КоличествоТестов = КоличествоТестовВСтроке; ОбщееКоличествоТестов = ОбщееКоличествоТестов + КоличествоТестовВСтроке; КонецЦикла; Возврат ОбщееКоличествоТестов; КонецФункции &НаКлиенте Процедура РазвернутьСтрокиДерева(Знач ВключаяПодчиненные = Ложь) Для каждого СтрокаДерева из ДеревоТестов.ПолучитьЭлементы() Цикл Идентификатор = СтрокаДерева.ПолучитьИдентификатор(); Элементы.ДеревоТестов.Развернуть(Идентификатор, ВключаяПодчиненные); КонецЦикла; КонецПроцедуры &НаКлиенте Процедура ОбновитьДеревоТестовНаОснованииРезультатовТестирования(УзелДереваТестов, Знач РезультатТестирования) УзелДереваТестов.Состояние = РезультатТестирования.Состояние; УзелДереваТестов.ВремяВыполнения = РезультатТестирования.ВремяВыполнения; Если РезультатТестирования.Тип = Объект.ТипыУзловДереваТестов.Контейнер Тогда Для каждого ДочернийРезультатТестирования Из РезультатТестирования.Строки Цикл ДочернийУзелДереваТестов = НайтиСтрокуВДеревеТестовПоКлючу(УзелДереваТестов, ДочернийРезультатТестирования.Ключ); ОбновитьДеревоТестовНаОснованииРезультатовТестирования(ДочернийУзелДереваТестов, ДочернийРезультатТестирования); КонецЦикла; ИначеЕсли РезультатТестирования.Тип = Объект.ТипыУзловДереваТестов.Элемент Тогда Если РезультатТестирования.Свойство("Сообщение") И ЗначениеЗаполнено(РезультатТестирования.Сообщение) Тогда Сообщить(РезультатТестирования.Сообщение, СтатусСообщения.ОченьВажное); КонецЕсли; КонецЕсли; КонецПроцедуры &НаКлиенте Функция НайтиСтрокуВДеревеТестовПоКлючу(УзелДереваТестов, Знач Ключ) Результат = Неопределено; Для каждого ЭлементКоллекции Из УзелДереваТестов.ПолучитьЭлементы() Цикл Если ЭлементКоллекции.Ключ = Ключ Тогда Результат = ЭлементКоллекции; Прервать; КонецЕсли; КонецЦикла; Возврат Результат; КонецФункции // } Работа с деревом тестов // { Выполнение тестов &НаКлиенте Функция ПолучитьКоличествоТестовыхМетодов(Знач КонтейнерДереваТестов, Знач Фильтр = Неопределено) Экспорт Возврат ПолучитьКоличествоТестовыхМетодовНаСервере(КонтейнерДереваТестов, Фильтр); КонецФункции &НаСервере Функция ПолучитьКоличествоТестовыхМетодовНаСервере(Знач КонтейнерДереваТестов, Знач Фильтр) Возврат ЭтотОбъектНаСервере().ПолучитьКоличествоТестовыхМетодов(КонтейнерДереваТестов, Фильтр); КонецФункции &НаКлиенте Функция ВыполнитьТесты(Знач Загрузчик, Знач КонтейнерДереваТестов, Знач Фильтр = Неопределено, Знач Подписчик = Неопределено) Экспорт РезультатТестирования = СоздатьКонтейнерРезультатовТестирования(КонтейнерДереваТестов); ФильтрДляДочернихУзлов = Неопределено; Если Не УзелДереваТестовУдовлетворяетФильтру(КонтейнерДереваТестов, Фильтр) Тогда ФильтрДляДочернихУзлов = Фильтр; КонецЕсли; Если КонтейнерДереваТестов.СлучайныйПорядокВыполнения Тогда СтрокиКонтейнера = ПеремешатьМассив(КонтейнерДереваТестов.Строки); Иначе СтрокиКонтейнера = КонтейнерДереваТестов.Строки; КонецЕсли; Для каждого ДочернийУзел Из СтрокиКонтейнера Цикл ДочернийРезультатТестирования = Неопределено; Если ДочернийУзел.Тип = Объект.ТипыУзловДереваТестов.Контейнер Тогда ДочернийРезультатТестирования = ВыполнитьТесты(Загрузчик, ДочернийУзел, ФильтрДляДочернихУзлов, Подписчик); ИначеЕсли ДочернийУзел.Тип = Объект.ТипыУзловДереваТестов.Элемент Тогда Если УзелДереваТестовУдовлетворяетФильтру(ДочернийУзел, ФильтрДляДочернихУзлов) Тогда КонтекстВыполнения = ПолучитьКонтекстВыполненияПоПути(Загрузчик, ДочернийУзел.Путь); Объект.ТекущийКонтейнер = КонтейнерДереваТестов; ДочернийРезультатТестирования = ВыполнитьТестовыйМетод(КонтекстВыполнения, ДочернийУзел); КонтейнерДереваТестов.Контекст = Объект.ТекущийКонтейнер.Контекст; Если Подписчик <> Неопределено Тогда ОповеститьОСобытии(Подписчик, Объект.ВозможныеСобытия.ВыполненТестовыйМетод, ДочернийРезультатТестирования); КонецЕсли; КонецЕсли; КонецЕсли; Если ДочернийРезультатТестирования <> Неопределено Тогда РезультатТестирования.Строки.Добавить(ДочернийРезультатТестирования); РезультатТестирования.Состояние = ВыбратьХудшееСостояниеВыполненияТестов(РезультатТестирования.Состояние, ДочернийРезультатТестирования.Состояние); ЗаполнитьДанныеСтатистики(РезультатТестирования, ДочернийРезультатТестирования); Если Не КонтейнерДереваТестов.СлучайныйПорядокВыполнения И ДочернийРезультатТестирования.Состояние <> Объект.СостоянияТестов.Пройден Тогда Прервать; КонецЕсли; КонецЕсли; КонецЦикла; Если РезультатТестирования.Строки.Количество() = 0 Тогда РезультатТестирования = Неопределено; КонецЕсли; Возврат РезультатТестирования; КонецФункции &НаКлиенте Функция УзелДереваТестовУдовлетворяетФильтру(Знач УзелДереваТестов, Знач Фильтр) Возврат (Фильтр = Неопределено) Или (Фильтр.Найти(УзелДереваТестов.Ключ) <> Неопределено); КонецФункции &НаКлиенте Функция ПолучитьКонтекстВыполненияПоПути(Знач Загрузчик, Знач Путь) КонтекстВыполнения = Загрузчик.ПолучитьКонтекстПоПути(ЭтаФорма, Путь); Возврат КонтекстВыполнения; КонецФункции &НаКлиенте Функция ЭтоСерверныйКонтекстВыполнения(Знач КонтекстВыполнения) Результат = ТипЗнч(КонтекстВыполнения) = Тип("ФиксированнаяСтруктура"); Возврат Результат; КонецФункции &НаКлиенте Процедура ЗаполнитьДанныеСтатистики(РезультатТестирования, Знач ДочернийРезультатТестирования) Если ДочернийРезультатТестирования.Тип = Объект.ТипыУзловДереваТестов.Контейнер Тогда РезультатТестирования.КоличествоТестов = РезультатТестирования.КоличествоТестов + ДочернийРезультатТестирования.КоличествоТестов; РезультатТестирования.КоличествоСломанныхТестов = РезультатТестирования.КоличествоСломанныхТестов + ДочернийРезультатТестирования.КоличествоСломанныхТестов; РезультатТестирования.КоличествоНеРеализованныхТестов = РезультатТестирования.КоличествоНеРеализованныхТестов + ДочернийРезультатТестирования.КоличествоНеРеализованныхТестов; РезультатТестирования.КоличествоОшибочныхТестов = РезультатТестирования.КоличествоОшибочныхТестов + ДочернийРезультатТестирования.КоличествоОшибочныхТестов; ИначеЕсли ДочернийРезультатТестирования.Тип = Объект.ТипыУзловДереваТестов.Элемент Тогда РезультатТестирования.КоличествоТестов = РезультатТестирования.КоличествоТестов + 1; Если ДочернийРезультатТестирования.Состояние = Объект.СостоянияТестов.Сломан Тогда РезультатТестирования.КоличествоСломанныхТестов = РезультатТестирования.КоличествоСломанныхТестов + 1; ИначеЕсли ДочернийРезультатТестирования.Состояние = Объект.СостоянияТестов.НеРеализован Тогда РезультатТестирования.КоличествоНеРеализованныхТестов = РезультатТестирования.КоличествоНеРеализованныхТестов + 1; ИначеЕсли ДочернийРезультатТестирования.Состояние = Объект.СостоянияТестов.НеизвестнаяОшибка Тогда РезультатТестирования.КоличествоОшибочныхТестов = РезультатТестирования.КоличествоОшибочныхТестов + 1; КонецЕсли; КонецЕсли; РезультатТестирования.ВремяВыполнения = РезультатТестирования.ВремяВыполнения + ДочернийРезультатТестирования.ВремяВыполнения; КонецПроцедуры &НаКлиенте Функция ВыбратьХудшееСостояниеВыполненияТестов(Знач Состояние1, Знач Состояние2) Возврат Макс(Состояние1, Состояние2); КонецФункции &НаКлиенте Функция ВыполнитьТестовыйМетод(Знач КонтекстВыполнения, Знач ЭлементДереваТестов) Перем РезультатТестирования; Если ЭтоСерверныйКонтекстВыполнения(КонтекстВыполнения) Тогда РезультатТестирования = ВыделитьТестовыйМетодНаСервереСОбработкойОшибокПередачиМеждуНаКлиентомИСервером(КонтекстВыполнения, ЭлементДереваТестов); Иначе РезультатТестирования = ВыполнитьТестовыйМетодНаКлиенте(КонтекстВыполнения, ЭлементДереваТестов); КонецЕсли; Возврат РезультатТестирования; КонецФункции &НаКлиенте Функция ВыполнитьТестовыйМетодНаКлиенте(Знач КонтекстВыполнения, Знач ЭлементДереваТестов) Экспорт РезультатТестирования = СоздатьЭлементРезультатовТестирования(ЭлементДереваТестов); НачалоВыполнения = ТекущаяУниверсальнаяДатаВМиллисекундах(); Если ВыполнитьИнициализациюКонтекста(КонтекстВыполнения, РезультатТестирования) Тогда Попытка ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(КонтекстВыполнения, ЭлементДереваТестов.ПередЗапускомТеста); ВыполнитьПроцедуруКонтекста(КонтекстВыполнения, ЭлементДереваТестов.ИмяМетода, ЭлементДереваТестов.Параметры); РезультатТестирования.Состояние = Объект.СостоянияТестов.Пройден; Исключение ИнформацияОбОшибке = ИнформацияОбОшибке(); ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); КраткийТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); Если ЕстьОшибка_МетодОбъектаНеОбнаружен(КраткийТекстОшибки, ЭлементДереваТестов.ИмяМетода) Тогда РезультатТестирования.Состояние = Объект.СостоянияТестов.НеРеализован; Сообщение = НСтр("ru = 'Отсутствует реализация тестового метода (%1).'"); РезультатТестирования.Сообщение = СтрЗаменить(Сообщение, "%1", ЭлементДереваТестов.ИмяМетода); Иначе РезультатТестирования.Сообщение = ТекстОшибки; Если ЭтоОшибкаПроверки(КраткийТекстОшибки) Тогда РезультатТестирования.Состояние = Объект.СостоянияТестов.Сломан; ИначеЕсли ЭтоПропущенныйТест(КраткийТекстОшибки) Тогда РезультатТестирования.Состояние = Объект.СостоянияТестов.НеРеализован; Иначе РезультатТестирования.Состояние = Объект.СостоянияТестов.НеизвестнаяОшибка; КонецЕсли; КонецЕсли; КонецПопытки; Попытка ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(КонтекстВыполнения, ЭлементДереваТестов.ПослеЗапускаТеста); Исключение ИнформацияОбОшибке = ИнформацияОбОшибке(); РезультатТестирования.Сообщение = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); КраткийТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); Если ЭтоОшибкаПроверки(КраткийТекстОшибки) Тогда РезультатТестирования.Состояние = Объект.СостоянияТестов.Сломан; Иначе РезультатТестирования.Состояние = Объект.СостоянияТестов.НеизвестнаяОшибка; КонецЕсли; КонецПопытки; КонецЕсли; ОкончаниеВыполнения = ТекущаяУниверсальнаяДатаВМиллисекундах(); РезультатТестирования.ВремяВыполнения = (ОкончаниеВыполнения - НачалоВыполнения) / 1000; Возврат РезультатТестирования; КонецФункции &НаКлиенте Функция ВыполнитьИнициализациюКонтекста(КонтекстВыполнения, РезультатТестирования) Попытка КонтекстВыполнения.Инициализация(ЭтаФорма); Возврат Истина; Исключение РезультатТестирования.Сообщение = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); РезультатТестирования.Состояние = Объект.СостоянияТестов.НеизвестнаяОшибка; КонецПопытки; Возврат Ложь; КонецФункции &НаКлиенте Функция ВыделитьТестовыйМетодНаСервереСОбработкойОшибокПередачиМеждуНаКлиентомИСервером(Знач КонтекстВыполнения, Знач ЭлементДереваТестов) Перем ПолныйТекстОшибки, РезультатТестирования; Попытка РезультатТестирования = ВыполнитьТестовыйМетодНаСервере(КонтекстВыполнения, ЭлементДереваТестов); Исключение ПолныйТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); РезультатТестирования = СоздатьЭлементРезультатовТестирования(ЭлементДереваТестов); РезультатТестирования.Сообщение = ПолныйТекстОшибки; РезультатТестирования.Состояние = Объект.СостоянияТестов.НеизвестнаяОшибка; КонецПопытки; Возврат РезультатТестирования; КонецФункции &НаСервере Функция ВыполнитьТестовыйМетодНаСервере(Знач ОписаниеКонтекста, Знач ЭлементДереваТестов) ОбъектНаСервере = ЭтотОбъектНаСервере(); Если ОписаниеКонтекста.ЭтоВнутренняяОбработка Тогда КонтекстВыполнения = Обработки[ОписаниеКонтекста.Идентификатор].Создать(); Иначе КонтекстВыполнения = ВнешниеОбработки.Создать(ОписаниеКонтекста.Идентификатор, Ложь); КонецЕсли; КонтекстВыполнения.Инициализация(ОбъектНаСервере); РезультатТестирования = ОбъектНаСервере.ВыполнитьТестовыйМетод(КонтекстВыполнения, ЭлементДереваТестов); Возврат РезультатТестирования; КонецФункции &НаКлиенте Процедура ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(Знач КонтекстВыполнения, Знач ИмяПроцедуры) Попытка ВыполнитьПроцедуруКонтекста(КонтекстВыполнения, ИмяПроцедуры); Исключение ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); Если Не ЕстьОшибка_МетодОбъектаНеОбнаружен(ТекстОшибки, ИмяПроцедуры) Тогда ВызватьИсключение; КонецЕсли; КонецПопытки; КонецПроцедуры &НаКлиенте Процедура ВыполнитьПроцедуруКонтекста(Знач КонтекстВыполнения, Знач ПроцедураКонтекста, Знач Параметры = Неопределено) СтрокаПараметров = СформироватьСтрокуПараметров(Параметры); ИcполняемыйКод = "КонтекстВыполнения." + ПроцедураКонтекста + "(" + СтрокаПараметров + ");"; Выполнить(ИcполняемыйКод); КонецПроцедуры &НаКлиенте Функция СформироватьСтрокуПараметров(Знач Параметры) СтрокаПараметров = ""; Если ТипЗнч(Параметры) = Тип("Массив") Тогда Для Сч = 0 По Параметры.Количество() - 1 Цикл СтрокаПараметров = СтрокаПараметров + ",Параметры[" + Формат(Сч, "ЧН=0; ЧГ=") + "]"; КонецЦикла; КонецЕсли; Возврат Сред(СтрокаПараметров, 2); КонецФункции &НаКлиенте Функция ЕстьОшибка_МетодОбъектаНеОбнаружен(Знач ТекстОшибки, Знач ИмяМетода) Результат = Ложь; Если Найти(ТекстОшибки, "Метод объекта не обнаружен (" + ИмяМетода + ")") > 0 ИЛИ Найти(ТекстОшибки, "Object method not found (" + ИмяМетода + ")") > 0 Тогда Результат = Истина; КонецЕсли; Возврат Результат; КонецФункции Функция ЭтоОшибкаПроверки(ТекстОшибки) Возврат Найти(ТекстОшибки, "["+ Объект.СтатусыРезультатаТестирования.ОшибкаПроверки + "]") = 1; КонецФункции Функция ЭтоПропущенныйТест(ТекстОшибки) Возврат Найти(ТекстОшибки, "["+ Объект.СтатусыРезультатаТестирования.ТестПропущен + "]") > 0; КонецФункции // } Выполнение тестов // { Генерация результатов тестирования &НаКлиенте Функция СоздатьКонтейнерРезультатовТестирования(Знач КонтейнерДереваТестов) ГруппаРезультатовТестирования = Новый Структура; ГруппаРезультатовТестирования.Вставить("Ключ", КонтейнерДереваТестов.Ключ); ГруппаРезультатовТестирования.Вставить("Тип", КонтейнерДереваТестов.Тип); ГруппаРезультатовТестирования.Вставить("Имя", КонтейнерДереваТестов.Имя); ГруппаРезультатовТестирования.Вставить("Состояние", Объект.СостоянияТестов.НеВыполнен); ГруппаРезультатовТестирования.Вставить("КоличествоТестов", 0); ГруппаРезультатовТестирования.Вставить("КоличествоСломанныхТестов", 0); ГруппаРезультатовТестирования.Вставить("КоличествоОшибочныхТестов", 0); ГруппаРезультатовТестирования.Вставить("КоличествоНеРеализованныхТестов", 0); ГруппаРезультатовТестирования.Вставить("ВремяВыполнения", 0); ГруппаРезультатовТестирования.Вставить("Строки", Новый Массив); Возврат ГруппаРезультатовТестирования; КонецФункции &НаКлиенте Функция СоздатьЭлементРезультатовТестирования(Знач ЭлементДереваТестов) РезультатТестирования = Новый Структура; РезультатТестирования.Вставить("Ключ", ЭлементДереваТестов.Ключ); РезультатТестирования.Вставить("Тип", ЭлементДереваТестов.Тип); РезультатТестирования.Вставить("Путь", ЭлементДереваТестов.Путь); РезультатТестирования.Вставить("ИмяМетода", ЭлементДереваТестов.ИмяМетода); РезультатТестирования.Вставить("Представление", ЭлементДереваТестов.Представление); РезультатТестирования.Вставить("Параметры", ЭлементДереваТестов.Параметры); РезультатТестирования.Вставить("Состояние", Объект.СостоянияТестов.НеВыполнен); РезультатТестирования.Вставить("ВремяВыполнения", 0); РезультатТестирования.Вставить("Сообщение", ""); Возврат РезультатТестирования; КонецФункции // } Генерация результатов тестирования // { История загрузки тестов &НаСервере Процедура СохранитьВИсториюЗагрузкиТестовНаСервере(Знач ИдентификаторЗагрузчика, Знач Путь) ЭтотОбъектНаСервере = ЭтотОбъектНаСервере(); ЭтотОбъектНаСервере.СохранитьВИсториюЗагрузкиТестов(ИдентификаторЗагрузчика, Путь); ЗначениеВРеквизитФормы(ЭтотОбъектНаСервере, "Объект"); КонецПроцедуры &НаСервере Процедура ОбновитьКомандыИсторииЗагрузкиТестов() ИсторияЗагрузкиТестов = Объект.Настройки.ИсторияЗагрузкиТестов; ПодменюИсторияЗагрузкиТестов = Элементы.ПодменюИсторияЗагрузкиТестов; Для Сч = 0 По ИсторияЗагрузкиТестов.Количество() - 1 Цикл ИмяКоманды = "История_" + Сч; НайденнаяКоманда = Команды.Найти(ИмяКоманды); Если НайденнаяКоманда = Неопределено Тогда НоваяКоманда = Команды.Добавить(ИмяКоманды); НоваяКоманда.Действие = "Подключаемый_ЗагрузитьТестыИзИстории"; ПунктМеню = Элементы.Добавить(НоваяКоманда.Имя, Тип("КнопкаФормы"), ПодменюИсторияЗагрузкиТестов); ПунктМеню.ИмяКоманды = НоваяКоманда.Имя; Иначе ПунктМеню = Элементы.Найти(ИмяКоманды); КонецЕсли; ЭлементИстории = ИсторияЗагрузкиТестов[Сч]; ПунктМеню.Заголовок = ЭлементИстории.ИдентификаторЗагрузчика + ": " + ЭлементИстории.Путь; КонецЦикла; КонецПроцедуры &НаКлиенте Процедура Подключаемый_ЗагрузитьТестыИзИстории(Команда) ИндексИстории = Число(Сред(Команда.Имя, Найти(Команда.Имя, "_") + 1)); ИсторияЗагрузкиТестов = Объект.Настройки.ИсторияЗагрузкиТестов; ЭлементИстории = ИсторияЗагрузкиТестов[ИндексИстории]; ЗагрузитьТесты(ЭлементИстории.ИдентификаторЗагрузчика, ЭлементИстории.Путь); КонецПроцедуры // } История загрузки тестов // { Пакетный запуск &НаКлиенте Процедура ВыполнитьПакетныйЗапуск(Знач ПараметрЗапуска) Перем РезультатыТестирования; ПарсерКоманднойСтроки = ЭтаФорма.Плагин("ПарсерКоманднойСтроки"); ПараметрыЗапуска = ПарсерКоманднойСтроки.Разобрать(ПараметрЗапуска); Параметры_xddRun = Неопределено; Если ПараметрыЗапуска.Свойство(ПарсерКоманднойСтроки.Объект.ВозможныеКлючи.xddRun, Параметры_xddRun) Тогда РезультатыТестирования = ЗагрузитьИВыполнитьТесты_ПакетныйРежим(Параметры_xddRun); КонецЕсли; Параметры_xddReport = Неопределено; Если ЗначениеЗаполнено(РезультатыТестирования) И ПараметрыЗапуска.Свойство(ПарсерКоманднойСтроки.Объект.ВозможныеКлючи.xddReport, Параметры_xddReport) Тогда СформироватьОтчетОТестированииИЭкспортировать_ПакетныйРежим(Параметры_xddReport, РезультатыТестирования); КонецЕсли; Если ПараметрыЗапуска.Свойство(ПарсерКоманднойСтроки.Объект.ВозможныеКлючи.xddShutdown) Тогда ЗавершитьРаботуСистемы(Ложь); КонецЕсли; КонецПроцедуры &НаКлиенте Функция ЗагрузитьИВыполнитьТесты_ПакетныйРежим(Знач Параметры_xddRun) Попытка ИдентификаторЗагрузчика = Параметры_xddRun[0]; Загрузчик = ЭтаФорма.Плагин(ИдентификаторЗагрузчика); ПутьКТестам = Параметры_xddRun[1]; ДеревоТестовОтЗагрузчика = Загрузчик.Загрузить(ЭтаФорма, ПутьКТестам); РезультатыТестирования = ЭтаФорма.ВыполнитьТесты(Загрузчик, ДеревоТестовОтЗагрузчика); Исключение ОписаниеОшибки = "Ошибка загрузки и выполнения тестов в пакетном режиме |" + ОписаниеОшибки(); ЗафиксироватьОшибкуВЖурналеРегистрации(ОписаниеОшибки); КонецПопытки; Возврат РезультатыТестирования; КонецФункции &НаКлиенте Процедура СформироватьОтчетОТестированииИЭкспортировать_ПакетныйРежим(Знач Параметры_xddReport, Знач РезультатыТестирования) Попытка ИдентификаторГенератораОтчета = Параметры_xddReport[0]; ГенераторОтчета = ЭтаФорма.Плагин(ИдентификаторГенератораОтчета); Отчет = ГенераторОтчета.СоздатьОтчет(ЭтаФорма, РезультатыТестирования); ПутьКОтчету = Параметры_xddReport[1]; ГенераторОтчета.Экспортировать(Отчет, ПутьКОтчету); Исключение ОписаниеОшибки = "Ошибка формирования и экспорта отчета о тестировании в пакетном режиме |" + ОписаниеОшибки(); ЗафиксироватьОшибкуВЖурналеРегистрации(ОписаниеОшибки); КонецПопытки; КонецПроцедуры &НаСервере Процедура ЗафиксироватьОшибкуВЖурналеРегистрации(Знач ОписаниеОшибки) ЗаписьЖурналаРегистрации(ЭтотОбъектНаСервере().Метаданные().Имя, УровеньЖурналаРегистрации.Ошибка, , , ОписаниеОшибки); КонецПроцедуры // } Пакетный запуск // { Контекст &НаКлиенте Процедура СохранитьКонтекст(Знач Контекст) Экспорт Если Объект.ТекущийКонтейнер.СлучайныйПорядокВыполнения Тогда ВызватьИсключение Объект.ВозможныеИсключения.СохранятьКонтекстТолькоВСтрогомРежиме; КонецЕсли; Объект.ТекущийКонтейнер.Контекст = Контекст; КонецПроцедуры &НаКлиенте Функция ПолучитьКонтекст() Экспорт Если Объект.ТекущийКонтейнер.СлучайныйПорядокВыполнения Тогда ВызватьИсключение Объект.ВозможныеИсключения.ПолучатьКонтекстТолькоВСтрогомРежиме; КонецЕсли; Возврат Объект.ТекущийКонтейнер.Контекст; КонецФункции // } Контекст Процедура ВызватьОшибкуПроверки(СообщениеОшибки = "") Экспорт Префикс = "["+ Объект.СтатусыРезультатаТестирования.ОшибкаПроверки + "]"; ВызватьИсключение Префикс + " " + СообщениеОшибки; КонецПроцедуры Процедура ПропуститьТест(Знач Сообщение = "") Экспорт Префикс = "[" + Объект.СтатусыРезультатаТестирования.ТестПропущен + "]"; Если ПустаяСтрока(Сообщение) Тогда Сообщение = НСтр("ru = 'Тест пропущен'"); КонецЕсли; ВызватьИсключение Префикс + " " + Сообщение; КонецПроцедуры // Выводит сообщение. В тестах ВСЕГДА должна использоваться ВМЕСТО метода Сообщить(). // Функция ВывестиСообщение(ТекстСообщения, Статус=Неопределено) Экспорт Сообщить(ТекстСообщения, Статус); КонецФункции // { Внешние интерфейсные инструменты &НаКлиенте Процедура ОткрытьИнструмент(Знач ИмяИнструмента, Знач ПутьИнструмента = "", Знач ИмяФормы = "Форма") Если Не ПустаяСтрока(ПутьИнструмента) Тогда ПутьКВнешнимИнструментам = ПутьИнструмента + "\"; Иначе ПутьКВнешнимИнструментам = ПолучитьПутьКВнешнимИнструментам(); КонецЕсли; ПутьИнструмента = ПутьКВнешнимИнструментам + ИмяИнструмента + ".epf"; ФайлИнструмента = Новый Файл(ПутьИнструмента); Если Не ФайлИнструмента.Существует() Тогда Сообщить("Инструмент <" + ИмяИнструмента + "> не найден в каталоге <" + ФайлИнструмента.Путь + ">"); Возврат; КонецЕсли; АдресХранилища = ""; ПоместитьФайл(АдресХранилища, ФайлИнструмента.ПолноеИмя, , Ложь); ПодключитьФайлОбработкиНаСервере(АдресХранилища, Неопределено); ФормаИнструмента = ПолучитьФорму("ВнешняяОбработка." + ИмяИнструмента + "." + ИмяФормы); Если ФормаИнструмента = Неопределено Тогда Сообщить("Инструмент <" + ИмяИнструмента + ">: не удалось получить основную форму!"); Возврат; КонецЕсли; ФормаИнструмента.Открыть(); ФормаИнструмента = Неопределено; КонецПроцедуры &НаКлиенте Функция ПолучитьПутьКПлагинам() ФайлЯдра = Новый Файл(ЭтаФорма.ИспользуемоеИмяФайла); Результат = ФайлЯдра.Путь + "Plugins\"; Возврат Результат; КонецФункции &НаКлиенте Функция ПолучитьПутьКВнешнимИнструментам() ФайлЯдра = Новый Файл(ЭтаФорма.ИспользуемоеИмяФайла); Результат = ФайлЯдра.Путь + "Utils\"; Возврат Результат; КонецФункции // } Внешние интерфейстные инструменты // { Helpers &НаКлиенте Процедура ПодключитьВнешнююОбработку(ФайлОбработки) Экспорт Если ПодключенныеВнешниеОбработки.Получить(ФайлОбработки.ИмяБезРасширения) = Неопределено Тогда АдресХранилища = ""; ПоместитьФайл(АдресХранилища, ФайлОбработки.ПолноеИмя, , Ложь, ЭтаФорма.УникальныйИдентификатор); ПодключитьФайлОбработкиНаСервере(АдресХранилища, ФайлОбработки.ИмяБезРасширения); ПодключенныеВнешниеОбработки.Вставить(ФайлОбработки.ИмяБезРасширения, Истина); КонецЕсли; КонецПроцедуры &НаСервереБезКонтекста Процедура ПодключитьФайлОбработкиНаСервере(Знач АдресХранилища, Знач ИдентификаторОбработки) ВнешниеОбработки.Подключить(АдресХранилища, ИдентификаторОбработки, Ложь); КонецПроцедуры &НаКлиенте Функция ПолучитьОписаниеКонтекстаВыполнения(Знач Идентификатор, Знач ЭтоВнутренняяОбработка = Ложь) Экспорт ОписаниеКонтекстаВыполнения = Новый Структура("Идентификатор, ЭтоВнутренняяОбработка", Идентификатор, ЭтоВнутренняяОбработка); Возврат Новый ФиксированнаяСтруктура(ОписаниеКонтекстаВыполнения); КонецФункции &НаСервере Функция ЭтотОбъектНаСервере() Возврат РеквизитФормыВЗначение("Объект"); КонецФункции &НаКлиенте Процедура ИнициализироватьИндикаторВыполнения(Знач КоличествоТестовыхМетодов = 0) Элементы.ИндикаторВыполнения.МаксимальноеЗначение = КоличествоТестовыхМетодов; ИндикаторВыполнения = 0; Элементы.ИндикаторВыполнения.ЦветРамки = Новый Цвет(0, 174, 0); // Зеленый КонецПроцедуры &НаКлиенте Процедура ОповеститьОСобытии(Знач Подписчик, Знач Событие, Знач ПараметрыСобытия) Выполнить("Подписчик.ОбработатьСобытиеВыполненияТестов(Событие, ПараметрыСобытия);"); КонецПроцедуры &НаКлиенте Функция ПеремешатьМассив(Знач ИсходныйМассив) Экспорт Результат = Новый Массив; Для Каждого Элемент Из ИсходныйМассив Цикл Результат.Добавить(Элемент); КонецЦикла; // алгоритм перемешивания взят из книги Кнута "Искусство программирования" т.2 ГСЧ = Новый ГенераторСлучайныхЧисел(); ПоследнийИндекс = Результат.ВГраница(); Для Индекс = 1 По ПоследнийИндекс Цикл ТекущийИндекс = ПоследнийИндекс - Индекс + 1; НовыйИндекс = ГСЧ.СлучайноеЧисло(0, ТекущийИндекс); Если НовыйИндекс <> ТекущийИндекс Тогда Значение = Результат[НовыйИндекс]; Результат[НовыйИндекс] = Результат[ТекущийИндекс]; Результат[ТекущийИндекс] = Значение; КонецЕсли; КонецЦикла; Возврат Результат; КонецФункции &НаКлиенте Функция НайтиРезультатТестированияПоИдентификатору(Знач КонтейнерРезультатовТестирования, Знач ИдентификаторТеста, Знач ВключатьПодчиненные = Ложь) Экспорт Результат = НайтиРезультатТестированияПоИдентификатору_НаСервере(КонтейнерРезультатовТестирования, ИдентификаторТеста, ВключатьПодчиненные); Возврат Результат; КонецФункции &НаСервере Функция НайтиРезультатТестированияПоИдентификатору_НаСервере(Знач КонтейнерРезультатовТестирования, Знач ИдентификаторТеста, Знач ВключатьПодчиненные) Экспорт Результат = ЭтотОбъектНаСервере().НайтиРезультатТестированияПоИдентификатору(КонтейнерРезультатовТестирования, ИдентификаторТеста, ВключатьПодчиненные); Возврат Результат; КонецФункции &НаКлиенте Процедура СброситьПодключенныеВнешниеОбработки() ПодключенныеВнешниеОбработки = Новый Соответствие; КонецПроцедуры &НаКлиенте Функция ПараметрыМетода(Знач Парам1, Знач Парам2 = Неопределено, Знач Парам3 = Неопределено, Знач Парам4 = Неопределено, Знач Парам5 = Неопределено, Знач Парам6 = Неопределено, Знач Парам7 = Неопределено, Знач Парам8 = Неопределено, Знач Парам9 = Неопределено) Экспорт ВсеПараметры = Новый Массив; ВсеПараметры.Добавить(Парам1); ВсеПараметры.Добавить(Парам2); ВсеПараметры.Добавить(Парам3); ВсеПараметры.Добавить(Парам4); ВсеПараметры.Добавить(Парам5); ВсеПараметры.Добавить(Парам6); ВсеПараметры.Добавить(Парам7); ВсеПараметры.Добавить(Парам8); ВсеПараметры.Добавить(Парам9); ИндексСПоследнимПараметром = 0; Для Сч = 0 По ВсеПараметры.ВГраница() Цикл Индекс = ВсеПараметры.ВГраница() - Сч; Если ВсеПараметры[Индекс] <> Неопределено Тогда ИндексСПоследнимПараметром = Индекс; Прервать; КонецЕсли; КонецЦикла; ПараметрыМетода = Новый Массив; Для Сч = 0 По ИндексСПоследнимПараметром Цикл ПараметрыМетода.Добавить(ВсеПараметры[Сч]); КонецЦикла; Возврат ПараметрыМетода; КонецФункции // } Helpers \ No newline at end of file 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 f1706f2e..716a0379 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,7 +1,7 @@ {27, {16, { -{1,0},36,36}, +{1,0},37,36}, {09ccdc77-ea1a-4a6d-ab1c-3435eada2433, {1, { @@ -31,13 +31,10 @@ {3,0, {0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, {1,0} -},21,1, -{0,20,1},2, -{0,4,1}, -{0,20,1},0,3, +},21,0,1, +{0,4,1},0,2, {0,4,3}, -{0,11,3}, -{0,20,3},0,0, +{0,11,3},0,0, {3,1, {3,0, {0},"",-1,-1,1,0} @@ -62,15 +59,15 @@ },1,1,0,8, {2,8,1,1,1,0,0,0,0}, {2,8,0,1,2,0,0,0,0}, -{2,847,1,1,3,0,0,6,0}, +{2,850,1,1,3,0,0,9,0}, {2,544,0,1,4,0,0,8,0}, {2,8,1,1,1,1,0,0,0}, {2,8,0,1,2,1,0,0,0}, -{2,845,1,1,3,1,0,8,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}, {0} }, -{13, +{12, {09ccdc77-ea1a-4a6d-ab1c-3435eada2433,4, {1, { @@ -123,13 +120,13 @@ },1,1,0,4, {2,6,1,1,1,0,0,0,0}, {2,6,0,1,2,0,0,0,0}, -{2,834,1,1,3,0,0,5,0}, -{2,444,0,1,4,0,0,5,0},0,4294967295,5,64,0}, +{2,837,1,1,3,0,0,5,0}, +{2,471,0,1,4,0,0,5,0},0,4294967295,5,64,0}, {0} }, -{8,8,70,847,519,1, +{8,8,43,850,519,1, {0, -{2,20,1,8}, +{2,-1,6,0}, {2,-1,6,0} }, {0, @@ -141,7 +138,7 @@ {2,-1,6,0} }, {0, -{2,0,3,-6}, +{2,0,3,-9}, {2,-1,6,0} }, {0, @@ -152,9 +149,9 @@ {2,-1,6,0}, {2,-1,6,0} },0,1, -{0,11,0},0,0,0,0,0,0,7,0,0}, +{0,11,0},0,0,0,0,0,0,6,0,0}, {14,"ПанельТесты",4294967295,0,0,0}, -{10, +{2, {ea83fe3a-ac3c-4cce-8045-3dddf35b28b1,5, {5, {"Pattern", @@ -209,7 +206,7 @@ }, {3,3, {-13} -},2,2,0,0,0,0,1,1,3, +},2,2,0,0,0,1,1,1,3, {6,2,0, {-20},1}, {6,2,0, @@ -221,11 +218,59 @@ {16, {1,0}, {1,0}, -{1,0},25,0,-1,-1,-1,12590594, -{3,0, -{0},"",-1,-1,1,0}, +{1,0},26,0,-1,-1,-1,12590594, {3,0, {0},"",-1,-1,1,0}, +{3,3, +{0},"",-1,-1,0, +{ +{#base64:iVBORw0KGgoAAAANSUhEUgAAAFAAAAAQCAYAAACBSfjBAAAABGdBTUEAALGPC/xh +BQAAAAlwSFlzAAALEwAACxMBAJqcGAAABCRpVFh0WE1MOmNvbS5hZG9iZS54bXAA +AAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9 +IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8v +d3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJk +ZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlm +Zj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHht +bG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgICAg +ICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8i +CiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAv +MS4wLyI+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVz +b2x1dGlvblVuaXQ+CiAgICAgICAgIDx0aWZmOkNvbXByZXNzaW9uPjU8L3RpZmY6 +Q29tcHJlc3Npb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyPC90aWZm +OlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZm +Ok9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjwvdGlm +ZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjgw +PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFj +ZT4xPC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVu +c2lvbj4xNjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDxkYzpzdWJq +ZWN0PgogICAgICAgICAgICA8cmRmOkJhZy8+CiAgICAgICAgIDwvZGM6c3ViamVj +dD4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTU6MTI6MDkgMTc6MTI6Njk8 +L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPlBpeGVs +bWF0b3IgMy40LjE8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgPC9yZGY6RGVzY3Jp +cHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CqWJ7IkAAAP8SURBVFgJ +7VZtaFtVGH5PbpKb5mPNGiNttU3ZJOvG3KQy5hRZOxFtnGNSOmT7N9DdbsiYlDnm +b//IqCDMloF//OGPaUGGRodoN9msblWodm0XV+lW0u7DuSQ3N7n33OTenXPqHUm8 +yW4iioMcuDzneXOe97zn4T2HANRH3YG6A3UH/h8O4COv7lV2b40rwvaoWUWK0BtV +dj8bx0d27TX7vRY9MktEY7FYbBh0XdDJnC1CaCQcDg+UW18ajxyDYU0DQSMJbCSB +zQYj0UGwrNfPrif75wWAvypA3AjaOlVRn3utN64/1nleuzTZBW53jB/5PGLURc2D +TDbsWBX6WZ2+8gx/8vwjxm8G1qK3GeJCpOaRMwturxc8Ph9QJMcQmKmFC8vMqXkt +Ab9wcOcgvNV/FChSTuNlJEVh/eyGYXAEBXj0DYC2QWBoDwosXrSymOQ5bhLNz3Wh +9RvHQVGbU/v7WScqh/ZEKbevCo2rsd+7oGnFZLFymdWiN+3AWOyy7vH6IC1JpAl1 +QAiB1+MBKS1COLzGVFNYUO+7oB/Y+TrE/vgKcF4GJ+eC8EMvwvHPTsCXh5cbunB9 +6Vw/s06HtgMAiZ8ANEza1wngfxJg4Tig7umK++cO9UeRqjbrHasvZmfnNtndWgvS ++CV7qG0Cz8xEOKT9wn94+l5nlu5drd60A2lSVc2x24PoeUn7MV66WxlOPIe4NAZJ +fA0y6k2GlNO45YHnyduRBuCIgRQptzDs730SwZr9Op69sol/fM0M1x76Dvv9U9Kl +y9uxd+VCJfNo+mr1ZQ2kyXiXC3ieZ0i51UHfvIT8G3hccO+jnMatDbIQiQDuAPma +lpHy+zcvS9/wwaeR5J1kS3bpFpZupLCalR0ZUUL+9z/eYmX/avSmBsbji6P5nApO +h4MZSJFyGrdSgJKE0V+nAJzk5pGbz5ByGreiv3ozPwrJaQCXb9k8ioSzuIUEs91b +hrU8v5S6neDE2wk7yLkFWdL+vLrn5Y8syKEafbmeaB8bGxtqbW3tMzZcXFwc7enp +eZPwa0asArY/9zYM8Y3QR68teUKZed+8A5b18yc7h0IPc33s3pME1LyOXbP31dPD +43Rms7ej+XtFTD6tpDItOI+W5EAjBFSFFxPyuacmJveVq71afTkDaf528gULNrpF +5lbMMyT/uX5ic9cJDivbgHOcyqpqt9vt+/GJ8R8GmCkpqSOT06ZEOftKMBD8msaN +Qg2sRV/JQCPvA4MX1q6+bmvwnJIVdZt3RWORSdTEbDL1fFpWv81g/NILc/N/+x9Y +i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs +7sC/68BdS71tH9LcEKQAAAAASUVORK5CYII=} +},0}, {3,0, {0},"",-1,-1,1,0},16,16,d2314b5d-8da4-4e0f-822b-45e7500eae09, {3,4, @@ -248,7 +293,7 @@ }, {6,3,0,1}, {6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"ПиктограммаСостояния", +{6,3,0,1},1,0,0,4,0,"Состояние", {},4,0, {1,0}, {"Pattern", @@ -257,21 +302,77 @@ {-1}, {-1}, {-1} -},"ПиктограммаСостояния","","",0} +},"","","Состояние",0} }, {737535a4-21e6-4971-8513-3e3173a9fedd, {8, {8, {16, {1,1, -{"ru","Кол-во"} +{"ru","Имя"} }, {1,0}, -{1,0},64,5,-1,-1,-1,12590592, -{3,0, -{0},"",-1,-1,1,0}, +{1,0},302,2,-1,-1,-1,12590595, {3,0, {0},"",-1,-1,1,0}, +{3,3, +{0},"",-1,-1,0, +{ +{#base64:iVBORw0KGgoAAAANSUhEUgAAAHAAAAAQCAYAAADOFPsRAAAACXBIWXMAAA7EAAAO +xAGVKw4bAAAAB3RJTUUH3wkIDgYGUr9hfQAAAAd0RVh0QXV0aG9yAKmuzEgAAAAM +dEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRF +WHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVY +dERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3Vy +Y2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAI +zUlEQVRYhe2Yf1BVZRrHP++558pBsCCoxRW3IdEk0rqU/WBHiUJzGq9ZrmlqjEZr +aq6zme0sTrobVvxhbtaqoWnZFmntbpk40+IUVow46ySIRjpo4g8MkptcucI93HvO +efePy0XuBS7hyuw/+8y8c87zPuf7vuec73me9/seIaVkoC3fmT7qwTnzikqLty0s +LKmpHah5ass/lXUHSmlqOo/nUgstbg93Tckle9YiMVBz/q9NHegJ8p3poyY9nlt0 +38OZ2S1NtUX5zvQBI/FExW4emPEkFy80cbH5J5oazlH6901kz1oUEbfhnQ9k8ZFm +9PaAr9k0dFPvjPfkT3fAc/PzxNXAv7mrvN9ZtGjqeAGgHtmUs9MyfA9LywRAKDaE +TT0ydmHZ2P4OGm75zvRRObNmFmU/cmuW1V7HlJmpWdfE2weMxGHp97Bnx1t8f/IU +3rZW9HYf46c/1SfuaH0DKQL0KB1NaOjSjWbX0GXvfl1j3FXDHzvVyOtLZ2BaVp/3 +alMUHl28gkVTxwOgWobv4dsWvgN+o+MKG5XrZ4+peiNTChFeeQRCUVDUQcfGPP15 +WqSJ8p3po3Jmziy6f9q4LLP1OyEvHbZk9E1iwuTrshDjeySxtXSn9OcvASCusr7f +Za81OZOSSi+bt7wtFhSsl/OmPkDm7Wl9jpOZ4WD2Q/f3a64XXl171fBBW/z21/zY +EsjUaLtK8TN9j6lKywJ/O77aNUgpsA+bTsbC90HpeG4hAg1AAKpK9cbc0d9unnTH +rQv2HAwfUAghgZUT7nGs5lBN8b5DO5UVS8dapv+MUFWfRE1Rfj15SLa/dXQ3Er2F +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 +WhMgEG/VAAAAAElFTkSuQmCC} +},0}, {3,0, {0},"",-1,-1,1,0},16,16,d2314b5d-8da4-4e0f-822b-45e7500eae09, {3,4, @@ -294,8 +395,8 @@ }, {6,3,0,1}, {6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"КоличествоТестов", -{},10,1, +{6,3,0,1},1,0,0,4,0,"Имя", +{},44,0, {1,0}, {"Pattern", {"S"} @@ -310,17 +411,17 @@ XFhJtSKWz30vMgcItzCmDw==},0} {-1}, {-1}, {-1} -},"КоличествоТестов","","",0} +},"Имя","","ИконкаУзла",0} }, {737535a4-21e6-4971-8513-3e3173a9fedd, {8, {8, {16, {1,1, -{"ru","Тест"} +{"ru","Кол-во"} }, {1,0}, -{1,0},302,1,-1,-1,-1,12590595, +{1,0},64,1,-1,-1,-1,12590592, {3,0, {0},"",-1,-1,1,0}, {3,0, @@ -347,8 +448,8 @@ XFhJtSKWz30vMgcItzCmDw==},0} }, {6,3,0,1}, {6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"Имя", -{},44,0, +{6,3,0,1},1,0,0,4,0,"КоличествоТестов", +{},10,1, {1,0}, {"Pattern", {"S"} @@ -363,7 +464,7 @@ XFhJtSKWz30vMgcItzCmDw==},0} {-1}, {-1}, {-1} -},"Имя","","",0} +},"КоличествоТестов","","",0} }, {737535a4-21e6-4971-8513-3e3173a9fedd, {8, @@ -373,7 +474,7 @@ XFhJtSKWz30vMgcItzCmDw==},0} {"ru","Время выполнения"} }, {1,0}, -{1,0},34,2,-1,-1,-1,12590592, +{1,0},34,3,-1,-1,-1,12590592, {3,0, {0},"",-1,-1,1,0}, {3,0, @@ -406,14 +507,14 @@ XFhJtSKWz30vMgcItzCmDw==},0} {"ru","ЧН=-"} }, {"Pattern", -{"N",10,0,0} +{"N",10,3,1} },0,1,381ed624-9217-4e63-85db-c4c3cb87daae, { -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdY87DsIwDIZhrdRLZE6kOOkjvgRi4QAFujKgblVO -xsBNuAJXILbboLZqE8Xy78f/9XM88Pd9vUfUZTGqczcM/fOhODkpDVanE8sikiI3 -aUCZ1xWFXF3njfZpGGJ6uOopGOf2+re5TLRrwcFfYRIDgVyIlFKYiB2IuDiiyX8l -Q2ZTFxVzVCp32RndChjVDNCFyWqvlGeXVPPWmZ/psWubyt+dAezRVHXvTAjojQv2 -ekPAusOW+qoNqhVYXjdtZA8Qb3GMPw==},0} +{#base64:AgFTS2/0iI3BTqDV67a9oKcNdY87DsIwDIZhrdRLZE6kOEkfvgRi4QAFujKgblVO +xsBNuAJXILaborZqE8Xy78f/9XM88Pd9vUfUZTGqczcM/fOhODkpDVZ7DbEsIily +kwaUeR0o2Fxd53UaTa0xPVz1FIxze/3bXCaateDgrzCJgZZc0mEVtOxwIOLiiCb/ +lQyZTV1UnKNSc5fN6FbAqGaALkxWe6V5dkmVt2Z+pseuqYO/OwPYowlV70zbojeu +tdcbAlYdNtQXNqhWYHndtJE9QLzFMf4A},0} }, {-1}, {-1}, @@ -428,7 +529,7 @@ ekPAusOW+qoNqhVYXjdtZA8Qb3GMPw==},0} {"ru","Путь"} }, {1,0}, -{1,0},1e2,3,-1,-1,-1,12590592, +{1,0},1e2,4,-1,-1,-1,12590592, {3,0, {0},"",-1,-1,1,0}, {3,0, @@ -455,7 +556,7 @@ ekPAusOW+qoNqhVYXjdtZA8Qb3GMPw==},0} }, {6,3,0,1}, {6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"ПолныйПуть", +{6,3,0,1},1,0,0,4,0,"Путь", {},15,0, {1,0}, {"Pattern", @@ -471,17 +572,17 @@ pqzUbIVJrOiingFy+DJttabduah8Nctn8dg2dfBXZwA7NKHqnIkRvXHRni8IWLXY {-1}, {-1}, {-1} -},"ПолныйПуть","","",0} +},"Путь","","",0} }, {737535a4-21e6-4971-8513-3e3173a9fedd, {8, {8, {16, {1,1, -{"ru","Состояние1"} +{"ru","Ключ"} }, {1,0}, -{1,0},1e2,4,-1,-1,-1,12589570, +{1,0},1e2,5,-1,-1,-1,12589568, {3,0, {0},"",-1,-1,1,0}, {3,0, @@ -508,7 +609,7 @@ pqzUbIVJrOiingFy+DJttabduah8Nctn8dg2dfBXZwA7NKHqnIkRvXHRni8IWLXY }, {6,3,0,1}, {6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"Состояние1", +{6,3,0,1},1,0,0,4,0,"Ключ", {},15,0, {1,0}, {"Pattern", @@ -524,55 +625,18 @@ XFhJtSKWz30vMgcItzCmDw==},0} {-1}, {-1}, {-1} -},"Состояние","","",0} +},"Ключ","","",0} } },0,0,0,0} }, {9ab3fa70-d2e0-4e44-baac-730682272ed2, -{4,1,0, +{4,1,1, {0} } }, -{2, -{35,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} -} -} -}, -{47,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} }, -{8,8,6,834,444,1, +{8,8,6,837,471,1, {0, {2,-1,6,0}, {2,-1,6,0} @@ -597,11 +661,11 @@ XFhJtSKWz30vMgcItzCmDw==},0} {2,-1,6,0}, {2,-1,6,0} },0,0,0,0,0,0,0,0,1,0,0}, -{14,"тпДеревоТестов",4294967295,0,0,0}, +{14,"ДеревоТестов",4294967295,0,0,0}, {0} }, -{151ef23e-6bb2-4681-83d0-35bc2217230c,6, -{1, +{e69bf21d-97b2-4f37-86db-675aea9ec2cb,10, +{2, { {10,1, {3,4, @@ -620,8 +684,8 @@ XFhJtSKWz30vMgcItzCmDw==},0} {3,4, {0} }, -{3,3, -{-7} +{3,4, +{0} }, {3,3, {-21} @@ -629,108 +693,133 @@ XFhJtSKWz30vMgcItzCmDw==},0} {3,0, {0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, {1,0} -},15,0,0, -{3,3, -{0},"",-1,-1,0, -{ -{#base64:iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2Fy -ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAOVJREFUeNpi/P//PwMlgImBQjDwBrBg -E2RkZGTw7mGY/vcfQ8Y/YBAxMTIwMDMxzNhawpCJHmZYDQBplhAWyAixTmFgY2Fj -+PXnF8Oao3MyvHs+gKQzCXrhH9DmQOswhutvVjGcfjoHTIP4IHGivABy5dOv+xk+ -/nrE8P8fA8P3vxA+thjHagDIzx9+3Gbg5mAAG8DIBOGDxImKhZ8fGdZevsLAwMbG -wMDNDaFBfJA4RoBjS4nAWJBzrmboY+dnCAZJAyMFrHlvK0MRUP0jYgwAUXJALIok -/BqIH6GrZxzNCwwAAQYAmYBgqbPtsJQAAAAASUVORK5CYII=} -},0}, -{0,0,0},1,1,0,0, -{1,0} -}, -{0} -}, -{8,12,351,47,381,0, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,6,0,30}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,6,2,35}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},2, -{0,10,1}, -{0,6,1},0,2, -{0,10,3}, -{0,6,3},0,0,0,0,1,6,0,0}, -{14,"ПолеКартинкиЗеленый",4294967295,0,0,0}, -{0} -}, -{151ef23e-6bb2-4681-83d0-35bc2217230c,7, -{1, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} +},8,2,0,0,1,1, +{5,d4746b64-45af-49b5-a280-c2206705887b,9,1,1, +{6,cc36d702-3c52-4147-ab99-b2f3cd2aa348,1,e1692cc2-605b-4535-84dd-28440238746c, +{3,"КнопкаВыполнитьВыделенныеТестыНажатие", +{1,"КнопкаВыполнитьВыделенныеТестыНажатие", +{1,1, +{"ru","Кнопка выполнить выделенные тесты нажатие"} }, -{3,4, -{0} +{1,1, +{"ru","Кнопка выполнить выделенные тесты нажатие"} }, -{3,4, -{0} +{1,1, +{"ru","Кнопка выполнить выделенные тесты нажатие"} }, -{3,3, -{-7} +{3,0, +{0},"",-1,-1,1,0}, +{0,0,0} +} +},15, +{1,1, +{"#","Кнопка выполнить выделенный нажатие"} }, -{3,3, -{-21} +{1,1, +{"#","Кнопка выполнить выделенный нажатие"} }, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},15,0,0, {3,3, {0},"",-1,-1,0, { -{#base64:iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2Fy -ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAOJJREFUeNpi/P//PwMlgImBQjDwBrBg -E2RkZGT4f1BnOsP/vxkMDKAwYgQi5hmM9lcy0cMMqwH/D+pOZ2AVyWAQCwVqZAMK -/GJgeLk6AygOks5EsQxrLBzU/s8gm83A8OEsA8M/oGYmoCECxgwMj6cyMNhfZSTo -AjD49QBo/BcGBmYwB8InNgwgfv7MwMAlzAAPA4bPUJqIWHj46u9aho/XGBg4eCGG -gGggHyyObhW2MADGgtyDVRp98mLMwQwgeWCsgDQrhN0oAqp/RIwBIEoOiEWRhF8D -8SN09YyjeYEBIMAAwiFTQmfMeAkAAAAASUVORK5CYII=} +{#base64:iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAAL +EwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj33 +3vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEs +DIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIe +EeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH +/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAn +f+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJ +V2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4 +mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHg +g/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl +7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/A +V/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5 +WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQ +WHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAA +RKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv +1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4 +IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGy +UT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPE +bDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM +WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPE +NyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD +5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2h +tlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0 +dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHK +CpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2ep +O6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN +2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIp +G6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3n +U9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36 +p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYP +jGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLn +m+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cR +p7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0H +DYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dn +F2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofc +n8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh +7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJ +gUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p +DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85 +ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7 +F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/R +NtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9 +MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo +1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5 +sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWF +fevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTP +ZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJ +zs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ ++7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3v +dy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtb +Ylu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ7 +52PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7 +nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9 +zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9D +BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfy +l5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT +0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq +YAAAOpgAABdvkl/FRgAAA2xJREFUeNrsl91Pm1Ucxz99edryPO06YEV5F1FYMo1G +shnizcxiFhJvuDGk88pd+3btX6C3M3oxE4kzC5oY4gJZtiWEcDHADqaDrUBpoaXd +uq6lBUtp+zznPN70Zsl4K9NdyLk9yfl+8vud3/d8j8U0TV7ksvKC1xHAEYB9t82e +nh47oAE1wDawBRjVis3MzBwMANB6/dFP61oKA6mw+1rgt9YrwGNg8zAgBwGo9TZu +f/zhu590B9tunzrxavDCekwdnv6l/TKQBDavXj+t7yXi7wtUDaA6PXq3UxH0dvbz +Vmup7cHDic9r2+4MZOPqyOxwy/f+vsAakAP0q9dPm8+7AjYhoCyylMUmDlsd77Sf +443m919afDR9seH18YupZW3o/s3GS/m0M+LvC2SB8kFA9gLAECBNkGYZQyYp6hkc +Ni+nWs5wsvk9Qi2BAV/n2MDjsGM4Mun7LrPiDvr7AutAcT8gewMYFqSUSFMCIClh +yBRFPYNi99LV9CbdTWdYbp/rn+241Z9cSd1IBo//GL9bd7sCsg3IqgF0HaQpMc2n +zxBIhJ6maGRx2Dx0NLTz2stfstoZPj/dPnredzI7ngkfG4z94RsDngAlwKyqAqZp +Ind6NU2DosxS1HMoNg/N9Q185PuMeFfs7NTSzbO1r0RuJe7Wf5UOee9VIA5YAYNK +C/Zqp0lJblDSN7BbXXg0hXNv97JwYumDCWNlLR3yflEdgG4hV9jAkHv7jsViwWF3 +ojqsCKEzuxwklIgSD7T+BJSrvAMWDASGKXYWxoJid6A53VixM7MY4n50hc01dWht +outrUbaFqwcwQAiJEHIHYQXVoaFYXcyFV/lzeZmNuHP40WTnN0bBHqmYVPlQY2hI +iSGfroBiU9Ccblz2GoKrCQKLIXIJZSS30Pht4aH7HpDZTfhAYyhMgai0wG5T0Jwa +qqKyFEsxNR8gm7De2IrWX86vHp+qCD9z5Ko3IiGxYEV1qHhcHiLxdSbn50jF5Hgx +eWwwH6ofA9JAcb/C+wUQhgCXowa3UyOe+ptr43dIxvTp8hPtSn7BN1oxmV3d7jAA +BT2vLGbWS92jcyHi0eKcnlGHth40DwGpirD4N/NAtpxz/fzryOKAkVV/L8x3DFYC +SeG/CiRbW381XQJ+eB6R7JkecvQzOgL43wP8MwC/vaxojUiI8wAAAABJRU5ErkJg +gg==} },0}, -{0,0,0},1,1,0,0, -{1,0} -}, +{0,118,8} +},1, +{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,1,cc36d702-3c52-4147-ab99-b2f3cd2aa348, +{8,"ВыполнитьТест",0,3, +{1,2, +{"#","Выполнить тест"}, +{"ru","Выполнить тест"} +},1,d4746b64-45af-49b5-a280-c2206705887b,1,1e2,0,3,1,0,0,0,0}, +{-1,0, {0} +} +} +},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,9d0a2e40-b978-11d4-84b6-008048da06df,0} }, -{8,51,351,86,381,0, +{8,269,357,472,381,0, {0, {2,-1,6,0}, {2,-1,6,0} }, {0, -{2,7,0,30}, +{2,10,0,24}, {2,-1,6,0} }, {0, @@ -738,7 +827,7 @@ gGggHyyObhW2MADGgtyDVRp98mLMwQwgeWCsgDQrhN0oAqp/RIwBIEoOiEWRhF8D {2,-1,6,0} }, {0, -{2,7,2,35}, +{2,0,3,-370}, {2,-1,6,0} }, {0, @@ -749,26 +838,26 @@ gGggHyyObhW2MADGgtyDVRp98mLMwQwgeWCsgDQrhN0oAqp/RIwBIEoOiEWRhF8D {2,-1,6,0}, {2,-1,6,0} },2, -{0,11,1}, -{0,7,1},0,2, -{0,11,3}, -{0,7,3},0,0,0,0,2,7,0,0}, -{14,"ПолеКартинкиЖелтый",4294967295,0,0,0}, +{0,36,1}, +{0,10,1},0,0,0,0,0,0,1,2,0,0}, +{14,"КоманднаяПанельКонтекстноеМенюПоляТестов",4294967295,0,0,0}, {0} +} +} }, -{151ef23e-6bb2-4681-83d0-35bc2217230c,8, -{1, +{b1db1f86-abbb-4cf0-8852-fe6ae21650c2,11, +{0, { {10,1, -{3,4, -{0} +{3,3, +{-7} }, {3,4, {0} }, {6,3,0,1},0, -{3,3, -{-22} +{3,0, +{44544} }, {3,4, {0} @@ -783,59 +872,17 @@ gGggHyyObhW2MADGgtyDVRp98mLMwQwgeWCsgDQrhN0oAqp/RIwBIEoOiEWRhF8D {-21} }, {3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},15,0,0, -{3,3, -{0},"",-1,-1,0, -{ -{#base64:iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAA -AAlwSFlzAAALEwAACxMBAJqcGAAABCRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAA -ADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhN -UCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3 -LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpE -ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0i -aHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5z -OmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgICAgICAg -ICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAg -ICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4w -LyI+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1 -dGlvblVuaXQ+CiAgICAgICAgIDx0aWZmOkNvbXByZXNzaW9uPjU8L3RpZmY6Q29t -cHJlc3Npb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyPC90aWZmOlhS -ZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9y -aWVudGF0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjwvdGlmZjpZ -UmVzb2x1dGlvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjE2PC9l -eGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT4x -PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lv -bj4xNjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDxkYzpzdWJqZWN0 -PgogICAgICAgICAgICA8cmRmOkJhZy8+CiAgICAgICAgIDwvZGM6c3ViamVjdD4K -ICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTUtMDMtMjBUMjI6MDM6OTQ8L3ht -cDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPlBpeGVsbWF0 -b3IgMy4zLjE8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgPC9yZGY6RGVzY3JpcHRp -b24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+Cuey450AAAHOSURBVDgRY2AY -XuBXRUTSzyj7pz8zfLZh89nPDM9tP6Nsn/6qCEuCyTPBGCCa6e3HZiZ9o6MM376p -oRsC0szw7bsaq5rS0f/3njbD9KEY8JeZ+SLjg7tGjDr6xxl+/pb4lBUKdsnPwuht -ID6Lkvzx37fuGTEI8V2EGcAIY8DoP4Wh2xh//5b4r6B8+vuNu6YsXP8kGf+xP2eR -lz3z6/p1L2bGf5fY5+70gqnHMAAk8T0rZNv/X0AbdTWuM/z+xvLjw4+f/588c/nP -x/9QYNIyS5hmEI3VAJDE82CH51yqSjv+/f3L8u/fP5ZfDx47SK49IAmSQwYoYQCT -uOFgOf3fX/bnn95+YP789gMLw48/j398/ffuYbTvIpgaGI3hApDmX1++mfMoSBz7 -+fmj1c9P3yR//WV8/kOYn0H490/2zx9+HLE4czEdZgCKC86YG836/vGT618GxgMv -bj8BamY4aXD8kiQfF9dJgZcfXn5+9XXb509fnC9YWkzHasC/Tx/9/jIy7/v6/acf -FxcvUPOJTJBCjQPHM9n4uB+wM/8P5GBm3vfy1Qs/rAb852Tr+/z5kx8HD+dOmGaY -QpAhjOxcW9kZ/voJCfL2wMQHngYAm8bMd8t+PE0AAAAASUVORK5CYII=} -},0}, -{0,0,0},1,1,0,0, +{0},1,1,0,48312c09-257f-4b29-b280-284dd89efc1e}, {1,0} +},3,0,100,1,0,1,2} }, -{0} -}, -{8,89,351,124,381,0, +{8,8,522,850,544,1, {0, -{2,-1,6,0}, +{2,4,1,3}, {2,-1,6,0} }, {0, -{2,8,0,30}, +{2,11,0,22}, {2,-1,6,0} }, {0, @@ -843,7 +890,7 @@ QpAhjOxcW9kZ/voJCfL2wMQHngYAm8bMd8t+PE0AAAAASUVORK5CYII=} {2,-1,6,0} }, {0, -{2,8,2,35}, +{2,0,3,-9}, {2,-1,6,0} }, {0, @@ -853,15 +900,12 @@ QpAhjOxcW9kZ/voJCfL2wMQHngYAm8bMd8t+PE0AAAAASUVORK5CYII=} {0, {2,-1,6,0}, {2,-1,6,0} -},2, -{0,12,1}, -{0,8,1},0,2, -{0,12,3}, -{0,8,3},0,0,0,0,3,8,0,0}, -{14,"ПолеКартинкиКрасный",4294967295,0,0,0}, +},1, +{0,11,1},0,0,0,0,0,0,1,7,0,0}, +{14,"ИндикаторВыполнения",4294967295,0,0,0}, {0} }, -{151ef23e-6bb2-4681-83d0-35bc2217230c,9, +{6ff79819-710e-4145-97cd-1618da79e3e2,12, {1, { {10,1, @@ -871,746 +915,7 @@ QpAhjOxcW9kZ/voJCfL2wMQHngYAm8bMd8t+PE0AAAAASUVORK5CYII=} {3,4, {0} }, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},15,0,0, -{3,3, -{0},"",-1,-1,0, -{ -{#base64:iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2Fy -ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAMpJREFUeNrkUzEOwjAMtBElRS0jK1vy -tvZF7SPgDX1H0w2pLIw0U4qMHVQJlQ6ROjBgyYp8sS/2WUEigjW2gZX2e4LtEoiI -YK2tgKgQhfAN1saYcq4ZLonYdV3FRcU+y6QQmAicc0JUa63LCAJLWX6AgYvkXjrK -mcwND9DaYJQG3o/8srSP4QxxrAaTqTQN7U9jRG+h72+X5+hhlySglAqnxIJ/JcuM -c2c7NU1zbtuWJpdY8HnuoogimiSzHz/gO/s1ao1/9hdeAgwAAwJ6cFkNW6kAAAAA -SUVORK5CYII=} -},0}, -{0,0,0},1,1,0,0, -{1,0} -}, -{0} -}, -{8,129,351,164,381,0, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,9,0,30}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,9,2,35}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},2, -{0,13,1}, -{0,9,1},0,2, -{0,13,3}, -{0,9,3},0,0,0,0,4,9,0,0}, -{14,"ПолеКартинкиСерый",4294967295,0,0,0}, -{0} -}, -{e69bf21d-97b2-4f37-86db-675aea9ec2cb,10, -{2, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},8,2,0,0,1,1, -{5,d4746b64-45af-49b5-a280-c2206705887b,9,1,6, -{6,756d8587-67a4-4810-bf46-e5b191eff9aa,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} -} -},7, -{1,1, -{"#","Кнопка выполнить выделенный нажатие"} -}, -{1,1, -{"#","Кнопка выполнить выделенный нажатие"} -}, -{3,0, -{0},"",-1,-1,1,0} -}, -{6,e7256db8-21aa-4f70-9043-15178c3122ec,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} -} -},6, -{1,1, -{"ru","Загрузить только выделенные тесты"} -}, -{1,1, -{"ru","Загрузить только выделенные тесты"} -} -}, -{6,601e13c5-ce2c-4636-b28d-3449ade4d78e,1,e1692cc2-605b-4535-84dd-28440238746c, -{3,"КнопкаВыполнитьВыделенныйНажатие", -{1,"КнопкаВыполнитьВыделенныйНажатие", -{1,1, -{"#","Кнопка выполнить выделенный нажатие"} -}, -{1,1, -{"#","Кнопка выполнить выделенный нажатие"} -}, -{1,1, -{"#","Кнопка выполнить выделенный нажатие"} -}, -{3,0, -{0},"",-1,-1,1,0}, -{0,0,0} -} -},15, -{1,1, -{"#","Кнопка выполнить выделенный нажатие"} -}, -{1,1, -{"#","Кнопка выполнить выделенный нажатие"} -}, -{3,3, -{0},"",-1,-1,0, -{ -{#base64:iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAAL -EwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj33 -3vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEs -DIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIe -EeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH -/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAn -f+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJ -V2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4 -mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHg -g/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl -7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/A -V/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5 -WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQ -WHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAA -RKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv -1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4 -IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGy -UT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPE -bDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM -WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPE -NyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD -5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2h -tlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0 -dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHK -CpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2ep -O6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN -2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIp -G6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3n -U9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36 -p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYP -jGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLn -m+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cR -p7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0H -DYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dn -F2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofc -n8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh -7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJ -gUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p -DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85 -ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7 -F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/R -NtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9 -MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo -1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5 -sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWF -fevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTP -ZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJ -zs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ -+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3v -dy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtb -Ylu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ7 -52PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7 -nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9 -zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9D -BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfy -l5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT -0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq -YAAAOpgAABdvkl/FRgAAA2xJREFUeNrsl91Pm1Ucxz99edryPO06YEV5F1FYMo1G -shnizcxiFhJvuDGk88pd+3btX6C3M3oxE4kzC5oY4gJZtiWEcDHADqaDrUBpoaXd -uq6lBUtp+zznPN70Zsl4K9NdyLk9yfl+8vud3/d8j8U0TV7ksvKC1xHAEYB9t82e -nh47oAE1wDawBRjVis3MzBwMANB6/dFP61oKA6mw+1rgt9YrwGNg8zAgBwGo9TZu -f/zhu590B9tunzrxavDCekwdnv6l/TKQBDavXj+t7yXi7wtUDaA6PXq3UxH0dvbz -Vmup7cHDic9r2+4MZOPqyOxwy/f+vsAakAP0q9dPm8+7AjYhoCyylMUmDlsd77Sf -443m919afDR9seH18YupZW3o/s3GS/m0M+LvC2SB8kFA9gLAECBNkGYZQyYp6hkc -Ni+nWs5wsvk9Qi2BAV/n2MDjsGM4Mun7LrPiDvr7AutAcT8gewMYFqSUSFMCIClh -yBRFPYNi99LV9CbdTWdYbp/rn+241Z9cSd1IBo//GL9bd7sCsg3IqgF0HaQpMc2n -zxBIhJ6maGRx2Dx0NLTz2stfstoZPj/dPnredzI7ngkfG4z94RsDngAlwKyqAqZp -Ind6NU2DosxS1HMoNg/N9Q185PuMeFfs7NTSzbO1r0RuJe7Wf5UOee9VIA5YAYNK -C/Zqp0lJblDSN7BbXXg0hXNv97JwYumDCWNlLR3yflEdgG4hV9jAkHv7jsViwWF3 -ojqsCKEzuxwklIgSD7T+BJSrvAMWDASGKXYWxoJid6A53VixM7MY4n50hc01dWht -outrUbaFqwcwQAiJEHIHYQXVoaFYXcyFV/lzeZmNuHP40WTnN0bBHqmYVPlQY2hI -iSGfroBiU9Ccblz2GoKrCQKLIXIJZSS30Pht4aH7HpDZTfhAYyhMgai0wG5T0Jwa -qqKyFEsxNR8gm7De2IrWX86vHp+qCD9z5Ko3IiGxYEV1qHhcHiLxdSbn50jF5Hgx -eWwwH6ofA9JAcb/C+wUQhgCXowa3UyOe+ptr43dIxvTp8hPtSn7BN1oxmV3d7jAA -BT2vLGbWS92jcyHi0eKcnlGHth40DwGpirD4N/NAtpxz/fzryOKAkVV/L8x3DFYC -SeG/CiRbW381XQJ+eB6R7JkecvQzOgL43wP8MwC/vaxojUiI8wAAAABJRU5ErkJg -gg==} -},0}, -{0,118,8} -}, -{6,8109975b-d135-4037-8689-0883345577e5,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},6, -{1,0}, -{1,0} -}, -{6,1c3b8ed7-0e11-407b-8df9-6d4a474c189d,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,1dd8af61-e0c4-46ef-b216-da0d5553095d,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},1, -{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,6,601e13c5-ce2c-4636-b28d-3449ade4d78e, -{8,"ВыполнитьТест",0,3, -{1,2, -{"#","Выполнить тест"}, -{"ru","Выполнить тест"} -},1,d4746b64-45af-49b5-a280-c2206705887b,1,1e2,0,3,1,0,0,0,0},8109975b-d135-4037-8689-0883345577e5, -{8,"Разделитель",0,3, -{1,1, -{"#","Действие"} -},0,d4746b64-45af-49b5-a280-c2206705887b,2,1e2,2,0,1,0,0,0,0},756d8587-67a4-4810-bf46-e5b191eff9aa, -{8,"ВыполнитьТестСИсключением",0,4, -{1,2, -{"#","Выполнить тест"}, -{"ru","Выполнить тест с исключением"} -},1,d4746b64-45af-49b5-a280-c2206705887b,5,1e2,0,3,1,0,0,0,0},1c3b8ed7-0e11-407b-8df9-6d4a474c189d, -{8,"Разделитель1",0,1, -{1,1, -{"ru","Действие"} -},0,d4746b64-45af-49b5-a280-c2206705887b,7,1e2,2,0,1,0,0,0,0},e7256db8-21aa-4f70-9043-15178c3122ec, -{8,"КомандаЗагрузитьТолькоВыделенныеТесты",0,1, -{1,1, -{"ru","Загрузить только выделенные тесты"} -},1,d4746b64-45af-49b5-a280-c2206705887b,8,1e2,0,0,1,0,0,0,0},1dd8af61-e0c4-46ef-b216-da0d5553095d, -{8,"ПоказатьОшибки",0,1, -{1,1, -{"ru","Показать ошибки"} -},1,d4746b64-45af-49b5-a280-c2206705887b,9,1e2,0,0,1,0,0,0,0}, -{-1,0, -{0} -} -} -},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,9d0a2e40-b978-11d4-84b6-008048da06df,0} -}, -{8,269,357,472,381,0, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,10,0,24}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,-367}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},2, -{0,36,1}, -{0,10,1},0,0,0,0,0,0,5,10,0,0}, -{14,"КоманднаяПанельКонтекстноеМенюПоляТестов",4294967295,0,0,0}, -{0} -}, -{151ef23e-6bb2-4681-83d0-35bc2217230c,28, -{1, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},15,0,0, -{3,3, -{0},"",-1,-1,0, -{ -{#base64:iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2Fy -ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAhpJREFUeNqkUz1vE0EQfbO7ZweDUQgE -CptEFEih4ENJREsTaCkokBCigSIFDf8A0dKAhKyEhgaUNg1CpEFCokzg4gJkJAcj -JJtggn2W75zL3S6zd84X0CCPdLq9nZn3Zt7MkTEGg5jAgKbK8zOLOgqvGh0nFyQk -SKoykTjHX/ujqX9DhG2fssnnZ58BW1EaJCVWntw4yyCG6A8ATiIhIFTmExOdSQCM -1py8ibDyEMYQnMI1TM4+5+b6yRZkG8i+lIJbujUhSUzx/bJKHKbLjgPsl4jWX/HF -yySWGMTEGkHH75dukClc53iDjh9ezB/MWgB2xT6EM8RHaYvcYdasS+Wdi6DVsSzs -4YnRfQipkHOcEuv2IAWgTUuHoB0g6TulQ22lgtGxERy/WQISkU36WL+TgTt3+5iy -ZSLy8Pmti+4vb1cv1mN86jSOFI5iq/qIq9ZJ6RZA5ooIxQSa7XBJWWa/vsbKAtP3 -FriduK+WRPy1BG14VSiTlp8AawYYR+vjKr6s914onjc69RoOF3kq3Sp0c4lDRQoi -s3zau2usAzHT0CH8rLq48/jDYtJCu/ENxelL3EodlM1zqtgd4T5jAGcEfmMN3xvN -16vzM56yQcFGC7lTJ4FeiwcxjL82cK9lh7Gx/B61H72FE6NM5s5d9nhgeR3FsEtl -djbm32aLMiTak3ffjJWfXvFs5IVEsf8zu/duulsD/s6/BRgAq8u/ourCQ6kAAAAA -SUVORK5CYII=} -},0}, -{0,0,0},1,1,0,0, -{1,0} -}, -{0} -}, -{8,12,316,47,346,0, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,28,0,30}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,28,2,35}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,28,1},0,1, -{0,28,3},0,0,0,0,6,2,0,0}, -{14,"ПолеКартинкиКаталогТестов",4294967295,0,0,0}, -{0} -}, -{151ef23e-6bb2-4681-83d0-35bc2217230c,29, -{1, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},15,0,0, -{3,3, -{0},"",-1,-1,0, -{ -{#base64:iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB6klEQVQ4jZ2SzWsT -URTFz0sT3Chi4j/gwihTdSN1I21srRgkA+4iGIvxA7Sgi6ymaUSkiKU1UHRh6EqI -wXU7IoytU6lVcFMEiTQVoUpsVEqThYYx6Zvjok00TdKIFy7v43J+XM69IIlWqQUU -78zjEVMLKN7NtX8Sm6lhk8U5Tty7VAdpKZ5+dMtk8YmU+STlt2E5k7xaA3GgSQyo -7d7eYDDRc7rDJ38uCLswZUtaosvv9p0805kYUNu9AOoBQggKIWKvV7Zlpt+ml4du -DjpYfEdZ/iwc5QVC2I6j/h3dPer+dUidKUCs0r7xIGjy6wVaH45Ja/GwvfZJkaXs -XupjXaYWUI439AAA//bAGDticqmDpY8H7FLWy4nRfVVxM0Bss5HP7h80uaxQv1sr -Jgln9+UbQcq1s67tbhXAOQBDJ66PLgFIln+s6q4951MwHl5xuETi1Yu223f09PMa -03xhbXLcmGcmT2byJIBY5T5uzLP32sjkRifuRqOGL6xxNkeGonECqGYoGudsjvSF -NTYS1uyBJYG+/ghC0TgAIBSNo68/Aks225I/4QSAlV/rj1MXI9Wz8tcS4PHs1tNv -Xqo7d3kAAIc6/cguvgcAfM99AQB9S8BqoZCam3oKAGqDui7anKmtAGJj9v8dvwET -hrJA6lgD5gAAAABJRU5ErkJggg==} -},0}, -{0,0,0},1,1,0,0, -{1,0} -}, -{0} -}, -{8,51,316,86,346,0, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,29,0,30}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,29,2,35}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,29,1},0,1, -{0,29,3},0,0,0,0,7,3,0,0}, -{14,"ПолеКартинкиТест",4294967295,0,0,0}, -{0} -}, -{151ef23e-6bb2-4681-83d0-35bc2217230c,30, -{1, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},15,0,0, -{3,3, -{0},"",12,2,1, -{ -{#base64:Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAADEDgAAxA4AAAAA -AAAAAAAA//////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////// -////////////////////////////////r7j0EyP0////////////GzHvoa32//// -////////////////GzHv////////////Iz/r////////////////////Iz/r//// -////////////////Iz/r////////////Iz/r////////////////////Iz/r//// -////////////////Iz/r////////////Iz/r////////////////////Iz/r//// -////////////////Iz/r////////////Iz/r////////////////////Iz/r//// -////////////////Iz/r////////////Iz/r////////////////////Iz/r//// -////////////////Iz/rGzHvGzHv////Iz/r////////////////////Iz/r//// -////////////////Iz/r////////////r7j0EyP0////////////GzHvoa32//// -////////////////Iz/r//////////////////////////////////////////// -////////////////r7j0GzHvGzHv//////////////////////////////////// -//////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////// -////////} -},0}, -{0,0,0},1,1,0,0, -{1,0} -}, -{0} -}, -{8,89,316,124,346,0, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,30,0,30}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,30,2,35}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,30,1},0,1, -{0,30,3},0,0,0,0,8,4,0,0}, -{14,"ПолеКартинкиТестовыйСлучай",4294967295,0,0,0}, -{0} -}, -{151ef23e-6bb2-4681-83d0-35bc2217230c,33, -{1, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},15,0,0, -{3,3, -{0},"",-1,-1,0, -{ -{#base64:iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAl0lEQVR42mNgQAI3 -D234v6Mn8//i8uD/07Jd/3dEW/zft3zafwZiwdaOlP8/7h77//L0xv+3ds37f3Rh -8/+6IH3iDbiwec7/Ta2J//uTHf+3RZoBNRv83710MvEGHD1/7X9qI0QDiAbxydIM -A0Qbgk0z0YbgC3miYgVfyBMVK/hCfqTFCqEQJxgjhEKcYIwQCnGKYwQXAACvVTho -3ItgPQAAAABJRU5ErkJggg==} -},0}, -{0,0,0},1,1,0,0, -{1,0} -}, -{0} -}, -{8,129,316,164,346,0, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,33,0,30}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,33,2,35}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,33,1},0,1, -{0,33,3},0,0,0,0,9,5,0,0}, -{14,"ПолеКартинкиПодсистема",4294967295,0,0,0}, -{0} -} -} -}, -{b1db1f86-abbb-4cf0-8852-fe6ae21650c2,11, -{0, -{ -{10,1, -{3,3, -{-7} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,0, -{44544} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},1,1,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},3,0,100,1,0,1,2} -}, -{8,8,522,847,544,1, -{0, -{2,4,1,3}, -{2,-1,6,0} -}, -{0, -{2,11,0,22}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,-6}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,11,1},0,0,0,0,0,0,1,8,0,0}, -{14,"ИндикаторВыполнения",4294967295,0,0,0}, -{0} -}, -{6ff79819-710e-4145-97cd-1618da79e3e2,12, -{1, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, +{6,3,0,1},1, {3,3, {-22} }, @@ -1729,13 +1034,13 @@ QmCC} {3,"КнопкаВыполнитьВсеТестыНажатие", {1,"КнопкаВыполнитьВсеТестыНажатие", {1,1, -{"#","Кнопка выполнить все тесты нажатие"} +{"ru","Кнопка выполнить все тесты нажатие"} }, {1,1, -{"#","Кнопка выполнить все тесты нажатие"} +{"ru","Кнопка выполнить все тесты нажатие"} }, {1,1, -{"#","Кнопка выполнить все тесты нажатие"} +{"ru","Кнопка выполнить все тесты нажатие"} }, {3,0, {0},"",-1,-1,1,0}, @@ -1745,7 +1050,7 @@ QmCC} } } }, -{8,320,8,497,38,1, +{8,318,8,495,38,1, {0, {2,-1,6,0}, {2,-1,6,0} @@ -1844,281 +1149,21 @@ WHRkYXRlOm1vZGlmeQAyMDEzLTA1LTI4VDA2OjE3OjMwLTA1OjAwR0bHqQAAAABJ RU5ErkJggg==} },0}, {0,0,0},0,2, -{5,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,19,1,13, -{6,9bd9b6aa-ab1e-457d-b808-300c5a5cf4f5,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,9e07cceb-5aab-415b-b070-d4ea55e3aca4,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,7dc1466b-34b2-45af-bb28-b1a3623894f5,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} -} -},7, -{1,1, -{"ru","О проекте xUnitFor1C ..."} -}, -{1,1, -{"ru","О проекте xUnitFor1C ..."} -}, -{3,1, -{0,3b2a508b-f36e-4e0b-9dc0-70b2b56276a9},"",-1,-1,1,0} -}, -{6,f2dac334-4036-4bb4-b973-2d9247a1ff5a,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,678f4f43-5a26-40c6-9d9b-466988fd11f4,1,e1692cc2-605b-4535-84dd-28440238746c, -{3,"КнопкаЗагрузитьТестыЗагрузитьТестКейс", -{1,"КнопкаЗагрузитьТестыЗагрузитьТестКейс", -{1,1, -{"#","Загрузить тест кейс"} -}, -{1,1, -{"#","Загрузить тест кейс"} -}, -{1,1, -{"#","Загрузить тест кейс"} -}, -{3,0, -{0},"",-1,-1,1,0}, -{0,0,0} -} -},6, -{1,1, -{"#","Загрузить один тестовый скрипт (тест-кейс)"} -}, -{1,1, -{"#","Загрузить один тестовый скрипт (тест-кейс)"} -} -}, -{6,c5210775-f972-4ebd-843c-7fe2e0b2a410,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} -} -},6, -{1,1, -{"ru","Загрузить тесты из конфигурации"} -}, -{1,1, -{"ru","Загрузить тесты из конфигурации"} -} -}, -{6,cbffe36c-3b1c-428f-943b-de6d4916eb72,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} -} -},6, -{1,1, -{"ru","Отметка об ошибках тестов в журнале регистрации"} -}, -{1,1, -{"ru","Отметка об ошибках тестов в журнале регистрации"} -} -}, -{6,65b8b494-840d-4058-81ad-99659a25dae6,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,162c246e-8db2-441d-aff5-88f53028b465,1,e1692cc2-605b-4535-84dd-28440238746c, -{3,"КнопкаЗагрузитьТестыНажатие", -{1,"КнопкаЗагрузитьТестыНажатие", -{1,1, -{"#","Кнопка загрузить тесты нажатие"} -}, -{1,1, -{"#","Кнопка загрузить тесты нажатие"} -}, -{1,1, -{"#","Кнопка загрузить тесты нажатие"} -}, -{3,0, -{0},"",-1,-1,1,0}, -{0,0,0} -} -},6, -{1,1, -{"#","Загрузить все тесты из выбранного каталога"} -}, -{1,1, -{"#","Загружает все тесты из выбранного каталога"} -} -}, -{6,bf4f7d35-2edb-4194-b557-f9a0632a9a07,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} -} -},6, -{1,1, -{"ru","Загрузить тесты из конфигурации (имя теста начинается на Тест_*)"} -}, -{1,1, -{"ru","Загрузить тесты из конфигурации (имя теста начинается на Тест_*)"} -} -}, -{6,197afec4-8b42-4e1a-adf7-9902958fe954,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,122c335a-5e7e-47e1-ba33-99d47beac11c,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} -} -},6, -{1,1, -{"ru","Открыть настройки ..."} -}, -{1,1, -{"ru","Открыть настройки ..."} -} -}, -{6,6d2573db-11fa-4821-b68f-a841b1ee1879,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} +{5,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,27,1,1, +{6,42a3606d-8950-4fd7-b850-943b3a2f1d27,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, +{1,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,26},0},2, +{5,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,26,1,0, +{0,0, +{0} } -},6, -{1,1, -{"ru","Случайный порядок выполнения тестов"} }, +{5,31946946-0a9b-40a2-95cf-82f200778341,0,0,1,42a3606d-8950-4fd7-b850-943b3a2f1d27, +{8,"ИсторияЗагрузкиТестов",0,1, {1,1, -{"ru","Случайный порядок выполнения тестов"} -} -},1, -{5,31946946-0a9b-40a2-95cf-82f200778341,0,0,13,c5210775-f972-4ebd-843c-7fe2e0b2a410, -{8,"ЗагрузитьТестыИзКонфигурации",0,3, -{1,1, -{"ru","Загрузить тесты из конфигурации"} -},1,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,7,1e2,0,0,1,0,1,0,0},bf4f7d35-2edb-4194-b557-f9a0632a9a07, -{8,"ЗагрузитьТестыИзКонфигурации_ИмяТеста",0,2, -{1,1, -{"ru","Загрузить тесты из конфигурации (имя теста начинается на Тест_*)"} -},1,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,4,1e2,0,0,1,0,1,0,0},65b8b494-840d-4058-81ad-99659a25dae6, -{8,"Разделитель",0,2, -{1,0},0,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,5,1e2,2,0,1,0,1,0,0},162c246e-8db2-441d-aff5-88f53028b465, -{8,"ЗагрузитьВсеТесты",0,1, -{1,2, -{"#","Загрузить все тесты из каталога"}, -{"ru","Загрузить тесты из каталога"} -},1,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,1,1e2,0,0,1,0,0,0,0},678f4f43-5a26-40c6-9d9b-466988fd11f4, -{8,"ЗагрузитьТестКейс",0,1, -{1,2, -{"#","Загрузить один тестовый скрипт"}, -{"ru","Загрузить отдельный тест из файла"} -},1,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,2,1e2,0,0,1,0,0,0,0},197afec4-8b42-4e1a-adf7-9902958fe954, -{8,"Разделитель1",0,1, -{1,1, -{"ru","Действие"} -},0,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,9,1e2,2,0,1,0,0,0,0},f2dac334-4036-4bb4-b973-2d9247a1ff5a, -{8,"РегистрацияПрохожденияТестовВЖР",0,2, -{1,1, -{"ru","Отметка о прогоне тестов в журнале регистрации"} -},1,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,12,1e2,0,0,1,0,0,0,0},cbffe36c-3b1c-428f-943b-de6d4916eb72, -{8,"РегистрацияОшибокТестовВЖР",0,2, -{1,1, -{"ru","Отметка об ошибках тестов в журнале регистрации"} -},1,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,14,1e2,0,0,1,0,0,0,0},6d2573db-11fa-4821-b68f-a841b1ee1879, -{8,"СлучайныйПорядокВыполненияТестов",0,1, -{1,1, -{"ru","Случайный порядок выполнения тестов"} -},1,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,10,1e2,0,0,1,0,0,0,0},9e07cceb-5aab-415b-b070-d4ea55e3aca4, -{8,"Разделитель2",0,1, -{1,1, -{"ru","Действие"} -},0,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,11,1e2,2,0,1,0,0,0,0},122c335a-5e7e-47e1-ba33-99d47beac11c, -{8,"ОткрытьНастройки",0,1, -{1,1, -{"ru","Открыть настройки ..."} -},1,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,15,1e2,0,0,1,0,0,0,0},7dc1466b-34b2-45af-bb28-b1a3623894f5, -{8,"ИнформацияОПроекте",0,1, -{1,1, -{"ru","О проекте xUnitFor1C ..."} -},1,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,8,1e2,0,0,1,0,0,0,0},9bd9b6aa-ab1e-457d-b808-300c5a5cf4f5, -{8,"Разделитель3",0,1, -{1,1, -{"ru","Действие"} -},0,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,16,1e2,2,0,1,0,0,0,0}, +{"ru","История загрузки тестов"} +},1,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,20,1e2,1,0,1,0,0,0,0}, {-1,0, -{0} +{1,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,20,0} } } } @@ -2174,87 +1219,6 @@ RU5ErkJggg==} {14,"КнопкаЗагрузитьТесты",4294967295,0,0,0}, {0} }, -{381ed624-9217-4e63-85db-c4c3cb87daae,20, -{9, -{"Pattern", -{"S"} -}, -{ -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,3, -{-1} -}, -{3,0, -{16711680} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},21,0,2,1,0,0,0,0,0,0,1,0,1,0,0,0,4,0, -{"U"}, -{"U"},"",0,1,0,0,1,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0},0,0,0, -{0,0,0}, -{1,0},0,0,0,0} -}, -{1, -{9a7643d2-19e9-45e2-8893-280bc9195a97, -{4, -{"U"}, -{"U"},1,"",0,0} -} -}, -{0},0,1,0, -{1,0},0}, -{8,8,43,847,62,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,0,62}, -{2,0,1,-490} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,-6}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},0,1, -{0,4,0},0,0,0,0,0,4,6,0,0}, -{14,"ПутиНадпись",4294967295,0,0,0}, -{0} -}, {6ff79819-710e-4145-97cd-1618da79e3e2,21, {1, { @@ -2322,65 +1286,18 @@ fpcIxAUgkUoIHsoxHlpxsReNeI9EIrDkX2QLIpCML+Wkf5z+LcAAUD/gDNueXkgA AAAASUVORK5CYII=} },0}, {0,0,0},0,2, -{5,41c23139-b710-4b93-a93e-1a3fe9843cfe,5,1,5, -{6,cc32a83c-b8db-46ab-87ed-129bf9b534db,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} -} -},7, -{1,1, -{"ru","О проекте xUnitFor1C ..."} -}, -{1,1, -{"ru","О проекте xUnitFor1C ..."} -}, -{3,1, -{0,3b2a508b-f36e-4e0b-9dc0-70b2b56276a9},"",-1,-1,1,0} -}, -{6,7580111d-47b0-472f-97c9-3a19e9f8166a,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,6f311359-994c-450c-a576-9ea056a13d88,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,693abb55-6597-4b5c-8e17-815b631a53df,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,0bed25ce-98b4-4240-ad7e-7b409f0cb3e4,1,e1692cc2-605b-4535-84dd-28440238746c, -{3,"КнопкаПерезагрузитьНажатие", -{1,"КнопкаПерезагрузитьНажатие", +{5,41c23139-b710-4b93-a93e-1a3fe9843cfe,5,1,3, +{6,c991810f-3f09-4357-9e9f-15124490b527,1,e1692cc2-605b-4535-84dd-28440238746c, +{3,"ПерезагрузитьПоследниеТестыПоИстории", +{1,"ПерезагрузитьПоследниеТестыПоИстории", {1,1, -{"ru","Кнопка перезагрузить нажатие"} +{"ru","Перезагрузить последние тесты по истории"} }, {1,1, -{"ru","Кнопка перезагрузить нажатие"} +{"ru","Перезагрузить последние тесты по истории"} }, {1,1, -{"ru","Кнопка перезагрузить нажатие"} +{"ru","Перезагрузить последние тесты по истории"} }, {3,0, {0},"",-1,-1,1,0}, @@ -2425,28 +1342,39 @@ BguK5OCb5OCdsRjPzXIg/qV4LWdl5AGyvOJa/LLzgL7Lh5bic2AxDUSCuJ8sg4fZ fpcIxAUgkUoIHsoxHlpxsReNeI9EIrDkX2QLIpCML+Wkf5z+LcAAUD/gDNueXkgA AAAASUVORK5CYII=} },0} -},1, -{5,31946946-0a9b-40a2-95cf-82f200778341,0,0,5,0bed25ce-98b4-4240-ad7e-7b409f0cb3e4, +}, +{6,1756061c-070b-4d61-a685-98b5831d8407,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,68394fe2-09ab-4cdc-860d-b6509936f835,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, +{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0},1, +{5,31946946-0a9b-40a2-95cf-82f200778341,0,0,3,c991810f-3f09-4357-9e9f-15124490b527, {8,"ПерезагрузитьТесты",0,1, {1,1, {"ru","Перезагрузить тесты"} -},1,41c23139-b710-4b93-a93e-1a3fe9843cfe,1,1e2,0,0,1,0,0,0,0},693abb55-6597-4b5c-8e17-815b631a53df, +},1,41c23139-b710-4b93-a93e-1a3fe9843cfe,1,1e2,0,0,1,0,0,0,0},68394fe2-09ab-4cdc-860d-b6509936f835, {8,"Разделитель",0,1, {1,1, {"ru","Действие"} -},0,41c23139-b710-4b93-a93e-1a3fe9843cfe,2,1e2,2,0,1,0,0,0,0},7580111d-47b0-472f-97c9-3a19e9f8166a, +},0,41c23139-b710-4b93-a93e-1a3fe9843cfe,2,1e2,2,0,1,0,0,0,0},1756061c-070b-4d61-a685-98b5831d8407, {8,"ПерезагрузитьБраузерТестирования",0,1, {1,1, {"#","Перезагрузить браузер тестирования"} -},0,41c23139-b710-4b93-a93e-1a3fe9843cfe,3,1e2,0,0,1,0,0,0,0},6f311359-994c-450c-a576-9ea056a13d88, -{8,"Разделитель1",0,2, -{1,1, -{"ru","Действие"} -},0,41c23139-b710-4b93-a93e-1a3fe9843cfe,4,1e2,2,0,1,0,0,0,0},cc32a83c-b8db-46ab-87ed-129bf9b534db, -{8,"ИнформацияОПроекте",0,2, -{1,1, -{"ru","О проекте xUnitFor1C ..."} -},1,41c23139-b710-4b93-a93e-1a3fe9843cfe,5,1e2,0,0,1,0,0,0,0}, +},0,41c23139-b710-4b93-a93e-1a3fe9843cfe,3,1e2,0,0,1,0,0,0,0}, {-1,0, {0} } @@ -2455,16 +1383,16 @@ AAAASUVORK5CYII=} }, {1, {0,e1692cc2-605b-4535-84dd-28440238746c, -{3,"КнопкаПерезагрузитьНажатие", -{1,"КнопкаПерезагрузитьНажатие", +{3,"ПерезагрузитьПоследниеТестыПоИстории", +{1,"ПерезагрузитьПоследниеТестыПоИстории", {1,1, -{"#","Кнопка перезагрузить нажатие"} +{"ru","Перезагрузить последние тесты по истории"} }, {1,1, -{"#","Кнопка перезагрузить нажатие"} +{"ru","Перезагрузить последние тесты по истории"} }, {1,1, -{"#","Кнопка перезагрузить нажатие"} +{"ru","Перезагрузить последние тесты по истории"} }, {3,0, {0},"",-1,-1,1,0}, @@ -2474,7 +1402,7 @@ AAAASUVORK5CYII=} } } }, -{8,176,8,316,38,1, +{8,174,8,314,38,1, {0, {2,-1,6,0}, {2,-1,6,0} @@ -2500,7 +1428,7 @@ AAAASUVORK5CYII=} {2,-1,6,0} },1, {0,21,1},0,1, -{0,21,3},0,0,0,0,5,2,0,0}, +{0,21,3},0,0,0,0,4,2,0,0}, {14,"КнопкаПерезагрузить",4294967295,0,0,0}, {0} }, @@ -3072,27 +2000,8 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==} {3,0, {0},"",-1,-1,1,0}, {0,0,0},0,2, -{5,28c47454-3a17-4ec8-b47f-d5008bf3ea41,4,1,4, -{6,03525a59-abff-418c-a79b-e11158be178f,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,fbd90a0f-589e-4454-9510-f2fefc036137,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,5b98c2ba-9087-46e9-bb89-db95363cc98e,1,e1692cc2-605b-4535-84dd-28440238746c, +{5,28c47454-3a17-4ec8-b47f-d5008bf3ea41,5,1,3, +{6,6413723a-f363-4dc1-8242-04ba67f9c8ed,1,e1692cc2-605b-4535-84dd-28440238746c, {3,"КнопкаИнструментыГенераторМакетовДанных", {1,"КнопкаИнструментыГенераторМакетовДанных", {1,1, @@ -3118,49 +2027,53 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==} {3,1, {0,01ec9d9a-7497-4d88-b93f-066c633a4866},"",-1,-1,1,0} }, -{6,a0ed3a7f-3dc5-437a-a63f-9adcb66b8744,1,e1692cc2-605b-4535-84dd-28440238746c, -{3,"КнопкаЗагрузитьТестыИнформацияОПроекте", -{1,"КнопкаЗагрузитьТестыИнформацияОПроекте", +{6,aca3150f-03ff-4178-a9cb-330b016d2ab4,1,e1692cc2-605b-4535-84dd-28440238746c, +{3,"КнопкаИнструментыКонвертерТестов", +{1,"КнопкаИнструментыКонвертерТестов", {1,1, -{"ru","Информация о проекте"} +{"ru","Конвертер тестов"} }, {1,1, -{"ru","Информация о проекте"} +{"ru","Конвертер тестов"} }, {1,1, -{"ru","Информация о проекте"} +{"ru","Конвертер тестов"} }, {3,0, {0},"",-1,-1,1,0}, {0,0,0} } -},7, +},0}, +{6,06b4e225-3051-451b-90d9-e1ffb404eded,1,e1692cc2-605b-4535-84dd-28440238746c, +{3,"КнопкаИнструментыПоказатьГУИД", +{1,"КнопкаИнструментыПоказатьГУИД", {1,1, -{"ru","О проекте xUnitFor1C ..."} +{"ru","Показать ГУИД"} }, {1,1, -{"ru","О проекте xUnitFor1C ..."} +{"ru","Показать ГУИД"} }, -{3,1, -{0,3b2a508b-f36e-4e0b-9dc0-70b2b56276a9},"",-1,-1,1,0} -},1, -{5,31946946-0a9b-40a2-95cf-82f200778341,0,0,4,5b98c2ba-9087-46e9-bb89-db95363cc98e, +{1,1, +{"ru","Показать ГУИД"} +}, +{3,0, +{0},"",-1,-1,1,0}, +{0,0,0} +} +},0},1, +{5,31946946-0a9b-40a2-95cf-82f200778341,0,0,3,6413723a-f363-4dc1-8242-04ba67f9c8ed, {8,"ГенераторМакетовДанных",0,1, {1,1, {"#","Генератор макетов данных"} -},0,28c47454-3a17-4ec8-b47f-d5008bf3ea41,1,1e2,0,0,1,0,0,0,0},03525a59-abff-418c-a79b-e11158be178f, +},0,28c47454-3a17-4ec8-b47f-d5008bf3ea41,1,1e2,0,0,1,0,0,0,0},06b4e225-3051-451b-90d9-e1ffb404eded, {8,"ПоказатьГУИД",0,1, {1,1, {"#","Показать ГУИД"} -},0,28c47454-3a17-4ec8-b47f-d5008bf3ea41,2,1e2,0,0,1,0,0,0,0},fbd90a0f-589e-4454-9510-f2fefc036137, -{8,"Разделитель1",0,3, -{1,1, -{"ru","Действие"} -},0,28c47454-3a17-4ec8-b47f-d5008bf3ea41,3,1e2,2,0,1,0,0,0,0},a0ed3a7f-3dc5-437a-a63f-9adcb66b8744, -{8,"ИнформацияОПроекте",0,3, +},0,28c47454-3a17-4ec8-b47f-d5008bf3ea41,2,1e2,0,0,1,0,0,0,0},aca3150f-03ff-4178-a9cb-330b016d2ab4, +{8,"КонвертерТестов",0,1, {1,1, -{"ru","О проекте xUnitFor1C ..."} -},1,28c47454-3a17-4ec8-b47f-d5008bf3ea41,4,1e2,0,0,1,0,0,0,0}, +{"ru","Конвертер тестов в формат 4-й версии"} +},1,28c47454-3a17-4ec8-b47f-d5008bf3ea41,5,1e2,0,0,1,0,0,0,0}, {-1,0, {0} } @@ -3169,7 +2082,7 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==} }, {0} }, -{8,706,8,847,38,1, +{8,709,8,850,38,1, {0, {2,-1,6,0}, {2,-1,6,0} @@ -3195,7 +2108,7 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==} {2,-1,6,0} },1, {0,35,1},0,1, -{0,35,3},0,0,0,0,6,5,0,0}, +{0,35,3},0,0,0,0,5,5,0,0}, {14,"КнопкаИнструменты",4294967295,0,0,0}, {0} }, @@ -3231,23 +2144,23 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==} },10, {1,2, {"#","Выполнить все тесты"}, -{"ru","Выполнить выделенные(Ctrl+Enter)"} +{"ru","Выполнить выделенные (Ctrl+Enter)"} },1,1,1,0,0, {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,"КнопкаВыполнитьВыделенныйНажатие", -{1,"КнопкаВыполнитьВыделенныйНажатие", +{3,"КнопкаВыполнитьВыделенныеТестыНажатие", +{1,"КнопкаВыполнитьВыделенныеТестыНажатие", {1,1, -{"ru","Кнопка выполнить выделенный нажатие"} +{"ru","Кнопка выполнить выделенные тесты нажатие"} }, {1,1, -{"ru","Кнопка выполнить выделенный нажатие"} +{"ru","Кнопка выполнить выделенные тесты нажатие"} }, {1,1, -{"ru","Кнопка выполнить выделенный нажатие"} +{"ru","Кнопка выполнить выделенные тесты нажатие"} }, {3,0, {0},"",-1,-1,1,0}, @@ -3257,7 +2170,7 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==} } } }, -{8,500,8,706,38,1, +{8,499,8,705,38,1, {0, {2,-1,6,0}, {2,-1,6,0} @@ -3283,15 +2196,15 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==} {2,-1,6,0} },1, {0,36,1},0,1, -{0,36,3},0,0,0,0,7,4,0,0}, -{14,"КнопкаВыполнитьВсеТесты1",4294967295,0,0,0}, +{0,36,3},0,0,0,0,6,4,0,0}, +{14,"КнопкаВыполнитьВыделенныеТесты",4294967295,0,0,0}, {0} } } -},853,552,1,0,1,4,4,1037}, +},859,552,1,0,1,4,4,1300}, { -{1},22, -{14, +{1},27, +{4, { {1},0,0,1,"ОбработкаОбъект", {"Pattern", @@ -3299,109 +2212,24 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==} } }, { -{2},1,0,1,"ИндикаторВыполнения", -{"Pattern", -{"N",10,0,1} -} -}, -{ -{6},1,0,1,"ПутиНадпись", -{"Pattern", -{"S"} -} -}, -{ -{8},1,0,1,"ReloadBeforeRunAll", -{"Pattern", -{"B"} -} -}, -{ -{9},1,0,1,"LogOnSuccess", -{"Pattern", -{"B"} -} -}, -{ -{12},0,0,1,"ПутьОтчетаТестирования", -{"Pattern", -{"S"} -} -}, -{ -{13},0,0,1,"ТипОтчетаОТестировании", -{"Pattern", -{"S",10,1} -} -}, -{ -{14},0,0,1,"ПутьКФайлуЛога", -{"Pattern", -{"S"} -} -}, -{ -{15},0,0,1,"ЗавершитьРаботуПослеТестирования", -{"Pattern", -{"B"} -} -}, -{ -{16},0,0,1,"Пути", -{"Pattern", -{"#",4772b3b4-f4a3-49c0-a1a5-8cb5961511a3} -} -}, -{ -{17},0,0,1,"ДлинаИстории", -{"Pattern", -{"N",10,0,1} -} -}, -{ -{18},0,0,1,"ИсторияВыбораМест", +{23},0,0,1,"ДеревоТестов", {"Pattern", -{"#",4772b3b4-f4a3-49c0-a1a5-8cb5961511a3} +{"#",e603c0f2-92fb-4d47-8f38-a44a381cf235} } }, { -{19},0,0,1,"ИсторияВыбораФайлов", -{"Pattern", -{"#",4772b3b4-f4a3-49c0-a1a5-8cb5961511a3} -} +{24},0,0,1,"ДеревоОтЗагрузчика", +{"Pattern"} }, { -{20},0,0,1,"ЭтоЗапускВПакетномРежиме", -{"Pattern", -{"B"} -} -} -}, -{5, -{5, -{2, -{1}, -{0,74ab8988-f52c-40cb-9b09-66a817b93074} -} -}, -{11, -{1, -{2} +{25},0,0,1,"Загрузчик", +{"Pattern"} } }, -{20, {1, -{6} -} -}, -{24, -{1, -{8} -} -}, -{27, +{5, {1, -{9} +{23} } } } @@ -3411,25 +2239,7 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==} {0,0}, {0},1} }, -{4, -{70000,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} -} -} -}, +{2, {70001,e1692cc2-605b-4535-84dd-28440238746c, {3,"ПриОткрытии", {1,"ПриОткрытии", @@ -3465,24 +2275,6 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==} {0,0,0} } } -}, -{70007,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,4,1,0,0,0, {1,5,10,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0}, diff --git "a/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260/module" "b/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260/module" index 50350d42..d3d09e73 100644 --- "a/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260/module" +++ "b/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260/module" @@ -1,969 +1,365 @@ -//////////////////////////////////////////////////////////////////////////////// -// ПЕРЕМЕННЫЕ МОДУЛЯ - -Перем мМассивПиктограммСостояний; -Перем мМассивПиктограммТиповСтроки; - -//////////////////////////////////////////////////////////////////////////////// -// ПРОЦЕДУРЫ И ФУНКЦИИ ОБЩЕГО НАЗНАЧЕНИЯ - -// Открывает диалог выбора каталога тестов. -// Возвращает Истину, если каталог выбран и ложь в противном случае. -// Путь к выбранному каталогу запоминается в реквизите формы Путь. -// -Функция ВыбратьКаталогТестов() - - ДиалогВыбораКаталога = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога); - ДиалогВыбораКаталога.Каталог = ПервыйПуть(); - - Если ДиалогВыбораКаталога.Выбрать() Тогда - - УстановитьНовыйПуть(ДиалогВыбораКаталога.Каталог); - - Возврат Истина; - - КонецЕсли; - - Возврат Ложь; - -КонецФункции - -// Открывает диалог выбора подсистем тестов -// -Функция ВыбратьПодсистему(ОтборПоИмениТеста) - ФормаВыбораПодсистем = ЭтотОбъект.ПолучитьФорму("ФормаВыбораПодсистемы"); - ФормаВыбораПодсистем.РежимВыбора = Истина; - //ФормаВыбораПодсистем.ОбработкаОбъект = ЭтотОбъект; - ФормаВыбораПодсистем.ОтборПоИмениТеста = ОтборПоИмениТеста; - РезультатВыбораПодсистемы = ФормаВыбораПодсистем.ОткрытьМодально(); - - Если РезультатВыбораПодсистемы <> Неопределено Тогда - УстановитьНовыйПуть(РезультатВыбораПодсистемы); - Возврат Истина; - КонецЕсли; - - Возврат Ложь; -КонецФункции - -// Разворачивает строки табличного поля дерева тестов. -// По умолчанию разворачивается только самый верхний уровень. -// -Процедура РазвернутьСтрокиДерева(ВключаяПодчиненные = Ложь) - - Для каждого СтрокаДерева из ДеревоТестов.Строки Цикл - ЭлементыФормы.тпДеревоТестов.Развернуть(СтрокаДерева, ВключаяПодчиненные); - КонецЦикла; - -КонецПроцедуры - -Процедура СвернутьУспешныеСтрокиДереваИРазвернутьНеуспешные(СтрокиДереваТестов, ОставитьРазвернутым) - ЭлементДеревоТестов = ЭлементыФормы.тпДеревоТестов; - Для каждого СтрокаДерева из СтрокиДереваТестов Цикл - Если Не ОставитьРазвернутым Тогда - Если СтрокаДерева.Состояние = мЗначенияСостоянияТестов.Сломался или - СтрокаДерева.Состояние = мЗначенияСостоянияТестов.НеРеализован Тогда - - ЭлементДеревоТестов.Развернуть(СтрокаДерева, Ложь); - ИначеЕсли СтрокаДерева.Состояние <> мЗначенияСостоянияТестов.НеВыполнялся Тогда - ЭлементДеревоТестов.Свернуть(СтрокаДерева); - КонецЕсли; - КонецЕсли; - СвернутьУспешныеСтрокиДереваИРазвернутьНеуспешные(СтрокаДерева.Строки, Ложь); - КонецЦикла; - -КонецПроцедуры - -Функция ПосчитатьКоличествоТестовыхСлучаевПоВсемуДеревуТестов(РодительскаяСтрока) - коллекцияСтрок = РодительскаяСтрока.Строки; - Если коллекцияСтрок.Количество() = 0 Тогда - Возврат 1; // строка теста - КонецЕсли; - количествоТестов = 0; - Для каждого СтрокаДерева из коллекцияСтрок Цикл - лКоличество = ПосчитатьКоличествоТестовыхСлучаевПоВсемуДеревуТестов(СтрокаДерева); - СтрокаДерева.КоличествоТестов = лКоличество; - количествоТестов = количествоТестов + лКоличество; - КонецЦикла; - Возврат количествоТестов; -КонецФункции - -// Устанавливает начальное состояние индикатора выполнения тестов. -// -Процедура ИнициализироватьИндикаторВыполнения(КоличествоТестовыхСлучаев = 0) - - ЭлементыФормы.ИндикаторВыполнения.МаксимальноеЗначение = КоличествоТестовыхСлучаев; - ЭлементыФормы.ИндикаторВыполнения.Значение = 0; - ЭлементыФормы.ИндикаторВыполнения.ЦветРамки = Новый Цвет(0, 174, 0); // Зеленый. - -КонецПроцедуры - -Функция ПолучитьИмяДляСохраненияПараметров() - Возврат Метаданные().Имя + "_Параметры"; -КонецФункции - -// Пример строки запуска для внешних файлов - "Тесты_Команда_Тестировать;E:\ТестыИМ\Тесты;ЗавершитьРаботуПослеТестирования" -// "C:\Program Files (x86)\1cv82\8.2.18.96\bin\1cv8c.exe" /DisableStartupMessages /Execute E:\ТестыИМ\xddTestRunner.epf /S "as-msk-a6122\im_test" /Out "E:\ТестыИМ\Тесты\log.txt" /C "Тесты_Команда_Тестировать;E:\ТестыИМ\Тесты;ЗавершитьРаботуПослеТестирования" /LogUI -// -// Пример строки запуска для внутренний тестов-обработок - "ЭтоТестИзКонфигурации;Тесты_Команда_Тестировать;Подсистемы.Тестирование;ЗавершитьРаботуПослеТестирования" -// "C:\Program Files (x86)\1cv82\8.2.18.96\bin\1cv8c.exe" /DisableStartupMessages /Execute E:\ТестыИМ\xddTestRunner.epf /S "as-msk-a6122\im_test" /Out "E:\ТестыИМ\Тесты\log.txt" /C "Тесты_Команда_Тестировать;E:\ТестыИМ\Тесты;ЗавершитьРаботуПослеТестирования" /LogUI -Функция ОбработатьПараметрыЗапуска(СтрокаПараметровЗапуска) - - ПараметрыЗапуска = РазобратьПараметрыЗапуска(СтрокаПараметровЗапуска); - Если ПараметрыЗапуска = Неопределено Тогда - Возврат Ложь; - КонецЕсли; - - ЭтоЗапускВПакетномРежиме = Истина; - УстановитьЗначенияНастроекПоУмолчанию(); - - естьКоманда_ВыполнитьТестирование = ПараметрыЗапуска.Выполнить; - естьКоманда_Загрузить = ПараметрыЗапуска.Загрузить; - путьКТестам = ПараметрыЗапуска.ПутьТестов; - лЗавершитьРаботуПослеТестирования = ПараметрыЗапуска.ОстановитьСистему; - - ПутьОтчетаТестирования = ПараметрыЗапуска.ПутьОтчета; - ТипОтчетаОТестировании = ПараметрыЗапуска.ФорматОтчета; - ПутьКФайлуЛога = ПараметрыЗапуска.ПутьКодаВозврата; - //РегистрацияПрохожденияТестовВЖР = ПараметрыЗапуска.РегистрацияПрохожденияТестовВЖР; - //РегистрацияОшибокТестовВЖР = ПараметрыЗапуска.РегистрацияОшибокТестовВЖР; - мЭтоВнутренняяОбработка = ПараметрыЗапуска.ВстроенныеТесты; - //ВыводЛогаВФорматеTeamCity = ПараметрыЗапуска.ВыводЛогаВФорматеTeamCity; - //СлучайныйПорядокВыполнения = ПараметрыЗапуска.СлучайныйПорядокВыполнения; - - ЭтаФорма.ЗавершитьРаботуПослеТестирования = лЗавершитьРаботуПослеТестирования; - - ЗаписатьКодВозвратаВЛогФайл(ПутьКФайлуЛога, "1"); //По умолчанию считаем что ошибка. Перед завершением работы запишем 0. - - Если естьКоманда_ВыполнитьТестирование Тогда - Если НЕ мЭтоВнутренняяОбработка Тогда - ОписаниеОшибки = "ОШИБКА загрузки тестов: Ожидали, что каталог/файл тестов будет существовать, а он не существует."; - Если Не ПроверитьСуществованиеФайла(путьКТестам, ОписаниеОшибки, лЗавершитьРаботуПослеТестирования) Тогда - Возврат Истина; - КонецЕсли; - КонецЕсли; - - ФайлИлиКаталогОтчетовТестирования = Новый Файл(ПутьОтчетаТестирования); - ОписаниеОшибки = "ОШИБКА загрузки тестов: Ожидали, что каталог отчетов тестирования будет существовать, а он не существует."; - Если Не ПроверитьСуществованиеФайла(ФайлИлиКаталогОтчетовТестирования.Путь, ОписаниеОшибки, лЗавершитьРаботуПослеТестирования) Тогда - Возврат Истина; - КонецЕсли; - - КонецЕсли; - - УстановитьНовыйПуть(путьКТестам); - Попытка - Форма_ЗагрузитьТестовыеНаборы(); - Исключение - текстОшибки = ОписаниеОшибки(); - ВывестиСообщение("ОШИБКА загрузки тестов: "+текстОшибки); - Если лЗавершитьРаботуПослеТестирования Тогда - ЗавершитьРаботуСистемы(Ложь); - Возврат Истина; - КонецЕсли; - КонецПопытки; - - Если естьКоманда_ВыполнитьТестирование Тогда - Попытка - КодРезультатаТестирования = ВыполнитьВсеТесты(); - Исключение - текстОшибки = ОписаниеОшибки(); - ВывестиСообщение("ОШИБКА выполнения тестов: "+текстОшибки); - Если лЗавершитьРаботуПослеТестирования Тогда - ЗавершитьРаботуСистемы(Ложь); - Возврат Истина; - КонецЕсли; - КонецПопытки; - КонецЕсли; - - Если лЗавершитьРаботуПослеТестирования Тогда - ЗаписатьКодВозвратаВЛогФайл(ПутьКФайлуЛога, "0", КодРезультатаТестирования); - ЗавершитьРаботуСистемы(Ложь); - КонецЕсли; - - Возврат Истина; -КонецФункции - -Функция ПроверитьСуществованиеФайла(ПутьФайла, Знач ОписаниеОшибки, ЗавершитьРаботуПослеТестирования) - Файл = Новый Файл(ПутьФайла); - Если НЕ Файл.Существует() Тогда - ОписаниеОшибки = ОписаниеОшибки + "путь <"+ПутьФайла+">"; - ВывестиСообщение(ОписаниеОшибки); - ЗарегистрироватьОшибкуЗапускаТестирования(Файл.ПолноеИмя, ОписаниеОшибки); - - Если ЗавершитьРаботуПослеТестирования Тогда - ЗавершитьРаботуСистемы(Ложь); - КонецЕсли; - Возврат Ложь; - КонецЕсли; - Возврат Истина; -КонецФункции - -Процедура УстановитьПоУмолчаниюОбработчикКоманды_ЗагрузитьТесты() - НужнаяКнопка = ЭлементыФормы.КнопкаЗагрузитьТесты; - Кнопки = НужнаяКнопка.Кнопки; - Если ЭтоВстроеннаяОбработка Тогда - Кнопка = Кнопки.ЗагрузитьТестыИзКонфигурации_ИмяТеста; - Иначе - Кнопка = Кнопки.ЗагрузитьВсеТесты; - КонецЕсли; - - НужнаяКнопка.УстановитьДействие("Нажатие", Кнопка.Действие); - Кнопка.Картинка = НужнаяКнопка.Картинка; -КонецПроцедуры - -//////////////////////////////////////////////////////////////////////////////// -// ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ - -Процедура ПередОткрытием(Отказ, СтандартнаяОбработка) - - Настройки = ХранилищеОбщихНастроек.Загрузить("xUnitFor1C"); - Если ТипЗнч(Настройки) = Тип("Структура") Тогда - ПолучитьФлагИзНастроек(Настройки, "ЗапретИспользованияИнформатора", ЗапретИспользованияИнформатора); - КонецЕсли; - - ПараметрыЗапуска = РазобратьПараметрыЗапуска(ПараметрЗапуска); - Если ПараметрыЗапуска = Неопределено Тогда - БылаОшибкаПриПредыдущейЗагрузке = СохраненнаяНастройка_БылаОшибкаПриПредыдущейЗагрузке(); - Если БылаОшибкаПриПредыдущейЗагрузке И НЕ ЗапретИспользованияИнформатора Тогда - Текст = "Возникла ошибка при предыдущей загрузке тестов со включенным Информатором. Хотите временно отключить использование Информатора?"+Символы.ПС+Символы.ПС+ - "Для постоянного отключения Информатора воспользуйтесь формой настроек"; - Ответ = Вопрос(Текст, РежимДиалогаВопрос.ДаНет, 0); - Если Ответ = КодВозвратаДиалога.Да Тогда - ЗапретИспользованияИнформатора = Истина; - КонецЕсли; - КонецЕсли; - КонецЕсли; - - ПодключитьИнформатор(); -КонецПроцедуры - +// { События формы Процедура ПриОткрытии() + ЗагрузитьПлагины(); + КэшироватьПеречисленияПлагинов(); + ОбновитьКнопкиИсторииЗагрузкиТестов(); ЭтаФорма.Заголовок = ЭтотОбъект.ЗаголовокФормы(); - УстановитьПоУмолчаниюОбработчикКоманды_ЗагрузитьТесты(); - Если ОбработатьПараметрыЗапуска(ПараметрЗапуска) Тогда - Возврат; - КонецЕсли; - - ВосстановитьНастройки(); - - Если ЗначениеЗаполнено(Пути) Тогда - - БылаОшибкаПриПредыдущейЗагрузке = СохраненнаяНастройка_БылаОшибкаПриПредыдущейЗагрузке(); - - Если БылаОшибкаПриПредыдущейЗагрузке Тогда - Текст = "Возникла ошибка при предыдущей загрузке тестов. Хотите отменить загрузку тестов?"; - Ответ = Вопрос(Текст, РежимДиалогаВопрос.ДаНет, 0); - Если Ответ = КодВозвратаДиалога.Да Тогда - Пути.Очистить(); - КонецЕсли; - - КонецЕсли; - КонецЕсли; - - УстановитьНастройку_БылаОшибкаПриПредыдущейЗагрузке(Истина); - - Попытка - - ОбновитьНадписьПути(); - - Форма_ЗагрузитьТестовыеНаборы(); - Исключение - УстановитьНастройку_БылаОшибкаПриПредыдущейЗагрузке(Ложь); - ВызватьИсключение; - КонецПопытки; - - УстановитьНастройку_БылаОшибкаПриПредыдущейЗагрузке(Ложь); -КонецПроцедуры - -Процедура ПриЗакрытии() - - Если Не ЭтоЗапускВПакетномРежиме Тогда - СохранитьНастройки(); - КонецЕсли; - -КонецПроцедуры - -// Обработка оповещений о загрузке или ходе выполнения тестов. -// -Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) - - // Возможные события: - // xUnitFor1C.TestLoaded - // xUnitFor1C.TestPassed - // xUnitFor1C.TestNotInplemented - // xUnitFor1C.TestFailed - - Если ИмяСобытия = "xUnitFor1C.TestPassed" Тогда - - ЭлементыФормы.ИндикаторВыполнения.Значение = ЭлементыФормы.ИндикаторВыполнения.Значение + 1; - - ИначеЕсли ИмяСобытия = "xUnitFor1C.TestNotImplemented" Тогда - - ЭлементыФормы.ИндикаторВыполнения.Значение = ЭлементыФормы.ИндикаторВыполнения.Значение + 1; - - Если ЭлементыФормы.ИндикаторВыполнения.ЦветРамки <> WebЦвета.Красный Тогда - ЭлементыФормы.ИндикаторВыполнения.ЦветРамки = WebЦвета.Золотой; - КонецЕсли; - - ИначеЕсли ИмяСобытия = "xUnitFor1C.TestFailed" Тогда - - ЭлементыФормы.ИндикаторВыполнения.Значение = ЭлементыФормы.ИндикаторВыполнения.Значение + 1; - ЭлементыФормы.ИндикаторВыполнения.ЦветРамки = WebЦвета.Красный; - - КонецЕсли; - -КонецПроцедуры - -//////////////////////////////////////////////////////////////////////////////// -// ОБРАБОТЧИКИ ЭЛЕМЕНТОВ УПРАВЛЕНИЯ СТРАНИЦЫ "Тестирование" - -Процедура ВыполнитьВыделенныеТесты(Элемент, ВызыватьИсключение = Ложь) - // В случае множественного выделения в общем случае у нас могут быть одновременно выделены - // как строки на уровне обработок тестирования и папок, но и отдельные тестовые случаи. - // Поэтому мы предварительно из выделенных строк получаем ТОЛЬКО строки, соответствующие - // тестовым случаям. При этом, если выделена строка обработки или папка, то значит надо выполнить - // все тестовые случае, реализованные в этой обработке (или все тестовые случаи, реализованные во - // всех обработках в выделенной папке). - - ВыделенныеСтроки = ЭлементыФормы.тпДеревоТестов.ВыделенныеСтроки; - - Если СлучайныйПорядокВыполнения Тогда - МассивТестовыхСлучаев = ПолучитьСтрокиДереваВСлучайномПорядке(ВыделенныеСтроки); + ЭтоПакетныйЗапуск = ЗначениеЗаполнено(ПараметрЗапуска); + Если ЭтоПакетныйЗапуск Тогда + ВыполнитьПакетныйЗапуск(ПараметрЗапуска); Иначе - МассивТестовыхСлучаев = ПолучитьТолькоТестовыеМетодыИзДерева(ВыделенныеСтроки); + ПерезагрузитьПоследниеТестыПоИстории(); КонецЕсли; - - ИнициализироватьИндикаторВыполнения(МассивТестовыхСлучаев.Количество()); - - датаНачалаТестирования = ТекущаяДата(); - ОчиститьСообщения(); - ВыполнитьТесты(МассивТестовыхСлучаев, ВызыватьИсключение); - - ОбновитьСостояниеВыбранныхСтрок(ВыделенныеСтроки); - ОбновитьСостояниеРодителейВыбранныхСтрок(ВыделенныеСтроки); - СвернутьУспешныеСтрокиДереваИРазвернутьНеуспешные(ДеревоТестов.Строки, Истина); - - ОбработатьОтчетТестирования(датаНачалаТестирования); - КонецПроцедуры -Процедура КнопкаВыполнитьВыделенныйНажатие(Элемент) - - ВыполнитьВыделенныеТесты(Элемент); - +Процедура ПриЗакрытии() + ЭтотОбъект.СохранитьНастройки(); + СброситьЦиклическиеСсылки(); КонецПроцедуры -Процедура КоманднаяПанельКонтекстноеМенюПоляТестовВыполнитьТестСИсключением(Элемент) - - ВыполнитьВыделенныеТесты(Элемент, Истина); - +Процедура ОбработатьСобытиеВыполненияТестов(Знач ИмяСобытия, Знач Параметр) Экспорт + Если ИмяСобытия = ЭтотОбъект.ВозможныеСобытия.ВыполненТестовыйМетод Тогда + Если Параметр.Состояние = СостоянияТестов.НеРеализован Тогда + Если ЭлементыФормы.ИндикаторВыполнения.ЦветРамки <> WebЦвета.Красный Тогда + ЭлементыФормы.ИндикаторВыполнения.ЦветРамки = WebЦвета.Золотой; + КонецЕсли; + ИначеЕсли Параметр.Состояние = СостоянияТестов.Сломан Тогда + ЭлементыФормы.ИндикаторВыполнения.ЦветРамки = WebЦвета.Красный; + КонецЕсли; + ЭлементыФормы.ИндикаторВыполнения.Значение = ЭлементыФормы.ИндикаторВыполнения.Значение + 1; + КонецЕсли; КонецПроцедуры +// } События формы - - +// { Управляющие воздействия пользователя Процедура КнопкаВыполнитьВсеТестыНажатие(Элемент) - - ВыполнитьВсеТесты(); - + ВыполнитьТестыНаКлиенте(); КонецПроцедуры -Функция ВыполнитьВсеТесты() - - ИнициализироватьИндикаторВыполнения(мКоличествоТестовыхСлучаев); - - датаНачалаТестирования = ТекущаяДата(); - - КодРезультатаТестирования = RunAllTests(); - - ОбновитьСостояниеВыбранныхСтрок(ДеревоТестов.Строки); - СвернутьУспешныеСтрокиДереваИРазвернутьНеуспешные(ДеревоТестов.Строки, Истина); - - ОбработатьОтчетТестирования(датаНачалаТестирования); - - Возврат КодРезультатаТестирования; - -КонецФункции - -Процедура ОбработатьОтчетТестирования(датаНачалаТестирования); - - Если ПустаяСтрока(ТипОтчетаОТестировании) Тогда - ТипОтчетаОТестировании = "mxl"; - КонецЕсли; - - табДок = ПолучитьОтчетТестирования(ДеревоТестов, датаНачалаТестирования, ТипОтчетаОТестировании, мСписокОшибок, мВсегоТестов); - - имяФайлаТестирования = "лог_тестирования"; - - файлФайлаТестирования = Новый Файл(ПутьОтчетаТестирования); - Если файлФайлаТестирования.Существует() И НЕ файлФайлаТестирования.ЭтоКаталог() Тогда - имяФайлаТестирования = файлФайлаТестирования.ИмяБезРасширения; - ПутьОтчетаТестирования = файлФайлаТестирования.Путь; - ИначеЕсли НЕ файлФайлаТестирования.Существует() И НЕ ПустаяСтрока(файлФайлаТестирования.Расширение) Тогда - имяФайлаТестирования = файлФайлаТестирования.ИмяБезРасширения; - ПутьОтчетаТестирования = файлФайлаТестирования.Путь; - КонецЕсли; - - ПутьОтчетаТестирования = ДополнитьСлешВПуть(ПутьОтчетаТестирования); - - Если табДок <> Неопределено Тогда +Процедура ВыполнитьТестыНаКлиенте(Знач Фильтр = Неопределено) + Если ЗначениеЗаполнено(ЭтаФорма.ДеревоОтЗагрузчика) Тогда + ОчиститьСообщения(); - Если НЕ ПустаяСтрока(ПутьОтчетаТестирования) Тогда - ЗаписатьФайлОтчетТестирования(табДок, имяФайлаТестирования); - КонецЕсли; + КоличествоТестовыхМетодов = ЭтотОбъект.ПолучитьКоличествоТестовыхМетодов(ЭтаФорма.ДеревоОтЗагрузчика, Фильтр); + ИнициализироватьИндикаторВыполнения(КоличествоТестовыхМетодов); - ПоказатьОтчетТестирования(табДок); - Иначе // все тесты прошли - Если НЕ ПустаяСтрока(ПутьОтчетаТестирования) Тогда - УдалитьФайлыОтчетовТестирования(имяФайлаТестирования); - КонецЕсли; - КонецЕсли; - -КонецПроцедуры - -Процедура ПоказатьОтчетТестирования(Отчет) - - ЗаголовокОкнаОтчета = СтрЗаменить(НСтр("ru = 'Отчет об автоматическом тестировании, xUnitFor1C v.%1'"), "%1", Версия()); - - ТипКонтейнераОтчета = ТипЗнч(Отчет); - Если ТипКонтейнераОтчета = Тип("ТабличныйДокумент") Тогда - Отчет.Показать(ЗаголовокОкнаОтчета); - ИначеЕсли ТипКонтейнераОтчета = Тип("ТекстовыйДокумент") Тогда - Отчет.Показать(ЗаголовокОкнаОтчета); - Иначе - Текст = Новый ТекстовыйДокумент; - Текст.УстановитьТекст(Строка(Отчет)); - Текст.Показать(ЗаголовокОкнаОтчета); - КонецЕсли; - -КонецПроцедуры - -Процедура ЗаписатьФайлОтчетТестирования(Отчет, имяФайлаТестирования) - - ИмяФайлаОтчета = ПутьОтчетаТестирования + имяФайлаТестирования + "."+ТипОтчетаОТестировании; - - Попытка - ТипКонтейнераОтчета = ТипЗнч(Отчет); - Если ТипКонтейнераОтчета = Тип("ТекстовыйДокумент") Тогда - Отчет.Записать(ИмяФайлаОтчета); - ИначеЕсли ТипКонтейнераОтчета = Тип("ТабличныйДокумент") Тогда - Отчет.Записать(ИмяФайлаОтчета, ТипФайлаТабличногоДокумента[ТипОтчетаОТестировании]); - Иначе - Текст = Новый ТекстовыйДокумент; - Текст.УстановитьТекст(Строка(Отчет)); - Текст.Записать(ИмяФайлаОтчета); - КонецЕсли; - Исключение - КонецПопытки; - -КонецПроцедуры - -Процедура УдалитьФайлыОтчетовТестирования(имяФайлаТестирования) - - Попытка - УдалитьФайлы(ПутьОтчетаТестирования + "\" + имяФайлаТестирования + ".xlsx"); - Исключение - КонецПопытки; - - Попытка - УдалитьФайлы(ПутьОтчетаТестирования + "\" + имяФайлаТестирования + ".mxl"); - Исключение - КонецПопытки; - -КонецПроцедуры - -Процедура КнопкаЗагрузитьТестыИзКонфигурации(Кнопка) - ЗагрузитьТестыИзКонфигурации(""); -КонецПроцедуры - -Процедура КнопкаЗагрузитьТестыИзКонфигурации_ИмяТеста(Кнопка) - ЗагрузитьТестыИзКонфигурации("Тест_"); -КонецПроцедуры - -Процедура ЗагрузитьТестыИзКонфигурации(ОтборПоИмениТеста) - - Если ВыбратьПодсистему(ОтборПоИмениТеста) Тогда - Форма_ЗагрузитьТестовыеНаборы(); - КонецЕсли; - -КонецПроцедуры - -Процедура КнопкаЗагрузитьТестыНажатие(Элемент) - - Если ВыбратьКаталогТестов() Тогда - - ДобавитьВИсториюКонтекст("ИсторияВыбораМест", Пути.ВыгрузитьЗначения()); - Форма_ЗагрузитьТестовыеНаборы(); - - КонецЕсли; - -КонецПроцедуры - -Процедура КнопкаЗагрузитьТестыЗагрузитьТестКейс(Кнопка) - - ДиалогВыбораТеста = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); - ДиалогВыбораТеста.Фильтр = "Обработка-тест (*.epf)|*.epf|Все файлы|*"; - ДиалогВыбораТеста.МножественныйВыбор = Истина; - ДиалогВыбораТеста.ПроверятьСуществованиеФайла = Истина; - ДиалогВыбораТеста.Каталог = ПервыйПуть(); - - Если ДиалогВыбораТеста.Выбрать() Тогда - - Пути.Очистить(); - Для каждого ПолноеИмяФайла Из ДиалогВыбораТеста.ВыбранныеФайлы Цикл - Пути.Добавить(ПолноеИмяФайла); - КонецЦикла; - ДобавитьВИсториюКонтекст("ИсторияВыбораФайлов", Пути.ВыгрузитьЗначения()); + РезультатыТестирования = ВыполнитьТесты(ЭтаФорма.Загрузчик, ЭтаФорма.ДеревоОтЗагрузчика, Фильтр, ЭтаФорма); - Форма_ЗагрузитьТестовыеНаборы(); + ОбновитьДеревоТестовНаОснованииРезультатовТестирования(ДеревоТестов.Строки[0], РезультатыТестирования); + ГенераторОтчетаMXL = Плагин("ГенераторОтчетаMXL"); + Отчет = ГенераторОтчетаMXL.СоздатьОтчет(ЭтотОбъект, РезультатыТестирования); + ГенераторОтчетаMXL.Показать(Отчет); КонецЕсли; - КонецПроцедуры -Процедура КоманднаяПанельКонтекстноеМенюПоляТестовКомандаЗагрузитьТолькоВыделенныеТесты(Кнопка) - Пути.Очистить(); - - ВыделенныеСтроки = ЭлементыФормы.тпДеревоТестов.ВыделенныеСтроки; - Для каждого СтрокаДерева Из ВыделенныеСтроки Цикл - - Если СтрокаДерева.ТипСтроки = мЗначенияТиповСтроки.ТестовыйМетод Тогда - СтрокаДерева = РодительскаяСтрока(СтрокаДерева); - КонецЕсли; - - Путь = СтрокаДерева.ПолныйПуть; - Если Пути.НайтиПоЗначению(Путь) = Неопределено Тогда - Пути.Добавить(Путь); - Если СтрокаДерева.ТипСтроки = мЗначенияТиповСтроки.КаталогТестов Тогда - ДобавитьВИсториюКонтекст("ИсторияВыбораМест", Путь); - ИначеЕсли СтрокаДерева.ТипСтроки = мЗначенияТиповСтроки.ТестовыйСлучай - И Не СтрокаДерева.ЭтоВнутренняяОбработка Тогда - ДобавитьВИсториюКонтекст("ИсторияВыбораФайлов", Путь); - КонецЕсли; - КонецЕсли; - +Процедура КнопкаВыполнитьВыделенныеТестыНажатие(Элемент) + Фильтр = Новый Массив; + ВыделенныеСтроки = ЭлементыФормы.ДеревоТестов.ВыделенныеСтроки; + Для каждого ВыделеннаяСтрока Из ВыделенныеСтроки Цикл + Фильтр.Добавить(Новый УникальныйИдентификатор(ВыделеннаяСтрока.Ключ)); КонецЦикла; - - Форма_ЗагрузитьТестовыеНаборы(); -КонецПроцедуры - -Процедура КнопкаПерезагрузитьНажатие(Элемент) - - Форма_ЗагрузитьТестовыеНаборы(); - + Если Фильтр.Количество() > 0 Тогда + ВыполнитьТестыНаКлиенте(Фильтр); + КонецЕсли; КонецПроцедуры -Процедура Форма_ЗагрузитьТестовыеНаборы() - - ИнициализироватьИндикаторВыполнения(); - - ОбновитьНадписьПути(); - - ЗагрузитьВсеТесты(Пути.ВыгрузитьЗначения()); - - УпорядочитьСтрокиДереваТестов(ДеревоТестов); - ПосчитатьКоличествоТестовыхСлучаевПоВсемуДеревуТестов(ДеревоТестов); - РазвернутьСтрокиДерева(мКоличествоТестовыхСлучаев < 30); - +Процедура КнопкаЗагрузитьТестыНажатие(Элемент) + ЗагрузчикПоУмолчанию = ЭтотОбъект.ЗагрузчикПоУмолчанию(); + ИдентификаторЗагрузчикаПоУмолчанию = ЗагрузчикПоУмолчанию.ОписаниеПлагина(ЭтотОбъект.ТипыПлагинов).Идентификатор; + Подключаемый_ИнтерактивныйВызовЗагрузчика(Новый Структура("Имя", ИдентификаторЗагрузчикаПоУмолчанию)); КонецПроцедуры -// Процедура для кнопки "Переоткрыть" -// Закрывает и вновь открывает текущую форму. -// Процедура КнопкаПерезагрузитьПерезагрузитьБраузерТестирования(Кнопка) - Для каждого МетаФорма Из ЭтаФорма.Метаданные().Формы Цикл ТекФорма = ПолучитьФорму(МетаФорма); // может возвращать неопределено, если есть управляемая форма Если ТекФорма <> Неопределено И ТекФорма.Открыта() Тогда + СброситьЦиклическиеСсылки(); ТекФорма.Закрыть(); Если ТекФорма = ЭтаФорма Тогда - Если ЭтоВстроеннаяОбработка Тогда - Обработки["xddTestRunner"].Создать().ПолучитьФорму(МетаФорма.Имя).Открыть(); - Иначе - НайденноеИмяФайла = Неопределено; - Выполнить("НайденноеИмяФайла = ЭтотОбъект.ИспользуемоеИмяФайла;"); - ВнешниеОбработки.Создать(НайденноеИмяФайла).ПолучитьФорму(МетаФорма.Имя).Открыть(); - КонецЕсли; + НайденноеИмяФайла = Неопределено; + Выполнить("НайденноеИмяФайла = ЭтотОбъект.ИспользуемоеИмяФайла;"); + ВнешниеОбработки.Создать(НайденноеИмяФайла, Ложь).ПолучитьФорму(МетаФорма.Имя).Открыть(); КонецЕсли; КонецЕсли; КонецЦикла; - КонецПроцедуры -Процедура КнопкаЗагрузитьТестыОткрытьНастройки(Кнопка) - ФормаНастроек = ЭтотОбъект.ПолучитьФорму("ФормаНастроек"); - ФормаНастроек.ОбработкаОбъект = ЭтотОбъект; - Результат = ФормаНастроек.ОткрытьМодально(); - - //Если Результат <> Неопределено Тогда - // УстановитьНовыйПуть(РезультатВыбораПодсистемы); - // Возврат Истина; - //КонецЕсли; - // - //Возврат Ложь; +Процедура СброситьЦиклическиеСсылки() + ЭтотОбъект.Плагины = Неопределено; + Загрузчик = Неопределено; КонецПроцедуры -Процедура КоманднаяПанельКонтекстноеМенюПоляТестовПоказатьОшибки(Кнопка) - - ВыделенныеСтроки = ЭлементыФормы.тпДеревоТестов.ВыделенныеСтроки; - МассивТестовыхСлучаев = ПолучитьТолькоТестовыеМетодыИзДерева(ВыделенныеСтроки); - мСписокОшибок = Новый СписокЗначений; - Для Каждого ТестовыйСлучай Из МассивТестовыхСлучаев Цикл - Для Каждого ЭлементСписка Из ТестовыйСлучай.СписокОшибок Цикл - мСписокОшибок.Добавить(ЭлементСписка.Значение); - КонецЦикла; - КонецЦикла; - - Если мСписокОшибок.Количество() = 0 Тогда - Возврат; +Процедура ПерезагрузитьПоследниеТестыПоИстории(Элемент = Неопределено) + ИсторияЗагрузкиТестов = ЭтотОбъект.Настройки.ИсторияЗагрузкиТестов; + Если ИсторияЗагрузкиТестов.Количество() > 0 Тогда + ЭлементИстории = ИсторияЗагрузкиТестов[0]; + Попытка + ЗагрузитьТесты(ЭлементИстории.ИдентификаторЗагрузчика, ЭлементИстории.Путь); + Исключение + // TODO + Сообщить("Не удалось загрузить тесты из истории <" + ЭлементИстории.ИдентификаторЗагрузчика + ": " + ЭлементИстории.Путь + ">" + Символы.ПС + ОписаниеОшибки()); + КонецПопытки; КонецЕсли; - - мВсегоТестов = мСписокОшибок.Количество(); - ОбработатьОтчетТестирования(ТекущаяДата()); - -КонецПроцедуры - -//////////////////////////////////////////////////////////////////////////////// -// ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ РЕКВИЗИТОВ ТАБЛИЧНОГО ПОЛЯ ДеревоТестов - -Процедура тпДеревоТестовПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) - - ОформлениеСтроки.Ячейки.ПиктограммаСостояния.УстановитьКартинку(мМассивПиктограммСостояний[ДанныеСтроки.Состояние]); - ОформлениеСтроки.Ячейки.Имя.УстановитьКартинку(мМассивПиктограммТиповСтроки[ДанныеСтроки.ТипСтроки]); - ОформлениеСтроки.Ячейки.ПолныйПуть.УстановитьТекст(СтрЗаменить(ДанныеСтроки.ПолныйПуть, ПутиНадпись, "...")); - -КонецПроцедуры - -//////////////////////////////////////////////////////////////////////////////// -// ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ - -Процедура КнопкаЗагрузитьТестыИнформацияОПроекте(Кнопка) - ЗапуститьПриложение("https://github.com/xDrivenDevelopment/xUnitFor1C/wiki"); КонецПроцедуры Процедура КнопкаИнструментыГенераторМакетовДанных(Кнопка) - ИмяИнструмента = "xddDataFixtureGen"; - ОткрытьИнструмент(ИмяИнструмента, "Форма"); + ОткрытьИнструмент("СериализаторMXL", ПолучитьПутьКПлагинам()); КонецПроцедуры Процедура КнопкаИнструментыПоказатьГУИД(Кнопка) - ИмяИнструмента = "xddGuidShow"; - ОткрытьИнструмент(ИмяИнструмента, "Форма"); + ОткрытьИнструмент("xddGuidShow"); КонецПроцедуры -Процедура ОткрытьИнструмент(ИмяИнструмента, ИмяФормы) - Перем ПутьИнструмента; - Если Не ЭтоВстроеннаяОбработка Тогда - ПутьВнешнихИнструментов = ПолныйПутьКаталогаОбработки(); - Если НЕ ПустаяСтрока(ПутьВнешнихИнструментов) Тогда - ПутьИнструмента = ПутьВнешнихИнструментов + ИмяИнструмента+".epf"; - Файл = Новый Файл(ПутьИнструмента); - Если Не Файл.Существует() Тогда - Сообщить("Инструмент <"+ИмяИнструмента+"> не найден в каталоге <"+ПутьИнструмента+">"); - Возврат; - КонецЕсли; - Обработка = СоздатьОбъектВнешнейОбработкиОтключаяБезопасныйРежим(ПутьИнструмента); - Иначе - Сообщить("Инструмент <"+ИмяИнструмента+">: не удалось определить путь>"); - Возврат; - КонецЕсли; - Иначе - Если Метаданные.Обработки.Найти(ИмяИнструмента) <> Неопределено Тогда - Обработка = СоздатьОбъектОбработкиКонфигурации(ИмяИнструмента); - Иначе - Сообщить("Инструмент/встроенная обработка <"+ИмяИнструмента+"> не найден в конфигурации"); - Возврат; - КонецЕсли; - КонецЕсли; - - НоваяФорма = Обработка.ПолучитьФорму(ИмяФормы); - Если НоваяФорма = Неопределено Тогда - Сообщить("Инструмент <"+ИмяИнструмента+">: не удалось получить основную форму!"); - Возврат; - КонецЕсли; - НоваяФорма.Открыть(); - НоваяФорма = Неопределено; - +Процедура КнопкаИнструментыКонвертерТестов(Кнопка) + ОткрытьИнструмент("xddTestsConvertIntoRebornFormat"); КонецПроцедуры +// } Управляющие воздействия пользователя -Функция ПолныйПутьКаталогаОбработки() Экспорт - Рез = ""; - Если Не ЭтоВстроеннаяОбработка Тогда - НайденноеИмяФайла = Неопределено; - Выполнить("НайденноеИмяФайла = ЭтотОбъект.ИспользуемоеИмяФайла;"); - файл = Новый Файл(НайденноеИмяФайла); - Рез = файл.Путь; - КонецЕсли; - Возврат Рез; -КонецФункции - -Процедура тпДеревоТестовПриАктивизацииСтроки(Элемент) - Если ЭлементыФормы.тпДеревоТестов.ВыделенныеСтроки.Количество() <= 1 Тогда - ТекcтКоманды = "Выполнить тест"; - Иначе - ТекcтКоманды = "Выполнить выбранные тесты"; - КонецЕсли; - ЭлементыФормы.КоманднаяПанельКонтекстноеМенюПоляТестов.Кнопки.ВыполнитьТест.Текст = ТекcтКоманды; +// { Плагины +Процедура ЗагрузитьПлагины() + ЭтотОбъект.Плагины = Новый Структура; + + КаталогПлагинов = ПолучитьПутьКПлагинам(); + НайденныеФайлы = НайтиФайлы(КаталогПлагинов, "*.epf", Ложь); + Для каждого ФайлОбработки Из НайденныеФайлы Цикл + Обработка = ВнешниеОбработки.Создать(ФайлОбработки.ПолноеИмя, Ложь); + Попытка + ОписаниеПлагина = Обработка.ОписаниеПлагина(ЭтотОбъект.ТипыПлагинов); + Обработка.Инициализация(ЭтотОбъект); + ЭтотОбъект.Плагины.Вставить(ОписаниеПлагина.Идентификатор, Обработка); + Исключение + Ошибка = "Возникла ошибка при загрузке плагина: "+ФайлОбработки.Имя + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + Сообщить(Ошибка); + Продолжить; + КонецПопытки; + КонецЦикла; + + ДобавитьКомандыЗагрузчиковНаФорме(); КонецПроцедуры -Процедура КнопкаРегистрацияПрохожденияТестовВЖР(Кнопка) - РегистрацияПрохожденияТестовВЖР = ?(РегистрацияПрохожденияТестовВЖР, Ложь, Истина); - ЭлементыФормы.КнопкаЗагрузитьТесты.Кнопки.РегистрацияПрохожденияТестовВЖР.Пометка = РегистрацияПрохожденияТестовВЖР; +Процедура КэшироватьПеречисленияПлагинов() + ЭтотОбъект.ТипыУзловДереваТестов = Плагин("ПостроительДереваТестов").ТипыУзловДереваТестов; КонецПроцедуры -Процедура КнопкаРегистрацияОшибокТестовВЖР(Кнопка) - РегистрацияОшибокТестовВЖР = ?(РегистрацияОшибокТестовВЖР, Ложь, Истина); - ЭлементыФормы.КнопкаЗагрузитьТесты.Кнопки.РегистрацияОшибокТестовВЖР.Пометка = РегистрацияОшибокТестовВЖР; +Процедура ДобавитьКомандыЗагрузчиковНаФорме() + ОписанияЗагрузчиков = ЭтотОбъект.ПолучитьОписанияПлагиновПоТипу(ЭтотОбъект.ТипыПлагинов.Загрузчик); + Меню = ЭлементыФормы.КнопкаЗагрузитьТесты.Кнопки; + + ИндексКнопки = 0; + Для каждого ОписаниеПлагина Из ОписанияЗагрузчиков Цикл + НоваяКнопка = Меню.Вставить(ИндексКнопки, ОписаниеПлагина.Идентификатор, ТипКнопкиКоманднойПанели.Действие, ОписаниеПлагина.Представление, Новый Действие("Подключаемый_ИнтерактивныйВызовЗагрузчика")); + ИндексКнопки = ИндексКнопки + 1; + КонецЦикла; + НоваяКнопка = Меню.Вставить(ИндексКнопки, "", ТипКнопкиКоманднойПанели.Разделитель); КонецПроцедуры +// } Плагины -Процедура КнопкаСлучайныйПорядокВыполненияТестов(Кнопка) - СлучайныйПорядокВыполнения = ?(СлучайныйПорядокВыполнения, Ложь, Истина); - ЭлементыФормы.КнопкаЗагрузитьТесты.Кнопки.СлучайныйПорядокВыполненияТестов.Пометка = СлучайныйПорядокВыполнения; -КонецПроцедуры +// { Работа с деревом тестов +Процедура Подключаемый_ИнтерактивныйВызовЗагрузчика(Кнопка) + ИдентификаторЗагрузчика = Кнопка.Имя; + Путь = ЭтотОбъект.Плагин(ИдентификаторЗагрузчика).ВыбратьПутьИнтерактивно(); + Если ЗначениеЗаполнено(Путь) Тогда + ЗагрузитьТесты(ИдентификаторЗагрузчика, Путь); + КонецЕсли; +КонецПроцедуры -Процедура ОбновитьНадписьПути() +Процедура ЗагрузитьТесты(Знач ИдентификаторЗагрузчика, Знач Путь) + ИнициализироватьИндикаторВыполнения(); - Если Пути.Количество() = 1 Тогда - ПутиНадпись = Пути[0].Значение; - ЭлементыФормы.ПутиНадпись.МногострочныйРежим = Ложь; - Иначе - ПутиНадпись = ""; - КонечныйИндекс = Пути.Количество() - 1; - Для Индекс = 0 По КонечныйИндекс Цикл - Если Индекс = КонечныйИндекс Тогда - ПутиНадпись = ПутиНадпись + Пути[Индекс].Значение; - Иначе - ПутиНадпись = ПутиНадпись + Пути[Индекс].Значение + Символы.ПС; - КонецЕсли; - КонецЦикла; - ЭлементыФормы.ПутиНадпись.МногострочныйРежим = Истина; - КонецЕсли; + ЭтаФорма.Загрузчик = ЭтотОбъект.Плагин(ИдентификаторЗагрузчика); -КонецПроцедуры - -Процедура УстановитьНовыйПуть(НовыйПуть) - Пути.Очистить(); - Пути.Добавить(НовыйПуть); -КонецПроцедуры + Попытка + ЭтаФорма.ДеревоОтЗагрузчика = ЭтаФорма.Загрузчик.Загрузить(ЭтотОбъект, Путь); + Исключение + Сообщить(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); + Возврат; + КонецПопытки; -//////////////////////////////////////////////////////////////////////////////// -// ИСТОРИЯ ВЫБОРА ТЕСТОВ - -Процедура ДобавитьВИсториюКонтекст(ИмяИстории, Путь) + ДеревоТестов.Строки.Очистить(); + ЗаполнитьДеревоТестов(ДеревоТестов, ДеревоОтЗагрузчика); - ДобавитьВИсторию(ЭтаФорма, ИмяИстории, Путь, ДлинаИстории, "Подключаемый_КомандаЗагрузитьТестыИзИстории"); + КоличествоТестовыхСлучаев = ЗаполнитьКоличествоТестовыхСлучаевПоВсемуДеревуТестов(ДеревоТестов); + РазвернутьСтрокиДерева(КоличествоТестовыхСлучаев < 30); + ЭтотОбъект.СохранитьВИсториюЗагрузкиТестов(ИдентификаторЗагрузчика, Путь); + ОбновитьКнопкиИсторииЗагрузкиТестов(); КонецПроцедуры -Процедура ДобавитьВИсторию(Форма, ИмяИстории, Путь, ДлинаИстории, Действие) - Перем Пути; - - История = Форма[ИмяИстории]; - Элементы = Форма.ЭлементыФормы; - - Если ТипЗнч(Путь) <> Тип("Массив") Тогда - Пути = Новый Массив; - Пути.Добавить(Путь); - Иначе - Пути = Путь; - КонецЕсли; - - Меню = ЭлементыФормы.КнопкаЗагрузитьТесты.Кнопки; - - Для Каждого ВыбранныйПуть Из Пути Цикл - Элемент = История.НайтиПоЗначению(ВыбранныйПуть); - Если Элемент = Неопределено Тогда - История.Вставить(0, ВыбранныйПуть); - Если История.Количество() = ДлинаИстории + 1 Тогда - История.Удалить(ДлинаИстории); - Иначе - КоличествоПунктовИстории = История.Количество(); - ИмяКнопки = ПолучитьИмяКнопкиИстории(ИмяИстории, КоличествоПунктовИстории - 1); - Если КоличествоПунктовИстории = 1 Тогда - ПредыдущийПункт = Меню.Добавить(); - Иначе - ПредыдущийПункт = Меню.Найти(ПолучитьИмяКнопкиИстории(ИмяИстории, КоличествоПунктовИстории - 2)); - КонецЕсли; - Если ПредыдущийПункт <> Неопределено Тогда - ИндексВставки = Меню.Индекс(ПредыдущийПункт) + 1; - НоваяКнопка = Меню.Вставить(ИндексВставки, ИмяКнопки, ТипКнопкиКоманднойПанели.Действие, "", Новый Действие(Действие)); - Иначе - НоваяКнопка = Меню.Добавить(ИмяКнопки, ТипКнопкиКоманднойПанели.Действие, "", Новый Действие(Действие)); - КонецЕсли; - КонецЕсли; - Иначе - Индекс = История.Индекс(Элемент); - Если Индекс > 0 Тогда - История.Сдвинуть(Элемент, -Индекс); - КонецЕсли; - КонецЕсли; - КонецЦикла; +Процедура ЗаполнитьДеревоТестов(РодительскаяСтрокаДереваТестов, Знач КонтейнерДереваТестовЗагрузчика) + СтрокаКонтейнера = РодительскаяСтрокаДереваТестов.Строки.Добавить(); + СтрокаКонтейнера.Имя = КонтейнерДереваТестовЗагрузчика.Имя; + СтрокаКонтейнера.ИконкаУзла = КонтейнерДереваТестовЗагрузчика.ИконкаУзла; + СтрокаКонтейнера.Ключ = КонтейнерДереваТестовЗагрузчика.Ключ; - Для к=0 По История.Количество()-1 Цикл - Элемент = История[к]; - Кнопка = Меню.Найти(ПолучитьИмяКнопкиИстории(ИмяИстории, к)); - Если Кнопка <> Неопределено Тогда - Кнопка.Текст = Элемент.Значение; + Для каждого ЭлементКоллекции Из КонтейнерДереваТестовЗагрузчика.Строки Цикл + Если ЭлементКоллекции.Тип = ЭтотОбъект.ТипыУзловДереваТестов.Контейнер Тогда + ЗаполнитьДеревоТестов(СтрокаКонтейнера, ЭлементКоллекции); + ИначеЕсли ЭлементКоллекции.Тип = ЭтотОбъект.ТипыУзловДереваТестов.Элемент Тогда + СтрокаЭлемента = СтрокаКонтейнера.Строки.Добавить(); + СтрокаЭлемента.Имя = ЭлементКоллекции.Представление; + СтрокаЭлемента.Путь = ЭлементКоллекции.Путь; + СтрокаЭлемента.ИконкаУзла = ЭлементКоллекции.ИконкаУзла; + СтрокаЭлемента.Ключ = ЭлементКоллекции.Ключ; КонецЕсли; КонецЦикла; - КонецПроцедуры -Процедура ВосстановитьИсторию(ИмяИстории, История) - - КоличествоПунктовИстории = История.Количество(); - Для Индекс = 1 По КоличествоПунктовИстории Цикл - ДобавитьВИсториюКонтекст(ИмяИстории, История[КоличествоПунктовИстории - Индекс]); +Функция ЗаполнитьКоличествоТестовыхСлучаевПоВсемуДеревуТестов(РодительскаяСтрока) + КоллекцияСтрок = РодительскаяСтрока.Строки; + Если КоллекцияСтрок.Количество() = 0 Тогда + Возврат 1; + КонецЕсли; + ОбщееКоличествоТестов = 0; + Для каждого СтрокаДерева из КоллекцияСтрок Цикл + КоличествоТестовВСтроке = ЗаполнитьКоличествоТестовыхСлучаевПоВсемуДеревуТестов(СтрокаДерева); + СтрокаДерева.КоличествоТестов = КоличествоТестовВСтроке; + ОбщееКоличествоТестов = ОбщееКоличествоТестов + КоличествоТестовВСтроке; КонецЦикла; -КонецПроцедуры - -Функция ПолучитьИмяКнопкиИстории(ИмяИстории, ИндексИстории) - Возврат ИмяИстории + "_"+Формат(ИндексИстории, "ЧН=0; ЧГ=0"); + Возврат ОбщееКоличествоТестов; КонецФункции -Процедура Подключаемый_КомандаЗагрузитьТестыИзИстории(Кнопка) - Массив = РазложитьСтрокуВМассивПодстрок(Кнопка.Имя, "_"); - ИмяИстории = Массив[0]; - ПунктИстории = Число(Массив[1]); - НайденныйПуть = ЭтаФорма[ИмяИстории].Получить(ПунктИстории).Значение; +Процедура РазвернутьСтрокиДерева(Знач ВключаяПодчиненные = Ложь) + Для каждого СтрокаДерева из ДеревоТестов.Строки Цикл + ЭлементыФормы.ДеревоТестов.Развернуть(СтрокаДерева, ВключаяПодчиненные); + КонецЦикла; +КонецПроцедуры - УстановитьНовыйПуть(ЭтаФорма[ИмяИстории].Получить(ПунктИстории).Значение); - - ДобавитьВИсториюКонтекст(ИмяИстории, Пути.ВыгрузитьЗначения()); - - ОбновитьНадписьПути(); - Форма_ЗагрузитьТестовыеНаборы(); +Процедура ОбновитьДеревоТестовНаОснованииРезультатовТестирования(УзелДереваТестов, Знач РезультатТестирования) + УзелДереваТестов.Состояние = РезультатТестирования.Состояние; + УзелДереваТестов.ВремяВыполнения = РезультатТестирования.ВремяВыполнения; + Если РезультатТестирования.Тип = ЭтотОбъект.ТипыУзловДереваТестов.Контейнер Тогда + Для каждого ДочернийРезультатТестирования Из РезультатТестирования.Строки Цикл + ДочернийУзелДереваТестов = УзелДереваТестов.Строки.Найти(Строка(ДочернийРезультатТестирования.Ключ), "Ключ"); + ОбновитьДеревоТестовНаОснованииРезультатовТестирования(ДочернийУзелДереваТестов, ДочернийРезультатТестирования); + КонецЦикла; + ИначеЕсли РезультатТестирования.Тип = ЭтотОбъект.ТипыУзловДереваТестов.Элемент Тогда + Если РезультатТестирования.Свойство("Сообщение") И ЗначениеЗаполнено(РезультатТестирования.Сообщение) Тогда + Сообщить(РезультатТестирования.Сообщение, СтатусСообщения.ОченьВажное); + КонецЕсли; + КонецЕсли; КонецПроцедуры +// } Работа с деревом тестов -//////////////////////////////////////////////////////////////////////////////// -// НАСТРОЙКИ +// { История загрузки тестов +Процедура ОбновитьКнопкиИсторииЗагрузкиТестов() + ИсторияЗагрузкиТестов = ЭтотОбъект.Настройки.ИсторияЗагрузкиТестов; + МенюИсторияЗагрузкиТестов = ЭтаФорма.ЭлементыФормы.КнопкаЗагрузитьТесты.Кнопки.ИсторияЗагрузкиТестов.Кнопки; + Для Сч = 0 По ИсторияЗагрузкиТестов.Количество() - 1 Цикл + ИмяКнопки = "История_" + Сч; + ЭлементИстории = ИсторияЗагрузкиТестов[Сч]; + ТекстКнопки = ЭлементИстории.ИдентификаторЗагрузчика + ": " + ЭлементИстории.Путь; + Кнопка = МенюИсторияЗагрузкиТестов.Найти(ИмяКнопки); + Если Кнопка = Неопределено Тогда + Кнопка = МенюИсторияЗагрузкиТестов.Добавить(ИмяКнопки, ТипКнопкиКоманднойПанели.Действие, , Новый Действие("Подключаемый_ЗагрузитьТестыИзИстории")); + КонецЕсли; + Кнопка.Текст = ТекстКнопки; + КонецЦикла; +КонецПроцедуры -Процедура УстановитьЗначенияНастроекПоУмолчанию() - - РегистрацияПрохожденияТестовВЖР = Ложь; - РегистрацияОшибокТестовВЖР = Ложь; - РежимОтладки = Ложь; - СлучайныйПорядокВыполнения = Ложь; - - Пути.Очистить(); - +Процедура Подключаемый_ЗагрузитьТестыИзИстории(Кнопка) + ИндексИстории = Число(Сред(Кнопка.Имя, Найти(Кнопка.Имя, "_") + 1)); + ИсторияЗагрузкиТестов = ЭтотОбъект.Настройки.ИсторияЗагрузкиТестов; + ЭлементИстории = ИсторияЗагрузкиТестов[ИндексИстории]; + ЗагрузитьТесты(ЭлементИстории.ИдентификаторЗагрузчика, ЭлементИстории.Путь); КонецПроцедуры +// } История загрузки тестов -Процедура СохранитьНастройки() +// { Пакетный запуск +Процедура ВыполнитьПакетныйЗапуск(Знач ПараметрЗапуска) + Перем РезультатыТестирования; - Настройки = ХранилищеОбщихНастроек.Загрузить("xUnitFor1C"); - Если ТипЗнч(Настройки) <> Тип("Структура") Тогда - Настройки = Новый Структура; - КонецЕсли; - - Настройки.Вставить("РегистрацияПрохожденияТестовВЖР", РегистрацияПрохожденияТестовВЖР); - Настройки.Вставить("РегистрацияОшибокТестовВЖР", РегистрацияОшибокТестовВЖР); - Настройки.Вставить("РежимОтладки", РежимОтладки); - Настройки.Вставить("СлучайныйПорядокВыполнения", СлучайныйПорядокВыполнения); - Настройки.Вставить("ЗапретИспользованияИнформатора", ЗапретИспользованияИнформатора); - - Настройки.Вставить("Пути", Пути.ВыгрузитьЗначения()); + ПарсерКоманднойСтроки = ЭтотОбъект.Плагин("ПарсерКоманднойСтроки"); + ПараметрыЗапуска = ПарсерКоманднойСтроки.Разобрать(ПараметрЗапуска); - Настройки.Вставить("ДлинаИстории", ДлинаИстории); - Настройки.Вставить("ИсторияВыбораМест", ИсторияВыбораМест.ВыгрузитьЗначения()); - Настройки.Вставить("ИсторияВыбораФайлов", ИсторияВыбораФайлов.ВыгрузитьЗначения()); - - ХранилищеОбщихНастроек.Сохранить("xUnitFor1C",, Настройки); + Параметры_xddRun = Неопределено; + Если ПараметрыЗапуска.Свойство(ПарсерКоманднойСтроки.ВозможныеКлючи.xddRun, Параметры_xddRun) Тогда + РезультатыТестирования = ЗагрузитьИВыполнитьТесты_ПакетныйРежим(Параметры_xddRun); + КонецЕсли; - УстановитьНастройку_БылаОшибкаПриПредыдущейЗагрузке(Ложь); + Параметры_xddReport = Неопределено; + Если ЗначениеЗаполнено(РезультатыТестирования) И ПараметрыЗапуска.Свойство(ПарсерКоманднойСтроки.ВозможныеКлючи.xddReport, Параметры_xddReport) Тогда + СформироватьОтчетОТестированииИЭкспортировать_ПакетныйРежим(Параметры_xddReport, РезультатыТестирования); + КонецЕсли; + Если ПараметрыЗапуска.Свойство(ПарсерКоманднойСтроки.ВозможныеКлючи.xddShutdown) Тогда + ЗавершитьРаботуСистемы(Ложь); + КонецЕсли; КонецПроцедуры -Процедура ВосстановитьНастройки() - - ДлинаИсторииПоУмолчанию = 10; - - Настройки = ХранилищеОбщихНастроек.Загрузить("xUnitFor1C"); - Если ТипЗнч(Настройки) = Тип("Структура") Тогда - - ПолучитьФлагИзНастроек(Настройки, "РегистрацияПрохожденияТестовВЖР", РегистрацияПрохожденияТестовВЖР); - ПолучитьФлагИзНастроек(Настройки, "РегистрацияОшибокТестовВЖР", РегистрацияОшибокТестовВЖР); - ПолучитьФлагИзНастроек(Настройки, "РежимОтладки", РежимОтладки); - ПолучитьФлагИзНастроек(Настройки, "СлучайныйПорядокВыполнения", СлучайныйПорядокВыполнения); - - ПолучитьФлагИзНастроек(Настройки, "ЗапретИспользованияИнформатора", ЗапретИспользованияИнформатора); +Функция ЗагрузитьИВыполнитьТесты_ПакетныйРежим(Знач Параметры_xddRun) + Попытка + ИдентификаторЗагрузчика = Параметры_xddRun[0]; + Загрузчик = ЭтотОбъект.Плагин(ИдентификаторЗагрузчика); - Если Настройки.Свойство("Пути") Тогда - Пути.ЗагрузитьЗначения(Настройки.Пути); - КонецЕсли; + ПутьКТестам = Параметры_xddRun[1]; + ДеревоТестовОтЗагрузчика = Загрузчик.Загрузить(ЭтотОбъект, ПутьКТестам); - Если Не Настройки.Свойство("ДлинаИстории", ДлинаИстории) Или Не ЗначениеЗаполнено(ДлинаИстории) Тогда - ДлинаИстории = ДлинаИсторииПоУмолчанию; - КонецЕсли; - Если Настройки.Свойство("ИсторияВыбораМест") Тогда - ВосстановитьИсторию("ИсторияВыбораМест", Настройки.ИсторияВыбораМест); - КонецЕсли; - Если Настройки.Свойство("ИсторияВыбораФайлов") Тогда - ВосстановитьИсторию("ИсторияВыбораФайлов", Настройки.ИсторияВыбораФайлов); - КонецЕсли; - Иначе - ДлинаИстории = ДлинаИсторииПоУмолчанию; - КонецЕсли; - - ЭлементыФормы.КнопкаЗагрузитьТесты.Кнопки.РегистрацияПрохожденияТестовВЖР.Пометка = РегистрацияПрохожденияТестовВЖР; - ЭлементыФормы.КнопкаЗагрузитьТесты.Кнопки.РегистрацияОшибокТестовВЖР.Пометка = РегистрацияОшибокТестовВЖР; - ЭлементыФормы.КнопкаЗагрузитьТесты.Кнопки.СлучайныйПорядокВыполненияТестов.Пометка = СлучайныйПорядокВыполнения; - //ЭлементыФормы.КнопкаЗагрузитьТесты.Кнопки.КомандаВключитьРежимОтладки.Пометка = РежимОтладки; + РезультатыТестирования = ЭтотОбъект.ВыполнитьТесты(Загрузчик, ДеревоТестовОтЗагрузчика); + Исключение + ОписаниеОшибки = ОписаниеОшибки(); + Сообщить(ОписаниеОшибки, СтатусСообщения.ОченьВажное); + КонецПопытки; -КонецПроцедуры - -Функция ПолучитьФлагИзНастроек(Настройки, ИмяНастройки, РезЗначениеНастройки) - Настройки.Свойство(ИмяНастройки, РезЗначениеНастройки); - РезЗначениеНастройки = ?(Тип("Булево") = ТипЗнч(РезЗначениеНастройки), РезЗначениеНастройки, Ложь); + Возврат РезультатыТестирования; КонецФункции - -//////////////////////////////////////////////////////////////////////////////// -// ОПЕРАТОРЫ ОСНОВНОЙ ПРОГРАММЫ -// Функция ДополнитьСлешВПуть -// -// Параметры: -// ИмяКаталога -// -// Описание: -// Функция дополняет и возвращает слеш в путь в конец строки, если он отсутствует -// -Функция ДополнитьСлешВПуть(Знач Каталог) - разделитель = "\"; +Процедура СформироватьОтчетОТестированииИЭкспортировать_ПакетныйРежим(Знач Параметры_xddReport, Знач РезультатыТестирования) + Попытка + ИдентификаторГенератораОтчета = Параметры_xddReport[0]; + ГенераторОтчета = ЭтотОбъект.Плагин(ИдентификаторГенератораОтчета); + Отчет = ГенераторОтчета.СоздатьОтчет(ЭтотОбъект, РезультатыТестирования); + ПутьКОтчету = Параметры_xddReport[1]; + ГенераторОтчета.Экспортировать(Отчет, ПутьКОтчету); + Исключение + ОписаниеОшибки = ОписаниеОшибки(); + Сообщить(ОписаниеОшибки, СтатусСообщения.ОченьВажное); + КонецПопытки; +КонецПроцедуры +// } Пакетный запуск - СисИнфо = Новый СистемнаяИнформация; - Если Найти(Строка(СисИнфо.ТипПлатформы), "Linux")>0 Тогда - разделитель = "/"; +// { Внешние интерфейстные инструменты +Процедура ОткрытьИнструмент(Знач ИмяИнструмента, Знач ПутьИнструмента = "", Знач ИмяФормы = "Форма") + Если Не ПустаяСтрока(ПутьИнструмента) Тогда + ПутьКВнешнимИнструментам = ПутьИнструмента + "\"; + Иначе + ПутьКВнешнимИнструментам = ПолучитьПутьКВнешнимИнструментам(); КонецЕсли; - - Если Прав(Каталог, 1) <> разделитель Тогда - Каталог = Каталог + разделитель; + ПутьИнструмента = ПутьКВнешнимИнструментам + ИмяИнструмента + ".epf"; + ФайлИнструмента = Новый Файл(ПутьИнструмента); + Если Не ФайлИнструмента.Существует() Тогда + Сообщить("Инструмент <" + ИмяИнструмента + "> не найден в каталоге <" + ФайлИнструмента.Путь + ">"); + Возврат; КонецЕсли; - Возврат Каталог; -КонецФункции + Обработка = ВнешниеОбработки.Создать(ФайлИнструмента.ПолноеИмя, Ложь); + НоваяФорма = Обработка.ПолучитьФорму(ИмяФормы); + Если НоваяФорма = Неопределено Тогда + Сообщить("Инструмент <" + ИмяИнструмента + ">: не удалось получить основную форму!"); + Возврат; + КонецЕсли; + НоваяФорма.Открыть(); + НоваяФорма = Неопределено; +КонецПроцедуры -Функция ПервыйПуть() - Возврат ?(Пути.Количество() > 0, Пути[0].Значение, ""); +Функция ПолучитьПутьКПлагинам() + ФайлЯдра = Новый Файл(ЭтаФорма.ИспользуемоеИмяФайла); + Результат = ФайлЯдра.Путь + "Plugins\"; + + Возврат Результат; КонецФункции -//////////////////////////////////////////////////////////////////////////////// -// ОПЕРАТОРЫ ОСНОВНОЙ ПРОГРАММЫ - -//{ Состояния тестов -мМассивПиктограммСостояний = Новый Массив(4); -мМассивПиктограммСостояний[мЗначенияСостоянияТестов.НеВыполнялся] = ЭлементыФормы.ПолеКартинкиСерый.Картинка; -мМассивПиктограммСостояний[мЗначенияСостоянияТестов.Сломался] = ЭлементыФормы.ПолеКартинкиКрасный.Картинка; -мМассивПиктограммСостояний[мЗначенияСостоянияТестов.НеРеализован] = ЭлементыФормы.ПолеКартинкиЖелтый.Картинка; -мМассивПиктограммСостояний[мЗначенияСостоянияТестов.Прошел] = ЭлементыФормы.ПолеКартинкиЗеленый.Картинка; -мМассивПиктограммСостояний = Новый ФиксированныйМассив(мМассивПиктограммСостояний); -//} Состояния тестов +Функция ПолучитьПутьКВнешнимИнструментам() + ФайлЯдра = Новый Файл(ЭтотОбъект.ИспользуемоеИмяФайла); + Результат = ФайлЯдра.Путь + "Utils\"; + + Возврат Результат; +КонецФункции +// } Внешние интерфейстные инструменты -//{ Типы строк дерева тестов -мМассивПиктограммТиповСтроки = Новый Массив(4); -мМассивПиктограммТиповСтроки[мЗначенияТиповСтроки.КаталогТестов] = ЭлементыФормы.ПолеКартинкиКаталогТестов.Картинка; -мМассивПиктограммТиповСтроки[мЗначенияТиповСтроки.ТестовыйСлучай] = ЭлементыФормы.ПолеКартинкиТест.Картинка; -мМассивПиктограммТиповСтроки[мЗначенияТиповСтроки.ТестовыйМетод] = ЭлементыФормы.ПолеКартинкиТестовыйСлучай.Картинка; -мМассивПиктограммТиповСтроки[мЗначенияТиповСтроки.Подсистема] = ЭлементыФормы.ПолеКартинкиПодсистема.Картинка; -мМассивПиктограммТиповСтроки = Новый ФиксированныйМассив(мМассивПиктограммТиповСтроки); -//} Типы строк дерева тестов +Процедура ИнициализироватьИндикаторВыполнения(Знач КоличествоТестовыхМетодов = 0) + ЭлементыФормы.ИндикаторВыполнения.МаксимальноеЗначение = КоличествоТестовыхМетодов; + ЭлементыФормы.ИндикаторВыполнения.Значение = 0; + ЭлементыФормы.ИндикаторВыполнения.ЦветРамки = Новый Цвет(0, 174, 0); // Зеленый +КонецПроцедуры diff --git "a/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\243\320\244/\320\244\320\276\321\200\320\274\320\260.txt" "b/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\243\320\244/\320\244\320\276\321\200\320\274\320\260.txt" deleted file mode 100644 index 7a15ef58..00000000 --- "a/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\243\320\244/\320\244\320\276\321\200\320\274\320\260.txt" +++ /dev/null @@ -1,29 +0,0 @@ - -&НаСервере -Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) - РеквизитФормыВЗначение("Объект").ЗаполнитьДеревоПодсистем(ДеревоПодсистем, Параметры.ОтборПоИмениТеста); -КонецПроцедуры - -&НаКлиенте -Процедура ПриОткрытии(Отказ) - РазвернутьСтрокиДерева(Истина); -КонецПроцедуры - -&НаКлиенте -Процедура ДеревоПодсистемВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) - - СтандартнаяОбработка = Ложь; - Оповестить("xUnitFor1C.LoadSubSystem", ДеревоПодсистем.НайтиПоИдентификатору(ВыбраннаяСтрока).Путь, ВладелецФормы); - Закрыть(); - -КонецПроцедуры - -&НаКлиенте -Процедура РазвернутьСтрокиДерева(ВключаяПодчиненные = Ложь) - - Для каждого СтрокаДерева из ДеревоПодсистем.ПолучитьЭлементы() Цикл - Идентификатор = СтрокаДерева.ПолучитьИдентификатор(); - Элементы.ДеревоПодсистем.Развернуть(Идентификатор, ВключаяПодчиненные); - КонецЦикла; - -КонецПроцедуры diff --git "a/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\213/form" "b/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\213/form" deleted file mode 100644 index b604ca0e..00000000 --- "a/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\213/form" +++ /dev/null @@ -1,570 +0,0 @@ -{27, -{16, -{ -{1,1, -{"ru","Выберите тестовый случай или всю подсистему"} -},8,4294967295}, -{09ccdc77-ea1a-4a6d-ab1c-3435eada2433, -{1, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},21,0,1, -{0,4,1},0,1, -{0,4,3},0,0, -{3,1, -{3,0, -{0},"",-1,-1,1,0} -},0,1, -{1,1, -{3, -{1,1, -{"ru","Страница1"} -}, -{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,6,0,1,2,0,0,0,0}, -{2,392,1,1,3,0,0,8,0}, -{2,286,0,1,4,0,0,6,0},0,4294967295,5,64,0}, -{0} -}, -{3, -{ea83fe3a-ac3c-4cce-8045-3dddf35b28b1,4, -{5, -{"Pattern", -{"#",e603c0f2-92fb-4d47-8f38-a44a381cf235} -}, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,1, -{-18},0,0,0}, -{1,0} -}, -{15,117644833, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-14} -}, -{3,3, -{-15} -}, -{3,3, -{-13} -},2,2,0,0,0,0,0,1,1, -{6,2,0, -{-20},1}, -{6,2,0, -{-20},1},0,2,1, -{3, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","Имя"} -}, -{1,0}, -{1,0},194.9999999999999,0,-1,-1,-1,12590595, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"Имя", -{},28,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ -OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U -bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm -rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ -XFhJtSKWz30vMgcItzCmDw==},0} -}, -{-1}, -{-1}, -{-1} -},"Имя","","",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","Путь"} -}, -{1,0}, -{1,0},1e2,1,-1,-1,-1,12589568, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"Путь", -{},15,0, -{1,0}, -{"Pattern", -{"S"} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ -OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U -bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm -rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ -XFhJtSKWz30vMgcItzCmDw==},0} -}, -{-1}, -{-1}, -{-1} -},"Путь","","",0} -}, -{737535a4-21e6-4971-8513-3e3173a9fedd, -{8, -{8, -{16, -{1,1, -{"ru","Это подсистема"} -}, -{1,0}, -{1,0},1e2,2,-1,-1,-1,12589568, -{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} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{6,3,0,1}, -{6,3,0,1},1,0,0,4,0,"ТипСтроки", -{},15,0, -{1,0}, -{"Pattern", -{"N",10,0,1} -},0,1,381ed624-9217-4e63-85db-c4c3cb87daae, -{ -{#base64:AgFTS2/0iI3BTqDV67a9oKcNdY87DsIwDIZhrdRLZE6kOEkfvgRi4QAFujKgblVO -xsBNuAJXILaborZqE8Xy78f/9XM88Pd9vUfUZTGqczcM/fOhODkpDVZbDbEsIily -kwaUeR0o2Fxd57X2PJwernoKxrm9/m0uE81acPBXmMRASy7psApadjgQcXFEk/9K -hsymLirOUam5y2Z0K2BUM0AXJqu90jy7pMpbMz/TY9fUwd+dAezRhKp3pm3RG9fa -6w0Bqw4b6gsbVCuwvG7ayB4g3uIYfw==},0} -}, -{-1}, -{-1}, -{-1} -},"ТипСтроки","","",0} -} -},0,0,0,0} -}, -{9ab3fa70-d2e0-4e44-baac-730682272ed2, -{4,1,1, -{0} -} -}, -{2, -{34,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} -} -} -}, -{47,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} -} -} -} -} -}, -{8,8,6,392,286,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,1,-6}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,-8}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},0,0,0,0,0,0,0,0,1,0,0}, -{14,"ДеревоПодсистем",4294967295,0,0,0}, -{0} -}, -{151ef23e-6bb2-4681-83d0-35bc2217230c,6, -{1, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},15,0,0, -{3,3, -{0},"",-1,-1,0, -{ -{#base64:iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB6klEQVQ4jZ2SzWsT -URTFz0sT3Chi4j/gwihTdSN1I21srRgkA+4iGIvxA7Sgi6ymaUSkiKU1UHRh6EqI -wXU7IoytU6lVcFMEiTQVoUpsVEqThYYx6Zvjok00TdKIFy7v43J+XM69IIlWqQUU -78zjEVMLKN7NtX8Sm6lhk8U5Tty7VAdpKZ5+dMtk8YmU+STlt2E5k7xaA3GgSQyo -7d7eYDDRc7rDJ38uCLswZUtaosvv9p0805kYUNu9AOoBQggKIWKvV7Zlpt+ml4du -DjpYfEdZ/iwc5QVC2I6j/h3dPer+dUidKUCs0r7xIGjy6wVaH45Ja/GwvfZJkaXs -XupjXaYWUI439AAA//bAGDticqmDpY8H7FLWy4nRfVVxM0Bss5HP7h80uaxQv1sr -Jgln9+UbQcq1s67tbhXAOQBDJ66PLgFIln+s6q4951MwHl5xuETi1Yu223f09PMa -03xhbXLcmGcmT2byJIBY5T5uzLP32sjkRifuRqOGL6xxNkeGonECqGYoGudsjvSF -NTYS1uyBJYG+/ghC0TgAIBSNo68/Aks225I/4QSAlV/rj1MXI9Wz8tcS4PHs1tNv -Xqo7d3kAAIc6/cguvgcAfM99AQB9S8BqoZCam3oKAGqDui7anKmtAGJj9v8dvwET -hrJA6lgD5gAAAABJRU5ErkJggg==} -},0}, -{0,0,0},1,1,0,0, -{1,0} -}, -{0} -}, -{8,63,178,98,208,0, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,6,0,30}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,6,2,35}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,6,1},0,1, -{0,6,3},0,0,0,0,1,3,0,0}, -{14,"ПолеКартинкиТест",4294967295,0,0,0}, -{0} -}, -{151ef23e-6bb2-4681-83d0-35bc2217230c,7, -{1, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},15,0,0, -{3,3, -{0},"",-1,-1,0, -{ -{#base64:iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAl0lEQVR42mNgQAI3 -D234v6Mn8//i8uD/07Jd/3dEW/zft3zafwZiwdaOlP8/7h77//L0xv+3ds37f3Rh -8/+6IH3iDbiwec7/Ta2J//uTHf+3RZoBNRv83710MvEGHD1/7X9qI0QDiAbxydIM -A0Qbgk0z0YbgC3miYgVfyBMVK/hCfqTFCqEQJxgjhEKcYIwQCnGKYwQXAACvVTho -3ItgPQAAAABJRU5ErkJggg==} -},0}, -{0,0,0},1,1,0,0, -{1,0} -}, -{0} -}, -{8,20,178,55,208,0, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,7,0,30}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,7,2,35}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,7,1},0,1, -{0,7,3},0,0,0,0,2,2,0,0}, -{14,"ПолеКартинкиПодсистема",4294967295,0,0,0}, -{0} -} -} -},400,292,1,0,1,4,4,314}, -{ -{5},8, -{3, -{ -{3},1,0,1,"ДеревоПодсистем", -{"Pattern", -{"#",e603c0f2-92fb-4d47-8f38-a44a381cf235} -} -}, -{ -{5},0,0,1,"ОбработкаОбъект", -{"Pattern", -{"#",9176d5a2-441b-4c0a-b8b7-bf86d41bf1d9} -} -}, -{ -{6},0,0,1,"ОтборПоИмениТеста", -{"Pattern", -{"S",10,1} -} -} -}, -{1, -{4, -{1, -{3} -} -} -} -}, -{59d6c227-97d3-46f6-84a0-584c5a2807e1,1, -{2,0, -{0,0}, -{0},1} -}, -{1, -{70001,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} -} -} -} -},1,4,1,0,0,0, -{1,4,4294967295,357c6a54-357d-425d-a2bd-22f4f6e86c87,2147483647,0}, -{0}, -{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\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/form" "b/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/form" deleted file mode 100644 index 1b3e9861..00000000 --- "a/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/form" +++ /dev/null @@ -1,645 +0,0 @@ -{27, -{16, -{ -{1,1, -{"ru","Обработка Тестирование для 1С:Предприятия 8, xUnitFor1C"} -},7,7}, -{09ccdc77-ea1a-4a6d-ab1c-3435eada2433, -{1, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0} -},21,0,1, -{0,7,1},2, -{0,6,2}, -{0,7,2},2, -{0,6,3}, -{0,7,3},0,0, -{3,1, -{3,0, -{0},"",-1,-1,1,0} -},0,1, -{1,1, -{3, -{1,1, -{"ru","Страница1"} -}, -{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,33,0,1,2,0,0,0,0}, -{2,577,1,1,3,0,0,8,0}, -{2,90,0,1,4,0,0,33,0},0,4294967295,5,64,0}, -{0} -}, -{7, -{35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26,1, -{1, -{ -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,1, -{"ru","Запрет использования информатора"} -} -},4, -{1,1, -{"ru","Запрет использования информатора"} -},1,0,1},1,0,0}, -{0} -}, -{8,8,33,250,48,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,1,0,15}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,1,2,242}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,1,1},0,1, -{0,1,3},0,0,0,0,0,2,0,0}, -{14,"ЗапретИспользованияИнформатора",4294967295,0,0,0}, -{0} -}, -{35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26,2, -{1, -{ -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,1, -{"ru","Отметка о прогоне тестов в журнале регистрации"} -} -},4, -{1,1, -{"ru","Отметка о прогоне тестов в журнале регистрации"} -},1,0,1},1,0,0}, -{0} -}, -{8,300,54,576,69,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,2,0,15}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,2,2,276}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,2,1},0,1, -{0,2,3},0,0,0,0,1,4,0,0}, -{14,"РегистрацияПрохожденияТестовВЖР",4294967295,0,0,0}, -{0} -}, -{35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26,3, -{1, -{ -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,1, -{"ru","Регистрация ошибок тестов в журнале регистрации"} -} -},4, -{1,1, -{"ru","Регистрация ошибок тестов в журнале регистрации"} -},1,0,1},1,0,0}, -{0} -}, -{8,8,54,291,69,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,3,0,15}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,3,2,283}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,3,1},0,1, -{0,3,3},0,0,0,0,2,3,0,0}, -{14,"РегистрацияОшибокТестовВЖР",4294967295,0,0,0}, -{0} -}, -{35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26,4, -{1, -{ -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,1, -{"ru","Режим отладки"} -} -},4, -{1,1, -{"ru","Режим отладки"} -},1,0,1},1,0,0}, -{0} -}, -{8,300,75,536,90,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,4,0,15}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,4,2,236}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,4,1},0,1, -{0,4,3},0,0,0,0,3,6,0,0}, -{14,"РежимОтладки",4294967295,0,0,0}, -{0} -}, -{35af3d93-d7c7-4a2e-a8eb-bac87a1a3f26,5, -{1, -{ -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-7} -}, -{3,3, -{-21} -}, -{3,0, -{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,1, -{"ru","Случайный порядок выполнения"} -} -},4, -{1,1, -{"ru","Случайный порядок выполнения"} -},1,0,1},1,0,0}, -{0} -}, -{8,8,75,250,90,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,5,0,15}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,5,2,242}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,5,1},0,1, -{0,5,3},0,0,0,0,4,5,0,0}, -{14,"СлучайныйПорядокВыполнения",4294967295,0,0,0}, -{0} -}, -{e69bf21d-97b2-4f37-86db-675aea9ec2cb,6, -{2, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-21} -}, -{3,0, -{0},4,1,0,00000000-0000-0000-0000-000000000000}, -{1,0} -},8,2,1,0,1,1, -{5,77c388f6-cc51-47d2-abee-66c3ea759764,6,1,0,1, -{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,0, -{0,0, -{0} -} -} -},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,9d0a2e40-b978-11d4-84b6-008048da06df,0} -}, -{8,0,0,585,25,1, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,6,0,25}, -{2,-1,6,0} -}, -{0, -{2,0,2,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,6,1},0,0,0,0,0,0,5,1,1,0}, -{14,"ДействияФормы",0,0,0,0}, -{0} -}, -{e69bf21d-97b2-4f37-86db-675aea9ec2cb,7, -{2, -{ -{10,1, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},0, -{3,3, -{-22} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,3, -{-21} -}, -{3,0, -{0},7,1,0,00000000-0000-0000-0000-000000000000}, -{1,0} -},8,2,0,2,0,1, -{5,1a9bf3cf-5721-4643-9f11-bbd2e780be65,3,1,3, -{6,ffdb483c-1e13-4ffb-ab8a-583c5057c831,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,2b4a3040-1fb0-4c31-a386-1e08ba278127,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,1cb82038-c0bd-4c1a-bd3d-6b8dbf8d8f13,1,fbe38877-b914-4fd5-8540-07dde06ba2e1, -{6,7,00000000-0000-0000-0000-000000000000,142, -{1,0,357c6a54-357d-425d-a2bd-22f4f6e86c87,2147483647,0},0,1},0},1, -{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,3,ffdb483c-1e13-4ffb-ab8a-583c5057c831, -{8,"ОсновныеДействияФормыВыполнить",0,1, -{1,1, -{"ru","Выполнить"} -},1,1a9bf3cf-5721-4643-9f11-bbd2e780be65,1,1e2,0,1,1,0,1,0,0},2b4a3040-1fb0-4c31-a386-1e08ba278127, -{8,"Разделитель",0,1, -{1,0},0,1a9bf3cf-5721-4643-9f11-bbd2e780be65,2,1e2,2,1,1,0,1,0,0},1cb82038-c0bd-4c1a-bd3d-6b8dbf8d8f13, -{8,"ОсновныеДействияФормыЗакрыть",0,1, -{1,1, -{"ru","Закрыть"} -},1,1a9bf3cf-5721-4643-9f11-bbd2e780be65,3,1e2,0,1,1,0,1,0,0}, -{-1,0, -{0} -} -} -},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,e3fa6218-5361-46ab-a7bd-400acf430132,1} -}, -{8,0,98,585,123,1, -{0, -{2,7,1,-25}, -{2,-1,6,0} -}, -{0, -{2,0,1,0}, -{2,-1,6,0} -}, -{0, -{2,0,2,0}, -{2,-1,6,0} -}, -{0, -{2,0,3,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -}, -{0, -{2,-1,6,0}, -{2,-1,6,0} -},1, -{0,7,1},1, -{0,7,0},0,0,0,0,0,6,7,1,1}, -{14,"ОсновныеДействияФормы",0,0,0,0}, -{0} -} -} -},585,123,1,0,1,4,4,87}, -{ -{1},7, -{1, -{ -{1},0,0,1,"ОбработкаОбъект", -{"Pattern", -{"#",9176d5a2-441b-4c0a-b8b7-bf86d41bf1d9} -} -} -}, -{5, -{1, -{2, -{1}, -{0,01263d20-0019-4e8a-af76-b48319dacdef} -} -}, -{2, -{2, -{1}, -{0,07f739b4-709b-41bf-8096-032bddefd0f9} -} -}, -{3, -{2, -{1}, -{0,e46a4b91-3cc7-4188-b6f0-96c31aa42e19} -} -}, -{4, -{2, -{1}, -{0,a2724854-2f5c-4048-b7b2-02cbb9cb7fa3} -} -}, -{5, -{2, -{1}, -{0,092b3fc1-7ced-4d20-8a28-79b535f8a9c4} -} -} -} -}, -{59d6c227-97d3-46f6-84a0-584c5a2807e1,1, -{2,0, -{0,0}, -{0},1} -}, -{1, -{70001,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} -} -} -} -},1,4,1,0,0,0, -{0}, -{0}, -{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\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/module" "b/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/module" deleted file mode 100644 index 49c7a8d2..00000000 --- "a/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/module" +++ /dev/null @@ -1,8 +0,0 @@ - -Процедура КнопкаВыполнитьНажатие(Кнопка) - Закрыть(Истина); -КонецПроцедуры - -Процедура ПриОткрытии() - ЭтаФорма.Заголовок = "Настройки " + ЭтотОбъект.ЗаголовокФормы(); -КонецПроцедуры diff --git a/src/xddTestRunner/ObjectModule.txt b/src/xddTestRunner/ObjectModule.txt index c3b2922f..31ee5f28 100644 --- a/src/xddTestRunner/ObjectModule.txt +++ b/src/xddTestRunner/ObjectModule.txt @@ -1,448 +1,392 @@ -//////////////////////////////////////////////////////////////////////////////// -// ПЕРЕМЕННЫЕ МОДУЛЯ - -// Прокси-объект для взаимодействия с внешним миром, -// когда браузер тестов открывается извне, например, -// скриптом для Снегопата. -// -Перем mMiddleMan; - -Перем мИнформатор; // работа с таблицей методов в runtime -Перем мПытаемсяСоздатьИнформатор; - -Перем мЗначенияСостоянияТестов Экспорт; -Перем мЗначенияТиповСтроки Экспорт; -Перем мЗначениеМодульИлиФорма Экспорт; -Перем РезультатыСравненияТаблиц Экспорт; - -// Хранит количество загруженных тестовых случаев. -Перем мКоличествоТестовыхСлучаев Экспорт; - -Перем мСоответствиеСтатусовДляTeamCity; - -Перем СтатусыРезультатаТестирования Экспорт; -Перем кэшТестовыхОбработок; +Процедура Инициализация() + ТипыПлагинов = ТипыПлагинов(); + СостоянияТестов = СостоянияТестов(); + СтатусыРезультатаТестирования = СтатусыРезультатаТестирования(); + ВозможныеСобытия = ВозможныеСобытия(); + ВозможныеИсключения = ВозможныеИсключения(); + + ЗагрузитьНастройки(); +КонецПроцедуры Функция Версия() Экспорт - Возврат "3.0.0.3"; + Возврат "4.0.0.4"; КонецФункции Функция ЗаголовокФормы() Экспорт - Возврат СокрЛП(Метаданные().Синоним) + ", версия " + Версия() + " - Ctrl+Enter выполняет выделенные тесты"; + Возврат СокрЛП(Метаданные().Синоним) + ", версия " + Версия(); КонецФункции -//{ МЕТОДЫ ДЛЯ ПРОВЕРКИ ЗНАЧЕНИЙ (assertions). - -Процедура Проверить(_Истина, ДопСообщениеОшибки = "") Экспорт - Если Не _Истина Тогда - СообщениеОшибки = "Переданный параметр ("+Формат(_Истина, "БЛ=ложь; БИ=истина")+") не является Истиной, а хотели, чтобы являлся." + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -Процедура ПроверитьИстину(_Истина, ДопСообщениеОшибки = "") Экспорт - Проверить(_Истина, ДопСообщениеОшибки); -КонецПроцедуры - -Процедура ПроверитьЛожь(_Ложь, ДопСообщениеОшибки = "") Экспорт - Если _Ложь Тогда - СообщениеОшибки = "Переданный параметр ("+Формат(_Ложь, "БЛ=ложь; БИ=истина")+") не является Ложью, а хотели, чтобы являлся." + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -Процедура ПроверитьДату(_Дата, _Период, ДопСообщениеОшибки = "") Экспорт - Если _Дата < _Период.ДатаНачала или _Дата > _Период.ДатаОкончания Тогда - представление = ПредставлениеПериода(_Период.ДатаНачала, _Период.ДатаОкончания, "ФП = Истина"); - СообщениеОшибки = "Переданный параметр ("+Формат(_Дата, "ДФ='dd.MM.yyyy HH:mm:ss'")+") не входит в период "+представление+", а хотели, чтобы являлся." + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -Процедура ПроверитьРавенствоДатСТочностью2Секунды(_Дата, _Дата2, ДопСообщениеОшибки = "") Экспорт - Если _Дата < _Дата2-2 или _Дата > _Дата2+2 Тогда - СообщениеОшибки = "Переданная дата ("+Формат(_Дата, "ДФ='dd.MM.yyyy HH:mm:ss'")+") не равна дате ("+Формат(_Дата2, "ДФ='dd.MM.yyyy HH:mm:ss'")+") с точностью до 2-х секунд, а хотели, чтобы они равнялись." + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -Процедура ПроверитьРавенство(_1, _2, ДопСообщениеОшибки = "") Экспорт - Если _1 <> _2 Тогда - СообщениеОшибки = "Сравниваемые значения ("+_1+"; "+_2+") не равны, а хотели, чтобы были равны." + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -Процедура ПроверитьНеРавенство(_1, _2, ДопСообщениеОшибки = "") Экспорт - Если _1 = _2 Тогда - СообщениеОшибки = "Сравниваемые значения ("+_1+"; "+_2+") равны, а хотели, чтобы были не равны." + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -Процедура ПроверитьБольше(_Больше, _Меньше, ДопСообщениеОшибки = "") Экспорт - Если _Больше <= _Меньше Тогда - СообщениеОшибки = "Первый параметр ("+_Больше+") меньше или равен второму ("+_Меньше+") а хотели, чтобы был больше." + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры +// { Plugins +Функция ТипыПлагинов() + Результат = Новый Структура; + Результат.Вставить("Загрузчик", "Загрузчик"); + Результат.Вставить("Утилита", "Утилита"); + Результат.Вставить("ГенераторОтчета", "ГенераторОтчета"); + + Возврат Новый ФиксированнаяСтруктура(Результат); +КонецФункции -Процедура ПроверитьБольшеИлиРавно(_Больше, _Меньше, ДопСообщениеОшибки = "") Экспорт - Если _Больше < _Меньше Тогда - СообщениеОшибки = "Первый параметр ("+_Больше+") меньше второго ("+_Меньше+") а хотели, чтобы был больше или равен." + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); +Функция Плагин(Знач Идентификатор) Экспорт + Плагин = Плагины[Идентификатор]; + Если ТипЗнч(Плагин) = Тип("Строка") Тогда + Плагин = ВнешниеОбработки.Создать(Плагин, Ложь); КонецЕсли; -КонецПроцедуры + + Возврат Плагин; +КонецФункции -Процедура ПроверитьМеньше(проверяемоеЗначение1, проверяемоеЗначение2, СообщениеОбОшибке = "") Экспорт - Если проверяемоеЗначение1 >= проверяемоеЗначение2 Тогда - СообщениеОшибки = "Значение <"+проверяемоеЗначение1+"> больше или равно, чем <"+проверяемоеЗначение2+">, а ожидалось меньше"+ - ФорматДСО(СообщениеОбОшибке); - ВызватьОшибкуПроверки(СообщениеОшибки) - КонецЕсли; -КонецПроцедуры +Функция ПолучитьОписанияПлагиновПоТипу(Знач ТипПлагина) Экспорт + Результат = Новый Массив; + Для каждого КлючЗначение Из Плагины Цикл + Плагин = Плагин(КлючЗначение.Ключ); + ОписаниеПлагина = Плагин.ОписаниеПлагина(ТипыПлагинов); + Если ОписаниеПлагина.Тип = ТипПлагина Тогда + Результат.Добавить(ОписаниеПлагина); + КонецЕсли; + КонецЦикла; + + Возврат Результат; +КонецФункции -Процедура ПроверитьМеньшеИлиРавно(проверяемоеЗначение1, проверяемоеЗначение2, СообщениеОбОшибке = "") Экспорт - Если проверяемоеЗначение1 > проверяемоеЗначение2 Тогда - СообщениеОшибки = "Значение <"+проверяемоеЗначение1+"> больше, чем <"+проверяемоеЗначение2+">, а ожидалось меньше или равно"+ - ФорматДСО(СообщениеОбОшибке); - ВызватьОшибкуПроверки(СообщениеОшибки) - КонецЕсли; -КонецПроцедуры +Функция ЗагрузчикПоУмолчанию() Экспорт + Возврат Плагин("ЗагрузчикКаталога"); +КонецФункции +// } Plugins -Процедура ПроверитьВыполнилось(Знач СтрокаАлгоритм, ПараметрыИлиДопСообщениеОшибки = Неопределено, Знач ДопСообщениеОшибки = "") Экспорт - Перем Параметры; - - Если ТипЗнч(ПараметрыИлиДопСообщениеОшибки) = Тип("Строка") Тогда - ДопСообщениеОшибки = ПараметрыИлиДопСообщениеОшибки; - Иначе - Параметры = ПараметрыИлиДопСообщениеОшибки; +// { Выполнение тестов +Функция ПолучитьКоличествоТестовыхМетодов(Знач КонтейнерДереваТестов, Знач Фильтр = Неопределено) Экспорт + КоличествоТестовыхМетодов = 0; + ФильтрДляДочернихУзлов = Неопределено; + Если Не УзелДереваТестовУдовлетворяетФильтру(КонтейнерДереваТестов, Фильтр) Тогда + ФильтрДляДочернихУзлов = Фильтр; КонецЕсли; - Попытка - Выполнить(СтрокаАлгоритм); - Исключение - ПолученноеОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - СообщениеОшибки = "Хотели, чтобы алгоритм """+СтрокаАлгоритм+""" выполнился, а он упал с ошибкой """+ПолученноеОписаниеОшибки+"""." + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецПопытки; + Для каждого ДочернийУзел Из КонтейнерДереваТестов.Строки Цикл + КоличествоДочернихТестовыхМетодов = 0; + Если ДочернийУзел.Тип = ЭтотОбъект.ТипыУзловДереваТестов.Контейнер Тогда + КоличествоДочернихТестовыхМетодов = ПолучитьКоличествоТестовыхМетодов(ДочернийУзел, ФильтрДляДочернихУзлов); + ИначеЕсли ДочернийУзел.Тип = ЭтотОбъект.ТипыУзловДереваТестов.Элемент Тогда + Если УзелДереваТестовУдовлетворяетФильтру(ДочернийУзел, ФильтрДляДочернихУзлов) Тогда + КоличествоДочернихТестовыхМетодов = 1; + КонецЕсли; + КонецЕсли; + КоличествоТестовыхМетодов = КоличествоТестовыхМетодов + КоличествоДочернихТестовыхМетодов; + КонецЦикла; -КонецПроцедуры + Возврат КоличествоТестовыхМетодов; +КонецФункции -Процедура ПроверитьМетодВыполнился(Объект, Знач ИмяМетода, ПараметрыИлиДопСообщениеОшибки = Неопределено, Знач ДопСообщениеОшибки = "") Экспорт - Перем Параметры; +Функция ВыполнитьТесты(Знач Загрузчик, Знач КонтейнерДереваТестов, Знач Фильтр = Неопределено, Знач Подписчик = Неопределено) Экспорт + РезультатТестирования = СоздатьКонтейнерРезультатовТестирования(КонтейнерДереваТестов); + ФильтрДляДочернихУзлов = Неопределено; + Если Не УзелДереваТестовУдовлетворяетФильтру(КонтейнерДереваТестов, Фильтр) Тогда + ФильтрДляДочернихУзлов = Фильтр; + КонецЕсли; - Если ТипЗнч(ПараметрыИлиДопСообщениеОшибки) = Тип("Строка") Тогда - ДопСообщениеОшибки = ПараметрыИлиДопСообщениеОшибки; + Если КонтейнерДереваТестов.СлучайныйПорядокВыполнения Тогда + СтрокиКонтейнера = ПеремешатьМассив(КонтейнерДереваТестов.Строки); Иначе - Параметры = ПараметрыИлиДопСообщениеОшибки; - Если Параметры <> Неопределено Тогда - ТипПараметра = ТипЗнч(Параметры); - Если ТипПараметра <> Тип("Массив") Тогда - ВызватьИсключение ("Ожидали, что вторым параметром будет передан массив параметров для метода <"+ИмяМетода+">, а получили другой объект с типом <"+ТипПараметра+">"); + СтрокиКонтейнера = КонтейнерДереваТестов.Строки; + КонецЕсли; + + Для каждого ДочернийУзел Из СтрокиКонтейнера Цикл + ДочернийРезультатТестирования = Неопределено; + Если ДочернийУзел.Тип = ЭтотОбъект.ТипыУзловДереваТестов.Контейнер Тогда + ДочернийРезультатТестирования = ВыполнитьТесты(Загрузчик, ДочернийУзел, ФильтрДляДочернихУзлов, Подписчик); + ИначеЕсли ДочернийУзел.Тип = ЭтотОбъект.ТипыУзловДереваТестов.Элемент Тогда + Если УзелДереваТестовУдовлетворяетФильтру(ДочернийУзел, ФильтрДляДочернихУзлов) Тогда + Контекст = Загрузчик.ПолучитьКонтекстПоПути(ЭтотОбъект, ДочернийУзел.Путь); + ЭтотОбъект.ТекущийКонтейнер = КонтейнерДереваТестов; + ДочернийРезультатТестирования = ВыполнитьТестовыйМетод(Контекст, ДочернийУзел); + + Если Подписчик <> Неопределено Тогда + ОповеститьОСобытии(Подписчик, ЭтотОбъект.ВозможныеСобытия.ВыполненТестовыйМетод, ДочернийРезультатТестирования); + КонецЕсли; + КонецЕсли; + КонецЕсли; + Если ДочернийРезультатТестирования <> Неопределено Тогда + РезультатТестирования.Строки.Добавить(ДочернийРезультатТестирования); + РезультатТестирования.Состояние = ВыбратьХудшееСостояниеВыполненияТестов(РезультатТестирования.Состояние, ДочернийРезультатТестирования.Состояние); + ЗаполнитьДанныеСтатистики(РезультатТестирования, ДочернийРезультатТестирования); + Если Не КонтейнерДереваТестов.СлучайныйПорядокВыполнения И ДочернийРезультатТестирования.Состояние <> ЭтотОбъект.СостоянияТестов.Пройден Тогда + Прервать; КонецЕсли; КонецЕсли; + КонецЦикла; + Если РезультатТестирования.Строки.Количество() = 0 Тогда + РезультатТестирования = Неопределено; КонецЕсли; - ПараметрыСтрока = ПараметрыСтрокой(Параметры); - - СтрокаВыполнения = "Объект." + ИмяМетода + "(" + ПараметрыСтрока + ")"; - - Попытка - Выполнить(СтрокаВыполнения); - Исключение - ПолученноеОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - СообщениеОшибки = "Хотели, чтобы код """+СтрокаВыполнения+""" выполнился, а он упал с ошибкой """+ПолученноеОписаниеОшибки+"""." + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецПопытки; - -КонецПроцедуры + Возврат РезультатТестирования; +КонецФункции -Функция ПараметрыСтрокой(Параметры) - ПараметрыСтрока = ""; - Если ЗначениеЗаполнено(Параметры) Тогда - Для Индекс = 0 По Параметры.ВГраница() Цикл - ПараметрыСтрока = ПараметрыСтрока + ", Параметры[" + Формат(Индекс, "ЧН=0; ЧГ=0") + "]"; - КонецЦикла; - КонецЕсли; - Возврат Сред(ПараметрыСтрока, 3); +Функция УзелДереваТестовУдовлетворяетФильтру(Знач УзелДереваТестов, Знач Фильтр) + Возврат (Фильтр = Неопределено) Или (Фильтр.Найти(УзелДереваТестов.Ключ) <> Неопределено); КонецФункции -Процедура ПроверитьНеВыполнилось(Знач СтрокаАлгоритм, ПараметрыИлиОжидаемоеОписаниеОшибки, Знач ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки = "", Знач ДопСообщениеОшибки = "") Экспорт - Перем Параметры, ОжидаемоеОписаниеОшибки; - Если ТипЗнч(ПараметрыИлиОжидаемоеОписаниеОшибки) = Тип("Строка") Тогда - ОжидаемоеОписаниеОшибки = ПараметрыИлиОжидаемоеОписаниеОшибки; - ДопСообщениеОшибки = ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки; - Иначе - Параметры = ПараметрыИлиОжидаемоеОписаниеОшибки; - ОжидаемоеОписаниеОшибки = ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки; - КонецЕсли; - Попытка - Выполнить(СтрокаАлгоритм); - Исключение - ПолученноеОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - Если Найти(ПолученноеОписаниеОшибки, ОжидаемоеОписаниеОшибки) = 0 Тогда - ВызватьОшибкуПроверки("Хотели, чтобы алгоритм """+СтрокаАлгоритм+""" упал с сообщением об ошибке """+ОжидаемоеОписаниеОшибки+""", а он упал с сообщением """+ПолученноеОписаниеОшибки+"""." + ФорматДСО(ДопСообщениеОшибки)); +Процедура ЗаполнитьДанныеСтатистики(РезультатТестирования, Знач ДочернийРезультатТестирования) Экспорт + Если ДочернийРезультатТестирования.Тип = ЭтотОбъект.ТипыУзловДереваТестов.Контейнер Тогда + РезультатТестирования.КоличествоТестов = РезультатТестирования.КоличествоТестов + ДочернийРезультатТестирования.КоличествоТестов; + РезультатТестирования.КоличествоСломанныхТестов = РезультатТестирования.КоличествоСломанныхТестов + ДочернийРезультатТестирования.КоличествоСломанныхТестов; + РезультатТестирования.КоличествоНеРеализованныхТестов = РезультатТестирования.КоличествоНеРеализованныхТестов + ДочернийРезультатТестирования.КоличествоНеРеализованныхТестов; + РезультатТестирования.КоличествоОшибочныхТестов = РезультатТестирования.КоличествоОшибочныхТестов + ДочернийРезультатТестирования.КоличествоОшибочныхТестов; + + ИначеЕсли ДочернийРезультатТестирования.Тип = ЭтотОбъект.ТипыУзловДереваТестов.Элемент Тогда + РезультатТестирования.КоличествоТестов = РезультатТестирования.КоличествоТестов + 1; + Если ДочернийРезультатТестирования.Состояние = СостоянияТестов.Сломан Тогда + РезультатТестирования.КоличествоСломанныхТестов = РезультатТестирования.КоличествоСломанныхТестов + 1; + ИначеЕсли ДочернийРезультатТестирования.Состояние = СостоянияТестов.НеРеализован Тогда + РезультатТестирования.КоличествоНеРеализованныхТестов = РезультатТестирования.КоличествоНеРеализованныхТестов + 1; + ИначеЕсли ДочернийРезультатТестирования.Состояние = СостоянияТестов.НеизвестнаяОшибка Тогда + РезультатТестирования.КоличествоОшибочныхТестов = РезультатТестирования.КоличествоОшибочныхТестов + 1; КонецЕсли; - Возврат; - КонецПопытки; - - ВызватьОшибкуПроверки("Хотели, чтобы алгоритм """+СтрокаАлгоритм+""" упал, а он выполнился" + ФорматДСО(ДопСообщениеОшибки)); - + КонецЕсли; + РезультатТестирования.ВремяВыполнения = РезультатТестирования.ВремяВыполнения + ДочернийРезультатТестирования.ВремяВыполнения; КонецПроцедуры -Процедура ПроверитьМетодНеВыполнился(Объект, ИмяМетода, ПараметрыИлиОжидаемоеОписаниеОшибки, Знач ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки = "", Знач ДопСообщениеОшибки = "") Экспорт - Перем Параметры, ОжидаемоеОписаниеОшибки; +Функция ВыбратьХудшееСостояниеВыполненияТестов(Знач Состояние1, Знач Состояние2) + Возврат Макс(Состояние1, Состояние2); +КонецФункции + +Функция ВыполнитьТестовыйМетод(Знач КонтекстВыполнения, Знач ЭлементДереваТестов) Экспорт + РезультатТестирования = СоздатьЭлементРезультатовТестирования(ЭлементДереваТестов); + НачалоВыполнения = ТекущаяУниверсальнаяДатаВМиллисекундах(); - Если ТипЗнч(ПараметрыИлиОжидаемоеОписаниеОшибки) = Тип("Строка") Тогда - ОжидаемоеОписаниеОшибки = ПараметрыИлиОжидаемоеОписаниеОшибки; - ДопСообщениеОшибки = ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки; - Иначе - Параметры = ПараметрыИлиОжидаемоеОписаниеОшибки; - Если Параметры <> Неопределено Тогда - ТипПараметра = ТипЗнч(Параметры); - Если ТипПараметра <> Тип("Массив") Тогда - ВызватьИсключение ("Ожидали, что третьим параметром будет передан массив параметров для метода <"+ИмяМетода+">, а получили другой объект с типом <"+ТипПараметра+">"); + Если ВыполнитьИнициализациюКонтекста(КонтекстВыполнения, РезультатТестирования) Тогда + + Попытка + ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(КонтекстВыполнения, ЭлементДереваТестов.ПередЗапускомТеста); + ВыполнитьПроцедуруКонтекста(КонтекстВыполнения, ЭлементДереваТестов.ИмяМетода, ЭлементДереваТестов.Параметры); + + РезультатТестирования.Состояние = СостоянияТестов.Пройден; + Исключение + ИнформацияОбОшибке = ИнформацияОбОшибке(); + ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + КраткийТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); + Если ЕстьОшибка_МетодОбъектаНеОбнаружен(КраткийТекстОшибки, ЭлементДереваТестов.ИмяМетода) Тогда + РезультатТестирования.Состояние = СостоянияТестов.НеРеализован; + Сообщение = НСтр("ru = 'Отсутствует реализация тестового метода (%1).'"); + РезультатТестирования.Сообщение = СтрЗаменить(Сообщение, "%1", ЭлементДереваТестов.ИмяМетода); + Иначе + РезультатТестирования.Сообщение = ТекстОшибки; + Если ЭтоОшибкаПроверки(КраткийТекстОшибки) Тогда + РезультатТестирования.Состояние = СостоянияТестов.Сломан; + ИначеЕсли ЭтоПропущенныйТест(КраткийТекстОшибки) Тогда + РезультатТестирования.Состояние = СостоянияТестов.НеРеализован; + Иначе + РезультатТестирования.Состояние = СостоянияТестов.НеизвестнаяОшибка; + КонецЕсли; КонецЕсли; - КонецЕсли; - ОжидаемоеОписаниеОшибки = ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки; + КонецПопытки; + Попытка + ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(КонтекстВыполнения, ЭлементДереваТестов.ПослеЗапускаТеста); + Исключение + ИнформацияОбОшибке = ИнформацияОбОшибке(); + РезультатТестирования.Сообщение = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + + КраткийТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); + Если ЭтоОшибкаПроверки(ТекстОшибки) Тогда + РезультатТестирования.Состояние = СостоянияТестов.Сломан; + Иначе + РезультатТестирования.Состояние = СостоянияТестов.НеизвестнаяОшибка; + КонецЕсли; + КонецПопытки; КонецЕсли; - ПараметрыСтрока = ПараметрыСтрокой(Параметры); - - СтрокаВыполнения = "Объект." + ИмяМетода + "(" + ПараметрыСтрока + ")"; - - Попытка - Выполнить(СтрокаВыполнения); - Исключение - ПолученноеОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - Если Найти(ПолученноеОписаниеОшибки, ОжидаемоеОписаниеОшибки) = 0 Тогда - ВызватьОшибкуПроверки("Хотели, чтобы код """+СтрокаВыполнения+""" упал с сообщением об ошибке """+ОжидаемоеОписаниеОшибки+""", а он упал с сообщением """+ПолученноеОписаниеОшибки+"""." + ФорматДСО(ДопСообщениеОшибки)); - КонецЕсли; - Возврат; - КонецПопытки; + ОкончаниеВыполнения = ТекущаяУниверсальнаяДатаВМиллисекундах(); + РезультатТестирования.ВремяВыполнения = (ОкончаниеВыполнения - НачалоВыполнения) / 1000; - ВызватьОшибкуПроверки("Хотели, чтобы код """+СтрокаВыполнения+""" упал, а он выполнился" + ФорматДСО(ДопСообщениеОшибки)); - -КонецПроцедуры + Возврат РезультатТестирования; +КонецФункции -// проверка идет через ЗначениеЗаполнено, но мутабельные значение всегда считаем заполненными -Процедура ПроверитьЗаполненность(ПроверяемоеЗначение, ДопСообщениеОшибки = "") Экспорт +Функция ВыполнитьИнициализациюКонтекста(КонтекстВыполнения, РезультатТестирования) Попытка - фЗаполнено = ЗначениеЗаполнено(ПроверяемоеЗначение); + КонтекстВыполнения.Инициализация(ЭтотОбъект); + Возврат Истина; Исключение - Возврат; + РезультатТестирования.Сообщение = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + РезультатТестирования.Состояние = СостоянияТестов.НеизвестнаяОшибка; КонецПопытки; - Если НЕ фЗаполнено Тогда - ВызватьОшибкуПроверки("Значение ("+ПроверяемоеЗначение+") не заполнено, а ожидалась заполненность" + ФорматДСО(ДопСообщениеОшибки)); - КонецЕсли; -КонецПроцедуры + Возврат Ложь; +КонецФункции -Процедура ПроверитьНеЗаполненность(ПроверяемоеЗначение, ДопСообщениеОшибки = "") Экспорт - СообщениеОшибки = "Значение ("+ПроверяемоеЗначение+") заполнено, а ожидалась незаполненность" + ФорматДСО(ДопСообщениеОшибки); +Процедура ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(Знач КонтекстВыполнения, Знач ИмяПроцедуры) Попытка - фЗаполнено = ЗначениеЗаполнено(ПроверяемоеЗначение); + ВыполнитьПроцедуруКонтекста(КонтекстВыполнения, ИмяПроцедуры); Исключение - ВызватьОшибкуПроверки(СообщениеОшибки); + ТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке()); + Если Не ЕстьОшибка_МетодОбъектаНеОбнаружен(ТекстОшибки, ИмяПроцедуры) Тогда + ВызватьИсключение; + КонецЕсли; КонецПопытки; - Если фЗаполнено Тогда - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -Процедура ПроверитьТип(значение, ТипИлиИмяТипа, ДопСообщениеОшибки = "") Экспорт - Если ТипЗнч(ТипИлиИмяТипа) = Тип("Строка") Тогда - искомыйТип = Тип(ТипИлиИмяТипа); - ИначеЕсли ТипЗнч(ТипИлиИмяТипа) = Тип("Тип") Тогда - искомыйТип = ТипИлиИмяТипа; - Иначе - ВызватьИсключение ("ПроверитьТип: Тип значения параметра ТипИлиИмяТипа должен быть <Тип> или <Строка>, а получили <"+ ТипЗнч(ТипИлиИмяТипа) + ">" + ФорматДСО(ДопСообщениеОшибки)); - КонецЕсли; - Если ТипЗнч(значение) <> искомыйТип Тогда - ВызватьОшибкуПроверки("Типом значения <"+значение+"> является <"+ТипЗнч(значение)+">, а ожидался тип <"+ТипИлиИмяТипа+">."+ФорматДСО(ДопСообщениеОшибки)); - КонецЕсли; КонецПроцедуры -Процедура ПроверитьВхождение(строка, подстрокаПоиска, ДопСообщениеОшибки = "") Экспорт - Если Найти(строка, подстрокаПоиска) = 0 Тогда - ПредставлениеСтроки = "<"+строка+">"; - Если СтрДлина(строка) > 20 Тогда - ПредставлениеСтроки = ПредставлениеСтроки + Символы.ПС; - КонецЕсли; - ПредставлениеПодСтроки = "<"+подстрокаПоиска+">"; - Если СтрДлина(подстрокаПоиска) > 20 Тогда - ПредставлениеПодСтроки = ПредставлениеПодСтроки + Символы.ПС; - КонецЕсли; - СообщениеОшибки = "Искали в "+ПредставлениеСтроки+" подстроку "+ПредставлениеПодСтроки+", но не нашли." + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; +Процедура ВыполнитьПроцедуруКонтекста(Знач КонтекстВыполнения, Знач ПроцедураКонтекста, Знач Параметры = Неопределено) + СтрокаПараметров = СформироватьСтрокуПараметров(Параметры); + ИcполняемыйКод = "КонтекстВыполнения." + ПроцедураКонтекста + "(" + СтрокаПараметров + ");"; + Выполнить(ИcполняемыйКод); КонецПроцедуры -//Коллекция - Массив, Структура, Соответствие, ФиксированныйМассив, ФиксированнаяСтруктура, ФиксированноеСоответствие, СписокЗначений -Процедура ПроверитьВхождениеВКоллекцию(Элемент, Коллекция, ДопСообщениеОшибки = "") Экспорт - Нашли = Неопределено; - ТипКоллекции = ТипЗнч(Коллекция); - Если ТипКоллекции = Тип("Массив") или ТипКоллекции = Тип("ФиксированныйМассив") Тогда - Нашли = Коллекция.Найти(Элемент) <> Неопределено; - ИначеЕсли ТипКоллекции = Тип("Структура") или ТипКоллекции = Тип("Соответствие") - или ТипКоллекции = Тип("ФиксированнаяСтруктура") или ТипКоллекции = Тип("ФиксированноеСоответствие") Тогда - Для каждого КлючЗначение Из Коллекция Цикл - Нашли = КлючЗначение.Значение = Элемент; - Если Нашли Тогда - Прервать; - КонецЕсли; +Функция СформироватьСтрокуПараметров(Знач Параметры) + СтрокаПараметров = ""; + Если ТипЗнч(Параметры) = Тип("Массив") Тогда + Для Сч = 0 По Параметры.Количество() - 1 Цикл + СтрокаПараметров = СтрокаПараметров + ",Параметры[" + Формат(Сч, "ЧН=0; ЧГ=") + "]"; КонецЦикла; - ИначеЕсли ТипКоллекции = Тип("СписокЗначений") Тогда - Нашли = Коллекция.НайтиПоЗначению(Элемент) <> Неопределено; - КонецЕсли; - Если Нашли = Неопределено Тогда - СообщениеОшибки = "Утверждение ""ПроверитьВхождениеВКоллекцию"" не умеет работать с типом коллекции <"+ТипКоллекции+">." + ФорматДСО(ДопСообщениеОшибки); - ВызватьИсключение СообщениеОшибки; КонецЕсли; - Если Не Нашли Тогда - СообщениеОшибки = "Не нашли элемент <"+Элемент+"> в коллекции, а хотели, чтобы он был в коллекции." + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры + + Возврат Сред(СтрокаПараметров, 2); +КонецФункции -Процедура ПроверитьВалидностьЗапросаСКД(ТекстЗапроса, ДопСообщениеОшибки = "") Экспорт +Функция ЕстьОшибка_МетодОбъектаНеОбнаружен(Знач ТекстОшибки, Знач ИмяМетода) + Результат = Ложь; + Если Найти(текстОшибки, "Метод объекта не обнаружен (" + ИмяМетода + ")") > 0 + ИЛИ Найти(текстОшибки, "Object method not found (" + ИмяМетода + ")") > 0 Тогда + Результат = Истина; + КонецЕсли; - СхемаКомпоновкиДанных = Новый СхемаКомпоновкиДанных; + Возврат Результат; +КонецФункции + +Функция ЭтоОшибкаПроверки(ТекстОшибки) - ИсточникДанных = СхемаКомпоновкиДанных.ИсточникиДанных.Добавить(); - ИсточникДанных.Имя = "ИсточникДанных"; - ИсточникДанных.СтрокаСоединения = ""; - ИсточникДанных.ТипИсточникаДанных = "Local"; + Возврат Найти(ТекстОшибки, "["+ СтатусыРезультатаТестирования.ОшибкаПроверки + "]") = 1; - НаборДанных = СхемаКомпоновкиДанных.НаборыДанных.Добавить(Тип("НаборДанныхЗапросСхемыКомпоновкиДанных")); - НаборДанных.Имя = "НаборДанных"; - НаборДанных.ИсточникДанных = "ИсточникДанных"; - НаборДанных.АвтоЗаполнениеДоступныхПолей = Истина; - НаборДанных.Запрос = ТекстЗапроса; +КонецФункции + +Функция ЭтоПропущенныйТест(ТекстОшибки) - КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных; - Попытка - КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); - Исключение - СообщениеОшибки = ОписаниеОшибки() + "." + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецПопытки; + Возврат Найти(ТекстОшибки, "["+ СтатусыРезультатаТестирования.ТестПропущен + "]") > 0; -КонецПроцедуры // ПроверитьВалидностьЗапросаСКД() - -Процедура ПроверитьНаличиеОбъектаИБ(ссылка, ДопСообщениеОшибки = "") Экспорт - Если Не ЗначениеЗаполнено(ссылка) Тогда - СообщениеОшибки = "Ожидали заполненность ссылки, а получили пустую ссылку." + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; - лОбъект = ссылка.ПолучитьОбъект(); - Если лОбъект = Неопределено Тогда - СообщениеОшибки = "Ожидали существование объекта в ИБ, а получили объект не найден <" + ссылка + "> ." + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры +КонецФункции -// Проеряет равенство файлов -// Параметры: -// ПутьФайла1, ПутьФайла2 - полные пути к фалйам -// ПарамСравнениеФайлов - структура с ключами: -// ИгнорироватьПустоеПространство -// СпособСравнения -// УчитыватьРазделителиСтрок -// УчитыватьРегистр -// ПоказатьРазличия - в случае ошибки появляется окно сравнеия (для отладки) -Процедура ПроверитьРавенствоФайлов(ПутьФайла1, ПутьФайла2, ДопСообщениеОшибки = "", ПарамСравнениеФайлов = Неопределено, ПоказатьРазличия = Ложь) Экспорт -#Если ТолстыйКлиентОбычноеПриложение или ТолстыйКлиентУправляемоеПриложение Тогда - Если ПарамСравнениеФайлов = Неопределено Тогда - ПарамСравнениеФайлов = Новый Структура; - КонецЕсли; - СравнениеФайлов = Новый СравнениеФайлов; - СравнениеФайлов.ПервыйФайл = ПутьФайла1; - СравнениеФайлов.ВторойФайл = ПутьФайла2; - Если Не ПарамСравнениеФайлов.Свойство("СпособСравнения") Тогда - Файл = Новый Файл(ПутьФайла1); - ТипФайла = НРег(Файл.Расширение); - ТекстовыеТипы = ".txt,.xml"; - Если ТипФайла = ".mxl" Тогда - ПарамСравнениеФайлов.Вставить("СпособСравнения", СпособСравненияФайлов.ТабличныйДокумент); - ИначеЕсли Найти(ТекстовыеТипы, ТипФайла) > 0 Тогда - ПарамСравнениеФайлов.Вставить("СпособСравнения", СпособСравненияФайлов.ТекстовыйДокумент); - КонецЕсли; - КонецЕсли; - ЗаполнитьЗначенияСвойств(СравнениеФайлов, ПарамСравнениеФайлов); - ФайлыИдентичны = СравнениеФайлов.Сравнить(); - Если Не ФайлыИдентичны Тогда - Если ПоказатьРазличия Тогда // для удобства отладки и расследования ошибок - СравнениеФайлов.ПоказатьРазличия(); - КонецЕсли; - СообщениеОшибки = "Ожидали идентичность файлов, а получили, что они различны." + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -#Иначе - ВызватьИсключение "Утверждение ПроверитьРавенствоФайлов можно использовать только в толстом клиенте!"; -#КонецЕсли -КонецПроцедуры +// } Выполнение тестов +// { Генерация результатов тестирования +Функция СостоянияТестов() + СостоянияТестов = Новый Структура; + СостоянияТестов.Вставить("НеВыполнен", 0); + СостоянияТестов.Вставить("Пройден", 1); + СостоянияТестов.Вставить("НеРеализован", 2); + СостоянияТестов.Вставить("Сломан", 3); + СостоянияТестов.Вставить("НеизвестнаяОшибка", 4); + + Возврат Новый ФиксированнаяСтруктура(СостоянияТестов); +КонецФункции -Процедура ПроверитьРавенствоТаблиц(Таб1, Таб2, ДопСообщениеОшибки = "") Экспорт +Функция СтатусыРезультатаТестирования() + СтатусыРезультатаТестирования = Новый Структура; + СтатусыРезультатаТестирования.Вставить("ОшибкаПроверки", "Failed"); + СтатусыРезультатаТестирования.Вставить("НеизвестнаяОшибка", "Broken"); + СтатусыРезультатаТестирования.Вставить("ТестПропущен", "Pending"); - Если ТипЗнч(Таб1) <> Тип("ТаблицаЗначений") Тогда - ВызватьИсключение "ПроверитьРавенствоТаблиц: Первый параметр-таблица таблицей не является"; - КонецЕсли; - Если ТипЗнч(Таб1) <> Тип("ТаблицаЗначений") Тогда - ВызватьИсключение "ПроверитьРавенствоТаблиц: Второй параметр-таблица таблицей не является"; - КонецЕсли; + Возврат Новый ФиксированнаяСтруктура(СтатусыРезультатаТестирования); +КонецФункции + +Функция СоздатьКонтейнерРезультатовТестирования(Знач КонтейнерДереваТестов) + ГруппаРезультатовТестирования = Новый Структура; + ГруппаРезультатовТестирования.Вставить("Ключ", КонтейнерДереваТестов.Ключ); + ГруппаРезультатовТестирования.Вставить("Тип", КонтейнерДереваТестов.Тип); + ГруппаРезультатовТестирования.Вставить("Имя", КонтейнерДереваТестов.Имя); + ГруппаРезультатовТестирования.Вставить("Состояние", СостоянияТестов.НеВыполнен); + ГруппаРезультатовТестирования.Вставить("КоличествоТестов", 0); + ГруппаРезультатовТестирования.Вставить("КоличествоСломанныхТестов", 0); + ГруппаРезультатовТестирования.Вставить("КоличествоНеРеализованныхТестов", 0); + ГруппаРезультатовТестирования.Вставить("КоличествоОшибочныхТестов", 0); + ГруппаРезультатовТестирования.Вставить("ВремяВыполнения", 0); + ГруппаРезультатовТестирования.Вставить("Строки", Новый Массив); - Различия = Новый ТаблицаЗначений; - РезультатСравнения = СравнитьТаблицы(Таб1, Таб2, Различия); + Возврат ГруппаРезультатовТестирования; +КонецФункции + +Функция СоздатьЭлементРезультатовТестирования(Знач ЭлементДереваТестов) + РезультатТестирования = Новый Структура; + РезультатТестирования.Вставить("Ключ", ЭлементДереваТестов.Ключ); + РезультатТестирования.Вставить("Тип", ЭлементДереваТестов.Тип); + РезультатТестирования.Вставить("Путь", ЭлементДереваТестов.Путь); + РезультатТестирования.Вставить("ИмяМетода", ЭлементДереваТестов.ИмяМетода); + РезультатТестирования.Вставить("Представление", ЭлементДереваТестов.Представление); + РезультатТестирования.Вставить("Параметры", ЭлементДереваТестов.Параметры); + РезультатТестирования.Вставить("Состояние", СостоянияТестов.НеВыполнен); + РезультатТестирования.Вставить("ВремяВыполнения", 0); + РезультатТестирования.Вставить("Сообщение", ""); - Если РезультатыСравненияТаблиц.ТаблицыСовпадают <> РезультатСравнения Тогда - - ИменаРезультатов = Новый Соответствие; - Для Каждого КлючЗначение Из РезультатыСравненияТаблиц Цикл - ИменаРезультатов.Вставить(КлючЗначение.Значение, КлючЗначение.Ключ); - КонецЦикла; - СтрокаОшибок = "Различия в таблицах:" + Символы.ПС; - СтрокаОшибок = СтрокаОшибок + "Ожидали статус <" + ИменаРезультатов[РезультатыСравненияТаблиц.ТаблицыСовпадают] + ">, а получили <" + ИменаРезультатов[РезультатСравнения] + ">" + Символы.ПС; - Для Каждого Строка Из Различия Цикл - СтрокаОшибок = СтрокаОшибок + "Значение [" + Строка.Колонка + ":" + Строка.Строка + "]. Ожидали <" + Строка.Ожидание + ">, а получили <" + Строка.Результат + ">" + Символы.ПС; + Возврат РезультатТестирования; +КонецФункции +// } Генерация результатов тестирования + +// { Настройки браузера тестирования +Процедура ЗагрузитьНастройки() Экспорт + ЭтотОбъект.Настройки = ПолучитьПустыеНастройкиБраузераТестирования(); + СчитанныеНастройки = ХранилищеОбщихНастроек.Загрузить(Метаданные().Имя); + Если ТипЗнч(СчитанныеНастройки) = Тип("Структура") Тогда + Для каждого СчитанныеКлючЗначение Из СчитанныеНастройки Цикл + Если ЭтотОбъект.Настройки.Свойство(СчитанныеКлючЗначение.Ключ) И ТипЗнч(СчитанныеКлючЗначение.Значение) = ТипЗнч(ЭтотОбъект.Настройки[СчитанныеКлючЗначение.Ключ]) Тогда + ЭтотОбъект.Настройки[СчитанныеКлючЗначение.Ключ] = СчитанныеКлючЗначение.Значение; + КонецЕсли; КонецЦикла; - - ВызватьОшибкуПроверки("Таблицы должны совпадать, а они различны" + Символы.ПС + СтрокаОшибок + Символы.ПС + ДопСообщениеОшибки); - КонецЕсли; - КонецПроцедуры -Процедура ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки = Ложь, УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки = Ложь, Знач ДопСообщениеОшибки = "") Экспорт - - Если ТипЗнч(ТабДок1) <> Тип("ТабличныйДокумент") Тогда - ВызватьИсключение "ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям: Первый параметр-таблица не является табличным документов"; - КонецЕсли; - Если ТипЗнч(ТабДок2) <> Тип("ТабличныйДокумент") Тогда - ВызватьИсключение "ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям: Второй параметр-таблица не является табличным документов"; - КонецЕсли; - - УчитыватьТолькоВидимыеКолонки = Ложь; - Если ТипЗнч(УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки) = Тип("Булево") Тогда - УчитыватьТолькоВидимыеКолонки = УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки; - ИначеЕсли ТипЗнч(УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки) = Тип("Строка") Тогда - ДопСообщениеОшибки = УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки; - КонецЕсли; - УчитыватьТолькоВидимыеСтроки = Ложь; - Если ТипЗнч(УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки) = Тип("Булево") Тогда - УчитыватьТолькоВидимыеСтроки = УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки; - ИначеЕсли ТипЗнч(УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки) = Тип("Строка") Тогда - ДопСообщениеОшибки = УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки; - КонецЕсли; +Процедура СохранитьНастройки() Экспорт + ХранилищеОбщихНастроек.Сохранить(Метаданные().Имя, , ЭтотОбъект.Настройки); +КонецПроцедуры + +Функция ПолучитьПустыеНастройкиБраузераТестирования() + Результат = Новый Структура; + Результат.Вставить("ИсторияЗагрузкиТестов", Новый Массив); - Таб1 = ПолучитьТаблицуЗначенийИзТабличногоДокумента(ТабДок1, УчитыватьТолькоВидимыеКолонки, УчитыватьТолькоВидимыеСтроки); - Таб2 = ПолучитьТаблицуЗначенийИзТабличногоДокумента(ТабДок2, УчитыватьТолькоВидимыеКолонки, УчитыватьТолькоВидимыеСтроки); + Возврат Результат; +КонецФункции + +Процедура СохранитьВИсториюЗагрузкиТестов(Знач ИдентификаторЗагрузчика, Знач Путь) Экспорт + ИсторияЗагрузкиТестов = ЭтотОбъект.Настройки.ИсторияЗагрузкиТестов; + Для Сч = - ИсторияЗагрузкиТестов.Количество() + 1 По 0 Цикл + Индекс = -Сч; + ЭлементИстории = ИсторияЗагрузкиТестов[Индекс]; + Если ЭлементИстории.ИдентификаторЗагрузчика = ИдентификаторЗагрузчика И ЭлементИстории.Путь = Путь Тогда + ИсторияЗагрузкиТестов.Удалить(Индекс); + КонецЕсли; + КонецЦикла; - ПроверитьРавенствоТаблиц(Таб1, Таб2, ДопСообщениеОшибки); + ИсторияЗагрузкиТестов.Вставить(0, Новый Структура("ИдентификаторЗагрузчика, Путь", ИдентификаторЗагрузчика, Путь)); + ДлинаИстории = 10; + Пока ИсторияЗагрузкиТестов.Количество() > ДлинаИстории Цикл + ИсторияЗагрузкиТестов.Удалить(ДлинаИстории); + КонецЦикла; +КонецПроцедуры +// } Настройки браузера тестирования + +// { Оповещения +Функция ВозможныеСобытия() Экспорт + ИмяФреймворка = Метаданные().Имя; + ВозможныеСобытия = Новый Структура; + ВозможныеСобытия.Вставить("ВыполненТестовыйМетод", ИмяФреймворка + "_ВыполненТестовыйМетод"); + Возврат Новый ФиксированнаяСтруктура(ВозможныеСобытия); +КонецФункции + +Процедура ОповеститьОСобытии(Знач Подписчик, Знач Событие, Знач ПараметрыСобытия) + Выполнить("Подписчик.ОбработатьСобытиеВыполненияТестов(Событие, ПараметрыСобытия);"); +КонецПроцедуры +// } Оповещения + +// { Контекст +Процедура СохранитьКонтекст(Знач Контекст) Экспорт + Если ЭтотОбъект.ТекущийКонтейнер.СлучайныйПорядокВыполнения Тогда + ВызватьИсключение ЭтотОбъект.ВозможныеИсключения.СохранятьКонтекстТолькоВСтрогомРежиме; + КонецЕсли; + ЭтотОбъект.ТекущийКонтейнер.Контекст = Контекст; КонецПроцедуры -Процедура ВызватьОшибкуПроверки(СообщениеОшибки) +Функция ПолучитьКонтекст() Экспорт + Если ЭтотОбъект.ТекущийКонтейнер.СлучайныйПорядокВыполнения Тогда + ВызватьИсключение ЭтотОбъект.ВозможныеИсключения.ПолучатьКонтекстТолькоВСтрогомРежиме; + КонецЕсли; + Возврат ЭтотОбъект.ТекущийКонтейнер.Контекст; +КонецФункции +// } Контекст + +Процедура ВызватьОшибкуПроверки(СообщениеОшибки = "") Экспорт Префикс = "["+ СтатусыРезультатаТестирования.ОшибкаПроверки + "]"; ВызватьИсключение Префикс + " " + СообщениеОшибки; @@ -459,3622 +403,90 @@ КонецПроцедуры -// портирован из Functest -Функция ПолучитьТаблицуЗначенийИзТабличногоДокумента(ТабличныйДокумент, УчитыватьТолькоВидимыеКолонки = Ложь, УчитыватьТолькоВидимыеСтроки = Ложь) - - ТипТабличногоДокумента = ТипЗнч(ТабличныйДокумент); - Если ТипТабличногоДокумента <> Тип("ТабличныйДокумент") И ТипТабличногоДокумента <> Тип("ПолеТабличногоДокумента") Тогда - ВызватьИсключение "ПолучитьТаблицуЗначенийИзТабличногоДокумента: Требуется тип ТабличныйДокумент или ПолеТабличногоДокумента"; - КонецЕсли; +// Выводит сообщение. В тестах ВСЕГДА должна использоваться ВМЕСТО метода Сообщить(). +// +Функция ВывестиСообщение(ТекстСообщения, Статус=Неопределено) Экспорт - НомерПоследнейКолонки = ТабличныйДокумент.ШиринаТаблицы; - НомерПоследнейСтроки = ТабличныйДокумент.ВысотаТаблицы; + Сообщить(ТекстСообщения, Статус); - НоваяТаблицаЗначений = Новый ТаблицаЗначений; - Колонки = НоваяТаблицаЗначений.Колонки; - ТипСтрока = Новый ОписаниеТипов("Строка"); +КонецФункции + +// { Helpers +Функция ВозможныеИсключения() + ВозможныеИсключения = Новый Структура; + ВозможныеИсключения.Вставить("СохранятьКонтекстТолькоВСтрогомРежиме", "Сохранять контекст можно только в рамках контейнеров со строгим порядком выполнения"); + ВозможныеИсключения.Вставить("ПолучатьКонтекстТолькоВСтрогомРежиме", "Получать контекст можно только в рамках контейнеров со строгим порядком выполнения"); - // TODO При определении видимости не учитывается наличие нескольких форматов строк, сейчас видимоcть колонки определяется по формату первой строки - УчитываемыеКолонки = Новый Массив; - Для НомерКолонки = 1 По НомерПоследнейКолонки Цикл - ОбластьКолонки = ТабличныйДокумент.Область(0, НомерКолонки, 1, НомерКолонки); - - УчитыватьКолонку = Не УчитыватьТолькоВидимыеКолонки Или ОбластьКолонки.Видимость; - Если УчитыватьКолонку Тогда - УчитываемыеКолонки.Добавить(НомерКолонки); - ШиринаКолонки = ОбластьКолонки.ШиринаКолонки; - Если ШиринаКолонки <= 1 Тогда - ШиринаКолонки = 1; - КонецЕсли; - ИмяКолонки = "К" + Формат(Колонки.Количество() + 1, "ЧН=; ЧГ=0"); - Колонки.Добавить(ИмяКолонки, ТипСтрока, ИмяКолонки, ШиринаКолонки); - КонецЕсли; + Возврат Новый ФиксированнаяСтруктура(ВозможныеИсключения); +КонецФункции + +Функция ПеремешатьМассив(Знач ИсходныйМассив) + Результат = Новый Массив; + Для Каждого Элемент Из ИсходныйМассив Цикл + Результат.Добавить(Элемент); КонецЦикла; - ГраницаКолонок = УчитываемыеКолонки.ВГраница(); - Для НомерСтроки = 1 По НомерПоследнейСтроки Цикл - - Если УчитыватьТолькоВидимыеСтроки И Не ТабличныйДокумент.Область(НомерСтроки,, НомерСтроки).Видимость Тогда - Продолжить; + // алгоритм перемешивания взят из книги Кнута "Искусство программирования" т.2 + ГСЧ = Новый ГенераторСлучайныхЧисел(); + ПоследнийИндекс = Результат.ВГраница(); + Для Индекс = 1 По ПоследнийИндекс Цикл + ТекущийИндекс = ПоследнийИндекс - Индекс + 1; + НовыйИндекс = ГСЧ.СлучайноеЧисло(0, ТекущийИндекс); + Если НовыйИндекс <> ТекущийИндекс Тогда + Значение = Результат[НовыйИндекс]; + Результат[НовыйИндекс] = Результат[ТекущийИндекс]; + Результат[ТекущийИндекс] = Значение; КонецЕсли; - - НоваяСтрока = НоваяТаблицаЗначений.Добавить(); - - Для Индекс = 0 По ГраницаКолонок Цикл - НомерКолонки = УчитываемыеКолонки[Индекс]; - Область = ТабличныйДокумент.Область(НомерСтроки, НомерКолонки, НомерСтроки, НомерКолонки); - НоваяСтрока[Индекс] = Область.Текст; - КонецЦикла; КонецЦикла; - Возврат НоваяТаблицаЗначений; - -КонецФункции - -//} - -//{ МЕТОДЫ ДЛЯ ИСПОЛЬЗОВАНИЯ ИЗ ОБРАБОТОК ТЕСТИРОВАНИЯ - -Функция ПолучитьКонтекст(Знач ИдентификаторКонтекста = Неопределено) Экспорт - Перем Контекст; - - Если ИдентификаторКонтекста = Неопределено Тогда - ИдентификаторКонтекста = ИдентификаторПустогоКонтекста(); - КонецЕсли; - - Если Не ЗначениеЗаполнено(ЭтотОбъект.Мир) Или Не ЭтотОбъект.Мир.Свойство(ИдентификаторКонтекста, Контекст) Тогда - ТекстОшибки = СтрЗаменить(НСтр("ru = 'Отсутствует запрашиваемый контекст%1.'"), "%1", ?(ИдентификаторКонтекста = ИдентификаторПустогоКонтекста(), "", " (" + ИдентификаторКонтекста + ")")); - ВызватьИсключение ТекстОшибки; - КонецЕсли; - - Возврат Контекст; - + Возврат Результат; КонецФункции -Процедура УстановитьКонтекст(Контекст, Знач ИдентификаторКонтекста = Неопределено) Экспорт - - Если Не ЗначениеЗаполнено(ЭтотОбъект.Мир) Тогда - ЭтотОбъект.Мир = Новый Структура; - КонецЕсли; - - Если ИдентификаторКонтекста = Неопределено Тогда - ИдентификаторКонтекста = ИдентификаторПустогоКонтекста(); - КонецЕсли; +Функция НайтиРезультатТестированияПоИдентификатору(Знач КонтейнерРезультатовТестирования, Знач ИдентификаторТеста, Знач ВключатьПодчиненные = Ложь) Экспорт + Перем Результат; - ЭтотОбъект.Мир.Вставить(ИдентификаторКонтекста, Контекст); + Для каждого ДочернийРезультатТестирования Из КонтейнерРезультатовТестирования.Строки Цикл + Если ДочернийРезультатТестирования.Ключ = ИдентификаторТеста Тогда + Результат = ДочернийРезультатТестирования; + ИначеЕсли ЗначениеЗаполнено(Результат) И ВключатьПодчиненные И ДочернийРезультатТестирования.Тип = ЭтотОбъект.ТипыУзловДереваТестов.Контейнер Тогда + Результат = НайтиРезультатТестированияПоИдентификатору(ДочернийРезультатТестирования, ИдентификаторТеста, ВключатьПодчиненные); + КонецЕсли; + Если ЗначениеЗаполнено(Результат) Тогда + Прервать; + КонецЕсли; + КонецЦикла; -КонецПроцедуры - -// Создает новый набор тестов. -// -Функция Новый_НаборТестов() Экспорт - Возврат Новый Массив; + Возврат Результат; КонецФункции -// Добавляет новый тестовый случай в набор. -// -Функция НаборТестов_Добавить(НаборТестов, ИмяТестовогоСлучая, П1=Неопределено, П2=Неопределено, П3=Неопределено, П4=Неопределено, П5=Неопределено, П6=Неопределено, П7=Неопределено) Экспорт +Функция ПараметрыМетода(Знач Парам1, Знач Парам2 = Неопределено, Знач Парам3 = Неопределено, Знач Парам4 = Неопределено, Знач Парам5 = Неопределено, Знач Парам6 = Неопределено, Знач Парам7 = Неопределено, Знач Парам8 = Неопределено, Знач Парам9 = Неопределено) Экспорт + ВсеПараметры = Новый Массив; + ВсеПараметры.Добавить(Парам1); + ВсеПараметры.Добавить(Парам2); + ВсеПараметры.Добавить(Парам3); + ВсеПараметры.Добавить(Парам4); + ВсеПараметры.Добавить(Парам5); + ВсеПараметры.Добавить(Парам6); + ВсеПараметры.Добавить(Парам7); + ВсеПараметры.Добавить(Парам8); + ВсеПараметры.Добавить(Парам9); + + ИндексСПоследнимПараметром = 0; + Для Сч = 0 По ВсеПараметры.ВГраница() Цикл + Индекс = ВсеПараметры.ВГраница() - Сч; + Если ВсеПараметры[Индекс] <> Неопределено Тогда + ИндексСПоследнимПараметром = Индекс; + Прервать; + КонецЕсли; + КонецЦикла; - НаборТестов.Добавить(ИмяТестовогоСлучая); - Возврат НаборТестов; + ПараметрыМетода = Новый Массив; + Для Сч = 0 По ИндексСПоследнимПараметром Цикл + ПараметрыМетода.Добавить(ВсеПараметры[Сч]); + КонецЦикла; + Возврат ПараметрыМетода; КонецФункции +// } Helpers -// Выводит сообщение. В тестах ВСЕГДА должна использоваться ВМЕСТО метода Сообщить(). -// -Функция ВывестиСообщение(ТекстСообщения, Статус=Неопределено) Экспорт - - Если mMiddleMan <> Неопределено Тогда - Если НЕ ОповеститьОСобытии("Message", ТекстСообщения) Тогда - ОповеститьОСобытии("ВывестиСообщение", ТекстСообщения); - КонецЕсли; - Иначе - Если ВыводЛогаВФорматеTeamCity Тогда - ТекстСообщения = СтрЗаменить(ТекстСообщения,"|","||"); - ТекстСообщения = СтрЗаменить(ТекстСообщения,"'","|'"); - ТекстСообщения = СтрЗаменить(ТекстСообщения,"[","|["); - ТекстСообщения = СтрЗаменить(ТекстСообщения,"]","|]"); - ТекстСообщения = СтрЗаменить(ТекстСообщения,Символы.ВК,"|r"); - ТекстСообщения = СтрЗаменить(ТекстСообщения,Символы.ПС,"|n"); - - СтатусДляTeamCity = ?(Статус = Неопределено, СтатусСообщения.Обычное, Статус); - Сообщить("##teamcity[message text='"+ТекстСообщения+"' errorDetails='' status='"+мСоответствиеСтатусовДляTeamCity[СтатусДляTeamCity]+"']"); - Иначе - Сообщить(ТекстСообщения, Статус); - КонецЕсли; - КонецЕсли; - -КонецФункции - -// Вызывает исключение с заданным текстом ошибки для прерывания выполнения тестового случая. -// -Функция ПрерватьТест(ТекстОшибки) Экспорт - - ВызватьИсключение ТекстОшибки; - -КонецФункции - -// создается копия данных текущего теста - структура "Имя, ПолныйПуть, СостояниеТеста" -Функция ДанныеТекущегоТеста() Экспорт - Результат = СоздатьПустуюСтруктуруСостоянияТекущегоТеста(); - - ДанныеТекущегоТеста = ПолучитьКонтекст("xUnitFor1C_ДанныеТекущегоТеста"); - Если Не ЗначениеЗаполнено(ДанныеТекущегоТеста) Тогда - ВызватьИсключение "Нельзя получить данные текущего теста вне режима тестирования"; - КонецЕсли; - - ЗаполнитьЗначенияСвойств(Результат, ДанныеТекущегоТеста); - Возврат Результат; -КонецФункции - -//} - -//{ ВНЕШНЕЕ API (для использования из скрипта Снегопата или из COM-подключения). - -Функция OpenBrowserForm() Экспорт - Перем НоваяФорма; - //#Если ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда - #Если ТолстыйКлиентОбычноеПриложение Тогда - НоваяФорма = ЭтотОбъект.ПолучитьФорму("Форма"); - НоваяФорма.Открыть(); - #ИначеЕсли НаКлиенте Тогда - Если ЭтоВстроеннаяОбработка Тогда - НоваяФорма = ОткрытьФорму("Обработка." + Метаданные().Имя + ".Форма.УправляемаяФорма"); - Иначе - НоваяФорма = ОткрытьФорму("ВнешняяОбработка." + Метаданные().Имя + ".Форма.УправляемаяФорма"); - КонецЕсли; - #КонецЕсли - Возврат НоваяФорма; -КонецФункции - -// Устанавливает объект-прокси, который будет получать сообщения -// о ходе загрузки и выполнения тестов, сообщения, выводимые при -// выполнении тестов. Для использования в скрипте для Снегопата. -// -Функция SetHandlerObject(obj) Экспорт - mMiddleMan = obj; -КонецФункции - -// Загружает все тесты из каталога в дерево тестов. -// -Функция LoadAllTests(ПутьККаталогу) Экспорт - - ДеревоТестов.Строки.Очистить(); - - ЗагрузитьТесты(ДеревоТестов, Новый Файл(ПутьККаталогу)); - -КонецФункции - -// Загружает отдельную обработку тестирования в дерево тестов. -// -Функция LoadTest(ПутьКФайлуТеста) Экспорт - - ДеревоТестов.Строки.Очистить(); - - ЗагрузитьТесты(ДеревоТестов, Новый Файл(ПутьКФайлуТеста)); - -КонецФункции - -// Выполняет все тесты, загруженные в дерево тестов. -// -Функция RunAllTests() Экспорт - - #Если Клиент Тогда - ОчиститьСообщения(); - #КонецЕсли - - ПодчиненныеСтроки = ПодчиненныеСтроки(ДеревоТестов); - - Если СлучайныйПорядокВыполнения Тогда - СтрокиДерева = ПолучитьСтрокиДереваВСлучайномПорядке(ПодчиненныеСтроки); - Иначе - СтрокиДерева = ПолучитьТолькоТестовыеМетодыИзДерева(ПодчиненныеСтроки); - КонецЕсли; - - результат = ВыполнитьТесты(СтрокиДерева); - Возврат результат; -КонецФункции - -// Запускает отдельный тест из дерева тестов. -// -Функция RunTest(TestRow) Экспорт - - #Если Клиент Тогда - ОчиститьСообщения(); - #КонецЕсли - - ЗапускаемыеТесты = Новый Массив; - ЗапускаемыеТесты.Добавить(TestRow); - результат = ВыполнитьТесты(ЗапускаемыеТесты); - Возврат результат; - -КонецФункции - -Функция ПолучитьСтрокиДереваВСлучайномПорядке(ИсходныеСтрокиДерева) Экспорт - Отбор = Новый Структура("РазрешенСлучайныйПорядокВыполнения", Ложь); - МассивСтрокДерева = ПолучитьТолькоТестовыеМетодыИзДерева(ИсходныеСтрокиДерева, Отбор); - - Отбор = Новый Структура("РазрешенСлучайныйПорядокВыполнения", Истина); - МассивСтрокДереваДляСлучайногоВыполнения = ПолучитьТолькоТестовыеМетодыИзДерева(ИсходныеСтрокиДерева, Отбор); - - ПеремешанныеСтрокиДерева = ПеремешатьМассив(МассивСтрокДереваДляСлучайногоВыполнения); - Для каждого Элем Из ПеремешанныеСтрокиДерева Цикл - МассивСтрокДерева.Добавить(Элем); - КонецЦикла; - - Возврат МассивСтрокДерева; -КонецФункции - -// Рекурсивно из строк дерева тестов запоминает в соответствии в качестве ключа -// только те строки дерева тестов, которые являются тестовыми случаями. -// Возвращает созданное и заполненное тестовыми случаями соответствие. -// -Функция ПолучитьТолькоТестовыеМетодыИзДерева(ПодчиненныеСтрокиДереваТестов, Отбор = Неопределено, МассивДляДобавления = Неопределено) Экспорт - Если МассивДляДобавления=Неопределено Тогда - МассивДляДобавления = Новый Массив; - КонецЕсли; - - Если Не ЗначениеЗаполнено(Отбор) Тогда - Отбор = Новый Структура; - КонецЕсли; - - Отбор.Вставить("ТипСтроки", мЗначенияТиповСтроки.ТестовыйМетод); - ОтобранныеСтроки = НайтиСтроки(ПодчиненныеСтрокиДереваТестов, Отбор); - - Для Каждого ТестовыйМетод Из ОтобранныеСтроки Цикл - Если МассивДляДобавления.Найти(ТестовыйМетод) = Неопределено Тогда - МассивДляДобавления.Добавить(ТестовыйМетод); - КонецЕсли; - КонецЦикла; - - Для Каждого СтрокаДереваТестов Из ПодчиненныеСтрокиДереваТестов Цикл - #Если Клиент Тогда - ОбработкаПрерыванияПользователя(); - #КонецЕсли - - Если СтрокаДереваТестов.ТипСтроки <> мЗначенияТиповСтроки.ТестовыйМетод Тогда - ПолучитьТолькоТестовыеМетодыИзДерева(ПодчиненныеСтроки(СтрокаДереваТестов), Отбор, МассивДляДобавления); - КонецЕсли; - - КонецЦикла; - - Возврат МассивДляДобавления; - -КонецФункции - -Функция НайтиСтроки(НаборСтрок, Отбор) - ИщемПеребором = Истина; - #Если ТолстыйКлиентОбычноеПриложение или ТолстыйКлиентУправляемоеПриложение Тогда - ИщемПеребором = ТипЗнч(НаборСтрок) = Тип("ВыделенныеСтрокиТабличногоПоля"); - #КонецЕсли - Если ИщемПеребором Тогда - Рез = Новый Массив; - Для каждого Строка Из НаборСтрок Цикл - Нашли = Истина; - Для каждого КлючЗначение Из Отбор Цикл - КлючОтбора = КлючЗначение.Ключ; - Если Строка[КлючОтбора] <> Отбор[КлючОтбора] Тогда - Нашли = Ложь; - Прервать; - КонецЕсли; - КонецЦикла; - Если Нашли Тогда - Рез.Добавить(Строка); - КонецЕсли; - КонецЦикла; - Иначе - Рез = НаборСтрок.НайтиСтроки(Отбор); - КонецЕсли; - Возврат Рез; -КонецФункции - -Функция ПеремешатьМассив(ИсходныйМассив) Экспорт - - Результат = Новый Массив; - Для Каждого Элемент Из ИсходныйМассив Цикл - Результат.Добавить(Элемент); - КонецЦикла; - - // алгоритм перемешивания взят из книги Кнута "Искусство программирования" т.2 - ГСЧ = Новый ГенераторСлучайныхЧисел(); - ПоследнийИндекс = Результат.ВГраница(); - Для Индекс = 1 По ПоследнийИндекс Цикл - ТекущийИндекс = ПоследнийИндекс - Индекс + 1; - НовыйИндекс = ГСЧ.СлучайноеЧисло(0, ТекущийИндекс); - Если НовыйИндекс <> ТекущийИндекс Тогда - Значение = Результат[НовыйИндекс]; - Результат[НовыйИндекс] = Результат[ТекущийИндекс]; - Результат[ТекущийИндекс] = Значение; - КонецЕсли; - КонецЦикла; - - Возврат Результат; - -КонецФункции - -//} - -// { Методы генерации тестовых данных - -Функция СоздатьДанныеПоМакетам(ТестОбъект, ИменаМакетов) Экспорт - МассивИменМакетов = РазложитьСтрокуВМассивПодстрок(ИменаМакетов); - МассивМакетов = Новый Массив; - Для каждого ИмяМакета Из МассивИменМакетов Цикл - МассивМакетов.Добавить(ТестОбъект.ПолучитьМакет(ИмяМакета)); - КонецЦикла; - Возврат СоздатьДанныеПоТабличномуДокументу(МассивМакетов); -КонецФункции - -Функция СоздатьДанныеПоТабличномуДокументу(ТабличныйДокументИлиМассивТабличныхДокументов, РежимыЗагрузкиИлиИмяКолонкиЗамещения = Неопределено, ИмяКолонкиЗамещения = Неопределено) Экспорт - Перем РежимыЗагрузки; - - Если ТипЗнч(РежимыЗагрузкиИлиИмяКолонкиЗамещения) = Тип("Строка") Тогда - ИмяКолонкиЗамещения = РежимыЗагрузкиИлиИмяКолонкиЗамещения; - Иначе - РежимыЗагрузки = РежимыЗагрузкиИлиИмяКолонкиЗамещения; - Если РежимыЗагрузки <> Неопределено Тогда - ТипПараметра = ТипЗнч(РежимыЗагрузки); - Если ТипПараметра <> Тип("Структура") Тогда - ВызватьИсключение ("Ожидали, что вторым параметром будет передана структура параметров для метода <СоздатьДанныеПоТабличномуДокументу>, а получили другой объект с типом <"+ТипПараметра+">"); - КонецЕсли; - КонецЕсли; - КонецЕсли; - - МассивТабличныхДокументов = Новый Массив(); - Если ТипЗнч(ТабличныйДокументИлиМассивТабличныхДокументов) = Тип("ТабличныйДокумент") Тогда - МассивТабличныхДокументов.Добавить(ТабличныйДокументИлиМассивТабличныхДокументов); - ИначеЕсли ТипЗнч(ТабличныйДокументИлиМассивТабличныхДокументов) = Тип("Массив") Тогда - МассивТабличныхДокументов = ТабличныйДокументИлиМассивТабличныхДокументов; - КонецЕсли; - Возврат СоздатьДанныеИзМакетов(МассивТабличныхДокументов, РежимыЗагрузки, ИмяКолонкиЗамещения); -КонецФункции - -// удаляет созданные элементы (Справочники, Документы, Пользователи ИБ), регистры сведений не чистит - есть тесты -Функция УдалитьСозданныеДанные(Данные) Экспорт - // обратный порядок нужен для получения правильного количества удаленных элементов, т.к Владелец.Удалить удаляет и подчиненные элементы из подчиненных справочников - массивВОбратномПорядке = Новый Массив; - Для каждого ключЗначение Из Данные Цикл - массивВОбратномПорядке.Вставить(0, КлючЗначение.Значение); - КонецЦикла; - - количествоУдаленных = 0; - Для каждого элем Из массивВОбратномПорядке Цикл - типЭлемента = ТипЗнч(элем); - Если Справочники.ТипВсеСсылки().СодержитТип(типЭлемента) Тогда - объект = элем.ПолучитьОбъект(); - Если объект <> Неопределено Тогда - Попытка - объект.Удалить(); - количествоУдаленных = количествоУдаленных + 1; - Исключение - Сообщить(ОписаниеОшибки()); - КонецПопытки; - КонецЕсли; - ИначеЕсли Документы.ТипВсеСсылки().СодержитТип(типЭлемента) Тогда - объект = элем.ПолучитьОбъект(); - Если объект <> Неопределено Тогда - Попытка - объект.Удалить(); - количествоУдаленных = количествоУдаленных + 1; - Исключение - Сообщить(ОписаниеОшибки()); - КонецПопытки; - КонецЕсли; - ИначеЕсли типЭлемента = Тип("ПользовательИнформационнойБазы") Тогда - Попытка - элем.Удалить(); - количествоУдаленных = количествоУдаленных + 1; - Исключение - Сообщить(ОписаниеОшибки()); - КонецПопытки; - КонецЕсли; - КонецЦикла; - Возврат количествоУдаленных; -КонецФункции - -Функция СоздатьДанныеИзМакетов(МассивТабличныхДокументов, РежимыЗагрузки, ИмяКолонкиЗамещения) - ПротоДанные = Новый Структура; - Для каждого ТабличныйДокумент Из МассивТабличныхДокументов Цикл - ПрочитатьДанныеИзМакета(ПротоДанные,ТабличныйДокумент,ИмяКолонкиЗамещения); - КонецЦикла; - ЗаменитьРежимыЗагрузки(ПротоДанные, РежимыЗагрузки); - Данные = СоздатьТестовыеДанныеПоПротоДанным(ПротоДанные); - Возврат Данные; -КонецФункции - -Функция ПрочитатьДанныеИзМакета(ПротоДанные,ТабличныйДокумент,ИмяКолонкиЗамещения) - - СтрокаМакета = 1; - НомерКолонкиМакета = 0; - КолонкиМакета = КолонкиМакетаДанных(); - Пока НомерКолонкиМакета<ТабличныйДокумент.ШиринаТаблицы Цикл - НомерКолонкиМакета = НомерКолонкиМакета + 1; - ИмяКолонки = ТабличныйДокумент.Область("R" + 1 + "C" + НомерКолонкиМакета).Текст; - Если Не ПустаяСтрока(ИмяКолонки) Тогда - КолонкиМакета.Вставить(ИмяКолонки,НомерКолонкиМакета); - КонецЕсли; - КонецЦикла; - - ПроверитьКолонки(КолонкиМакета,ИмяКолонкиЗамещения); - - ДействиеТекущейСтроки = Неопределено; - Пока СтрокаМакета<ТабличныйДокумент.ВысотаТаблицы Цикл - СтрокаМакета = СтрокаМакета + 1; - НомерСтроки = Формат(СтрокаМакета, "ЧГ="); - - //Если новый объект - ИмяПеременной = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.ИмяПеременной); - Если Не ПустаяСтрока(ИмяПеременной) Тогда - Если ПротоДанные.Свойство(ИмяПеременной) Тогда - ВызватьИсключение "Ошибка при создании данных из макета! Неуникальное имя переменной: ["+ИмяПеременной+"]"; - КонецЕсли; - - Тип = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.Тип); - Вид = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.Вид); - Режим = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.Режим); - Значение = ПрочитатьЗначениеДанныхСтроки(ТабличныйДокумент,НомерСтроки,КолонкиМакета,ИмяКолонкиЗамещения); - - ПротоОбъект = СоздатьСтруктуруОписанияОбъекта(); - ПротоОбъект.ИмяПеременной = ИмяПеременной; - ПротоОбъект.Тип = Тип; - ПротоОбъект.Вид = Вид; - ПротоОбъект.ИмяПредопределенного = Значение; - ПротоОбъект.ПоляОбъекта = СоздатьТаблицуОписанияПолей(); - Если Не ПустаяСтрока(Режим) Тогда - Если ПротоОбъект.Режимы.Свойство(Режим) Тогда - ПротоОбъект.Режимы[Режим] = Истина; - КонецЕсли; - КонецЕсли; - - ПротоДанные.Вставить(ИмяПеременной,ПротоОбъект); - ДействиеТекущейСтроки = "ЧитаемПоляОбъекта"; - Продолжить; - КонецЕсли; - - //Табличные части - ИмяТабЧасти = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.ТЧ); - Если Не ПустаяСтрока(ИмяТабЧасти) Тогда - Если ВРег(ИмяТабЧасти)="XDDMODS" или ВРег(ИмяТабЧасти)="XDDDATAGEN" Тогда - ДействиеТекущейСтроки = "ЧитаемРежимы"; - Продолжить; - КонецЕсли; - Если ВРег(ИмяТабЧасти)="ДОПОЛНИТЕЛЬНЫЕСВОЙСТВА" Тогда - ДействиеТекущейСтроки = "ЧитаемДопСвойства"; - Продолжить; - КонецЕсли; - Если ВРег(ИмяТабЧасти)="ОБМЕНДАННЫМИ" Тогда - ДействиеТекущейСтроки = "ЧитаемОбменДанными"; - Продолжить; - КонецЕсли; - - ТабЧасть = Неопределено; - Если Не ПротоОбъект.ТабличныеЧасти.Свойство(ИмяТабЧасти,ТабЧасть) Тогда - //Новая ТабЧасть - ОписаниеПолейТЧ = СоздатьТаблицуОписанияПолей(); - ТабЧасть = Новый Массив; - ТабЧасть.Добавить(ОписаниеПолейТЧ); - ПротоОбъект.ТабличныеЧасти.Вставить(ИмяТабЧасти,ТабЧасть); - ДействиеТекущейСтроки = "ЧитаемТабЧасть"; - Продолжить; - Иначе - //Новая строка ТабЧасти - ОписаниеПолейТЧ = СоздатьТаблицуОписанияПолей(); - ТабЧасть.Добавить(ОписаниеПолейТЧ); - ДействиеТекущейСтроки = "ЧитаемТабЧасть"; - Продолжить; - КонецЕсли; - КонецЕсли; - - //Поля объекта - Если ДействиеТекущейСтроки = "ЧитаемПоляОбъекта" Тогда - ИмяРеквизита = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент, НомерСтроки, КолонкиМакета.Реквизит); - Если Не ПустаяСтрока(ИмяРеквизита) Тогда - НовоеПолеОбъекта = ПротоОбъект.ПоляОбъекта.Добавить(); - НовоеПолеОбъекта.Имя = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.Реквизит); - НовоеПолеОбъекта.Значение = ПрочитатьЗначениеДанныхСтроки(ТабличныйДокумент,НомерСтроки,КолонкиМакета,ИмяКолонкиЗамещения); - НовоеПолеОбъекта.Режим = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.Режим); - НовоеПолеОбъекта.ДополнительныйТип = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.ДополнительныйТипЗначения); - - Ключ = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.Ключ); - Если ВРег(Ключ) = "КЛЮЧ" Тогда - ПротоОбъект.Ключи.Вставить(НовоеПолеОбъекта.Имя, НовоеПолеОбъекта.Значение); - КонецЕсли; - Продолжить; - КонецЕсли; - КонецЕсли; - - //Поля табличной части - Если ДействиеТекущейСтроки = "ЧитаемТабЧасть" Тогда - ИмяРеквизитаТЧ = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент, НомерСтроки, КолонкиМакета.Реквизит); - Если Не ПустаяСтрока(ИмяРеквизитаТЧ) Тогда - НовоеПолеТЧ = ОписаниеПолейТЧ.Добавить(); - НовоеПолеТЧ.Имя = ИмяРеквизитаТЧ; - НовоеПолеТЧ.Значение = ПрочитатьЗначениеДанныхСтроки(ТабличныйДокумент,НомерСтроки,КолонкиМакета,ИмяКолонкиЗамещения); - НовоеПолеТЧ.Режим = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.Режим); - НовоеПолеТЧ.ДополнительныйТип = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.ДополнительныйТипЗначения); - Продолжить; - КонецЕсли; - КонецЕсли; - - //Режимы объекта - Если ДействиеТекущейСтроки = "ЧитаемРежимы" Тогда - КодРежима = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.Реквизит); - Режим = ПрочитатьЗначениеДанныхСтроки(ТабличныйДокумент,НомерСтроки,КолонкиМакета,ИмяКолонкиЗамещения); - Если ВРег(КодРежима)="РЕЖИМ" Тогда - Если ПротоОбъект.Режимы.Свойство(Режим) Тогда - ПротоОбъект.Режимы[Режим] = Истина; - КонецЕсли; - КонецЕсли; - Продолжить; - КонецЕсли; - - //Дополнительные свойства - Если ДействиеТекущейСтроки = "ЧитаемДопСвойства" Тогда - ИмяДопСвойства = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент, НомерСтроки, КолонкиМакета.Реквизит); - Если Не ПустаяСтрока(ИмяДопСвойства) Тогда - НовоеПолеДопСвойств = ПротоОбъект.ДопСвойства.Добавить(); - НовоеПолеДопСвойств.Имя = ИмяДопСвойства; - НовоеПолеДопСвойств.Значение = ПрочитатьЗначениеДанныхСтроки(ТабличныйДокумент,НомерСтроки,КолонкиМакета,ИмяКолонкиЗамещения); - НовоеПолеДопСвойств.Режим = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.Режим); - НовоеПолеДопСвойств.ДополнительныйТип = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.ДополнительныйТипЗначения); - Продолжить; - КонецЕсли; - КонецЕсли; - - Если ДействиеТекущейСтроки = "ЧитаемОбменДанными" Тогда - ИмяОбменДанными = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент, НомерСтроки, КолонкиМакета.Реквизит); - Если Не ПустаяСтрока(ИмяОбменДанными) Тогда - НовоеПолеОбменаДанными = ПротоОбъект.ОбменДанными.Добавить(); - НовоеПолеОбменаДанными.Имя = ИмяОбменДанными; - НовоеПолеОбменаДанными.Значение = ПрочитатьЗначениеДанныхСтроки(ТабличныйДокумент,НомерСтроки,КолонкиМакета,ИмяКолонкиЗамещения); - НовоеПолеОбменаДанными.Режим = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.Режим); - НовоеПолеОбменаДанными.ДополнительныйТип = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.ДополнительныйТипЗначения); - Продолжить; - КонецЕсли; - КонецЕсли; - КонецЦикла; - -КонецФункции - -Функция ПроверитьКолонки(КолонкиМакета,ИмяКолонкиЗамещения) - Для каждого Колонка Из КолонкиМакета Цикл - Если Колонка.Значение = "0" Тогда - Если Колонка.Ключ = "ДополнительныйТипЗначения" или Колонка.Ключ = "Ключ" Тогда - //Это не обязательная колонка - может быть и не заполнена - Иначе - ВызватьИсключение "Неверно задан макет. Неверная колонка в первой строке. Не указана обязательная колонка с именем ["+Колонка.Ключ+"]"; - КонецЕсли; - КонецЕсли; - КонецЦикла; - Если ЗначениеЗаполнено(ИмяКолонкиЗамещения) Тогда - Если не КолонкиМакета.Свойство(ИмяКолонкиЗамещения) Тогда - ВызватьИсключение "Указанное Имя колонки замещения ["+ИмяКолонкиЗамещения+"] не существует в макете."; - КонецЕсли; - КонецЕсли; -КонецФункции - -Функция ПрочитатьЗначениеДанныхСтроки(ТабличныйДокумент,НомерСтроки,КолонкиМакета,ИмяКолонкиЗамещения) - Значение = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета.Значение); - Если ЗначениеЗаполнено(ИмяКолонкиЗамещения) Тогда - ПриоритетноеЗначение = ПрочитатьЗначениеЯчейкиМакета(ТабличныйДокумент,НомерСтроки,КолонкиМакета[ИмяКолонкиЗамещения]); - Если ЗначениеЗаполнено(ПриоритетноеЗначение) Тогда - Значение = ПриоритетноеЗначение; - КонецЕсли; - КонецЕсли; - Возврат Значение; -КонецФункции - -Функция ПрочитатьЗначениеЯчейкиМакета(Макет,НомерСтроки,НомерКолонки); - ТекстЯчейки = Неопределено; - Если НомерСтроки<> "0" И НомерКолонки <> "0" Тогда - ТекстЯчейки = Макет.Область("R" + НомерСтроки + "C" + НомерКолонки).Текст; - КонецЕсли; - Возврат ТекстЯчейки; -КонецФункции - -Функция СоздатьСтруктуруОписанияОбъекта() - СтруктураОписанияОбъекта = Новый Структура(); - СтруктураОписанияОбъекта.Вставить("Объект",Неопределено); - СтруктураОписанияОбъекта.Вставить("Тип",Неопределено); - СтруктураОписанияОбъекта.Вставить("Вид",Неопределено); - СтруктураОписанияОбъекта.Вставить("ИмяПредопределенного",Неопределено); - СтруктураОписанияОбъекта.Вставить("ИмяПеременной",Неопределено); - СтруктураОписанияОбъекта.Вставить("Режимы",СоздатьСтруктуруРежимовОбъекта()); - СтруктураОписанияОбъекта.Вставить("Ключи", новый Структура); - СтруктураОписанияОбъекта.Вставить("ПоляОбъекта",СоздатьТаблицуОписанияПолей()); - СтруктураОписанияОбъекта.Вставить("ТабличныеЧасти",Новый Структура); - СтруктураОписанияОбъекта.Вставить("ДопСвойства",СоздатьТаблицуОписанияПолей()); - СтруктураОписанияОбъекта.Вставить("ОбменДанными",СоздатьТаблицуОписанияПолей()); - Возврат СтруктураОписанияОбъекта; -КонецФункции - -Функция СоздатьСтруктуруРежимовОбъекта() - Режимы = Новый Структура; - Режимы.Вставить("Предопределенный",Ложь); - Режимы.Вставить("СоздатьПоГуид",Ложь); - Режимы.Вставить("ТолькоСоздание",Ложь); - Режимы.Вставить("Проведение",Ложь); - Режимы.Вставить("ОбменДанными",Ложь); - Режимы.Вставить("Объект",Ложь); - Режимы.Вставить("Группа",Ложь); - Режимы.Вставить("ЭтотУзел",Ложь); - Возврат Режимы; -КонецФункции - - -Функция СоздатьТаблицуОписанияПолей() - тзОписаниеПолей = Новый ТаблицаЗначений; - тзОписаниеПолей.Колонки.Добавить("Имя"); - тзОписаниеПолей.Колонки.Добавить("Значение"); - тзОписаниеПолей.Колонки.Добавить("Режим"); - тзОписаниеПолей.Колонки.Добавить("ДополнительныйТип"); - Возврат тзОписаниеПолей; -КонецФункции - -Функция МенеджерыМетаданных() - Менеджеры = Новый Структура; - Менеджеры.Вставить("ПланОбмена",ПланыОбмена); - Менеджеры.Вставить("Справочник",Справочники); - Менеджеры.Вставить("Документ",Документы); - Менеджеры.Вставить("БизнесПроцесс",БизнесПроцессы); - Менеджеры.Вставить("Задача",Задачи); - Менеджеры.Вставить("РегистрСведений",РегистрыСведений); - Менеджеры.Вставить("РегистрНакопления",РегистрыНакопления); - Менеджеры.Вставить("РегистрыБухгалтерии",РегистрыБухгалтерии); - Менеджеры.Вставить("ПланВидовХарактеристик",ПланыВидовХарактеристик); - Менеджеры.Вставить("ПользовательИБ",ПользователиИнформационнойБазы); - Возврат Новый ФиксированнаяСтруктура(Менеджеры); -КонецФункции - -Процедура ЗаменитьРежимыЗагрузки(ПротоДанные, РежимыЗагрузки) - Если ЗначениеЗаполнено(РежимыЗагрузки) Тогда - Для каждого КлючЗначение Из ПротоДанные Цикл - ПротоОбъект = КлючЗначение.Значение; - ЗаполнитьЗначенияСвойств(ПротоОбъект.Режимы, РежимыЗагрузки); - КонецЦикла; - КонецЕсли; -КонецПроцедуры - -Функция СоздатьТестовыеДанныеПоПротоДанным(ПротоДанные) - Данные = Новый Структура; - МенеджерыМетаданных = МенеджерыМетаданных(); - Для каждого ПротоОбъект из ПротоДанные Цикл - ОбъектСсылка = ПолучитьОбъект(ПротоДанные,ПротоОбъект.Значение); - Данные.Вставить(ПротоОбъект.Значение.ИмяПеременной,ОбъектСсылка); - КонецЦикла; - Возврат Данные; -КонецФункции - -Функция ПолучитьОбъект(ПротоДанные,ПротоОбъект) - ОбъектСсылка = Неопределено; - Если ПротоОбъект.Объект<>Неопределено Тогда - Возврат ПротоОбъект.Объект; - ИначеЕсли ПротоОбъект.Тип = "Справочник" Тогда - ОбъектСсылка = СоздатьОбъект_Справочник(ПротоДанные,ПротоОбъект); - - ИначеЕсли ПротоОбъект.Тип = "Документ" Тогда - ОбъектСсылка = СоздатьОбъект_Документ_или_БизнесПроцесс_или_Задача(Документы, ПротоДанные,ПротоОбъект); - - ИначеЕсли ПротоОбъект.Тип = "РегистрСведений" Тогда - ОбъектСсылка = СоздатьОбъект_Регистр(РегистрыСведений, ПротоДанные,ПротоОбъект); - ИначеЕсли ПротоОбъект.Тип = "РегистрНакопления" Тогда - ОбъектСсылка = СоздатьОбъект_Регистр(РегистрыНакопления, ПротоДанные,ПротоОбъект); - ИначеЕсли ПротоОбъект.Тип = "РегистрБухгалтерии" Тогда - ОбъектСсылка = СоздатьОбъект_Регистр(РегистрыБухгалтерии, ПротоДанные,ПротоОбъект); - - ИначеЕсли ПротоОбъект.Тип = "ПользовательИБ" Тогда - ОбъектСсылка = СоздатьОбъект_ПользовательИБ(ПротоДанные,ПротоОбъект); - - ИначеЕсли ПротоОбъект.Тип = "БизнесПроцесс" Тогда - ОбъектСсылка = СоздатьОбъект_Документ_или_БизнесПроцесс_или_Задача(БизнесПроцессы, ПротоДанные,ПротоОбъект); - ИначеЕсли ПротоОбъект.Тип = "Задача" Тогда - ОбъектСсылка = СоздатьОбъект_Документ_или_БизнесПроцесс_или_Задача(Задачи, ПротоДанные,ПротоОбъект); - ИначеЕсли ПротоОбъект.Тип = "ПланОбмена" Тогда - ОбъектСсылка = СоздатьОбъект_УзелПланаОбмена(ПротоДанные,ПротоОбъект); - КонецЕсли; - ПротоОбъект.Объект = ОбъектСсылка; - Возврат ОбъектСсылка; -КонецФункции - -Функция СоздатьОбъект_УзелПланаОбмена(ПротоДанные, ПротоОбъект) - ПланОбменаМенеджер = ПланыОбмена[ПротоОбъект.Вид]; - - //Подготовим ПротоОбъект - Объект = ПолучитьОбъектЕслиВПротоДанныеПереданаСсылка(ПланОбменаМенеджер, ПротоОбъект); - Если Объект = Неопределено И ЗначениеЗаполнено(ПротоОбъект.Ключи) Тогда - Объект = НайтиОбъектПоКлючам(ПротоОбъект, ПланОбменаМенеджер, ПротоОбъект.Ключи); - КонецЕсли; - - Если ПротоОбъект.Режимы.ТолькоСоздание И Объект <> Неопределено Тогда - Возврат ПротоОбъект.Объект; - КонецЕсли; - - //Создание узла плана обмена - Если Объект = Неопределено Тогда - Если ПротоОбъект.Режимы.ЭтотУзел Тогда - Попытка - Объект = ПланОбменаМенеджер.ЭтотУзел().ПолучитьОбъект(); - Исключение - Ошибка = ОписаниеОшибки(); - ВызватьИсключение "ПланОбмена." + ПротоОбъект.Вид + " не удалось получить узел этой ИБ." + Символы.ПС + Ошибка; - КонецПопытки; - ИначеЕсли ПротоОбъект.Режимы.СоздатьПоГуид Тогда - ВызватьИсключение "Устарело и больше не поддерживается: https://github.com/xDrivenDevelopment/xUnitFor1C/issues/332"; - Иначе - Попытка - Объект = ПланОбменаМенеджер.СоздатьУзел(); - Исключение - Ошибка = ОписаниеОшибки(); - ВызватьИсключение "ПланОбмена." + ПротоОбъект.Вид + " не удалось создать новый узел." + Символы.ПС + Ошибка; - КонецПопытки; - КонецЕсли; - - Если Объект.ЭтоНовый() Тогда - Если Не ЗначениеЗаполнено(ПротоОбъект.Объект) Тогда - ПротоОбъект.Объект = ПланОбменаМенеджер.ПолучитьСсылку(Новый УникальныйИдентификатор); - КонецЕсли; - Объект.УстановитьСсылкуНового(ПротоОбъект.Объект); - Иначе - ПротоОбъект.Объект = Объект.Ссылка; - КонецЕсли; - КонецЕсли; - - //Заполняем реквизиты узла плана обмена - НаборМдРеквизитов = НаборРеквизитовМетаданных(ПротоОбъект.Тип, Объект.Метаданные()); - Для каждого стрПоле Из ПротоОбъект.ПоляОбъекта Цикл - Объект[стрПоле.Имя] = ПолучитьЗначениеПоля(ПротоДанные, стрПоле, НаборМдРеквизитов); - КонецЦикла; - - Для каждого ТабЧасть из ПротоОбъект.ТабличныеЧасти Цикл - Для каждого СтрокаТабЧасти Из ТабЧасть.Значение Цикл - СтрокаТабЧастиОбъекта = Объект[ТабЧасть.Ключ].Добавить(); - объектМетаданныеТабличнаяЧасть = Объект.Метаданные().ТабличныеЧасти[ТабЧасть.Ключ]; - НаборМдРеквизитовТЧ = объектМетаданныеТабличнаяЧасть.Реквизиты; - Для каждого стрПоле Из СтрокаТабЧасти Цикл - СтрокаТабЧастиОбъекта[стрПоле.Имя] = ПолучитьЗначениеПоля(ПротоДанные, стрПоле, НаборМдРеквизитовТЧ); - КонецЦикла; - КонецЦикла; - КонецЦикла; - - //Служебные поля и значения - Если Не ЗначениеЗаполнено(Объект.Код) тогда - Объект.УстановитьНовыйКод(); - КонецЕсли; - - ЗаполнитьДополнительныеСвойства(Объект, ПротоДанные, ПротоОбъект); - - ПредставлениеМетаданного = "узел плана обмена"; - Результат = ЗаписатьОбъектПриНеобходимости(Объект, ПротоОбъект, ПредставлениеМетаданного, Истина); - - Возврат Результат; -КонецФункции - -Функция СоздатьОбъект_Справочник(ПротоДанные,ПротоОбъект) - СпрМенеджер = Справочники[ПротоОбъект.Вид]; - - //Подготовим ПротоОбъект - стрПолеЭтоГруппа = ПротоОбъект.ПоляОбъекта.Найти("ЭтоГруппа","Имя"); - Если стрПолеЭтоГруппа<>Неопределено Тогда - ПротоОбъект.Режимы.Группа = Булево(стрПолеЭтоГруппа.Значение); - ПротоОбъект.ПоляОбъекта.Удалить(стрПолеЭтоГруппа); - КонецЕсли; - - Объект = ПолучитьОбъектЕслиВПротоДанныеПереданаСсылка(СпрМенеджер, ПротоОбъект); - Если Объект=Неопределено И ЗначениеЗаполнено(ПротоОбъект.Ключи) Тогда - Объект = НайтиОбъектПоКлючам(ПротоОбъект, СпрМенеджер, ПротоОбъект.Ключи); - КонецЕсли; - - Если ПротоОбъект.Режимы.ТолькоСоздание И Объект<>Неопределено Тогда - Возврат ПротоОбъект.Объект; - КонецЕсли; - - //Создание объекта справочника - Если Объект=Неопределено Тогда - Если ПротоОбъект.Режимы.Предопределенный Тогда - Попытка - Объект = СпрМенеджер[ПротоОбъект.ИмяПредопределенного].ПолучитьОбъект(); - Исключение - Ошибка = ОписаниеОшибки(); - ВызватьИсключение "Справочник."+ПротоОбъект.Вид+" не удалось найти предопределенный элемент/группу ["+ПротоОбъект.ИмяПредопределенного+"]."+Символы.ПС+Ошибка; - КонецПопытки; - ИначеЕсли ПротоОбъект.Режимы.СоздатьПоГуид Тогда - ВызватьИсключение "Устарело и больше не поддерживается: https://github.com/xDrivenDevelopment/xUnitFor1C/issues/332"; - ИначеЕсли ПротоОбъект.Режимы.Группа Тогда - Попытка - Объект = СпрМенеджер.СоздатьГруппу(); - Исключение - Ошибка = ОписаниеОшибки(); - ВызватьИсключение "Справочник."+ПротоОбъект.Вид+" не удалось создать новую группу."+Символы.ПС+Ошибка; - КонецПопытки; - Иначе - Попытка - Объект = СпрМенеджер.СоздатьЭлемент(); - Исключение - Ошибка = ОписаниеОшибки(); - ВызватьИсключение "Справочник."+ПротоОбъект.Вид+" не удалось создать новый элемент."+Символы.ПС+Ошибка; - КонецПопытки; - КонецЕсли; - - Если Объект.ЭтоНовый() Тогда - Если Не ЗначениеЗаполнено(ПротоОбъект.Объект) Тогда - ПротоОбъект.Объект = СпрМенеджер.ПолучитьСсылку(Новый УникальныйИдентификатор); - КонецЕсли; - Объект.УстановитьСсылкуНового(ПротоОбъект.Объект); - Иначе - ПротоОбъект.Объект = Объект.Ссылка; - КонецЕсли; - КонецЕсли; - - //Заполняем реквизиты справочника - НаборМдРеквизитов = НаборРеквизитовМетаданных(ПротоОбъект.Тип, Объект.Метаданные()); - Для каждого стрПоле Из ПротоОбъект.ПоляОбъекта Цикл - Объект[стрПоле.Имя] = ПолучитьЗначениеПоля(ПротоДанные,стрПоле,НаборМдРеквизитов); - КонецЦикла; - - Для каждого мдТабЧасть из Объект.Метаданные().ТабличныеЧасти Цикл - ЭтоРежимГруппа = ПротоОбъект.Режимы.Группа; - Если (ЭтоРежимГруппа И мдТабЧасть.Использование<>Метаданные.СвойстваОбъектов.ИспользованиеРеквизита.ДляЭлемента) - Или (Не ЭтоРежимГруппа И мдТабЧасть.Использование<>Метаданные.СвойстваОбъектов.ИспользованиеРеквизита.ДляГруппы) Тогда - - Объект[мдТабЧасть.Имя].Очистить(); - КонецЕсли; - - КонецЦикла; - Для каждого ТабЧасть из ПротоОбъект.ТабличныеЧасти Цикл - Для каждого СтрокаТабЧасти Из ТабЧасть.Значение Цикл - СтрокаТабЧастиОбъекта = Объект[ТабЧасть.Ключ].Добавить(); - объектМетаданныеТабличнаяЧасть = Объект.Метаданные().ТабличныеЧасти[ТабЧасть.Ключ]; - НаборМдРеквизитовТЧ = объектМетаданныеТабличнаяЧасть.Реквизиты; - Для каждого стрПоле Из СтрокаТабЧасти Цикл - СтрокаТабЧастиОбъекта[стрПоле.Имя] = ПолучитьЗначениеПоля(ПротоДанные,стрПоле,НаборМдРеквизитовТЧ); - КонецЦикла; - КонецЦикла; - КонецЦикла; - - //Служебные поля и значения - Если Не ЗначениеЗаполнено(Объект.Код) тогда - Объект.УстановитьНовыйКод(); - КонецЕсли; - - ЗаполнитьОбменДанными(Объект, ПротоДанные, ПротоОбъект); - ЗаполнитьДополнительныеСвойства(Объект, ПротоДанные, ПротоОбъект); - - ПредставлениеМетаданного = "справочника"; - Результат = ЗаписатьОбъектПриНеобходимости(Объект, ПротоОбъект, ПредставлениеМетаданного, Истина); - - Возврат Результат; -КонецФункции - -Функция НайтиОбъектПоКлючам(ПротоОбъект, МенеджерОбъекта, СтруктураРеквизитовКлючей) - Рез = Неопределено; - МдОбъект = МенеджерОбъекта.ПустаяСсылка().Метаданные(); - МдПолноеИмя = МдОбъект.ПолноеИмя(); - МдРеквизиты = МдОбъект.Реквизиты; - МдСтандартныеРеквизиты = МдОбъект.СтандартныеРеквизиты; - - ТекстЗапроса = "Выбрать Первые 1 Т.Ссылка Из "+МдПолноеИмя+" КАК Т Где Истина "; - Запрос = Новый Запрос; - Для каждого КлючЗначение Из СтруктураРеквизитовКлючей Цикл - ИмяРеквизита = КлючЗначение.Ключ; - ЗначениеРеквизита = КлючЗначение.Значение; - Если МдРеквизиты.Найти(ИмяРеквизита) = Неопределено и Не ЕстьСтандартныйРеквизит(МдСтандартныеРеквизиты, ИмяРеквизита) Тогда - ВызватьИсключение "В метаданных "+МдПолноеИмя+" не найден реквизит-ключ <"+ИмяРеквизита+">. Ошибка в макете данных"; - КонецЕсли; - ТекстЗапроса = ТекстЗапроса + " И "+ИмяРеквизита+" = &"+ИмяРеквизита; - Запрос.УстановитьПараметр(ИмяРеквизита, ЗначениеРеквизита); - КонецЦикла; - Запрос.Текст = ТекстЗапроса; - Выборка = Запрос.Выполнить().Выбрать(); - Если Выборка.Следующий() Тогда - ПротоОбъект.Объект = Выборка.Ссылка; - Рез = ПротоОбъект.Объект.ПолучитьОбъект(); - КонецЕсли; - - Возврат Рез; -КонецФункции - -Функция ЕстьСтандартныйРеквизит(МдСтандартныеРеквизиты, ИмяРеквизита) - Для каждого РеквизитМд Из МдСтандартныеРеквизиты Цикл - Если РеквизитМд.Имя = ИмяРеквизита Тогда - Возврат Истина; - КонецЕсли; - КонецЦикла; - Возврат Ложь; -КонецФункции - -Функция СоздатьОбъект_Документ_или_БизнесПроцесс_или_Задача(МенеджерВсехВидов, ПротоДанные,ПротоОбъект) - ЭтоДокумент = МенеджерВсехВидов = Документы; - ЭтоБизнесПроцесс = МенеджерВсехВидов = БизнесПроцессы; - ЭтоЗадача = МенеджерВсехВидов = Задачи; - - Если ЭтоДокумент Тогда - ПредставлениеМенеджера = "Документы"; - ИначеЕсли ЭтоБизнесПроцесс Тогда - ПредставлениеМенеджера = "БизнесПроцессы"; - ИначеЕсли ЭтоЗадача Тогда - ПредставлениеМенеджера = "Задачи"; - Иначе - ВызватьИсключение "Требуется документ, бизнес-процесс или задача. Неизвестный менеджер "+ПротоОбъект.Тип+"."+ПротоОбъект.Вид+" . Переменная "+ПротоОбъект.ИмяПеременной; - КонецЕсли; - - МенеджерОбъекта = МенеджерВсехВидов[ПротоОбъект.Вид]; - Объект = ПолучитьОбъектЕслиВПротоДанныеПереданаСсылка(МенеджерОбъекта, ПротоОбъект); - Если Объект=Неопределено И ЗначениеЗаполнено(ПротоОбъект.Ключи) Тогда - Объект = НайтиОбъектПоКлючам(ПротоОбъект, МенеджерОбъекта, ПротоОбъект.Ключи); - КонецЕсли; - - Если ПротоОбъект.Режимы.ТолькоСоздание И Объект<>Неопределено Тогда - Возврат ПротоОбъект.Объект; - КонецЕсли; - - //Создание объекта - Если Объект = Неопределено Тогда - Попытка - Если ЭтоДокумент Тогда - Объект = МенеджерОбъекта.СоздатьДокумент(); - ИначеЕсли ЭтоБизнесПроцесс Тогда - Объект = МенеджерОбъекта.СоздатьБизнесПроцесс(); - ИначеЕсли ЭтоЗадача Тогда - Объект = МенеджерОбъекта.СоздатьЗадачу(); - КонецЕсли; - Исключение - Ошибка = ОписаниеОшибки(); - ВызватьИсключение ПредставлениеМенеджера+"."+ПротоОбъект.Вид+" не удалось создать новый элемент."+Символы.ПС+Ошибка; - КонецПопытки; - - //Установка ссылки - Если Объект.ЭтоНовый() Тогда - Если Не ЗначениеЗаполнено(ПротоОбъект.Объект) Тогда - ПротоОбъект.Объект = МенеджерОбъекта.ПолучитьСсылку(Новый УникальныйИдентификатор); - КонецЕсли; - Объект.УстановитьСсылкуНового(ПротоОбъект.Объект); - КонецЕсли; - КонецЕсли; - - //Заполняем реквизиты - НаборМдРеквизитов = НаборРеквизитовМетаданных(ПротоОбъект.Тип, Объект.Метаданные()); - Для каждого стрПоле Из ПротоОбъект.ПоляОбъекта Цикл - Объект[стрПоле.Имя] = ПолучитьЗначениеПоля(ПротоДанные,стрПоле,НаборМдРеквизитов); - КонецЦикла; - - Для каждого мдТабЧасть из Объект.Метаданные().ТабличныеЧасти Цикл - Объект[мдТабЧасть.Имя].Очистить(); - КонецЦикла; - Для каждого ТабЧасть из ПротоОбъект.ТабличныеЧасти Цикл - Для каждого СтрокаТабЧасти Из ТабЧасть.Значение Цикл - СтрокаТабЧастиОбъекта = Объект[ТабЧасть.Ключ].Добавить(); - объектМетаданныеТабличнаяЧасть = Объект.Метаданные().ТабличныеЧасти[ТабЧасть.Ключ]; - НаборМдРеквизитовТЧ = объектМетаданныеТабличнаяЧасть.Реквизиты; - Для каждого стрПоле Из СтрокаТабЧасти Цикл - СтрокаТабЧастиОбъекта[стрПоле.Имя] = ПолучитьЗначениеПоля(ПротоДанные,стрПоле,НаборМдРеквизитовТЧ); - КонецЦикла; - КонецЦикла; - КонецЦикла; - - //Служебные поля и значения - Если Не ЗначениеЗаполнено(Объект.Дата) Тогда - Объект.Дата = ТекущаяДата(); - КонецЕсли; - Если Не ЗначениеЗаполнено(Объект.Номер) тогда - Объект.УстановитьНовыйНомер(); - КонецЕсли; - - ЗаполнитьОбменДанными(Объект, ПротоДанные, ПротоОбъект); - ЗаполнитьДополнительныеСвойства(Объект, ПротоДанные, ПротоОбъект); - - РежимЗаписи = Неопределено; - Если ЭтоДокумент И Не ПротоОбъект.Режимы.Объект Тогда - РежимЗаписи = РежимЗаписиДокумента.Запись; - Если ПротоОбъект.Режимы.Проведение Тогда - РежимЗаписи = РежимЗаписиДокумента.Проведение; - КонецЕсли; - КонецЕсли; - Результат = ЗаписатьОбъектПриНеобходимости(Объект, ПротоОбъект, ПредставлениеМенеджера, Истина, РежимЗаписи); - - Возврат Результат; -КонецФункции - -Функция СоздатьОбъект_Регистр(МенеджерРегистра, ПротоДанные,ПротоОбъект) - ЭтоРегистрСведения = МенеджерРегистра = РегистрыСведений; - ЭтоРегистрБухгалтерии = МенеджерРегистра = РегистрыБухгалтерии; - ЭтоРегистрНакопления = МенеджерРегистра = РегистрыНакопления; - - Если ЭтоРегистрСведения Тогда - ПредставлениеМдМенеджераРегистра = "РегистрыСведения"; - ИначеЕсли ЭтоРегистрБухгалтерии Тогда - ПредставлениеМдМенеджераРегистра = "РегистрыБухгалтерии"; - ИначеЕсли ЭтоРегистрНакопления Тогда - ПредставлениеМдМенеджераРегистра = "РегистрыНакопления"; - Иначе - ВызватьИсключение "Неизвестный менеджер регистра "+ПротоОбъект.Тип+"."+ПротоОбъект.Вид+" . Переменная "+ПротоОбъект.ИмяПеременной; - КонецЕсли; - Если ЗначениеЗаполнено(ПротоОбъект.Ключи) Тогда - ВызватьИсключение "Работа с ключами для "+ПредставлениеМдМенеджераРегистра+" пока не поддерживается"; - КонецЕсли; - - //Создание объекта - ПротоНаборЗаписей = Неопределено; - Если ПротоОбъект.ТабличныеЧасти.Свойство("Запись",ПротоНаборЗаписей) Тогда - Попытка - Объект = МенеджерРегистра[ПротоОбъект.Вид].СоздатьНаборЗаписей(); - Исключение - Ошибка = ОписаниеОшибки(); - ВызватьИсключение ПредставлениеМдМенеджераРегистра+"."+ПротоОбъект.Вид+" не удалось создать новый НаборЗаписей."+Символы.ПС+Ошибка; - КонецПопытки; - - МетаданныеНабора = Объект.Метаданные(); - НаборМдРеквизитов = НаборРеквизитовМетаданных(ПротоОбъект.Тип, МетаданныеНабора); - - РегистрСведенийПодчиненРегистратору = Истина; - Если ЭтоРегистрСведения Тогда - РегистрСведенийПодчиненРегистратору = МетаданныеНабора.РежимЗаписи = Метаданные.СвойстваОбъектов.РежимЗаписиРегистра.ПодчинениеРегистратору; - - ИначеЕсли ЭтоРегистрБухгалтерии Тогда - НаборВидовСубконто = Новый Структура; - - ПостфиксыСчетов = Новый Массив; - Если МетаданныеНабора.Корреспонденция Тогда - ПостфиксыСчетов.Добавить("Дт"); - ПостфиксыСчетов.Добавить("Кт"); - Иначе - ПостфиксыСчетов.Добавить(""); - КонецЕсли; - Для каждого ПостфиксСчета Из ПостфиксыСчетов Цикл - НаборМдРеквизитов.Вставить("Счет"+ПостфиксСчета, МетаданныеНабора.ПланСчетов); - Для НомерВидаСубконто = 1 По МетаданныеНабора.ПланСчетов.МаксКоличествоСубконто Цикл - ОписаниеСубконто = Новый Структура("ИмяРеквизитаСчет,ИмяРеквизитаСубконто,НомерВидаСубконто", "Счет"+ПостфиксСчета, "Субконто"+ПостфиксСчета, НомерВидаСубконто-1); - НаборВидовСубконто.Вставить("Субконто"+ПостфиксСчета+НомерВидаСубконто, ОписаниеСубконто); - КонецЦикла; - КонецЦикла; - КонецЕсли; - - Для каждого СтрокаЗаписи Из ПротоНаборЗаписей Цикл - ЗаписьНабора = Объект.Добавить(); - Для каждого стрПоле Из СтрокаЗаписи Цикл - ЗначениеПоля = ПолучитьЗначениеПоля(ПротоДанные,стрПоле,НаборМдРеквизитов); - - ОписаниеСубконто = Неопределено; - Если ЭтоРегистрБухгалтерии И НаборВидовСубконто.Свойство(стрПоле.Имя, ОписаниеСубконто) Тогда - ВидСубконто = ЗаписьНабора[ОписаниеСубконто.ИмяРеквизитаСчет].ВидыСубконто[ОписаниеСубконто.НомерВидаСубконто].ВидСубконто; - ЗаписьНабора[ОписаниеСубконто.ИмяРеквизитаСубконто].Вставить(ВидСубконто, ЗначениеПоля); - Иначе - ЗаписьНабора[стрПоле.Имя] = ЗначениеПоля; - КонецЕсли; - КонецЦикла; - - Если РегистрСведенийПодчиненРегистратору Тогда - ПроверитьЗаполненность(ЗаписьНабора.Регистратор, "Не задан регистратор для записей регистра "+ПредставлениеМдМенеджераРегистра+". Переменная "+ПротоОбъект.ИмяПеременной); - Если НЕ ЗначениеЗаполнено(ЗаписьНабора.Период) Тогда - ЗаписьНабора.Период = ЗаписьНабора.Регистратор.Дата; - КонецЕсли; - КонецЕсли; - КонецЦикла; - - ЗаписьНабора = Объект[0]; - Если РегистрСведенийПодчиненРегистратору Тогда - Объект.Отбор.Регистратор.Установить(ЗаписьНабора.Регистратор); - Иначе - Для каждого МетаИзмерение Из МетаданныеНабора.Измерения Цикл - ИмяИзмерения = МетаИзмерение.Имя; - Если Объект.Отбор.Найти(ИмяИзмерения) <> Неопределено Тогда - Объект.Отбор[ИмяИзмерения].Установить(ЗаписьНабора[ИмяИзмерения]); - КонецЕсли; - КонецЦикла; - КонецЕсли; - - ЗаполнитьОбменДанными(Объект, ПротоДанные, ПротоОбъект); - ЗаполнитьДополнительныеСвойства(Объект, ПротоДанные, ПротоОбъект); - - ИначеЕсли ЭтоРегистрСведения Тогда - Попытка - Объект = РегистрыСведений[ПротоОбъект.Вид].СоздатьМенеджерЗаписи(); - Исключение - Ошибка = ОписаниеОшибки(); - ВызватьИсключение ПредставлениеМдМенеджераРегистра+"."+ПротоОбъект.Вид+" не удалось создать новый набор записей"+Символы.ПС+Ошибка; - КонецПопытки; - - НаборМдРеквизитов = НаборРеквизитовМетаданных(ПротоОбъект.Тип, РегистрыСведений[ПротоОбъект.Вид].СоздатьНаборЗаписей().Метаданные()); - Для каждого стрПоле Из ПротоОбъект.ПоляОбъекта Цикл - Объект[стрПоле.Имя] = ПолучитьЗначениеПоля(ПротоДанные,стрПоле,НаборМдРеквизитов); - КонецЦикла; - Иначе - ВызватьИсключение ПредставлениеМдМенеджераРегистра+"."+ПротоОбъект.Вид+" в макете нет записей для регистра "+ПредставлениеМдМенеджераРегистра; - КонецЕсли; - - ПредставлениеМетаданного = "набора записей "+ПредставлениеМдМенеджераРегистра; - ЗаписатьОбъектПриНеобходимости(Объект, ПротоОбъект, ПредставлениеМетаданного, Ложь); - - Возврат Объект; -КонецФункции - -Функция СоздатьОбъект_ПользовательИБ(ПротоДанные,ПротоОбъект) - Если ЗначениеЗаполнено(ПротоОбъект.Ключи) Тогда - ВызватьИсключение "Работа с ключами при создании пользователя ИБ пока не поддерживается"; - КонецЕсли; - Объект = ПользователиИнформационнойБазы.СоздатьПользователя(); - - параметрыПользователя = Новый Структура; - параметрыПользователя.Вставить("Имя", ""); - параметрыПользователя.Вставить("ПолноеИмя", ""); - параметрыПользователя.Вставить("АутентификацияСтандартная", Истина); - параметрыПользователя.Вставить("АутентификацияОС", Ложь); - параметрыПользователя.Вставить("ПользовательОС", ""); - параметрыПользователя.Вставить("ОсновнойИнтерфейс", ""); //Метаданные.Интерфейсы.Администратор); - параметрыПользователя.Вставить("Пароль", "пароль"); - параметрыПользователя.Вставить("ПоказыватьВСпискеВыбора", Истина); - параметрыПользователя.Вставить("РежимЗапуска", РежимЗапускаКлиентскогоПриложения.Авто); - параметрыПользователя.Вставить("Язык", Метаданные.Языки.Русский); - массивРолей = Новый Массив; - параметрыПользователя.Вставить("Роли", массивРолей); - - //Заполняем реквизиты справочника - Для каждого стрПоле Из ПротоОбъект.ПоляОбъекта Цикл - параметрыПользователя[стрПоле.Имя] = ПолучитьЗначениеПоля(ПротоДанные,стрПоле,Неопределено); - КонецЦикла; - ЗаполнитьЗначенияСвойств(Объект, параметрыПользователя,, "ОсновнойИнтерфейс,РежимЗапуска"); - - ПротоНаборРолей = Неопределено; - Если ПротоОбъект.ТабличныеЧасти.Свойство("Роли",ПротоНаборРолей) Тогда - Для каждого СтрокаРоли Из ПротоНаборРолей Цикл - Для каждого стрПоле Из СтрокаРоли Цикл - Роль = Метаданные.Роли.Найти(ПолучитьЗначениеПоля(ПротоДанные,стрПоле,Неопределено)); - параметрыПользователя.Роли.Добавить(Роль); - КонецЦикла; - КонецЦикла; - КонецЕсли; - - НашлиРежимЗапуска = Ложь; - Для каждого ЗначениеРежимаЗапуска Из РежимЗапускаКлиентскогоПриложения Цикл - Если НРег(""+ЗначениеРежимаЗапуска) = НРег(параметрыПользователя.РежимЗапуска) Тогда - НашлиРежимЗапуска = Истина; - Прервать; - КонецЕсли; - КонецЦикла; - Если НашлиРежимЗапуска Тогда - Объект.РежимЗапуска = ЗначениеРежимаЗапуска; - Иначе - ВызватьИсключение "Не нашли режим запуска <"+параметрыПользователя.РежимЗапуска+">. Возможно, нужно указать с пробелом, например, ""Управляемое приложение"""; - КонецЕсли; - - Если ЗначениеЗаполнено(параметрыПользователя.ОсновнойИнтерфейс) Тогда - Объект.ОсновнойИнтерфейс = Метаданные.Интерфейсы.Найти(параметрыПользователя.ОсновнойИнтерфейс); - КонецЕсли; - Для каждого роль Из параметрыПользователя.Роли Цикл - Объект.Роли.Добавить(роль); - КонецЦикла; - - ПредставлениеМетаданного = "пользователя ИБ "; - ЗаписатьОбъектПриНеобходимости(Объект, ПротоОбъект, ПредставлениеМетаданного, Ложь); - - Возврат Объект; -КонецФункции - -Функция ПолучитьОбъектЕслиВПротоДанныеПереданаСсылка(МенеджерОбъекта, ПротоОбъект) - Перем Объект; - стрПолеСсылка = ПротоОбъект.ПоляОбъекта.Найти("Ссылка","Имя"); - Если стрПолеСсылка<>Неопределено Тогда - ПротоОбъект.Объект = МенеджерОбъекта.ПолучитьСсылку(Новый УникальныйИдентификатор(стрПолеСсылка.Значение)); - ПротоОбъект.ПоляОбъекта.Удалить(стрПолеСсылка); - Объект = ПротоОбъект.Объект.ПолучитьОбъект(); - КонецЕсли; - Возврат Объект; -КонецФункции - -Процедура ЗаполнитьОбменДанными(Объект, ПротоДанные, ПротоОбъект) - Объект.ОбменДанными.Загрузка = ПротоОбъект.Режимы.ОбменДанными; - - //Дополнительные Свойства - Для каждого стрДопСвойство Из ПротоОбъект.ДопСвойства Цикл - Значение = ПолучитьЗначениеПоля(ПротоДанные,стрДопСвойство,Неопределено); - Объект.ДополнительныеСвойства.Вставить(стрДопСвойство.Имя,Значение); - КонецЦикла; - Для каждого стрДопСвойство Из ПротоОбъект.ОбменДанными Цикл - Значение = ПолучитьЗначениеПоля(ПротоДанные,стрДопСвойство,Неопределено); - Объект.ОбменДанными[стрДопСвойство.Имя] = Значение; - КонецЦикла; -КонецПроцедуры - -Функция ЗаписатьОбъектПриНеобходимости(Объект, ПротоОбъект, ПредставлениеМетаданного, ЭтоСсылочныйОбъект, РежимЗаписи = Неопределено) - Перем Результат; - Если Не ПротоОбъект.Режимы.Объект Тогда - Попытка - Если РежимЗаписи = Неопределено Тогда - Объект.Записать(); - Иначе - Объект.Записать(РежимЗаписи); - КонецЕсли; - Если ЭтоСсылочныйОбъект Тогда - Результат = Объект.Ссылка; - КонецЕсли; - Исключение - Ошибка = ОписаниеОшибки(); - Ошибка = "Ошибка записи "+ПредставлениеМетаданного+" "+ПротоОбъект.Вид+", переменная "+ПротоОбъект.ИмяПеременной + Символы.ПС + Ошибка; - ВызватьИсключение Ошибка; - КонецПопытки; - ИначеЕсли ЭтоСсылочныйОбъект Тогда - Результат = Объект; - КонецЕсли; - - Возврат Результат; -КонецФункции - -Процедура ЗаполнитьДополнительныеСвойства(Объект, ПротоДанные, ПротоОбъект) - Для каждого стрДопСвойство Из ПротоОбъект.ДопСвойства Цикл - Значение = ПолучитьЗначениеПоля(ПротоДанные,стрДопСвойство,Неопределено); - Объект.ДополнительныеСвойства.Вставить(стрДопСвойство.Имя,Значение); - КонецЦикла; -КонецПроцедуры - -Функция ПолучитьЗначениеПоля(ПротоДанные,стрПоле,НаборМдРеквизитов) - Значение = Неопределено; - Если ПустаяСтрока(стрПоле.Режим) Тогда - Если ЗначениеЗаполнено(стрПоле.ДополнительныйТип) Тогда - ТипЗначения = Новый ОписаниеТипов(стрПоле.ДополнительныйТип); - Значение = ТипЗначения.ПривестиЗначение(стрПоле.Значение); - Иначе - Значение = стрПоле.Значение; - КонецЕсли; - ИначеЕсли ВРег(стрПоле.Режим) = "ПЕРЕМ" Тогда - Значение = ПротоДанные[стрПоле.Значение].Объект; - Если Не ЗначениеЗаполнено(Значение) Тогда - Значение = ПолучитьОбъект(ПротоДанные, ПротоДанные[стрПоле.Значение]); - КонецЕсли; - - Если Не ЗначениеЗаполнено(Значение) Тогда - ВызватьИсключение "ЗначениеНеНайдено: Реквизит <"+стрПоле.Имя+">: Искали значение <"+стрПоле.Значение+">, но не нашли!"; - КонецЕсли; - ИначеЕсли ВРег(стрПоле.Режим) = "ТЕКУЩАЯДАТА" Тогда - Значение = ТекущаяДата(); - ИначеЕсли ВРег(стрПоле.Режим) = "ВЫРАЖЕНИЕ" Тогда - Значение = Вычислить(стрПоле.Значение); - Иначе - Значение = ВычислитьЗначениеПоТипуПоля(НаборМдРеквизитов,стрПоле); - КонецЕсли; - Возврат Значение; -КонецФункции - -Функция ВычислитьЗначениеПоТипуПоля(НаборМдРеквизитов,стрПоле) - Значение = Неопределено; - Режим = ВРег(стрПоле.Режим); - - Попытка - Если НаборМдРеквизитов = Неопределено Тогда - Если НЕ ЗначениеЗаполнено(стрПоле.ДополнительныйТип) Тогда - ВызватьИсключение "Не указан дополнительный тип значения"; - КонецЕсли; - МетаданныеРеквизита = Неопределено; - Иначе - МетаданныеРеквизита = НаборМдРеквизитов[стрПоле.Имя]; - КонецЕсли; - УжеВычислилиЗначение = Ложь; - ЕстьМетаданныеРеквизита = Ложь; - Если Режим = "ГУИД" И МетаданныеРеквизита <> Неопределено И МетаданныеРеквизита.Тип.СодержитТип(Тип("УникальныйИдентификатор")) Тогда - Значение = Новый УникальныйИдентификатор(стрПоле.Значение); - УжеВычислилиЗначение = Истина; - Иначе - - Если ЗначениеЗаполнено(стрПоле.ДополнительныйТип) Тогда - ТипЗначения = Новый ОписаниеТипов(стрПоле.ДополнительныйТип); - Иначе - Если Метаданные.ПланыСчетов.Найти(МетаданныеРеквизита) <> Неопределено Тогда - ТипЗначения = Новый ОписаниеТипов("ПланСчетовСсылка."+МетаданныеРеквизита.Имя); - Иначе - ТипЗначения = МетаданныеРеквизита.Тип; - КонецЕсли; - КонецЕсли; - ЗначениеПоУмолчанию = ТипЗначения.ПривестиЗначение(); - Попытка - МетаданныеТипаРеквизита = ЗначениеПоУмолчанию.Метаданные(); - ЕстьМетаданныеРеквизита = Истина; - Исключение - КонецПопытки; - - Если Не ЕстьМетаданныеРеквизита И Режим = "ПРЕДОПРЕДЕЛЕННЫЙ" Тогда - Если БизнесПроцессы.ТипВсеСсылкиТочекМаршрутаБизнесПроцессов().СодержитТип( ТипЗначения.Типы()[0] ) Тогда - Значение = ПолучитьЗначениеТочкиБизнесПроцесса(стрПоле.Значение); - УжеВычислилиЗначение = Истина; - Иначе - Значение = Неопределено; - СтрокаДляВыполнения = "Значение = "+ТипЗначения+"["""+стрПоле.Значение+"""];"; - Выполнить(СтрокаДляВыполнения); - УжеВычислилиЗначение = Истина; - КонецЕсли; - КонецЕсли; - КонецЕсли; - - Если Не УжеВычислилиЗначение и ЕстьМетаданныеРеквизита Тогда - ПолноеИмяТипаРеквизита = МетаданныеТипаРеквизита.ПолноеИмя(); - - Если Найти(ПолноеИмяТипаРеквизита, "Справочник") = 1 Тогда - менеджерОбъекта = Справочники[МетаданныеТипаРеквизита.Имя]; - ИначеЕсли Найти(ПолноеИмяТипаРеквизита, "Документ") = 1 Тогда - менеджерОбъекта = Документы[МетаданныеТипаРеквизита.Имя]; - ИначеЕсли Найти(ПолноеИмяТипаРеквизита, "Перечисление") = 1 Тогда - менеджерОбъекта = Перечисления[МетаданныеТипаРеквизита.Имя]; - ИначеЕсли Найти(ПолноеИмяТипаРеквизита, "ПланСчетов") = 1 Тогда - менеджерОбъекта = ПланыСчетов[МетаданныеТипаРеквизита.Имя]; - ИначеЕсли Найти(ПолноеИмяТипаРеквизита, "ПланВидовХарактеристик") = 1 Тогда - менеджерОбъекта = ПланыВидовХарактеристик[МетаданныеТипаРеквизита.Имя]; - КонецЕсли; - ПроверитьНеРавенство(менеджерОбъекта, Неопределено, "не найден менеджерОбъекта"); - - Если Режим = "ПРЕДОПРЕДЕЛЕННЫЙ" Тогда - //Значение = менеджерОбъекта[стрПоле.Значение]; - Если ЗначениеЗаполнено(стрПоле.Значение) Тогда - Значение = менеджерОбъекта[стрПоле.Значение]; - Иначе - Значение = менеджерОбъекта.ПустаяСсылка(); - КонецЕсли; - ИначеЕсли Режим = "КОД" Тогда - Значение = менеджерОбъекта.НайтиПоКоду(стрПоле.Значение); - ИначеЕсли Режим = "НОМЕР" Тогда - Значение = НайтиБлижайшийДокументПоНомеру(МетаданныеТипаРеквизита, стрПоле.Значение); - ИначеЕсли Режим = "НАИМЕНОВАНИЕ" Тогда - Значение = менеджерОбъекта.НайтиПоНаименованию(стрПоле.Значение, Истина); - ИначеЕсли Режим = "ГУИД" Тогда - Значение = менеджерОбъекта.ПолучитьСсылку(Новый УникальныйИдентификатор(стрПоле.Значение)); - Иначе - ВызватьИсключение "НеверныйРежимПоиска: Не поддерживаемый режим поиска. Реквизит <"+стрПоле.Имя+">: Искали значение <"+стрПоле.Значение+">"; - КонецЕсли; - - Если ЗначениеЗаполнено(стрПоле.Значение) И Не ЗначениеЗаполнено(Значение) Тогда //Если Не ЗначениеЗаполнено(Значение) Тогда - ВызватьИсключение "ЗначениеНеНайдено: Реквизит <"+стрПоле.Имя+">: Искали значение <"+стрПоле.Значение+">, но не нашли!"; - КонецЕсли; - КонецЕсли; - Исключение - ошибка = ОписаниеОшибки(); - Если Найти(ошибка, "НеверныйРежимПоиска") = 0 Тогда - ошибка = "ОшибкаПоиска: Реквизит <"+стрПоле.Имя+">: Искали значение <"+стрПоле.Значение+"> " + ошибка; - КонецЕсли; - ВызватьИсключение ошибка; - КонецПопытки; - - Возврат Значение; -КонецФункции - -Функция СоздатьПользователяИБ(параметры) Экспорт - НовыйПользователь = ПользователиИнформационнойБазы.СоздатьПользователя(); - - ЗаполнитьЗначенияСвойств(НовыйПользователь, параметры,, "ОсновнойИнтерфейс"); - Если ЗначениеЗаполнено(параметры.ОсновнойИнтерфейс) Тогда - НовыйПользователь.ОсновнойИнтерфейс = Метаданные.Интерфейсы.Найти(параметры.ОсновнойИнтерфейс); - КонецЕсли; - Для каждого роль Из параметры.Роли Цикл - НовыйПользователь.Роли.Добавить(роль); - КонецЦикла; - - НовыйПользователь.Записать(); - Возврат НовыйПользователь; -КонецФункции - -Функция КолонкиМакетаДанных() - КолонкиМакета = Новый Структура(); - СтрокаЗеро = "0"; - КолонкиМакета.Вставить("Тип", СтрокаЗеро); - КолонкиМакета.Вставить("Вид", СтрокаЗеро); - КолонкиМакета.Вставить("ИмяПеременной", СтрокаЗеро); - КолонкиМакета.Вставить("ТЧ", СтрокаЗеро); - КолонкиМакета.Вставить("Реквизит", СтрокаЗеро); - КолонкиМакета.Вставить("Значение", СтрокаЗеро); - КолонкиМакета.Вставить("Режим", СтрокаЗеро); - КолонкиМакета.Вставить("ДополнительныйТипЗначения", СтрокаЗеро); - КолонкиМакета.Вставить("Ключ", СтрокаЗеро); - Возврат КолонкиМакета; -КонецФункции - -Функция ПолучитьЗначениеТочкиБизнесПроцесса(Значение_Строкой) - Значение = Неопределено; - Для каждого БизнесПроцессМенеджер из БизнесПроцессы Цикл - ТочкиМаршрута = БизнесПроцессМенеджер.ТочкиМаршрута; - Для каждого ТочкаМаршрута Из ТочкиМаршрута Цикл - Если ВРег(ТочкаМаршрута.Имя) = ВРег(Значение_Строкой) Тогда - Значение = ТочкаМаршрута; - Возврат Значение; - КонецЕсли; - КонецЦикла; - КонецЦикла; - Возврат Значение; -КонецФункции - -Функция НайтиБлижайшийДокументПоНомеру(МетаданныеДокумента, Значение_Строкой) - - ТекстЗапроса = - "ВЫБРАТЬ ПЕРВЫЕ 1 - | Доки.Ссылка, - | Доки.Дата - |ИЗ - | Документ."+МетаданныеДокумента.Имя+" КАК Доки - |ГДЕ - | Доки.Номер = &Номер - | - |УПОРЯДОЧИТЬ ПО - | Доки.Дата УБЫВ"; - Запрос = Новый Запрос(ТекстЗапроса); - Если МетаданныеДокумента.ТипНомера = Метаданные.СвойстваОбъектов.ТипНомераДокумента.Число Тогда - Номер = Число(Значение_Строкой); - Иначе - Номер = Значение_Строкой; - КонецЕсли; - Запрос.УстановитьПараметр("Номер", Номер); - - Результат = Запрос.Выполнить(); - - Значение = Неопределено; - - ВыборкаДетальныеЗаписи = Результат.Выбрать(); - Если ВыборкаДетальныеЗаписи.Следующий() Тогда - Значение = ВыборкаДетальныеЗаписи.Ссылка; - Иначе - ВызватьИсключение "Не удалось найти документ по номеру <"+Значение_Строкой+">. Тип Документ."+МетаданныеДокумента.Имя; - КонецЕсли; - - Возврат Значение; -КонецФункции - -Функция НаборРеквизитовМетаданных(КорневойТип, МетаданныеОбъекта) - НаборМдРеквизитов = Новый Структура; - Если КорневойТип = "Справочник" - или КорневойТип = "Документ" - или КорневойТип = "ПланВидовХарактеристик" - или КорневойТип = "БизнесПроцесс" - или КорневойТип = "ПланОбмена" Тогда - - ДобавитьРеквизитыМетаданныхВНаборРеквизитов(МетаданныеОбъекта.СтандартныеРеквизиты, НаборМдРеквизитов); - ДобавитьРеквизитыМетаданныхВНаборРеквизитов(МетаданныеОбъекта.Реквизиты, НаборМдРеквизитов); - ИначеЕсли КорневойТип = "Задача" Тогда - ДобавитьРеквизитыМетаданныхВНаборРеквизитов(МетаданныеОбъекта.СтандартныеРеквизиты, НаборМдРеквизитов); - ДобавитьРеквизитыМетаданныхВНаборРеквизитов(МетаданныеОбъекта.Реквизиты, НаборМдРеквизитов); - ДобавитьРеквизитыМетаданныхВНаборРеквизитов(МетаданныеОбъекта.РеквизитыАдресации, НаборМдРеквизитов); - - ИначеЕсли КорневойТип = "РегистрСведений" - или КорневойТип = "РегистрНакопления" - или КорневойТип = "РегистрБухгалтерии" Тогда - - ДобавитьРеквизитыМетаданныхВНаборРеквизитов(МетаданныеОбъекта.СтандартныеРеквизиты, НаборМдРеквизитов); - ДобавитьРеквизитыМетаданныхВНаборРеквизитов(МетаданныеОбъекта.Измерения, НаборМдРеквизитов, КорневойТип); - ДобавитьРеквизитыМетаданныхВНаборРеквизитов(МетаданныеОбъекта.Ресурсы, НаборМдРеквизитов); - ДобавитьРеквизитыМетаданныхВНаборРеквизитов(МетаданныеОбъекта.Реквизиты, НаборМдРеквизитов); - - Иначе - ВызватьИсключение "Необрабатываемый корневой тип <"+КорневойТип+">"; - КонецЕсли; - Возврат НаборМдРеквизитов; -КонецФункции - -Процедура ДобавитьРеквизитыМетаданныхВНаборРеквизитов(МдРеквизиты, НаборМдРеквизитов, КорневойТип = "") - Для каждого МдРеквизит Из МдРеквизиты Цикл - Если КорневойТип = "РегистрБухгалтерии" И Не МдРеквизит.Балансовый Тогда - НаборМдРеквизитов.Вставить(МдРеквизит.Имя + "Дт", МдРеквизит); - НаборМдРеквизитов.Вставить(МдРеквизит.Имя + "Кт", МдРеквизит); - Иначе - НаборМдРеквизитов.Вставить(МдРеквизит.Имя, МдРеквизит); - КонецЕсли; - КонецЦикла; -КонецПроцедуры - -// } - -//{ Методы проверки таблиц метаданных -Функция ПолучитьКоличествоДокументовПоОтбору(видДокумента, Дата1, дата2, структураОтбора = Неопределено) Экспорт - ПроверитьЗаполненность(видДокумента, "видДокумента"); - ПроверитьЗаполненность(Дата1, "Дата1"); - ПроверитьЗаполненность(Дата2, "Дата2"); - - Запрос = Новый Запрос; - Запрос.Текст = "ВЫБРАТЬ - | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Доки.Ссылка) КАК КоличествоДокументов - |ИЗ - | Документ."+видДокумента+" КАК Доки - |ГДЕ - | Доки.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2 - |"; - Запрос.УстановитьПараметр("Дата1", Дата1); - Запрос.УстановитьПараметр("Дата2", КонецДня(Дата2)); - - Если ЗначениеЗаполнено(структураОтбора) Тогда - Для каждого ключЗначение Из структураОтбора Цикл - имяРеквизита = ключЗначение.Ключ; - Запрос.Текст = Запрос.Текст + " И Доки."+имяРеквизита+" = &"+имяРеквизита+" "; - Запрос.УстановитьПараметр(имяРеквизита, ключЗначение.Значение); - КонецЦикла; - КонецЕсли; - - РезультатЗапроса = Запрос.Выполнить(); - Если РезультатЗапроса.Пустой() Тогда - Возврат 0; - КонецЕсли; - Выборка = РезультатЗапроса.Выбрать(); - Выборка.Следующий(); - Возврат выборка.КоличествоДокументов; -КонецФункции - -Функция ПолучитьКоличествоЭлементовСправочникаПоОтбору(видСправочника, структураОтбора = Неопределено) Экспорт - ПроверитьЗаполненность(видСправочника, "видСправочника"); - - Запрос = Новый Запрос; - Запрос.Текст = "ВЫБРАТЬ - | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Спр.Ссылка) КАК КоличествоЭлементов - |ИЗ - | Справочник."+видСправочника+" КАК Спр - |ГДЕ - | Истина - |"; - - Если ЗначениеЗаполнено(структураОтбора) Тогда - Для каждого ключЗначение Из структураОтбора Цикл - имяРеквизита = ключЗначение.Ключ; - Запрос.Текст = Запрос.Текст + " И Спр."+имяРеквизита+" = &"+имяРеквизита+" "; - Запрос.УстановитьПараметр(имяРеквизита, ключЗначение.Значение); - КонецЦикла; - КонецЕсли; - - РезультатЗапроса = Запрос.Выполнить(); - Если РезультатЗапроса.Пустой() Тогда - Возврат 0; - КонецЕсли; - Выборка = РезультатЗапроса.Выбрать(); - Выборка.Следующий(); - Возврат выборка.КоличествоЭлементов; -КонецФункции - -Функция ПолучитьКоличествоСтрокВДокументахПоОтбору(видДокумента, имяТабличнойЧасти, Дата1, дата2, структураОтбораШапки = Неопределено, структураОтбораТабличнойЧасти = Неопределено) Экспорт - ПроверитьЗаполненность(видДокумента, "видДокумента"); - ПроверитьЗаполненность(Дата1, "Дата1"); - ПроверитьЗаполненность(Дата2, "Дата2"); - - Запрос = Новый Запрос; - Запрос.Текст = "ВЫБРАТЬ - | КОЛИЧЕСТВО(Доки.Ссылка) КАК КоличествоДокументов - |ИЗ - | Документ."+видДокумента+"."+имяТабличнойЧасти+" КАК Доки - |ГДЕ - | Доки.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2 - |"; - Запрос.УстановитьПараметр("Дата1", Дата1); - Запрос.УстановитьПараметр("Дата2", КонецДня(Дата2)); - - Если ЗначениеЗаполнено(структураОтбораШапки) Тогда - Для каждого ключЗначение Из структураОтбораШапки Цикл - имяРеквизита = ключЗначение.Ключ; - Запрос.Текст = Запрос.Текст + " И Доки.Ссылка."+имяРеквизита+" = &"+имяРеквизита+" "; - Запрос.УстановитьПараметр(имяРеквизита, ключЗначение.Значение); - КонецЦикла; - КонецЕсли; - Если ЗначениеЗаполнено(структураОтбораТабличнойЧасти) Тогда - Для каждого ключЗначение Из структураОтбораТабличнойЧасти Цикл - имяРеквизита = ключЗначение.Ключ; - Запрос.Текст = Запрос.Текст + " И Доки."+имяРеквизита+" = &"+имяРеквизита+" "; - Запрос.УстановитьПараметр(имяРеквизита, ключЗначение.Значение); - КонецЦикла; - КонецЕсли; - - РезультатЗапроса = Запрос.Выполнить(); - Если РезультатЗапроса.Пустой() Тогда - Возврат 0; - КонецЕсли; - Выборка = РезультатЗапроса.Выбрать(); - Выборка.Следующий(); - Возврат выборка.КоличествоДокументов; -КонецФункции - -Функция ПолучитьИтоговуюСуммуТабличнойЧастиДокументовПоОтбору(видДокумента, имяТабличнойЧасти, имяРеквизита, Дата1, дата2, структураОтбораШапки = Неопределено, структураОтбораТабличнойЧасти = Неопределено) Экспорт - ПроверитьЗаполненность(видДокумента, "видДокумента"); - ПроверитьЗаполненность(Дата1, "Дата1"); - ПроверитьЗаполненность(Дата2, "Дата2"); - Запрос = Новый Запрос; - текстТабличнаяЧасть = ?(НЕ ЗначениеЗаполнено(имяТабличнойЧасти), "", "."+имяТабличнойЧасти); - Запрос.Текст = "ВЫБРАТЬ - | ЕСТЬNULL(СУММА(Доки."+имяРеквизита+"), 0) КАК Сумма - |ИЗ - | Документ."+видДокумента+текстТабличнаяЧасть+" КАК Доки - |ГДЕ - | Доки.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2 - |"; - Запрос.УстановитьПараметр("Дата1", Дата1); - Запрос.УстановитьПараметр("Дата2", КонецДня(Дата2)); - - Если ЗначениеЗаполнено(структураОтбораШапки) Тогда - Для каждого ключЗначение Из структураОтбораШапки Цикл - имяРеквизита = ключЗначение.Ключ; - Запрос.Текст = Запрос.Текст + " И Доки.Ссылка."+имяРеквизита+" = &"+имяРеквизита+" "; - Запрос.УстановитьПараметр(имяРеквизита, ключЗначение.Значение); - КонецЦикла; - КонецЕсли; - ПроверитьИстину(НЕ (имяТабличнойЧасти = "" И ЗначениеЗаполнено(структураОтбораТабличнойЧасти)), "табличная часть не должна быть указана"); - Если ЗначениеЗаполнено(структураОтбораТабличнойЧасти) Тогда - Для каждого ключЗначение Из структураОтбораТабличнойЧасти Цикл - имяРеквизита = ключЗначение.Ключ; - Запрос.Текст = Запрос.Текст + " И Доки."+имяРеквизита+" = &"+имяРеквизита+" "; - Запрос.УстановитьПараметр(имяРеквизита, ключЗначение.Значение); - КонецЦикла; - КонецЕсли; - - РезультатЗапроса = Запрос.Выполнить(); - Если РезультатЗапроса.Пустой() Тогда - Возврат 0; - КонецЕсли; - Выборка = РезультатЗапроса.Выбрать(); - Выборка.Следующий(); - Возврат выборка.Сумма; -КонецФункции - -Функция ПолучитьИтоговуюСуммуДокументовПоОтбору(видДокумента, имяРеквизита, Дата1, дата2, структураОтбораШапки = Неопределено, структураОтбораТабличнойЧасти = Неопределено) Экспорт - Возврат ПолучитьИтоговуюСуммуТабличнойЧастиДокументовПоОтбору(видДокумента, "", имяРеквизита, Дата1, дата2, структураОтбораШапки, структураОтбораТабличнойЧасти); -КонецФункции - -Функция ПолучитьКоличествоЭлементовМетаданногоПоОтбору(типМетаданного, видМетаданного, структураОтбора = Неопределено) Экспорт - ПроверитьЗаполненность(типМетаданного, "типМетаданного"); - ПроверитьЗаполненность(видМетаданного, "видМетаданного"); - - Запрос = Новый Запрос; - Запрос.Текст = "ВЫБРАТЬ - | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Таб.Ссылка) КАК КоличествоЭлементов - |ИЗ - | "+типМетаданного+"."+видМетаданного+" КАК Таб - |ГДЕ - | Истина - |"; - - Если ЗначениеЗаполнено(структураОтбора) Тогда - Для каждого ключЗначение Из структураОтбора Цикл - имяРеквизита = ключЗначение.Ключ; - Запрос.Текст = Запрос.Текст + " И Таб."+имяРеквизита+" = &"+имяРеквизита+" "; - Запрос.УстановитьПараметр(имяРеквизита, ключЗначение.Значение); - КонецЦикла; - КонецЕсли; - - РезультатЗапроса = Запрос.Выполнить(); - Если РезультатЗапроса.Пустой() Тогда - Возврат 0; - КонецЕсли; - Выборка = РезультатЗапроса.Выбрать(); - Выборка.Следующий(); - Возврат выборка.КоличествоЭлементов; -КонецФункции - -Функция ПолучитьКоличествоБизнесПроцессовПоОтбору(видМетаданного, структураОтбора = Неопределено) Экспорт - Возврат ПолучитьКоличествоЭлементовМетаданногоПоОтбору("БизнесПроцесс", видМетаданного, структураОтбора); -КонецФункции - -Функция ПолучитьКоличествоЗадачПоОтбору(видМетаданного, структураОтбора = Неопределено) Экспорт - Возврат ПолучитьКоличествоЭлементовМетаданногоПоОтбору("Задача", видМетаданного, структураОтбора); -КонецФункции - -Функция ПолучитьКоличествоЭлементовРегистраПоОтбору(типМетаданного, видМетаданного, структураОтбора = Неопределено) Экспорт - ПроверитьЗаполненность(типМетаданного, "типМетаданного"); - ПроверитьЗаполненность(видМетаданного, "видМетаданного"); - - Запрос = Новый Запрос; - Запрос.Текст = "ВЫБРАТЬ - | КОЛИЧЕСТВО(*) КАК КоличествоЭлементов - |ИЗ - | "+типМетаданного+"."+видМетаданного+" КАК Таб - |ГДЕ - | Истина - |"; - - Если ЗначениеЗаполнено(структураОтбора) Тогда - Для каждого ключЗначение Из структураОтбора Цикл - имяРеквизита = ключЗначение.Ключ; - Запрос.Текст = Запрос.Текст + " И Таб."+имяРеквизита+" = &"+имяРеквизита+" "; - Запрос.УстановитьПараметр(имяРеквизита, ключЗначение.Значение); - КонецЦикла; - КонецЕсли; - - РезультатЗапроса = Запрос.Выполнить(); - Если РезультатЗапроса.Пустой() Тогда - Возврат 0; - КонецЕсли; - Выборка = РезультатЗапроса.Выбрать(); - Выборка.Следующий(); - Возврат выборка.КоличествоЭлементов; -КонецФункции - -Функция ПолучитьЭлементыМетаданногоПоОтбору(типМетаданного, видМетаданного, Количество=1, структураОтбора = Неопределено) Экспорт - ПроверитьЗаполненность(типМетаданного, "типМетаданного"); - ПроверитьЗаполненность(видМетаданного, "видМетаданного"); - - Запрос = Новый Запрос; - Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ "+Количество+" - | * - |ИЗ - | "+типМетаданного+"."+видМетаданного+" КАК Таб - |ГДЕ - | Истина - |"; - - Если ЗначениеЗаполнено(структураОтбора) Тогда - Для каждого ключЗначение Из структураОтбора Цикл - имяРеквизита = ключЗначение.Ключ; - Запрос.Текст = Запрос.Текст + " И Таб."+имяРеквизита+" = &"+имяРеквизита+" "; - Запрос.УстановитьПараметр(имяРеквизита, ключЗначение.Значение); - КонецЦикла; - КонецЕсли; - - РезультатЗапроса = Запрос.Выполнить(); - ТЗ = РезультатЗапроса.Выгрузить(); - - Возврат ТЗ; -КонецФункции - -//} - -//{ МЕТОДЫ ДЛЯ ВЫПОЛНЕНИЯ ТЕСТОВ - -Функция ВыполнитьТесты(ЗапускаемыеТесты, ВызыватьИсключение = Ложь) Экспорт - - ПередВыполнениемТестов(ЗапускаемыеТесты); - - СостояниеРезультат = мЗначенияСостоянияТестов.НеВыполнялся; - - Для Каждого СтрокаДереваТестов Из ЗапускаемыеТесты Цикл - #Если Клиент Тогда - ОбработкаПрерыванияПользователя(); - #КонецЕсли - - мВсегоТестов = мВсегоТестов + 1; - НовоеСостояние = ВыполнитьТест(СтрокаДереваТестов, мСписокОшибок, РегистрацияПрохожденияТестовВЖР, РегистрацияОшибокТестовВЖР, ВызыватьИсключение); - СтрокаДереваТестов.Состояние = НовоеСостояние; - - ЗапомнитьСамоеХудшееСостояние(СостояниеРезультат, НовоеСостояние); - - КонецЦикла; - - Возврат СостояниеРезультат; - -КонецФункции - -// Выполняет отдельный тест. -// -Функция ВыполнитьТест(СтрокаДереваТестов, СписокОшибок, РегистрироватьПрохождениеТестаВЖР, РегистрироватьОшибкиТестаВЖР, ВызыватьИсключение = Ложь) Экспорт - Перем Тест; // специально локальная переменная для исключения циклических ссылок - - ПредставлениеТестовогоСлучая = СтрокаДереваТестов.Имя; - - ТекущаяДата = ТекущаяДата(); - ПолныйПуть = СтрокаДереваТестов.ПолныйПуть; - - Если РегистрироватьПрохождениеТестаВЖР Тогда - ЗарегистрироватьНачалоПрохожденияТеста(ПредставлениеТестовогоСлучая, ПолныйПуть); - КонецЕсли; - - СтрокаДереваТестов.СписокОшибок.Очистить(); - - Попытка - Тест = ПолучитьТестОбъект(СтрокаДереваТестов); - Исключение - Возврат ВывестиОшибкуВыполненияТеста(СтрокаДереваТестов, ИнформацияОбОшибке(), СписокОшибок, РегистрироватьОшибкиТестаВЖР); - КонецПопытки; - - Если ЭтоПервыйТестовыйМетодНабора(СтрокаДереваТестов) Тогда - Попытка - ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(Тест, "ПередЗапускомНабораТестов"); - Исключение - Возврат ВывестиОшибкуВыполненияТеста(СтрокаДереваТестов, ИнформацияОбОшибке(), СписокОшибок, РегистрироватьОшибкиТестаВЖР); - КонецПопытки; - КонецЕсли; - - УчестьЗапускТеста(СтрокаДереваТестов); - - СостояниеВыполнения = ВыполнитьМетодыТеста(Тест, СтрокаДереваТестов, СписокОшибок, РегистрироватьОшибкиТестаВЖР, ВызыватьИсключение); - - Если ЭтоПоследнийТестовыйМетодНабора(СтрокаДереваТестов) Тогда - Попытка - ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(Тест, "ПослеЗапускаНабораТестов"); - Исключение - НовоеСостояние = ВывестиОшибкуВыполненияТеста(СтрокаДереваТестов, ИнформацияОбОшибке(), СписокОшибок, РегистрироватьОшибкиТестаВЖР); - ЗапомнитьСамоеХудшееСостояние(СостояниеВыполнения, НовоеСостояние); - КонецПопытки; - КонецЕсли; - - СтрокаДереваТестов.ВремяВыполнения = Число(ТекущаяДата() - ТекущаяДата); - - Возврат СостояниеВыполнения; - -КонецФункции - -Функция ВыполнитьМетодыТеста(Тест, СтрокаДереваТестов, СписокОшибок, РегистрироватьОшибкиТестаВЖР, ВызыватьИсключение) - - СостояниеВыполнения = мЗначенияСостоянияТестов.НеВыполнялся; - - ДанныеТекущегоТеста = СоздатьПустуюСтруктуруСостоянияТекущегоТеста(); - ДанныеТекущегоТеста.Вставить("Имя", СтрокаДереваТестов.Имя); - ДанныеТекущегоТеста.Вставить("ПолныйПуть", СтрокаДереваТестов.ПолныйПуть); - ДанныеТекущегоТеста.Вставить("СостояниеТеста", СостояниеВыполнения); - УстановитьДанныеТекущегоТеста(ДанныеТекущегоТеста); - - параметрыТеста = СтрокаДереваТестов.ПараметрыТеста; - естьПараметры = СтрокаДереваТестов.ЕстьПараметрыТеста; - - естьТранзакция = Ложь; - Если естьПараметры Тогда - естьТранзакция = параметрыТеста.Свойство("Транзакция", естьТранзакция) И ТипЗнч(естьТранзакция) = Тип("Булево") И естьТранзакция; - Если естьТранзакция Тогда - НачатьТранзакцию(); - КонецЕсли; - КонецЕсли; - - ЕстьТранзакцияДоНачалаОбработчика = ТранзакцияАктивна(); - - //TODO Если первый раз запуск setup оказался неуспешным, то при повторном прогоне без перезагрузки - // не выполнять, также не выполнять для следующих тестовых случаев. - Попытка - ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(Тест, "ПередЗапускомТеста"); - Исключение - Если (естьТранзакция ИЛИ НЕ ЕстьТранзакцияДоНачалаОбработчика) и ТранзакцияАктивна() Тогда - ОтменитьТранзакцию(); - КонецЕсли; - - Возврат ВывестиОшибкуВыполненияТеста(СтрокаДереваТестов, ИнформацияОбОшибке(), СписокОшибок, РегистрироватьОшибкиТестаВЖР); - КонецПопытки; - - ОповеститьОСобытии("TestStart", СтрокаДереваТестов); - - ЕстьТранзакцияДоНачалаОбработчика = ТранзакцияАктивна(); - - Попытка - - ВыполнитьТестовыйМетод(Тест, СтрокаДереваТестов, ВызыватьИсключение); - СостояниеВыполнения = мЗначенияСостоянияТестов.Прошел; - ОповеститьОСобытии("TestPassed", СтрокаДереваТестов); - - Исключение - - Если Не ЕстьТранзакцияДоНачалаОбработчика и ТранзакцияАктивна() Тогда - ОтменитьТранзакцию(); - КонецЕсли; - - СостояниеВыполнения = ВывестиОшибкуВыполненияТеста(СтрокаДереваТестов, ИнформацияОбОшибке(), СписокОшибок, РегистрироватьОшибкиТестаВЖР); - - КонецПопытки; - - ДанныеТекущегоТеста.Вставить("СостояниеТеста", СостояниеВыполнения); - УстановитьДанныеТекущегоТеста(ДанныеТекущегоТеста); - - ЕстьТранзакцияДоНачалаОбработчика = ТранзакцияАктивна(); - - Попытка - ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(Тест, "ПослеЗапускаТеста"); - Исключение - Если Не ЕстьТранзакцияДоНачалаОбработчика и ТранзакцияАктивна() Тогда - ОтменитьТранзакцию(); - КонецЕсли; - - НовоеСостояние = ВывестиОшибкуВыполненияТеста(СтрокаДереваТестов, ИнформацияОбОшибке(), СписокОшибок, РегистрироватьОшибкиТестаВЖР); - ЗапомнитьСамоеХудшееСостояние(СостояниеВыполнения, НовоеСостояние); - КонецПопытки; - - Если естьТранзакция Тогда - Если ТранзакцияАктивна() Тогда - ОтменитьТранзакцию(); - КонецЕсли; - КонецЕсли; - - УстановитьДанныеТекущегоТеста(Неопределено); - - Возврат СостояниеВыполнения; - -КонецФункции - -Процедура ВыполнитьТестовыйМетод(Тест, СтрокаДереваТестов, ВызыватьИсключение); - - ПредставлениеТестовогоСлучая = СтрокаДереваТестов.Имя; - ИмяТестовогоСлучая = СтрокаДереваТестов.ИмяТестовогоСлучая; - - СтрокаПараметров = ""; - Если СтрокаДереваТестов.ЕстьПараметрыТеста Тогда - ПараметрТеста = Неопределено; - Если СтрокаДереваТестов.ПараметрыТеста.Свойство("Параметр", ПараметрТеста) Тогда - СтрокаПараметров = "ПараметрТеста"; - КонецЕсли; - КонецЕсли; - - Если ВызыватьИсключение = Истина Тогда - ВызватьИсключение "ПередЗапускомТеста " + ПредставлениеТестовогоСлучая + " обработка:" + СтрокаДереваТестов.ПолныйПуть; - КонецЕсли; - - Попытка - ИcполняемыйКод = "Тест." + ИмяТестовогоСлучая + "(" + СтрокаПараметров + ");"; - Выполнить(ИcполняемыйКод); - Исключение - - текстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - Если ЕстьОшибка_МетодОбъектаНеОбнаружен(текстОшибки, ИмяТестовогоСлучая) Тогда - Сообщение = НСтр("ru = 'Отсутствует реализация тестового метода (%1).'"); - ПропуститьТест(СтрЗаменить(Сообщение, "%1", ИcполняемыйКод)); - Иначе - ВызватьИсключение; - КонецЕсли; - - КонецПопытки; - -КонецПроцедуры - -Функция ПолучитьТестОбъект(СтрокаДереваТестов) - Перем Тест; - - ПолныйПуть = СтрокаДереваТестов.ПолныйПуть; - - Тест = кэшТестовыхОбработок.Получить(ПолныйПуть); - Если Тест = Неопределено Тогда - ИмяТестовойОбработки = СтрокаДереваТестов.ТестовыйСлучайОбъектМетаданныхИмя; - Если СтрокаДереваТестов.ЭтоВнутренняяОбработка Тогда - Тест = СоздатьОбъектОбработкиКонфигурации(ИмяТестовойОбработки); - Иначе - Тест = СоздатьОбъектВнешнейОбработкиОтключаяБезопасныйРежим(ИмяТестовойОбработки); - КонецЕсли; - - массивТестов = ПолучитьТестовыеСлучаи(Тест, ПолныйПуть); // возможно, что тест сохранит у себя ссылку на браузер - Если Не ЗначениеЗаполнено(массивТестов) Тогда - ВызватьИсключение НСтр("ru = 'Не удалось получить тестовые случаи'"); - КонецЕсли; - - кэшТестовыхОбработок.Вставить(ПолныйПуть, Тест); - - КонецЕсли; - - Возврат Тест; - -КонецФункции - -Функция ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(Тест, ИмяПроцедуры) - - Попытка - Выполнить("Тест." + ИмяПроцедуры + "();"); - Исключение - текстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()) ; - Если Не ЕстьОшибка_МетодОбъектаНеОбнаружен(текстОшибки, ИмяПроцедуры) Тогда - ВызватьИсключение; - КонецЕсли; - КонецПопытки; - -КонецФункции - -Функция ВывестиОшибкуВыполненияТеста(СтрокаДереваТестов, ИнфоОшибки, СписокОшибок, РегистрироватьОшибкуВЖР) - - СостояниеВыполнения = мЗначенияСостоянияТестов.Сломался; - - СтруктураОшибки = Новый Структура(); - - ТекстОшибки = КраткоеПредставлениеОшибки(ИнфоОшибки); - Если ЭтоПропущенныйТест(ТекстОшибки) Тогда - СостояниеВыполнения = мЗначенияСостоянияТестов.НеРеализован; - СтруктураОшибки.Вставить("Статус", СтатусыРезультатаТестирования.ТестПропущен); - стИнфоОшибки = Новый Структура; - стИнфоОшибки.Вставить("Описание", ТекстОшибки); - ИначеЕсли ЭтоОшибкаПроверки(ТекстОшибки) Тогда - СтруктураОшибки.Вставить("Статус", СтатусыРезультатаТестирования.ОшибкаПроверки); - стИнфоОшибки = Новый Структура; - стИнфоОшибки.Вставить("Описание", ТекстОшибки); - Иначе - ТекстОшибки = ПодробноеПредставлениеОшибки(ИнфоОшибки); - СтруктураОшибки.Вставить("Статус", СтатусыРезультатаТестирования.НеизвестнаяОшибка); - стИнфоОшибки = СкопироватьИнформациюОбОшибке(ИнфоОшибки); - КонецЕсли; - - ПредставлениеТестовогоСлучая = СтрокаДереваТестов.Имя; - СтруктураОшибки.Вставить("ИмяТестовогоНабора", СтрокаДереваТестов.ИмяТестовогоНабора); - СтруктураОшибки.Вставить("ИмяТестовогоСлучая", ПредставлениеТестовогоСлучая); - СтруктураОшибки.Вставить("Описание", ТекстОшибки); - СтруктураОшибки.Вставить("ИнфоОшибки", стИнфоОшибки); - СтруктураОшибки.Вставить("ЕстьПараметрыТеста", СтрокаДереваТестов.ЕстьПараметрыТеста); - СтруктураОшибки.Вставить("ПараметрыТеста", СтрокаДереваТестов.ПараметрыТеста); - СтруктураОшибки.Вставить("ПолныйПуть", СтрокаДереваТестов.ПолныйПуть); - СтруктураОшибки.Вставить("УИДСтрокиДерева", СтрокаДереваТестов._guid); - - СтрокаДереваТестов.СписокОшибок.Добавить(СтруктураОшибки); - СписокОшибок.Добавить(СтруктураОшибки); - - Если ЭтоСтрокаДереваУФ(СтрокаДереваТестов) Тогда - СтруктураОшибки.Вставить("Идентификатор", СтрокаДереваТестов.ПолучитьИдентификатор()); - Иначе - СтруктураОшибки.Вставить("Идентификатор", Неопределено); - КонецЕсли; - - НужныйТекстОшибки = ВывестиОшибку(СтруктураОшибки); - - Если РегистрироватьОшибкуВЖР Тогда - ЗарегистрироватьОшибкуТеста(НужныйТекстОшибки, ПредставлениеТестовогоСлучая, СтрокаДереваТестов.ПолныйПуть); - КонецЕсли; - - Если СостояниеВыполнения = мЗначенияСостоянияТестов.НеРеализован Тогда - ОповеститьОСобытии("TestNotImplemented", СтрокаДереваТестов); - Иначе - ОповеститьОСобытии("TestFailed", СтрокаДереваТестов); - КонецЕсли; - - Возврат СостояниеВыполнения; - -КонецФункции - -Функция СкопироватьИнформациюОбОшибке(Знач ИнфоОшибки) - - стИнфоОшибки = Новый Структура("ИмяМодуля, ИсходнаяСтрока, НомерСтроки, Описание"); - ЗаполнитьЗначенияСвойств(стИнфоОшибки, ИнфоОшибки); - стИнфоОшибки.Вставить("Причина", Неопределено); - - стИнфоОшибкиЦикл = стИнфоОшибки; - ИнфоОшибки = ИнфоОшибки.Причина; - Пока ИнфоОшибки <> Неопределено Цикл - стИнфоОшибкиЦикл.Причина = Новый Структура("ИмяМодуля, ИсходнаяСтрока, НомерСтроки, Описание"); - стИнфоОшибкиЦикл = стИнфоОшибкиЦикл.Причина; - ЗаполнитьЗначенияСвойств(стИнфоОшибкиЦикл, ИнфоОшибки); - стИнфоОшибкиЦикл.Вставить("Причина", Неопределено); - - ИнфоОшибки = ИнфоОшибки.Причина; - КонецЦикла; - - Возврат стИнфоОшибки; - -КонецФункции - -Функция ЭтоОшибкаПроверки(ТекстОшибки) - - Возврат Найти(ТекстОшибки, "["+ СтатусыРезультатаТестирования.ОшибкаПроверки + "]") = 1; - -КонецФункции - -Функция ЭтоПропущенныйТест(ТекстОшибки) - - Возврат Найти(ТекстОшибки, "["+ СтатусыРезультатаТестирования.ТестПропущен + "]") = 1; - -КонецФункции - -Процедура ПередВыполнениемТестов(ЗапускаемыеТесты) - - мСписокОшибок = Новый СписокЗначений; - мВсегоТестов = 0; - - кэшТестовыхОбработок = Новый Соответствие; - ИнициализироватьСостояниеВыполненияНаборовТестов(ЗапускаемыеТесты); - -КонецПроцедуры - -//{ КОНТРОЛЬ СОСТОЯНИЯ ВЫПОЛНЕНИЯ НАБОРОВ ТЕСТОВ - -Процедура ИнициализироватьСостояниеВыполненияНаборовТестов(ЗапускаемыеТесты) - - СостояниеВыполненияНаборовТестов = Новый Структура; - - Для Каждого ТестовыйМетод Из ЗапускаемыеТесты Цикл - - ЗарегистрироватьТестовыйМетодКЗапуску(ТестовыйМетод); - - КонецЦикла; - -КонецПроцедуры - -Процедура ЗарегистрироватьТестовыйМетодКЗапуску(ТестовыйМетод) - - Состояние = СостояниеВыполненияНабораТестовТестовогоМетода(Тестовыйметод); - Если Состояние = Неопределено Тогда - Состояние = ДобавитьСостояниеВыполненияНабораТестовТестовогоМетода(ТестовыйМетод); - КонецЕсли; - - Состояние.ТестыКЗапуску.Вставить(ИдентификаторПоУИД(ТестовыйМетод._GUID)); - -КонецПроцедуры - -Функция ДобавитьСостояниеВыполненияНабораТестовТестовогоМетода(ТестовыйМетод) - - Состояние = Новый Структура; - Состояние.Вставить("ЭтоПервыйТестВНаборе", Истина); - Состояние.Вставить("ТестыКЗапуску", Новый Структура); - - СостояниеВыполненияНаборовТестов.Вставить(ИдентификаторТестовогоНабора(ТестовыйМетод), Состояние); - Возврат Состояние; - -КонецФункции - -Процедура УчестьЗапускТеста(ТестовыйМетод) - - Состояние = СостояниеВыполненияНабораТестовТестовогоМетода(Тестовыйметод); - Состояние.ТестыКЗапуску.Удалить(ИдентификаторПоУИД(ТестовыйМетод._GUID)); - Состояние.ЭтоПервыйТестВНаборе = Ложь; - -КонецПроцедуры - -Функция ЭтоПервыйТестовыйМетодНабора(ТестовыйМетод) - - Состояние = СостояниеВыполненияНабораТестовТестовогоМетода(ТестовыйМетод); - Возврат Состояние.ЭтоПервыйТестВНаборе; - -КонецФункции - -Функция ЭтоПоследнийТестовыйМетодНабора(ТестовыйМетод) - - Состояние = СостояниеВыполненияНабораТестовТестовогоМетода(Тестовыйметод); - Возврат (Состояние.ТестыКЗапуску.Количество() = 0); - -КонецФункции - -Функция СостояниеВыполненияНабораТестовТестовогоМетода(Тестовыйметод) - Перем Состояние; - - СостояниеВыполненияНаборовТестов.Свойство(ИдентификаторТестовогоНабора(ТестовыйМетод), Состояние); - Возврат Состояние; - -КонецФункции - -Функция ИдентификаторТестовогоНабора(ТестовыйМетод) - - ТестовыйНабор = РодительскаяСтрока(ТестовыйМетод); - Возврат ИдентификаторПоУИД(ТестовыйНабор._GUID) + ТестовыйМетод.ИмяОсновнойУправляемойФормы; - -КонецФункции - -Функция ИдентификаторПоУИД(УИД) - - Возврат "_" + СтрЗаменить(УИД, "-", "_"); - -КонецФункции - -//} - -//{ МЕТОДЫ ЗАГРУЗКИ ТЕСТОВ - -Функция ЗагрузитьТестыКонфигурации(ДеревоТестов, Путь) Экспорт - Если ЗначениеЗаполнено(Путь) Тогда - мКоличествоТестовыхСлучаев = 0; - ОбъектМетаданных = ПолучитьОбъектМетаданныхПоПути(Путь); - Если ОбъектМетаданных <> Неопределено Тогда - Если ВРег(Лев(ОбъектМетаданных.ПолноеИмя(),11)) = "ПОДСИСТЕМА." Тогда - ЗагрузитьТестыПодсистемы(ДеревоТестов, ОбъектМетаданных); - Иначе - ЗагрузитьВстроенныйТестовыйСлучай(ДеревоТестов, ОбъектМетаданных); - КонецЕсли; - КонецЕсли; - КонецЕсли; -КонецФункции - -// Загружает тесты в дерево тестов из подсистемы конфигурации. -// -Функция ЗагрузитьТестыПодсистемы(СтрокаДерева,Подсистема) Экспорт - - ПолныйПуть = СтрЗаменить("Метаданные." + Подсистема.ПолноеИмя(), ".Подсистема.", ".Подсистемы."); - СтрокаТеста = ДобавитьСтрокуДереваТестов(СтрокаДерева, мЗначенияТиповСтроки.Подсистема, ПолныйПуть, Подсистема.Имя); - - Для каждого ПодчиненнаяПодсистема из Подсистема.Подсистемы цикл - ЗагрузитьТестыПодсистемы(СтрокаТеста,ПодчиненнаяПодсистема); - КонецЦикла; - - Для каждого Обработка из Подсистема.Состав цикл - Если Метаданные.Обработки.Найти(Обработка.Имя) <> Неопределено Тогда - ЗагрузитьВстроенныйТестовыйСлучай(СтрокаТеста,Обработка); - КонецЕсли; - КонецЦикла; - - Если ПодчиненныеСтроки(СтрокаТеста).Количество() = 0 Тогда - ПодчиненныеСтроки(СтрокаДерева).Удалить(СтрокаТеста); - КонецЕсли; - -КонецФункции - -// Загружает тестовый случай (обработку) -// -Функция ЗагрузитьВстроенныйТестовыйСлучай(СтрокаДерева,Обработка) - ДанныеОбработки = новый Структура("ПолноеИмя,ИмяБезРасширения"); - ДанныеОбработки.ПолноеИмя = СтрЗаменить("Метаданные." + Обработка.ПолноеИмя(), ".Обработка.", ".Обработки."); - ДанныеОбработки.ИмяБезРасширения = Обработка.Имя; - ДобавитьТест(СтрокаДерева, ДанныеОбработки, Истина); -КонецФункции - -// Загружает тесты в дерево тестов из каталога. -// -Функция ЗагрузитьВсеТесты(КоллекцияФайловКаталогов) Экспорт - - мКоличествоТестовыхСлучаев = 0; - - ДеревоТестов.Строки.Очистить(); - - Для Каждого ПутьКТесту из КоллекцияФайловКаталогов Цикл - Если Найти(ВРег(ПутьКТесту), "МЕТАДАННЫЕ.") = 1 Тогда - ЗагрузитьТестыКонфигурации(ДеревоТестов, ПутьКТесту); - Иначе - ОбъектФайл = Новый Файл(ПутьКТесту); - Если ОбъектФайл.Существует() Тогда - ЗагрузитьТесты(ДеревоТестов, ОбъектФайл); - Иначе - ВывестиОшибку(НСтр("en = 'File or directory does not exist ""'; ru = 'Файл или каталог не существует ""'") + - ОбъектФайл.ПолноеИмя + """"); - Возврат Ложь; - КонецЕсли; - КонецЕсли; - КонецЦикла; - - Возврат Истина; - -КонецФункции - -// Выполняет рекурсивную загрузку тестов и тестовых случаев -// из обработки или каталога с обработками для тестирования. -// -Функция ЗагрузитьТесты(РодительскаяСтрока, ОбъектФайл) - - Если ОбъектФайл.ЭтоКаталог() Тогда - Если ОбъектФайл.ПолучитьНевидимость() и ОбъектФайл.Имя = ".git" Тогда - Возврат Истина; - КонецЕсли; - - СтрокаКаталога = ДобавитьСтрокуДереваТестов(РодительскаяСтрока, мЗначенияТиповСтроки.КаталогТестов, ОбъектФайл.ПолноеИмя, ОбъектФайл.Имя); - - НайденныеФайлы = НайтиФайлы(ОбъектФайл.ПолноеИмя, "*", Ложь); - Для каждого Файл из НайденныеФайлы Цикл - #Если Клиент Тогда - ОбработкаПрерыванияПользователя(); - #КонецЕсли - - Если Файл.ЭтоКаталог() Тогда - - ЗагрузитьТесты(СтрокаКаталога, Файл); - - ИначеЕсли НРег(Файл.Расширение) = ".epf" Тогда - - ДобавитьТест(СтрокаКаталога, Файл); - - КонецЕсли; - - КонецЦикла; - - Если СтрокаКаталога.Строки.Количество() = 0 Тогда - РодительскаяСтрока.Строки.Удалить(СтрокаКаталога); - КонецЕсли; - - Иначе - - Если РодительскаяСтрока = ДеревоТестов ИЛИ РодительскаяСтрока.ТипСтроки = мЗначенияТиповСтроки.КаталогТестов Тогда - ДобавитьТест(РодительскаяСтрока, ОбъектФайл); - КонецЕсли; - - КонецЕсли; - - Возврат Истина; -КонецФункции - -// Добавляет тестовую обработку (тест) в дерево тестов. -// -Процедура ДобавитьТест(РодительскаяСтрока, ФайлТеста, ЭтоВнутренняяОбработка = Ложь) Экспорт - - Перем ТестОбъект; // специально локальная переменная для исключения циклических ссылок - - ПолныйПуть = ФайлТеста.ПолноеИмя; - Попытка - Если ЭтоВнутренняяОбработка Тогда - ТестОбъект = СоздатьОбъектОбработкиКонфигурации(ФайлТеста.ИмяБезРасширения); - Иначе - ТестОбъект = СоздатьОбъектВнешнейОбработкиОтключаяБезопасныйРежим(ПолныйПуть); - КонецЕсли; - Исключение - ТекстОшибки = НСтр("ru = 'Тест не загружен: %1'"); - ВывестиОшибку(СтрЗаменить(ТекстОшибки, "%1", ПолныйПуть) + Символы.ПС + ОписаниеОшибки()); - Возврат; - КонецПопытки; - - МассивТестовыхСлучаев = ПолучитьТестовыеСлучаи(ТестОбъект, ПолныйПуть); - - Если ЗначениеЗаполнено(МассивТестовыхСлучаев) Тогда - РазрешенСлучайныйПорядокВыполнения = Истина; - Попытка - РазрешенСлучайныйПорядокВыполнения = РазрешенСлучайныйПорядокВыполненияТестов(ТестОбъект, ПолныйПуть); - Исключение - МассивТестовыхСлучаев = Неопределено; - КонецПопытки; - КонецЕсли; - - Если ЗначениеЗаполнено(МассивТестовыхСлучаев) Тогда - Представление = ФайлТеста.ИмяБезРасширения; - СтрокаТеста = ДобавитьСтрокуДереваТестов(РодительскаяСтрока, мЗначенияТиповСтроки.ТестовыйСлучай, ПолныйПуть, Представление, - ФайлТеста.ИмяБезРасширения, ЭтоВнутренняяОбработка, РазрешенСлучайныйПорядокВыполнения); - - Для каждого ТестовыйСлучай из МассивТестовыхСлучаев Цикл - #Если Клиент Тогда - ОбработкаПрерыванияПользователя(); - #КонецЕсли - - Если ТипЗнч(ТестовыйСлучай) = Тип("Строка") Тогда - имяТестовогоСлучая = ТестовыйСлучай; - параметрыТеста = Неопределено; - ПредставлениеТеста = имяТестовогоСлучая; - Иначе - имяТестовогоСлучая = ТестовыйСлучай.ИмяТеста; - параметрыТеста = ТестовыйСлучай; - Если НЕ ТестовыйСлучай.Свойство("ПредставлениеТеста", ПредставлениеТеста) или не ЗначениеЗаполнено(ПредставлениеТеста) Тогда - ПредставлениеТеста = имяТестовогоСлучая; - КонецЕсли; - КонецЕсли; - - ТестовыйСлучайОбъектМетаданныхИмя = ?(ЭтоВнутренняяОбработка, ФайлТеста.ИмяБезРасширения, ПолныйПуть); - ДобавитьСтрокуДереваТестов(СтрокаТеста, мЗначенияТиповСтроки.ТестовыйМетод, ПолныйПуть, ПредставлениеТеста, - ТестовыйСлучайОбъектМетаданныхИмя, ЭтоВнутренняяОбработка, РазрешенСлучайныйПорядокВыполнения, - имяТестовогоСлучая, параметрыТеста); - - мКоличествоТестовыхСлучаев = мКоличествоТестовыхСлучаев + 1; - - КонецЦикла; - - КонецЕсли; - -КонецПроцедуры - -// Добавляет в дерево тестов новую строку. -// -Функция ДобавитьСтрокуДереваТестов(РодительскаяСтрока, ТипСтроки = 0, ПолныйПуть, Представление, - ТестовыйСлучайОбъектМетаданныхИмя = "", ЭтоВнутренняяОбработка = Ложь, РазрешенСлучайныйПорядокВыполнения = Истина, - ИмяТестовогоСлучая = "", ПараметрыТеста = Неопределено) - - НоваяСтрока = ПодчиненныеСтроки(РодительскаяСтрока).Добавить(); - - НоваяСтрока.ТипСтроки = ТипСтроки; - НоваяСтрока.ПолныйПуть = ПолныйПуть; - НоваяСтрока.Имя = Представление; - НоваяСтрока.Состояние = мЗначенияСостоянияТестов.НеВыполнялся; - НоваяСтрока._guid = Строка(Новый УникальныйИдентификатор()); - - Если ТипСтроки = мЗначенияТиповСтроки.ТестовыйМетод Или ТипСтроки = мЗначенияТиповСтроки.ТестовыйСлучай Тогда - НоваяСтрока.ТестовыйСлучайОбъектМетаданныхИмя = ТестовыйСлучайОбъектМетаданныхИмя; - НоваяСтрока.ЭтоВнутренняяОбработка = ЭтоВнутренняяОбработка; - НоваяСтрока.РазрешенСлучайныйПорядокВыполнения = РазрешенСлучайныйПорядокВыполнения; - КонецЕсли; - - Если ТипСтроки = мЗначенияТиповСтроки.ТестовыйМетод Тогда - НоваяСтрока.ИмяТестовогоНабора = РодительскаяСтрока.Имя; - НоваяСтрока.ИмяТестовогоСлучая = ИмяТестовогоСлучая; - НоваяСтрока.МодульИлиФорма = мЗначениеМодульИлиФорма.Модуль; - - НоваяСтрока.ЕстьПараметрыТеста = ПараметрыТеста <> Неопределено; - Если НоваяСтрока.ЕстьПараметрыТеста Тогда - НоваяСтрока.ПараметрыТеста = ПараметрыТеста; - НоваяСтрока.ЕстьПараметрыТеста = Истина; - Если НоваяСтрока.Имя = НоваяСтрока.ИмяТестовогоСлучая Тогда - описаниеПараметра = "<пусто>"; - Если ПараметрыТеста.Свойство("Параметр") Тогда - описаниеПараметра = Строка(ПараметрыТеста.Параметр); - КонецЕсли; - - НоваяСтрока.Имя = НоваяСтрока.Имя + " ( " + описаниеПараметра + " )"; - КонецЕсли; - КонецЕсли; - КонецЕсли; - - ОповеститьОСобытии("TestLoaded", НоваяСтрока); - - Возврат НоваяСтрока; - -КонецФункции - -//} - -// получает мИнформатор. Возвращает Неопределено, если мИнформатор не удалось загрузить -Функция ПолучитьИнформатор() Экспорт - -#Если НЕ ТолстыйКлиентОбычноеПриложение Тогда - ВызватьИсключение "Информатор пока можно использовать только в толстом клиенте обычного приложения!"; -#КонецЕсли - - Если мИнформатор = Неопределено И мПытаемсяСоздатьИнформатор Тогда - СистемнаяИнформация = Новый СистемнаяИнформация; - используемПлатформу8_3 = Лев(СистемнаяИнформация.ВерсияПриложения, 3) = "8.3"; - Если используемПлатформу8_3 Тогда - мПытаемсяСоздатьИнформатор = Ложь; - Возврат Неопределено; - КонецЕсли; - - - Если ЭтоВстроеннаяОбработка Тогда - Попытка - мИнформатор = Неопределено; - Выполнить("мИнформатор = Обработки.xddInformator.Создать();"); - Исключение - ВывестиОшибку("Класс Информатор не удалось создать <Обработки.xddInformator>"); - - мИнформатор = Неопределено; - мПытаемсяСоздатьИнформатор = Ложь; - Возврат Неопределено; - КонецПопытки; - Иначе - НайденноеИмяФайла = Неопределено; - Выполнить("НайденноеИмяФайла = ЭтотОбъект.ИспользуемоеИмяФайла;"); - файл = Новый Файл(НайденноеИмяФайла); - - путьИнформатора = файл.Путь + "xddInformator.epf"; - файл = Новый Файл(путьИнформатора); - - Если НЕ файл.Существует() Тогда - ВывестиОшибку("Класс Информатор не найден <"+путьИнформатора+">"); - Возврат Неопределено; - КонецЕсли; - - Попытка - мИнформатор = СоздатьОбъектВнешнейОбработкиОтключаяБезопасныйРежим(путьИнформатора); - Исключение - ВывестиОшибку("Класс Информатор не удалось создать <"+путьИнформатора+">"); - - мИнформатор = Неопределено; - мПытаемсяСоздатьИнформатор = Ложь; - Возврат Неопределено; - КонецПопытки; - КонецЕсли; - КонецЕсли; - - Возврат мИнформатор; -КонецФункции - -// Получает с помощью Информатора массив тестовых экспортных методов, начинающихся с Тест -// может вызываться из теста из его метода ПолучитьСписокТестов(ЮнитТестирование) -Функция ДобавитьПростыеТестыИзОбъекта(массивТестов, ТестовыйОбъект) Экспорт - Если мИнформатор = Неопределено Тогда - Возврат Ложь; - КонецЕсли; - - Попытка - ТаблицаМетодов = мИнформатор.ПолучитьТаблицуМетодов(ТестовыйОбъект); - - Для каждого СтрокаТаблицыМетодов из ТаблицаМетодов Цикл - наименованиеТеста = СтрокаТаблицыМетодов.Наименование; - Если НРег(Лев(наименованиеТеста, 4)) = "тест" - И СтрокаТаблицыМетодов.КоличествоПараметров = 0 Тогда - - Если массивТестов.Найти(наименованиеТеста) = Неопределено Тогда - массивТестов.Добавить(наименованиеТеста); - КонецЕсли; - КонецЕсли; - КонецЦикла; - Исключение - ВывестиОшибку("Ошибка получения списка тестовых случаев: " + ОписаниеОшибки()); - Возврат Ложь; - КонецПопытки; - - Возврат Истина; -КонецФункции - -// Возвращает массив тестовых случаев обработки для тестирования. -Функция ПолучитьТестовыеСлучаи(ТестОбъект, ПолноеИмяОбъекта) - - Попытка - - #Если ТолстыйКлиентОбычноеПриложение Тогда - //#Если Клиент Тогда - получаемСписокТестовИзТестОбъекта = мИнформатор = Неопределено - или мИнформатор.МетодСуществует(ТестОбъект, "ПолучитьСписокТестов"); // после вызова Информатора появляются циклические ссылки - Если НЕ получаемСписокТестовИзТестОбъекта Тогда - Возврат Неопределено; - КонецЕсли; - - #Иначе - получаемСписокТестовИзТестОбъекта = Истина; - #КонецЕсли - - Если получаемСписокТестовИзТестОбъекта Тогда - МассивТестовыхСлучаев = ТестОбъект.ПолучитьСписокТестов(ЭтотОбъект); - КонецЕсли; - - Исключение - текстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()) ; - - // TODO если не использовать переменную ниже, а поставить вызов метода в условие, то будет глюк - внутрь условия не попадаем ! - ЕстьОшибка_МетодОбъектаНеОбнаружен = ЕстьОшибка_МетодОбъектаНеОбнаружен(текстОшибки, "ПолучитьСписокТестов"); - Если НЕ ЕстьОшибка_МетодОбъектаНеОбнаружен Тогда - - ВывестиОшибку("Набор тестов не загружен: " + ПолноеИмяОбъекта + " - | Ошибка получения списка тестовых случаев: " + ОписаниеОшибки()); - - ТестОбъект = Неопределено; - КонецЕсли; - - Возврат Неопределено; - - КонецПопытки; - - Если ТипЗнч(МассивТестовыхСлучаев) <> Тип("Массив") Тогда - - //Если выводитьОшибку Тогда - ВывестиОшибку("Набор тестов не загружен: " + ПолноеИмяОбъекта + " - | Ошибка получения списка тестовых случаев: вместо массива имен тестовых случаев получен объект <" + Строка(ТипЗнч(МассивТестовыхСлучаев)) + ">"); - //КонецЕсли; - ТестОбъект = Неопределено; - Возврат Неопределено; - - КонецЕсли; - - Если НЕ ПроверитьМассивТестовыхСлучаев(МассивТестовыхСлучаев, ТестОбъект, ПолноеИмяОбъекта) Тогда - Возврат Неопределено; - КонецЕсли; - - Возврат МассивТестовыхСлучаев; - -КонецФункции - -Функция ПроверитьМассивТестовыхСлучаев(МассивТестовыхСлучаев, ТестОбъект, ПолноеИмяОбъекта) - Для каждого данныеТеста из МассивТестовыхСлучаев Цикл - Если ТипЗнч(данныеТеста) = Тип("Строка") Тогда - Продолжить; - КонецЕсли; - - Если ТипЗнч(данныеТеста) <> Тип("Структура") Тогда - ВывестиОшибку("Набор тестов не загружен: " + ПолноеИмяОбъекта + " - | Ошибка получения структуры описания тестового случая: " + ОписаниеОшибки()); - Возврат Ложь; - КонецЕсли; - Если НЕ данныеТеста.Свойство("ИмяТеста") Тогда - ВывестиОшибку("Набор тестов не загружен: " + ПолноеИмяОбъекта + " - | Не задано имя теста в структуре описания тестового случая: " + ОписаниеОшибки()); - Возврат Ложь; - КонецЕсли; - КонецЦикла; - Возврат Истина; -КонецФункции - -Функция РазрешенСлучайныйПорядокВыполненияТестов(ТестОбъект, ПолноеИмяОбъекта) Экспорт - Рез = Истина; - ИмяМетода = "РазрешенСлучайныйПорядокВыполненияТестов"; - Попытка - - Рез = ТестОбъект.РазрешенСлучайныйПорядокВыполненияТестов(); - - Исключение - текстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()) ; - - // TODO если не использовать переменную ниже, а поставить вызов метода в условие, то будет глюк - внутрь условия не попадаем ! - ЕстьОшибка_МетодОбъектаНеОбнаружен = ЕстьОшибка_МетодОбъектаНеОбнаружен(текстОшибки, ИмяМетода); - Если НЕ ЕстьОшибка_МетодОбъектаНеОбнаружен Тогда - - ТекстОшибки = НСтр("ru = 'Набор тестов не загружен: %1: - | Ошибка вызова метода %2 из теста: %3'"); - ТекстОшибки = СтрЗаменить(ТекстОшибки, "%1", ПолноеИмяОбъекта); - ТекстОшибки = СтрЗаменить(ТекстОшибки, "%2", ИмяМетода); - ТекстОшибки = СтрЗаменить(ТекстОшибки, "%3", ОписаниеОшибки()); - ВызватьИсключение ТекстОшибки; - КонецЕсли; - - КонецПопытки; - - Возврат Рез; - -КонецФункции - -// Возвращает количество подчиненных тестовых случаев для заданной строки дерева тестов. -// -Функция ПолучитьКоличествоТестовыхСлучаев(СтрокаДереваТестов) Экспорт - - Если СтрокаДереваТестов.ТипСтроки = мЗначенияТиповСтроки.ТестовыйМетод Тогда - Возврат 1; - КонецЕсли; - - КоличествоТестовыхСлучаев = 0; - Для каждого ПодчиненнаяСтрока из СтрокаДереваТестов.Строки Цикл - КоличествоТестовыхСлучаев = КоличествоТестовыхСлучаев + ПолучитьКоличествоТестовыхСлучаев(ПодчиненнаяСтрока); - КонецЦикла; - - Возврат КоличествоТестовыхСлучаев; - -КонецФункции - -//{ ФОРМИРОВАНИЕ ОТЧЕТА О ТЕСТИРОВАНИИ - -Функция ПолучитьОтчетТестирования(ДеревоТестов, датаНачалаТестирования, ТипОтчета = "mxl", СписокОшибок, ВсегоТестов) Экспорт - - Если ТипОтчета = "xml" Тогда - Отчет = ВывестиОтчетТестированияВФорматеJunitXML(ДеревоТестов, датаНачалаТестирования, ВсегоТестов, СписокОшибок); - Иначе - Отчет = ВывестиОтчетТестированияВоВнутреннемФормате(ДеревоТестов, датаНачалаТестирования, СписокОшибок, ВсегоТестов) - КонецЕсли; - - Возврат Отчет; - -КонецФункции - -//{ Отчет в формате JUnit - -Процедура ЗаполнитьРезультатТестовогоСлучая(ЗаписьXML, СтрокаТестов) - - #Если _ Тогда - ЗаписьXML = Новый ЗаписьXML; - #КонецЕсли - ИмяТестовогоНабора = СтрокаТестов.ИмяТестовогоНабора; - - Если СтрокаТестов.СписокОшибок.Количество() > 0 Тогда - Для Каждого Ошибка Из СтрокаТестов.СписокОшибок Цикл - СтруктураОшибки = Ошибка.Значение; - Если СтруктураОшибки.Статус = СтатусыРезультатаТестирования.ОшибкаПроверки Тогда - Статус = "failure"; - ИначеЕсли СтруктураОшибки.Статус = СтатусыРезультатаТестирования.ТестПропущен Тогда - Статус = "skipped"; - Иначе - Статус = "error"; - КонецЕсли; - - ЗаписьXML.ЗаписатьНачалоЭлемента("testcase"); - ЗаписьXML.ЗаписатьАтрибут("classname", ИмяТестовогоНабора); - ЗаписьXML.ЗаписатьАтрибут("name", СтрокаТестов.Имя); - ЗаписьXML.ЗаписатьАтрибут("time", XMLСтрока(СтрокаТестов.ВремяВыполнения)); - ЗаписьXML.ЗаписатьАтрибут("status", Статус); - - ЗаписьXML.ЗаписатьНачалоЭлемента(Статус); - - СтрокаОписание = СтруктураОшибки.Описание; - Поз = НайтиНедопустимыеСимволыXML(СтрокаОписание); - Если Поз <> 0 Тогда - Поз = 1; - КоличествоПовторов = СтрДлина(СтрокаОписание); - - Пока КоличествоПовторов > 0 Цикл - Поз = НайтиНедопустимыеСимволыXML(СтрокаОписание, Поз); - Если Поз = 0 Тогда - Прервать; - КонецЕсли; - КоличествоПовторов = КоличествоПовторов - 1; - СтрокаОписание = Лев(СтрокаОписание, Поз-1) + Сред(СтрокаОписание, Поз+1); - КонецЦикла; - КонецЕсли; - XMLОписание = XMLСтрока(СтрокаОписание); - ЗаписьXML.ЗаписатьАтрибут("message", XMLОписание); - - ЗаписьXML.ЗаписатьКонецЭлемента(); - - ЗаписьXML.ЗаписатьКонецЭлемента(); - КонецЦикла; - Иначе - ЗаписьXML.ЗаписатьНачалоЭлемента("testcase"); - ЗаписьXML.ЗаписатьАтрибут("classname", ИмяТестовогоНабора); - ЗаписьXML.ЗаписатьАтрибут("name", СтрокаТестов.Имя); - ЗаписьXML.ЗаписатьАтрибут("time", XMLСтрока(СтрокаТестов.ВремяВыполнения)); - ЗаписьXML.ЗаписатьАтрибут("status", "passed"); - ЗаписьXML.ЗаписатьКонецЭлемента(); - КонецЕсли; - -КонецПроцедуры - -Процедура ЗаполнитьРезультатТестовИерархически(ЗаписьXML, СтрокаТестов) - - #Если _ Тогда - ЗаписьXML = Новый ЗаписьXML; - #КонецЕсли - - Если СтрокаТестов.ТипСтроки = мЗначенияТиповСтроки.ТестовыйМетод Тогда - - ЗаполнитьРезультатТестовогоСлучая(ЗаписьXML, СтрокаТестов); - Возврат; - - КонецЕсли; - - ЗаписьXML.ЗаписатьНачалоЭлемента("testsuite"); - ЗаписьXML.ЗаписатьАтрибут("name", СтрокаТестов.Имя); - ЗаписьXML.ЗаписатьНачалоЭлемента("properties"); - - Если СтрокаТестов.ЕстьПараметрыТеста Тогда - ЗаписьXML.ЗаписатьНачалоЭлемента("property"); - ЗаписьXML.ЗаписатьАтрибут("ЕстьПараметрыТеста",XMLСтрока(СтрокаТестов.ЕстьПараметрыТеста)); - ЗаписьXML.ЗаписатьКонецЭлемента(); - КонецЕсли; - - ЗаписьXML.ЗаписатьКонецЭлемента(); - - Для каждого ЭлементСтроки из СтрокаТестов.Строки Цикл - - Если ЭлементСтроки.ТипСтроки = мЗначенияТиповСтроки.ТестовыйМетод Тогда - ЗаполнитьРезультатТестовогоСлучая(ЗаписьXML, ЭлементСтроки); - Продолжить; - Иначе - ЗаполнитьРезультатТестовИерархически(ЗаписьXML, ЭлементСтроки) - КонецЕсли; - - КонецЦикла; - - ЗаписьXML.ЗаписатьКонецЭлемента(); - -КонецПроцедуры - -Функция ВывестиОтчетТестированияВФорматеJunitXML(ДеревоТестов, датаНачалаТестирования, ВсегоТестов, СписокОшибок) Экспорт - - ЗаписьXML = Новый ЗаписьXML; - ЗаписьXML.УстановитьСтроку("UTF-8"); - ЗаписьXML.ЗаписатьОбъявлениеXML(); - - КоличествоОшибокПроверок = 0; - КоличествоПропущенныхТестов = 0; - КоличествоПрочихОшибок = 0; - Для Каждого Ошибка Из СписокОшибок Цикл - Если Ошибка.Значение.Статус = СтатусыРезультатаТестирования.ОшибкаПроверки Тогда - КоличествоОшибокПроверок = КоличествоОшибокПроверок + 1; - ИначеЕсли Ошибка.Значение.Статус = СтатусыРезультатаТестирования.ТестПропущен Тогда - КоличествоПропущенныхТестов = КоличествоПропущенныхТестов + 1; - Иначе - КоличествоПрочихОшибок = КоличествоПрочихОшибок + 1; - КонецЕсли; - КонецЦикла; - - ЗаписьXML.ЗаписатьНачалоЭлемента("testsuites"); - ЗаписьXML.ЗаписатьАтрибут("tests", XMLСтрока(ВсегоТестов)); - ЗаписьXML.ЗаписатьАтрибут("name", XMLСтрока("1CUNIT")); //TODO: указывать путь к набору тестов. - ЗаписьXML.ЗаписатьАтрибут("time", XMLСтрока(Формат(ТекущаяДата() - датаНачалаТестирования, "ДФ=HH.mm.ss"))); - ЗаписьXML.ЗаписатьАтрибут("failures", XMLСтрока(КоличествоОшибокПроверок)); - ЗаписьXML.ЗаписатьАтрибут("errors", XMLСтрока(КоличествоПрочихОшибок)); - ЗаписьXML.ЗаписатьАтрибут("skipped", XMLСтрока(КоличествоПропущенныхТестов)); - - Для каждого ЭлементСтроки из ДеревоТестов.Строки Цикл - ЗаполнитьРезультатТестовИерархически(ЗаписьXML, ЭлементСтроки); - - КонецЦикла; - - ЗаписьXML.ЗаписатьКонецЭлемента(); - - Возврат ЗаписьXML.Закрыть(); - - -КонецФункции - -//} - -//{ Отчет во внутреннем формате (ТабличныйДокумент) - -Функция ВывестиОтчетТестированияВоВнутреннемФормате(ДеревоТестов, датаНачалаТестирования, СписокОшибок, ВсегоТестов) - - КоличествоОшибок = СписокОшибок.Количество(); - Если КоличествоОшибок = 0 Тогда - Возврат Неопределено; - КонецЕсли; - - ПрошлоВремени = ТекущаяДата() - датаНачалаТестирования; - - ТабДок = Новый ТабличныйДокумент; - макет = ПолучитьМакет("ОтчетТестирования"); - - КоличествоОшибокПроверок = 0; - КоличествоПропущенныхТестов = 0; - КоличествоПрочихОшибок = 0; - Для Каждого Ошибка Из СписокОшибок Цикл - Если Ошибка.Значение.Статус = СтатусыРезультатаТестирования.ОшибкаПроверки Тогда - КоличествоОшибокПроверок = КоличествоОшибокПроверок + 1; - ИначеЕсли Ошибка.Значение.Статус = СтатусыРезультатаТестирования.ТестПропущен Тогда - КоличествоПропущенныхТестов = КоличествоПропущенныхТестов + 1; - Иначе - КоличествоПрочихОшибок = КоличествоПрочихОшибок + 1; - КонецЕсли; - КонецЦикла; - - Секция = макет.ПолучитьОбласть("Заголовок"); - Секция.Параметры.ВсегоТестов = ВсегоТестов; - Секция.Параметры.НеПрошлоПроверку = КоличествоОшибокПроверок; - Секция.Параметры.ПрочиеОшибки = КоличествоПрочихОшибок; - Секция.Параметры.Пропущено = КоличествоПропущенныхТестов; - Секция.Параметры.ПрошлоВремени = ПрошлоВремени; - Секция.Параметры.ПрошлоВремениСтрока = формат(Дата(1,1,1) + ПрошлоВремени, "ДЛФ=T"); - Секция.Параметры.ВремяВыполненияОдногоТеста = ?(ВсегоТестов = 0, "", Формат(ПрошлоВремени / ВсегоТестов * 1000, "ЧЦ=15; ЧДЦ=2")); - ТабДок.Вывести(Секция); - - ТабДок.НачатьАвтогруппировкуСтрок(); - - Для Каждого Ошибка Из СписокОшибок Цикл - #Если Клиент Тогда - ОбработкаПрерыванияПользователя(); - #КонецЕсли - - ВывестиОшибкуВМакет(ТабДок, макет, Ошибка.Значение); - КонецЦикла; - - ТабДок.ЗакончитьАвтогруппировкуСтрок(); - - ТабДок.ОтображатьСетку = Ложь; - ТабДок.Защита = Ложь; - ТабДок.ТолькоПросмотр = Ложь; - ТабДок.ОтображатьЗаголовки = Ложь; - - Возврат ТабДок; - -КонецФункции - -Процедура ВывестиОшибкуВМакет(ТабДок, макет, _Ошибка) - - Секция = макет.ПолучитьОбласть("НаименованиеНабора"); - ЗаполнитьЗначенияСвойств(Секция.Параметры, _Ошибка); - ТабДок.Вывести(Секция, 1); - - Секция = макет.ПолучитьОбласть("НаименованиеТеста"); - ЗаполнитьЗначенияСвойств(Секция.Параметры, _Ошибка); - ТабДок.Вывести(Секция, 2); - - Если _Ошибка.ЕстьПараметрыТеста Тогда - Секция = макет.ПолучитьОбласть("ПараметрыТеста"); - ЗаполнитьЗначенияСвойств(Секция.Параметры, _Ошибка); - ТабДок.Вывести(Секция, 2); - КонецЕсли; - - ИнфоОшибки = _Ошибка.ИнфоОшибки; - Если _Ошибка.Статус = СтатусыРезультатаТестирования.ОшибкаПроверки - Или _Ошибка.Статус = СтатусыРезультатаТестирования.ТестПропущен Тогда - Секция = макет.ПолучитьОбласть("R1C1:R2C3"); - Секция.Область("R1C3").Текст = ИнфоОшибки.Описание; - ТабДок.Вывести(Секция, 3); - Иначе - Пока ИнфоОшибки <> Неопределено Цикл - Секция = макет.ПолучитьОбласть("R1C1:R4C3"); - Секция.Область("R1C3").Текст = ИнфоОшибки.ИмяМодуля + ", строка № "+ИнфоОшибки.НомерСтроки; - Секция.Область("R2C3").Текст = ИнфоОшибки.ИсходнаяСтрока; - Секция.Область("R3C3").Текст = ИнфоОшибки.Описание; - - ТабДок.Вывести(Секция, 3); - - ИнфоОшибки = ИнфоОшибки.Причина; - КонецЦикла; - КонецЕсли; - -КонецПроцедуры - -//} - -//} - -//{ ВСПОМОГАТЕЛЬНЫЕ МЕТОДЫ ОБЩЕГО НАЗНАЧЕНИЯ - -// портирован из Functest -Функция СравнитьТаблицы(ТаблицаОжиданий, ТаблицаРезультатов, ТаблицаРазличий) - - Если ТаблицаОжиданий.Количество() <> ТаблицаРезультатов.Количество() Тогда - Возврат РезультатыСравненияТаблиц.РазноеКоличествоСтрок; - КонецЕсли; - - Если ТаблицаОжиданий.Количество() = 0 Тогда - Возврат РезультатыСравненияТаблиц.ТаблицыСовпадают; //Пустые таблицы всегда одинаковы - КонецЕсли; - - //Проверим структуру колонок - - //TODO При этом сравнении в структуре ТаблицаРезультатов может оказаться больше колонок, чем в ТаблицаОжиданий, - // так что для абсолютного точного сравнения нужно добавить проверку совпадения количества колонок. - ОжидаемыеКолонки = ТаблицаОжиданий.Колонки; - КолонкиРезультата = ТаблицаРезультатов.Колонки; - Для Каждого Колонка Из ОжидаемыеКолонки Цикл - Если КолонкиРезультата.Найти(Колонка.Имя) = Неопределено Тогда - Возврат РезультатыСравненияТаблиц.РазличаютсяКолонки; - КонецЕсли; - КонецЦикла; - - Возврат СравнитьЗначенияТаблиц(ТаблицаОжиданий, ТаблицаРезультатов, ТаблицаРазличий); - -КонецФункции - -// портирован из Functest -Функция СравнитьЗначенияТаблиц(ТаблицаОжиданий, ТаблицаРезультатов, Различия) - - Различия = Новый ТаблицаЗначений; - Различия.Колонки.Очистить(); - Различия.Колонки.Добавить("Строка",Новый ОписаниеТипов("Число")); - Различия.Колонки.Добавить("Колонка",Новый ОписаниеТипов("Строка")); - Различия.Колонки.Добавить("Ожидание"); - Различия.Колонки.Добавить("Результат"); - - РезультатСравнения = РезультатыСравненияТаблиц.ТаблицыСовпадают; - - Колонки = ТаблицаОжиданий.Колонки; - ГраницаСтрок = ТаблицаОжиданий.Количество() - 1; - Для Индекс = 0 По ГраницаСтрок Цикл - - ОжидаемаяСтрока = ТаблицаОжиданий[Индекс]; - СтрокаРезультата = ТаблицаРезультатов[Индекс]; - - Для Каждого Колонка Из Колонки Цикл - ИмяКолонки = Колонка.Имя; - - ОжидаемоеЗначение = ОжидаемаяСтрока[ИмяКолонки]; - ЗначениеРезультата = СтрокаРезультата[ИмяКолонки]; - Если ОжидаемоеЗначение = ЗначениеРезультата - Или (Не ЗначениеЗаполнено(ОжидаемоеЗначение) И Не ЗначениеЗаполнено(ЗначениеРезультата)) Тогда //Пустые значения разных типов 1С-м не считаются равными :( - Продолжить; - КонецЕсли; - - Различие = Различия.Добавить(); - Различие.Строка = Индекс + 1; - Различие.Колонка = ИмяКолонки; - Различие.Ожидание = ОжидаемоеЗначение; - Различие.Результат = ЗначениеРезультата; - РезультатСравнения = РезультатыСравненияТаблиц.НеСовпадаютЗначенияВЯчейкеТаблицы; - - КонецЦикла; - - КонецЦикла; - - Возврат РезультатСравнения; - -КонецФункции - -Функция ИдентификаторПустогоКонтекста() - Возврат "OF_xUnitFor1C_Empty"; -КонецФункции - -Функция ВывестиОшибку(Ошибка) Экспорт - - НужныйТекстОшибки = ПолучитьРазвернутыйТекстОшибки(Ошибка); - - ВывестиСообщение(НужныйТекстОшибки, СтатусСообщения.Важное); - - Возврат НужныйТекстОшибки; -КонецФункции - -Функция ПолучитьРазвернутыйТекстОшибки(Ошибка) - ТипОбъектаОшибка = ТипЗнч(Ошибка); - - Если ТипОбъектаОшибка = Тип("Структура") Тогда - - НужныйТекстОшибки = "[" + Ошибка.ИмяТестовогоНабора + ": " + Ошибка.ИмяТестовогоСлучая + "] " + Ошибка.Описание; - - ИначеЕсли ТипОбъектаОшибка = Тип("ИнформацияОбОшибке") Тогда - - НужныйТекстОшибки = Ошибка.Описание; - - Иначе - - НужныйТекстОшибки = Ошибка; - - КонецЕсли; - Возврат НужныйТекстОшибки; -КонецФункции - -Функция ФорматДСО(ДопСообщениеОшибки) - Если ДопСообщениеОшибки = "" Тогда - Возврат ""; - КонецЕсли; - - Возврат Символы.ПС + ДопСообщениеОшибки; -КонецФункции - -Функция СоздатьОбъектВнешнейОбработкиОтключаяБезопасныйРежим(путьФайла) Экспорт - Возврат ВнешниеОбработки.Создать(путьФайла, Ложь); -КонецФункции - -Функция СоздатьОбъектОбработкиКонфигурации(ИмяОбработки) Экспорт - Возврат Обработки[ИмяОбработки].Создать(); -КонецФункции - -Функция ОбновитьСостояниеВыбранныхСтрок(ВыбранныеСтроки) Экспорт - - СостояниеВыполнения = мЗначенияСостоянияТестов.НеВыполнялся; - ВремяВыполнения = 0; - Для Каждого Строка Из ВыбранныеСтроки Цикл - - Если Строка.ТипСтроки <> мЗначенияТиповСтроки.ТестовыйМетод Тогда - Состояние = ОбновитьСостояниеВыбранныхСтрок(Строка.Строки); - Строка.Состояние = Состояние.СостояниеВыполнения; - Строка.ВремяВыполнения = Состояние.ВремяВыполнения; - КонецЕсли; - - ЗапомнитьСамоеХудшееСостояние(СостояниеВыполнения, Строка.Состояние); - ВремяВыполнения = ВремяВыполнения + Строка.ВремяВыполнения; - - КонецЦикла; - - Возврат Новый Структура("СостояниеВыполнения, ВремяВыполнения", СостояниеВыполнения, ВремяВыполнения); - -КонецФункции - -Процедура ОбновитьСостояниеРодителейВыбранныхСтрок(ВыбранныеСтроки) Экспорт - - Для Каждого Строка Из ВыбранныеСтроки Цикл - ИзменитьСостояниеВыполненияРодителей(Строка); - ИзменитьВремяВыполненияРодителей(Строка); - КонецЦикла; - -КонецПроцедуры - -// Устанавливает новое текущее состояние выполнения тестов -// в соответствии с приоритетами состояний: -// Красное - заменяет все другие состояния -// Желтое - заменяет только зеленое состояние -// Зеленое - заменяет только серое состояние (тест не выполнялся ни разу). -Функция ЗапомнитьСамоеХудшееСостояние(ТекущееСостояние, НовоеСостояние) - - ТекущееСостояние = Макс(ТекущееСостояние, НовоеСостояние); - Возврат ТекущееСостояние; - -КонецФункции - -// Рекурсивно вверх от текущей строки меняет состояние у родительских строк. -// -Процедура ИзменитьСостояниеВыполненияРодителей(СтрокаДереваТестов) Экспорт - - СтрокаРодителя = СтрокаДереваТестов.Родитель; - Если СтрокаРодителя = Неопределено Тогда - Возврат; - КонецЕсли; - - ПредыдушееСостояние = СтрокаРодителя.Состояние; - Состояние = мЗначенияСостоянияТестов.НеВыполнялся; - Для Каждого Строка Из СтрокаРодителя.Строки Цикл - Если Строка.Состояние = мЗначенияСостоянияТестов.НеВыполнялся Тогда - Состояние = мЗначенияСостоянияТестов.НеВыполнялся; - Прервать; - КонецЕсли; - ЗапомнитьСамоеХудшееСостояние(Состояние, Строка.Состояние); - КонецЦикла; - Если ПредыдушееСостояние <> Состояние Тогда - СтрокаРодителя.Состояние = Состояние; - ИзменитьСостояниеВыполненияРодителей(СтрокаРодителя); - КонецЕсли; - -КонецПроцедуры - -Процедура ИзменитьВремяВыполненияРодителей(СтрокаДереваТестов) Экспорт - - СтрокаРодителя = СтрокаДереваТестов.Родитель; - Если СтрокаРодителя = Неопределено Тогда - Возврат; - КонецЕсли; - - ВремяВыполнения = 0; - Для Каждого Строка Из СтрокаРодителя.Строки Цикл - ВремяВыполнения = ВремяВыполнения + Строка.ВремяВыполнения; - КонецЦикла; - Если СтрокаРодителя.ВремяВыполнения <> ВремяВыполнения Тогда - СтрокаРодителя.ВремяВыполнения = ВремяВыполнения; - ИзменитьВремяВыполненияРодителей(СтрокаРодителя); - КонецЕсли; - -КонецПроцедуры - -// Оповещает внешний мир о каком-либо событии. Используется -// для взаимодействия со скриптом Снегопата, а также с формой браузера -// когда он запущен в режиме обычного приложения. -// -Функция ОповеститьОСобытии(ИмяСобытия, Аргумент1=Неопределено) - рез = Истина; - Если mMiddleMan <> Неопределено Тогда - Попытка - Выполнить("mMiddleMan." + ИмяСобытия + "(Аргумент1);"); - Исключение - рез = Ложь; - КонецПопытки; - КонецЕсли; - #Если Клиент Тогда - Оповестить("xUnitFor1C." + ИмяСобытия, Аргумент1); - #КонецЕсли - Возврат рез; -КонецФункции - -Функция ЕстьОшибка_МетодОбъектаНеОбнаружен(текстОшибки, имяМетода) - Результат = Ложь; - Если Найти(текстОшибки, "Метод объекта не обнаружен ("+имяМетода+")") > 0 - ИЛИ Найти(текстОшибки, "Object method not found ("+имяМетода+")") > 0 Тогда - Результат = Истина; - КонецЕсли; - - Возврат Результат; -КонецФункции - -Процедура ЗаписатьКодВозвратаВЛогФайл(ПутьКФайлуЛога, КодВозврата, КодРезультатаТестирования = Неопределено) Экспорт - ФайлЛога = Новый Файл(ПутьКФайлуЛога); - КаталогЛога = Новый Файл(ФайлЛога.Путь); - Если НЕ КаталогЛога.Существует() Тогда - ВывестиСообщение("Ожидали, что каталог лог-файла кода возврата будет существовать, а он не существует. <"+ФайлЛога.Путь+">"); - Возврат; - КонецЕсли; - - Запись = Новый ЗаписьТекста(ПутьКФайлуЛога); - Запись.ЗаписатьСтроку(КодВозврата); - Если КодРезультатаТестирования <> Неопределено Тогда - Запись.ЗаписатьСтроку(КодРезультатаТестирования); - КонецЕсли; - Запись.Закрыть(); -КонецПроцедуры - -Процедура ЗарегистрироватьНачалоПрохожденияТеста(ИмяТестовогоСлучая, ПолныйПуть) Экспорт - ЗаписьЖурналаРегистрации("xUnitFor1C.ЗапускТеста", - УровеньЖурналаРегистрации.Информация, , , - "Имя теста " + ИмяТестовогоСлучая+", путь теста "+ПолныйПуть); -КонецПроцедуры - -Процедура ЗарегистрироватьОшибкуТеста(НужныйТекстОшибки, ИмяТестовогоСлучая, ПолныйПуть) Экспорт - ЗаписьЖурналаРегистрации("xUnitFor1C.ПадениеТеста", - УровеньЖурналаРегистрации.Ошибка, , , - "Имя теста " + ИмяТестовогоСлучая+", путь теста "+ПолныйПуть+Символы.ПС+НужныйТекстОшибки); -КонецПроцедуры - -Процедура УстановитьДанныеТекущегоТеста(ДанныеТекущегоТеста) - УстановитьКонтекст(ДанныеТекущегоТеста, "xUnitFor1C_ДанныеТекущегоТеста"); -КонецПроцедуры - -Функция СоздатьПустуюСтруктуруСостоянияТекущегоТеста() - Результат = Новый Структура; - Результат.Вставить("Имя", ""); - Результат.Вставить("ПолныйПуть", ""); - Результат.Вставить("СостояниеТеста", ""); - Возврат Результат; -КонецФункции - -//} - -//{ Обработка параметров командной строки -// Пример строки запуска для внешних файлов - "Тесты_Команда_Тестировать;E:\ТестыИМ\Тесты;ЗавершитьРаботуПослеТестирования" -// "C:\Program Files (x86)\1cv82\8.2.18.96\bin\1cv8c.exe" /DisableStartupMessages /Execute E:\ТестыИМ\xddTestRunner.epf /S "server\ib" /Out "E:\ТестыИМ\Тесты\log.txt" /C "Тесты_Команда_Тестировать;E:\ТестыИМ\Тесты;ЗавершитьРаботуПослеТестирования" /LogUI -// -// Пример строки запуска для внутренний тестов-обработок - "ЭтоТестИзКонфигурации;Тесты_Команда_Тестировать;Подсистемы.Тестирование;ЗавершитьРаботуПослеТестирования" -// "C:\Program Files (x86)\1cv82\8.2.18.96\bin\1cv8c.exe" /DisableStartupMessages /Execute E:\ТестыИМ\xddTestRunner.epf /S "server\ib" /Out "E:\ТестыИМ\Тесты\log.txt" /C "Тесты_Команда_Тестировать;E:\ТестыИМ\Тесты;ЗавершитьРаботуПослеТестирования" /LogUI -Функция РазобратьПараметрыЗапуска(СтрокаПараметровЗапуска) Экспорт - - РезСтруктураПараметров = СоздатьСтруктуруПараметровЗапуска(); - КоллекцияКомандЗапуска = СоздатьКоллекциюКомандЗапуска(); - - путьКТестам = ""; - ПутьОтчетаТестирования = ""; - - Если ПустаяСтрока(СтрокаПараметровЗапуска) Тогда - Возврат Неопределено; - КонецЕсли; - - параметрыЗапуска = ПолучитьМассивПараметровЗапуска(СтрокаПараметровЗапуска); - - МаксимальныйИндекс = параметрыЗапуска.ВГраница(); - - Для Номер = 0 По МаксимальныйИндекс Цикл - ЭлементМассива = параметрыЗапуска.Получить(Номер); - - лКомандаЗапуска = НРег(СокрЛП(ЭлементМассива)); - НомерМеньшеМаксимальногоИндекса = Номер < МаксимальныйИндекс; - - Если НайтиКоманду(КоллекцияКомандЗапуска.Выполнить, лКомандаЗапуска) И НомерМеньшеМаксимальногоИндекса Тогда - РезСтруктураПараметров.Выполнить = Истина; - - Номер=Номер+1; - путьКТестам = СокрЛП(ПараметрыЗапуска[Номер]); - РезСтруктураПараметров.Загрузить = Истина; - Продолжить; - - КонецЕсли; - - Если НайтиКоманду(КоллекцияКомандЗапуска.Загрузить, лКомандаЗапуска) И НомерМеньшеМаксимальногоИндекса Тогда - РезСтруктураПараметров.Загрузить = Истина; - - Номер=Номер+1; - путьКТестам = СокрЛП(ПараметрыЗапуска[Номер]); - Продолжить; - КонецЕсли; - - Если НайтиКоманду(КоллекцияКомандЗапуска.ОстановитьСистему, лКомандаЗапуска) Тогда - РезСтруктураПараметров.ОстановитьСистему = Истина; - КонецЕсли; - - Если НайтиКоманду(КоллекцияКомандЗапуска.ПутьОтчета, лКомандаЗапуска) И НомерМеньшеМаксимальногоИндекса Тогда - Номер=Номер+1; - ПутьОтчетаТестирования = СокрЛП(ПараметрыЗапуска[Номер]); - КонецЕсли; - - Если НайтиКоманду(КоллекцияКомандЗапуска.ФорматОтчета, лКомандаЗапуска) И НомерМеньшеМаксимальногоИндекса Тогда - Номер=Номер+1; - РезСтруктураПараметров.ФорматОтчета = СокрЛП(ПараметрыЗапуска[Номер]); - КонецЕсли; - - Если НайтиКоманду(КоллекцияКомандЗапуска.ПутьКодаВозврата, лКомандаЗапуска) И НомерМеньшеМаксимальногоИндекса Тогда - Номер=Номер+1; - РезСтруктураПараметров.ПутьКодаВозврата = СокрЛП(ПараметрыЗапуска[Номер]); - КонецЕсли; - - Если НайтиКоманду(КоллекцияКомандЗапуска.ВстроенныеТесты, лКомандаЗапуска) Тогда - РезСтруктураПараметров.ВстроенныеТесты = Истина; - КонецЕсли; - - Если НайтиКоманду(КоллекцияКомандЗапуска.РегистрацияПрохожденияТестовВЖР, лКомандаЗапуска) Тогда - РезСтруктураПараметров.РегистрацияПрохожденияТестовВЖР = Истина; - КонецЕсли; - - Если НайтиКоманду(КоллекцияКомандЗапуска.РегистрацияОшибокТестовВЖР, лКомандаЗапуска) Тогда - РезСтруктураПараметров.РегистрацияОшибокТестовВЖР = Истина; - КонецЕсли; - - Если НайтиКоманду(КоллекцияКомандЗапуска.ВыводЛогаВФорматеTeamCity, лКомандаЗапуска) Тогда - РезСтруктураПараметров.ВыводЛогаВФорматеTeamCity = Истина; - КонецЕсли; - - Если НайтиКоманду(КоллекцияКомандЗапуска.РежимОтладки, лКомандаЗапуска) Тогда - РезСтруктураПараметров.РежимОтладки = Истина; - КонецЕсли; - - Если НайтиКоманду(КоллекцияКомандЗапуска.СлучайныйПорядокВыполнения, лКомандаЗапуска) Тогда - РезСтруктураПараметров.СлучайныйПорядокВыполнения = Истина; - КонецЕсли; - - КонецЦикла; - - Если Не РезСтруктураПараметров.Загрузить Тогда - Возврат Неопределено; - КонецЕсли; - Если Найти(ВРег(путьКТестам), "МЕТАДАННЫЕ.") = 1 Тогда - РезСтруктураПараметров.ВстроенныеТесты = Истина; - КонецЕсли; - - РезСтруктураПараметров.ПутьТестов = путьКТестам; - - Если НЕ ПустаяСтрока(путьКТестам) И ПустаяСтрока(ПутьОтчетаТестирования) Тогда - файл = Новый Файл(путьКТестам); - Если файл.Существует() Тогда - Если файл.ЭтоКаталог() Тогда - ПутьОтчетаТестирования = путьКТестам + "\"; - Иначе - ПутьОтчетаТестирования = файл.Путь + "\"; - КонецЕсли; - КонецЕсли; - ИначеЕсли НЕ ПустаяСтрока(ПутьОтчетаТестирования) Тогда - файл = Новый Файл(ПутьОтчетаТестирования); - Если файл.Существует() И файл.ЭтоКаталог() Тогда - ПутьОтчетаТестирования = ПутьОтчетаТестирования; - ИначеЕсли ПустаяСтрока(файл.Расширение) Тогда - ПутьОтчетаТестирования = файл.ПолноеИмя; - ИначеЕсли Не Прав(ПутьОтчетаТестирования,1) = "\" Тогда - ПутьОтчетаТестирования = ПутьОтчетаТестирования+"\"; //FIXME: для linux это не подойдет. - КонецЕсли; - КонецЕсли; - РезСтруктураПараметров.ПутьОтчета = ПутьОтчетаТестирования; - - ЗаполнитьЗначенияСвойств(ЭтотОбъект, РезСтруктураПараметров); - - Возврат РезСтруктураПараметров; -КонецФункции - -Функция ПолучитьМассивПараметровЗапуска(СтрокаПараметровЗапуска) - - Если ПустаяСтрока(СтрокаПараметровЗапуска) Тогда - Возврат Неопределено; - КонецЕсли; - - // Параметр может состоять из частей, разделенных символом ";". - // Первая часть - главное значение параметра запуска. - // Наличие дополнительных частей определяется логикой обработки главного параметра. - ПараметрыЗапуска = РазложитьСтрокуВМассивПодстрок(СтрокаПараметровЗапуска, ";"); - - Возврат ПараметрыЗапуска; - -КонецФункции - -// Разбивает строку на несколько строк по разделителю. Разделитель может иметь любую длину. -// Общий модуль СтроковыеФункцииКлиентСервер. -// -// Параметры: -// Строка - Строка - текст с разделителями; -// Разделитель - Строка - разделитель строк текста, минимум 1 символ; -// ПропускатьПустыеСтроки - Булево - признак необходимости включения в результат пустых строк. -// Если параметр не задан, то функция работает в режиме совместимости со своей предыдущей версией: -// - для разделителя-пробела пустые строки не включаются в результат, для остальных разделителей пустые строки -// включаются в результат. -// - если параметр Строка не содержит значащих символов или не содержит ни одного символа (пустая строка), то в -// случае разделителя-пробела результатом функции будет массив, содержащий одно значение "" (пустая строка), а -// при других разделителях результатом функции будет пустой массив. -// -// -// Возвращаемое значение: -// Массив - массив строк. -// -// Примеры: -// РазложитьСтрокуВМассивПодстрок(",один,,два,", ",") - возвратит массив из 5 элементов, три из которых - пустые строки; -// РазложитьСтрокуВМассивПодстрок(",один,,два,", ",", Истина) - возвратит массив из двух элементов; -// РазложитьСтрокуВМассивПодстрок(" один два ", " ") - возвратит массив из двух элементов; -// РазложитьСтрокуВМассивПодстрок("") - возвратит пустой массив; -// РазложитьСтрокуВМассивПодстрок("",,Ложь) - возвратит массив с одним элементом "" (пустой строкой); -// РазложитьСтрокуВМассивПодстрок("", " ") - возвратит массив с одним элементом "" (пустой строкой); -// -//&НаКлиенте -Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",", Знач ПропускатьПустыеСтроки = Неопределено) Экспорт - - Результат = Новый Массив; - - // для обеспечения обратной совместимости - Если ПропускатьПустыеСтроки = Неопределено Тогда - ПропускатьПустыеСтроки = ?(Разделитель = " ", Истина, Ложь); - Если ПустаяСтрока(Строка) Тогда - Если Разделитель = " " Тогда - Результат.Добавить(""); - КонецЕсли; - Возврат Результат; - КонецЕсли; - КонецЕсли; - // - - Позиция = Найти(Строка, Разделитель); - Пока Позиция > 0 Цикл - Подстрока = Лев(Строка, Позиция - 1); - Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Подстрока) Тогда - Результат.Добавить(Подстрока); - КонецЕсли; - Строка = Сред(Строка, Позиция + СтрДлина(Разделитель)); - Позиция = Найти(Строка, Разделитель); - КонецЦикла; - - Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Строка) Тогда - Результат.Добавить(Строка); - КонецЕсли; - - Возврат Результат; - -КонецФункции - -Функция СоздатьСтруктуруПараметровЗапуска() - Рез = Новый Структура; - Рез.Вставить("ПутьТестов", Ложь); - Рез.Вставить("Выполнить", Ложь); - Рез.Вставить("Загрузить", Ложь); - Рез.Вставить("ОстановитьСистему", Ложь); - Рез.Вставить("ВстроенныеТесты", Ложь); - Рез.Вставить("ПутьОтчета", ""); - Рез.Вставить("ФорматОтчета", ""); - Рез.Вставить("ПутьКодаВозврата", ""); - Рез.Вставить("РегистрацияПрохожденияТестовВЖР", Ложь); - Рез.Вставить("РегистрацияОшибокТестовВЖР", Ложь); - Рез.Вставить("ВыводЛогаВФорматеTeamCity", Ложь); - Рез.Вставить("РежимОтладки", Ложь); - Рез.Вставить("СлучайныйПорядокВыполнения", Ложь); - Возврат Рез; -КонецФункции - -Функция СоздатьКоллекциюКомандЗапуска() - Рез = СоздатьСтруктуруПараметровЗапуска(); - Рез.Вставить("Выполнить", Новый Структура("Р,А", "Тесты_Команда_Тестировать","xddRun")); - Рез.Вставить("Загрузить", Новый Структура("Р,А", "Тесты_Команда_Загрузить","xddLoad")); - Рез.Вставить("ОстановитьСистему", Новый Структура("Р,А", "ЗавершитьРаботуПослеТестирования","xddShutdown")); - Рез.Вставить("ВстроенныеТесты", Новый Структура("Р,А", "ЭтоТестИзКонфигурации","xddConfig")); - Рез.Вставить("ПутьОтчета", Новый Структура("Р,А", "Тесты_Команда_КаталогОтчетов","xddReportPath")); - Рез.Вставить("ФорматОтчета", Новый Структура("Р,А", "Тесты_Команда_ФорматОтчета","xddReportFormat")); - Рез.Вставить("ПутьКодаВозврата", Новый Структура("Р,А", "Тесты_Путь_КЛогам","xddExitCodePath")); - Рез.Вставить("РегистрацияПрохожденияТестовВЖР", Новый Структура("Р,А", "Тесты_ЗаписьВЖР","xddWriteLogEvent")); - Рез.Вставить("РегистрацияОшибокТестовВЖР", Новый Структура("Р,А", "Тесты_ЗаписьОшибокВЖР","xddWriteErrorIntoLogEvent")); - Рез.Вставить("ВыводЛогаВФорматеTeamCity", Новый Структура("Р,А", "Тесты_ФорматСообщенийTeamCity","xddLogForTeamCity")); - Рез.Вставить("РежимОтладки", Новый Структура("Р,А", "Тесты_РежимОтадки","xddDebugMode")); - Рез.Вставить("СлучайныйПорядокВыполнения", Новый Структура("Р,А", "Тесты_СлучайныйПорядок","xddRandomOrder")); - Возврат Рез; -КонецФункции - -Функция НайтиКоманду(КоллекцияКоманды, КомандаЗапускаНРег) - Для каждого КлючЗначение Из КоллекцияКоманды Цикл - Если НРег(КлючЗначение.Значение) = КомандаЗапускаНРег Тогда - Возврат Истина; - КонецЕсли; - КонецЦикла; - Возврат Ложь; -КонецФункции -//} - -//{ Работа со встроенными в конфигурация тестами и подсистемами -Процедура ЗаполнитьДеревоПодсистем(ДеревоПодсистем, ОтборПоИмениТеста) Экспорт - Для каждого МетаПодсистема из Метаданные.Подсистемы цикл - ДобавитьПодсистемуВДерево(МетаПодсистема, ДеревоПодсистем, ЭтотОбъект, ОтборПоИмениТеста); - КонецЦикла; -КонецПроцедуры - -Функция ДобавитьПодсистемуВДерево(ТекМетаПодсистема, РодительскаяСтрока, ОбработкаОбъект, ОтборПоИмениТеста) - СтрокаПодсистемы = ПодчиненныеСтроки(РодительскаяСтрока).Добавить(); - СтрокаПодсистемы.Имя = ТекМетаПодсистема.Имя; - СтрокаПодсистемы.Путь = "Метаданные."+СтрЗаменить(ТекМетаПодсистема.ПолноеИмя(), "Подсистема.", "Подсистемы."); - СтрокаПодсистемы.ТипСтроки = мЗначенияТиповСтроки.Подсистема; - Для Каждого Подсистема из ТекМетаПодсистема.Подсистемы Цикл - ДобавитьПодсистемуВДерево(Подсистема,СтрокаПодсистемы, ОбработкаОбъект, ОтборПоИмениТеста); - КонецЦикла; - - Для каждого ОбъектМетаданных из ТекМетаПодсистема.Состав цикл - Если Найти(ОбъектМетаданных.ПолноеИмя(), "Обработка."+ОтборПоИмениТеста) = 1 Тогда - СтрокаТеста = ПодчиненныеСтроки(СтрокаПодсистемы).Добавить(); - СтрокаТеста.Имя = ОбъектМетаданных.Имя; - СтрокаТеста.Путь = "Метаданные."+СтрЗаменить(ОбъектМетаданных.ПолноеИмя(), "Обработка.", "Обработки."); - СтрокаТеста.ТипСтроки = мЗначенияТиповСтроки.ТестовыйСлучай; - КонецЕсли; - КонецЦикла; - - Если ПодчиненныеСтроки(СтрокаПодсистемы).Количество() = 0 Тогда - ПодчиненныеСтроки(РодительскаяСтрока).Удалить(СтрокаПодсистемы); - КонецЕсли; - -КонецФункции -//} - -//{ Работа с ошибками загрузки https://github.com/xDrivenDevelopment/xUnitFor1C/issues/442 -// Реально данные из хранилища записываются во внешние файлы настроек только при штатном закрытии 1С. -// При нештатном падении 1С никакой записи не происходит, поэтому хранилищем пользоваться нельзя. -// В итоге требуется работа с внешним файлом. -// -Функция СохраненнаяНастройка_БылаОшибкаПриПредыдущейЗагрузке() Экспорт - БылаОшибкаПриПредыдущейЗагрузкеСохр = ХранилищеОбщихНастроек.Загрузить("xUnitFor1C_БылаОшибкаПриПредыдущейЗагрузке"); - БылаОшибкаПриПредыдущейЗагрузке = ?(БылаОшибкаПриПредыдущейЗагрузкеСохр = Истина, Истина, Ложь); - Возврат БылаОшибкаПриПредыдущейЗагрузке; -КонецФункции - -Процедура УстановитьНастройку_БылаОшибкаПриПредыдущейЗагрузке(БылаОшибкаПриПредыдущейЗагрузке) Экспорт - ХранилищеОбщихНастроек.Сохранить("xUnitFor1C_БылаОшибкаПриПредыдущейЗагрузке", , БылаОшибкаПриПредыдущейЗагрузке); -КонецПроцедуры - -//} - -Функция ПодчиненныеСтроки(СтрокаДерева, РезЭтоСтрокаДереваУФ = Ложь) Экспорт - РезЭтоСтрокаДереваУФ = ЭтоСтрокаДереваУФ(СтрокаДерева); - Если Не РезЭтоСтрокаДереваУФ Тогда - Строки = СтрокаДерева.Строки; - Иначе - Строки = СтрокаДерева.ПолучитьЭлементы(); - КонецЕсли; - Возврат Строки; -КонецФункции - -Функция РодительскаяСтрока(СтрокаДерева, РезЭтоСтрокаДереваУФ = Ложь) Экспорт - РезЭтоСтрокаДереваУФ = ЭтоСтрокаДереваУФ(СтрокаДерева); - Если Не РезЭтоСтрокаДереваУФ Тогда - Родитель = СтрокаДерева.Родитель; - Иначе - Родитель = СтрокаДерева.ПолучитьРодителя(); - КонецЕсли; - Возврат Родитель; -КонецФункции - -Функция ЭтоСтрокаДереваУФ(СтрокаДерева) - Рез = Ложь; - Если ТипЗнч(СтрокаДерева) = Тип("СтрокаДереваЗначений") ИЛИ ТипЗнч(СтрокаДерева) = Тип("ДеревоЗначений") Тогда - ИначеЕсли ТипЗнч(СтрокаДерева) = Тип("ДанныеФормыЭлементДерева") ИЛИ ТипЗнч(СтрокаДерева) = Тип("ДанныеФормыДерево") Тогда - Рез = Истина; - КонецЕсли; - Возврат Рез; -КонецФункции - -Процедура УпорядочитьСтрокиДереваТестов(ДеревоИлиСтрока, ЕстьКолонкаДопПорядка = Ложь) Экспорт - - Если ТипЗнч(ДеревоИлиСтрока) = Тип("СтрокаДереваЗначений") Тогда - Если ДеревоИлиСтрока.ТипСтроки = мЗначенияТиповСтроки.ТестовыйСлучай - Или ДеревоИлиСтрока.ТипСтроки = мЗначенияТиповСтроки.ТестовыйМетод Тогда - Возврат; - КонецЕсли; - КонецЕсли; - - ИмяКолонкиДопПорядка = "ОсновнойПорядокСтрок"; - Если Не ЕстьКолонкаДопПорядка Тогда - - Если ТипЗнч(ДеревоИлиСтрока) = Тип("СтрокаДереваЗначений") Тогда - Дерево = ДеревоИлиСтрока.Владелец(); - Иначе - Дерево = ДеревоИлиСтрока; - КонецЕсли; - Дерево.Колонки.Добавить(ИмяКолонкиДопПорядка, Новый ОписаниеТипов("Число")); - - КонецЕсли; - - Для Каждого Строка Из ДеревоИлиСтрока.Строки Цикл - Если Строка.ТипСтроки = мЗначенияТиповСтроки.ТестовыйСлучай - Или Строка.ТипСтроки = мЗначенияТиповСтроки.ТестовыйМетод Тогда - Строка[ИмяКолонкиДопПорядка] = 1; - Иначе - Строка[ИмяКолонкиДопПорядка] = 0; - КонецЕсли; - КонецЦикла; - - ДеревоИлиСтрока.Строки.Сортировать(ИмяКолонкиДопПорядка + ", Имя"); - Для Каждого Строка Из ДеревоИлиСтрока.Строки Цикл - УпорядочитьСтрокиДереваТестов(Строка, Истина); - КонецЦикла; - - Если Не ЕстьКолонкаДопПорядка Тогда - Дерево.Колонки.Удалить(ИмяКолонкиДопПорядка); - КонецЕсли; - -КонецПроцедуры - -// Возвращает объект метаданных по переданному полному строковому пути -// -Функция ПолучитьОбъектМетаданныхПоПути(ПутьКОбъекту) Экспорт - //ВыражениеПодсистема = "Метаданные."+СтрЗаменить(Путь, "Подсистема.", "Подсистемы."); - ОбъектКонфигурации = Неопределено; - Попытка - Выполнить("ОбъектКонфигурации = "+ПутьКОбъекту); - Исключение - КонецПопытки; - Возврат ОбъектКонфигурации; -КонецФункции - -Функция ЭтоВнешняяОбработка(ПарамОбъект = Неопределено) Экспорт - Перем НужныйОбъект; - НужныйОбъект = ПарамОбъект; - Если НужныйОбъект = Неопределено Тогда - НужныйОбъект = ЭтотОбъект; - КонецЕсли; - Рез = Метаданные.НайтиПоТипу(ТипЗнч(НужныйОбъект)) = Неопределено; - Возврат Рез; -КонецФункции - -Процедура ПодключитьИнформатор() Экспорт - - #Если ТолстыйКлиентОбычноеПриложение Тогда - - мПытаемсяСоздатьИнформатор = Истина; - Если ЗапретИспользованияИнформатора Тогда - мПытаемсяСоздатьИнформатор = Ложь; - КонецЕсли; - - Если мПытаемсяСоздатьИнформатор Тогда - ПолучитьИнформатор(); - КонецЕсли; - #Иначе - мПытаемсяСоздатьИнформатор = Ложь; - #КонецЕсли - -КонецПроцедуры - -Процедура ЗарегистрироватьОшибкуЗапускаТестирования(ПолныйПуть, ОписаниеОшибки) Экспорт - ЗаписьЖурналаРегистрации("xUnitFor1C.ТестированиеНеВыполнено", - УровеньЖурналаРегистрации.Информация, , , - ОписаниеОшибки+", путь "+ПолныйПуть); -КонецПроцедуры - -//////////////////////////////////////////////////////////////////////////////// -// ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ ОБЪЕКТА - -//////////////////////////////////////////////////////////////////////////////// -// ОПЕРАТОРЫ ОСНОВНОЙ ПРОГРАММЫ - -//{ Состояния тестов - ВАЖЕН порядок заполнения в мЗначенияСостоянияТестов, используется в ЗапомнитьСамоеХудшееСостояние -мЗначенияСостоянияТестов = Новый Структура; -мЗначенияСостоянияТестов.Вставить("НеВыполнялся", 0); -мЗначенияСостоянияТестов.Вставить("Прошел" , 1); -мЗначенияСостоянияТестов.Вставить("НеРеализован", 2); -мЗначенияСостоянияТестов.Вставить("Сломался" , 3); -мЗначенияСостоянияТестов = Новый ФиксированнаяСтруктура(мЗначенияСостоянияТестов); -//} Состояния тестов - -//{ Типы строк дерева тестов -мЗначенияТиповСтроки = Новый Структура; -мЗначенияТиповСтроки.Вставить("КаталогТестов", 0); -мЗначенияТиповСтроки.Вставить("ТестовыйСлучай", 1); -мЗначенияТиповСтроки.Вставить("ТестовыйМетод", 2); -мЗначенияТиповСтроки.Вставить("Подсистема", 3); -мЗначенияТиповСтроки = Новый ФиксированнаяСтруктура(мЗначенияТиповСтроки); -//} Типы строк дерева тестов - -мЗначениеМодульИлиФорма = Новый Структура(); -мЗначениеМодульИлиФорма.Вставить("Модуль", 1); -мЗначениеМодульИлиФорма.Вставить("Форма", 2); -мЗначениеМодульИлиФорма = Новый ФиксированнаяСтруктура(мЗначениеМодульИлиФорма); - -//{ Соответствие Статуса сообщения 1с Статусу в Buildlog TeamCity -мСоответствиеСтатусовДляTeamCity = Новый Соответствие; -мСоответствиеСтатусовДляTeamCity.Вставить(СтатусСообщения.БезСтатуса,"NORMAL"); -мСоответствиеСтатусовДляTeamCity.Вставить(СтатусСообщения.Обычное,"NORMAL"); -мСоответствиеСтатусовДляTeamCity.Вставить(СтатусСообщения.Информация,"NORMAL"); -мСоответствиеСтатусовДляTeamCity.Вставить(СтатусСообщения.Внимание,"WARNING"); -мСоответствиеСтатусовДляTeamCity.Вставить(СтатусСообщения.Важное,"FAILURE"); -мСоответствиеСтатусовДляTeamCity.Вставить(СтатусСообщения.ОченьВажное,"ERROR"); -мСоответствиеСтатусовДляTeamCity = Новый ФиксированноеСоответствие(мСоответствиеСтатусовДляTeamCity); -//} Соответствие Статуса сообщения 1с Статусу в Buildlog TeamCity - -ТипСтрока = Новый ОписаниеТипов("Строка"); -ТипЧисло = Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(10, 0, ДопустимыйЗнак.Неотрицательный)); -ТипБулево = Новый ОписаниеТипов("Булево"); - -//{ Инициализация дерева тестов -ДеревоТестов.Колонки.Добавить("Имя", ТипСтрока); -ДеревоТестов.Колонки.Добавить("ВремяВыполнения", ТипЧисло); -ДеревоТестов.Колонки.Добавить("ПолныйПуть", ТипСтрока); -ДеревоТестов.Колонки.Добавить("ТипСтроки", ТипЧисло); -ДеревоТестов.Колонки.Добавить("Состояние", ТипЧисло); -ДеревоТестов.Колонки.Добавить("ТестовыйСлучайОбъектМетаданныхИмя", ТипСтрока); -ДеревоТестов.Колонки.Добавить("_guid", ТипСтрока); -ДеревоТестов.Колонки.Добавить("МодульИлиФорма", ТипЧисло); -ДеревоТестов.Колонки.Добавить("ПараметрыТеста"); -ДеревоТестов.Колонки.Добавить("ЕстьПараметрыТеста", ТипБулево); -ДеревоТестов.Колонки.Добавить("ИмяТестовогоСлучая", ТипСтрока); -ДеревоТестов.Колонки.Добавить("ПредставлениеПути", ТипСтрока); -ДеревоТестов.Колонки.Добавить("ИмяОсновнойУправляемойФормы", ТипСтрока); -ДеревоТестов.Колонки.Добавить("КоличествоТестов", ТипЧисло); -ДеревоТестов.Колонки.Добавить("ЭтоВнутренняяОбработка", ТипБулево); -ДеревоТестов.Колонки.Добавить("РазрешенСлучайныйПорядокВыполнения", ТипБулево); -ДеревоТестов.Колонки.Добавить("ИмяТестовогоНабора", ТипСтрока); -ДеревоТестов.Колонки.Добавить("СписокОшибок", Новый ОписаниеТипов("СписокЗначений")); -//} Инициализация дерева тестов - -РезультатыСравненияТаблиц = Новый Структура; -РезультатыСравненияТаблиц.Вставить("ТаблицыСовпадают", 0); -РезультатыСравненияТаблиц.Вставить("НеСовпадаютЗначенияВЯчейкеТаблицы", 1); -РезультатыСравненияТаблиц.Вставить("РазноеКоличествоСтрок", 2); -РезультатыСравненияТаблиц.Вставить("РазличаютсяКолонки", 3); -РезультатыСравненияТаблиц = Новый ФиксированнаяСтруктура(РезультатыСравненияТаблиц); - -мИнформатор = Неопределено; - -мКоличествоТестовыхСлучаев = 0; - -ЭтоВстроеннаяОбработка = Не Метаданные.НайтиПоТипу(ТипЗнч(ЭтотОбъект)) = Неопределено; - -СтатусыРезультатаТестирования = Новый Структура; -СтатусыРезультатаТестирования.Вставить("ОшибкаПроверки", "Failed"); -СтатусыРезультатаТестирования.Вставить("НеизвестнаяОшибка", "Broken"); -СтатусыРезультатаТестирования.Вставить("ТестПропущен", "Pending"); -СтатусыРезультатаТестирования = Новый ФиксированнаяСтруктура(СтатусыРезультатаТестирования); - -кэшТестовыхОбработок = Новый Соответствие; +Инициализация(); diff --git a/src/xddTestRunner/maps.txt b/src/xddTestRunner/maps.txt new file mode 100644 index 00000000..daf3d6ba --- /dev/null +++ b/src/xddTestRunner/maps.txt @@ -0,0 +1 @@ +Form\УправляемаяФорма\Форма.txt-->ed07b230-8bf7-4423-b861-a31f23c7471f.0 (1 461, 2 457) diff --git a/src/xddTestRunner/renames.txt b/src/xddTestRunner/renames.txt index c6f7d4b9..12526305 100644 --- a/src/xddTestRunner/renames.txt +++ b/src/xddTestRunner/renames.txt @@ -1,28 +1,12 @@ -09955368-9350-432d-b490-f1057c702a2d-->und\09955368-9350-432d-b490-f1057c702a2d -09955368-9350-432d-b490-f1057c702a2d.0-->Form\ФормаНастроек -11ad5c96-c434-4088-bf66-ddff06c57ed8.0\info-->und\11ad5c96-c434-4088-bf66-ddff06c57ed8.0\info +11ad5c96-c434-4088-bf66-ddff06c57ed8.0\info-->und\11ad5c96-c434-4088-bf66-ddff06c57ed8.0\info 11ad5c96-c434-4088-bf66-ddff06c57ed8.0\text-->ObjectModule.txt 11ad5c96-c434-4088-bf66-ddff06c57ed8.1-->und\11ad5c96-c434-4088-bf66-ddff06c57ed8.1 5070e3c3-f74b-4ecd-9756-1136a230eca2-->und\5070e3c3-f74b-4ecd-9756-1136a230eca2 -7e542ac7-435a-4390-85c5-964b3a399bee-->und\7e542ac7-435a-4390-85c5-964b3a399bee -7e542ac7-435a-4390-85c5-964b3a399bee.0-->Form\УправляемаяФорма\Форма.txt -7e542ac7-435a-4390-85c5-964b3a399bee.0-->und\7e542ac7-435a-4390-85c5-964b3a399bee.0 -7e542ac7-435a-4390-85c5-964b3a399bee.0-->und\7e542ac7-435a-4390-85c5-964b3a399bee.0 a1ce7ef7-f372-4589-b899-7fbf88efa7bf-->und\a1ce7ef7-f372-4589-b899-7fbf88efa7bf a1ce7ef7-f372-4589-b899-7fbf88efa7bf.0-->Form\Форма -bffaa180-64bd-40f2-bf0a-2915b892a8d5-->und\bffaa180-64bd-40f2-bf0a-2915b892a8d5 -bffaa180-64bd-40f2-bf0a-2915b892a8d5.0-->und\bffaa180-64bd-40f2-bf0a-2915b892a8d5.0 -bffaa180-64bd-40f2-bf0a-2915b892a8d5.0-->Макеты\Макет.txt copyinfo-->und\copyinfo -d96a737c-e997-4182-9c28-c8dfa763aa8f-->und\d96a737c-e997-4182-9c28-c8dfa763aa8f -d96a737c-e997-4182-9c28-c8dfa763aa8f.0-->Form\ФормаВыбораПодсистемУФ\Форма.txt -d96a737c-e997-4182-9c28-c8dfa763aa8f.0-->und\d96a737c-e997-4182-9c28-c8dfa763aa8f.0 -d96a737c-e997-4182-9c28-c8dfa763aa8f.0-->und\d96a737c-e997-4182-9c28-c8dfa763aa8f.0 -df7f0865-1068-416d-89b2-1bab8b502a1a-->und\df7f0865-1068-416d-89b2-1bab8b502a1a -df7f0865-1068-416d-89b2-1bab8b502a1a.0-->Макеты\ОтчетТестирования.mxl -df7f0865-1068-416d-89b2-1bab8b502a1a.0-->und\df7f0865-1068-416d-89b2-1bab8b502a1a.0 -fbabda67-719d-4191-9d89-748c2d43b001-->und\fbabda67-719d-4191-9d89-748c2d43b001 -fbabda67-719d-4191-9d89-748c2d43b001.0-->Form\ФормаВыбораПодсистемы +ed07b230-8bf7-4423-b861-a31f23c7471f-->und\ed07b230-8bf7-4423-b861-a31f23c7471f +ed07b230-8bf7-4423-b861-a31f23c7471f.0-->und\ed07b230-8bf7-4423-b861-a31f23c7471f.0 root-->und\root version-->und\version versions-->und\versions diff --git a/src/xddTestRunner/und/09955368-9350-432d-b490-f1057c702a2d b/src/xddTestRunner/und/09955368-9350-432d-b490-f1057c702a2d deleted file mode 100644 index 908b815b..00000000 --- a/src/xddTestRunner/und/09955368-9350-432d-b490-f1057c702a2d +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,09955368-9350-432d-b490-f1057c702a2d},"ФормаНастроек", -{1,"ru","Форма настроек"},""},0,0}, -{0} -} -},0} \ No newline at end of file diff --git a/src/xddTestRunner/und/11ad5c96-c434-4088-bf66-ddff06c57ed8.1 b/src/xddTestRunner/und/11ad5c96-c434-4088-bf66-ddff06c57ed8.1 index c4d58bf1..df671b2e 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 -bWV0YSBuYW1lPSJHRU5FUkFUT1IiIGNvbnRlbnQ9Ik1TSFRNTCAxMC4wMC45MjAw -LjE3MjY3Ij48L21ldGE+PC9oZWFkPjxib2R5Pg0KPHA+PGEgaHJlZj0iaHR0cHM6 +bWV0YSBuYW1lPSJHRU5FUkFUT1IiIGNvbnRlbnQ9Ik1TSFRNTCAxMS4wMC45NjAw +LjE4MTI1Ij48L21ldGE+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 a8ee10bf..87d8675d 100644 --- a/src/xddTestRunner/und/5070e3c3-f74b-4ecd-9756-1136a230eca2 +++ b/src/xddTestRunner/und/5070e3c3-f74b-4ecd-9756-1136a230eca2 @@ -7,84 +7,19 @@ {0, {0,0,11ad5c96-c434-4088-bf66-ddff06c57ed8},"xddTestRunner", {1,"ru","Тестирование для 1С:Предприятия 8, xUnitFor1C"},"https://github.com/xDrivenDevelopment/xUnitFor1C"} -},a1ce7ef7-f372-4589-b899-7fbf88efa7bf,"",7e542ac7-435a-4390-85c5-964b3a399bee},4, +},a1ce7ef7-f372-4589-b899-7fbf88efa7bf,"",ed07b230-8bf7-4423-b861-a31f23c7471f},4, {2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, -{3daea016-69b7-4ed4-9453-127911372fe6,2,df7f0865-1068-416d-89b2-1bab8b502a1a,bffaa180-64bd-40f2-bf0a-2915b892a8d5}, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,5,7e542ac7-435a-4390-85c5-964b3a399bee,a1ce7ef7-f372-4589-b899-7fbf88efa7bf,d96a737c-e997-4182-9c28-c8dfa763aa8f,fbabda67-719d-4191-9d89-748c2d43b001,09955368-9350-432d-b490-f1057c702a2d}, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,12, +{3daea016-69b7-4ed4-9453-127911372fe6,0}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,2,a1ce7ef7-f372-4589-b899-7fbf88efa7bf,ed07b230-8bf7-4423-b861-a31f23c7471f}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,9, { {0, {25, {2, {0, -{0,0,74ab8988-f52c-40cb-9b09-66a817b93074},"ДеревоТестов", -{1,"ru","Дерево тестов"},""}, -{"Pattern", -{"#",e603c0f2-92fb-4d47-8f38-a44a381cf235} -} -},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,1db910ea-94ac-43dd-b344-71be8b44e7ff},"мСписокОшибок", -{1,"ru","Список ошибок"},""}, -{"Pattern", -{"#",4772b3b4-f4a3-49c0-a1a5-8cb5961511a3} -} -},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,275c3d9b-4a44-4729-a150-96d4cb868182},"мВсегоТестов", -{1,"ru","Всего тестов"},""}, -{"Pattern", -{"N",10,0,0} -} -},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,01263d20-0019-4e8a-af76-b48319dacdef},"ЗапретИспользованияИнформатора", -{1,"ru","Запрет использования информатора"},""}, -{"Pattern", -{"B"} -} +{0,0,c1ba54a0-a096-4a11-bc8b-5199576eca67},"ВозможныеИсключения", +{1,"ru","Возможные исключения"},""}, +{"Pattern"} },0, {0}, {0},0,"",0, @@ -101,11 +36,9 @@ {25, {2, {0, -{0,0,07f739b4-709b-41bf-8096-032bddefd0f9},"РегистрацияПрохожденияТестовВЖР", -{1,"ru","Отметка о прогоне тестов в журнале регистрации"},""}, -{"Pattern", -{"B"} -} +{0,0,966b3a73-6c03-4ff4-8768-54a1ac3bb295},"ВозможныеСобытия", +{1,"ru","Возможные события"},""}, +{"Pattern"} },0, {0}, {0},0,"",0, @@ -122,11 +55,9 @@ {25, {2, {0, -{0,0,e46a4b91-3cc7-4188-b6f0-96c31aa42e19},"РегистрацияОшибокТестовВЖР", -{1,"ru","Регистрация ошибок тестов в журнале регистрации"},""}, -{"Pattern", -{"B"} -} +{0,0,f29d604e-0e64-4aa6-b589-ff586180d5cf},"Настройки", +{1,"ru","Настройки"},""}, +{"Pattern"} },0, {0}, {0},0,"",0, @@ -143,11 +74,9 @@ {25, {2, {0, -{0,0,c94d69fe-d548-4956-bc36-279b6ffe2fe9},"ВыводЛогаВФорматеTeamCity", -{1,"ru","Вывод лога в формате team city"},""}, -{"Pattern", -{"B"} -} +{0,0,73c64032-a845-4bb8-9d30-f5b19f712f85},"Плагины", +{1,"ru","Плагины"},""}, +{"Pattern"} },0, {0}, {0},0,"",0, @@ -164,11 +93,9 @@ {25, {2, {0, -{0,0,6ed8942a-0f5e-41b6-95c1-097c62c0e053},"ЭтоВстроеннаяОбработка", -{1,"ru","Это встроенная обработка"},""}, -{"Pattern", -{"B"} -} +{0,0,0ee2237e-eff1-4672-b9fd-4d254f6d4b1a},"СостоянияТестов", +{1,"ru","Состояния тестов"},""}, +{"Pattern"} },0, {0}, {0},0,"",0, @@ -185,11 +112,9 @@ {25, {2, {0, -{0,0,a2724854-2f5c-4048-b7b2-02cbb9cb7fa3},"РежимОтладки", -{1,"ru","Режим отладки"},""}, -{"Pattern", -{"B"} -} +{0,0,f6db7088-52fe-44ec-94f4-c29a5a160d0f},"ТекущийКонтейнер", +{1,"ru","Текущий контейнер"},""}, +{"Pattern"} },0, {0}, {0},0,"",0, @@ -206,11 +131,9 @@ {25, {2, {0, -{0,0,092b3fc1-7ced-4d20-8a28-79b535f8a9c4},"СлучайныйПорядокВыполнения", -{1,"ru","Случайный порядок выполнения"},""}, -{"Pattern", -{"B"} -} +{0,0,2476a703-4846-4172-87e2-da08366f9c67},"ТипыПлагинов", +{1,"ru","Типы плагинов"},""}, +{"Pattern"} },0, {0}, {0},0,"",0, @@ -227,8 +150,8 @@ {25, {2, {0, -{0,0,0fef4d9b-7845-4080-8c15-00268a99fa33},"Мир", -{1,"ru","Мир"},""}, +{0,0,660a1fcb-04b5-4dde-b0a0-b5580172c383},"ТипыУзловДереваТестов", +{1,"ru","Типы узлов дерева тестов"},""}, {"Pattern"} },0, {0}, @@ -246,8 +169,8 @@ {25, {2, {0, -{0,0,c33e046c-032b-11e5-db9b-485d606103c6},"СостояниеВыполненияНаборовТестов", -{1,"ru","Состояние выполнения наборов тестов"},""}, +{0,0,27301104-5ea7-4ade-b198-4c81a6b380fd},"СтатусыРезультатаТестирования", +{1,"ru","Статусы результата тестирования"},""}, {"Pattern"} },0, {0}, diff --git a/src/xddTestRunner/und/7e542ac7-435a-4390-85c5-964b3a399bee b/src/xddTestRunner/und/7e542ac7-435a-4390-85c5-964b3a399bee deleted file mode 100644 index 5c771b7f..00000000 --- a/src/xddTestRunner/und/7e542ac7-435a-4390-85c5-964b3a399bee +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,7e542ac7-435a-4390-85c5-964b3a399bee},"УправляемаяФорма", -{1,"ru","Управляемая форма"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git a/src/xddTestRunner/und/7e542ac7-435a-4390-85c5-964b3a399bee.0 b/src/xddTestRunner/und/7e542ac7-435a-4390-85c5-964b3a399bee.0 deleted file mode 100644 index be05b09d..00000000 --- a/src/xddTestRunner/und/7e542ac7-435a-4390-85c5-964b3a399bee.0 +++ /dev/null @@ -1,7155 +0,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, -{4,3699f6a3-9a2a-4c82-a775-6ff4824a08ca,"ОбработкаОповещения",3ccc650e-f631-4cae-8e33-3eaac610b5f9,"ПриОткрытии",9f2e5ddb-3492-4f5d-8f0d-416b8d1d5c5b,"ПриСозданииНаСервере",ca21cd18-35b2-4281-b5c8-016ecc8da8ac,"ПриЗакрытии"}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{0,0,0},8,a9f3b1ac-f51b-431e-b102-55a69acdecad, -{19, -{138,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"ФормаЗагрузитьТестыПоУмолчанию", -{1,1, -{"ru","Загрузить тесты"} -},1, -{1,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},2,0,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0, -{3,3, -{0},"",-1,-1,0, -{ -{#base64:iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+g -vaeTAAAACXBIWXMAAABIAAAASABGyWs+AAAEtUlEQVRIx6WUy48UVRTGf+fe6p6e -7ume6aCMEXygIgmgISaSGI0ZSYfEpRt2/gUmxrhwYVy410R36pawksBKNCajji9C -lEgCBGGAGZkB5kU/pt9dVfceF9XdM82486RqUfXdOud85ztfyec/984/+4h9Ze+U -IZsWANqhcrfmWSjHv6mK/T94AARnf7nOjYVlNutNACYLExx4Zi8v7H8y7VXtmZ8W -mb+zwma9tQ1/giMH9weo2jM/XWF+cZl6o4VKMIILwPsnr+vxQ3l6sWIEljYa/H5t -jfXvP34U8C++/UX5+OHCEF9+0OT8fJ3Vbz6wwNTBE5+Wjx0sQDCONTLET713VAKA -fC7Da4emcVgCcfxwscmYUYA0sJafGB/iaQsXbmxw6Z82wGNAKpexHHvpadSktvA7 -XQAM/TAieO+oVat47xExAGuzs3NugAMI4L3HdRsAKSBKZScJrB3igyiVZmRYQNB+ -cocxBpvJM0gOYE3yqaqj1aih6gEiYE3EDHEZVFAFyAT9J9qtFs45xsYsufwUSJeH -w3tHdXMnw99PHOKFxZM82LXI0bEZvrr/GWdvneN1jiSnfByheKy1FItFjDHsjGR8 -zu1kKEZB4JPND7nausR3N8+BJp0PM6UDy1SxiO3PcnuoehqbNZxzBMGA4VYTIvCI -3U0QQKqVxiIDMbrDU7lcDmN2Ji+VZuy7c4dx8+eZun2K3VLmlYvv8NGFI1uHJBE+ -3QlQ71CjxDZmdnYuYWCC1H+OpVSascC0MwHWGoq3v8RUbxBfPjtyzojQqjexAiYw -xNmoP6HhmsqO5CRbMg2kbGAo5nOY7DhYAzYYaSLVSSXCZzy5qSza12TEB6PbMrrn -xTGfMBzPgrEQBCMMBTDGoMUIsTLSrgE4eX6Zucsr/FVRVpsxX/+5yulf54d7bmz/ -k/FxMAasxSdppoGUArnCBIrSv0YLDEp+u+S4tlRh7noNTV4mTh7ok8mCGLxY6i49 -ZBhlIowxuFiS5JrcI06OnNKrV3DOoVhCyW45WQR8CJkMXj21OI1LGoiANY/S0w4u -FFQV1eGYMqa/6KxstoiimFpoiFMTgxFsRW8NL5bq2hIOwSa9JgwV7sZLuFBYCe8j -TghckHgQQF3MessROksmX8TpTu198x7VWg/nHRalYMMhQ1W4E97ChYKLFdsJHnKy -Kq1IiFNT9JzBK/htSnkH1coDXKeH9SFTQYjZJqV6oRJVibuGWnkTYjPqZKdC3Wfp -xkKl7XEONPkbUirN2GpocO0yNuxSDFoYHz+01rDRXYdymkq3ivOMOjnGstFWuqHn -QVtxXlHd5mTnsd0NiraDaW+Ac6Pzc8JqeQ3fM5SjCmE6HnWyj2I6kdANlYWKJ5e2 -WNna83oPiqaN6bahfBNJT9DydsgwXcnSCyNiBwt6h3yqgInHthVoN6oblQaPjkGt -rUjUJp+Oa0AING5FxfVmrQqpaWiWacYB83bveqk0Y4DJsZXna5vVgD2TT1ELG6Tr -j5PtHKhuWezNU4XJglxxcbQHBBHu7apcfPk5c6UBdN+K53LT+/b9KBq+KKqE3l69 -v7z6xrfBqzEgfxeqE7XJ4h8a1/aCgEzcbXeuH+b0RvNf+XOfI5UewfYAAAAldEVY -dGRhdGU6Y3JlYXRlADIwMTMtMDUtMjlUMDk6NDc6NDItMDU6MDBTDo/DAAAAJXRF -WHRkYXRlOm1vZGlmeQAyMDEzLTA1LTI4VDA2OjE3OjMwLTA1OjAwR0bHqQAAAABJ -RU5ErkJggg==} -},0},1, -{"Pattern"},"",2},cd5394d0-7dda-4b56-8927-93ccbe967a01, -{17, -{131,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},1,"ПодменюЗагрузитьТесты", -{1,1, -{"ru","Загрузить ..."} -}, -{1,1, -{"ru","Подменю загрузить тесты"} -},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{6, -{3,3, -{0},"",-1,-1,0, -{ -{#base64:iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+g -vaeTAAAACXBIWXMAAABIAAAASABGyWs+AAAEtUlEQVRIx6WUy48UVRTGf+fe6p6e -7ume6aCMEXygIgmgISaSGI0ZSYfEpRt2/gUmxrhwYVy410R36pawksBKNCajji9C -lEgCBGGAGZkB5kU/pt9dVfceF9XdM82486RqUfXdOud85ztfyec/984/+4h9Ze+U -IZsWANqhcrfmWSjHv6mK/T94AARnf7nOjYVlNutNACYLExx4Zi8v7H8y7VXtmZ8W -mb+zwma9tQ1/giMH9weo2jM/XWF+cZl6o4VKMIILwPsnr+vxQ3l6sWIEljYa/H5t -jfXvP34U8C++/UX5+OHCEF9+0OT8fJ3Vbz6wwNTBE5+Wjx0sQDCONTLET713VAKA -fC7Da4emcVgCcfxwscmYUYA0sJafGB/iaQsXbmxw6Z82wGNAKpexHHvpadSktvA7 -XQAM/TAieO+oVat47xExAGuzs3NugAMI4L3HdRsAKSBKZScJrB3igyiVZmRYQNB+ -cocxBpvJM0gOYE3yqaqj1aih6gEiYE3EDHEZVFAFyAT9J9qtFs45xsYsufwUSJeH -w3tHdXMnw99PHOKFxZM82LXI0bEZvrr/GWdvneN1jiSnfByheKy1FItFjDHsjGR8 -zu1kKEZB4JPND7nausR3N8+BJp0PM6UDy1SxiO3PcnuoehqbNZxzBMGA4VYTIvCI -3U0QQKqVxiIDMbrDU7lcDmN2Ji+VZuy7c4dx8+eZun2K3VLmlYvv8NGFI1uHJBE+ -3QlQ71CjxDZmdnYuYWCC1H+OpVSascC0MwHWGoq3v8RUbxBfPjtyzojQqjexAiYw -xNmoP6HhmsqO5CRbMg2kbGAo5nOY7DhYAzYYaSLVSSXCZzy5qSza12TEB6PbMrrn -xTGfMBzPgrEQBCMMBTDGoMUIsTLSrgE4eX6Zucsr/FVRVpsxX/+5yulf54d7bmz/ -k/FxMAasxSdppoGUArnCBIrSv0YLDEp+u+S4tlRh7noNTV4mTh7ok8mCGLxY6i49 -ZBhlIowxuFiS5JrcI06OnNKrV3DOoVhCyW45WQR8CJkMXj21OI1LGoiANY/S0w4u -FFQV1eGYMqa/6KxstoiimFpoiFMTgxFsRW8NL5bq2hIOwSa9JgwV7sZLuFBYCe8j -TghckHgQQF3MessROksmX8TpTu198x7VWg/nHRalYMMhQ1W4E97ChYKLFdsJHnKy -Kq1IiFNT9JzBK/htSnkH1coDXKeH9SFTQYjZJqV6oRJVibuGWnkTYjPqZKdC3Wfp -xkKl7XEONPkbUirN2GpocO0yNuxSDFoYHz+01rDRXYdymkq3ivOMOjnGstFWuqHn -QVtxXlHd5mTnsd0NiraDaW+Ac6Pzc8JqeQ3fM5SjCmE6HnWyj2I6kdANlYWKJ5e2 -WNna83oPiqaN6bahfBNJT9DydsgwXcnSCyNiBwt6h3yqgInHthVoN6oblQaPjkGt -rUjUJp+Oa0AING5FxfVmrQqpaWiWacYB83bveqk0Y4DJsZXna5vVgD2TT1ELG6Tr -j5PtHKhuWezNU4XJglxxcbQHBBHu7apcfPk5c6UBdN+K53LT+/b9KBq+KKqE3l69 -v7z6xrfBqzEgfxeqE7XJ4h8a1/aCgEzcbXeuH+b0RvNf+XOfI5UewfYAAAAldEVY -dGRhdGU6Y3JlYXRlADIwMTMtMDUtMjlUMDk6NDc6NDItMDU6MDBTDo/DAAAAJXRF -WHRkYXRlOm1vZGlmeQAyMDEzLTA1LTI4VDA2OjE3OjMwLTA1OjAwR0bHqQAAAABJ -RU5ErkJggg==} -},0}, -{0},2,3},8,cd5394d0-7dda-4b56-8927-93ccbe967a01, -{17, -{132,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},6,"ГруппаЗагрузитьТестыИзКонфигурации", -{1,1, -{"ru","Группа загрузить тесты из конфигурации"} -}, -{1,1, -{"ru","Группа загрузить тесты из конфигурации"} -},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1, -{0},2},2,a9f3b1ac-f51b-431e-b102-55a69acdecad, -{19, -{76,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"КомандаЗагрузитьТестыИзКонфигурации", -{1,0},1, -{9,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},3,0,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0, -{3,0, -{0},"",-1,-1,1,0},1, -{"Pattern"},"",2},a9f3b1ac-f51b-431e-b102-55a69acdecad, -{19, -{79,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"КомандаЗагрузитьТестыИзКонфигурацииПоИмени", -{1,0},1, -{10,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},3,0,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0, -{3,0, -{0},"",-1,-1,1,0},1, -{"Pattern"},"",2},1},cd5394d0-7dda-4b56-8927-93ccbe967a01, -{17, -{133,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},6,"ГруппаЗагрузитьТесты", -{1,1, -{"ru","Группа загрузить тесты"} -}, -{1,1, -{"ru","Группа загрузить тесты"} -},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1, -{0},2},2,a9f3b1ac-f51b-431e-b102-55a69acdecad, -{19, -{28,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"КомандаЗагрузитьТестовыйНабор", -{1,1, -{"ru","Загрузить тесты из каталога"} -},1, -{1,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},3,0,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0, -{3,0, -{0},"",-1,-1,1,0},1, -{"Pattern"},"",2},a9f3b1ac-f51b-431e-b102-55a69acdecad, -{19, -{29,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"КомандаЗагрузитьТестовыеСлучаи", -{1,0},1, -{2,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},3,0,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0, -{3,0, -{0},"",-1,-1,1,0},1, -{"Pattern"},"",2},1},a9f3b1ac-f51b-431e-b102-55a69acdecad, -{19, -{134,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"КомандаРегистрацияПрохожденияТестовВЖР", -{1,0},1, -{12,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},3,0,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0, -{3,0, -{0},"",-1,-1,1,0},1, -{"Pattern"},"",2},a9f3b1ac-f51b-431e-b102-55a69acdecad, -{19, -{135,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"КомандаРегистрацияОшибокТестовВЖР", -{1,0},1, -{13,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},3,0,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0, -{3,0, -{0},"",-1,-1,1,0},1, -{"Pattern"},"",2},a9f3b1ac-f51b-431e-b102-55a69acdecad, -{19, -{139,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"КомандаВключитьРежимОтладки", -{1,1, -{"ru","Режим отладки выполнения тестов"} -},1, -{16,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},3,0,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0, -{3,0, -{0},"",-1,-1,1,0},1, -{"Pattern"},"",2},a9f3b1ac-f51b-431e-b102-55a69acdecad, -{19, -{190,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"КомандаСлучайныйПорядокВыполнения", -{1,0},1, -{14,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},3,0,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0, -{3,0, -{0},"",-1,-1,1,0},1, -{"Pattern"},"",2},cd5394d0-7dda-4b56-8927-93ccbe967a01, -{17, -{242,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},6,"ИсторияВыбораМест", -{1,1, -{"ru","История выбора мест"} -}, -{1,1, -{"ru","История выбора мест"} -},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1, -{0},2},0,1},cd5394d0-7dda-4b56-8927-93ccbe967a01, -{17, -{244,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},6,"ИсторияВыбораФайлов", -{1,1, -{"ru","История выбора файлов"} -}, -{1,1, -{"ru","История выбора файлов"} -},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1, -{0},2},0,1},1},a9f3b1ac-f51b-431e-b102-55a69acdecad, -{19, -{31,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"КомандаПерезагрузитьТесты", -{1,0},1, -{4,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},3,0,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0, -{3,3, -{0},"",-1,-1,0, -{ -{#base64:iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAAL -EwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj33 -3vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEs -DIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIe -EeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH -/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAn -f+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJ -V2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4 -mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHg -g/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl -7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/A -V/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5 -WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQ -WHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAA -RKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv -1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4 -IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGy -UT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPE -bDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM -WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPE -NyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD -5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2h -tlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0 -dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHK -CpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2ep -O6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN -2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIp -G6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3n -U9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36 -p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYP -jGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLn -m+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cR -p7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0H -DYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dn -F2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofc -n8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh -7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJ -gUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p -DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85 -ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7 -F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/R -NtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9 -MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo -1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5 -sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWF -fevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTP -ZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJ -zs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ -+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3v -dy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtb -Ylu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ7 -52PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7 -nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9 -zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9D -BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfy -l5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT -0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq -YAAAOpgAABdvkl/FRgAAAlFJREFUeNqkk11Ik2EUx3/Pu3duc35NRefSTMlNM52l -IZIZgaUWtaAPDPGiiygiKoIKUsEu7CLEQJCIPq68ihK6KrsxSoz8QAJFA800rEQt -bbqW27unC7NGjrzw3J0D/8M5/3N+QkrJuiK4gTUPso9CWROU3QKHCwBjxXUemOJJ -DKVVggsBDbxe8CwR5XYTHZNNtNHOJrst+eS+anN9qAHU4EQfIewlu3OuObdZD/j8 -Y3qhkxwqliIrIYfS4skzP/yDPG/xnCeAb0UjpJQIRWBJ12XVNJe3FzgDKe6fw/jk -NEKRIMA9r2E0KXT3mWcbq6cz0Pi2soIKYEog8fAF283cgqmU/vFeXr9k9F03Pd7v -LGoS8/GLVOpg7n6N5zQac6oBAv4gI2LSOVjXHicfLxhk1W3GUNgStFmy6wbvEzKp -VFRI3Qu7rkL85mWtkFISHityU/I5FRZO1PxnXn3s4d7Gnegn3+DT/BiAZGC05AoV -tqy4Qs+019N5Z/Hh7Ij8wD9/IACStlJ0oln/Vo3EYC0ASxpEOjCfbdk+PDRRK+ta -M2RkGq4/HgSfNtbOjtqmwjYlkGodqXrWsMGB2/1JmLKd1lKXs8gxNH2XvoGpF0vz -DP69ghDLch1Rl1utw3sKLEn+pQjCw8PQ/BKhghLQ+Ood4Wnn7OyjBo65J+hYPYHE -1/9qpisz78uRmRmYGMer6kAI8AfQBrro7H1C48IkHSFf+XfEll+i7VwbEiP70ZGP -jkJU8oGYVRiEhElgSyumXlGxrMnRf2g0Abq1Goj14vxrAEGh9iL0BPs8AAAAAElF -TkSuQmCC} -},0},1, -{"Pattern"},"",2},a9f3b1ac-f51b-431e-b102-55a69acdecad, -{19, -{30,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"КомандаВыполнитьВсеТесты", -{1,0},1, -{3,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},3,0,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0, -{3,3, -{0},"",-1,-1,0, -{ -{#base64:iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAAL -EwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj33 -3vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEs -DIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIe -EeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH -/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAn -f+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJ -V2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4 -mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHg -g/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl -7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/A -V/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5 -WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQ -WHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAA -RKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv -1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4 -IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGy -UT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPE -bDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM -WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPE -NyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD -5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2h -tlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0 -dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHK -CpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2ep -O6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN -2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIp -G6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3n -U9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36 -p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYP -jGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLn -m+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cR -p7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0H -DYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dn -F2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofc -n8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh -7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJ -gUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p -DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85 -ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7 -F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/R -NtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9 -MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo -1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5 -sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWF -fevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTP -ZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJ -zs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ -+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3v -dy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtb -Ylu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ7 -52PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7 -nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9 -zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9D -BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfy -l5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT -0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq -YAAAOpgAABdvkl/FRgAAAhJJREFUeNrUk01rE1EYhc+duZOZSYNtPqgVqmkVpNJF -UQlqNtlpRdBuhIKgC/fiX/AnKCrVjQs34kLQahe1wYUJNUpqWkpUMLa2dtKkmXx0 -ksxkPu51IdiKdZWV5wc8vOe85xDOObqRgC7VNYACQDwx1j94rDW+tUFW9FX//Ei8 -PVndJGulQk9KIJRRiQPkb6vZbPYXwB9qnbp0NXw70ntQmXm1ODs8IiWiBw6r8+n1 -Zx+SjQeVVTUlwOfuBaIAwDj3O64rRwf6levXzl5c3yyh3jBwJj48GTttX84taLOZ -ZP1uuaDOEc9nixQgAt8F8ATesT1umFtwbA8DoX2IBMMo61U0am1x7Hj0/MkYObfw -ce3t+2T9XqUQeMkZNX+H6DHAtjlcl8N2PRimDtPSEOmjGD0yBAgWimVNmBiPJW7e -Ovr0xIQ+RXus/TsXMALDtKC3dHRsFxwAFUTIbgcNQ8OPUg0BVcJ3/QvynyvljU9q -2rOkxi4LBJbN0HYseIxDkRQYTYZ8sQgwhmCfH1rJLD1/Un2o5QJTxOnVRMp2MvAY -iONyIssUhsGwXNDhOC5CQQWVilNNz+mPtCX1PjPC30QJIBL78wuckbbVgb20vO29 -mam9GBrFhUODvdLr6e3HWk6+w5qhvEgBKvO9i8RNJZOZbt2wavZXrx5516k1ryzW -3BW3GkyJIgH1sX82kfz/Y/o5APw/CNRIkXZ3AAAAAElFTkSuQmCC} -},0},1, -{"Pattern"},"",2},a9f3b1ac-f51b-431e-b102-55a69acdecad, -{19, -{245,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"ФормаКомандаВыполнитьВыделенныеТесты", -{1,0},1, -{5,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},3,1,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0, -{3,0, -{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, -{"B",1},0} -},1,"ГруппаВнешниеИнструменты", -{1,1, -{"ru","Внешние инструменты"} -}, -{1,1, -{"ru","Внешние инструменты"} -},1,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{6, -{3,0, -{0},"",-1,-1,1,0}, -{0},2,3},3,a9f3b1ac-f51b-431e-b102-55a69acdecad, -{19, -{71,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"КомандаГенераторМакетовДанных", -{1,0},1, -{7,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},3,0,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0, -{3,0, -{0},"",-1,-1,1,0},1, -{"Pattern"},"",2},a9f3b1ac-f51b-431e-b102-55a69acdecad, -{19, -{73,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"КомандаПоказатьГУИД", -{1,0},1, -{8,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},3,0,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0, -{3,0, -{0},"",-1,-1,1,0},1, -{"Pattern"},"",2},cd5394d0-7dda-4b56-8927-93ccbe967a01, -{17, -{128,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},6,"ГруппаОПроекте", -{1,1, -{"ru","Группа о проекте"} -}, -{1,1, -{"ru","Группа о проекте"} -},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1, -{0},2},1,a9f3b1ac-f51b-431e-b102-55a69acdecad, -{19, -{70,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"КомандаОПроекте", -{1,0},1, -{6,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},3,0,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0, -{3,0, -{0},"",-1,-1,1,0},1, -{"Pattern"},"",2},1},1},a9f3b1ac-f51b-431e-b102-55a69acdecad, -{19, -{137,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"ФормаКомандаПерезагрузитьФорму", -{1,0},1, -{15,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},2,0,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0, -{3,0, -{0},"",-1,-1,1,0},1, -{"Pattern"},"",2},a9f3b1ac-f51b-431e-b102-55a69acdecad, -{19, -{356,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"ФормаИзменитьФорму", -{1,0},1, -{0,198ea630-fda2-4cda-8a23-f999f4c67ee6}, -{0},3,0,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0, -{3,0, -{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, -{"B",1},0} -},5,"ГруппаДеревоТестов", -{1,1, -{"ru","Дерево тестов"} -}, -{1,1, -{"ru","Дерево тестов"} -},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{12,0,0,0,0, -{0}, -{1,0}, -{"Pattern"},""},2,cd5394d0-7dda-4b56-8927-93ccbe967a01, -{17, -{36,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},5,"ГруппаПути", -{1,1, -{"ru","Группа пути"} -}, -{1,1, -{"ru","Группа пути"} -},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{12,1,0,0,0, -{0}, -{1,0}, -{"Pattern"},""},1,77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{37,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},2,"ПутиНадпись",2,0, -{1,1, -{"ru","Пути"} -}, -{1,0}, -{1, -{4} -}, -{0},1,1,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,1,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{26, -{1,0},1,0,2,2,1,2,1,2,2,2,2,2,2,2, -{"U"}, -{"U"},"",0, -{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}, -{3,4, -{0} -}, -{3,3, -{-1} -}, -{3,3, -{-1} -}, -{6,1,60, -{0},700,0,0,0,1},0, -{3,0,0},0}, -{0},1, -{17, -{38,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ПутиНадписьКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},1},143c00f7-a42d-4cd7-9189-88e4467dc768, -{42, -{1,02023637-7868-4a5f-8576-835a76e0c9ba},0,2,1, -{0, -{0, -{"B",1},0} -},"ДеревоТестов",0,0,1, -{1,0}, -{1,0}, -{2, -{1}, -{0,74ab8988-f52c-40cb-9b09-66a817b93074} -},0,1,1,0,0,1,1,0,0,0,0,0,1,0,1,1,0,1,2,2,0,0,0,0,0,1,2,2,0,1,1, -{1, -{4,5bdad865-f2c5-434b-8041-ba4aad3b6687} -}, -{3,3, -{0},"",-1,-1,0, -{ -{#base64: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} -},0}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1,1,0, -{0}, -{0},1, -{17, -{2,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ДеревоТестовКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,0},4,a9f3b1ac-f51b-431e-b102-55a69acdecad, -{19, -{39,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"ДеревоТестовКонтекстноеМенюКомандаВыполнитьВыделенныеТесты", -{1,0},1, -{5,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},3,0,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0, -{3,3, -{0},"",-1,-1,0, -{ -{#base64:iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAAL -EwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj33 -3vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEs -DIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIe -EeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH -/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAn -f+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJ -V2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4 -mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHg -g/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl -7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/A -V/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5 -WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQ -WHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAA -RKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv -1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4 -IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGy -UT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPE -bDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM -WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPE -NyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD -5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2h -tlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0 -dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHK -CpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2ep -O6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN -2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIp -G6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3n -U9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36 -p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYP -jGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLn -m+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cR -p7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0H -DYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dn -F2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofc -n8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh -7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJ -gUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p -DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85 -ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7 -F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/R -NtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9 -MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo -1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5 -sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWF -fevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTP -ZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJ -zs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ -+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3v -dy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtb -Ylu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ7 -52PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7 -nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9 -zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9D -BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfy -l5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT -0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq -YAAAOpgAABdvkl/FRgAAAahJREFUeNrUkz9oU1EYxc/37k1ekj7UNmIQCi4iOBW6 -FERMN/+BdlDQwbo66ebs6KpgqV3EVTq1BcFqEYyBGiO2tZaCLVI11vqSGJOXvNx3 -7/1clSY6ZPJs33I4v8P5iJnRixz0qJ4N5O/HsezQgcGjwSm/RB93NryccKSVMQZo -N2axWNxtkBoIRs6Pp+/s3zfozT9eny4s1O9XtvpyDuK6m9EfCJY5FWntHspk5NUr -o5du3h56evYaz6QPV85EVsW1IrCl7gjWONxWhuut74iUwcH+PeLyheOnT2T9k/n8 -hxevnv245294c2xlq2MCYwGlGFozlDb42SyjWvuEfk86F8+NZG/cOvJoeKw8KfvC -TOcEllBvhSgHZbSVBgOQQiDJCtu1ElZW/Z0va8mXJozVuiAQQmXRjEIYw0glEmgr -izfLn78VFppTpSVvkqK9JSFt5w6MBUWayXUlGppReOtXXj8PHmy/S05wI70pYgDF -bPcS2VIzbEMtr9Yo/6Tx8OuKe5cb6fdCAuTyv4fErcTi4mxwPaxGm6Y6kBOCQHH7 -1yXS//9MvwYA7VrPBwpDNkQAAAAASUVORK5CYII=} -},0},1, -{"Pattern"},"",2},a9f3b1ac-f51b-431e-b102-55a69acdecad, -{19, -{80,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"ДеревоТестовКонтекстноеМенюЗагрузитьТолькоВыделенныеТесты", -{1,0},1, -{11,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},3,0,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0, -{3,0, -{0},"",-1,-1,1,0},1, -{"Pattern"},"",2},a9f3b1ac-f51b-431e-b102-55a69acdecad, -{19, -{189,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"ДеревоТестовКонтекстноеМенюКомандаВыполнитьВыделенныеТестыСИсключением", -{1,0},1, -{17,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},3,0,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0, -{3,0, -{0},"",-1,-1,1,0},1, -{"Pattern"},"",2},a9f3b1ac-f51b-431e-b102-55a69acdecad, -{19, -{300,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"ДеревоТестовКонтекстноеМенюПоказатьОшибки", -{1,0},1, -{18,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},3,0,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0, -{3,0, -{0},"",-1,-1,1,0},1, -{"Pattern"},"",2},1},1, -{17, -{3,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} -}, -{6,3,0,1}, -{0,0,0},1, -{0,0,0},0,1},14,77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{20,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},4,"ДеревоТестовСостояние",0,0, -{1,0}, -{1,0}, -{3, -{1}, -{0,74ab8988-f52c-40cb-9b09-66a817b93074}, -{5,5bdad865-f2c5-434b-8041-ba4aad3b6687} -}, -{0},1,1,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,2,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{7,1,0,0,1, -{3,3, -{0},"",-1,-1,0, -{ -{#base64:iVBORw0KGgoAAAANSUhEUgAAAEAAAAAQCAYAAACm53kpAAAAAXNSR0IArs4c6QAA -AAlwSFlzAAALEwAACxMBAJqcGAAABCRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAA -ADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhN -UCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3 -LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpE -ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0i -aHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5z -OmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgICAgICAg -ICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAg -ICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4w -LyI+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1 -dGlvblVuaXQ+CiAgICAgICAgIDx0aWZmOkNvbXByZXNzaW9uPjU8L3RpZmY6Q29t -cHJlc3Npb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyPC90aWZmOlhS -ZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9y -aWVudGF0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjwvdGlmZjpZ -UmVzb2x1dGlvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjY0PC9l -eGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT4x -PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lv -bj4xNjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDxkYzpzdWJqZWN0 -PgogICAgICAgICAgICA8cmRmOkJhZy8+CiAgICAgICAgIDwvZGM6c3ViamVjdD4K -ICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTUtMDMtMjBUMjI6MDM6MDI8L3ht -cDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPlBpeGVsbWF0 -b3IgMy4zLjE8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgPC9yZGY6RGVzY3JpcHRp -b24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CjiAOxsAAAPbSURBVFgJ7VZr -aBRXFD6zs7uzrzzsNpJEzKZNWdMnoohNpZhYSputlZaoiP6TPjb4yyIi+Ns/Iukv -TZAWSn8aA0XqWilttDRNH1GIzcv1QTRsNmpTdnd2dmfuvHrO6MiyzK77q2CbC8O5 -59xzzj3fd8+9DMDKWGFghYH/CgPsyJ79yt6tKSW+PeGESYn3JpS9b6bYkd377XXO -npTLZDI5CKYZN3HBcuK4oWg02l/uV0mPnYBBw4C4gQlcmMDlgqHEIag53rz8Cu6v -xwEeVcDxQ9zWqarx2se9KfOFzjFjenIDBAJJYejbmF0fgYdCMep5PnJVnbm5RTgz -tobWHAkg8LgQ9weD6IEz0wRJksi5JhIIfEu4Mb5zy0fgdXuBaQzOjn0B6eVMTSSY -l18bBE84Dqt34f5e3J8B3BsG0JaRhGsVSaCT5zlX1HiuY9ycnXlZ8dcv1Z8ajikH -9yUgc6/ZHVkzrSVvd0F9CMm5YJFTgYDrZjBUB3kEbSJ4DkkIIRlSXoRodJ1jjM00 -yd7jYB744BNI/vUdMF0GL++D6LPvwslvTsOFw86kl8abl14yYe0BgMwVAAPBu5CE -xo0ACyeB656pur92cFeCU9Vms73jj+LcrU3ugNHCGULaHVk7wWZnYzxnXBO+vPi4 -M1ylG5fOVVWzuo+jerELLb3UococOYOUNApZdhcK6n1Lkk72mgebx9PPA/BIAEnS -axjuz4djzHAvsbmbm4RX183ybZGfWGPjlDR9fTsLrVooBU/p3NVyCj6f1f72Najm -W7pGdz4j34AghRtYP9JMOtlrG+jIiQCBMLo/egMA9Sc3j5Xef+psLN3XnQ6kH0wa -um7g8DBR4lq+Ot9Vvr9jB6RSiyO6poLX4wFBECxJOtnLEzjpShZG/pwC8GLn0jNC -knSyO/mX2+7c10cgOwPgq3tIAknULXu5s4M+1901aOhCOrec4cXljBtkbUGWjL/v -7Hv/63L3SmfSNjo6OtDa2tpnBywuLo709PR8hvpd21ZFtr11FAaEBuijtqd3lMD/ -cAxqjp8/0zkQWc33WfcGExD49t1zT4wn8Cxf2Bxqb/5FEbNvKLlCC9O5tBxugLCq -CGJG/vn1iclP7dorEUDrbfg12Y4oH+BXC3g75F+Pn9i84TTPlG3Ae84VVbU7EKj7 -bf34r/0WKTmpvaAZU6Jc/LAp3PQ92anQagTYQJ4a+fuLHUsuf/CcrKjbQvUNj0ES -ACKhmM29nZfVHwuMvffOrXnrP8DxDXhqEJcVavq9A6KY2+EL+S/aJ2y7dF4a7+eE -wHkB9B3PrKo7YdtX5P+dgX8Ax9moY3JcXXwAAAAASUVORK5CYII=} -},0},0,0,0, -{1,0}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,0, -{0},1,1,0,48312c09-257f-4b29-b280-284dd89efc1e},0,0, -{0} -}, -{0},1, -{17, -{21,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ДеревоТестовСостояниеКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{40,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},4,"ДеревоТестовМодульИлиФорма",0,0, -{1,0}, -{1,0}, -{3, -{1}, -{0,74ab8988-f52c-40cb-9b09-66a817b93074}, -{8,5bdad865-f2c5-434b-8041-ba4aad3b6687} -}, -{0},1,1,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,2,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{7,1,0,0,1, -{3,3, -{0},"",-1,-1,0, -{ -{#base64:iVBORw0KGgoAAAANSUhEUgAAADAAAAAQCAYAAABQrvyxAAAACXBIWXMAAAsTAAAL -EwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj33 -3vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEs -DIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIe -EeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH -/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAn -f+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJ -V2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4 -mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHg -g/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl -7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/A -V/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5 -WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQ -WHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAA -RKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv -1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4 -IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGy -UT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPE -bDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM -WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPE -NyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD -5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2h -tlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0 -dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHK -CpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2ep -O6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN -2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIp -G6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3n -U9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36 -p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYP -jGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLn -m+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cR -p7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0H -DYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dn -F2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofc -n8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh -7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJ -gUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p -DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85 -ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7 -F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/R -NtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9 -MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo -1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5 -sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWF -fevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTP -ZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJ -zs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ -+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3v -dy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtb -Ylu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ7 -52PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7 -nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9 -zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9D -BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfy -l5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT -0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq -YAAAOpgAABdvkl/FRgAAAsBJREFUeNrUljFoFFEQhr9LVjMLJ96CyC5G4xMFLypk -AxZJZ8DCYEANNhEESRk7LVNql3QG0gQrbQ0opLtGyFlIrrCIILiKgRwksNvtGDdZ -i71sNHcRxbsi08z++97s/DPzfvYV0jTlMJvVrg9V3tXSYEOBGLB/WWmNbUImxkYL -AHPPX6YvPoTo92yHdAu6rXlEKzzuw6MHk4W2FRBsKJM3h/56//TMHIxlz6tr65gC -aI8iBUHTCDkiaHowDuql9k4g6yzMLVYpXzCYYkw9qBPvxNhddu5d42L6zG+Rw4M+ -E6Mj/5Rtema23QVkx2Tq1t4U9hP9kz2crxCKjSMlEAHLhiRu8roZEX+s0N8r7S4g -s7k3NQaNhylB8CWAH8ARcm/OGtxTblPcelBj+v4dSJQnSzUe3ygjljD9apknt300 -CZlZWmX0vFAB4kQ7U8DUTT9/bkX0IPP8ERY+AZaDd9Hnxbes42ZgmIVPcf6+uhkB -q4B0RgOzizV842FKMcHn+t5yGkPBxpwzmL7mwmbu+ugW6JaC5UICcrQ1do/7ndGA -bsPUWEZEjoJz0jSS8ptvZdINyytVNAwxFwyCEKI4vWXCtdUcizho0cW2OqSB2VdV -yqddTBGCr0FGrgt0Z0/Y/qVmces29F8eyv8aMYqDECfguOU93Ci2IxrQLZi8PkSM -YiOUek1Oxm4ktxtkW9lKtUK0Wce/6mcdL3qIJYRR8wQ6poFnr6v097q4x5T6t3XY -UegS4kSxLcE97TE8UG4OT8BcGUYTBQuiJKMYaYQUvQxbQpQoXgKgHdDAlnLvWhlt -JHNOeIhFjjVRxMrINmmgB4wrjWtDdkwyL/smJkg3ndGAe1woFaUp+S7eHbt07yPf -pTydX/iF4m5/D8au6wBQaNdttPK+llberkDe8UanD8CDZzwmxrPL3P9Y4bBfp38O -ABGmMsc72DG0AAAAAElFTkSuQmCC} -},0},0,0,0, -{1,0}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,0, -{0},1,1,0,48312c09-257f-4b29-b280-284dd89efc1e},0,0, -{0} -}, -{0},1, -{17, -{41,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ДеревоТестовМодульИлиФормаКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{68,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},2,"ДеревоТестовКоличествоТестов",1,0, -{1,1, -{"ru","Кол-во"} -}, -{1,0}, -{3, -{1}, -{0,74ab8988-f52c-40cb-9b09-66a817b93074}, -{14,5bdad865-f2c5-434b-8041-ba4aad3b6687} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,2,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{26, -{1,0},7,0,0,2,1,2,2,2,2,2,2,2,2,2, -{"U"}, -{"U"},"",0, -{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}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, -{3,0,0},0}, -{0},1, -{17, -{69,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ДеревоТестовКоличествоТестовКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{4,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},2,"ДеревоТестовИмя",1,0, -{1,0}, -{1,0}, -{3, -{1}, -{0,74ab8988-f52c-40cb-9b09-66a817b93074}, -{1,5bdad865-f2c5-434b-8041-ba4aad3b6687} -}, -{0},1,1,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,2,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{26, -{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, -{"U"}, -{"U"},"",0, -{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}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, -{3,0,0},0}, -{0},1, -{17, -{5,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ДеревоТестовИмяКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{6,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},2,"ДеревоТестовВремяВыполнения",1,0, -{1,0}, -{1,0}, -{3, -{1}, -{0,74ab8988-f52c-40cb-9b09-66a817b93074}, -{2,5bdad865-f2c5-434b-8041-ba4aad3b6687} -}, -{0},1,1,2,0,2, -{1,0}, -{1,0},1,1,0,0,0,3,2,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{26, -{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, -{"U"}, -{"U"},"",0, -{3,0, -{0},"",-1,-1,1,0},0,0,2,3,00000000-0000-0000-0000-000000000000, -{5004,0}, -{0,0},2, -{1,1, -{"ru","ЧН=-"} -}, -{1,1, -{"ru","ЧН=-"} -},2,1,0, -{"Pattern"},1, -{0}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, -{3,0,0},0}, -{0},1, -{17, -{7,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ДеревоТестовВремяВыполненияКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{26,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",0},0} -},2,"ДеревоТестовТестовыйСлучайОбъектИмя",1,0, -{1,0}, -{1,0}, -{3, -{1}, -{0,74ab8988-f52c-40cb-9b09-66a817b93074}, -{6,5bdad865-f2c5-434b-8041-ba4aad3b6687} -}, -{0},1,1,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,2,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{26, -{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, -{"U"}, -{"U"},"",0, -{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}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, -{3,0,0},0}, -{0},1, -{17, -{27,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ДеревоТестовТестовыйСлучайОбъектИмяКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},0, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{48,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},2,"ДеревоТестовТипСтроки",1,0, -{1,0}, -{1,0}, -{3, -{1}, -{0,74ab8988-f52c-40cb-9b09-66a817b93074}, -{4,5bdad865-f2c5-434b-8041-ba4aad3b6687} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,2,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{26, -{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, -{"U"}, -{"U"},"",0, -{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}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, -{3,0,0},0}, -{0},1, -{17, -{49,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ДеревоТестовТипСтрокиКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},0, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{52,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},2,"ДеревоТестовТестовыйСлучайОбъектМетаданныхИмя",1,0, -{1,0}, -{1,0}, -{3, -{1}, -{0,74ab8988-f52c-40cb-9b09-66a817b93074}, -{6,5bdad865-f2c5-434b-8041-ba4aad3b6687} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,2,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{26, -{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, -{"U"}, -{"U"},"",0, -{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}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, -{3,0,0},0}, -{0},1, -{17, -{53,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ДеревоТестовТестовыйСлучайОбъектМетаданныхИмяКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},0, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{54,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},2,"ДеревоТестов_GUID",1,0, -{1,0}, -{1,0}, -{3, -{1}, -{0,74ab8988-f52c-40cb-9b09-66a817b93074}, -{7,5bdad865-f2c5-434b-8041-ba4aad3b6687} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,2,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{26, -{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, -{"U"}, -{"U"},"",0, -{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}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, -{3,0,0},0}, -{0},1, -{17, -{55,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ДеревоТестов_GUIDКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},0, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{58,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},2,"ДеревоТестовПараметрыТеста",1,0, -{1,0}, -{1,0}, -{3, -{1}, -{0,74ab8988-f52c-40cb-9b09-66a817b93074}, -{9,5bdad865-f2c5-434b-8041-ba4aad3b6687} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,2,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{26, -{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, -{"U"}, -{"U"},"",0, -{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}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, -{3,0,0},0}, -{0},1, -{17, -{59,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ДеревоТестовПараметрыТестаКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},0, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{60,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},3,"ДеревоТестовЕстьПараметрыТеста",1,0, -{1,0}, -{1,0}, -{3, -{1}, -{0,74ab8988-f52c-40cb-9b09-66a817b93074}, -{10,5bdad865-f2c5-434b-8041-ba4aad3b6687} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,2,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{7,0, -{3,4, -{0} -}, -{3,4, -{0} -} -}, -{0},1, -{17, -{61,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ДеревоТестовЕстьПараметрыТестаКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},0, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{62,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},2,"ДеревоТестовИмяТестовогоСлучая",1,0, -{1,0}, -{1,0}, -{3, -{1}, -{0,74ab8988-f52c-40cb-9b09-66a817b93074}, -{11,5bdad865-f2c5-434b-8041-ba4aad3b6687} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,2,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{26, -{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, -{"U"}, -{"U"},"",0, -{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}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, -{3,0,0},0}, -{0},1, -{17, -{63,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ДеревоТестовИмяТестовогоСлучаяКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},0, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{66,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},2,"ДеревоТестовПолныйПуть",1,0, -{1,0}, -{1,0}, -{3, -{1}, -{0,74ab8988-f52c-40cb-9b09-66a817b93074}, -{3,5bdad865-f2c5-434b-8041-ba4aad3b6687} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,2,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{26, -{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, -{"U"}, -{"U"},"",0, -{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}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, -{3,0,0},0}, -{0},1, -{17, -{67,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ДеревоТестовПолныйПутьКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{64,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},2,"ДеревоТестовПредставлениеПути",1,0, -{1,0}, -{1,0}, -{3, -{1}, -{0,74ab8988-f52c-40cb-9b09-66a817b93074}, -{12,5bdad865-f2c5-434b-8041-ba4aad3b6687} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,2,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{26, -{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, -{"U"}, -{"U"},"",0, -{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}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, -{3,0,0},0}, -{0},1, -{17, -{65,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ДеревоТестовПредставлениеПутиКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},0, -{"Pattern"}, -{"Pattern"},"","", -{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, -{"B",1},0} -},9,"ИндикаторВыполнения",0,0, -{1,0}, -{1,0}, -{1, -{16} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,1,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{3,32,1,1,0,0,100,0,0,1, -{3,4, -{0} -} -}, -{0},1, -{17, -{130,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ИндикаторВыполненияКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},"","",1, -{17, -{0},0,0,1, -{0, -{0, -{"B",1},0} -},7,"Navigator", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -}," -&НаКлиенте -Перем MiddleMan; - -&НаКлиенте -Перем СоответствиеСтатусовДляTeamCity; - -&НаКлиенте -Перем кэшТестовыхОбработок; - -//////////////////////////////////////////////////////////////////////////////// -// ИНТЕРФЕЙС АВТОМАТИЧЕСКИХ ТЕСТОВ - -//#Область ИнтерфейсАвтоматическихТестов - -//////////////////////////////////////////////////////////////////////////////// -// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ ДЛЯ ПРОВЕДЕНИЯ ТЕСТИРОВАНИЯ - -//#Область СлужебныеПроцедурыИФункцииДляПроведенияТестирования - -// { функции утверждения- проверки значений. - -&НаКлиенте -Процедура Проверить(_Истина, ДопСообщениеОшибки = """") Экспорт - Если Не _Истина Тогда - СообщениеОшибки = ""Переданный параметр (""+Формат(_Истина, ""БЛ=ложь; БИ=истина"")+"") не является Истиной, а хотели, чтобы являлся."" + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьИстину(_Истина, ДопСообщениеОшибки = """") Экспорт - Проверить(_Истина, ДопСообщениеОшибки); -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьЛожь(_Ложь, ДопСообщениеОшибки = """") Экспорт - Если _Ложь Тогда - СообщениеОшибки = ""Переданный параметр (""+Формат(_Ложь, ""БЛ=ложь; БИ=истина"")+"") не является Ложью, а хотели, чтобы являлся."" + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьДату(_Дата, _Период, ДопСообщениеОшибки = """") Экспорт - Если _Дата < _Период.ДатаНачала или _Дата > _Период.ДатаОкончания Тогда - представление = ПредставлениеПериода(_Период.ДатаНачала, _Период.ДатаОкончания, ""ФП = Истина""); - СообщениеОшибки = ""Переданный параметр (""+Формат(_Дата, ""ДФ='dd.MM.yyyy HH:mm:ss'"")+"") не входит в период ""+представление+"", а хотели, чтобы являлся."" + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьРавенствоДатСТочностью2Секунды(_Дата, _Дата2, ДопСообщениеОшибки = """") Экспорт - Если _Дата < _Дата2-2 или _Дата > _Дата2+2 Тогда - СообщениеОшибки = ""Переданная дата (""+Формат(_Дата, ""ДФ='dd.MM.yyyy HH:mm:ss'"")+"") не равна дате (""+Формат(_Дата2, ""ДФ='dd.MM.yyyy HH:mm:ss'"")+"") с точностью до 2-х секунд, а хотели, чтобы они равнялись."" + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьРавенство(_1, _2, ДопСообщениеОшибки = """") Экспорт - Если _1 <> _2 Тогда - СообщениеОшибки = ""Сравниваемые значения (""+_1+""; ""+_2+"") не равны, а хотели, чтобы были равны."" + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьНеРавенство(_1, _2, ДопСообщениеОшибки = """") Экспорт - Если _1 = _2 Тогда - СообщениеОшибки = ""Сравниваемые значения (""+_1+""; ""+_2+"") равны, а хотели, чтобы были не равны."" + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьБольше(_Больше, _Меньше, ДопСообщениеОшибки = """") Экспорт - Если _Больше <= _Меньше Тогда - СообщениеОшибки = ""Первый параметр (""+_Больше+"") меньше или равен второму (""+_Меньше+"") а хотели, чтобы был больше."" + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьБольшеИлиРавно(_Больше, _Меньше, ДопСообщениеОшибки = """") Экспорт - Если _Больше < _Меньше Тогда - СообщениеОшибки = ""Первый параметр (""+_Больше+"") меньше второго (""+_Меньше+"") а хотели, чтобы был больше или равен."" + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьМеньше(проверяемоеЗначение1, проверяемоеЗначение2, СообщениеОбОшибке = """") Экспорт - Если проверяемоеЗначение1 >= проверяемоеЗначение2 Тогда - СообщениеОшибки = ""Значение <""+проверяемоеЗначение1+""> больше или равно, чем <""+проверяемоеЗначение2+"">, а ожидалось меньше""+ - ФорматДСО(СообщениеОбОшибке); - ВызватьОшибкуПроверки(СообщениеОшибки) - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьМеньшеИлиРавно(проверяемоеЗначение1, проверяемоеЗначение2, СообщениеОбОшибке = """") Экспорт - Если проверяемоеЗначение1 > проверяемоеЗначение2 Тогда - СообщениеОшибки = ""Значение <""+проверяемоеЗначение1+""> больше, чем <""+проверяемоеЗначение2+"">, а ожидалось меньше или равно""+ - ФорматДСО(СообщениеОбОшибке); - ВызватьОшибкуПроверки(СообщениеОшибки) - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьВыполнилось(Знач СтрокаАлгоритм, ПараметрыИлиДопСообщениеОшибки = Неопределено, Знач ДопСообщениеОшибки = """") Экспорт - Перем Параметры; - - Если ТипЗнч(ПараметрыИлиДопСообщениеОшибки) = Тип(""Строка"") Тогда - ДопСообщениеОшибки = ПараметрыИлиДопСообщениеОшибки; - Иначе - Параметры = ПараметрыИлиДопСообщениеОшибки; - КонецЕсли; - Попытка - Выполнить(СтрокаАлгоритм); - Исключение - ПолученноеОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - СообщениеОшибки = ""Хотели, чтобы алгоритм """"""+СтрокаАлгоритм+"""""" выполнился, а он упал с ошибкой """"""+ПолученноеОписаниеОшибки+""""""."" + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецПопытки; - -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьМетодВыполнился(Объект, Знач ИмяМетода, ПараметрыИлиДопСообщениеОшибки = Неопределено, Знач ДопСообщениеОшибки = """") Экспорт - Перем Параметры; - - Если ТипЗнч(ПараметрыИлиДопСообщениеОшибки) = Тип(""Строка"") Тогда - ДопСообщениеОшибки = ПараметрыИлиДопСообщениеОшибки; - Иначе - Параметры = ПараметрыИлиДопСообщениеОшибки; - Если Параметры <> Неопределено Тогда - ТипПараметра = ТипЗнч(Параметры); - Если ТипПараметра <> Тип(""Массив"") Тогда - ВызватьИсключение (""Ожидали, что вторым параметром будет передан массив параметров для метода <""+ИмяМетода+"">, а получили другой объект с типом <""+ТипПараметра+"">""); - КонецЕсли; - КонецЕсли; - КонецЕсли; - - ПараметрыСтрока = ПараметрыСтрокой(Параметры); - - СтрокаВыполнения = ""Объект."" + ИмяМетода + ""("" + ПараметрыСтрока + "")""; - - Попытка - Выполнить(СтрокаВыполнения); - Исключение - ПолученноеОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - СообщениеОшибки = ""Хотели, чтобы код """"""+СтрокаВыполнения+"""""" выполнился, а он упал с ошибкой """"""+ПолученноеОписаниеОшибки+""""""."" + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецПопытки; - -КонецПроцедуры - -&НаКлиенте -Функция ПараметрыСтрокой(Параметры) - ПараметрыСтрока = """"; - Если ЗначениеЗаполнено(Параметры) Тогда - Для Индекс = 0 По Параметры.ВГраница() Цикл - ПараметрыСтрока = ПараметрыСтрока + "", Параметры["" + Формат(Индекс, ""ЧН=0; ЧГ=0"") + ""]""; - КонецЦикла; - КонецЕсли; - Возврат Сред(ПараметрыСтрока, 3); -КонецФункции - -&НаКлиенте -Процедура ПроверитьНеВыполнилось(Знач СтрокаАлгоритм, ПараметрыИлиОжидаемоеОписаниеОшибки, Знач ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки = """", Знач ДопСообщениеОшибки = """") Экспорт - Перем Параметры, ОжидаемоеОписаниеОшибки; - Если ТипЗнч(ПараметрыИлиОжидаемоеОписаниеОшибки) = Тип(""Строка"") Тогда - ОжидаемоеОписаниеОшибки = ПараметрыИлиОжидаемоеОписаниеОшибки; - ДопСообщениеОшибки = ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки; - Иначе - Параметры = ПараметрыИлиОжидаемоеОписаниеОшибки; - ОжидаемоеОписаниеОшибки = ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки; - КонецЕсли; - Попытка - Выполнить(СтрокаАлгоритм); - Исключение - ПолученноеОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - Если Найти(ПолученноеОписаниеОшибки, ОжидаемоеОписаниеОшибки) = 0 Тогда - ВызватьОшибкуПроверки(""Хотели, чтобы алгоритм """"""+СтрокаАлгоритм+"""""" упал с сообщением об ошибке """"""+ОжидаемоеОписаниеОшибки+"""""", а он упал с сообщением """"""+ПолученноеОписаниеОшибки+""""""."" + ФорматДСО(ДопСообщениеОшибки)); - КонецЕсли; - Возврат; - КонецПопытки; - - ВызватьОшибкуПроверки(""Хотели, чтобы алгоритм """"""+СтрокаАлгоритм+"""""" упал, а он выполнился"" + ФорматДСО(ДопСообщениеОшибки)); - -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьМетодНеВыполнился(Объект, ИмяМетода, ПараметрыИлиОжидаемоеОписаниеОшибки, Знач ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки = """", Знач ДопСообщениеОшибки = """") Экспорт - Перем Параметры, ОжидаемоеОписаниеОшибки; - - Если ТипЗнч(ПараметрыИлиОжидаемоеОписаниеОшибки) = Тип(""Строка"") Тогда - ОжидаемоеОписаниеОшибки = ПараметрыИлиОжидаемоеОписаниеОшибки; - ДопСообщениеОшибки = ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки; - Иначе - Параметры = ПараметрыИлиОжидаемоеОписаниеОшибки; - Если Параметры <> Неопределено Тогда - ТипПараметра = ТипЗнч(Параметры); - Если ТипПараметра <> Тип(""Массив"") Тогда - ВызватьИсключение (""Ожидали, что третьим параметром будет передан массив параметров для метода <""+ИмяМетода+"">, а получили другой объект с типом <""+ТипПараметра+"">""); - КонецЕсли; - КонецЕсли; - ОжидаемоеОписаниеОшибки = ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки; - КонецЕсли; - - ПараметрыСтрока = ПараметрыСтрокой(Параметры); - - СтрокаВыполнения = ""Объект."" + ИмяМетода + ""("" + ПараметрыСтрока + "")""; - - Попытка - Выполнить(СтрокаВыполнения); - Исключение - ПолученноеОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - Если Найти(ПолученноеОписаниеОшибки, ОжидаемоеОписаниеОшибки) = 0 Тогда - ВызватьОшибкуПроверки(""Хотели, чтобы код """"""+СтрокаВыполнения+"""""" упал с сообщением об ошибке """"""+ОжидаемоеОписаниеОшибки+"""""", а он упал с сообщением """"""+ПолученноеОписаниеОшибки+""""""."" + ФорматДСО(ДопСообщениеОшибки)); - КонецЕсли; - Возврат; - КонецПопытки; - - ВызватьОшибкуПроверки(""Хотели, чтобы код """"""+СтрокаВыполнения+"""""" упал, а он выполнился"" + ФорматДСО(ДопСообщениеОшибки)); - -КонецПроцедуры - -// проверка идет через ЗначениеЗаполнено, но мутабельные значение всегда считаем заполненными -&НаКлиенте -Процедура ПроверитьЗаполненность(ПроверяемоеЗначение, ДопСообщениеОшибки = """") Экспорт - Попытка - фЗаполнено = ЗначениеЗаполнено(ПроверяемоеЗначение); - Исключение - Возврат; - КонецПопытки; - Если НЕ фЗаполнено Тогда - ВызватьОшибкуПроверки(""Значение (""+ПроверяемоеЗначение+"") не заполнено, а ожидалась заполненность"" + ФорматДСО(ДопСообщениеОшибки)); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьНеЗаполненность(ПроверяемоеЗначение, ДопСообщениеОшибки = """") Экспорт - СообщениеОшибки = ""Значение (""+ПроверяемоеЗначение+"") заполнено, а ожидалась незаполненность"" + ФорматДСО(ДопСообщениеОшибки); - Попытка - фЗаполнено = ЗначениеЗаполнено(ПроверяемоеЗначение); - Исключение - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецПопытки; - Если фЗаполнено Тогда - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьТип(значение, ТипИлиИмяТипа, ДопСообщениеОшибки = """") Экспорт - Если ТипЗнч(ТипИлиИмяТипа) = Тип(""Строка"") Тогда - искомыйТип = Тип(ТипИлиИмяТипа); - ИначеЕсли ТипЗнч(ТипИлиИмяТипа) = Тип(""Тип"") Тогда - искомыйТип = ТипИлиИмяТипа; - Иначе - ВызватьИсключение (""ПроверитьТип: Тип значения параметра ТипИлиИмяТипа должен быть <Тип> или <Строка>, а получили <""+ ТипЗнч(ТипИлиИмяТипа) + "">"" + ФорматДСО(ДопСообщениеОшибки)); - КонецЕсли; - Если ТипЗнч(значение) <> искомыйТип Тогда - ВызватьОшибкуПроверки(""Типом значения <""+значение+""> является <""+ТипЗнч(значение)+"">, а ожидался тип <""+ТипИлиИмяТипа+"">.""+ФорматДСО(ДопСообщениеОшибки)); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьВхождение(строка, подстрокаПоиска, ДопСообщениеОшибки = """") Экспорт - Если Найти(строка, подстрокаПоиска) = 0 Тогда - ПредставлениеСтроки = ""<""+строка+"">""; - Если СтрДлина(строка) > 20 Тогда - ПредставлениеСтроки = ПредставлениеСтроки + Символы.ПС; - КонецЕсли; - ПредставлениеПодСтроки = ""<""+подстрокаПоиска+"">""; - Если СтрДлина(подстрокаПоиска) > 20 Тогда - ПредставлениеПодСтроки = ПредставлениеПодСтроки + Символы.ПС; - КонецЕсли; - СообщениеОшибки = ""Искали в ""+ПредставлениеСтроки+"" подстроку ""+ПредставлениеПодСтроки+"", но не нашли."" + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -//Коллекция - Массив, Структура, Соответствие, ФиксированныйМассив, ФиксированнаяСтруктура, ФиксированноеСоответствие, СписокЗначений -&НаКлиенте -Процедура ПроверитьВхождениеВКоллекцию(Элемент, Коллекция, ДопСообщениеОшибки = """") Экспорт - Нашли = Неопределено; - ТипКоллекции = ТипЗнч(Коллекция); - Если ТипКоллекции = Тип(""Массив"") или ТипКоллекции = Тип(""ФиксированныйМассив"") Тогда - Нашли = Коллекция.Найти(Элемент) <> Неопределено; - ИначеЕсли ТипКоллекции = Тип(""Структура"") или ТипКоллекции = Тип(""Соответствие"") - или ТипКоллекции = Тип(""ФиксированнаяСтруктура"") или ТипКоллекции = Тип(""ФиксированноеСоответствие"") Тогда - Для каждого КлючЗначение Из Коллекция Цикл - Нашли = КлючЗначение.Значение = Элемент; - Если Нашли Тогда - Прервать; - КонецЕсли; - КонецЦикла; - ИначеЕсли ТипКоллекции = Тип(""СписокЗначений"") Тогда - Нашли = Коллекция.НайтиПоЗначению(Элемент) <> Неопределено; - КонецЕсли; - Если Нашли = Неопределено Тогда - СообщениеОшибки = ""Утверждение """"ПроверитьВхождениеВКоллекцию"""" не умеет работать с типом коллекции <""+ТипКоллекции+"">."" + ФорматДСО(ДопСообщениеОшибки); - ВызватьИсключение СообщениеОшибки; - КонецЕсли; - Если Не Нашли Тогда - СообщениеОшибки = ""Не нашли элемент <""+Элемент+""> в коллекции, а хотели, чтобы он был в коллекции."" + ФорматДСО(ДопСообщениеОшибки); - ВызватьОшибкуПроверки(СообщениеОшибки); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьВалидностьЗапросаСКД(ТекстЗапроса, ДопСообщениеОшибки = """") Экспорт - ПроверитьВалидностьЗапросаСКДНаСервере(ТекстЗапроса, ДопСообщениеОшибки); -КонецПроцедуры - -// Только для внутреннего использования -&НаСервере -Процедура ПроверитьВалидностьЗапросаСКДНаСервере(ТекстЗапроса, ДопСообщениеОшибки = """") - Объект().ПроверитьВалидностьЗапросаСКД(ТекстЗапроса, ДопСообщениеОшибки); -КонецПроцедуры - -&НаКлиенте -Процедура ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки = Ложь, УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки = Ложь, Знач ДопСообщениеОшибки = """") Экспорт - ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениямСервер(ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки, УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки, ДопСообщениеОшибки); -КонецПроцедуры - -&НаСервере -Процедура ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениямСервер(ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки = Ложь, УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки = Ложь, Знач ДопСообщениеОшибки = """") Экспорт - Объект().ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки, УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки, ДопСообщениеОшибки); -КонецПроцедуры - -&НаКлиенте -Процедура ВызватьОшибкуПроверки(СообщениеОшибки) - - Префикс = ""["" + СтатусыРезультатаТестирования.ОшибкаПроверки + ""]""; - ВызватьИсключение Префикс + "" "" + СообщениеОшибки; - -КонецПроцедуры - -&НаКлиенте -Процедура ПропуститьТест(Знач Сообщение = """") Экспорт - - Префикс = ""["" + СтатусыРезультатаТестирования.ТестПропущен + ""]""; - Если ПустаяСтрока(Сообщение) Тогда - Сообщение = НСтр(""ru = 'Тест пропущен'""); - КонецЕсли; - ВызватьИсключение Префикс + "" "" + Сообщение; - -КонецПроцедуры - -&НаКлиенте -Функция ПолучитьКонтекст(Знач ИдентификаторКонтекста = Неопределено) Экспорт - Перем Контекст; - - Если ИдентификаторКонтекста = Неопределено Тогда - ИдентификаторКонтекста = ИдентификаторПустогоКонтекста(); - КонецЕсли; - - Если Не ЗначениеЗаполнено(Объект.Мир) Или Не Объект.Мир.Свойство(ИдентификаторКонтекста, Контекст) Тогда - ТекстОшибки = СтрЗаменить(НСтр(""ru = 'Отсутствует запрашиваемый контекст%1.'""), ""%1"", ?(ИдентификаторКонтекста = ИдентификаторПустогоКонтекста(), """", "" ("" + ИдентификаторКонтекста + "")"")); - ВызватьИсключение ТекстОшибки; - КонецЕсли; - - Возврат Контекст; - -КонецФункции - -&НаКлиенте -Процедура УстановитьКонтекст(Контекст, Знач ИдентификаторКонтекста = Неопределено) Экспорт - - Если Не ЗначениеЗаполнено(Объект.Мир) Тогда - Объект.Мир = Новый Структура; - КонецЕсли; - - Если ИдентификаторКонтекста = Неопределено Тогда - ИдентификаторКонтекста = ИдентификаторПустогоКонтекста(); - КонецЕсли; - - Объект.Мир.Вставить(ИдентификаторКонтекста, Контекст); - -КонецПроцедуры - -// создается копия данных текущего теста - структура ""Имя, ПолныйПуть, СостояниеТеста"" -&НаКлиенте -Функция ДанныеТекущегоТеста() Экспорт - Результат = СоздатьПустуюСтруктуруСостоянияТекущегоТеста(); - - ДанныеТекущегоТеста = ПолучитьКонтекст(""xUnitFor1C_ДанныеТекущегоТеста""); - Если Не ЗначениеЗаполнено(ДанныеТекущегоТеста) Тогда - ВызватьИсключение ""Нельзя получить данные текущего теста вне режима тестирования""; - КонецЕсли; - - ЗаполнитьЗначенияСвойств(Результат, ДанныеТекущегоТеста); - Возврат Результат; -КонецФункции - -// } - -//#КонецОбласти - -//#КонецОбласти - - -//////////////////////////////////////////////////////////////////////////////// -// ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ - -//#Область ОбработчикиСобытийФормы - -&НаСервере -Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) - - // Получаем версию платформы для определения вызова процедур\функций для 8.2 или 8.3 - СистемнаяИнформация = Новый СистемнаяИнформация; - ВерсияПлатформы = Лев(СистемнаяИнформация.ВерсияПриложения, 3); - ЕстьПоддержкаНемодальныхФорм = (СравнитьВерсии(СистемнаяИнформация.ВерсияПриложения, ""8.3.3.641"") >= 0); - ЕстьПоддержкаАсинхронныхВызовов = (СравнитьВерсии(СистемнаяИнформация.ВерсияПриложения, ""8.3.5.1383"") >= 0) - И Вычислить(""Метаданные.РежимИспользованияСинхронныхВызововРасширенийИВнешнихКомпонент <> Метаданные.СвойстваОбъектов.РежимИспользованияСинхронныхВызововРасширенийИВнешнихКомпонент.Использовать""); - - ИнициализироватьНастройки(); - - ОбъектНаСервере = Объект(); - ЭтаФорма.Заголовок = ОбъектНаСервере.ЗаголовокФормы(); - - ЭтоВстроеннаяОбработка = ОбъектНаСервере.ЭтоВстроеннаяОбработка; - Если Не ЭтоВстроеннаяОбработка Тогда - ИспользуемоеИмяФайла = ОбъектНаСервере.ИспользуемоеИмяФайла; - КонецЕсли; - УстановитьПоУмолчаниюОбработчикКоманды_ЗагрузитьТесты(); - - ЗапретИспользованияИнформатора = Истина; - - БылаОшибкаПриПредыдущейЗагрузке = ОбъектНаСервере.СохраненнаяНастройка_БылаОшибкаПриПредыдущейЗагрузке(); - ОбъектНаСервере.УстановитьНастройку_БылаОшибкаПриПредыдущейЗагрузке(Истина); - - Если ЗначениеЗаполнено(Параметры.Пути) Тогда - Пути.ЗагрузитьЗначения(Параметры.Пути.ВыгрузитьЗначения()); - КонецЕсли; - - ЗначенияСостоянияТестов = ОбъектНаСервере.мЗначенияСостоянияТестов; - ЗначенияТиповСтроки = ОбъектНаСервере.мЗначенияТиповСтроки; - ЗначениеМодульИлиФорма = ОбъектНаСервере.мЗначениеМодульИлиФорма; - СтатусыРезультатаТестирования = ОбъектНаСервере.СтатусыРезультатаТестирования; - -КонецПроцедуры - -&НаСервере -Процедура УстановитьПоУмолчаниюОбработчикКоманды_ЗагрузитьТесты() - Перем Команда; - - Если ЭтоВстроеннаяОбработка Тогда - Команда = Команды.КомандаЗагрузитьТестыИзКонфигурацииПоИмени; - Иначе - Команда = Команды.КомандаЗагрузитьТестовыйНабор; - КонецЕсли; - - Элементы.ФормаЗагрузитьТестыПоУмолчанию.ИмяКоманды = Команда.Имя; - -КонецПроцедуры - -&НаКлиенте -Процедура ПриОткрытии(Отказ) - - СоздатьСоответствиеСтатусовДляTeamCity(); - - Если ОбработатьПараметрыЗапуска(ПараметрЗапуска) Тогда - Возврат; - КонецЕсли; - - Ответ = КодВозвратаДиалога.Нет; - Если ЗначениеЗаполнено(Пути) Тогда - - Если БылаОшибкаПриПредыдущейЗагрузке Тогда - Текст = НСтр(""ru = 'Возникла ошибка при предыдущей загрузке тестов. Хотите отменить загрузку тестов?'""); - Если ЕстьПоддержкаНемодальныхФорм Тогда - Оповещение = Вычислить(""Новый ОписаниеОповещения(""""ПриОткрытииПослеВопросаОбОтменеЗагрузкиТестов"""", ЭтаФорма)""); - Выполнить(""ПоказатьВопрос(Оповещение, Текст, РежимДиалогаВопрос.ДаНет)""); - Возврат; - Иначе - Ответ = Вопрос(Текст, РежимДиалогаВопрос.ДаНет, 0); - КонецЕсли; - - КонецЕсли; - - КонецЕсли; - - ПриОткрытииПослеВопросаОбОтменеЗагрузкиТестов(Ответ); - -КонецПроцедуры - -&НаКлиенте -Процедура ПриОткрытииПослеВопросаОбОтменеЗагрузкиТестов(Ответ, ДополнительныеПараметры = Неопределено) Экспорт - - Если Ответ = КодВозвратаДиалога.Да Тогда - Пути.Очистить(); - КонецЕсли; - - Если ЗначениеЗаполнено(Пути) Тогда - - ОбновитьНадписьПути(); - - Попытка - LoadAllTests(); - Исключение - ТекстОшибки = ОписаниеОшибки(); - ТекстСообщения = НСтр(""ru='ОШИБКА загрузки тестов: %ТекстОшибки%'; en='Error loading testcases: %ТекстОшибки%'""); - ТекстСообщения = СтрЗаменить(ТекстСообщения, ""%ТекстОшибки%"", ТекстОшибки); - ВывестиСообщение(ТекстСообщения); - - КонецПопытки; - - КонецЕсли; - - СброситьПризнак_БылаОшибкаПриПредыдущейЗагрузкеСервер(); - -КонецПроцедуры - -&НаКлиенте -Процедура СоздатьСоответствиеСтатусовДляTeamCity() - - //{ Соответствие Статуса сообщения 1с Статусу в Buildlog TeamCity - СоответствиеСтатусовДляTeamCity = Новый Соответствие; - СоответствиеСтатусовДляTeamCity.Вставить(СтатусСообщения.БезСтатуса,""NORMAL""); - СоответствиеСтатусовДляTeamCity.Вставить(СтатусСообщения.Обычное,""NORMAL""); - СоответствиеСтатусовДляTeamCity.Вставить(СтатусСообщения.Информация,""NORMAL""); - СоответствиеСтатусовДляTeamCity.Вставить(СтатусСообщения.Внимание,""WARNING""); - СоответствиеСтатусовДляTeamCity.Вставить(СтатусСообщения.Важное,""FAILURE""); - СоответствиеСтатусовДляTeamCity.Вставить(СтатусСообщения.ОченьВажное,""ERROR""); - СоответствиеСтатусовДляTeamCity = Новый ФиксированноеСоответствие(СоответствиеСтатусовДляTeamCity); - //} Соответствие Статуса сообщения 1с Статусу в Buildlog TeamCity -КонецПроцедуры - -// Обработка оповещений о загрузке или ходе выполнения тестов. -// -&НаКлиенте -Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) - - // Возможные события: - // xUnitFor1C.TestLoaded - // xUnitFor1C.TestPassed - // xUnitFor1C.TestNotInplemented - // xUnitFor1C.TestFailed - - Если ИмяСобытия = ""xUnitFor1C.TestPassed"" Тогда - - ИндикаторВыполнения = ИндикаторВыполнения + 1; //Элементы.ИндикаторВыполнения.Значение = Элементы.ИндикаторВыполнения.Значение + 1; - - ИначеЕсли ИмяСобытия = ""xUnitFor1C.TestNotImplemented"" Тогда - - ИндикаторВыполнения = ИндикаторВыполнения + 1; //Элементы.ИндикаторВыполнения.Значение = Элементы.ИндикаторВыполнения.Значение + 1; - - Если Элементы.ИндикаторВыполнения.ЦветРамки <> WebЦвета.Красный Тогда - Элементы.ИндикаторВыполнения.ЦветРамки = WebЦвета.Золотой; - КонецЕсли; - - ИначеЕсли ИмяСобытия = ""xUnitFor1C.TestFailed"" Тогда - - ИндикаторВыполнения = ИндикаторВыполнения + 1; //Элементы.ИндикаторВыполнения.Значение = Элементы.ИндикаторВыполнения.Значение + 1; - Элементы.ИндикаторВыполнения.ЦветРамки = WebЦвета.Красный; - - ИначеЕсли ИмяСобытия = ""xUnitFor1C.LoadSubSystem"" Тогда - - Если ТипЗнч(Параметр) = Тип(""Строка"") И НЕ ПустаяСтрока(Параметр) Тогда - - Пути.Очистить(); - Пути.Добавить(Параметр); - ОбновитьНадписьПути(); - LoadAllTests(); - - КонецЕсли; - - КонецЕсли; - - ОбновитьОтображениеДанных(); - -КонецПроцедуры - -&НаКлиенте -Процедура ПриЗакрытии() - - Если Не ЭтоЗапускВПакетномРежиме Тогда - СохранитьНастройки(); - КонецЕсли; - -КонецПроцедуры - -//#КонецОбласти - -//////////////////////////////////////////////////////////////////////////////// -// ОБРАБОТЧИКИ ТАБЛИЦЫ ФОРМЫ ДЕРЕВОТЕСТОВ - -//#Область ОбработчикиТаблицыФормы_ДеревоТестов - -&НаКлиенте -Процедура РазвернутьСтрокиДерева(ВключаяПодчиненные = Ложь) - - Для Каждого СтрокаДерева Из Объект.ДеревоТестов.ПолучитьЭлементы() Цикл - Идентификатор = СтрокаДерева.ПолучитьИдентификатор(); - Элементы.ДеревоТестов.Развернуть(Идентификатор, ВключаяПодчиненные); - КонецЦикла; - -КонецПроцедуры - -&НаКлиенте -Процедура СвернутьУспешныеСтрокиДереваИРазвернутьНеуспешные(СтрокиДереваТестов, ОставитьРазвернутым) - - ЭлементДеревоТестов = Элементы.ДеревоТестов; - Для Каждого СтрокаДерева из СтрокиДереваТестов Цикл - Если Не ОставитьРазвернутым Тогда - Идентификатор = СтрокаДерева.ПолучитьИдентификатор(); - Если СтрокаДерева.Состояние = ЗначенияСостоянияТестов.Сломался - Или СтрокаДерева.Состояние = ЗначенияСостоянияТестов.НеРеализован Тогда - ЭлементДеревоТестов.Развернуть(Идентификатор, Ложь); - ИначеЕсли СтрокаДерева.Состояние <> ЗначенияСостоянияТестов.НеВыполнялся Тогда - ЭлементДеревоТестов.Свернуть(Идентификатор); - КонецЕсли; - КонецЕсли; - СвернутьУспешныеСтрокиДереваИРазвернутьНеуспешные(СтрокаДерева.ПолучитьЭлементы(), Ложь); - КонецЦикла; - -КонецПроцедуры - -&НаКлиенте -Процедура ИзменитьСостояниеВыполненияРодителей(СтрокаДереваТестов) - - СтрокаРодителя = СтрокаДереваТестов.ПолучитьРодителя(); - Если СтрокаРодителя = Неопределено Тогда - Возврат; - КонецЕсли; - - ПредыдушееСостояние = СтрокаРодителя.Состояние; - Состояние = ЗначенияСостоянияТестов.НеВыполнялся; - Для Каждого Строка Из СтрокаРодителя.ПолучитьЭлементы() Цикл - Если Строка.Состояние = ЗначенияСостоянияТестов.НеВыполнялся Тогда - Состояние = ЗначенияСостоянияТестов.НеВыполнялся; - Прервать; - КонецЕсли; - ЗапомнитьСамоеХудшееСостояние(Состояние, Строка.Состояние); - КонецЦикла; - Если ПредыдушееСостояние <> Состояние Тогда - СтрокаРодителя.Состояние = Состояние; - ИзменитьСостояниеВыполненияРодителей(СтрокаРодителя); - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ИзменитьВремяВыполненияРодителей(СтрокаДереваТестов) - - СтрокаРодителя = СтрокаДереваТестов.ПолучитьРодителя(); - Если СтрокаРодителя = Неопределено Тогда - Возврат; - КонецЕсли; - - ВремяВыполнения = 0; - Для Каждого Строка Из СтрокаРодителя.ПолучитьЭлементы() Цикл - ВремяВыполнения = ВремяВыполнения + Строка.ВремяВыполнения; - КонецЦикла; - Если СтрокаРодителя.ВремяВыполнения <> ВремяВыполнения Тогда - СтрокаРодителя.ВремяВыполнения = ВремяВыполнения; - ИзменитьВремяВыполненияРодителей(СтрокаРодителя); - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура УдалитьПустуюСтрокуДерева(СтрокаТеста, РодительскаяСтрока) - Если СтрокаТеста <> Неопределено И СтрокаТеста.ПолучитьЭлементы().Количество() = 0 Тогда - Если РодительскаяСтрока <> Неопределено Тогда - РодительскаяСтрока.ПолучитьЭлементы().Удалить(СтрокаТеста); - Иначе - Объект.ДеревоТестов.ПолучитьЭлементы().Удалить(СтрокаТеста); - КонецЕсли; - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура УдалитьПустыеСтрокиКаталогов(СтрокиДерева) - - УдаляемыеСтроки = Новый Массив; - - Для Каждого СтрокаДерева Из СтрокиДерева Цикл - Если СтрокаДерева.ТипСтроки = ЗначенияТиповСтроки.КаталогТестов Тогда - УдалитьПустыеСтрокиКаталогов(СтрокаДерева.ПолучитьЭлементы()); - Если СтрокаДерева.ПолучитьЭлементы().Количество() = 0 Тогда - УдаляемыеСтроки.Добавить(СтрокаДерева); - КонецЕсли; - КонецЕсли; - КонецЦикла; - - Для Каждого СтрокаКУдалению Из УдаляемыеСтроки Цикл - СтрокиДерева.Удалить(СтрокаКУдалению); - КонецЦикла; - -КонецПроцедуры - -&НаКлиенте -Функция ПосчитатьКоличествоТестовыхСлучаевПоВсемуДеревуТестов(РодительскаяСтрока) - коллекцияСтрок = РодительскаяСтрока.ПолучитьЭлементы(); - Если коллекцияСтрок.Количество() = 0 Тогда - Возврат 1; - КонецЕсли; - количествоТестов = 0; - Для каждого СтрокаДерева из коллекцияСтрок Цикл - лКоличество = ПосчитатьКоличествоТестовыхСлучаевПоВсемуДеревуТестов(СтрокаДерева); - СтрокаДерева.КоличествоТестов = лКоличество; - количествоТестов = количествоТестов + лКоличество; - КонецЦикла; - Возврат количествоТестов; -КонецФункции - -&НаСервере -Процедура УпорядочитьСтрокиДереваТестов() - - Дерево = РеквизитФормыВЗначение(""Объект.ДеревоТестов""); - Объект().УпорядочитьСтрокиДереваТестов(Дерево); - ЗначениеВРеквизитФормы(Дерево, ""Объект.ДеревоТестов""); - -КонецПроцедуры - -//#КонецОбласти - -//////////////////////////////////////////////////////////////////////////////// -// ОБРАБОТЧИКИ КОМАНД ФОРМЫ - -//#Область ОбработчикиКомандФормы - -&НаКлиенте -Процедура КомандаВыполнитьВсеТесты(Команда) - ОчиститьСообщения(); - RunAllTests(); -КонецПроцедуры - -&НаКлиенте -Процедура КомандаПерезагрузитьВсеТесты(Команда) - LoadAllTests(); -КонецПроцедуры - -&НаКлиенте -Процедура КомандаЗагрузитьТестовыйНабор(Команда) - - ПараметрыВыбора = Новый Структура; - ПараметрыВыбора.Вставить(""ИмяИстории"", Элементы.ИсторияВыбораМест.Имя); - ПараметрыВыбора.Вставить(""РазвернутьСтроки"", Ложь); - - Режим = РежимДиалогаВыбораФайла.ВыборКаталога; - ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим); - ДиалогОткрытияФайла.ПолноеИмяФайла = """"; - ДиалогОткрытияФайла.МножественныйВыбор = Ложь; - ДиалогОткрытияФайла.Заголовок = НСтр(""en='Choose a folder with testcases'; ru='Выберите каталог с тестовыми случаями'""); - Если ЕстьПоддержкаАсинхронныхВызовов Тогда - Оповещение = Вычислить(""Новый ОписаниеОповещения(""""ПослеВыбораФайлаТестов"""", ЭтаФорма, ПараметрыВыбора)""); - ДиалогОткрытияФайла.Показать(Оповещение); - ИначеЕсли ДиалогОткрытияФайла.Выбрать() Тогда - ВыбранныеФайлы = Новый Массив; - ВыбранныеФайлы.Добавить(ДиалогОткрытияФайла.Каталог); - ПослеВыбораФайлаТестов(ВыбранныеФайлы, ПараметрыВыбора); - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура КомандаЗагрузитьТестовыеСлучаи(Команда) - - ПараметрыВыбора = Новый Структура; - ПараметрыВыбора.Вставить(""ИмяИстории"", Элементы.ИсторияВыбораФайлов.Имя); - ПараметрыВыбора.Вставить(""РазвернутьСтроки"", Истина); - - Режим = РежимДиалогаВыбораФайла.Открытие; - ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим); - ДиалогОткрытияФайла.МножественныйВыбор = Истина; - ДиалогОткрытияФайла.Фильтр = НСтр(""en='External processing form files (*.epf, *.erf)|*.epf; *.erf'; ru='Файлы внешних обработок (*.epf, *.erf)|*.epf; *.erf'""); - ДиалогОткрытияФайла.Заголовок = НСтр(""en='Choose an external processing form file'; ru='Выберите файл с внешней обработкой'""); - Если ЕстьПоддержкаАсинхронныхВызовов Тогда - Оповещение = Вычислить(""Новый ОписаниеОповещения(""""ПослеВыбораФайлаТестов"""", ЭтаФорма, ПараметрыВыбора)""); - ДиалогОткрытияФайла.Показать(Оповещение); - ИначеЕсли ДиалогОткрытияФайла.Выбрать() Тогда - ПослеВыбораФайлаТестов(ДиалогОткрытияФайла.ВыбранныеФайлы, ПараметрыВыбора); - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ПослеВыбораФайлаТестов(ВыбранныеФайлы, ПараметрыВыбора) Экспорт - - Если ВыбранныеФайлы = Неопределено Тогда - Возврат; - КонецЕсли; - - Пути.ЗагрузитьЗначения(ВыбранныеФайлы); - - ДобавитьВИсториюКонтекст(ПараметрыВыбора.ИмяИстории, Пути.ВыгрузитьЗначения()); - - ОбновитьНадписьПути(); - LoadAllTests(ПараметрыВыбора.РазвернутьСтроки); - -КонецПроцедуры - -&НаКлиенте -Процедура КомандаЗагрузитьТолькоВыделенныеТесты(Команда) - - Пути.Очистить(); - МассивИдентификаторовСтрок = Элементы.ДеревоТестов.ВыделенныеСтроки; - Для каждого Идентификатор Из МассивИдентификаторовСтрок Цикл - - СтрокаДерева = Объект.ДеревоТестов.НайтиПоИдентификатору(Идентификатор); - Если СтрокаДерева.ТипСтроки = ЗначенияТиповСтроки.ТестовыйМетод Тогда - СтрокаДерева = СтрокаДерева.ПолучитьРодителя(); - КонецЕсли; - - Путь = СтрокаДерева.ПолныйПуть; - Если Пути.НайтиПоЗначению(Путь) = Неопределено Тогда - Пути.Добавить(Путь); - Если СтрокаДерева.ТипСтроки = ЗначенияТиповСтроки.КаталогТестов Тогда - ДобавитьВИсториюКонтекст(Элементы.ИсторияВыбораМест.Имя, Путь); - ИначеЕсли СтрокаДерева.ТипСтроки = ЗначенияТиповСтроки.ТестовыйСлучай - И Не СтрокаДерева.ЭтоВнутренняяОбработка Тогда - ДобавитьВИсториюКонтекст(Элементы.ИсторияВыбораФайлов.Имя, Путь); - КонецЕсли; - КонецЕсли; - - КонецЦикла; - - ОбновитьНадписьПути(); - LoadAllTests(); - -КонецПроцедуры - -&НаКлиенте -Процедура КомандаВыполнитьВыделенныеТесты(Команда) - ВыполнитьВыделенныеТесты(); -КонецПроцедуры - -&НаКлиенте -Процедура КомандаВыполнитьВыделенныеТестыСИсключением(Команда) - Сообщить(НСтр(""ru = 'Подключитесь на исключение """"ПередЗапускомТеста""""'"")); - ВыполнитьВыделенныеТесты(Истина); -КонецПроцедуры - - -&НаКлиенте -Процедура ГенераторМакетовДанных(Команда) - ИмяИнструмента = ""xddDataFixtureGen""; - ОткрытьИнструмент(ИмяИнструмента); -КонецПроцедуры - -&НаКлиенте -Процедура ПоказатьГУИД(Команда) - ИмяИнструмента = ""xddGuidShow""; - ОткрытьИнструмент(ИмяИнструмента); -КонецПроцедуры - -&НаКлиенте -Процедура ОПроекте(Команда) - Если ЕстьПоддержкаАсинхронныхВызовов Тогда - Оповещение = Вычислить(""Новый ОписаниеОповещения(""""ОПроектеПослеЗапуска"""", ЭтаФорма)""); - Выполнить(""НачатьЗапускПриложения(Оповещение, """"https://github.com/xDrivenDevelopment/xUnitFor1C/wiki"""")""); - Иначе - ЗапуститьПриложение(""https://github.com/xDrivenDevelopment/xUnitFor1C/wiki""); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ОПроектеПослеЗапуска(КодВозврата, ДополнительныеПараметры) - Возврат; -КонецПроцедуры - -&НаКлиенте -Процедура КомандаЗагрузитьТестыИзКонфигурации(Команда) - ЗагрузитьТестыИзКонфигурации(""""); -КонецПроцедуры - -&НаКлиенте -Процедура КомандаЗагрузитьТестыИзКонфигурацииПоИмени(Команда) - ЗагрузитьТестыИзКонфигурации(""Тест_""); -КонецПроцедуры - -&НаКлиенте -Процедура КомандаРегистрацияПрохожденияТестовВЖР(Команда) - - ИзменитьЗначениеРеквизитаИУстановитьПометкуНаКнопке(""РегистрацияПрохожденияТестовВЖР"", ""КомандаРегистрацияПрохожденияТестовВЖР""); - -КонецПроцедуры - -&НаКлиенте -Процедура КомандаРегистрацияОшибокТестовВЖР(Команда) - - ИзменитьЗначениеРеквизитаИУстановитьПометкуНаКнопке(""РегистрацияОшибокТестовВЖР"", ""КомандаРегистрацияОшибокТестовВЖР""); - -КонецПроцедуры - -&НаКлиенте -Процедура КомандаВыполнятьТестыВСлучайномПорядке(Команда) - ИзменитьЗначениеРеквизитаИУстановитьПометкуНаКнопке(""СлучайныйПорядокВыполнения"", ""КомандаСлучайныйПорядокВыполнения""); -КонецПроцедуры - -&НаКлиенте -Процедура КомандаПерезагрузитьФорму(Команда) - - Закрыть(); - ОткрытьФормуЗапускаТестов(); - -КонецПроцедуры - -&НаКлиенте -Процедура КомандаВключитьРежимОтладки(Команда) - - ИзменитьЗначениеРеквизитаИУстановитьПометкуНаКнопке(""РежимОтладки"", ""КомандаВключитьРежимОтладки""); - Закрыть(); - - ОткрытьФормуЗапускаТестов(); - -КонецПроцедуры - -&НаКлиенте -Процедура ОткрытьФормуЗапускаТестов(НастройкиФормы = Неопределено) - - Если Не ЭтоВстроеннаяОбработка Тогда - ИмяОбработки = ПодключитьНаСервереВнешнююОбработкуОтКлиента(ИспользуемоеИмяФайла, Неопределено); - КонецЕсли; - - Форма = ПолучитьФорму(ЭтаФорма.ИмяФормы, НастройкиФормы,, Истина); - Форма.ИспользуемоеИмяФайла = ИспользуемоеИмяФайла; - Форма.Открыть(); - -КонецПроцедуры - -&НаКлиенте -Процедура Подключаемый_КомандаЗагрузитьТестыИзИстории(Команда) - - ИмяИстории = Элементы[Команда.Имя].Родитель.Имя; - ПунктИстории = Число(СтрЗаменить(Команда.Имя, ИмяИстории, """")); - Пути.Очистить(); - Пути.Добавить(ЭтаФорма[ИмяИстории].Получить(ПунктИстории).Значение); - - ДобавитьВИсториюКонтекст(ИмяИстории, Пути.ВыгрузитьЗначения()); - - ОбновитьНадписьПути(); - LoadAllTests(); - -КонецПроцедуры - -&НаКлиенте -Процедура ПоказатьОшибки(Команда) - - МассивИдентификаторовСтрок = Элементы.ДеревоТестов.ВыделенныеСтроки; - НовыйМассивИдентификаторовСтрок = ПолучитьТолькоТестовыеМетодыИзДерева(МассивИдентификаторовСтрок); - СписокОшибок = Новый СписокЗначений; - Для Каждого Идентификатор Из НовыйМассивИдентификаторовСтрок Цикл - ТестовыйСлучай = Объект.ДеревоТестов.НайтиПоИдентификатору(Идентификатор); - Для Каждого ЭлементСписка Из ТестовыйСлучай.СписокОшибок Цикл - СписокОшибок.Добавить(ЭлементСписка.Значение); - КонецЦикла; - КонецЦикла; - - ВсегоТестов = СписокОшибок.Количество(); - ОбработатьОтчетТестирования(ТекущаяДата()); - -КонецПроцедуры - -//#КонецОбласти - - - -//////////////////////////////////////////////////////////////////////////////// -// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ - -//#Область СлужебныеПроцедурыИФункции - -//////////////////////////////////////////////////////////////////////////////// -// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ ДЛЯ ЗАГРУЗКИ ВЫПОЛНЕНИЯ ТЕСТОВ - -//#Область СлужебныеПроцедурыИФункцииЗагрузкиВыполненияТестов - -&НаСервере -Функция Объект() Экспорт - ОбъектНаСервере = Неопределено; - Если ЭтоАдресВременногоХранилища(АдресОбъектаНаСервере) Тогда - КэшОбъекта = ПолучитьИзВременногоХранилища(АдресОбъектаНаСервере); - Если ТипЗнч(КэшОбъекта) = Тип(""Структура"") Тогда - КэшОбъекта.Свойство(""Объект"", ОбъектНаСервере); - КонецЕсли; - КонецЕсли; - - Если ОбъектНаСервере = Неопределено Тогда - ОбъектНаСервере = РеквизитФормыВЗначение(""Объект""); - АдресОбъектаНаСервере = ПоместитьВоВременноеХранилище(Новый Структура(""Объект"", ОбъектНаСервере), УникальныйИдентификатор); - КонецЕсли; - - Возврат ОбъектНаСервере; -КонецФункции - -&НаСервере -Функция ВерсияСервер() - Возврат Объект().Версия(); -КонецФункции - -//#Область ВнешнееAPI - -// { ВНЕШНЕЕ API - -// Процедура загружает тесты из внешних файлов и из тестируемой конфигурации -// -// Параметры: -// Нет -&НаКлиенте -Процедура LoadAllTests(РазвернутьСтроки = Ложь, ОповеститьПослеЗагрузки = Неопределено) Экспорт - ИнициализироватьИндикаторВыполнения(); - - Объект.ДеревоТестов.ПолучитьЭлементы().Очистить(); - ОчередьЗагрузки.Очистить(); - - ДополнительныеПараметры = Новый Структура; - ДополнительныеПараметры.Вставить(""Родитель"", Объект.ДеревоТестов); - ДополнительныеПараметры.Вставить(""РазвернутьСтроки"", РазвернутьСтроки); - Если ОповеститьПослеЗагрузки <> Неопределено Тогда - ДополнительныеПараметры.Вставить(""ОповеститьПослеЗагрузки"", ОповеститьПослеЗагрузки); - КонецЕсли; - - ВерхняяГраница = Пути.Количество() - 1; - Для Индекс = 0 По ВерхняяГраница Цикл - - ОбработкаПрерыванияПользователя(); - - ПутьКТесту = Пути[Индекс].Значение; - ДополнительныеПараметры.Вставить(""ПоследнийПуть"", Индекс = ВерхняяГраница); - Если Найти(ВРег(ПутьКТесту), ""МЕТАДАННЫЕ."") = 1 Тогда - ЗагрузитьТестыКонфигурации(ПутьКТесту, ДополнительныеПараметры); - Иначе - ДополнительныеПараметры.Вставить(""Путь"", ПутьКТесту); - ДополнительныеПараметры.Вставить(""СообщитьОбОтсутствииФайлов"", Истина); - Если ЕстьПоддержкаАсинхронныхВызовов Тогда - Оповещение = Вычислить(""Новый ОписаниеОповещения(""""ЗагрузитьТестыПослеПоискаФайлов"""", ЭтаФорма, ДополнительныеПараметры)""); - Выполнить(""НачатьПоискФайлов(Оповещение, ПутьКТесту);""); - Иначе - НайденныеФайлы = НайтиФайлы(ПутьКТесту); - ЗагрузитьТестыПослеПоискаФайлов(НайденныеФайлы, ДополнительныеПараметры); - КонецЕсли; - КонецЕсли; - - КонецЦикла; - -КонецПроцедуры - -&НаКлиенте -Функция RunAllTests() Экспорт - - МассивИдентификаторовСтрок = Новый Массив(); - Для каждого ЭлементДерева Из Объект.ДеревоТестов.ПолучитьЭлементы() Цикл - МассивИдентификаторовСтрок.Добавить(ЭлементДерева.ПолучитьИдентификатор()); - КонецЦикла; - - Возврат _ВыполнитьВыбранныеТесты(МассивИдентификаторовСтрок); - -КонецФункции - -&НаКлиенте -Функция OpenBrowserForm() Экспорт - ЭтаФорма.Открыть(); -КонецФункции - -&НаКлиенте -Функция SetHandlerObject(obj) Экспорт - MiddleMan = obj; -КонецФункции - -// } - -//#КонецОбласти - -&НаКлиенте -Процедура ЗагрузитьТесты(ОбъектФайл, ПараметрыЗагрузки) - - ЭтоФайл = (ТипЗнч(ОбъектФайл) = Тип(""Файл"")); - - ДополнительныеПараметры = СкопироватьСтруктуру(ПараметрыЗагрузки); - ДополнительныеПараметры.Вставить(""ОбъектФайл"", ОбъектФайл); - - Если ЭтоФайл Тогда - Если ЕстьПоддержкаАсинхронныхВызовов Тогда - Оповещение = Вычислить(""Новый ОписаниеОповещения(""""ЗагрузитьТестыПослеПроверкиЭтоКаталог"""", ЭтаФорма, ДополнительныеПараметры)""); - ОбъектФайл.НачатьПроверкуЭтоКаталог(Оповещение); - Иначе - ЭтоКаталог = ОбъектФайл.ЭтоКаталог(); - ЗагрузитьТестыПослеПроверкиЭтоКаталог(ЭтоКаталог, ДополнительныеПараметры); - КонецЕсли; - ИначеЕсли ТипЗнч(ОбъектФайл) = Тип(""Структура"") Тогда - ЭтоКаталог = ОбъектФайл.ТипСтроки = ЗначенияТиповСтроки.КаталогТестов; - ОбъектФайл.Вставить(""Расширение"", "".epf""); - ЗагрузитьТестыПослеПроверкиЭтоКаталог(ЭтоКаталог, ДополнительныеПараметры); - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ЗагрузитьТестыПослеПроверкиЭтоКаталог(ЭтоКаталог, ПараметрыЗагрузки) Экспорт - - РодительскаяСтрока = ПараметрыЗагрузки.Родитель; - ОбъектФайл = ПараметрыЗагрузки.ОбъектФайл; - ЭтоФайл = (ТипЗнч(ОбъектФайл) = Тип(""Файл"")); - - GUID = Строка(Новый УникальныйИдентификатор); - Если ЭтоКаталог Тогда - Если ОбъектФайл.Имя = "".git"" Тогда // ОбъектФайл.ПолучитьНевидимость() и - ОчередьЗагрузки.Удалить(ОчередьЗагрузки.НайтиПоЗначению(ОбъектФайл.ПолноеИмя)); - Иначе - ПараметрыСтроки = ПолучитьПустуюСтруктуруПараметровСтроки(); - ПараметрыСтроки.Вставить(""Имя"", ОбъектФайл.Имя); - ПараметрыСтроки.Вставить(""_GUID"", GUID); - ПараметрыСтроки.Вставить(""ТипСтроки"", ?(ЭтоФайл, ЗначенияТиповСтроки.КаталогТестов, ЗначенияТиповСтроки.Подсистема)); - ПараметрыСтроки.Вставить(""ПолныйПуть"", ОбъектФайл.ПолноеИмя); - - СтрокаКаталога = ДобавитьСтрокуДереваТестов(РодительскаяСтрока, ПараметрыСтроки); //TODO Развернуть, нужно ли тут оповещение ОповеститьОСобытии(""TestLoaded"", СтрокаТеста);? - - ДополнительныеПараметры = СкопироватьСтруктуру(ПараметрыЗагрузки,, ""ОбъектФайл, Родитель, Путь, СообщитьОбОтсутствииФайлов""); - ДополнительныеПараметры.Вставить(""Родитель"", СтрокаКаталога); - ДополнительныеПараметры.Вставить(""СообщитьОбОтсутствииФайлов"", Ложь); - Если ЭтоФайл Тогда - Если ЕстьПоддержкаАсинхронныхВызовов Тогда - Оповещение = Вычислить(""Новый ОписаниеОповещения(""""ЗагрузитьТестыПослеПоискаФайлов"""", ЭтаФорма, ДополнительныеПараметры)""); - Выполнить(""НачатьПоискФайлов(Оповещение, ОбъектФайл.ПолноеИмя, """"*"""", Ложь);""); - Иначе - НайденныеФайлы = НайтиФайлы(ОбъектФайл.ПолноеИмя, ""*"", Ложь); - ЗагрузитьТестыПослеПоискаФайлов(НайденныеФайлы, ДополнительныеПараметры); - КонецЕсли; - Иначе - НайденныеФайлы = ОбъектФайл.Строки; - ЗагрузитьТестыПослеПоискаФайлов(НайденныеФайлы, ДополнительныеПараметры); - КонецЕсли; - КонецЕсли; - Иначе - Если ОбъектФайл.Расширение = "".epf"" ИЛИ ОбъектФайл.Расширение = "".erf"" Тогда - ДополнительныеПараметры = Новый Структура; - ДополнительныеПараметры.Вставить(""GUID"", GUID); - ДополнительныеПараметры.Вставить(""Расширение"", ОбъектФайл.Расширение); - ДополнительныеПараметры.Вставить(""ВнешнийФайл"", ЭтоФайл); - ДополнительныеПараметры.Вставить(""ИмяБезРасширения"", ОбъектФайл.ИмяБезРасширения); - ДополнительныеПараметры.Вставить(""РежимОтладки"", Объект.РежимОтладки); - - Если ТипЗнч(РодительскаяСтрока) <> Тип(""ДанныеФормыДерево"") Тогда - ДополнительныеПараметры.Вставить(""Идентификатор"", РодительскаяСтрока.ПолучитьИдентификатор()); - КонецЕсли; - - Если ЭтоФайл Тогда - Если ЕстьПоддержкаНемодальныхФорм Тогда - Оповещение = Вычислить(""Новый ОписаниеОповещения(""""ВыполнитьПодключениеОбъектаНаКлиенте"""", ЭтаФорма, ДополнительныеПараметры)""); - Выполнить(""НачатьПомещениеФайла(Оповещение,, ОбъектФайл.ПолноеИмя, Ложь, УникальныйИдентификатор);""); - Иначе - АдресХранилища = """"; - ПоместитьФайл(АдресХранилища, ОбъектФайл.ПолноеИмя, , Ложь, УникальныйИдентификатор); - ВыполнитьПодключениеОбъектаНаКлиенте(Неопределено, АдресХранилища, ОбъектФайл.ПолноеИмя, ДополнительныеПараметры); - КонецЕсли; - Иначе - ВыполнитьПодключениеОбъектаНаКлиенте(Неопределено, ОбъектФайл.Имя, ОбъектФайл.ПолноеИмя, ДополнительныеПараметры); - КонецЕсли; - КонецЕсли; - ОчередьЗагрузки.Удалить(ОчередьЗагрузки.НайтиПоЗначению(ОбъектФайл.ПолноеИмя)); - КонецЕсли; - - ВыполнитьДействияПослеЗагрузкиТестов(ПараметрыЗагрузки); - -КонецПроцедуры - -&НаКлиенте -Процедура ЗагрузитьТестыПослеПоискаФайлов(НайденныеФайлы, ПараметрыЗагрузки) Экспорт - - Если НайденныеФайлы.Количество() = 0 Тогда - Если ПараметрыЗагрузки.СообщитьОбОтсутствииФайлов Тогда - ТекстСообщения = НСтр(""en='File or directory does not exist """"%Путь%""""'; ru='Файл или каталог не существует """"%Путь%""""'""); - ТекстСообщения = СтрЗаменить(ТекстСообщения, ""%Путь%"", ПараметрыЗагрузки.Путь); - ВывестиОшибку(ТекстСообщения); - КонецЕсли; - Если ТипЗнч(ПараметрыЗагрузки.Родитель) = Тип(""ДанныеФормыДерево"") Тогда - ВыполнитьДействияПослеЗагрузкиТестов(ПараметрыЗагрузки); - КонецЕсли; - Иначе - - Для Каждого Файл Из НайденныеФайлы Цикл - ОбработкаПрерыванияПользователя(); - ОчередьЗагрузки.Добавить(Файл.ПолноеИмя); - ЗагрузитьТесты(Файл, ПараметрыЗагрузки); - КонецЦикла; - - КонецЕсли; - - Если ТипЗнч(ПараметрыЗагрузки.Родитель) = Тип(""ДанныеФормыЭлементДерева"") Тогда - ОчередьЗагрузки.Удалить(ОчередьЗагрузки.НайтиПоЗначению(ПараметрыЗагрузки.Родитель.ПолныйПуть)); - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ВыполнитьДействияПослеЗагрузкиТестов(ПараметрыЗагрузки) - - Если ПараметрыЗагрузки.ПоследнийПуть И ОчередьЗагрузки.Количество() = 0 Тогда - УдалитьПустыеСтрокиКаталогов(Объект.ДеревоТестов.ПолучитьЭлементы()); - Если Объект.ДеревоТестов.ПолучитьЭлементы().Количество() > 0 Тогда - УпорядочитьСтрокиДереваТестов(); - ПосчитатьКоличествоТестовыхСлучаевПоВсемуДеревуТестов(Объект.ДеревоТестов); - РазвернутьСтрокиДерева(ПараметрыЗагрузки.РазвернутьСтроки); - КонецЕсли; - Если ПараметрыЗагрузки.Свойство(""ОповеститьПослеЗагрузки"") Тогда - Выполнить(""ВыполнитьОбработкуОповещения(ПараметрыЗагрузки.ОповеститьПослеЗагрузки);""); - КонецЕсли; - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ЗагрузитьТестыИзКонфигурации(ОтборПоИмениТеста) - - ПараметрыОткрытия = Новый Структура(""ОтборПоИмениТеста, РежимОткрытияОкна "", ОтборПоИмениТеста, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); - ИмяФормыВыбораПодсистемыУФ = СтрЗаменить(ЭтаФорма.ИмяФормы, ""УправляемаяФорма"", ""ФормаВыбораПодсистемУФ""); - ОткрытьФорму(ИмяФормыВыбораПодсистемыУФ, ПараметрыОткрытия, ЭтаФорма); - -КонецПроцедуры - -&НаКлиенте -Функция ЗагрузитьТестыКонфигурации(Путь, ДополнительныеПараметры) Экспорт - - КоллекцияВстроенныхТестов = Новый Массив; - КоллекцияВстроенныхТестовСервер(КоллекцияВстроенныхТестов, Путь); - - ДополнительныеПараметры.Вставить(""СообщитьОбОтсутствииФайлов"", Ложь); - ЗагрузитьТестыПослеПоискаФайлов(КоллекцияВстроенныхТестов, ДополнительныеПараметры); - -КонецФункции - -&НаСервере -Функция КоллекцияВстроенныхТестовСервер(КоллекцияВстроенныхТестовСервер, Путь) - - ОсновнойОбъект = Объект(); - - ДеревоВстроенныхТестов = Новый ДеревоЗначений; - ДеревоВстроенныхТестов.Колонки.Добавить(""Имя""); - ДеревоВстроенныхТестов.Колонки.Добавить(""ИмяБезРасширения""); - ДеревоВстроенныхТестов.Колонки.Добавить(""ПолноеИмя""); - ДеревоВстроенныхТестов.Колонки.Добавить(""ТипСтроки""); - - ОбъектМетаданных = ОсновнойОбъект.ПолучитьОбъектМетаданныхПоПути(Путь); - Если ОбъектМетаданных<>Неопределено Тогда - Если ВРег(Лев(ОбъектМетаданных.ПолноеИмя(),11)) = ""ПОДСИСТЕМА."" Тогда - ДобавитьИменаТестовПодсистемы(ДеревоВстроенныхТестов, ОбъектМетаданных); - Иначе - ДобавитьИмяВстроенногоТестовогоСлучая(ДеревоВстроенныхТестов, ОбъектМетаданных); - КонецЕсли; - - ВыгрузитьИменаТестовИзДереваВСписокЗначений(ДеревоВстроенныхТестов.Строки, КоллекцияВстроенныхТестовСервер); - КонецЕсли; - -КонецФункции - -&НаСервере -Функция ДобавитьИменаТестовПодсистемы(СтрокаДерева, МетаПодсистема) Экспорт - - СтрокаТеста = СтрокаДерева.Строки.Добавить(); - СтрокаТеста.Имя = МетаПодсистема.Имя; - СтрокаТеста.ПолноеИмя = СтрЗаменить(""Метаданные."" + МетаПодсистема.ПолноеИмя(), "".Подсистема."", "".Подсистемы.""); - СтрокаТеста.ТипСтроки = ЗначенияТиповСтроки.КаталогТестов; - - Для каждого МетаПодчиненнаяПодсистема из МетаПодсистема.Подсистемы цикл - ДобавитьИменаТестовПодсистемы(СтрокаТеста, МетаПодчиненнаяПодсистема); - КонецЦикла; - - Для каждого МетаОбработка из МетаПодсистема.Состав цикл - ДобавитьИмяВстроенногоТестовогоСлучая(СтрокаТеста, МетаОбработка); - КонецЦикла; - -КонецФункции - -&НаСервере -Функция ДобавитьИмяВстроенногоТестовогоСлучая(СтрокаДерева, МетаОбработка) - Если Метаданные.Обработки.Найти(МетаОбработка.Имя) = Неопределено Тогда - Возврат Ложь; - КонецЕсли; - - НоваяСтрока = СтрокаДерева.Строки.Добавить(); - НоваяСтрока.Имя = МетаОбработка.Имя; - НоваяСтрока.ИмяБезРасширения = МетаОбработка.Имя; - НоваяСтрока.ПолноеИмя = СтрЗаменить(""Метаданные."" + МетаОбработка.ПолноеИмя(), "".Обработка."", "".Обработки.""); - НоваяСтрока.ТипСтроки = ЗначенияТиповСтроки.ТестовыйСлучай; - Возврат Истина; -КонецФункции - -&НаСервере -Процедура ВыгрузитьИменаТестовИзДереваВСписокЗначений(СтрокиДереваВстроенныхТестов, КоллекцияВстроенныхТестов) - Для каждого Строка Из СтрокиДереваВстроенныхТестов Цикл - НоваяКоллекция = Новый Массив; - ЭлементКоллекции = Новый Структура(""Имя,ИмяБезРасширения,ПолноеИмя,ТипСтроки,Строки""); - ЭлементКоллекции.Имя = Строка.Имя; - ЭлементКоллекции.ИмяБезРасширения = Строка.ИмяБезРасширения; - ЭлементКоллекции.ПолноеИмя = Строка.ПолноеИмя; - ЭлементКоллекции.ТипСтроки = Строка.ТипСтроки; - ЭлементКоллекции.Строки = НоваяКоллекция; - КоллекцияВстроенныхТестов.Добавить(ЭлементКоллекции); - Если Строка.Строки.Количество() > 0 Тогда - ВыгрузитьИменаТестовИзДереваВСписокЗначений(Строка.Строки, НоваяКоллекция); - КонецЕсли; - КонецЦикла; -КонецПроцедуры - - -&НаКлиенте -Процедура ВыполнитьПодключениеОбъектаНаКлиенте(Результат, АдресХранилища, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт - - Перем GUID; - Если ТипЗнч(ДополнительныеПараметры) = Тип(""Структура"") Тогда - ДополнительныеПараметры.Свойство(""GUID"", GUID); - КонецЕсли; - - Идентификатор = ВыполнитьПодключениеОбъектаНаСервере(АдресХранилища, ВыбранноеИмяФайла, ДополнительныеПараметры); - Для каждого Оповещение Из ОчередьОповещений Цикл - СтрокаТеста = Объект.ДеревоТестов.НайтиПоИдентификатору(Оповещение.Значение); - Если СтрокаТеста <> Неопределено Тогда - ОповеститьОСобытии(""TestLoaded"", СтрокаТеста); - КонецЕсли; - КонецЦикла; - ОчередьОповещений.Очистить(); - - Если Идентификатор <> Неопределено Тогда - - СтрокаКаталога = Объект.ДеревоТестов.НайтиПоИдентификатору(Идентификатор); - - РезультатПоиска = ТаблицаИменаФорм.НайтиСтроки(Новый Структура(""GUID, ОсновнаяФорма"", GUID, Истина)); - Если РезультатПоиска.Количество() Тогда - ЗагрузитьСписокТестовыхФормИзОсновнойФормыОбъекта(ЭтаФорма, СтрокаКаталога, РезультатПоиска[0], ДополнительныеПараметры); - КонецЕсли; - - РезультатПоиска = ТаблицаИменаФорм.НайтиСтроки(Новый Структура(""GUID"", GUID)); - Для Каждого ЭлементПоиска Из РезультатПоиска Цикл - ЗагрузитьТестыИзФормыОбъекта(ЭтаФорма, СтрокаКаталога, ЭлементПоиска, ДополнительныеПараметры); - КонецЦикла; - - УдалитьПустуюСтрокуДерева(СтрокаКаталога, СтрокаКаталога.ПолучитьРодителя()); - - КонецЕсли; - -КонецПроцедуры - -&НаСервере -Функция ВыполнитьПодключениеОбъектаНаСервере(АдресХранилища, ВыбранноеИмяФайла, ДополнительныеПараметры) - - Перем GUID, Расширение, ЭтоВнешнийФайл, ИмяБезРасширения, Идентификатор, РежимОтладки, ПолныйПуть; - РежимОтладки = Ложь; - - ЮнитОбъект = Объект(); - Если ТипЗнч(ДополнительныеПараметры) = Тип(""Структура"") Тогда - ДополнительныеПараметры.Свойство(""GUID"", GUID); - ДополнительныеПараметры.Свойство(""Расширение"", Расширение); - ДополнительныеПараметры.Свойство(""ВнешнийФайл"", ЭтоВнешнийФайл); - ДополнительныеПараметры.Свойство(""ИмяБезРасширения"", ИмяБезРасширения); - ДополнительныеПараметры.Свойство(""Идентификатор"", Идентификатор); - ДополнительныеПараметры.Свойство(""РежимОтладки"", РежимОтладки); - КонецЕсли; - - Если Расширение = "".epf"" Тогда - МенеджерВстроенногоОбъекта = Обработки; - МенеджерВнешнегоОбъекта = ВнешниеОбработки; - ИначеЕсли Расширение = "".erf"" Тогда - МенеджерВстроенногоОбъекта = Отчеты; - МенеджерВнешнегоОбъекта = ВнешниеОтчеты; - КонецЕсли; - - Попытка - Если ЭтоВнешнийФайл Тогда - Если РежимОтладки = Истина Тогда - Файл = Новый Файл(ВыбранноеИмяФайла); - //Это файловый вариант или обработка доступна с сервера - Если Файл.Существует() Тогда - ВнешнийОбъект = ВнешниеОбработки.Создать(ВыбранноеИмяФайла); - Иначе - ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресХранилища); - ВременноеИмяФайла = ПолучитьИмяВременногоФайла(Прав(Расширение,3)); - ДвоичныеДанные.Записать(ВременноеИмяФайла); - ВнешнийОбъект = ВнешниеОбработки.Создать(ВременноеИмяФайла); - КонецЕсли; - ИмяОбъекта = МенеджерВнешнегоОбъекта.Подключить(АдресХранилища, ,РежимОтладки); - - Попытка - //УдалитьФайлы(ВременноеИмяФайла); - Исключение - КонецПопытки; - - Иначе - - ИмяОбъекта = МенеджерВнешнегоОбъекта.Подключить(АдресХранилища, GUID, Ложь); - ВнешнийОбъект = МенеджерВнешнегоОбъекта.Создать(GUID); - КонецЕсли; - - Иначе - ИмяОбъекта = АдресХранилища; - ВнешнийОбъект = МенеджерВстроенногоОбъекта[ИмяОбъекта].Создать(); - КонецЕсли; - Исключение - ТекстОшибки = ОписаниеОшибки(); - ТекстСообщения = НСтр(""ru='ОШИБКА загрузки тестов: %ТекстОшибки%, %ВыбранноеИмяФайла%'; en='Error loading testcases: %ТекстОшибки%, %ВыбранноеИмяФайла%'""); - ТекстСообщения = СтрЗаменить(ТекстСообщения, ""%ТекстОшибки%"", ТекстОшибки); - ТекстСообщения = СтрЗаменить(ТекстСообщения, ""%ВыбранноеИмяФайла%"", ВыбранноеИмяФайла); - ЮнитОбъект.ВывестиСообщение(ТекстСообщения); - Возврат Неопределено; - КонецПопытки; - - ПараметрыСтроки = ПолучитьПустуюСтруктуруПараметровСтроки(); - ПараметрыСтроки.Вставить(""Имя"", ИмяБезРасширения); - ПараметрыСтроки.Вставить(""_GUID"", GUID); - ПараметрыСтроки.Вставить(""ТипСтроки"", ЗначенияТиповСтроки.ТестовыйСлучай); - ПараметрыСтроки.Вставить(""ПолныйПуть"", ВыбранноеИмяФайла); - ПараметрыСтроки.Вставить(""ЭтоВнутренняяОбработка"", НЕ ЭтоВнешнийФайл); - ПараметрыСтроки.Вставить(""ТестовыйСлучайОбъектМетаданныхИмя"", ВнешнийОбъект.Метаданные().Имя); - Если Идентификатор = Неопределено Тогда - НоваяСтрока = ДобавитьСтрокуДереваТестов(Объект.ДеревоТестов, ПараметрыСтроки); //TODO Развернуть, нужно ли тут оповещение ОповеститьОСобытии(""TestLoaded"", СтрокаТеста);? - Иначе - НоваяСтрока = ДобавитьСтрокуДереваТестов(Объект.ДеревоТестов.НайтиПоИдентификатору(Идентификатор), ПараметрыСтроки); //TODO Развернуть, нужно ли тут оповещение ОповеститьОСобытии(""TestLoaded"", СтрокаТеста);? - КонецЕсли; - - ЗагрузитьСписокТестовыхФормИзМодуляОбъекта(ЮнитОбъект, НоваяСтрока, ВнешнийОбъект, ДополнительныеПараметры); - ЗагрузитьТестыИзМодуляОбъекта(ЮнитОбъект, НоваяСтрока, ВнешнийОбъект); - - Возврат НоваяСтрока.ПолучитьИдентификатор(); - -КонецФункции - -&НаКлиенте -Процедура ЗагрузитьТестыИзФормыОбъекта(ЮнитОбъект, Родитель, ВнешнийОбъект, ДополнительныеПараметры) - - Попытка - ИмяФормыОбъекта = ПолучитьИмяФормыОбъекта(ВнешнийОбъект, ДополнительныеПараметры); - ВнешняяФорма = ПолучитьФорму(ИмяФормыОбъекта, Новый Структура(""АвтоТест""), ЭтаФорма); - Исключение - - ТекстОшибки = ОписаниеОшибки(); - ТекстСообщения = НСтр(""ru='ОШИБКА загрузки тестов: %ТекстОшибки%'; en='Error loading testcases: %ТекстОшибки%'""); - ТекстСообщения = СтрЗаменить(ТекстСообщения, ""%ТекстОшибки%"", ТекстОшибки); - ЮнитОбъект.ВывестиСообщение(ТекстСообщения); - Возврат; - - КонецПопытки; - - - Попытка - МассивТестовыхМетодов = ВнешняяФорма.ПолучитьСписокТестов(ЮнитОбъект); - Исключение - - ЕстьОшибка_МетодОбъектаНеОбнаружен = ЕстьОшибка_МетодОбъектаНеОбнаружен(ИнформацияОбОшибке().Описание, ""ПолучитьСписокТестов""); - Если НЕ ЕстьОшибка_МетодОбъектаНеОбнаружен Тогда - ТекстОшибки = НСтр(""ru = 'Не удалось загрузить список тестов из упр.формы: %2 - | Ошибка получения списка тестовых случаев: %1'""); - ТекстОшибки = СтрЗаменить(ТекстОшибки, ""%1"", ОписаниеОшибки()); - ТекстОшибки = СтрЗаменить(ТекстОшибки, ""%2"", Родитель.ПолныйПуть); - ЮнитОбъект.ВывестиОшибку(ТекстОшибки); - КонецЕсли; - - Возврат; - - КонецПопытки; - - ИмяМетодаРазрешенСлучайныйПорядокВыполненияТестов = ""РазрешенСлучайныйПорядокВыполненияТестов""; - Попытка - РазрешенСлучайныйПорядокВыполнения = ВнешняяФорма.РазрешенСлучайныйПорядокВыполненияТестов(); - Исключение - - ЕстьОшибка_МетодОбъектаНеОбнаружен = ЕстьОшибка_МетодОбъектаНеОбнаружен(ИнформацияОбОшибке().Описание, ИмяМетодаРазрешенСлучайныйПорядокВыполненияТестов); - Если НЕ ЕстьОшибка_МетодОбъектаНеОбнаружен Тогда - ТекстОшибки = НСтр(""ru = 'Набор тестов из упр.формы не загружен: %3 - | Ошибка вызова метода %1 из теста: %2'""); - ТекстОшибки = СтрЗаменить(ТекстОшибки, ""%1"", ИмяМетодаРазрешенСлучайныйПорядокВыполненияТестов); - ТекстОшибки = СтрЗаменить(ТекстОшибки, ""%2"", ОписаниеОшибки()); - ТекстОшибки = СтрЗаменить(ТекстОшибки, ""%3"", Родитель.ПолныйПуть); - ЮнитОбъект.ВывестиОшибку(ТекстОшибки); - Возврат; - КонецЕсли; - РазрешенСлучайныйПорядокВыполнения = Истина; - КонецПопытки; - - Для каждого ЭлементМассива Из МассивТестовыхМетодов Цикл - - ПараметрыСтроки = ПолучитьСтруктуруПараметровСтроки( - ЭлементМассива, - Родитель.Имя, - Родитель.ПолныйПуть, - ВнешнийОбъект.ИмяОбъекта, - ЗначениеМодульИлиФорма.Форма, - Родитель.ЭтоВнутренняяОбработка, - РазрешенСлучайныйПорядокВыполнения, - ВнешнийОбъект.ИмяФормы); - - СтрокаТеста = Родитель.ПолучитьЭлементы().Добавить(); - ЗаполнитьЗначенияСвойств(СтрокаТеста, ПараметрыСтроки); - - ОповеститьОСобытии(""TestLoaded"", СтрокаТеста); - - КонецЦикла; - -КонецПроцедуры - -&НаКлиенте -Процедура ЗагрузитьСписокТестовыхФормИзОсновнойФормыОбъекта(ЮнитОбъект, Родитель, ВнешнийОбъект, ДополнительныеПараметры) - - Перем GUID; - - МассивТестовыхФорм = Новый Массив; - Если ТипЗнч(ДополнительныеПараметры) = Тип(""Структура"") Тогда - ДополнительныеПараметры.Свойство(""GUID"", GUID); - КонецЕсли; - - Попытка - ИмяФормыОбъекта = ПолучитьИмяФормыОбъекта(ВнешнийОбъект, ДополнительныеПараметры); - ВнешняяФорма = ПолучитьФорму(ИмяФормыОбъекта, Новый Структура(""АвтоТест""), ЭтаФорма); - Исключение - - ТекстОшибки = ОписаниеОшибки(); - ТекстСообщения = НСтр(""ru='ОШИБКА загрузки тестовых форм из основной формы объекта: %ТекстОшибки%'; en='Error loading testforms from main object form: %ТекстОшибки%'""); - ТекстСообщения = СтрЗаменить(ТекстСообщения, ""%ТекстОшибки%"", ТекстОшибки); - ЮнитОбъект.ВывестиСообщение(ТекстСообщения); - Возврат; - - КонецПопытки; - - Попытка - - МассивТестовыхФорм = ВнешняяФорма.ПолучитьСписокТестовыхФорм(); - - ПараметрыОтбора = Новый Структура(""GUID, ОсновнаяФорма"", GUID, Ложь); - РезультатОтбора = ТаблицаИменаФорм.НайтиСтроки(ПараметрыОтбора); - Для Каждого ЭлементОтбора Из РезультатОтбора Цикл - ТаблицаИменаФорм.Удалить(ЭлементОтбора); - КонецЦикла; - - Для Каждого ИмяТестовойФормы Из МассивТестовыхФорм Цикл - Если ИмяТестовойФормы <> ВнешнийОбъект.ИмяФормы Тогда - НоваяЗапись = ТаблицаИменаФорм.Добавить(); - НоваяЗапись.GUID = GUID; - НоваяЗапись.ИмяФормы = ИмяТестовойФормы; - НоваяЗапись.ИмяОбъекта = ВнешнийОбъект.ИмяОбъекта; - НоваяЗапись.ОсновнаяФорма = Ложь; - КонецЕсли; - КонецЦикла; - - Исключение - - ЕстьОшибка_МетодОбъектаНеОбнаружен = ЕстьОшибка_МетодОбъектаНеОбнаружен(ИнформацияОбОшибке().Описание, ""ПолучитьСписокТестовыхФорм""); - Если НЕ ЕстьОшибка_МетодОбъектаНеОбнаружен Тогда - ТекстОшибки = НСтр(""ru = 'Не удалось загрузить список тестовых форм объекта: - | Ошибка получения списка тестовых форм: %1'""); - ЮнитОбъект.ВывестиОшибку(СтрЗаменить(ТекстОшибки, ""%1"", ОписаниеОшибки())); - Родитель.Состояние = ЗначенияСостоянияТестов.Сломался; // TODO: нужно ли отображение, что при получении списка форм вывалилась ошибка? - КонецЕсли; - - КонецПопытки; - -КонецПроцедуры - - -&НаСервере -Процедура ЗагрузитьТестыИзМодуляОбъекта(ЮнитОбъект, Родитель, ВнешнийОбъект) - - Попытка - МассивТестовыхМетодов = ВнешнийОбъект.ПолучитьСписокТестов(ЮнитОбъект); - Исключение - - ЕстьОшибка_МетодОбъектаНеОбнаружен = ЕстьОшибка_МетодОбъектаНеОбнаружен(ИнформацияОбОшибке().Описание, ""ПолучитьСписокТестов""); - Если НЕ ЕстьОшибка_МетодОбъектаНеОбнаружен Тогда - ТекстОшибки = НСтр(""ru = 'Не удалось загрузить список тестов для модуля объекта: %2 - | Ошибка получения списка тестовых случаев: %1'""); - ТекстОшибки = СтрЗаменить(ТекстОшибки, ""%1"", ОписаниеОшибки()); - ТекстОшибки = СтрЗаменить(ТекстОшибки, ""%2"", Родитель.ПолныйПуть); - ЮнитОбъект.ВывестиОшибку(ТекстОшибки); - - Родитель.Состояние = ЗначенияСостоянияТестов.Сломался; - КонецЕсли; - - Возврат; - - КонецПопытки; - - МетаданныеИмя = ВнешнийОбъект.Метаданные().Имя; - - ИмяМетодаРазрешенСлучайныйПорядокВыполненияТестов = ""РазрешенСлучайныйПорядокВыполненияТестов""; - Попытка - РазрешенСлучайныйПорядокВыполнения = ЮнитОбъект.РазрешенСлучайныйПорядокВыполненияТестов(ВнешнийОбъект, МетаданныеИмя); - Исключение - ТекстОшибки = НСтр(""ru = 'Не удалось загрузить список тестов для модуля объекта: %3 - | Ошибка выполнения метода %1: %2'""); - ТекстОшибки = СтрЗаменить(ТекстОшибки, ""%1"", ИмяМетодаРазрешенСлучайныйПорядокВыполненияТестов); - ТекстОшибки = СтрЗаменить(ТекстОшибки, ""%2"", ОписаниеОшибки()); - ТекстОшибки = СтрЗаменить(ТекстОшибки, ""%3"", Родитель.ПолныйПуть); - ЮнитОбъект.ВывестиОшибку(ТекстОшибки); - Родитель.Состояние = ЗначенияСостоянияТестов.Сломался; - РазрешенСлучайныйПорядокВыполнения = Истина; - КонецПопытки; - - Для каждого ЭлементМассива Из МассивТестовыхМетодов Цикл - - ПараметрыСтроки = ПолучитьСтруктуруПараметровСтроки( - ЭлементМассива, - Родитель.Имя, - Родитель.ПолныйПуть, - МетаданныеИмя, - ЗначениеМодульИлиФорма.Модуль, - Родитель.ЭтоВнутренняяОбработка, - РазрешенСлучайныйПорядокВыполнения); - - СтрокаТеста = Родитель.ПолучитьЭлементы().Добавить(); - ЗаполнитьЗначенияСвойств(СтрокаТеста, ПараметрыСтроки); - - ОчередьОповещений.Добавить(СтрокаТеста.ПолучитьИдентификатор()); - - КонецЦикла; - -КонецПроцедуры - -// Загружает список управляемых форм из которых нужно получить тестовые случаи -// -// Параметры: -// ЮнитОбъект - ОбработкаОбъект - Преобразованный реквизит формы ""Объект"" в объект прикладного тип -// Родитель - ДанныеФормыЭлементДерева - Элемент дерева ""ДеревоТестов"" -// ВнешнийОбъект - ВнешняяОбработкаОбъект, -// ВнешнийОтчетОбъект, -// ОбработкаОбъект, -// ОтчетОбъект - Объект содержащий тестовые случаи -// ДополнительныеПараметры - Структура - Структура с дополнительными параметрами -// * GUID - Строка(36) - Уникальный идентификатор внешнего объекта -// -&НаСервере -Процедура ЗагрузитьСписокТестовыхФормИзМодуляОбъекта(ЮнитОбъект, Родитель, ВнешнийОбъект, ДополнительныеПараметры) - - Перем GUID; - - МетаданныеОбъекта = ВнешнийОбъект.Метаданные(); - Если МетаданныеОбъекта.Формы.Количество() = 0 Тогда - Возврат; - КонецЕсли; - - МассивТестовыхФорм = Новый Массив; - Если ТипЗнч(ДополнительныеПараметры) = Тип(""Структура"") Тогда - ДополнительныеПараметры.Свойство(""GUID"", GUID); - КонецЕсли; - - // Обычные формы при проведении тестов в управляемом режиме не поддерживаются - ТипФормыОбъекта = Метаданные.СвойстваОбъектов.ТипФормы.Управляемая; - - Попытка - МассивТестовыхФорм = ВнешнийОбъект.ПолучитьСписокТестовыхФорм(); - Исключение - - ЕстьОшибка_МетодОбъектаНеОбнаружен = ЕстьОшибка_МетодОбъектаНеОбнаружен(ИнформацияОбОшибке().Описание, ""ПолучитьСписокТестовыхФорм""); - Если НЕ ЕстьОшибка_МетодОбъектаНеОбнаружен Тогда - ТекстОшибки = НСтр(""ru = 'Не удалось загрузить список тестовых форм объекта: - | Ошибка получения списка тестовых форм: %1'""); - ЮнитОбъект.ВывестиОшибку(СтрЗаменить(ТекстОшибки, ""%1"", ОписаниеОшибки())); - Родитель.Состояние = ЗначенияСостоянияТестов.Сломался; // TODO: нужно ли отображение, что при получении списка форм вывалилась ошибка? - КонецЕсли; - - КонецПопытки; - - Если МетаданныеОбъекта.ОсновнаяФорма <> Неопределено - И МетаданныеОбъекта.ОсновнаяФорма.ТипФормы = ТипФормыОбъекта Тогда - - ИмяОсновнойФормы = МетаданныеОбъекта.ОсновнаяФорма.Имя; - - ИначеЕсли МетаданныеОбъекта.ДополнительнаяФорма <> Неопределено - И МетаданныеОбъекта.ДополнительнаяФорма.ТипФормы = ТипФормыОбъекта Тогда - - ИмяОсновнойФормы = МетаданныеОбъекта.ДополнительнаяФорма.Имя; - - Иначе - ИмяОсновнойФормы = Неопределено; - КонецЕсли; - - Для каждого Форма Из МетаданныеОбъекта.Формы Цикл - Если Форма.ТипФормы = ТипФормыОбъекта Тогда - Если Форма.Имя <> ИмяОсновнойФормы Тогда - Если МассивТестовыхФорм.Найти(Форма.Имя) = Неопределено Тогда - Продолжить; - КонецЕсли; - КонецЕсли; - - НоваяЗапись = ТаблицаИменаФорм.Добавить(); - НоваяЗапись.GUID = GUID; - НоваяЗапись.ИмяФормы = Форма.Имя; - НоваяЗапись.ИмяОбъекта = МетаданныеОбъекта.Имя; - НоваяЗапись.ОсновнаяФорма = Форма.Имя = ИмяОсновнойФормы; - - КонецЕсли; - КонецЦикла; - -КонецПроцедуры - -// Функция возвращает полное имя формы объекта -// -&НаКлиенте -Функция ПолучитьИмяФормыОбъекта(ВнешнийОбъект, ДополнительныеПараметры) - - Перем Расширение, ЭтоВнешнийФайл; - Если ТипЗнч(ДополнительныеПараметры) = Тип(""Структура"") Тогда - ДополнительныеПараметры.Свойство(""Расширение"", Расширение); - ДополнительныеПараметры.Свойство(""ВнешнийФайл"", ЭтоВнешнийФайл); - КонецЕсли; - - ИмяФормыОбъекта = ""%Объект%.%ИмяОбъекта%.Форма.%ИмяФормы%""; - ИмяФормыОбъекта = СтрЗаменить(ИмяФормыОбъекта, ""%ИмяФормы%"", ВнешнийОбъект.ИмяФормы); - ИмяФормыОбъекта = СтрЗаменить(ИмяФормыОбъекта, ""%ИмяОбъекта%"", ВнешнийОбъект.ИмяОбъекта); - Если ЭтоВнешнийФайл И Расширение = "".epf"" Тогда - ИмяФормыОбъекта = СтрЗаменить(ИмяФормыОбъекта, ""%Объект%"", ""ВнешняяОбработка""); - ИначеЕсли ЭтоВнешнийФайл И Расширение = "".erf"" Тогда - ИмяФормыОбъекта = СтрЗаменить(ИмяФормыОбъекта, ""%Объект%"", ""ВнешнийОтчет""); - ИначеЕсли НЕ ЭтоВнешнийФайл И Расширение = "".epf"" Тогда - ИмяФормыОбъекта = СтрЗаменить(ИмяФормыОбъекта, ""%Объект%"", ""Обработка""); - ИначеЕсли НЕ ЭтоВнешнийФайл И Расширение = "".erf"" Тогда - ИмяФормыОбъекта = СтрЗаменить(ИмяФормыОбъекта, ""%Объект%"", ""Отчет""); - Иначе - ИмяФормыОбъекта = Неопределено; - КонецЕсли; - - Возврат ИмяФормыОбъекта; - -КонецФункции - -// Функция добавляет новую строку в ДеревоЗначений, которая соответствует тестовому случаю -// -// Возвращаемое значение: -// НоваяСтрока - ДанныеФормыЭлементДерева - Новая строка в дереве тестов -// -&НаКлиентеНаСервереБезКонтекста -Функция ДобавитьСтрокуДереваТестов(Родитель, ПараметрыСтроки) - - НоваяСтрока = Родитель.ПолучитьЭлементы().Добавить(); - ЗаполнитьЗначенияСвойств(НоваяСтрока, ПараметрыСтроки); - - //ОповеститьОСобытии(""TestLoaded"", НоваяСтрока); //TODO Возможно удалить всю функцию? - - Возврат НоваяСтрока; - -КонецФункции - -&НаКлиентеНаСервереБезКонтекста -Функция ПолучитьПустуюСтруктуруПараметровСтроки() - - ПараметрыСтроки = Новый Структура; - ПараметрыСтроки.Вставить(""Имя""); - ПараметрыСтроки.Вставить(""ИмяТестовогоСлучая""); - ПараметрыСтроки.Вставить(""_GUID""); - ПараметрыСтроки.Вставить(""Состояние""); - ПараметрыСтроки.Вставить(""ТипСтроки""); - ПараметрыСтроки.Вставить(""ПолныйПуть""); - ПараметрыСтроки.Вставить(""МодульИлиФорма""); - ПараметрыСтроки.Вставить(""ПараметрыТеста""); - ПараметрыСтроки.Вставить(""КоличествоТестов""); - ПараметрыСтроки.Вставить(""ЕстьПараметрыТеста""); - ПараметрыСтроки.Вставить(""ТестовыйСлучайОбъектМетаданныхИмя""); - ПараметрыСтроки.Вставить(""ЭтоВнутренняяОбработка""); - //ПараметрыСтроки.Вставить(""РазрешенСлучайныйПорядокВыполнения""); - - Возврат ПараметрыСтроки; - -КонецФункции - -&НаКлиентеНаСервереБезКонтекста -Функция ПолучитьСтруктуруПараметровСтроки(ЭлементМассива, ИмяТестовогоНабора, ПолныйПуть, МетаданныеИмя, МодульИлиФорма, ЭтоВнутренняяОбработка, РазрешенСлучайныйПорядокВыполнения, ИмяОсновнойУправляемойФормы = """") - - ПараметрыСтроки = ПолучитьПустуюСтруктуруПараметровСтроки(); - Если ТипЗнч(ЭлементМассива) = Тип(""Строка"") Тогда - ПараметрыСтроки.Вставить(""Имя"", ЭлементМассива); - ПараметрыСтроки.Вставить(""ИмяТестовогоСлучая"", ЭлементМассива); - Иначе - ПредставлениеТеста = ?(ЭлементМассива.Свойство(""ПредставлениеТеста"") и ЗначениеЗаполнено(ЭлементМассива.ПредставлениеТеста), ЭлементМассива.ПредставлениеТеста, ЭлементМассива.ИмяТеста); - ПараметрыСтроки.Вставить(""Имя"", ПредставлениеТеста); - ПараметрыСтроки.Вставить(""ИмяТестовогоСлучая"", ЭлементМассива.ИмяТеста); - - ЗаданоСпециальноеПредставлениеТеста = ПараметрыСтроки.Имя <> ПараметрыСтроки.ИмяТестовогоСлучая; - - ПараметрыСтроки.Вставить(""ПараметрыТеста"", ЭлементМассива); - ПараметрыСтроки.Вставить(""ЕстьПараметрыТеста"", Истина); - - Если Не ЗаданоСпециальноеПредставлениеТеста Тогда - ОписаниеПараметра = ""<пусто>""; - Если ЭлементМассива.Свойство(""Параметр"") Тогда - ОписаниеПараметра = Строка(ЭлементМассива.Параметр); - КонецЕсли; - ПараметрыСтроки.Вставить(""Имя"", ЭлементМассива.ИмяТеста + ""( "" + ОписаниеПараметра + "" )""); - КонецЕсли; - КонецЕсли; - - ПараметрыСтроки.Вставить(""_GUID"", Строка(Новый УникальныйИдентификатор)); - ПараметрыСтроки.Вставить(""ТипСтроки"", 2); // ЗначенияТиповСтроки.ТестовыйМетод - ПараметрыСтроки.Вставить(""ИмяТестовогоНабора"", ИмяТестовогоНабора); - ПараметрыСтроки.Вставить(""ПолныйПуть"", ПолныйПуть); - ПараметрыСтроки.Вставить(""МодульИлиФорма"", МодульИлиФорма); - ПараметрыСтроки.Вставить(""ТестовыйСлучайОбъектМетаданныхИмя"", МетаданныеИмя); - ПараметрыСтроки.Вставить(""ЭтоВнутренняяОбработка"", ЭтоВнутренняяОбработка); - ПараметрыСтроки.Вставить(""ИмяОсновнойУправляемойФормы"", ИмяОсновнойУправляемойФормы); - ПараметрыСтроки.Вставить(""РазрешенСлучайныйПорядокВыполнения"", РазрешенСлучайныйПорядокВыполнения); - - Возврат ПараметрыСтроки; - -КонецФункции - - -//#Область ОбработкаПараметровЗапуска - -// { Обработка параметров запуска - -// Пример строки запуска - ""Тесты_Команда_Тестировать;E:\ТестыИМ\Тесты;ЗавершитьРаботуПослеТестирования"" -// ""C:\Program Files (x86)\1cv82\8.2.18.96\bin\1cv8c.exe"" /DisableStartupMessages /Execute E:\ТестыИМ\xddTestRunner.epf /S ""server\ib"" /Out ""E:\ТестыИМ\Тесты\log.txt"" /C ""Тесты_Команда_Тестировать;E:\ТестыИМ\Тесты;ЗавершитьРаботуПослеТестирования"" /LogUI -&НаКлиенте -Функция ОбработатьПараметрыЗапуска(СтрокаПараметровЗапуска) - - ПараметрыЗапуска = РазобратьПараметрыЗапускаСервер(СтрокаПараметровЗапуска); - Если ПараметрыЗапуска = Неопределено Тогда - Возврат Ложь; - КонецЕсли; - - УстановитьЗначенияНастроекПоУмолчанию(ЭтаФорма); - - ПутьКТестам = ПараметрыЗапуска.ПутьТестов; - Если ЗначениеЗаполнено(ПутьКТестам) Тогда - Пути.Добавить(ПутьКТестам); - КонецЕсли; - - ОбновитьНадписьПути(); - - //ПутьОтчетаТестирования = ПараметрыЗапуска.ПутьОтчета; - УстановитьТипОтчетаТестирования(ЭтаФорма, ПараметрыЗапуска.ФорматОтчета); - - Объект.РегистрацияПрохожденияТестовВЖР = ПараметрыЗапуска.РегистрацияПрохожденияТестовВЖР; - Объект.РегистрацияОшибокТестовВЖР = ПараметрыЗапуска.РегистрацияОшибокТестовВЖР; - Объект.СлучайныйПорядокВыполнения = ПараметрыЗапуска.СлучайныйПорядокВыполнения; - Объект.РежимОтладки = ПараметрыЗапуска.РежимОтладки; - - Объект.ВыводЛогаВФорматеTeamCity = ПараметрыЗапуска.ВыводЛогаВФорматеTeamCity; - - ПривестиИнерфейсВСоответствиеСНастройками(ЭтаФорма); - Если Не ПараметрыЗапуска.Загрузить Тогда - Возврат Ложь; - КонецЕсли; - - ЭтоЗапускВПакетномРежиме = Истина; // ПараметрыЗапуска.ОстановитьСистему; - - ОбработатьКомандыПакетногоРежима(ПараметрыЗапуска); - Возврат Истина; - -КонецФункции - -&НаКлиенте -Процедура ОбработатьКомандыПакетногоРежима(ПараметрыЗапуска) - - ПутьКФайлуЛога = ПараметрыЗапуска.ПутьКодаВозврата; - ЗаписатьКодВозвратаВЛогФайл(ПутьКФайлуЛога, ""1""); //По умолчанию считаем что ошибка. Перед завершением работы запишем 0. - - Если ЕстьПоддержкаАсинхронныхВызовов Тогда - Оповещение = Вычислить(""Новый ОписаниеОповещения(""""ОбработатьКомандыПакетногоРежимаПослеЗагрузкиТестов"""", ЭтотОбъект, ПараметрыЗапуска)""); - LoadAllTests(, Оповещение); - Иначе - LoadAllTests(); - ОбработатьКомандыПакетногоРежимаПослеЗагрузкиТестов(, ПараметрыЗапуска); - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ОбработатьКомандыПакетногоРежимаПослеЗагрузкиТестов(Результат, ПараметрыЗапуска) Экспорт - - лЗавершитьРаботуПослеТестирования = ПараметрыЗапуска.ОстановитьСистему; - Если Объект.ДеревоТестов.ПолучитьЭлементы().Количество() = 0 Тогда - ОписаниеОшибки = СтрЗаменить(НСтр(""ru = 'ОШИБКА загрузки тестов: путь <%1>'; en = 'Error loading testcases: path <%1>'""), ""%1"", ПараметрыЗапуска.ПутьТестов); - ВывестиСообщение(ОписаниеОшибки); - ЗарегистрироватьОшибкуЗапускаТестированияСервер(ПараметрыЗапуска.ПутьТестов, ОписаниеОшибки); - Если лЗавершитьРаботуПослеТестирования Тогда - ЗавершитьРаботуСистемы(Ложь); - КонецЕсли; - Возврат; - КонецЕсли; - - Если ПараметрыЗапуска.Выполнить Тогда - Если ЕстьПоддержкаАсинхронныхВызовов Тогда - Оповещение = Вычислить(""Новый ОписаниеОповещения(""""ОбработатьКомандыПакетногоРежимаПослеИнициализацииФайлаОтчетаТестирования"""", ЭтотОбъект, ПараметрыЗапуска)""); - ФайлОтчетаТестирования = Вычислить(""Новый Файл""); - ФайлОтчетаТестирования.НачатьИнициализацию(Оповещение, ПараметрыЗапуска.ПутьОтчета); - Иначе - ФайлОтчетаТестирования = Новый Файл(ПараметрыЗапуска.ПутьОтчета); - ОбработатьКомандыПакетногоРежимаПослеИнициализацииФайлаОтчетаТестирования(ФайлОтчетаТестирования, ПараметрыЗапуска); - КонецЕсли; - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ОбработатьКомандыПакетногоРежимаПослеИнициализацииФайлаОтчетаТестирования(ФайлОтчетаТестирования, ПараметрыЗапуска) Экспорт - - ПараметрыЗапуска.Вставить(""ФайлОтчетаТестирования"", ФайлОтчетаТестирования); - Если ЕстьПоддержкаАсинхронныхВызовов Тогда - Оповещение = Вычислить(""Новый ОписаниеОповещения(""""ОбработатьКомандыПакетногоРежимаПослеПроверкиФайлОтчетаТестированияСуществует"""", ЭтотОбъект, ПараметрыЗапуска)""); - ФайлОтчетаТестирования.НачатьПроверкуСуществования(Оповещение); - Иначе - ОбработатьКомандыПакетногоРежимаПослеПроверкиФайлОтчетаТестированияСуществует(ФайлОтчетаТестирования.Существует(), ПараметрыЗапуска); - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ОбработатьКомандыПакетногоРежимаПослеПроверкиФайлОтчетаТестированияСуществует(Существует, ПараметрыЗапуска) Экспорт - - ФайлОтчетаТестирования = ПараметрыЗапуска.ФайлОтчетаТестирования; - Если Не Существует Тогда - УстановитьПутьОтчетаТестирования(ФайлОтчетаТестирования.Путь, ФайлОтчетаТестирования.Имя); - ОбработатьКомандыПакетногоРежимаПослеОбработкиФайлаОтчетаТестирования(ПараметрыЗапуска); - Иначе - Если ЕстьПоддержкаАсинхронныхВызовов Тогда - Оповещение = Вычислить(""Новый ОписаниеОповещения(""""ОбработатьКомандыПакетногоРежимаПослеПроверкиФайлОтчетаТестированияЭтоКаталог"""", ЭтотОбъект, ПараметрыЗапуска)""); - ФайлОтчетаТестирования.НачатьПроверкуЭтоКаталог(Оповещение); - Иначе - ОбработатьКомандыПакетногоРежимаПослеПроверкиФайлОтчетаТестированияЭтоКаталог(ФайлОтчетаТестирования.ЭтоКаталог(), ПараметрыЗапуска); - КонецЕсли; - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ОбработатьКомандыПакетногоРежимаПослеПроверкиФайлОтчетаТестированияЭтоКаталог(ЭтоКаталог, ПараметрыЗапуска) Экспорт - - ФайлОтчетаТестирования = ПараметрыЗапуска.ФайлОтчетаТестирования; - Если ЭтоКаталог Тогда - УстановитьПутьОтчетаТестирования(ФайлОтчетаТестирования.ПолноеИмя); - Иначе - УстановитьПутьОтчетаТестирования(ФайлОтчетаТестирования.Путь, ФайлОтчетаТестирования.Имя); - КонецЕсли; - - ОбработатьКомандыПакетногоРежимаПослеОбработкиФайлаОтчетаТестирования(ПараметрыЗапуска); - -КонецПроцедуры - -&НаКлиенте -Процедура ОбработатьКомандыПакетногоРежимаПослеОбработкиФайлаОтчетаТестирования(ПараметрыЗапуска) - - лЗавершитьРаботуПослеТестирования = ПараметрыЗапуска.ОстановитьСистему; - Если ПараметрыЗапуска.Выполнить Тогда - - Попытка - КодРезультатаТестирования = RunAllTests(); - Исключение - - ТекстОшибки = ОписаниеОшибки(); - ТекстСообщения = НСтр(""ru='ОШИБКА выполнения тестов: %ТекстОшибки%'; en='Error running testcases: %ТекстОшибки%'""); - ТекстСообщения = СтрЗаменить(ТекстСообщения, ""%ТекстОшибки%"", ТекстОшибки); - ВывестиСообщение(ТекстСообщения); - - Если лЗавершитьРаботуПослеТестирования Тогда - ЗавершитьРаботуСистемы(Ложь); - Возврат; - КонецЕсли; - - КонецПопытки; - - КонецЕсли; - - Если лЗавершитьРаботуПослеТестирования Тогда - - ЗаписатьКодВозвратаВЛогФайл(ПараметрыЗапуска.ПутьКодаВозврата, ""0"", КодРезультатаТестирования); - ЗавершитьРаботуСистемы(Ложь); - - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ЗаписатьКодВозвратаВЛогФайл(ПутьКФайлуЛога, КодВозврата, КодРезультатаТестирования = Неопределено) - - Попытка - Запись = Новый ЗаписьТекста(ПутьКФайлуЛога); - Запись.ЗаписатьСтроку(КодВозврата); - Если КодРезультатаТестирования <> Неопределено Тогда - Запись.ЗаписатьСтроку(КодРезультатаТестирования); - КонецЕсли; - Запись.Закрыть(); - Исключение - ТекстСообщения = НСтр(""ru = 'Ошибка записи лог-файла кода возврата: путь <%1>'""); - ВывестиСообщение(СтрЗаменить(ТекстСообщения, ""%1"", ПутьКФайлуЛога) + Символы.ПС + КраткоеПредставлениеОшибки(ИнформацияОбОшибке())); - КонецПопытки; - -КонецПроцедуры - -&НаСервере -Функция РазобратьПараметрыЗапускаСервер(СтрокаПараметровЗапуска) - Возврат Объект().РазобратьПараметрыЗапуска(СтрокаПараметровЗапуска); -КонецФункции - -&НаСервере -Функция ЗарегистрироватьОшибкуЗапускаТестированияСервер(ПолныйПуть, ОписаниеОшибки) - Объект().ЗарегистрироватьОшибкуЗапускаТестирования(ПолныйПуть, ОписаниеОшибки); -КонецФункции - -// } - -//#КонецОбласти - - - -&НаКлиенте -Процедура ОбновитьНадписьПути() - - Если Пути.Количество() = 1 Тогда - ПутиНадпись = Пути[0].Значение; - Элементы.ПутиНадпись.МногострочныйРежим = Ложь; - Иначе - ПутиНадпись = """"; - КонечныйИндекс = Пути.Количество() - 1; - Для Индекс = 0 По КонечныйИндекс Цикл - Если Индекс = КонечныйИндекс Тогда - ПутиНадпись = ПутиНадпись + Пути[Индекс].Значение; - Иначе - ПутиНадпись = ПутиНадпись + Пути[Индекс].Значение + Символы.ПС; - КонецЕсли; - КонецЦикла; - Элементы.ПутиНадпись.МногострочныйРежим = Истина; - КонецЕсли; - -КонецПроцедуры - -// Процедура изменяет значение реквизита обработки и устанавливает пометку на кнопке командной панели -// -// Параметры: -// ИмяРеквизитаОбъекта - Строка - Имя реквизита типа ""Булево"" -// ИмяКнопкиКоманднойПанели - Строка - Имя кнопки командной панели для которой нужно изменить реквизит ""Пометка"" -// -&НаКлиенте -Процедура ИзменитьЗначениеРеквизитаИУстановитьПометкуНаКнопке(ИмяРеквизитаОбработки, ИмяКнопкиКоманднойПанели) - - Объект[ИмяРеквизитаОбработки] = НЕ Объект[ИмяРеквизитаОбработки]; - Элементы[ИмяКнопкиКоманднойПанели].Пометка = Объект[ИмяРеквизитаОбработки]; - -КонецПроцедуры - - - -&НаКлиенте -Функция ВывестиОшибку(Ошибка) Экспорт - НужныйТекстОшибки = ПолучитьРазвернутыйТекстОшибки(Ошибка); - - ВывестиСообщение(НужныйТекстОшибки, СтатусСообщения.Важное); - - Возврат НужныйТекстОшибки; -КонецФункции - -Функция ПолучитьРазвернутыйТекстОшибки(Ошибка) - ТипОбъектаОшибка = ТипЗнч(Ошибка); - - Если ТипОбъектаОшибка = Тип(""Структура"") Тогда - - НужныйТекстОшибки = ""["" + Ошибка.ИмяТестовогоНабора + "": "" + Ошибка.ИмяТестовогоСлучая + ""] "" + Ошибка.Описание; - - ИначеЕсли ТипОбъектаОшибка = Тип(""ИнформацияОбОшибке"") Тогда - - НужныйТекстОшибки = Ошибка.Описание; - - Иначе - - НужныйТекстОшибки = Ошибка; - - КонецЕсли; - Возврат НужныйТекстОшибки; -КонецФункции - -// Выводит сообщение. В тестах ВСЕГДА должна использоваться ВМЕСТО метода Сообщить(). -// -&НаКлиенте -Функция ВывестиСообщение(ТекстСообщения, Статус = Неопределено) Экспорт - Если MiddleMan <> Неопределено Тогда - Если НЕ ОповеститьОСобытии(""Message"", ТекстСообщения) Тогда - ОповеститьОСобытии(""ВывестиСообщение"", ТекстСообщения); - КонецЕсли; - Иначе - Если Объект.ВыводЛогаВФорматеTeamCity Тогда - ТекстСообщения = СтрЗаменить(ТекстСообщения,""|"",""||""); - ТекстСообщения = СтрЗаменить(ТекстСообщения,""'"",""|'""); - ТекстСообщения = СтрЗаменить(ТекстСообщения,""["",""|[""); - ТекстСообщения = СтрЗаменить(ТекстСообщения,""]"",""|]""); - ТекстСообщения = СтрЗаменить(ТекстСообщения,Символы.ВК,""|r""); - ТекстСообщения = СтрЗаменить(ТекстСообщения,Символы.ПС,""|n""); - - СтатусДляTeamCity = ?(Статус = Неопределено, СтатусСообщения.Обычное, Статус); - Сообщить(""##teamcity[message text='""+ТекстСообщения+""' errorDetails='' status='""+СоответствиеСтатусовДляTeamCity[СтатусДляTeamCity]+""']""); - Иначе - Сообщить(ТекстСообщения, Статус); - КонецЕсли; - КонецЕсли; -КонецФункции - -// Вызывает исключение с заданным текстом ошибки для прерывания выполнения тестового случая. -// -&НаКлиенте -Функция ПрерватьТест(ТекстОшибки) Экспорт - - ВызватьИсключение ТекстОшибки; - -КонецФункции - - -//#КонецОбласти - -//#КонецОбласти - - - -// { Методы генерации тестовых данных - -// количествоСозданныхОбъектов учитывает только созданные элементы справочников, документы и пользователей ИБ. Записи регистров сведений не считаются! -&НаКлиенте -Функция СоздатьДанныеПоТабличномуДокументу(ТабличныйДокумент, РежимыЗагрузкиИлиИмяКолонкиЗамещения = Неопределено, ИмяКолонкиЗамещения = Неопределено) Экспорт - Данные = СоздатьДанныеПоТабличномуДокументуСервер(ТабличныйДокумент, РежимыЗагрузкиИлиИмяКолонкиЗамещения, ИмяКолонкиЗамещения); - Возврат Данные; -КонецФункции - -&НаСервере -Функция СоздатьДанныеПоТабличномуДокументуСервер(ТабличныйДокумент, РежимыЗагрузкиИлиИмяКолонкиЗамещения, ИмяКолонкиЗамещения) //Экспорт - Данные = Объект().СоздатьДанныеПоТабличномуДокументу(ТабличныйДокумент, РежимыЗагрузкиИлиИмяКолонкиЗамещения, ИмяКолонкиЗамещения); - Возврат Неопределено; //Данные; -КонецФункции -//} - -// { работа с данными текущего теста - -&НаКлиенте -Процедура УстановитьДанныеТекущегоТеста(ДанныеТекущегоТеста) - УстановитьКонтекст(ДанныеТекущегоТеста, ""xUnitFor1C_ДанныеТекущегоТеста""); -КонецПроцедуры - -&НаКлиенте -Функция СоздатьПустуюСтруктуруСостоянияТекущегоТеста() - Результат = Новый Структура; - Результат.Вставить(""Имя"", """"); - Результат.Вставить(""ПолныйПуть"", """"); - Результат.Вставить(""СостояниеТеста"", """"); - Возврат Результат; -КонецФункции - -// } - -// { работа с тестами - - - -&НаСервере -Функция ПолучитьИмяОсновнойУправляемойФормы(имОбработки) - Попытка - лМетаданные = ВнешниеОбработки.Создать(имОбработки).Метаданные(); - Исключение - лМетаданные = Метаданные.Обработки[имОбработки]; - КонецПопытки; - МассивФорм = Новый Массив; - МассивФорм.Добавить(лМетаданные.ОсновнаяФорма); - МассивФорм.Добавить(лМетаданные.ДополнительнаяФорма); - Для каждого метаФорма Из МассивФорм Цикл - Если метаФорма = Неопределено Тогда - Продолжить; - КонецЕсли; - Если метаФорма.ТипФормы = Метаданные.СвойстваОбъектов.ТипФормы.Управляемая Тогда - Возврат метаФорма.Имя; - КонецЕсли; - КонецЦикла; - Возврат """"; -КонецФункции - -&НаКлиенте -Функция ПодключитьНаСервереВнешнююОбработкуОтКлиента(ПолныйПутьФайлаОбработки, ИдентификаторОбработки, РежимОтладки = Ложь) - - Перем ИмяПодключеннойВнешнейОбработки; - - Если ЕстьВстроеннаяОбработкаСервер(ИдентификаторОбработки) Тогда - ИмяПодключеннойВнешнейОбработки = ИдентификаторОбработки; - Иначе - ИмяВнешнейОбработки = """"; - БезопасныйРежимПодключенияОбработки = Ложь; - Если РежимОтладки Тогда - БезопасныйРежимПодключенияОбработки = Истина; - КонецЕсли; - ДопПараметры = Новый Структура; - ДопПараметры.Вставить(""ИдентификаторОбработки"", ИдентификаторОбработки); - ДопПараметры.Вставить(""БезопасныйРежимПодключения"", РежимОтладки); - - Если ЕстьПоддержкаНемодальныхФорм Тогда - Оповещение = Вычислить(""Новый ОписаниеОповещения(""""ПодключитьВнешнююОбработкуСервер"""", ЭтаФорма, ДопПараметры)""); - Выполнить(""НачатьПомещениеФайла(Оповещение, , ПолныйПутьФайлаОбработки, Ложь);"");// Адрес действителен только на 1 вызов сервера! - Иначе - АдресХранилища = """"; - ПоместитьФайл(АдресХранилища, ПолныйПутьФайлаОбработки, , Ложь); - ПодключитьВнешнююОбработкуСервер(Неопределено, АдресХранилища, ПолныйПутьФайлаОбработки, ДопПараметры); - КонецЕсли; - - ИмяПодключеннойВнешнейОбработки = ИмяВнешнейОбработки; - - КонецЕсли; - - Возврат ИмяПодключеннойВнешнейОбработки; - -КонецФункции - -&НаСервере -Процедура ПодключитьВнешнююОбработкуСервер(Результат, АдресХранилища, ВыбранноеИмяФайла, Параметры) - Перем ИдентификаторОбработки, БезопасныйРежимПодключения; - - БезопасныйРежимПодключения = Ложь; - ИдентификаторОбработки = """"; - - Если ТипЗнч(Параметры) = Тип(""Структура"") Тогда - БезопасныйРежимПодключения = ?(Параметры.Свойство(""БезопасныйРежимПодключения""), Параметры.БезопасныйРежимПодключения, БезопасныйРежимПодключения); - ИдентификаторОбработки = ?(Параметры.Свойство(""ИдентификаторОбработки""), Параметры.ИдентификаторОбработки, ИдентификаторОбработки); - Иначе - ИдентификаторОбработки = Параметры; - КонецЕсли; - - ИмяВнешнейОбработки = ВнешниеОбработки.Подключить(АдресХранилища, ИдентификаторОбработки, БезопасныйРежимПодключения); // подключаю не в безопасном режиме - -КонецПроцедуры - - - -&НаСервереБезКонтекста -Функция ЕстьВстроеннаяОбработкаСервер(ИдентификаторОбработки) - Возврат Метаданные.Обработки.Найти(ИдентификаторОбработки) <> Неопределено; -КонецФункции - -&НаСервереБезКонтекста -Функция ПредставлениеВстроеннойОбработкиСервер(ИдентификаторОбработки) - Возврат Метаданные.Обработки.Найти(ИдентификаторОбработки).Представление(); -КонецФункции - - -&НаКлиенте -Функция ПолучитьТестовыеСлучаи(ТестовыйСлучайОбъект, ТестовыйСлучайИмяФайла) - Попытка - МассивТестовыхМетодов = ТестовыйСлучайОбъект.ПолучитьСписокТестов(ЭтаФорма); - Исключение - ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()) ; - - // TODO если не использовать переменную ниже, а поставить вызов метода в условие, то будет глюк - внутрь условия не попадаем ! - ЕстьОшибка_МетодОбъектаНеОбнаружен = ЕстьОшибка_МетодОбъектаНеОбнаружен(ИнформацияОбОшибке().Описание, ""ПолучитьСписокТестов""); - Если НЕ ЕстьОшибка_МетодОбъектаНеОбнаружен Тогда - ТекстОшибки = НСтр(""ru = 'Тестовый случай не загружен: %1 - | Ошибка получения списка тестовых случаев: %2'""); - ВывестиОшибку(СтрЗаменить(СтрЗаменить(ТекстОшибки, ""%1"", ТестовыйСлучайИмяФайла), ""%2"", ОписаниеОшибки())); - КонецЕсли; - - Возврат Неопределено; - КонецПопытки; - - Если ТипЗнч(МассивТестовыхМетодов) <> Тип(""Массив"") Тогда - ТекстОшибки = НСтр(""ru = 'Тест не загружен: %1 - | Ошибка получения списка тестовых случаев: вместо массива - |имен тестовых случаев получен объект <%2>'""); - ВывестиОшибку(СтрЗаменить(СтрЗаменить(ТекстОшибки, ""%1"", ТестовыйСлучайИмяФайла), ""%2"", Строка(ТипЗнч(МассивТестовыхМетодов)))); - - Возврат Неопределено; - КонецЕсли; - - Возврат МассивТестовыхМетодов; -КонецФункции - -&НаКлиенте -Функция ПолучитьСтрокиДереваВСлучайномПорядке(МассивИдентификаторовСтрок) Экспорт - Отбор = Новый Структура(""РазрешенСлучайныйПорядокВыполнения"", Ложь); - МассивСтрокДерева = ПолучитьТолькоТестовыеМетодыИзДерева(МассивИдентификаторовСтрок, Отбор); - - Отбор = Новый Структура(""РазрешенСлучайныйПорядокВыполнения"", Истина); - МассивСтрокДереваДляСлучайногоВыполнения = ПолучитьТолькоТестовыеМетодыИзДерева(МассивИдентификаторовСтрок, Отбор); - - ПеремешанныеСтрокиДерева = ПеремешатьМассив(МассивСтрокДереваДляСлучайногоВыполнения); - Для каждого Элем Из ПеремешанныеСтрокиДерева Цикл - МассивСтрокДерева.Добавить(Элем); - КонецЦикла; - - Возврат МассивСтрокДерева; -КонецФункции - -&НаКлиенте -Функция ПолучитьМассивИдентификаторовСтрок(СтрокаДереваТестов) - МассивИдентификаторовСтрок = Новый Массив(); - Для каждого ЭлементДерева Из СтрокаДереваТестов.ПолучитьЭлементы() Цикл - МассивИдентификаторовСтрок.Добавить(ЭлементДерева.ПолучитьИдентификатор()); - КонецЦикла; - Возврат МассивИдентификаторовСтрок; -КонецФункции - -&НаКлиенте -Функция ПолучитьТолькоТестовыеМетодыИзДерева(МассивИдентификаторовСтрок, Отбор = Неопределено, МассивДляДобавления = Неопределено) - Если МассивДляДобавления=Неопределено Тогда - МассивДляДобавления = Новый Массив; - КонецЕсли; - Для каждого Идентификатор из МассивИдентификаторовСтрок Цикл - СтрокаДереваТестов = Объект.ДеревоТестов.НайтиПоИдентификатору(Идентификатор); - - Если СтрокаДереваТестов.ТипСтроки = ЗначенияТиповСтроки.ТестовыйМетод Тогда - Если ЗначениеЗаполнено(Отбор) И Не СтрокаДереваУдовлетворяетОтбору(СтрокаДереваТестов, Отбор) Тогда - Продолжить; - КонецЕсли; - - Если МассивДляДобавления.Найти(Идентификатор) = Неопределено Тогда - МассивДляДобавления.Добавить(Идентификатор); - КонецЕсли; - - Иначе - НовыйМассив = ПолучитьМассивИдентификаторовСтрок(СтрокаДереваТестов); - ПолучитьТолькоТестовыеМетодыИзДерева(НовыйМассив, Отбор, МассивДляДобавления); - - КонецЕсли; - - КонецЦикла; - Возврат МассивДляДобавления; -КонецФункции - -&НаКлиенте -Функция СтрокаДереваУдовлетворяетОтбору(СтрокаДерева, Отбор) - Нашли = Ложь; - Для каждого КлючЗначение Из Отбор Цикл - КлючОтбора = КлючЗначение.Ключ; - Если СтрокаДерева[КлючОтбора] <> Отбор[КлючОтбора] Тогда - Прервать; - КонецЕсли; - Нашли = Истина; - КонецЦикла; - - Возврат Нашли; -КонецФункции - -&НаКлиенте -Функция ОбновитьСостояниеВыбранныхСтрок(ВыбранныеСтроки) - - СостояниеВыполнения = ЗначенияСостоянияТестов.НеВыполнялся; - ВремяВыполнения = 0; - Для Каждого СтрокаИлиИдентификатор Из ВыбранныеСтроки Цикл - - Если ТипЗнч(СтрокаИлиИдентификатор) = Тип(""ДанныеФормыЭлементДерева"") Тогда - Строка = СтрокаИлиИдентификатор; - Иначе - Строка = Объект.ДеревоТестов.НайтиПоИдентификатору(СтрокаИлиИдентификатор); - КонецЕсли; - - Если Строка.ТипСтроки <> ЗначенияТиповСтроки.ТестовыйМетод Тогда - Состояние = ОбновитьСостояниеВыбранныхСтрок(Строка.ПолучитьЭлементы()); - Строка.Состояние = Состояние.СостояниеВыполнения; - Строка.ВремяВыполнения = Состояние.ВремяВыполнения; - КонецЕсли; - - ЗапомнитьСамоеХудшееСостояние(СостояниеВыполнения, Строка.Состояние); - ВремяВыполнения = ВремяВыполнения + Строка.ВремяВыполнения; - - КонецЦикла; - - Возврат Новый Структура(""СостояниеВыполнения, ВремяВыполнения"", СостояниеВыполнения, ВремяВыполнения); - -КонецФункции - -&НаКлиенте -Процедура ОбновитьСостояниеРодителейВыбранныхСтрок(МассивИдентификаторовСтрок) - - Для Каждого Идентификатор Из МассивИдентификаторовСтрок Цикл - СтрокаДереваТестов = Объект.ДеревоТестов.НайтиПоИдентификатору(Идентификатор); - ИзменитьСостояниеВыполненияРодителей(СтрокаДереваТестов); - ИзменитьВремяВыполненияРодителей(СтрокаДереваТестов); - КонецЦикла; - -КонецПроцедуры - - -&НаКлиентеНаСервереБезКонтекста -Функция ПеремешатьМассив(ИсходныйМассив) - - Результат = Новый Массив; - Для Каждого Элемент Из ИсходныйМассив Цикл - Результат.Добавить(Элемент); - КонецЦикла; - - // алгоритм перемешивания взят из книги Кнута ""Искусство программирования"" т.2 - ГСЧ = Новый ГенераторСлучайныхЧисел(); - ПоследнийИндекс = Результат.ВГраница(); - Для Индекс = 1 По ПоследнийИндекс Цикл - ТекущийИндекс = ПоследнийИндекс - Индекс + 1; - НовыйИндекс = ГСЧ.СлучайноеЧисло(0, ТекущийИндекс); - Если НовыйИндекс <> ТекущийИндекс Тогда - Значение = Результат[НовыйИндекс]; - Результат[НовыйИндекс] = Результат[ТекущийИндекс]; - Результат[ТекущийИндекс] = Значение; - КонецЕсли; - КонецЦикла; - - Возврат Результат; - -КонецФункции - -//////////////////////////////////////////////////////////////////////////////// -// ВЫПОЛНЕНИЕ ТЕСТОВ - -&НаКлиенте -Процедура ВыполнитьВыделенныеТесты(ВызыватьИсключение = Ложь) - - ОчиститьСообщения(); - - МассивИдентификаторовСтрок = Элементы.ДеревоТестов.ВыделенныеСтроки; - - _ВыполнитьВыбранныеТесты(МассивИдентификаторовСтрок, ВызыватьИсключение); - -КонецПроцедуры - -&НаКлиенте -Функция _ВыполнитьВыбранныеТесты(МассивИдентификаторовСтрок, ВызыватьИсключение = Ложь) - - датаНачалаТестирования = ТекущаяДата(); - - Если Объект.СлучайныйПорядокВыполнения Тогда - НовыйМассивИдентификаторовСтрок = ПолучитьСтрокиДереваВСлучайномПорядке(МассивИдентификаторовСтрок); - Иначе - НовыйМассивИдентификаторовСтрок = ПолучитьТолькоТестовыеМетодыИзДерева(МассивИдентификаторовСтрок); - КонецЕсли; - - ПередВыполнениемТестов(НовыйМассивИдентификаторовСтрок); - - ИнициализироватьИндикаторВыполнения(НовыйМассивИдентификаторовСтрок.Количество()); - - СостояниеРезультат = _ВыполнитьТесты(НовыйМассивИдентификаторовСтрок, ВызыватьИсключение); - - ОбновитьСостояниеВыбранныхСтрок(МассивИдентификаторовСтрок); - ОбновитьСостояниеРодителейВыбранныхСтрок(МассивИдентификаторовСтрок); - СвернутьУспешныеСтрокиДереваИРазвернутьНеуспешные(Объект.ДеревоТестов.ПолучитьЭлементы(), Истина); - - ОбработатьОтчетТестирования(датаНачалаТестирования); - - Возврат СостояниеРезультат; -КонецФункции - -&НаКлиенте -Процедура СброситьКэшТестовыхОбработок() - - кэшТестовыхОбработок = Новый Соответствие; - УдалитьИзВременногоХранилища(АдресОбъектаНаСервере); - -КонецПроцедуры - -&НаКлиенте -Функция _ВыполнитьТесты(МассивИдентификаторовСтрок, ВызыватьИсключение = Ложь) Экспорт - СостояниеРезультат = ЗначенияСостоянияТестов.НеВыполнялся; - Для каждого ИдентификаторСтроки из МассивИдентификаторовСтрок Цикл - ОбработкаПрерыванияПользователя(); - - ВсегоТестов = ВсегоТестов + 1; - СтрокаДереваТестов = Объект.ДеревоТестов.НайтиПоИдентификатору(ИдентификаторСтроки); // обход бага платформы - НовоеСостояние = ВыполнитьТестВЗависимостиОтВидаТеста_МодульИлиФорма(СтрокаДереваТестов, СписокОшибок, ВызыватьИсключение); - - ЗапомнитьСамоеХудшееСостояние(СостояниеРезультат, НовоеСостояние); - КонецЦикла; - - Возврат СостояниеРезультат; -КонецФункции - -&НаКлиенте -Функция ВыполнитьТестВЗависимостиОтВидаТеста_МодульИлиФорма(СтрокаДереваТестов, СписокОшибок, ВызыватьИсключение = Ложь) - - Родитель = СтрокаДереваТестов.ПолучитьРодителя(); - Если Не Родитель.ЭтоВнутренняяОбработка Тогда - ТестОбъект = кэшТестовыхОбработок.Получить(Родитель.ПолныйПуть); - Если ТестОбъект = Неопределено Тогда - Попытка - лИмяОбработки = ПодключитьНаСервереВнешнююОбработкуОтКлиента(Родитель.полныйПуть, Родитель.ТестовыйСлучайОбъектМетаданныхИмя, Объект.РежимОтладки); - Исключение - СостояниеВыполнения = ВывестиОшибкуВыполненияТеста(СтрокаДереваТестов, ИнформацияОбОшибке(), СписокОшибок, Объект.РегистрацияОшибокТестовВЖР); - СтрокаДереваТестов.Состояние = СостояниеВыполнения; - Возврат СостояниеВыполнения; - КонецПопытки; - кэшТестовыхОбработок.Вставить(Родитель.полныйПуть, Истина); - КонецЕсли; - КонецЕсли; - - Если СтрокаДереваТестов.МодульИлиФорма = ЗначениеМодульИлиФорма.Форма Тогда - СостояниеРезультат = ВыполнитьТест(СтрокаДереваТестов, ВызыватьИсключение); - Иначе - - ОповеститьОСобытии(""TestStart"", СтрокаДереваТестов); - СостояниеРезультат = ВыполнитьТестНаСервере(СтрокаДереваТестов.ПолучитьИдентификатор(), СписокОшибок, ВызыватьИсключение); - - Если СостояниеРезультат = ЗначенияСостоянияТестов.Сломался Тогда - ОповеститьОСобытии(""TestFailed"", СтрокаДереваТестов); - ИначеЕсли СостояниеРезультат = ЗначенияСостоянияТестов.НеРеализован Тогда - ОповеститьОСобытии(""TestNotImplemented"", СтрокаДереваТестов); - Иначе - ОповеститьОСобытии(""TestPassed"", СтрокаДереваТестов); - КонецЕсли; - - КонецЕсли; - - СтрокаДереваТестов.Состояние = СостояниеРезультат; - - Возврат СостояниеРезультат; -КонецФункции - -&НаКлиенте -Функция ВыполнитьТест(СтрокаДереваТестов, ВызыватьИсключение = Ложь) Экспорт - Перем Тест; // специально локальная переменная для исключения циклических ссылок - - ИдентификаторСтроки = СтрокаДереваТестов.ПолучитьИдентификатор(); - - ТекущаяДата = ТекущаяДата(); - ПолныйПуть = СтрокаДереваТестов.ПолныйПуть; - - Если Объект.РегистрацияПрохожденияТестовВЖР Тогда - ЗарегистрироватьНачалоПрохожденияТестаСервер(СтрокаДереваТестов.Имя, ПолныйПуть); - КонецЕсли; - - СтрокаДереваТестов.СписокОшибок.Очистить(); - - Попытка - Тест = ПолучитьТестОбъект(СтрокаДереваТестов); - Исключение - Возврат ВывестиОшибкуВыполненияТеста(СтрокаДереваТестов, ИнформацияОбОшибке(), СписокОшибок, Объект.РегистрацияОшибокТестовВЖР); - КонецПопытки; - - Если ЭтоПервыйТестовыйМетодНабора(СтрокаДереваТестов) Тогда - Попытка - ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(Тест, ""ПередЗапускомНабораТестов""); - Исключение - Возврат ВывестиОшибкуВыполненияТеста(СтрокаДереваТестов, ИнформацияОбОшибке(), СписокОшибок, Объект.РегистрацияОшибокТестовВЖР); - КонецПопытки; - КонецЕсли; - - УчестьЗапускТеста(СтрокаДереваТестов); - - СостояниеВыполнения = ВыполнитьМетодыТеста(Тест, СтрокаДереваТестов, ВызыватьИсключение); - СтрокаДереваТестов = Объект.ДеревоТестов.НайтиПоИдентификатору(ИдентификаторСтроки); - - Если ЭтоПоследнийТестовыйМетодНабора(СтрокаДереваТестов) Тогда - Попытка - ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(Тест, ""ПослеЗапускаНабораТестов""); - Исключение - НовоеСостояние = ВывестиОшибкуВыполненияТеста(СтрокаДереваТестов, ИнформацияОбОшибке(), СписокОшибок, Объект.РегистрацияОшибокТестовВЖР); - ЗапомнитьСамоеХудшееСостояние(СостояниеВыполнения, НовоеСостояние); - КонецПопытки; - КонецЕсли; - - СтрокаДереваТестов.ВремяВыполнения = Число(ТекущаяДата() - ТекущаяДата); - Возврат СостояниеВыполнения; - -КонецФункции - -&НаКлиенте -Функция ВыполнитьМетодыТеста(Тест, СтрокаДереваТестов, ВызыватьИсключение) - - СостояниеВыполнения = ЗначенияСостоянияТестов.НеВыполнялся; - - ДанныеТекущегоТеста = СоздатьПустуюСтруктуруСостоянияТекущегоТеста(); - ДанныеТекущегоТеста.Вставить(""Имя"", СтрокаДереваТестов.Имя); - ДанныеТекущегоТеста.Вставить(""ПолныйПуть"", СтрокаДереваТестов.ПолныйПуть); - ДанныеТекущегоТеста.Вставить(""СостояниеТеста"", СостояниеВыполнения); - УстановитьДанныеТекущегоТеста(ДанныеТекущегоТеста); - - параметрыТеста = СтрокаДереваТестов.ПараметрыТеста; - естьПараметры = СтрокаДереваТестов.ЕстьПараметрыТеста; - - //TODO Если первый раз запуск setup оказался неуспешным, то при повторном прогоне без перезагрузки - // не выполнять, также не выполнять для следующих тестовых случаев. - Попытка - ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(Тест, ""ПередЗапускомТеста""); - Исключение - Возврат ВывестиОшибкуВыполненияТеста(СтрокаДереваТестов, ИнформацияОбОшибке(), СписокОшибок, Объект.РегистрацияОшибокТестовВЖР); - КонецПопытки; - - ОповеститьОСобытии(""TestStart"", СтрокаДереваТестов); - - Попытка - - ВыполнитьТестовыйМетод(Тест, СтрокаДереваТестов, ВызыватьИсключение); - СостояниеВыполнения = ЗначенияСостоянияТестов.Прошел; - ОповеститьОСобытии(""TestPassed"", СтрокаДереваТестов); - - Исключение - - СостояниеВыполнения = ВывестиОшибкуВыполненияТеста(СтрокаДереваТестов, ИнформацияОбОшибке(), СписокОшибок, Объект.РегистрацияОшибокТестовВЖР); - - КонецПопытки; - - ДанныеТекущегоТеста.Вставить(""СостояниеТеста"", СостояниеВыполнения); - УстановитьДанныеТекущегоТеста(ДанныеТекущегоТеста); - - Попытка - ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(Тест, ""ПослеЗапускаТеста""); - Исключение - НовоеСостояние = ВывестиОшибкуВыполненияТеста(СтрокаДереваТестов, ИнформацияОбОшибке(), СписокОшибок, Объект.РегистрацияОшибокТестовВЖР); - ЗапомнитьСамоеХудшееСостояние(СостояниеВыполнения, НовоеСостояние); - КонецПопытки; - - УстановитьДанныеТекущегоТеста(Неопределено); - - Возврат СостояниеВыполнения; - -КонецФункции - -&НаКлиенте -Процедура ВыполнитьТестовыйМетод(Тест, СтрокаДереваТестов, ВызыватьИсключение); - - ПредставлениеТестовогоСлучая = СтрокаДереваТестов.Имя; - ИмяТестовогоСлучая = СтрокаДереваТестов.ИмяТестовогоСлучая; - - СтрокаПараметров = """"; - Если СтрокаДереваТестов.ЕстьПараметрыТеста Тогда - ПараметрТеста = Неопределено; - Если СтрокаДереваТестов.ПараметрыТеста.Свойство(""Параметр"", ПараметрТеста) Тогда - СтрокаПараметров = ""ПараметрТеста""; - КонецЕсли; - КонецЕсли; - - Если ВызыватьИсключение = Истина Тогда - ВызватьИсключение ""ПередЗапускомТеста "" + ПредставлениеТестовогоСлучая + "" обработка: "" + СтрокаДереваТестов.ПолныйПуть; - КонецЕсли; - - Попытка - ИcполняемыйКод = ""Тест."" + ИмяТестовогоСлучая + ""("" + СтрокаПараметров + "");""; - Выполнить(ИcполняемыйКод); - Исключение - - текстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - Если ЕстьОшибка_МетодОбъектаНеОбнаружен(текстОшибки, ИмяТестовогоСлучая) Тогда - Сообщение = НСтр(""ru = 'Отсутствует реализация тестового метода (%1).'""); - ПропуститьТест(СтрЗаменить(Сообщение, ""%1"", ИcполняемыйКод)); - Иначе - ВызватьИсключение; - КонецЕсли; - - КонецПопытки; - -КонецПроцедуры - -&НаКлиенте -Функция ПолучитьТестОбъект(СтрокаДереваТестов) - - ПолныйПуть = СтрокаДереваТестов.ПолныйПуть; - ИдентификаторКэша = ПолныйПуть + СтрокаДереваТестов.ИмяОсновнойУправляемойФормы; - Тест = кэшТестовыхОбработок.Получить(ИдентификаторКэша); - Если Тест = Неопределено Тогда - - ИдентификаторОбработки = СтрокаДереваТестов.ТестовыйСлучайОбъектМетаданныхИмя; - ИмяФормыТеста = СтрокаДереваТестов.ИмяОсновнойУправляемойФормы; - Если СтрокаДереваТестов.ЭтоВнутренняяОбработка Тогда - Тест = ПолучитьФорму(""Обработка."" + ИдентификаторОбработки + "".Форма."" + ИмяФормыТеста); - Иначе - Тест = ПолучитьФорму(""ВнешняяОбработка."" + ИдентификаторОбработки + "".Форма."" + ИмяФормыТеста); - КонецЕсли; - - массивТестов = ПолучитьТестовыеСлучаи(Тест, полныйПуть); // возможно, что тест сохранит у себя ссылку на браузер - Если Не ЗначениеЗаполнено(массивТестов) Тогда - ВызватьИсключение НСтр(""ru = 'Не удалось получить тестовые случаи'""); - КонецЕсли; - - кэшТестовыхОбработок.Вставить(ИдентификаторКэша, Тест); - - КонецЕсли; - - Возврат Тест; - -КонецФункции - -&НаСервере -Функция ВыполнитьТестНаСервере(ИдентификаторСтрокиТестовогоМетода, СписокОшибокРез, ВызыватьИсключение) - ОсновнойОбъект = Объект(); - ОсновнойОбъект.Мир = Объект.Мир; - ОсновнойОбъект.СостояниеВыполненияНаборовТестов = Объект.СостояниеВыполненияНаборовТестов; - - рез = ОсновнойОбъект.ВыполнитьТест(Объект.ДеревоТестов.НайтиПоИдентификатору(ИдентификаторСтрокиТестовогоМетода), - СписокОшибокРез, Объект.РегистрацияПрохожденияТестовВЖР, Объект.РегистрацияОшибокТестовВЖР, ВызыватьИсключение); - - Объект.Мир = ОсновнойОбъект.Мир; - Объект.СостояниеВыполненияНаборовТестов = ОсновнойОбъект.СостояниеВыполненияНаборовТестов; - Возврат рез; -КонецФункции - -&НаКлиенте -Процедура ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(Тест, ИмяПроцедуры) - - Попытка - Выполнить(""Тест."" + ИмяПроцедуры + ""();""); - Исключение - ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()) ; - Если Не ЕстьОшибка_МетодОбъектаНеОбнаружен(ТекстОшибки, ИмяПроцедуры) Тогда - ВызватьИсключение; - КонецЕсли; - КонецПопытки; - -КонецПроцедуры - -&НаКлиенте -Процедура ПередВыполнениемТестов(ЗапускаемыеТесты) - - СписокОшибок = Новый СписокЗначений; - ВсегоТестов = 0; - - СброситьКэшТестовыхОбработок(); - ИнициализироватьСостояниеВыполненияНаборовТестов(ЗапускаемыеТесты); - -КонецПроцедуры - -&НаКлиенте -Функция ВывестиОшибкуВыполненияТеста(СтрокаДереваТестов, ИнфоОшибки, СписокОшибок, РегистрироватьОшибкуВЖР) - - СостояниеВыполнения = ЗначенияСостоянияТестов.Сломался; - - СтруктураОшибки = Новый Структура; - - ТекстОшибки = КраткоеПредставлениеОшибки(ИнфоОшибки); - Если ЭтоПропущенныйТест(ТекстОшибки) Тогда - СостояниеВыполнения = ЗначенияСостоянияТестов.НеРеализован; - СтруктураОшибки.Вставить(""Статус"", СтатусыРезультатаТестирования.ТестПропущен); - стИнфоОшибки = Новый Структура; - стИнфоОшибки.Вставить(""Описание"", ТекстОшибки); - ИначеЕсли ЭтоОшибкаПроверки(ТекстОшибки) Тогда - СтруктураОшибки.Вставить(""Статус"", СтатусыРезультатаТестирования.ОшибкаПроверки); - стИнфоОшибки = Новый Структура; - стИнфоОшибки.Вставить(""Описание"", ТекстОшибки); - Иначе - ТекстОшибки = ПодробноеПредставлениеОшибки(ИнфоОшибки); - СтруктураОшибки.Вставить(""Статус"", СтатусыРезультатаТестирования.НеизвестнаяОшибка); - стИнфоОшибки = СкопироватьИнформациюОбОшибке(ИнфоОшибки); - КонецЕсли; - - ПредставлениеТестовогоСлучая = СтрокаДереваТестов.Имя; - СтруктураОшибки.Вставить(""ИмяТестовогоНабора"", СтрокаДереваТестов.ИмяТестовогоНабора); - СтруктураОшибки.Вставить(""ИмяТестовогоСлучая"", ПредставлениеТестовогоСлучая); - СтруктураОшибки.Вставить(""Описание"", ТекстОшибки); - СтруктураОшибки.Вставить(""ИнфоОшибки"", стИнфоОшибки); - СтруктураОшибки.Вставить(""ЕстьПараметрыТеста"", СтрокаДереваТестов.ЕстьПараметрыТеста); - СтруктураОшибки.Вставить(""ПараметрыТеста"", СтрокаДереваТестов.ПараметрыТеста); - СтруктураОшибки.Вставить(""ПолныйПуть"", СтрокаДереваТестов.ПолныйПуть); - СтруктураОшибки.Вставить(""УИДСтрокиДерева"", СтрокаДереваТестов._guid); - - СтрокаДереваТестов.СписокОшибок.Добавить(СтруктураОшибки); - СписокОшибок.Добавить(СтруктураОшибки); - - НужныйТекстОшибки = ВывестиОшибку(СтруктураОшибки); - - Если РегистрироватьОшибкуВЖР Тогда - ЗарегистрироватьОшибкуТестаСервер(НужныйТекстОшибки, ПредставлениеТестовогоСлучая, СтрокаДереваТестов.ПолныйПуть); - КонецЕсли; - - Если СостояниеВыполнения = ЗначенияСостоянияТестов.НеРеализован Тогда - ОповеститьОСобытии(""TestNotImplemented"", СтрокаДереваТестов); - Иначе - ОповеститьОСобытии(""TestFailed"", СтрокаДереваТестов); - КонецЕсли; - - УстановитьДанныеТекущегоТеста(Неопределено); - - Возврат СостояниеВыполнения; - -КонецФункции - -&НаКлиенте -Функция СкопироватьИнформациюОбОшибке(Знач ИнфоОшибки) - - стИнфоОшибки = Новый Структура(""ИмяМодуля, ИсходнаяСтрока, НомерСтроки, Описание""); - ЗаполнитьЗначенияСвойств(стИнфоОшибки, ИнфоОшибки); - стИнфоОшибки.Вставить(""Причина"", Неопределено); - - стИнфоОшибкиЦикл = стИнфоОшибки; - ИнфоОшибки = ИнфоОшибки.Причина; - Пока ИнфоОшибки <> Неопределено Цикл - стИнфоОшибкиЦикл.Причина = Новый Структура(""ИмяМодуля, ИсходнаяСтрока, НомерСтроки, Описание""); - стИнфоОшибкиЦикл = стИнфоОшибкиЦикл.Причина; - ЗаполнитьЗначенияСвойств(стИнфоОшибкиЦикл, ИнфоОшибки); - стИнфоОшибкиЦикл.Вставить(""Причина"", Неопределено); - - ИнфоОшибки = ИнфоОшибки.Причина; - КонецЦикла; - - Возврат стИнфоОшибки; - -КонецФункции - -&НаКлиенте -Функция ЭтоОшибкаПроверки(ТекстОшибки) - - Возврат Найти(ТекстОшибки, ""["" + СтатусыРезультатаТестирования.ОшибкаПроверки + ""]"") = 1; - -КонецФункции - -&НаКлиенте -Функция ЭтоПропущенныйТест(ТекстОшибки) - - Возврат Найти(ТекстОшибки, ""[""+ СтатусыРезультатаТестирования.ТестПропущен + ""]"") = 1; - -КонецФункции - -&НаКлиенте -Функция ОповеститьОСобытии(ИмяСобытия, Аргумент1 = Неопределено) - рез = Истина; - Если MiddleMan <> Неопределено Тогда - Попытка - Выполнить(""MiddleMan."" + ИмяСобытия + ""(Аргумент1);""); - Исключение - рез = Ложь; - КонецПопытки; - КонецЕсли; - - Оповестить(""xUnitFor1C."" + ИмяСобытия, Аргумент1); - - Возврат рез; -КонецФункции - -&НаКлиенте -Функция ЗапомнитьСамоеХудшееСостояние(ТекущееСостояние, НовоеСостояние) - ТекущееСостояние = Макс(ТекущееСостояние, НовоеСостояние); // TODO некоторый хак, который зависит от порядка заполнения в мЗначенияСостоянияТестов - Возврат ТекущееСостояние; -КонецФункции - -&НаСервере -Процедура ЗарегистрироватьНачалоПрохожденияТестаСервер(ИмяТестовогоСлучая, ПолныйПуть) - Объект().ЗарегистрироватьНачалоПрохожденияТеста(ИмяТестовогоСлучая, ПолныйПуть); -КонецПроцедуры - -&НаСервере -Процедура ЗарегистрироватьОшибкуТестаСервер(НужныйТекстОшибки, ИмяТестовогоСлучая, ПолныйПуть) - Объект().ЗарегистрироватьОшибкуТеста(НужныйТекстОшибки, ИмяТестовогоСлучая, ПолныйПуть); -КонецПроцедуры - -&НаКлиенте -Функция ИдентификаторПустогоКонтекста() - Возврат ""UF_xUnitFor1C_Empty""; -КонецФункции - -//////////////////////////////////////////////////////////////////////////////// -// КОНТРОЛЬ СОСТОЯНИЯ ВЫПОЛНЕНИЯ НАБОРОВ ТЕСТОВ - -&НаКлиенте -Процедура ИнициализироватьСостояниеВыполненияНаборовТестов(ЗапускаемыеТесты) - - Объект.СостояниеВыполненияНаборовТестов = Новый Структура; - - Для Каждого ИдентификаторТеста Из ЗапускаемыеТесты Цикл - - ТестовыйМетод = Объект.ДеревоТестов.НайтиПоИдентификатору(ИдентификаторТеста); - ЗарегистрироватьТестовыйМетодКЗапуску(ТестовыйМетод); - - КонецЦикла; - -КонецПроцедуры - -&НаКлиенте -Процедура ЗарегистрироватьТестовыйМетодКЗапуску(ТестовыйМетод) - - Состояние = СостояниеВыполненияНабораТестовТестовогоМетода(Тестовыйметод); - Если Состояние = Неопределено Тогда - Состояние = ДобавитьСостояниеВыполненияНабораТестовТестовогоМетода(ТестовыйМетод); - КонецЕсли; - - Состояние.ТестыКЗапуску.Вставить(ИдентификаторПоУИД(ТестовыйМетод._GUID)); - -КонецПроцедуры - -&НаКлиенте -Функция ДобавитьСостояниеВыполненияНабораТестовТестовогоМетода(ТестовыйМетод) - - Состояние = Новый Структура; - Состояние.Вставить(""ЭтоПервыйТестВНаборе"", Истина); - Состояние.Вставить(""ТестыКЗапуску"", Новый Структура); - - Объект.СостояниеВыполненияНаборовТестов.Вставить(ИдентификаторТестовогоНабора(ТестовыйМетод), Состояние); - Возврат Состояние; - -КонецФункции - -&НаКлиенте -Процедура УчестьЗапускТеста(ТестовыйМетод) - - Состояние = СостояниеВыполненияНабораТестовТестовогоМетода(Тестовыйметод); - Состояние.ТестыКЗапуску.Удалить(ИдентификаторПоУИД(ТестовыйМетод._GUID)); - Состояние.ЭтоПервыйТестВНаборе = Ложь; - -КонецПроцедуры - -&НаКлиенте -Функция ЭтоПервыйТестовыйМетодНабора(ТестовыйМетод) - - Состояние = СостояниеВыполненияНабораТестовТестовогоМетода(Тестовыйметод); - Возврат Состояние.ЭтоПервыйТестВНаборе; - -КонецФункции - -&НаКлиенте -Функция ЭтоПоследнийТестовыйМетодНабора(ТестовыйМетод) - - Состояние = СостояниеВыполненияНабораТестовТестовогоМетода(Тестовыйметод); - Возврат (Состояние.ТестыКЗапуску.Количество() = 0); - -КонецФункции - -&НаКлиенте -Функция СостояниеВыполненияНабораТестовТестовогоМетода(Тестовыйметод) - Перем Состояние; - - Объект.СостояниеВыполненияНаборовТестов.Свойство(ИдентификаторТестовогоНабора(ТестовыйМетод), Состояние); - Возврат Состояние; - -КонецФункции - -&НаКлиенте -Функция ИдентификаторТестовогоНабора(ТестовыйМетод) - - ТестовыйНабор = ТестовыйМетод.ПолучитьРодителя(); - Возврат ИдентификаторПоУИД(ТестовыйНабор._GUID) + ТестовыйМетод.ИмяОсновнойУправляемойФормы; - -КонецФункции - -&НаКлиентеНаСервереБезКонтекста -Функция ИдентификаторПоУИД(УИД) - - Возврат ""_"" + СтрЗаменить(УИД, ""-"", ""_""); - -КонецФункции - -//////////////////////////////////////////////////////////////////////////////// -// ФОРМИРОВАНИЕ ОТЧЕТА О ТЕСТИРОВАНИИ - -&НаКлиенте -Процедура ОбработатьОтчетТестирования(датаНачалаТестирования) - - ОтчетТестирования = ПолучитьОтчетТестирования(датаНачалаТестирования, ТипОтчетаОТестировании); - - Если ОтчетТестирования <> Неопределено Тогда - ПоказатьОтчетТестирования(ОтчетТестирования); - Если Не ПустаяСтрока(ПутьОтчетаТестирования) Тогда - ЗаписатьФайлОтчетТестирования(ОтчетТестирования); - КонецЕсли; - Иначе // все тесты прошли - Если Не ПустаяСтрока(ПутьОтчетаТестирования) Тогда - УдалитьФайлыОтчетовТестирования(); - КонецЕсли; - КонецЕсли; - -КонецПроцедуры - -// Возвращаем Неопределено, если все тесты прошли -&НаСервере -Функция ПолучитьОтчетТестирования(Знач датаНачалаТестирования, Знач ТипОтчета = ""mxl"") Экспорт - Возврат Объект().ПолучитьОтчетТестирования(РеквизитФормыВЗначение(""Объект.ДеревоТестов""), датаНачалаТестирования, ТипОтчета, СписокОшибок, ВсегоТестов); -КонецФункции - -&НаКлиенте -Процедура ПоказатьОтчетТестирования(Отчет) - - ЗаголовокОкнаОтчета = СтрЗаменить(НСтр(""ru = 'Отчет об автоматическом тестировании, xUnitFor1C v.%1'""), ""%1"", ВерсияСервер()); - - ТипКонтейнераОтчета = ТипЗнч(Отчет); - Если ТипКонтейнераОтчета = Тип(""ТабличныйДокумент"") Тогда - Отчет.Показать(ЗаголовокОкнаОтчета); - ИначеЕсли ТипКонтейнераОтчета = Тип(""ТекстовыйДокумент"") Тогда - Отчет.Показать(ЗаголовокОкнаОтчета); - Иначе - Текст = Новый ТекстовыйДокумент; - Текст.УстановитьТекст(Строка(Отчет)); - Текст.Показать(ЗаголовокОкнаОтчета); - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ЗаписатьФайлОтчетТестирования(Отчет) - - Попытка - ТипКонтейнераОтчета = ТипЗнч(Отчет); - Если ТипКонтейнераОтчета = Тип(""ТекстовыйДокумент"") Тогда - Отчет.Записать(ПутьОтчетаТестирования); - ИначеЕсли ТипКонтейнераОтчета = Тип(""ТабличныйДокумент"") Тогда - Отчет.Записать(ПутьОтчетаТестирования, ТипФайлаТабличногоДокумента[ТипОтчетаОТестировании]); - Иначе - Текст = Новый ТекстовыйДокумент; - Текст.УстановитьТекст(Строка(Отчет)); - Текст.Записать(ПутьОтчетаТестирования); - КонецЕсли; - Исключение - КонецПопытки; - -КонецПроцедуры - -&НаКлиенте -Процедура УдалитьФайлыОтчетовТестирования() - - Если ЕстьПоддержкаАсинхронныхВызовов Тогда - Выполнить(""НачатьУдалениеФайлов(, ПутьОтчетаТестирования)""); - Иначе - Попытка - УдалитьФайлы(ПутьОтчетаТестирования); - Исключение - КонецПопытки; - КонецЕсли; - -КонецПроцедуры - -&НаКлиентеНаСервереБезКонтекста -Процедура УстановитьТипОтчетаТестирования(Ю_Тест, ТипОтчета); - - Если ЗначениеЗаполнено(ТипОтчета) Тогда - Ю_Тест.ТипОтчетаОТестировании = ТипОтчета; - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура УстановитьПутьОтчетаТестирования(Путь, Имя = """"); - - ПутьОтчетаТестирования = ДополнитьСлешВПуть(Путь) + ?(ЗначениеЗаполнено(Имя), Имя, ""лог_тестирования."" + РасширениеФайлаПоТипуОтчета(ТипОтчетаОТестировании)); - -КонецПроцедуры - -&НаКлиенте -Функция РасширениеФайлаПоТипуОтчета(ТипОтчета) - - Возврат ТипОтчета; - -КонецФункции - -//////////////////////////////////////////////////////////////////////////////// -// ИСТОРИЯ ВЫБОРА ТЕСТОВ - -&НаСервере -Процедура ДобавитьВИсториюКонтекст(ИмяИстории, Путь) - - ДобавитьВИсторию(ЭтаФорма, ИмяИстории, Путь, ДлинаИстории, ""Подключаемый_КомандаЗагрузитьТестыИзИстории""); - -КонецПроцедуры - -&НаСервереБезКонтекста -Процедура ДобавитьВИсторию(Форма, ИмяИстории, Путь, ДлинаИстории, Действие) - - История = Форма[ИмяИстории]; - Элементы = Форма.Элементы; - Команды = Форма.Команды; - - Если ТипЗнч(Путь) <> Тип(""Массив"") Тогда - Пути = Новый Массив; - Пути.Добавить(Путь); - Иначе - Пути = Путь; - КонецЕсли; - - Для Каждого ВыбранныйПуть Из Пути Цикл - Элемент = История.НайтиПоЗначению(ВыбранныйПуть); - Если Элемент = Неопределено Тогда - История.Вставить(0, ВыбранныйПуть); - Если История.Количество() = ДлинаИстории + 1 Тогда - История.Удалить(ДлинаИстории); - Иначе - Команда = Команды.Добавить(ИмяИстории + Формат(История.Количество() - 1, ""ЧН=0; ЧГ=0"")); - Команда.Действие = Действие; - ПунктМеню = Элементы.Добавить(Команда.Имя, Тип(""КнопкаФормы""), Элементы[ИмяИстории]); - ПунктМеню.ИмяКоманды = Команда.Имя; - КонецЕсли; - Иначе - Индекс = История.Индекс(Элемент); - Если Индекс > 0 Тогда - История.Сдвинуть(Элемент, -Индекс); - КонецЕсли; - КонецЕсли; - КонецЦикла; - - Для Каждого Элемент Из История Цикл - ПунктМеню = Элементы[ИмяИстории + Формат(История.Индекс(Элемент), ""ЧН=0; ЧГ=0"")]; - ПунктМеню.Заголовок = Элемент.Значение; - КонецЦикла; - -КонецПроцедуры - -&НаСервере -Процедура ВосстановитьИсторию(ИмяИстории, История) - - КоличествоПунктовИстории = История.Количество(); - Для Индекс = 1 По КоличествоПунктовИстории Цикл - ДобавитьВИсториюКонтекст(ИмяИстории, История[КоличествоПунктовИстории - Индекс]); - КонецЦикла; - -КонецПроцедуры - -//////////////////////////////////////////////////////////////////////////////// -// НАСТРОЙКИ - -&НаСервере -Процедура ИнициализироватьНастройки() - - УстановитьЗначенияНастроекПоУмолчанию(ЭтаФорма); - ВосстановитьНастройки(); - ПривестиИнерфейсВСоответствиеСНастройками(ЭтаФорма); - -КонецПроцедуры - -&НаКлиентеНаСервереБезКонтекста -Процедура УстановитьЗначенияНастроекПоУмолчанию(Ю_Тест) - - Ю_Тест.ДлинаИстории = 10; - - Объект = Ю_Тест.Объект; - Объект.РегистрацияПрохожденияТестовВЖР = Ложь; - Объект.РегистрацияОшибокТестовВЖР = Ложь; - Объект.РежимОтладки = Ложь; - Объект.СлучайныйПорядокВыполнения = Ложь; - - Ю_Тест.Пути.Очистить(); - - УстановитьТипОтчетаТестирования(Ю_Тест, ""mxl""); - -КонецПроцедуры - -&НаСервере -Процедура СохранитьНастройки() - - Настройки = ХранилищеОбщихНастроек.Загрузить(""xUnitFor1C""); - Если ТипЗнч(Настройки) <> Тип(""Структура"") Тогда - Настройки = Новый Структура; - КонецЕсли; - - Настройки.Вставить(""РегистрацияПрохожденияТестовВЖР"", Объект.РегистрацияПрохожденияТестовВЖР); - Настройки.Вставить(""РегистрацияОшибокТестовВЖР"", Объект.РегистрацияОшибокТестовВЖР); - Настройки.Вставить(""РежимОтладки"", Объект.РежимОтладки); - Настройки.Вставить(""СлучайныйПорядокВыполнения"", Объект.СлучайныйПорядокВыполнения); - - Настройки.Вставить(""Пути"", Пути.ВыгрузитьЗначения()); - - Настройки.Вставить(""ДлинаИстории"", ДлинаИстории); - Настройки.Вставить(""ИсторияВыбораМест"", ИсторияВыбораМест.ВыгрузитьЗначения()); - Настройки.Вставить(""ИсторияВыбораФайлов"", ИсторияВыбораФайлов.ВыгрузитьЗначения()); - - ХранилищеОбщихНастроек.Сохранить(""xUnitFor1C"",, Настройки); - - СброситьПризнак_БылаОшибкаПриПредыдущейЗагрузкеСервер(); - -КонецПроцедуры - -&НаСервере -Процедура ВосстановитьНастройки() - - Настройки = ХранилищеОбщихНастроек.Загрузить(""xUnitFor1C""); - Если ТипЗнч(Настройки) = Тип(""Структура"") Тогда - - Настройки.Свойство(""РегистрацияПрохожденияТестовВЖР"", Объект.РегистрацияПрохожденияТестовВЖР); - Настройки.Свойство(""РегистрацияОшибокТестовВЖР"", Объект.РегистрацияОшибокТестовВЖР); - Настройки.Свойство(""РежимОтладки"", Объект.РежимОтладки); - Настройки.Свойство(""СлучайныйПорядокВыполнения"", Объект.СлучайныйПорядокВыполнения); - - Если Настройки.Свойство(""Пути"") Тогда - Пути.ЗагрузитьЗначения(Настройки.Пути); - КонецЕсли; - - Если Настройки.Свойство(""ДлинаИстории"") И ЗначениеЗаполнено(Настройки.ДлинаИстории) Тогда - ДлинаИстории = Настройки.ДлинаИстории; - КонецЕсли; - Если Настройки.Свойство(""ИсторияВыбораМест"") Тогда - ВосстановитьИсторию(Элементы.ИсторияВыбораМест.Имя, Настройки.ИсторияВыбораМест); - КонецЕсли; - Если Настройки.Свойство(""ИсторияВыбораФайлов"") Тогда - ВосстановитьИсторию(Элементы.ИсторияВыбораФайлов.Имя, Настройки.ИсторияВыбораФайлов); - КонецЕсли; - КонецЕсли; - -КонецПроцедуры - -&НаКлиентеНаСервереБезКонтекста -Процедура ПривестиИнерфейсВСоответствиеСНастройками(Ю_Тест) - - Элементы = Ю_Тест.Элементы; - Объект = Ю_Тест.Объект; - - Элементы.КомандаРегистрацияПрохожденияТестовВЖР.Пометка = Объект.РегистрацияПрохожденияТестовВЖР; - Элементы.КомандаРегистрацияОшибокТестовВЖР.Пометка = Объект.РегистрацияОшибокТестовВЖР; - Элементы.КомандаСлучайныйПорядокВыполнения.Пометка = Объект.СлучайныйПорядокВыполнения; - Элементы.КомандаВключитьРежимОтладки.Пометка = Объект.РежимОтладки; - -КонецПроцедуры - -&НаСервере -Процедура СброситьПризнак_БылаОшибкаПриПредыдущейЗагрузкеСервер() - Объект().УстановитьНастройку_БылаОшибкаПриПредыдущейЗагрузке(Ложь); -КонецПроцедуры - -//////////////////////////////////////////////////////////////////////////////// -// ПРОЦЕДУРЫ И ФУНКЦИИ ОБЩЕГО НАЗНАЧЕНИЯ - -&НаКлиенте -Функция ФорматДСО(ДопСообщениеОшибки) - Если ДопСообщениеОшибки = """" Тогда - Возврат """"; - КонецЕсли; - - Возврат Символы.ПС + ДопСообщениеОшибки; -КонецФункции - -&НаКлиенте -Функция Новый_НаборТестов() Экспорт - Возврат Новый Массив; -КонецФункции - -&НаКлиенте -Функция НаборТестов_Добавить(НаборТестов, ИмяТестовогоСлучая, П1 = Неопределено, П2 = Неопределено, П3 = Неопределено, - П4 = Неопределено, П5 = Неопределено, П6 = Неопределено, П7 = Неопределено) Экспорт - НаборТестов.Добавить(ИмяТестовогоСлучая); - - Возврат НаборТестов; -КонецФункции - -&НаКлиентеНаСервереБезКонтекста -Функция ЕстьОшибка_МетодОбъектаНеОбнаружен(текстОшибки, имяМетода) - Возврат Найти(ТекстОшибки, ""Метод объекта не обнаружен ("" + ИмяМетода + "")"") > 0 - Или Найти(ТекстОшибки, ""Object method not found ("" + ИмяМетода + "")"") > 0; -КонецФункции - -// Функция ДополнитьСлешВПуть -// -// Параметры: -// ИмяКаталога -// -// Описание: -// Функция дополняет и возвращает слеш в путь в конец строки, если он отсутствует -// -&НаКлиенте -Функция ДополнитьСлешВПуть(Знач Каталог) - разделитель = ""\""; - - СисИнфо = Новый СистемнаяИнформация; - Если Найти(Строка(СисИнфо.ТипПлатформы), ""Linux"")>0 Тогда - разделитель = ""/""; - КонецЕсли; - - Если Прав(Каталог, 1) <> разделитель Тогда - Каталог = Каталог + разделитель; - КонецЕсли; - Возврат Каталог; -КонецФункции - - -// } - - -// Экспорт нужен для тестов -&НаКлиенте -Функция ОткрытьИнструмент(ИмяИнструмента) Экспорт - - Если Не ЭтоВстроеннаяОбработка Тогда - Если ЕстьПоддержкаАсинхронныхВызовов Тогда - Оповещение = Вычислить(""Новый ОписаниеОповещения(""""ОткрытьИнструментПослеПоискаЗапускателяТестов"""", ЭтотОбъект, ИмяИнструмента)""); - Выполнить(""НачатьПоискФайлов(Оповещение, ИспользуемоеИмяФайла);""); - Иначе - НайденныеФайлы = НайтиФайлы(ИспользуемоеИмяФайла); - Возврат ОткрытьИнструментПослеПоискаЗапускателяТестов(НайденныеФайлы, ИмяИнструмента); - КонецЕсли; - Иначе - ИмяОбработки = ИмяИнструмента; - Если Не ЕстьВстроеннаяОбработкаСервер(ИмяОбработки) Тогда - Сообщить(СтрЗаменить(НСтр(""ru = 'Инструмент/встроенная обработка <%1> не найден в конфигурации'""), ""%1"", ИмяИнструмента)); - Возврат Неопределено; - КонецЕсли; - Возврат ОткрытьИнструментПослеПолученияОбработки(ИмяОбработки, ИмяИнструмента); - КонецЕсли; - -КонецФункции - -&НаКлиенте -Функция ОткрытьИнструментПослеПоискаЗапускателяТестов(НайденныеФайлы, ИмяИнструмента) Экспорт - - Если НайденныеФайлы.Количество() = 0 Тогда - Сообщить(НСтр(""ru = 'Не удалось найти путь к xddTestRunner'"")); - Сообщить(СтрЗаменить(НСтр(""ru = 'Не удалось открыть инструмент <%1>'""), ""%1"", ИмяИнструмента)); - Возврат Неопределено; - КонецЕсли; - - ПутьВнешнихИнструментов = НайденныеФайлы[0].Путь; - - ПутьИнструмента = ПутьВнешнихИнструментов + ИмяИнструмента + "".epf""; - ДополнительныеПараметры = Новый Структура; - ДополнительныеПараметры.Вставить(""ИмяИнструмента"", ИмяИнструмента); - ДополнительныеПараметры.Вставить(""ПутьИнструмента"", ПутьИнструмента); - ДополнительныеПараметры.Вставить(""ПутьВнешнихИнструментов"", ПутьВнешнихИнструментов); - Если ЕстьПоддержкаАсинхронныхВызовов Тогда - Оповещение = Вычислить(""Новый ОписаниеОповещения(""""ОткрытьИнструментПослеПоискаИнструмента"""", ЭтотОбъект, ДополнительныеПараметры)""); - Выполнить(""НачатьПоискФайлов(Оповещение, ПутьИнструмента);""); - Иначе - НайденныеФайлы = НайтиФайлы(ИспользуемоеИмяФайла); - Возврат ОткрытьИнструментПослеПоискаИнструмента(НайденныеФайлы, ДополнительныеПараметры); - КонецЕсли; - -КонецФункции - -&НаКлиенте -Функция ОткрытьИнструментПослеПоискаИнструмента(НайденныеФайлы, ДополнительныеПараметры) Экспорт - - ИмяИнструмента = ДополнительныеПараметры.ИмяИнструмента; - ПутьИнструмента = ДополнительныеПараметры.ПутьИнструмента; - Если НайденныеФайлы.Количество() = 0 Тогда - Сообщить(СтрЗаменить(СтрЗаменить(НСтр(""ru = 'Инструмент <%1> не найден в каталоге <%2>'""), ""%1"", ИмяИнструмента), ""%2"", ПутьИнструмента)); - Возврат Неопределено; - КонецЕсли; - - ИмяОбработки = ПодключитьНаСервереВнешнююОбработкуОтКлиента(ПутьИнструмента, Строка(Новый УникальныйИдентификатор())); - Возврат ОткрытьИнструментПослеПолученияОбработки(ИмяОбработки, ИмяИнструмента, ДополнительныеПараметры.ПутьВнешнихИнструментов); - -КонецФункции - -&НаКлиенте -Функция ОткрытьИнструментПослеПолученияОбработки(ИмяОбработки, ИмяИнструмента, ПутьВнешнихИнструментов = """") - - ИмяОсновнойУправляемойФормы = ПолучитьИмяОсновнойУправляемойФормы(ИмяОбработки); - Если ИмяОсновнойУправляемойФормы = """" Тогда - Сообщить(СтрЗаменить(НСтр(""ru = 'Инструмент <%1>: не удалось вычислить основную управляемую форму по метаданным!'""), ""%1"", ИмяИнструмента)); - Возврат Неопределено; - КонецЕсли; - - ИдентификаторИнструмента = ?(ЭтоВстроеннаяОбработка, ""Обработка"", ""ВнешняяОбработка"") + ""."" + ИмяОбработки; - ФормаИнструмента = ПолучитьФорму(ИдентификаторИнструмента + "".Форма."" + ИмяОсновнойУправляемойФормы); - Если ФормаИнструмента = Неопределено Тогда - Сообщить(СтрЗаменить(НСтр(""ru = 'Инструмент <%1>: не удалось получить основную управляемую форму!'""), ""%1"", ИмяИнструмента)); - Возврат Неопределено; - КонецЕсли; - - Если Не ЭтоВстроеннаяОбработка Тогда - Попытка - ФормаИнструмента.ПутьОбработкиЗапускателяТестов = ПутьВнешнихИнструментов; - Исключение - КонецПопытки; - КонецЕсли; - - ОткрытьФорму(ФормаИнструмента); - Возврат ФормаИнструмента; - -КонецФункции - -&НаКлиенте -Функция МетаданныеИмя() Экспорт - Возврат МетаданныеИмяСервер(); -КонецФункции - -&НаСервере -Функция МетаданныеИмяСервер() - ОсновнойОбъект = Объект(); - НайденноеИмя = ОсновнойОбъект.Метаданные().Имя; - - Возврат НайденноеИмя; -КонецФункции - - - -&НаКлиенте -Процедура ИнициализироватьИндикаторВыполнения(КоличествоТестовыхСлучаев = 0) - - Элементы.ИндикаторВыполнения.МаксимальноеЗначение = КоличествоТестовыхСлучаев; - ИндикаторВыполнения = 0; //Элементы.ИндикаторВыполнения.Значение = 1; - Элементы.ИндикаторВыполнения.ЦветРамки = Новый Цвет(0, 174, 0); // Зеленый. - - ОбновитьОтображениеДанных(); -КонецПроцедуры - -&НаКлиентеНаСервереБезКонтекста -// Сравнить две строки версий. -// -// Параметры -// СтрокаВерсии1 - Строка - номер версии в формате РР.{П|ПП}.ЗЗ.СС -// СтрокаВерсии2 - Строка - второй сравниваемый номер версии -// -// Возвращаемое значение: -// Число - больше 0, если СтрокаВерсии1 > СтрокаВерсии2; 0, если версии равны. -// -Функция СравнитьВерсии(Знач СтрокаВерсии1, Знач СтрокаВерсии2) Экспорт - - Строка1 = ?(ПустаяСтрока(СтрокаВерсии1), ""0.0.0.0"", СтрокаВерсии1); - Строка2 = ?(ПустаяСтрока(СтрокаВерсии2), ""0.0.0.0"", СтрокаВерсии2); - Версия1 = РазложитьСтрокуВМассивПодстрок(Строка1, "".""); - Если Версия1.Количество() <> 4 Тогда - ВызватьИсключение СтрЗаменить(НСтр(""ru = 'Неправильный формат параметра СтрокаВерсии1: %1'""), ""%1"", СтрокаВерсии1); - КонецЕсли; - Версия2 = РазложитьСтрокуВМассивПодстрок(Строка2, "".""); - Если Версия2.Количество() <> 4 Тогда - ВызватьИсключение СтрЗаменить(НСтр(""ru = 'Неправильный формат параметра СтрокаВерсии2: %1'""), ""%1"", СтрокаВерсии2); - КонецЕсли; - - Результат = 0; - Для Разряд = 0 По 3 Цикл - Результат = Число(Версия1[Разряд]) - Число(Версия2[Разряд]); - Если Результат <> 0 Тогда - Возврат Результат; - КонецЕсли; - КонецЦикла; - Возврат Результат; - -КонецФункции - -&НаКлиентеНаСервереБезКонтекста -Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = "","", Знач ПропускатьПустыеСтроки = Неопределено, СокращатьНепечатаемыеСимволы = Ложь) Экспорт - - Результат = Новый Массив; - - // для обеспечения обратной совместимости - Если ПропускатьПустыеСтроки = Неопределено Тогда - ПропускатьПустыеСтроки = ?(Разделитель = "" "", Истина, Ложь); - Если ПустаяСтрока(Строка) Тогда - Если Разделитель = "" "" Тогда - Результат.Добавить(""""); - КонецЕсли; - Возврат Результат; - КонецЕсли; - КонецЕсли; - // - - Позиция = Найти(Строка, Разделитель); - Пока Позиция > 0 Цикл - Подстрока = Лев(Строка, Позиция - 1); - Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Подстрока) Тогда - Если СокращатьНепечатаемыеСимволы Тогда - Результат.Добавить(СокрЛП(Подстрока)); - Иначе - Результат.Добавить(Подстрока); - КонецЕсли; - КонецЕсли; - Строка = Сред(Строка, Позиция + СтрДлина(Разделитель)); - Позиция = Найти(Строка, Разделитель); - КонецЦикла; - - Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Строка) Тогда - Если СокращатьНепечатаемыеСимволы Тогда - Результат.Добавить(СокрЛП(Строка)); - Иначе - Результат.Добавить(Строка); - КонецЕсли; - КонецЕсли; - - Возврат Результат; - -КонецФункции - -&НаКлиентеНаСервереБезКонтекста -Функция СкопироватьСтруктуру(Знач Источник, Знач СписокПолей = """", Знач ИсключаемыеПоля = """") - - Если Не ПустаяСтрока(СписокПолей) Тогда - Приемник = Новый Структура(СписокПолей); - ЗаполнитьЗначенияСвойств(Приемник, Источник); - Иначе - Если ПустаяСтрока(ИсключаемыеПоля) Тогда - Исключить = Новый Структура; - Иначе - Исключить = Новый Структура(ИсключаемыеПоля); - КонецЕсли; - Приемник = Новый Структура; - Для Каждого КлючЗначение Из Источник Цикл - Если Не Исключить.Свойство(КлючЗначение.Ключ) Тогда - Приемник.Вставить(КлючЗначение.Ключ, КлючЗначение.Значение); - КонецЕсли; - КонецЦикла; - КонецЕсли; - - Возврат Приемник; - -КонецФункции - -//} -", -{4,30, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",9176d5a2-441b-4c0a-b8b7-bf86d41bf1d9} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,4, -{1, -{0,07f739b4-709b-41bf-8096-032bddefd0f9} -}, -{1, -{0,092b3fc1-7ced-4d20-8a28-79b535f8a9c4} -}, -{1, -{0,a2724854-2f5c-4048-b7b2-02cbb9cb7fa3} -}, -{1, -{0,e46a4b91-3cc7-4188-b6f0-96c31aa42e19} -} -},1,0,0,0, -{0,0}, -{0,0} -}, -{9, -{2},0,"Пути", -{1,2, -{"en","Path to test cases"}, -{"ru","Пути к тестовым случаям"} -}, -{"Pattern", -{"#",4772b3b4-f4a3-49c0-a1a5-8cb5961511a3} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,1, -{0} -},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{5},0,"ЗначенияТиповСтроки", -{1,1, -{"ru","Значения типов строки"} -}, -{"Pattern"}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{6},0,"ЗначенияСостоянияТестов", -{1,1, -{"ru","Значения состояния тестов"} -}, -{"Pattern"}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{4},0,"ПутиНадпись", -{1,1, -{"ru","Пути надпись"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{8},0,"АдресВХИнформатор", -{1,1, -{"ru","Адрес ВХ Информатор"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{9},0,"ЗначениеМодульИлиФорма", -{1,1, -{"ru","Значение модуль или форма"} -}, -{"Pattern"}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{10},0,"ВсегоТестов", -{1,1, -{"ru","Всего тестов"} -}, -{"Pattern", -{"N",10,0,0} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{11},0,"СписокОшибок", -{1,1, -{"ru","Список ошибок"} -}, -{"Pattern", -{"#",4772b3b4-f4a3-49c0-a1a5-8cb5961511a3} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{12},0,"ПутьОтчетаТестирования", -{1,1, -{"ru","Путь отчета тестирования"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{13},0,"ТипОтчетаОТестировании", -{1,1, -{"ru","Тип отчета о тестировании"} -}, -{"Pattern", -{"S",10,1} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{7},0,"ЗапретИспользованияИнформатора", -{1,1, -{"ru","Запрет использования информатора"} -}, -{"Pattern", -{"B"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{14},0,"ВерсияПлатформы", -{1,1, -{"ru","Версия платформы"} -}, -{"Pattern", -{"S",3,1} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{15},0,"ТаблицаИменаФорм", -{1,1, -{"ru","Таблица имена форм"} -}, -{"Pattern", -{"#",acf6192e-81ca-46ef-93a6-5a6968b78663} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,4, -{5,1,0,"ИмяОбъекта", -{1,1, -{"ru","Имя объекта"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,2,0,"ИмяФормы", -{1,1, -{"ru","Имя формы"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,3,0,"GUID", -{1,1, -{"ru","GUID"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,4,0,"ОсновнаяФорма", -{1,1, -{"ru","Основная форма"} -}, -{"Pattern", -{"B"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{0,0}, -{0,0} -}, -{9, -{16},0,"ИндикаторВыполнения", -{1,1, -{"ru","Индикатор выполнения"} -}, -{"Pattern", -{"N",10,0,0} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{17},0,"ОчередьОповещений", -{1,1, -{"ru","Очередь оповещений"} -}, -{"Pattern", -{"#",4772b3b4-f4a3-49c0-a1a5-8cb5961511a3} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{18},0,"ИмяВнешнейОбработки", -{1,1, -{"ru","Имя внешней обработки (используется для запуска внешних инструментов)"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{19},0,"ЭтоВстроеннаяОбработка", -{1,1, -{"ru","Это встроенная обработка"} -}, -{"Pattern", -{"B"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{21},0,"СтрокаДереваТестовОтладки", -{1,1, -{"ru","Строка дерева тестов отладки"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{22},0,"ЕстьПоддержкаНемодальныхФорм", -{1,1, -{"ru","Есть поддержка немодальных форм"} -}, -{"Pattern", -{"B"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{23},0,"ИсторияВыбораМест", -{1,1, -{"ru","История выбора мест"} -}, -{"Pattern", -{"#",4772b3b4-f4a3-49c0-a1a5-8cb5961511a3} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,1,"ElementType", -{"#",f5c65050-3bbb-11d5-b988-0050bae0a95d, -{"Pattern", -{"S"} -} -} -}, -{0,0} -}, -{9, -{24},0,"ДлинаИстории", -{1,1, -{"ru","Длина истории"} -}, -{"Pattern", -{"N",10,0,1} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{25},0,"ИсторияВыбораФайлов", -{1,1, -{"ru","История выбора файлов"} -}, -{"Pattern", -{"#",4772b3b4-f4a3-49c0-a1a5-8cb5961511a3} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,1,"ElementType", -{"#",f5c65050-3bbb-11d5-b988-0050bae0a95d, -{"Pattern", -{"S"} -} -} -}, -{0,0} -}, -{9, -{26},0,"ЭтоЗапускВПакетномРежиме", -{1,1, -{"ru","Это запуск в пакетном режиме"} -}, -{"Pattern", -{"B"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{27},0,"СтатусыРезультатаТестирования", -{1,1, -{"ru","Статусы результата тестирования"} -}, -{"Pattern"}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{3},0,"БылаОшибкаПриПредыдущейЗагрузке", -{1,1, -{"ru","Была ошибка при предыдущей загрузке"} -}, -{"Pattern", -{"B"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{20},0,"АдресОбъектаНаСервере", -{1,1, -{"ru","Адрес объекта на сервере"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{28},0,"ИспользуемоеИмяФайла", -{1,1, -{"ru","Используемое имя файла"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{29},0,"ЕстьПоддержкаАсинхронныхВызовов", -{1,1, -{"ru","Есть поддержка асинхронных вызовов"} -}, -{"Pattern", -{"B"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -}, -{9, -{30},0,"ОчередьЗагрузки", -{1,1, -{"ru","Очередь загрузки"} -}, -{"Pattern", -{"#",4772b3b4-f4a3-49c0-a1a5-8cb5961511a3} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,0, -{0,0}, -{0,0} -},1, -{0, -{2, -{1}, -{0,74ab8988-f52c-40cb-9b09-66a817b93074} -},18, -{5,1,0,"Имя", -{1,1, -{"ru","Имя"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,2,0,"ВремяВыполнения", -{1,1, -{"ru","Время выполнения"} -}, -{"Pattern", -{"N",10,0,0} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,3,0,"ПолныйПуть", -{1,1, -{"ru","Полный путь"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,4,0,"ТипСтроки", -{1,1, -{"ru","Тип строки"} -}, -{"Pattern", -{"N",10,0,0} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,5,0,"Состояние", -{1,1, -{"ru","Состояние"} -}, -{"Pattern", -{"N",10,0,0} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,6,0,"ТестовыйСлучайОбъектМетаданныхИмя", -{1,1, -{"ru","Имя объекта метданных Тестового случая (внешней обработки)"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,7,0,"_GUID", -{1,1, -{"ru","GUID"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,8,0,"МодульИлиФорма", -{1,1, -{"ru","Модуль или форма"} -}, -{"Pattern", -{"N",3,0,1} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,9,0,"ПараметрыТеста", -{1,0}, -{"Pattern"}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,10,0,"ЕстьПараметрыТеста", -{1,1, -{"ru","Есть параметры теста"} -}, -{"Pattern", -{"B"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,11,0,"ИмяТестовогоСлучая", -{1,1, -{"ru","Имя тестового случая"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,12,0,"ПредставлениеПути", -{1,1, -{"ru","Представление пути"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,13,0,"ИмяОсновнойУправляемойФормы", -{1,1, -{"ru","Имя основной управляемой формы"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,14,0,"КоличествоТестов", -{1,1, -{"ru","Количество тестов"} -}, -{"Pattern", -{"N",10,0,1} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,15,0,"ЭтоВнутренняяОбработка", -{1,1, -{"ru","Это внутренняя обработка"} -}, -{"Pattern", -{"B"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,18,0,"РазрешенСлучайныйПорядокВыполнения", -{1,1, -{"ru","Разрешен случайный порядок выполнения"} -}, -{"Pattern", -{"B"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,16,0,"ИмяТестовогоНабора", -{1,1, -{"ru","Имя тестового набора"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,17,0,"СписокОшибок", -{1,1, -{"ru","Список ошибок"} -}, -{"Pattern", -{"#",4772b3b4-f4a3-49c0-a1a5-8cb5961511a3} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0} -},0, -{#base64:77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxTZXR0 -aW5ncyB4bWxucz0iaHR0cDovL3Y4LjFjLnJ1LzguMS9kYXRhLWNvbXBvc2l0aW9u -LXN5c3RlbS9zZXR0aW5ncyIgeG1sbnM6ZGNzY29yPSJodHRwOi8vdjguMWMucnUv -OC4xL2RhdGEtY29tcG9zaXRpb24tc3lzdGVtL2NvcmUiIHhtbG5zOnN0eWxlPSJo -dHRwOi8vdjguMWMucnUvOC4xL2RhdGEvdWkvc3R5bGUiIHhtbG5zOnN5cz0iaHR0 -cDovL3Y4LjFjLnJ1LzguMS9kYXRhL3VpL2ZvbnRzL3N5c3RlbSIgeG1sbnM6djg9 -Imh0dHA6Ly92OC4xYy5ydS84LjEvZGF0YS9jb3JlIiB4bWxuczp2OHVpPSJodHRw -Oi8vdjguMWMucnUvOC4xL2RhdGEvdWkiIHhtbG5zOndlYj0iaHR0cDovL3Y4LjFj -LnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93ZWIiIHhtbG5zOndpbj0iaHR0cDovL3Y4 -LjFjLnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93aW5kb3dzIiB4bWxuczp4cz0iaHR0 -cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDov -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,1, -{0,"Пути", -{"Pattern", -{"#",4772b3b4-f4a3-49c0-a1a5-8cb5961511a3} -},0} -}, -{0,18, -{6, -{1,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"КомандаЗагрузитьТестовыйНабор", -{1,1, -{"ru","Загрузить наборы"} -}, -{1,1, -{"ru","Загрузить тестовые случаи из указанного каталога"} -}, -{0, -{0, -{"B",1},0} -}, -{0,0,0}, -{3,0, -{0},"",-1,-1,1,0},"КомандаЗагрузитьТестовыйНабор",2,0,0, -{0,0} -}, -{6, -{2,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"КомандаЗагрузитьТестовыеСлучаи", -{1,1, -{"ru","Загрузить тесты из файла"} -}, -{1,1, -{"ru","Загрузить выбранные тестовые случаи из файла"} -}, -{0, -{0, -{"B",1},0} -}, -{0,0,0}, -{3,0, -{0},"",-1,-1,1,0},"КомандаЗагрузитьТестовыеСлучаи",2,0,0, -{0,0} -}, -{6, -{3,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"КомандаВыполнитьВсеТесты", -{1,1, -{"ru","Выполнить все тесты (F7)"} -}, -{1,1, -{"ru","Команда выполнить все тесты"} -}, -{0, -{0, -{"B",1},0} -}, -{0,118,0}, -{3,0, -{0},"",-1,-1,1,0},"КомандаВыполнитьВсеТесты",2,0,0, -{0,0} -}, -{6, -{4,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"КомандаПерезагрузитьВсеТесты", -{1,1, -{"ru","Перезагрузить"} -}, -{1,1, -{"ru","Команда перезагрузить все тесты"} -}, -{0, -{0, -{"B",1},0} -}, -{0,82,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)"} -}, -{1,1, -{"ru","Команда выполнить выделенные тесты"} -}, -{0, -{0, -{"B",1},0} -}, -{0,0,0}, -{3,1, -{0,0ce78048-0196-4f80-a781-9829cdb7f43e},"",-1,-1,1,0},"КомандаВыполнитьВыделенныеТесты",2,0,0, -{0,0} -}, -{6, -{6,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"ОПроекте", -{1,1, -{"ru","О проекте xUnitFor1C"} -}, -{1,1, -{"ru","О проекте xUnitFor1C"} -}, -{0, -{0, -{"B",1},0} -}, -{0,0,0}, -{3,1, -{0,3b2a508b-f36e-4e0b-9dc0-70b2b56276a9},"",-1,-1,1,0},"ОПроекте",2,0,0, -{0,0} -}, -{6, -{7,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"ГенераторМакетовДанных", -{1,1, -{"ru","Генератор макетов данных"} -}, -{1,1, -{"ru","Генератор макетов данных на базе реальных данных"} -}, -{0, -{0, -{"B",1},0} -}, -{0,0,0}, -{3,0, -{0},"",-1,-1,1,0},"ГенераторМакетовДанных",3,0,0, -{0,0} -}, -{6, -{8,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"ПоказатьГУИД", -{1,1, -{"ru","Показать ГУИД"} -}, -{1,1, -{"ru","Показать ГУИД"} -}, -{0, -{0, -{"B",1},0} -}, -{0,0,0}, -{3,0, -{0},"",-1,-1,1,0},"ПоказатьГУИД",3,0,0, -{0,0} -}, -{6, -{9,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"КомандаЗагрузитьТестыИзКонфигурации", -{1,1, -{"ru","Загрузить тесты из конфигурации"} -}, -{1,1, -{"ru","Загрузить тесты из конфигурации"} -}, -{0, -{0, -{"B",1},0} -}, -{0,0,0}, -{3,0, -{0},"",-1,-1,1,0},"КомандаЗагрузитьТестыИзКонфигурации",3,0,0, -{0,0} -}, -{6, -{10,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"КомандаЗагрузитьТестыИзКонфигурацииПоИмени", -{1,1, -{"ru","Загрузить тесты из конфигурации (имя теста начинается на Тест_*)"} -}, -{1,1, -{"ru","Загрузить тесты из конфигурации (имя теста начинается на Тест_*)"} -}, -{0, -{0, -{"B",1},0} -}, -{0,0,0}, -{3,0, -{0},"",-1,-1,1,0},"КомандаЗагрузитьТестыИзКонфигурацииПоИмени",3,0,0, -{0,0} -}, -{6, -{11,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"КомандаЗагрузитьТолькоВыделенныеТесты", -{1,1, -{"ru","Загрузить только выделенные тесты"} -}, -{1,1, -{"ru","Команда загрузить только выделенные тесты"} -}, -{0, -{0, -{"B",1},0} -}, -{0,0,0}, -{3,0, -{0},"",-1,-1,1,0},"КомандаЗагрузитьТолькоВыделенныеТесты",3,0,0, -{0,0} -}, -{6, -{12,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"КомандаРегистрацияПрохожденияТестовВЖР", -{1,1, -{"ru","Отметка о прогоне тестов в журнале регистрации"} -}, -{1,1, -{"ru","Отметка о прогоне тестов в журнале регистрации"} -}, -{0, -{0, -{"B",1},0} -}, -{0,0,0}, -{3,0, -{0},"",-1,-1,1,0},"КомандаРегистрацияПрохожденияТестовВЖР",3,0,0, -{0,0} -}, -{6, -{13,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"КомандаРегистрацияОшибокТестовВЖР", -{1,1, -{"ru","Отметка об ошибках тестов в журнале регистрации"} -}, -{1,1, -{"ru","Отметка об ошибках тестов в журнале регистрации"} -}, -{0, -{0, -{"B",1},0} -}, -{0,0,0}, -{3,0, -{0},"",-1,-1,1,0},"КомандаРегистрацияОшибокТестовВЖР",3,0,0, -{0,0} -}, -{6, -{14,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"КомандаВыполнятьТестыВСлучайномПорядке", -{1,1, -{"ru","Выполнение тестов в случайном порядке"} -}, -{1,1, -{"ru","Команда выполнять тесты в случайном порядке"} -}, -{0, -{0, -{"B",1},0} -}, -{0,0,0}, -{3,0, -{0},"",-1,-1,1,0},"КомандаВыполнятьТестыВСлучайномПорядке",3,0,0, -{0,0} -}, -{6, -{15,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"КомандаПерезагрузитьФорму", -{1,1, -{"ru","Перезагрузить браузер тестирования"} -}, -{1,1, -{"ru","Команда перезагрузить форму"} -}, -{0, -{0, -{"B",1},0} -}, -{0,0,0}, -{3,0, -{0},"",-1,-1,1,0},"КомандаПерезагрузитьФорму",3,0,0, -{0,0} -}, -{6, -{16,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"КомандаВключитьРежимОтладки", -{1,1, -{"ru","Команда включить режим отладки"} -}, -{1,1, -{"ru","Команда включить режим отладки"} -}, -{0, -{0, -{"B",1},0} -}, -{0,0,0}, -{3,0, -{0},"",-1,-1,1,0},"КомандаВключитьРежимОтладки",3,0,0, -{0,0} -}, -{6, -{17,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"КомандаВыполнитьВыделенныеТестыСИсключением", -{1,1, -{"ru","Выполнить выделенные тесты с исключением"} -}, -{1,1, -{"ru","Выполнить выделенные тесты с исключением"} -}, -{0, -{0, -{"B",1},0} -}, -{0,0,0}, -{3,0, -{0},"",-1,-1,1,0},"КомандаВыполнитьВыделенныеТестыСИсключением",3,0,0, -{0,0} -}, -{6, -{18,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"ПоказатьОшибки", -{1,1, -{"ru","Показать ошибки"} -}, -{1,1, -{"ru","Показать ошибки"} -}, -{0, -{0, -{"B",1},0} -}, -{0,0,0}, -{3,0, -{0},"",-1,-1,1,0},"ПоказатьОшибки",3,0,0, -{0,0} -} -}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git a/src/xddTestRunner/und/bffaa180-64bd-40f2-bf0a-2915b892a8d5 b/src/xddTestRunner/und/bffaa180-64bd-40f2-bf0a-2915b892a8d5 deleted file mode 100644 index 98a66f03..00000000 --- a/src/xddTestRunner/und/bffaa180-64bd-40f2-bf0a-2915b892a8d5 +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,4, -{0, -{0,0,bffaa180-64bd-40f2-bf0a-2915b892a8d5},"Макет", -{1,"ru","Макет"},""} -},0} \ No newline at end of file diff --git a/src/xddTestRunner/und/bffaa180-64bd-40f2-bf0a-2915b892a8d5.0 b/src/xddTestRunner/und/bffaa180-64bd-40f2-bf0a-2915b892a8d5.0 deleted file mode 100644 index b459f5f3..00000000 --- a/src/xddTestRunner/und/bffaa180-64bd-40f2-bf0a-2915b892a8d5.0 +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/xddTestRunner/und/copyinfo b/src/xddTestRunner/und/copyinfo index dd5e8ad6..9a12db1e 100644 --- a/src/xddTestRunner/und/copyinfo +++ b/src/xddTestRunner/und/copyinfo @@ -1,41 +1,19 @@ {4, -{9, -{01263d20-0019-4e8a-af76-b48319dacdef,01263d20-0019-4e8a-af76-b48319dacdef,1, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"ЗапретИспользованияИнформатора"} -}, -{07f739b4-709b-41bf-8096-032bddefd0f9,07f739b4-709b-41bf-8096-032bddefd0f9,1, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"РегистрацияПрохожденияТестовВЖР"} -}, -{092b3fc1-7ced-4d20-8a28-79b535f8a9c4,092b3fc1-7ced-4d20-8a28-79b535f8a9c4,1, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"СлучайныйПорядокВыполнения"} -}, +{3, {11ad5c96-c434-4088-bf66-ddff06c57ed8,11ad5c96-c434-4088-bf66-ddff06c57ed8,1, {c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"xddTestRunner"} }, -{74ab8988-f52c-40cb-9b09-66a817b93074,74ab8988-f52c-40cb-9b09-66a817b93074,1, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"ДеревоТестов"} -}, -{7e542ac7-435a-4390-85c5-964b3a399bee,7e542ac7-435a-4390-85c5-964b3a399bee,1, -{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"УправляемаяФорма"} -}, {a1ce7ef7-f372-4589-b899-7fbf88efa7bf,a1ce7ef7-f372-4589-b899-7fbf88efa7bf,1, {d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} }, -{a2724854-2f5c-4048-b7b2-02cbb9cb7fa3,a2724854-2f5c-4048-b7b2-02cbb9cb7fa3,1, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"РежимОтладки"} -}, -{e46a4b91-3cc7-4188-b6f0-96c31aa42e19,e46a4b91-3cc7-4188-b6f0-96c31aa42e19,1, -{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"РегистрацияОшибокТестовВЖР"} +{ed07b230-8bf7-4423-b861-a31f23c7471f,ed07b230-8bf7-4423-b861-a31f23c7471f,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"УправляемаяФорма"} } }, {1, {9176d5a2-441b-4c0a-b8b7-bf86d41bf1d9,11ad5c96-c434-4088-bf66-ddff06c57ed8,0} }, -{22, -{ -{0,01263d20-0019-4e8a-af76-b48319dacdef},9176d5a2-441b-4c0a-b8b7-bf86d41bf1d9, -{-1} -}, +{10, { {0,07f739b4-709b-41bf-8096-032bddefd0f9},9176d5a2-441b-4c0a-b8b7-bf86d41bf1d9, {-1} @@ -45,10 +23,6 @@ {-1} }, { -{0,74ab8988-f52c-40cb-9b09-66a817b93074},9176d5a2-441b-4c0a-b8b7-bf86d41bf1d9, -{-1} -}, -{ {0,a2724854-2f5c-4048-b7b2-02cbb9cb7fa3},9176d5a2-441b-4c0a-b8b7-bf86d41bf1d9, {-1} }, @@ -61,64 +35,24 @@ {1} }, { -{1,5bdad865-f2c5-434b-8041-ba4aad3b6687},e603c0f2-92fb-4d47-8f38-a44a381cf235, -{1,5bdad865-f2c5-434b-8041-ba4aad3b6687} -}, -{ {2},e603c0f2-92fb-4d47-8f38-a44a381cf235, {2} }, { -{2,5bdad865-f2c5-434b-8041-ba4aad3b6687},e603c0f2-92fb-4d47-8f38-a44a381cf235, -{2,5bdad865-f2c5-434b-8041-ba4aad3b6687} -}, -{ {3},e603c0f2-92fb-4d47-8f38-a44a381cf235, {3} }, { -{3,5bdad865-f2c5-434b-8041-ba4aad3b6687},e603c0f2-92fb-4d47-8f38-a44a381cf235, -{3,5bdad865-f2c5-434b-8041-ba4aad3b6687} -}, -{ -{4,5bdad865-f2c5-434b-8041-ba4aad3b6687},e603c0f2-92fb-4d47-8f38-a44a381cf235, -{4,5bdad865-f2c5-434b-8041-ba4aad3b6687} -}, -{ -{5,5bdad865-f2c5-434b-8041-ba4aad3b6687},e603c0f2-92fb-4d47-8f38-a44a381cf235, -{5,5bdad865-f2c5-434b-8041-ba4aad3b6687} -}, -{ -{6,5bdad865-f2c5-434b-8041-ba4aad3b6687},e603c0f2-92fb-4d47-8f38-a44a381cf235, -{6,5bdad865-f2c5-434b-8041-ba4aad3b6687} -}, -{ -{7,5bdad865-f2c5-434b-8041-ba4aad3b6687},e603c0f2-92fb-4d47-8f38-a44a381cf235, -{7,5bdad865-f2c5-434b-8041-ba4aad3b6687} -}, -{ -{8,5bdad865-f2c5-434b-8041-ba4aad3b6687},e603c0f2-92fb-4d47-8f38-a44a381cf235, -{8,5bdad865-f2c5-434b-8041-ba4aad3b6687} -}, -{ -{9,5bdad865-f2c5-434b-8041-ba4aad3b6687},e603c0f2-92fb-4d47-8f38-a44a381cf235, -{9,5bdad865-f2c5-434b-8041-ba4aad3b6687} -}, -{ -{10,5bdad865-f2c5-434b-8041-ba4aad3b6687},e603c0f2-92fb-4d47-8f38-a44a381cf235, -{10,5bdad865-f2c5-434b-8041-ba4aad3b6687} -}, -{ -{11,5bdad865-f2c5-434b-8041-ba4aad3b6687},e603c0f2-92fb-4d47-8f38-a44a381cf235, -{11,5bdad865-f2c5-434b-8041-ba4aad3b6687} +{4},e603c0f2-92fb-4d47-8f38-a44a381cf235, +{4} }, { -{12,5bdad865-f2c5-434b-8041-ba4aad3b6687},e603c0f2-92fb-4d47-8f38-a44a381cf235, -{12,5bdad865-f2c5-434b-8041-ba4aad3b6687} +{5},e603c0f2-92fb-4d47-8f38-a44a381cf235, +{5} }, { -{14,5bdad865-f2c5-434b-8041-ba4aad3b6687},e603c0f2-92fb-4d47-8f38-a44a381cf235, -{14,5bdad865-f2c5-434b-8041-ba4aad3b6687} +{6},e603c0f2-92fb-4d47-8f38-a44a381cf235, +{6} } }, {0,0}, diff --git a/src/xddTestRunner/und/d96a737c-e997-4182-9c28-c8dfa763aa8f b/src/xddTestRunner/und/d96a737c-e997-4182-9c28-c8dfa763aa8f deleted file mode 100644 index 731c6b47..00000000 --- a/src/xddTestRunner/und/d96a737c-e997-4182-9c28-c8dfa763aa8f +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,d96a737c-e997-4182-9c28-c8dfa763aa8f},"ФормаВыбораПодсистемУФ", -{1,"ru","Форма выбора подсистем УФ"},""},0,1}, -{0} -} -},0} \ No newline at end of file diff --git a/src/xddTestRunner/und/d96a737c-e997-4182-9c28-c8dfa763aa8f.0 b/src/xddTestRunner/und/d96a737c-e997-4182-9c28-c8dfa763aa8f.0 deleted file mode 100644 index 7ce780f9..00000000 --- a/src/xddTestRunner/und/d96a737c-e997-4182-9c28-c8dfa763aa8f.0 +++ /dev/null @@ -1,492 +0,0 @@ -{2, -{28,0,1,55,0,1,0,0,00000000-0000-0000-0000-000000000000,0, -{1,1, -{"ru","Выберите тестовый случай или всю подсистему"} -},0,0,1,1,1,0,1,0, -{2,3ccc650e-f631-4cae-8e33-3eaac610b5f9,"ПриОткрытии",9f2e5ddb-3492-4f5d-8f0d-416b8d1d5c5b,"ПриСозданииНаСервере"}, -{0},1, -{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} -}, -{6,3,0,1}, -{0,0,0},1, -{0,0,1},0,1},1,143c00f7-a42d-4cd7-9189-88e4467dc768, -{42, -{1,02023637-7868-4a5f-8576-835a76e0c9ba},0,2,1, -{0, -{0, -{"B",1},0} -},"ДеревоПодсистем",0,0,1, -{1,0}, -{1,0}, -{1, -{2} -},0,1,0,0,0,1,1,0,0,0,0,0,1,0,1,1,0,1,2,2,1,1,0,0,0,1,2,0,0,1,1, -{1, -{3} -}, -{3,3, -{0},"",-1,-1,0, -{ -{#base64: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} -},0}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1,1,0, -{1,1282f000-23b6-4887-87f4-9e8e79db3d32,"ДеревоПодсистемВыбор"}, -{0},1, -{17, -{2,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ДеревоПодсистемКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{17, -{3,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} -}, -{6,3,0,1}, -{0,0,0},1, -{0,0,0},0,1},3,77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{4,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},2,"ДеревоПодсистемИмя",1,0, -{1,0}, -{1,0}, -{2, -{2}, -{1} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,2,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{26, -{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, -{"U"}, -{"U"},"",0, -{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}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, -{3,0,0},0}, -{0},1, -{17, -{5,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ДеревоПодсистемИмяКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{6,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},2,"ДеревоПодсистемПуть",1,0, -{1,0}, -{1,0}, -{2, -{2}, -{2} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,2,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{26, -{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, -{"U"}, -{"U"},"",0, -{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}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, -{3,0,0},0}, -{0},1, -{17, -{7,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ДеревоПодсистемПутьКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},0, -{"Pattern"}, -{"Pattern"},"","", -{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{30, -{8,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},2,"ДеревоПодсистемТипСтроки",1,0, -{1,0}, -{1,0}, -{2, -{2}, -{3} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,2,3,0, -{3,0, -{0},"",-1,-1,1,0}, -{3,0, -{0},"",-1,-1,1,0}, -{3,4, -{0} -}, -{6,3,0,1}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{26, -{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, -{"U"}, -{"U"},"",0, -{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}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{6,3,0,1},1, -{3,0,0},0}, -{0},1, -{17, -{9,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},8,"ДеревоПодсистемТипСтрокиКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},1, -{1,1},0,1},0, -{"Pattern"}, -{"Pattern"},"","", -{0},0},2,2,1,0, -{"Pattern"},"","",2,2},"","",1, -{17, -{0},0,0,0,7,"Navigator", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{6,3,0,1}, -{0,0,0},0,0,1} -}," -&НаСервере -Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) - РеквизитФормыВЗначение(""Объект"").ЗаполнитьДеревоПодсистем(ДеревоПодсистем, Параметры.ОтборПоИмениТеста); -КонецПроцедуры - -&НаКлиенте -Процедура ПриОткрытии(Отказ) - РазвернутьСтрокиДерева(Истина); -КонецПроцедуры - -&НаКлиенте -Процедура ДеревоПодсистемВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) - - СтандартнаяОбработка = Ложь; - Оповестить(""xUnitFor1C.LoadSubSystem"", ДеревоПодсистем.НайтиПоИдентификатору(ВыбраннаяСтрока).Путь, ВладелецФормы); - Закрыть(); - -КонецПроцедуры - -&НаКлиенте -Процедура РазвернутьСтрокиДерева(ВключаяПодчиненные = Ложь) - - Для каждого СтрокаДерева из ДеревоПодсистем.ПолучитьЭлементы() Цикл - Идентификатор = СтрокаДерева.ПолучитьИдентификатор(); - Элементы.ДеревоПодсистем.Развернуть(Идентификатор, ВключаяПодчиненные); - КонецЦикла; - -КонецПроцедуры -", -{4,2, -{9, -{1},0,"Объект", -{1,0}, -{"Pattern", -{"#",9176d5a2-441b-4c0a-b8b7-bf86d41bf1d9} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},1,0,0,0, -{0,0}, -{0,0} -}, -{9, -{2},0,"ДеревоПодсистем", -{1,1, -{"ru","Дерево подсистем"} -}, -{"Pattern", -{"#",e603c0f2-92fb-4d47-8f38-a44a381cf235} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0}, -{0,0},0,0,0,3, -{5,1,0,"Имя", -{1,1, -{"ru","Имя"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,2,0,"Путь", -{1,1, -{"ru","Путь"} -}, -{"Pattern", -{"S"} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{5,3,0,"ТипСтроки", -{1,1, -{"ru","Тип строки"} -}, -{"Pattern", -{"N",10,0,0} -}, -{0, -{0, -{"B",1},0} -}, -{0, -{0, -{"B",1},0} -}, -{0,0},0}, -{0,0}, -{0,0} -},0,0, -{#base64:77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxTZXR0 -aW5ncyB4bWxucz0iaHR0cDovL3Y4LjFjLnJ1LzguMS9kYXRhLWNvbXBvc2l0aW9u -LXN5c3RlbS9zZXR0aW5ncyIgeG1sbnM6ZGNzY29yPSJodHRwOi8vdjguMWMucnUv -OC4xL2RhdGEtY29tcG9zaXRpb24tc3lzdGVtL2NvcmUiIHhtbG5zOnN0eWxlPSJo -dHRwOi8vdjguMWMucnUvOC4xL2RhdGEvdWkvc3R5bGUiIHhtbG5zOnN5cz0iaHR0 -cDovL3Y4LjFjLnJ1LzguMS9kYXRhL3VpL2ZvbnRzL3N5c3RlbSIgeG1sbnM6djg9 -Imh0dHA6Ly92OC4xYy5ydS84LjEvZGF0YS9jb3JlIiB4bWxuczp2OHVpPSJodHRw -Oi8vdjguMWMucnUvOC4xL2RhdGEvdWkiIHhtbG5zOndlYj0iaHR0cDovL3Y4LjFj -LnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93ZWIiIHhtbG5zOndpbj0iaHR0cDovL3Y4 -LjFjLnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93aW5kb3dzIiB4bWxuczp4cz0iaHR0 -cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDov -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} -}, -{0,1, -{0,"ОтборПоИмениТеста", -{"Pattern", -{"S"} -},0} -}, -{0,0}, -{0,0}, -{0,0} -} \ No newline at end of file diff --git a/src/xddTestRunner/und/df7f0865-1068-416d-89b2-1bab8b502a1a b/src/xddTestRunner/und/df7f0865-1068-416d-89b2-1bab8b502a1a deleted file mode 100644 index c55ed5de..00000000 --- a/src/xddTestRunner/und/df7f0865-1068-416d-89b2-1bab8b502a1a +++ /dev/null @@ -1,6 +0,0 @@ -{1, -{2,0, -{0, -{0,0,df7f0865-1068-416d-89b2-1bab8b502a1a},"ОтчетТестирования", -{1,"ru","Отчет тестирования"},""} -},0} \ No newline at end of file diff --git a/src/xddTestRunner/und/df7f0865-1068-416d-89b2-1bab8b502a1a.0 b/src/xddTestRunner/und/df7f0865-1068-416d-89b2-1bab8b502a1a.0 deleted file mode 100644 index 07976c57..00000000 Binary files a/src/xddTestRunner/und/df7f0865-1068-416d-89b2-1bab8b502a1a.0 and /dev/null differ diff --git a/src/xddTestRunner/und/ed07b230-8bf7-4423-b861-a31f23c7471f b/src/xddTestRunner/und/ed07b230-8bf7-4423-b861-a31f23c7471f new file mode 100644 index 00000000..3fb5607b --- /dev/null +++ b/src/xddTestRunner/und/ed07b230-8bf7-4423-b861-a31f23c7471f @@ -0,0 +1,10 @@ +{1, +{1, +{0, +{9, +{0, +{0,0,ed07b230-8bf7-4423-b861-a31f23c7471f},"УправляемаяФорма", +{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 new file mode 100644 index 00000000..081468db --- /dev/null +++ b/src/xddTestRunner/und/ed07b230-8bf7-4423-b861-a31f23c7471f.0 @@ -0,0 +1,2586 @@ +{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,"ПриЗакрытии"}, +{0},1, +{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} +}, +{6,3,0,1}, +{0,0,0},1, +{0,0,0},8,a9f3b1ac-f51b-431e-b102-55a69acdecad, +{19, +{423,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, +{0, +{0, +{"B",1},0} +},0,"ФормаЗагрузитьТестыПоУмолчанию", +{1,1, +{"ru","Загрузить тесты"} +},1, +{1,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, +{0},2,0,0,0,2,2,0,0,0, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},0, +{3,3, +{0},"",-1,-1,0, +{ +{#base64:iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+g +vaeTAAAACXBIWXMAAABIAAAASABGyWs+AAAEtUlEQVRIx6WUy48UVRTGf+fe6p6e +7ume6aCMEXygIgmgISaSGI0ZSYfEpRt2/gUmxrhwYVy410R36pawksBKNCajji9C +lEgCBGGAGZkB5kU/pt9dVfceF9XdM82486RqUfXdOud85ztfyec/984/+4h9Ze+U +IZsWANqhcrfmWSjHv6mK/T94AARnf7nOjYVlNutNACYLExx4Zi8v7H8y7VXtmZ8W +mb+zwma9tQ1/giMH9weo2jM/XWF+cZl6o4VKMIILwPsnr+vxQ3l6sWIEljYa/H5t +jfXvP34U8C++/UX5+OHCEF9+0OT8fJ3Vbz6wwNTBE5+Wjx0sQDCONTLET713VAKA +fC7Da4emcVgCcfxwscmYUYA0sJafGB/iaQsXbmxw6Z82wGNAKpexHHvpadSktvA7 +XQAM/TAieO+oVat47xExAGuzs3NugAMI4L3HdRsAKSBKZScJrB3igyiVZmRYQNB+ +cocxBpvJM0gOYE3yqaqj1aih6gEiYE3EDHEZVFAFyAT9J9qtFs45xsYsufwUSJeH +w3tHdXMnw99PHOKFxZM82LXI0bEZvrr/GWdvneN1jiSnfByheKy1FItFjDHsjGR8 +zu1kKEZB4JPND7nausR3N8+BJp0PM6UDy1SxiO3PcnuoehqbNZxzBMGA4VYTIvCI +3U0QQKqVxiIDMbrDU7lcDmN2Ji+VZuy7c4dx8+eZun2K3VLmlYvv8NGFI1uHJBE+ +3QlQ71CjxDZmdnYuYWCC1H+OpVSascC0MwHWGoq3v8RUbxBfPjtyzojQqjexAiYw +xNmoP6HhmsqO5CRbMg2kbGAo5nOY7DhYAzYYaSLVSSXCZzy5qSza12TEB6PbMrrn +xTGfMBzPgrEQBCMMBTDGoMUIsTLSrgE4eX6Zucsr/FVRVpsxX/+5yulf54d7bmz/ +k/FxMAasxSdppoGUArnCBIrSv0YLDEp+u+S4tlRh7noNTV4mTh7ok8mCGLxY6i49 +ZBhlIowxuFiS5JrcI06OnNKrV3DOoVhCyW45WQR8CJkMXj21OI1LGoiANY/S0w4u +FFQV1eGYMqa/6KxstoiimFpoiFMTgxFsRW8NL5bq2hIOwSa9JgwV7sZLuFBYCe8j +TghckHgQQF3MessROksmX8TpTu198x7VWg/nHRalYMMhQ1W4E97ChYKLFdsJHnKy +Kq1IiFNT9JzBK/htSnkH1coDXKeH9SFTQYjZJqV6oRJVibuGWnkTYjPqZKdC3Wfp +xkKl7XEONPkbUirN2GpocO0yNuxSDFoYHz+01rDRXYdymkq3ivOMOjnGstFWuqHn +QVtxXlHd5mTnsd0NiraDaW+Ac6Pzc8JqeQ3fM5SjCmE6HnWyj2I6kdANlYWKJ5e2 +WNna83oPiqaN6bahfBNJT9DydsgwXcnSCyNiBwt6h3yqgInHthVoN6oblQaPjkGt +rUjUJp+Oa0AING5FxfVmrQqpaWiWacYB83bveqk0Y4DJsZXna5vVgD2TT1ELG6Tr +j5PtHKhuWezNU4XJglxxcbQHBBHu7apcfPk5c6UBdN+K53LT+/b9KBq+KKqE3l69 +v7z6xrfBqzEgfxeqE7XJ4h8a1/aCgEzcbXeuH+b0RvNf+XOfI5UewfYAAAAldEVY +dGRhdGU6Y3JlYXRlADIwMTMtMDUtMjlUMDk6NDc6NDItMDU6MDBTDo/DAAAAJXRF +WHRkYXRlOm1vZGlmeQAyMDEzLTA1LTI4VDA2OjE3OjMwLTA1OjAwR0bHqQAAAABJ +RU5ErkJggg==} +},0},1, +{"Pattern"},"",2},cd5394d0-7dda-4b56-8927-93ccbe967a01, +{17, +{131,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},1,"ПодменюЗагрузитьТесты", +{1,1, +{"ru","Загрузить ..."} +}, +{1,1, +{"ru","Подменю загрузить тесты"} +},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{6, +{3,3, +{0},"",-1,-1,0, +{ +{#base64:iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+g +vaeTAAAACXBIWXMAAABIAAAASABGyWs+AAAEtUlEQVRIx6WUy48UVRTGf+fe6p6e +7ume6aCMEXygIgmgISaSGI0ZSYfEpRt2/gUmxrhwYVy410R36pawksBKNCajji9C +lEgCBGGAGZkB5kU/pt9dVfceF9XdM82486RqUfXdOud85ztfyec/984/+4h9Ze+U +IZsWANqhcrfmWSjHv6mK/T94AARnf7nOjYVlNutNACYLExx4Zi8v7H8y7VXtmZ8W +mb+zwma9tQ1/giMH9weo2jM/XWF+cZl6o4VKMIILwPsnr+vxQ3l6sWIEljYa/H5t +jfXvP34U8C++/UX5+OHCEF9+0OT8fJ3Vbz6wwNTBE5+Wjx0sQDCONTLET713VAKA +fC7Da4emcVgCcfxwscmYUYA0sJafGB/iaQsXbmxw6Z82wGNAKpexHHvpadSktvA7 +XQAM/TAieO+oVat47xExAGuzs3NugAMI4L3HdRsAKSBKZScJrB3igyiVZmRYQNB+ +cocxBpvJM0gOYE3yqaqj1aih6gEiYE3EDHEZVFAFyAT9J9qtFs45xsYsufwUSJeH +w3tHdXMnw99PHOKFxZM82LXI0bEZvrr/GWdvneN1jiSnfByheKy1FItFjDHsjGR8 +zu1kKEZB4JPND7nausR3N8+BJp0PM6UDy1SxiO3PcnuoehqbNZxzBMGA4VYTIvCI +3U0QQKqVxiIDMbrDU7lcDmN2Ji+VZuy7c4dx8+eZun2K3VLmlYvv8NGFI1uHJBE+ +3QlQ71CjxDZmdnYuYWCC1H+OpVSascC0MwHWGoq3v8RUbxBfPjtyzojQqjexAiYw +xNmoP6HhmsqO5CRbMg2kbGAo5nOY7DhYAzYYaSLVSSXCZzy5qSza12TEB6PbMrrn +xTGfMBzPgrEQBCMMBTDGoMUIsTLSrgE4eX6Zucsr/FVRVpsxX/+5yulf54d7bmz/ +k/FxMAasxSdppoGUArnCBIrSv0YLDEp+u+S4tlRh7noNTV4mTh7ok8mCGLxY6i49 +ZBhlIowxuFiS5JrcI06OnNKrV3DOoVhCyW45WQR8CJkMXj21OI1LGoiANY/S0w4u +FFQV1eGYMqa/6KxstoiimFpoiFMTgxFsRW8NL5bq2hIOwSa9JgwV7sZLuFBYCe8j +TghckHgQQF3MessROksmX8TpTu198x7VWg/nHRalYMMhQ1W4E97ChYKLFdsJHnKy +Kq1IiFNT9JzBK/htSnkH1coDXKeH9SFTQYjZJqV6oRJVibuGWnkTYjPqZKdC3Wfp +xkKl7XEONPkbUirN2GpocO0yNuxSDFoYHz+01rDRXYdymkq3ivOMOjnGstFWuqHn +QVtxXlHd5mTnsd0NiraDaW+Ac6Pzc8JqeQ3fM5SjCmE6HnWyj2I6kdANlYWKJ5e2 +WNna83oPiqaN6bahfBNJT9DydsgwXcnSCyNiBwt6h3yqgInHthVoN6oblQaPjkGt +rUjUJp+Oa0AING5FxfVmrQqpaWiWacYB83bveqk0Y4DJsZXna5vVgD2TT1ELG6Tr +j5PtHKhuWezNU4XJglxxcbQHBBHu7apcfPk5c6UBdN+K53LT+/b9KBq+KKqE3l69 +v7z6xrfBqzEgfxeqE7XJ4h8a1/aCgEzcbXeuH+b0RvNf+XOfI5UewfYAAAAldEVY +dGRhdGU6Y3JlYXRlADIwMTMtMDUtMjlUMDk6NDc6NDItMDU6MDBTDo/DAAAAJXRF +WHRkYXRlOm1vZGlmeQAyMDEzLTA1LTI4VDA2OjE3OjMwLTA1OjAwR0bHqQAAAABJ +RU5ErkJggg==} +},0}, +{0},2,3},2,cd5394d0-7dda-4b56-8927-93ccbe967a01, +{17, +{425,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},6,"ПлагиныЗагрузчики", +{1,1, +{"ru","Плагины загрузчики"} +}, +{1,1, +{"ru","Плагины загрузчики"} +},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{1, +{0},2},0,1},cd5394d0-7dda-4b56-8927-93ccbe967a01, +{17, +{429,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},1,"ПодменюИсторияЗагрузкиТестов", +{1,1, +{"ru","Подменю история загрузки тестов"} +}, +{1,1, +{"ru","История загрузки тестов"} +},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{6, +{3,0, +{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, +{"B",1},0} +},0,"КомандаПерезагрузитьТесты", +{1,0},1, +{4,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, +{0},3,0,0,0,2,2,0,0,0, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},0, +{3,3, +{0},"",-1,-1,0, +{ +{#base64:iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAAL +EwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj33 +3vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEs +DIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIe +EeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH +/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAn +f+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJ +V2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4 +mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHg +g/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl +7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/A +V/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5 +WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQ +WHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAA +RKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv +1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4 +IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGy +UT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPE +bDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM +WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPE +NyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD +5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2h +tlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0 +dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHK +CpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2ep +O6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN +2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIp +G6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3n +U9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36 +p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYP +jGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLn +m+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cR +p7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0H +DYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dn +F2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofc +n8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh +7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJ +gUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p +DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85 +ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7 +F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/R +NtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9 +MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo +1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5 +sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWF +fevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTP +ZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJ +zs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ ++7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3v +dy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtb +Ylu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ7 +52PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7 +nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9 +zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9D +BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfy +l5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT +0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq +YAAAOpgAABdvkl/FRgAAAlFJREFUeNqkk11Ik2EUx3/Pu3duc35NRefSTMlNM52l +IZIZgaUWtaAPDPGiiygiKoIKUsEu7CLEQJCIPq68ihK6KrsxSoz8QAJFA800rEQt +bbqW27unC7NGjrzw3J0D/8M5/3N+QkrJuiK4gTUPso9CWROU3QKHCwBjxXUemOJJ +DKVVggsBDbxe8CwR5XYTHZNNtNHOJrst+eS+anN9qAHU4EQfIewlu3OuObdZD/j8 +Y3qhkxwqliIrIYfS4skzP/yDPG/xnCeAb0UjpJQIRWBJ12XVNJe3FzgDKe6fw/jk +NEKRIMA9r2E0KXT3mWcbq6cz0Pi2soIKYEog8fAF283cgqmU/vFeXr9k9F03Pd7v +LGoS8/GLVOpg7n6N5zQac6oBAv4gI2LSOVjXHicfLxhk1W3GUNgStFmy6wbvEzKp +VFRI3Qu7rkL85mWtkFISHityU/I5FRZO1PxnXn3s4d7Gnegn3+DT/BiAZGC05AoV +tqy4Qs+019N5Z/Hh7Ij8wD9/IACStlJ0oln/Vo3EYC0ASxpEOjCfbdk+PDRRK+ta +M2RkGq4/HgSfNtbOjtqmwjYlkGodqXrWsMGB2/1JmLKd1lKXs8gxNH2XvoGpF0vz +DP69ghDLch1Rl1utw3sKLEn+pQjCw8PQ/BKhghLQ+Ood4Wnn7OyjBo65J+hYPYHE +1/9qpisz78uRmRmYGMer6kAI8AfQBrro7H1C48IkHSFf+XfEll+i7VwbEiP70ZGP +jkJU8oGYVRiEhElgSyumXlGxrMnRf2g0Abq1Goj14vxrAEGh9iL0BPs8AAAAAElF +TkSuQmCC} +},0},1, +{"Pattern"},"",2},a9f3b1ac-f51b-431e-b102-55a69acdecad, +{19, +{30,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, +{0, +{0, +{"B",1},0} +},0,"КомандаВыполнитьВсеТесты", +{1,0},1, +{3,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, +{0},3,0,0,0,2,2,0,0,0, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},0, +{3,3, +{0},"",-1,-1,0, +{ +{#base64:iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAAL +EwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj33 +3vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEs +DIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIe +EeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH +/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAn +f+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJ +V2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4 +mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHg +g/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl +7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/A +V/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5 +WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQ +WHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAA +RKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv +1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4 +IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGy +UT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPE +bDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM +WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPE +NyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD +5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2h +tlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0 +dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHK +CpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2ep +O6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN +2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIp +G6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3n +U9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36 +p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYP +jGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLn +m+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cR +p7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0H +DYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dn +F2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofc +n8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh +7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJ +gUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p +DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85 +ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7 +F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/R +NtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9 +MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo +1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5 +sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWF +fevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTP +ZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJ +zs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ ++7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3v +dy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtb +Ylu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ7 +52PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7 +nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9 +zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9D +BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfy +l5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT +0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq +YAAAOpgAABdvkl/FRgAAAhJJREFUeNrUk01rE1EYhc+duZOZSYNtPqgVqmkVpNJF +UQlqNtlpRdBuhIKgC/fiX/AnKCrVjQs34kLQahe1wYUJNUpqWkpUMLa2dtKkmXx0 +ksxkPu51IdiKdZWV5wc8vOe85xDOObqRgC7VNYACQDwx1j94rDW+tUFW9FX//Ei8 +PVndJGulQk9KIJRRiQPkb6vZbPYXwB9qnbp0NXw70ntQmXm1ODs8IiWiBw6r8+n1 +Zx+SjQeVVTUlwOfuBaIAwDj3O64rRwf6levXzl5c3yyh3jBwJj48GTttX84taLOZ +ZP1uuaDOEc9nixQgAt8F8ATesT1umFtwbA8DoX2IBMMo61U0am1x7Hj0/MkYObfw +ce3t+2T9XqUQeMkZNX+H6DHAtjlcl8N2PRimDtPSEOmjGD0yBAgWimVNmBiPJW7e +Ovr0xIQ+RXus/TsXMALDtKC3dHRsFxwAFUTIbgcNQ8OPUg0BVcJ3/QvynyvljU9q +2rOkxi4LBJbN0HYseIxDkRQYTYZ8sQgwhmCfH1rJLD1/Un2o5QJTxOnVRMp2MvAY +iONyIssUhsGwXNDhOC5CQQWVilNNz+mPtCX1PjPC30QJIBL78wuckbbVgb20vO29 +mam9GBrFhUODvdLr6e3HWk6+w5qhvEgBKvO9i8RNJZOZbt2wavZXrx5516k1ryzW +3BW3GkyJIgH1sX82kfz/Y/o5APw/CNRIkXZ3AAAAAElFTkSuQmCC} +},0},1, +{"Pattern"},"",2},a9f3b1ac-f51b-431e-b102-55a69acdecad, +{19, +{245,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, +{0, +{0, +{"B",1},0} +},0,"ФормаКомандаВыполнитьВыделенныеТесты", +{1,0},1, +{5,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, +{0},3,1,0,0,2,2,0,0,0, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},0, +{3,0, +{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, +{"B",1},0} +},1,"ГруппаВнешниеИнструменты", +{1,1, +{"ru","Внешние инструменты"} +}, +{1,1, +{"ru","Внешние инструменты"} +},1,1,0,0,0,2,2, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{6, +{3,0, +{0},"",-1,-1,1,0}, +{0},2,3},3,a9f3b1ac-f51b-431e-b102-55a69acdecad, +{19, +{71,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, +{0, +{0, +{"B",1},0} +},0,"КомандаГенераторМакетовДанных", +{1,0},1, +{7,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, +{0},3,0,0,0,2,2,0,0,0, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},0, +{3,0, +{0},"",-1,-1,1,0},1, +{"Pattern"},"",2},a9f3b1ac-f51b-431e-b102-55a69acdecad, +{19, +{73,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, +{0, +{0, +{"B",1},0} +},0,"КомандаПоказатьГУИД", +{1,0},1, +{8,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, +{0},3,0,0,0,2,2,0,0,0, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},0, +{3,0, +{0},"",-1,-1,1,0},1, +{"Pattern"},"",2},a9f3b1ac-f51b-431e-b102-55a69acdecad, +{19, +{430,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, +{0, +{0, +{"B",1},0} +},0,"ФормаКонвертерТестов", +{1,0},1, +{2,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, +{0},3,0,0,0,2,2,0,0,0, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},0, +{3,0, +{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, +{"B",1},0} +},0,"ФормаКомандаПерезагрузитьФорму", +{1,0},1, +{15,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, +{0},2,0,0,0,2,2,0,0,0, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},0, +{3,0, +{0},"",-1,-1,1,0},1, +{"Pattern"},"",2},a9f3b1ac-f51b-431e-b102-55a69acdecad, +{19, +{356,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, +{0, +{0, +{"B",1},0} +},0,"ФормаИзменитьФорму", +{1,0},1, +{0,198ea630-fda2-4cda-8a23-f999f4c67ee6}, +{0},3,0,0,0,2,2,0,0,0, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},0, +{3,0, +{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, +{"B",1},0} +},5,"ГруппаДеревоТестов", +{1,1, +{"ru","Дерево тестов"} +}, +{1,1, +{"ru","Дерево тестов"} +},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{12,0,0,0,0, +{0}, +{1,0}, +{"Pattern"},""},1,143c00f7-a42d-4cd7-9189-88e4467dc768, +{42, +{404,02023637-7868-4a5f-8576-835a76e0c9ba},0,2,1, +{0, +{0, +{"B",1},0} +},"ДеревоТестов",0,0,1, +{1,0}, +{1,0}, +{1, +{2} +},0,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,2,2,1,1,0,0,0,1,2,2,0,1,1, +{1, +{6} +}, +{3,3, +{0},"",-1,-1,0, +{ +{#base64:iVBORw0KGgoAAAANSUhEUgAAAHAAAAAQCAYAAADOFPsRAAAACXBIWXMAAA7EAAAO +xAGVKw4bAAAAB3RJTUUH3wkIDgYGUr9hfQAAAAd0RVh0QXV0aG9yAKmuzEgAAAAM +dEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRF +WHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVY +dERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3Vy +Y2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAI +zUlEQVRYhe2Yf1BVZRrHP++558pBsCCoxRW3IdEk0rqU/WBHiUJzGq9ZrmlqjEZr +aq6zme0sTrobVvxhbtaqoWnZFmntbpk40+IUVow46ySIRjpo4g8MkptcucI93HvO +efePy0XuBS7hyuw/+8y8c87zPuf7vuec73me9/seIaVkoC3fmT7qwTnzikqLty0s +LKmpHah5ass/lXUHSmlqOo/nUgstbg93Tckle9YiMVBz/q9NHegJ8p3poyY9nlt0 +38OZ2S1NtUX5zvQBI/FExW4emPEkFy80cbH5J5oazlH6901kz1oUEbfhnQ9k8ZFm +9PaAr9k0dFPvjPfkT3fAc/PzxNXAv7mrvN9ZtGjqeAGgHtmUs9MyfA9LywRAKDaE +TT0ydmHZ2P4OGm75zvRRObNmFmU/cmuW1V7HlJmpWdfE2weMxGHp97Bnx1t8f/IU +3rZW9HYf46c/1SfuaH0DKQL0KB1NaOjSjWbX0GXvfl1j3FXDHzvVyOtLZ2BaVp/3 +alMUHl28gkVTxwOgWobv4dsWvgN+o+MKG5XrZ4+peiNTChFeeQRCUVDUQcfGPP15 +WqSJ8p3po3Jmziy6f9q4LLP1OyEvHbZk9E1iwuTrshDjeySxtXSn9OcvASCusr7f +Za81OZOSSi+bt7wtFhSsl/OmPkDm7Wl9jpOZ4WD2Q/f3a64XXl171fBBW/z21/zY +EsjUaLtK8TN9j6lKywJ/O77aNUgpsA+bTsbC90HpeG4hAg1AAKpK9cbc0d9unnTH +rQv2HAwfUAghgZUT7nGs5lBN8b5DO5UVS8dapv+MUFWfRE1Rfj15SLa/dXQ3Er2F +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 +WhMgEG/VAAAAAElFTkSuQmCC} +},0}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},0,0,0, +{0}, +{0},1, +{17, +{405,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},8,"ДеревоТестовКонтекстноеМеню", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{1,0},1,a9f3b1ac-f51b-431e-b102-55a69acdecad, +{19, +{427,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, +{0, +{0, +{"B",1},0} +},0,"ДеревоТестовКонтекстноеМенюКомандаВыполнитьВыделенныеТесты", +{1,0},1, +{5,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, +{0},3,0,0,0,2,2,0,0,0, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},0, +{3,0, +{0},"",-1,-1,1,0},1, +{"Pattern"},"",2},1},1, +{17, +{406,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} +}, +{6,3,0,1}, +{0,0,0},1, +{0,0,0},0,1},5,77ffcc29-7f2d-4223-b22f-19666e7250ba, +{30, +{411,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},4,"ДеревоТестовСостояние",0,0, +{1,0}, +{1,0}, +{2, +{2}, +{2} +}, +{0},1,0,2,0,2, +{1,0}, +{1,0},1,1,0,3,0,3,2,3,0, +{3,0, +{0},"",-1,-1,1,0}, +{3,0, +{0},"",-1,-1,1,0}, +{3,4, +{0} +}, +{6,3,0,1}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{7,0,0,1,1, +{3,3, +{0},"",-1,-1,0, +{ +{#base64:iVBORw0KGgoAAAANSUhEUgAAAFAAAAAQCAYAAACBSfjBAAAABGdBTUEAALGPC/xh +BQAAAAlwSFlzAAALEwAACxMBAJqcGAAABCRpVFh0WE1MOmNvbS5hZG9iZS54bXAA +AAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9 +IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8v +d3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJk +ZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlm +Zj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHht +bG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgICAg +ICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8i +CiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAv +MS4wLyI+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVz +b2x1dGlvblVuaXQ+CiAgICAgICAgIDx0aWZmOkNvbXByZXNzaW9uPjU8L3RpZmY6 +Q29tcHJlc3Npb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyPC90aWZm +OlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZm +Ok9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjwvdGlm +ZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjgw +PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFj +ZT4xPC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVu +c2lvbj4xNjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDxkYzpzdWJq +ZWN0PgogICAgICAgICAgICA8cmRmOkJhZy8+CiAgICAgICAgIDwvZGM6c3ViamVj +dD4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTU6MTI6MDkgMTc6MTI6Njk8 +L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPlBpeGVs +bWF0b3IgMy40LjE8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgPC9yZGY6RGVzY3Jp +cHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CqWJ7IkAAAP8SURBVFgJ +7VZtaFtVGH5PbpKb5mPNGiNttU3ZJOvG3KQy5hRZOxFtnGNSOmT7N9DdbsiYlDnm +b//IqCDMloF//OGPaUGGRodoN9msblWodm0XV+lW0u7DuSQ3N7n33OTenXPqHUm8 +yW4iioMcuDzneXOe97zn4T2HANRH3YG6A3UH/h8O4COv7lV2b40rwvaoWUWK0BtV +dj8bx0d27TX7vRY9MktEY7FYbBh0XdDJnC1CaCQcDg+UW18ajxyDYU0DQSMJbCSB +zQYj0UGwrNfPrif75wWAvypA3AjaOlVRn3utN64/1nleuzTZBW53jB/5PGLURc2D +TDbsWBX6WZ2+8gx/8vwjxm8G1qK3GeJCpOaRMwturxc8Ph9QJMcQmKmFC8vMqXkt +Ab9wcOcgvNV/FChSTuNlJEVh/eyGYXAEBXj0DYC2QWBoDwosXrSymOQ5bhLNz3Wh +9RvHQVGbU/v7WScqh/ZEKbevCo2rsd+7oGnFZLFymdWiN+3AWOyy7vH6IC1JpAl1 +QAiB1+MBKS1COLzGVFNYUO+7oB/Y+TrE/vgKcF4GJ+eC8EMvwvHPTsCXh5cbunB9 +6Vw/s06HtgMAiZ8ANEza1wngfxJg4Tig7umK++cO9UeRqjbrHasvZmfnNtndWgvS ++CV7qG0Cz8xEOKT9wn94+l5nlu5drd60A2lSVc2x24PoeUn7MV66WxlOPIe4NAZJ +fA0y6k2GlNO45YHnyduRBuCIgRQptzDs730SwZr9Op69sol/fM0M1x76Dvv9U9Kl +y9uxd+VCJfNo+mr1ZQ2kyXiXC3ieZ0i51UHfvIT8G3hccO+jnMatDbIQiQDuAPma +lpHy+zcvS9/wwaeR5J1kS3bpFpZupLCalR0ZUUL+9z/eYmX/avSmBsbji6P5nApO +h4MZSJFyGrdSgJKE0V+nAJzk5pGbz5ByGreiv3ozPwrJaQCXb9k8ioSzuIUEs91b +hrU8v5S6neDE2wk7yLkFWdL+vLrn5Y8syKEafbmeaB8bGxtqbW3tMzZcXFwc7enp +eZPwa0asArY/9zYM8Y3QR68teUKZed+8A5b18yc7h0IPc33s3pME1LyOXbP31dPD +43Rms7ej+XtFTD6tpDItOI+W5EAjBFSFFxPyuacmJveVq71afTkDaf528gULNrpF +5lbMMyT/uX5ic9cJDivbgHOcyqpqt9vt+/GJ8R8GmCkpqSOT06ZEOftKMBD8msaN +Qg2sRV/JQCPvA4MX1q6+bmvwnJIVdZt3RWORSdTEbDL1fFpWv81g/NILc/N/+x9Y +i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs +7sC/68BdS71tH9LcEKQAAAAASUVORK5CYII=} +},0},0,0,0, +{1,0}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{3,0, +{0},1,1,0,48312c09-257f-4b29-b280-284dd89efc1e},0,0, +{0} +}, +{0},1, +{17, +{412,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},8,"ДеревоТестовСостояниеКонтекстноеМеню", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{1,1},0,1},1, +{"Pattern"}, +{"Pattern"},"","", +{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, +{30, +{414,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},2,"ДеревоТестовИмя",1,0, +{1,0}, +{1,0}, +{2, +{2}, +{3} +}, +{0},1,0,2,0,2, +{1,0}, +{1,0},1,1,0,3,0,3,2,3,0, +{3,0, +{0},"",-1,-1,1,0}, +{3,0, +{0},"",-1,-1,1,0}, +{3,4, +{0} +}, +{6,3,0,1}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{26, +{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, +{"U"}, +{"U"},"",0, +{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}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},1, +{3,0,0},0}, +{0},1, +{17, +{415,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},8,"ДеревоТестовИмяКонтекстноеМеню", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{1,1},0,1},1, +{"Pattern"}, +{"Pattern"},"","", +{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, +{30, +{408,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},2,"ДеревоТестовКоличествоТестов",1,0, +{1,1, +{"ru","Кол-во"} +}, +{1,0}, +{2, +{2}, +{1} +}, +{0},1,0,2,0,2, +{1,0}, +{1,0},1,1,0,3,0,3,2,3,0, +{3,0, +{0},"",-1,-1,1,0}, +{3,0, +{0},"",-1,-1,1,0}, +{3,4, +{0} +}, +{6,3,0,1}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{26, +{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, +{"U"}, +{"U"},"",0, +{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}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},1, +{3,0,0},0}, +{0},1, +{17, +{409,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},8,"ДеревоТестовКоличествоТестовКонтекстноеМеню", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{1,1},0,1},1, +{"Pattern"}, +{"Pattern"},"","", +{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, +{30, +{417,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},2,"ДеревоТестовВремяВыполнения",1,0, +{1,0}, +{1,0}, +{2, +{2}, +{4} +}, +{0},1,0,2,0,2, +{1,0}, +{1,0},1,1,0,3,0,3,2,3,0, +{3,0, +{0},"",-1,-1,1,0}, +{3,0, +{0},"",-1,-1,1,0}, +{3,4, +{0} +}, +{6,3,0,1}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{26, +{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, +{"U"}, +{"U"},"",0, +{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}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},1, +{3,0,0},0}, +{0},1, +{17, +{418,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},8,"ДеревоТестовВремяВыполненияКонтекстноеМеню", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{1,1},0,1},1, +{"Pattern"}, +{"Pattern"},"","", +{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba, +{30, +{420,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},2,"ДеревоТестовПуть",1,0, +{1,0}, +{1,0}, +{2, +{2}, +{5} +}, +{0},1,0,2,0,2, +{1,0}, +{1,0},1,1,0,3,0,3,2,3,0, +{3,0, +{0},"",-1,-1,1,0}, +{3,0, +{0},"",-1,-1,1,0}, +{3,4, +{0} +}, +{6,3,0,1}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{26, +{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2, +{"U"}, +{"U"},"",0, +{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}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1},1, +{3,0,0},0}, +{0},1, +{17, +{421,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},8,"ДеревоТестовПутьКонтекстноеМеню", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{1,1},0,1},1, +{"Pattern"}, +{"Pattern"},"","", +{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, +{"B",1},0} +},9,"ИндикаторВыполнения",0,0, +{1,0}, +{1,0}, +{1, +{16} +}, +{0},1,0,2,0,2, +{1,0}, +{1,0},1,1,0,3,0,3,1,3,0, +{3,0, +{0},"",-1,-1,1,0}, +{3,0, +{0},"",-1,-1,1,0}, +{3,4, +{0} +}, +{6,3,0,1}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{3,32,1,1,0,0,100,0,0,1, +{3,4, +{0} +} +}, +{0},1, +{17, +{130,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},8,"ИндикаторВыполненияКонтекстноеМеню", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},1, +{1,1},0,1},1, +{"Pattern"}, +{"Pattern"},"","", +{0},0},"","",1, +{17, +{0},0,0,1, +{0, +{0, +{"B",1},0} +},7,"Navigator", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{6,3,0,1}, +{0,0,0},0,0,1} +},"&НаКлиенте +Перем КэшФормПлагинов; +&НаКлиенте +Перем ПодключенныеВнешниеОбработки; + +// { События формы +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + ОбъектНаСервере = РеквизитФормыВЗначение(""Объект""); + ЭтаФорма.Заголовок = ОбъектНаСервере.ЗаголовокФормы(); + ИспользуемоеИмяФайла = ОбъектНаСервере.ИспользуемоеИмяФайла; + + ОбновитьКомандыИсторииЗагрузкиТестов(); +КонецПроцедуры + +&НаКлиенте +Процедура ПриОткрытии() + ЗагрузитьПлагины(); + КэшироватьПеречисленияПлагинов(); + СброситьПодключенныеВнешниеОбработки(); + + ЭтоПакетныйЗапуск = ЗначениеЗаполнено(ПараметрЗапуска); + Если ЭтоПакетныйЗапуск Тогда + ВыполнитьПакетныйЗапуск(ПараметрЗапуска); + Иначе + ПерезагрузитьПоследниеТестыПоИстории(); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ПриЗакрытии() + ПриЗакрытииНаСервере(); +КонецПроцедуры + +&НаСервере +Процедура ПриЗакрытииНаСервере() + ЭтотОбъектНаСервере().СохранитьНастройки(); +КонецПроцедуры + +&НаКлиенте +Процедура ОбработатьСобытиеВыполненияТестов(Знач ИмяСобытия, Знач Параметр) Экспорт + Если ИмяСобытия = Объект.ВозможныеСобытия.ВыполненТестовыйМетод Тогда + Если Параметр.Состояние = Объект.СостоянияТестов.НеРеализован Тогда + Если Элементы.ИндикаторВыполнения.ЦветРамки <> WebЦвета.Красный Тогда + Элементы.ИндикаторВыполнения.ЦветРамки = WebЦвета.Золотой; + КонецЕсли; + ИначеЕсли Параметр.Состояние = Объект.СостоянияТестов.Сломан Тогда + Элементы.ИндикаторВыполнения.ЦветРамки = WebЦвета.Красный; + КонецЕсли; + ИндикаторВыполнения = ИндикаторВыполнения + 1; + КонецЕсли; + ОбновитьОтображениеДанных(); +КонецПроцедуры +// } События формы + +// { Управляющие воздействия пользователя +&НаКлиенте +Процедура ЗагрузитьТестыПоУмолчанию(Команда) + ЗагрузчикПоУмолчанию = ЗагрузчикПоУмолчанию(); + ИдентификаторЗагрузчикаПоУмолчанию = ЗагрузчикПоУмолчанию.ОписаниеПлагина(Объект.ТипыПлагинов).Идентификатор; + Подключаемый_ИнтерактивныйВызовЗагрузчика(Новый Структура(""Имя"", ИдентификаторЗагрузчикаПоУмолчанию)); +КонецПроцедуры + +&НаКлиенте +Процедура КомандаВыполнитьВсеТесты(Команда) + ВыполнитьТестыНаКлиенте(); +КонецПроцедуры + +&НаКлиенте +Процедура ВыполнитьТестыНаКлиенте(Знач Фильтр = Неопределено) + Если ЗначениеЗаполнено(ЭтаФорма.ДеревоОтЗагрузчика) Тогда + ОчиститьСообщения(); + + КоличествоТестовыхМетодов = ПолучитьКоличествоТестовыхМетодов(ЭтаФорма.ДеревоОтЗагрузчика, Фильтр); + ИнициализироватьИндикаторВыполнения(КоличествоТестовыхМетодов); + + СброситьПодключенныеВнешниеОбработки(); + РезультатыТестирования = ВыполнитьТесты(Плагин(ИдентификаторЗагрузчика), ЭтаФорма.ДеревоОтЗагрузчика, Фильтр, ЭтаФорма); + + ОбновитьДеревоТестовНаОснованииРезультатовТестирования(ДеревоТестов.ПолучитьЭлементы()[0], РезультатыТестирования); + + ГенераторОтчетаMXL = Плагин(""ГенераторОтчетаMXL""); + Отчет = ГенераторОтчетаMXL.СоздатьОтчет(ЭтаФорма, РезультатыТестирования); + ГенераторОтчетаMXL.Показать(Отчет); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура КомандаВыполнитьВыделенныеТесты(Команда) + Фильтр = Новый Массив; + ВыделенныеСтроки = Элементы.ДеревоТестов.ВыделенныеСтроки; + Для каждого ИдентификаторВыделеннойСтроки Из ВыделенныеСтроки Цикл + ВыделеннаяСтрока = ДеревоТестов.НайтиПоИдентификатору(ИдентификаторВыделеннойСтроки); + Фильтр.Добавить(Новый УникальныйИдентификатор(ВыделеннаяСтрока.Ключ)); + КонецЦикла; + Если Фильтр.Количество() > 0 Тогда + ВыполнитьТестыНаКлиенте(Фильтр); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура КомандаПерезагрузитьФорму(Команда) + Закрыть(); + + АдресХранилища = """"; + ПоместитьФайл(АдресХранилища, ЭтаФорма.ИспользуемоеИмяФайла, , Ложь); + ПодключитьФайлОбработкиНаСервере(АдресХранилища, Неопределено); + + НоваяФорма = ПолучитьФорму(ЭтаФорма.ИмяФормы,,,Истина); + НоваяФорма.ИспользуемоеИмяФайла = ЭтаФорма.ИспользуемоеИмяФайла; + НоваяФорма.Открыть(); +КонецПроцедуры + +&НаКлиенте +Процедура ПерезагрузитьПоследниеТестыПоИстории(Команда = Неопределено) + ИсторияЗагрузкиТестов = Объект.Настройки.ИсторияЗагрузкиТестов; + Если ИсторияЗагрузкиТестов.Количество() > 0 Тогда + ЭлементИстории = ИсторияЗагрузкиТестов[0]; + Попытка + ЗагрузитьТесты(ЭлементИстории.ИдентификаторЗагрузчика, ЭлементИстории.Путь); + Исключение + // TODO + Сообщить(""Не удалось загрузить тесты из истории <"" + ЭлементИстории.ИдентификаторЗагрузчика + "": "" + ЭлементИстории.Путь + "">"" + Символы.ПС + ОписаниеОшибки()); + КонецПопытки; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ГенераторМакетовДанных(Команда) + ОткрытьИнструмент(""СериализаторMXL"", ПолучитьПутьКПлагинам()); +КонецПроцедуры + +&НаКлиенте +Процедура ПоказатьГУИД(Команда) + ОткрытьИнструмент(""xddGuidShow""); +КонецПроцедуры + +&НаКлиенте +Процедура КонвертерТестов(Команда) + ОткрытьИнструмент(""xddTestsConvertIntoRebornFormat""); +КонецПроцедуры +// } Управляющие воздействия пользователя + +// { Плагины +&НаКлиенте +Процедура ЗагрузитьПлагины() + Объект.Плагины = Новый Структура; + КэшФормПлагинов = Новый Структура; + + КаталогПлагинов = ПолучитьПутьКПлагинам(); + НайденныеФайлы = НайтиФайлы(КаталогПлагинов, ""*.epf"", Ложь); + ПомещаемыеФайлы = Новый Массив; + ИдентификаторыПлагинов = Новый Соответствие; + Для каждого ФайлОбработки Из НайденныеФайлы Цикл + + ПомещаемыйФайл = Новый ОписаниеПередаваемогоФайла(ФайлОбработки.ПолноеИмя); + ПомещаемыеФайлы.Добавить(ПомещаемыйФайл); + + ИмяПлагина = ФайлОбработки.ИмяБезРасширения; + ИдентификаторыПлагинов.Вставить(ФайлОбработки.ПолноеИмя, ИмяПлагина); + + КонецЦикла; + + ЗагруженныеФайлы = Новый Массив; + Если ПомещаемыеФайлы.Количество() Тогда + ПоместитьФайлы(ПомещаемыеФайлы, ЗагруженныеФайлы,,Ложь, ЭтаФорма.УникальныйИдентификатор); + КонецЕсли; + + ОписанияПлагинов = ПодключитьПлагиныНаСервере(ЗагруженныеФайлы); + + Для Каждого ЗагруженныйФайл Из ЗагруженныеФайлы Цикл + ИмяПлагина = ИдентификаторыПлагинов[ЗагруженныйФайл.Имя]; + + ОписаниеПлагина = ОписанияПлагинов[ЗагруженныйФайл.Имя]; + Объект.Плагины.Вставить(ОписаниеПлагина.Идентификатор, ИмяПлагина); + КэшФормПлагинов.Вставить(ОписаниеПлагина.Идентификатор, Истина); + + КонецЦикла; + + ДобавитьКомандыЗагрузчиковНаФорме(); + +КонецПроцедуры + +&НаСервере +Функция ПодключитьПлагиныНаСервере(Знач ЗагружаемыеФайлы) + + ОписанияПлагинов = Новый Соответствие; + + Для Каждого ОписаниеФайла Из ЗагружаемыеФайлы Цикл + ФайлОбъект = Новый Файл(ОписаниеФайла.Имя); + ИмяПлагина = ФайлОбъект.ИмяБезРасширения; + ПодключитьФайлОбработкиНаСервере(ОписаниеФайла.Хранение, ИмяПлагина); + + Попытка + ОбъектОбработки = ВнешниеОбработки.Создать(ИмяПлагина, Ложь); + ОбъектОбработки.Инициализация(ЭтотОбъектНаСервере()); + ОписанияПлагинов.Вставить(ОписаниеФайла.Имя, ОбъектОбработки.ОписаниеПлагина(Объект.ТипыПлагинов)); + Исключение + Ошибка = ""Возникла ошибка при загрузке плагина: ""+ОписаниеФайла.Имя + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + Сообщить(Ошибка); + Продолжить; + КонецПопытки; + + КонецЦикла; + + Возврат Новый ФиксированноеСоответствие(ОписанияПлагинов); + +КонецФункции // ПодключитьПлагиныНаСервере() + +&НаКлиенте +Процедура КэшироватьПеречисленияПлагинов() + Объект.ТипыУзловДереваТестов = Плагин(""ПостроительДереваТестов"").Объект.ТипыУзловДереваТестов; +КонецПроцедуры + +&НаКлиенте +Функция Плагин(Знач Идентификатор) Экспорт + + ОбъектПлагин = КэшФормПлагинов[Идентификатор]; + Если ОбъектПлагин = Неопределено Тогда + ВызватьИсключение НСтр(""ru = 'Неизвестный идентификатор плагина: <""+Идентификатор+"">'""); + ИначеЕсли ОбъектПлагин = Истина Тогда + // загрузка клиентского плагина ""По требованию"" + ИмяПлагина = Объект.Плагины[Идентификатор]; + Попытка + ОбъектПлагин = ПолучитьФорму(""ВнешняяОбработка."" + ИмяПлагина + "".Форма"", , ЭтаФорма); + КэшФормПлагинов.Вставить(Идентификатор, ОбъектПлагин); + Исключение + // TODO добавить поведение при отсутствии управляемой формы у плагина + ВызватьИсключение; + КонецПопытки; + + КонецЕсли; + + Возврат ОбъектПлагин; +КонецФункции + +&НаСервере +Процедура ДобавитьКомандыЗагрузчиковНаФорме() + ОписанияЗагрузчиков = ПолучитьОписанияЗагрузчиковНаСервере(); + Для каждого Описание Из ОписанияЗагрузчиков Цикл + Команда = ЭтаФорма.Команды.Добавить(Описание.Идентификатор); + Команда.Действие = ""Подключаемый_ИнтерактивныйВызовЗагрузчика""; + ПунктМеню = ЭтаФорма.Элементы.Добавить(Команда.Имя, Тип(""КнопкаФормы""), ЭтаФорма.Элементы.ПлагиныЗагрузчики); + ПунктМеню.Заголовок = Описание.Представление; + ПунктМеню.ИмяКоманды = Команда.Имя; + КонецЦикла; +КонецПроцедуры + +&НаКлиенте +Функция ПолучитьОписанияПлагиновПоТипу(Знач ТипПлагина) Экспорт + Результат = ПолучитьОписанияПлагиновПоТипуНаСервере(ТипПлагина); + + Возврат Результат; +КонецФункции + +&НаСервере +Функция ПолучитьОписанияПлагиновПоТипуНаСервере(Знач ТипПлагина) + ОбъектНаСервере = РеквизитФормыВЗначение(""Объект""); + Результат = ОбъектНаСервере.ПолучитьОписанияПлагиновПоТипу(ТипПлагина); + + Возврат Результат; +КонецФункции + +&НаСервере +Функция ПолучитьОписанияЗагрузчиковНаСервере() + ОбъектНаСервере = РеквизитФормыВЗначение(""Объект""); + ОписанияЗагрузчиков = ОбъектНаСервере.ПолучитьОписанияПлагиновПоТипу(ОбъектНаСервере.ТипыПлагинов.Загрузчик); + + Возврат ОписанияЗагрузчиков; +КонецФункции + +&НаКлиенте +Функция ЗагрузчикПоУмолчанию() Экспорт + Возврат Плагин(""ЗагрузчикКаталога""); +КонецФункции +// } Плагины + +// { Работа с деревом тестов +&НаКлиенте +Процедура Подключаемый_ИнтерактивныйВызовЗагрузчика(Команда) + ИдентификаторВыбранногоЗагрузчика = Команда.Имя; + Путь = Плагин(ИдентификаторВыбранногоЗагрузчика).ВыбратьПутьИнтерактивно(); + Если ЗначениеЗаполнено(Путь) Тогда + ЗагрузитьТесты(ИдентификаторВыбранногоЗагрузчика, Путь); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ЗагрузитьТесты(Знач ИдентификаторВыбранногоЗагрузчика, Знач Путь) + ИнициализироватьИндикаторВыполнения(); + + ЭтаФорма.ИдентификаторЗагрузчика = ИдентификаторВыбранногоЗагрузчика; + ФормаЗагрузчика = Плагин(ИдентификаторВыбранногоЗагрузчика); + + Попытка + ЭтаФорма.ДеревоОтЗагрузчика = ФормаЗагрузчика.Загрузить(ЭтаФорма, Путь); + Исключение + Сообщить(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); + Возврат; + КонецПопытки; + + ЭлементыДереваТестов = ЭтаФорма.ДеревоТестов.ПолучитьЭлементы(); + ЭлементыДереваТестов.Очистить(); + ЗаполнитьДеревоТестов(ЭтаФорма.ДеревоТестов, ДеревоОтЗагрузчика); + + КоличествоТестовыхСлучаев = ЗаполнитьКоличествоТестовыхСлучаевПоВсемуДеревуТестов(ЭтаФорма.ДеревоТестов); + РазвернутьСтрокиДерева(КоличествоТестовыхСлучаев < 30); + + СохранитьВИсториюЗагрузкиТестовНаСервере(ИдентификаторВыбранногоЗагрузчика, Путь); + ОбновитьКомандыИсторииЗагрузкиТестов(); +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьДеревоТестов(РодительскаяСтрокаДереваТестов, Знач КонтейнерДереваТестовЗагрузчика) + СтрокаКонтейнера = РодительскаяСтрокаДереваТестов.ПолучитьЭлементы().Добавить(); + СтрокаКонтейнера.Имя = КонтейнерДереваТестовЗагрузчика.Имя; + СтрокаКонтейнера.ИконкаУзла = КонтейнерДереваТестовЗагрузчика.ИконкаУзла; + СтрокаКонтейнера.Ключ = КонтейнерДереваТестовЗагрузчика.Ключ; + + Для каждого ЭлементКоллекции Из КонтейнерДереваТестовЗагрузчика.Строки Цикл + Если ЭлементКоллекции.Тип = Объект.ТипыУзловДереваТестов.Контейнер Тогда + ЗаполнитьДеревоТестов(СтрокаКонтейнера, ЭлементКоллекции); + ИначеЕсли ЭлементКоллекции.Тип = Объект.ТипыУзловДереваТестов.Элемент Тогда + СтрокаЭлемента = СтрокаКонтейнера.ПолучитьЭлементы().Добавить(); + СтрокаЭлемента.Имя = ЭлементКоллекции.Представление; + СтрокаЭлемента.Путь = ЭлементКоллекции.Путь; + СтрокаЭлемента.ИконкаУзла = ЭлементКоллекции.ИконкаУзла; + СтрокаЭлемента.Ключ = ЭлементКоллекции.Ключ; + КонецЕсли; + КонецЦикла; +КонецПроцедуры + +&НаКлиенте +Функция ЗаполнитьКоличествоТестовыхСлучаевПоВсемуДеревуТестов(РодительскаяСтрока) + КоллекцияСтрок = РодительскаяСтрока.ПолучитьЭлементы(); + Если КоллекцияСтрок.Количество() = 0 Тогда + Возврат 1; + КонецЕсли; + ОбщееКоличествоТестов = 0; + Для каждого СтрокаДерева из КоллекцияСтрок Цикл + КоличествоТестовВСтроке = ЗаполнитьКоличествоТестовыхСлучаевПоВсемуДеревуТестов(СтрокаДерева); + СтрокаДерева.КоличествоТестов = КоличествоТестовВСтроке; + ОбщееКоличествоТестов = ОбщееКоличествоТестов + КоличествоТестовВСтроке; + КонецЦикла; + + Возврат ОбщееКоличествоТестов; +КонецФункции + +&НаКлиенте +Процедура РазвернутьСтрокиДерева(Знач ВключаяПодчиненные = Ложь) + Для каждого СтрокаДерева из ДеревоТестов.ПолучитьЭлементы() Цикл + Идентификатор = СтрокаДерева.ПолучитьИдентификатор(); + Элементы.ДеревоТестов.Развернуть(Идентификатор, ВключаяПодчиненные); + КонецЦикла; +КонецПроцедуры + +&НаКлиенте +Процедура ОбновитьДеревоТестовНаОснованииРезультатовТестирования(УзелДереваТестов, Знач РезультатТестирования) + УзелДереваТестов.Состояние = РезультатТестирования.Состояние; + УзелДереваТестов.ВремяВыполнения = РезультатТестирования.ВремяВыполнения; + Если РезультатТестирования.Тип = Объект.ТипыУзловДереваТестов.Контейнер Тогда + Для каждого ДочернийРезультатТестирования Из РезультатТестирования.Строки Цикл + ДочернийУзелДереваТестов = НайтиСтрокуВДеревеТестовПоКлючу(УзелДереваТестов, ДочернийРезультатТестирования.Ключ); + ОбновитьДеревоТестовНаОснованииРезультатовТестирования(ДочернийУзелДереваТестов, ДочернийРезультатТестирования); + КонецЦикла; + ИначеЕсли РезультатТестирования.Тип = Объект.ТипыУзловДереваТестов.Элемент Тогда + Если РезультатТестирования.Свойство(""Сообщение"") И ЗначениеЗаполнено(РезультатТестирования.Сообщение) Тогда + Сообщить(РезультатТестирования.Сообщение, СтатусСообщения.ОченьВажное); + КонецЕсли; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Функция НайтиСтрокуВДеревеТестовПоКлючу(УзелДереваТестов, Знач Ключ) + Результат = Неопределено; + Для каждого ЭлементКоллекции Из УзелДереваТестов.ПолучитьЭлементы() Цикл + Если ЭлементКоллекции.Ключ = Ключ Тогда + Результат = ЭлементКоллекции; + Прервать; + КонецЕсли; + КонецЦикла; + + Возврат Результат; +КонецФункции +// } Работа с деревом тестов + +// { Выполнение тестов +&НаКлиенте +Функция ПолучитьКоличествоТестовыхМетодов(Знач КонтейнерДереваТестов, Знач Фильтр = Неопределено) Экспорт + Возврат ПолучитьКоличествоТестовыхМетодовНаСервере(КонтейнерДереваТестов, Фильтр); +КонецФункции + +&НаСервере +Функция ПолучитьКоличествоТестовыхМетодовНаСервере(Знач КонтейнерДереваТестов, Знач Фильтр) + Возврат ЭтотОбъектНаСервере().ПолучитьКоличествоТестовыхМетодов(КонтейнерДереваТестов, Фильтр); +КонецФункции + +&НаКлиенте +Функция ВыполнитьТесты(Знач Загрузчик, Знач КонтейнерДереваТестов, Знач Фильтр = Неопределено, Знач Подписчик = Неопределено) Экспорт + РезультатТестирования = СоздатьКонтейнерРезультатовТестирования(КонтейнерДереваТестов); + ФильтрДляДочернихУзлов = Неопределено; + Если Не УзелДереваТестовУдовлетворяетФильтру(КонтейнерДереваТестов, Фильтр) Тогда + ФильтрДляДочернихУзлов = Фильтр; + КонецЕсли; + + Если КонтейнерДереваТестов.СлучайныйПорядокВыполнения Тогда + СтрокиКонтейнера = ПеремешатьМассив(КонтейнерДереваТестов.Строки); + Иначе + СтрокиКонтейнера = КонтейнерДереваТестов.Строки; + КонецЕсли; + + Для каждого ДочернийУзел Из СтрокиКонтейнера Цикл + ДочернийРезультатТестирования = Неопределено; + Если ДочернийУзел.Тип = Объект.ТипыУзловДереваТестов.Контейнер Тогда + ДочернийРезультатТестирования = ВыполнитьТесты(Загрузчик, ДочернийУзел, ФильтрДляДочернихУзлов, Подписчик); + ИначеЕсли ДочернийУзел.Тип = Объект.ТипыУзловДереваТестов.Элемент Тогда + Если УзелДереваТестовУдовлетворяетФильтру(ДочернийУзел, ФильтрДляДочернихУзлов) Тогда + КонтекстВыполнения = ПолучитьКонтекстВыполненияПоПути(Загрузчик, ДочернийУзел.Путь); + Объект.ТекущийКонтейнер = КонтейнерДереваТестов; + ДочернийРезультатТестирования = ВыполнитьТестовыйМетод(КонтекстВыполнения, ДочернийУзел); + КонтейнерДереваТестов.Контекст = Объект.ТекущийКонтейнер.Контекст; + + Если Подписчик <> Неопределено Тогда + ОповеститьОСобытии(Подписчик, Объект.ВозможныеСобытия.ВыполненТестовыйМетод, ДочернийРезультатТестирования); + КонецЕсли; + КонецЕсли; + КонецЕсли; + Если ДочернийРезультатТестирования <> Неопределено Тогда + РезультатТестирования.Строки.Добавить(ДочернийРезультатТестирования); + РезультатТестирования.Состояние = ВыбратьХудшееСостояниеВыполненияТестов(РезультатТестирования.Состояние, ДочернийРезультатТестирования.Состояние); + ЗаполнитьДанныеСтатистики(РезультатТестирования, ДочернийРезультатТестирования); + Если Не КонтейнерДереваТестов.СлучайныйПорядокВыполнения И ДочернийРезультатТестирования.Состояние <> Объект.СостоянияТестов.Пройден Тогда + Прервать; + КонецЕсли; + КонецЕсли; + КонецЦикла; + Если РезультатТестирования.Строки.Количество() = 0 Тогда + РезультатТестирования = Неопределено; + КонецЕсли; + + Возврат РезультатТестирования; +КонецФункции + +&НаКлиенте +Функция УзелДереваТестовУдовлетворяетФильтру(Знач УзелДереваТестов, Знач Фильтр) + Возврат (Фильтр = Неопределено) Или (Фильтр.Найти(УзелДереваТестов.Ключ) <> Неопределено); +КонецФункции + +&НаКлиенте +Функция ПолучитьКонтекстВыполненияПоПути(Знач Загрузчик, Знач Путь) + КонтекстВыполнения = Загрузчик.ПолучитьКонтекстПоПути(ЭтаФорма, Путь); + + Возврат КонтекстВыполнения; +КонецФункции + +&НаКлиенте +Функция ЭтоСерверныйКонтекстВыполнения(Знач КонтекстВыполнения) + Результат = ТипЗнч(КонтекстВыполнения) = Тип(""ФиксированнаяСтруктура""); + + Возврат Результат; +КонецФункции + +&НаКлиенте +Процедура ЗаполнитьДанныеСтатистики(РезультатТестирования, Знач ДочернийРезультатТестирования) + Если ДочернийРезультатТестирования.Тип = Объект.ТипыУзловДереваТестов.Контейнер Тогда + РезультатТестирования.КоличествоТестов = РезультатТестирования.КоличествоТестов + ДочернийРезультатТестирования.КоличествоТестов; + РезультатТестирования.КоличествоСломанныхТестов = РезультатТестирования.КоличествоСломанныхТестов + ДочернийРезультатТестирования.КоличествоСломанныхТестов; + РезультатТестирования.КоличествоНеРеализованныхТестов = РезультатТестирования.КоличествоНеРеализованныхТестов + ДочернийРезультатТестирования.КоличествоНеРеализованныхТестов; + РезультатТестирования.КоличествоОшибочныхТестов = РезультатТестирования.КоличествоОшибочныхТестов + ДочернийРезультатТестирования.КоличествоОшибочныхТестов; + + ИначеЕсли ДочернийРезультатТестирования.Тип = Объект.ТипыУзловДереваТестов.Элемент Тогда + РезультатТестирования.КоличествоТестов = РезультатТестирования.КоличествоТестов + 1; + Если ДочернийРезультатТестирования.Состояние = Объект.СостоянияТестов.Сломан Тогда + РезультатТестирования.КоличествоСломанныхТестов = РезультатТестирования.КоличествоСломанныхТестов + 1; + ИначеЕсли ДочернийРезультатТестирования.Состояние = Объект.СостоянияТестов.НеРеализован Тогда + РезультатТестирования.КоличествоНеРеализованныхТестов = РезультатТестирования.КоличествоНеРеализованныхТестов + 1; + ИначеЕсли ДочернийРезультатТестирования.Состояние = Объект.СостоянияТестов.НеизвестнаяОшибка Тогда + РезультатТестирования.КоличествоОшибочныхТестов = РезультатТестирования.КоличествоОшибочныхТестов + 1; + КонецЕсли; + КонецЕсли; + РезультатТестирования.ВремяВыполнения = РезультатТестирования.ВремяВыполнения + ДочернийРезультатТестирования.ВремяВыполнения; +КонецПроцедуры + +&НаКлиенте +Функция ВыбратьХудшееСостояниеВыполненияТестов(Знач Состояние1, Знач Состояние2) + Возврат Макс(Состояние1, Состояние2); +КонецФункции + +&НаКлиенте +Функция ВыполнитьТестовыйМетод(Знач КонтекстВыполнения, Знач ЭлементДереваТестов) + Перем РезультатТестирования; + + Если ЭтоСерверныйКонтекстВыполнения(КонтекстВыполнения) Тогда + РезультатТестирования = ВыделитьТестовыйМетодНаСервереСОбработкойОшибокПередачиМеждуНаКлиентомИСервером(КонтекстВыполнения, ЭлементДереваТестов); + Иначе + РезультатТестирования = ВыполнитьТестовыйМетодНаКлиенте(КонтекстВыполнения, ЭлементДереваТестов); + КонецЕсли; + + Возврат РезультатТестирования; +КонецФункции + +&НаКлиенте +Функция ВыполнитьТестовыйМетодНаКлиенте(Знач КонтекстВыполнения, Знач ЭлементДереваТестов) Экспорт + + РезультатТестирования = СоздатьЭлементРезультатовТестирования(ЭлементДереваТестов); + НачалоВыполнения = ТекущаяУниверсальнаяДатаВМиллисекундах(); + + Если ВыполнитьИнициализациюКонтекста(КонтекстВыполнения, РезультатТестирования) Тогда + + Попытка + ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(КонтекстВыполнения, ЭлементДереваТестов.ПередЗапускомТеста); + ВыполнитьПроцедуруКонтекста(КонтекстВыполнения, ЭлементДереваТестов.ИмяМетода, ЭлементДереваТестов.Параметры); + + РезультатТестирования.Состояние = Объект.СостоянияТестов.Пройден; + Исключение + ИнформацияОбОшибке = ИнформацияОбОшибке(); + ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + КраткийТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); + Если ЕстьОшибка_МетодОбъектаНеОбнаружен(КраткийТекстОшибки, ЭлементДереваТестов.ИмяМетода) Тогда + РезультатТестирования.Состояние = Объект.СостоянияТестов.НеРеализован; + Сообщение = НСтр(""ru = 'Отсутствует реализация тестового метода (%1).'""); + РезультатТестирования.Сообщение = СтрЗаменить(Сообщение, ""%1"", ЭлементДереваТестов.ИмяМетода); + Иначе + РезультатТестирования.Сообщение = ТекстОшибки; + Если ЭтоОшибкаПроверки(КраткийТекстОшибки) Тогда + РезультатТестирования.Состояние = Объект.СостоянияТестов.Сломан; + ИначеЕсли ЭтоПропущенныйТест(КраткийТекстОшибки) Тогда + РезультатТестирования.Состояние = Объект.СостоянияТестов.НеРеализован; + Иначе + РезультатТестирования.Состояние = Объект.СостоянияТестов.НеизвестнаяОшибка; + КонецЕсли; + КонецЕсли; + КонецПопытки; + Попытка + ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(КонтекстВыполнения, ЭлементДереваТестов.ПослеЗапускаТеста); + Исключение + ИнформацияОбОшибке = ИнформацияОбОшибке(); + РезультатТестирования.Сообщение = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + + КраткийТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); + Если ЭтоОшибкаПроверки(КраткийТекстОшибки) Тогда + РезультатТестирования.Состояние = Объект.СостоянияТестов.Сломан; + Иначе + РезультатТестирования.Состояние = Объект.СостоянияТестов.НеизвестнаяОшибка; + КонецЕсли; + + КонецПопытки; + КонецЕсли; + + ОкончаниеВыполнения = ТекущаяУниверсальнаяДатаВМиллисекундах(); + РезультатТестирования.ВремяВыполнения = (ОкончаниеВыполнения - НачалоВыполнения) / 1000; + + Возврат РезультатТестирования; +КонецФункции + +&НаКлиенте +Функция ВыполнитьИнициализациюКонтекста(КонтекстВыполнения, РезультатТестирования) + Попытка + КонтекстВыполнения.Инициализация(ЭтаФорма); + Возврат Истина; + Исключение + РезультатТестирования.Сообщение = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + РезультатТестирования.Состояние = Объект.СостоянияТестов.НеизвестнаяОшибка; + КонецПопытки; + Возврат Ложь; +КонецФункции + +&НаКлиенте +Функция ВыделитьТестовыйМетодНаСервереСОбработкойОшибокПередачиМеждуНаКлиентомИСервером(Знач КонтекстВыполнения, Знач ЭлементДереваТестов) + + Перем ПолныйТекстОшибки, РезультатТестирования; + + Попытка + РезультатТестирования = ВыполнитьТестовыйМетодНаСервере(КонтекстВыполнения, ЭлементДереваТестов); + Исключение + ПолныйТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + РезультатТестирования = СоздатьЭлементРезультатовТестирования(ЭлементДереваТестов); + РезультатТестирования.Сообщение = ПолныйТекстОшибки; + РезультатТестирования.Состояние = Объект.СостоянияТестов.НеизвестнаяОшибка; + КонецПопытки; + + Возврат РезультатТестирования; +КонецФункции + +&НаСервере +Функция ВыполнитьТестовыйМетодНаСервере(Знач ОписаниеКонтекста, Знач ЭлементДереваТестов) + ОбъектНаСервере = ЭтотОбъектНаСервере(); + + Если ОписаниеКонтекста.ЭтоВнутренняяОбработка Тогда + КонтекстВыполнения = Обработки[ОписаниеКонтекста.Идентификатор].Создать(); + Иначе + КонтекстВыполнения = ВнешниеОбработки.Создать(ОписаниеКонтекста.Идентификатор, Ложь); + КонецЕсли; + КонтекстВыполнения.Инициализация(ОбъектНаСервере); + + РезультатТестирования = ОбъектНаСервере.ВыполнитьТестовыйМетод(КонтекстВыполнения, ЭлементДереваТестов); + + Возврат РезультатТестирования; +КонецФункции + +&НаКлиенте +Процедура ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(Знач КонтекстВыполнения, Знач ИмяПроцедуры) + Попытка + ВыполнитьПроцедуруКонтекста(КонтекстВыполнения, ИмяПроцедуры); + Исключение + ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + Если Не ЕстьОшибка_МетодОбъектаНеОбнаружен(ТекстОшибки, ИмяПроцедуры) Тогда + ВызватьИсключение; + КонецЕсли; + КонецПопытки; +КонецПроцедуры + +&НаКлиенте +Процедура ВыполнитьПроцедуруКонтекста(Знач КонтекстВыполнения, Знач ПроцедураКонтекста, Знач Параметры = Неопределено) + СтрокаПараметров = СформироватьСтрокуПараметров(Параметры); + ИcполняемыйКод = ""КонтекстВыполнения."" + ПроцедураКонтекста + ""("" + СтрокаПараметров + "");""; + Выполнить(ИcполняемыйКод); +КонецПроцедуры + +&НаКлиенте +Функция СформироватьСтрокуПараметров(Знач Параметры) + СтрокаПараметров = """"; + Если ТипЗнч(Параметры) = Тип(""Массив"") Тогда + Для Сч = 0 По Параметры.Количество() - 1 Цикл + СтрокаПараметров = СтрокаПараметров + "",Параметры["" + Формат(Сч, ""ЧН=0; ЧГ="") + ""]""; + КонецЦикла; + КонецЕсли; + + Возврат Сред(СтрокаПараметров, 2); +КонецФункции + +&НаКлиенте +Функция ЕстьОшибка_МетодОбъектаНеОбнаружен(Знач ТекстОшибки, Знач ИмяМетода) + Результат = Ложь; + Если Найти(ТекстОшибки, ""Метод объекта не обнаружен ("" + ИмяМетода + "")"") > 0 + ИЛИ Найти(ТекстОшибки, ""Object method not found ("" + ИмяМетода + "")"") > 0 Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; +КонецФункции + +Функция ЭтоОшибкаПроверки(ТекстОшибки) + + Возврат Найти(ТекстОшибки, ""[""+ Объект.СтатусыРезультатаТестирования.ОшибкаПроверки + ""]"") = 1; + +КонецФункции + +Функция ЭтоПропущенныйТест(ТекстОшибки) + + Возврат Найти(ТекстОшибки, ""[""+ Объект.СтатусыРезультатаТестирования.ТестПропущен + ""]"") > 0; + +КонецФункции + +// } Выполнение тестов + +// { Генерация результатов тестирования +&НаКлиенте +Функция СоздатьКонтейнерРезультатовТестирования(Знач КонтейнерДереваТестов) + ГруппаРезультатовТестирования = Новый Структура; + ГруппаРезультатовТестирования.Вставить(""Ключ"", КонтейнерДереваТестов.Ключ); + ГруппаРезультатовТестирования.Вставить(""Тип"", КонтейнерДереваТестов.Тип); + ГруппаРезультатовТестирования.Вставить(""Имя"", КонтейнерДереваТестов.Имя); + ГруппаРезультатовТестирования.Вставить(""Состояние"", Объект.СостоянияТестов.НеВыполнен); + ГруппаРезультатовТестирования.Вставить(""КоличествоТестов"", 0); + ГруппаРезультатовТестирования.Вставить(""КоличествоСломанныхТестов"", 0); + ГруппаРезультатовТестирования.Вставить(""КоличествоОшибочныхТестов"", 0); + ГруппаРезультатовТестирования.Вставить(""КоличествоНеРеализованныхТестов"", 0); + ГруппаРезультатовТестирования.Вставить(""ВремяВыполнения"", 0); + ГруппаРезультатовТестирования.Вставить(""Строки"", Новый Массив); + + Возврат ГруппаРезультатовТестирования; +КонецФункции + +&НаКлиенте +Функция СоздатьЭлементРезультатовТестирования(Знач ЭлементДереваТестов) + РезультатТестирования = Новый Структура; + РезультатТестирования.Вставить(""Ключ"", ЭлементДереваТестов.Ключ); + РезультатТестирования.Вставить(""Тип"", ЭлементДереваТестов.Тип); + РезультатТестирования.Вставить(""Путь"", ЭлементДереваТестов.Путь); + РезультатТестирования.Вставить(""ИмяМетода"", ЭлементДереваТестов.ИмяМетода); + РезультатТестирования.Вставить(""Представление"", ЭлементДереваТестов.Представление); + РезультатТестирования.Вставить(""Параметры"", ЭлементДереваТестов.Параметры); + РезультатТестирования.Вставить(""Состояние"", Объект.СостоянияТестов.НеВыполнен); + РезультатТестирования.Вставить(""ВремяВыполнения"", 0); + РезультатТестирования.Вставить(""Сообщение"", """"); + + Возврат РезультатТестирования; +КонецФункции +// } Генерация результатов тестирования + +// { История загрузки тестов +&НаСервере +Процедура СохранитьВИсториюЗагрузкиТестовНаСервере(Знач ИдентификаторЗагрузчика, Знач Путь) + ЭтотОбъектНаСервере = ЭтотОбъектНаСервере(); + ЭтотОбъектНаСервере.СохранитьВИсториюЗагрузкиТестов(ИдентификаторЗагрузчика, Путь); + ЗначениеВРеквизитФормы(ЭтотОбъектНаСервере, ""Объект""); +КонецПроцедуры + +&НаСервере +Процедура ОбновитьКомандыИсторииЗагрузкиТестов() + ИсторияЗагрузкиТестов = Объект.Настройки.ИсторияЗагрузкиТестов; + ПодменюИсторияЗагрузкиТестов = Элементы.ПодменюИсторияЗагрузкиТестов; + Для Сч = 0 По ИсторияЗагрузкиТестов.Количество() - 1 Цикл + ИмяКоманды = ""История_"" + Сч; + НайденнаяКоманда = Команды.Найти(ИмяКоманды); + Если НайденнаяКоманда = Неопределено Тогда + НоваяКоманда = Команды.Добавить(ИмяКоманды); + НоваяКоманда.Действие = ""Подключаемый_ЗагрузитьТестыИзИстории""; + ПунктМеню = Элементы.Добавить(НоваяКоманда.Имя, Тип(""КнопкаФормы""), ПодменюИсторияЗагрузкиТестов); + ПунктМеню.ИмяКоманды = НоваяКоманда.Имя; + Иначе + ПунктМеню = Элементы.Найти(ИмяКоманды); + КонецЕсли; + ЭлементИстории = ИсторияЗагрузкиТестов[Сч]; + ПунктМеню.Заголовок = ЭлементИстории.ИдентификаторЗагрузчика + "": "" + ЭлементИстории.Путь; + КонецЦикла; +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_ЗагрузитьТестыИзИстории(Команда) + ИндексИстории = Число(Сред(Команда.Имя, Найти(Команда.Имя, ""_"") + 1)); + ИсторияЗагрузкиТестов = Объект.Настройки.ИсторияЗагрузкиТестов; + ЭлементИстории = ИсторияЗагрузкиТестов[ИндексИстории]; + ЗагрузитьТесты(ЭлементИстории.ИдентификаторЗагрузчика, ЭлементИстории.Путь); +КонецПроцедуры +// } История загрузки тестов + +// { Пакетный запуск +&НаКлиенте +Процедура ВыполнитьПакетныйЗапуск(Знач ПараметрЗапуска) + Перем РезультатыТестирования; + + ПарсерКоманднойСтроки = ЭтаФорма.Плагин(""ПарсерКоманднойСтроки""); + ПараметрыЗапуска = ПарсерКоманднойСтроки.Разобрать(ПараметрЗапуска); + + Параметры_xddRun = Неопределено; + Если ПараметрыЗапуска.Свойство(ПарсерКоманднойСтроки.Объект.ВозможныеКлючи.xddRun, Параметры_xddRun) Тогда + РезультатыТестирования = ЗагрузитьИВыполнитьТесты_ПакетныйРежим(Параметры_xddRun); + КонецЕсли; + + Параметры_xddReport = Неопределено; + Если ЗначениеЗаполнено(РезультатыТестирования) И ПараметрыЗапуска.Свойство(ПарсерКоманднойСтроки.Объект.ВозможныеКлючи.xddReport, Параметры_xddReport) Тогда + СформироватьОтчетОТестированииИЭкспортировать_ПакетныйРежим(Параметры_xddReport, РезультатыТестирования); + КонецЕсли; + + Если ПараметрыЗапуска.Свойство(ПарсерКоманднойСтроки.Объект.ВозможныеКлючи.xddShutdown) Тогда + ЗавершитьРаботуСистемы(Ложь); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Функция ЗагрузитьИВыполнитьТесты_ПакетныйРежим(Знач Параметры_xddRun) + Попытка + ИдентификаторЗагрузчика = Параметры_xddRun[0]; + Загрузчик = ЭтаФорма.Плагин(ИдентификаторЗагрузчика); + + ПутьКТестам = Параметры_xddRun[1]; + ДеревоТестовОтЗагрузчика = Загрузчик.Загрузить(ЭтаФорма, ПутьКТестам); + + РезультатыТестирования = ЭтаФорма.ВыполнитьТесты(Загрузчик, ДеревоТестовОтЗагрузчика); + Исключение + ОписаниеОшибки = ""Ошибка загрузки и выполнения тестов в пакетном режиме + |"" + ОписаниеОшибки(); + ЗафиксироватьОшибкуВЖурналеРегистрации(ОписаниеОшибки); + КонецПопытки; + + Возврат РезультатыТестирования; +КонецФункции + +&НаКлиенте +Процедура СформироватьОтчетОТестированииИЭкспортировать_ПакетныйРежим(Знач Параметры_xddReport, Знач РезультатыТестирования) + Попытка + ИдентификаторГенератораОтчета = Параметры_xddReport[0]; + ГенераторОтчета = ЭтаФорма.Плагин(ИдентификаторГенератораОтчета); + + Отчет = ГенераторОтчета.СоздатьОтчет(ЭтаФорма, РезультатыТестирования); + + ПутьКОтчету = Параметры_xddReport[1]; + ГенераторОтчета.Экспортировать(Отчет, ПутьКОтчету); + Исключение + ОписаниеОшибки = ""Ошибка формирования и экспорта отчета о тестировании в пакетном режиме + |"" + ОписаниеОшибки(); + ЗафиксироватьОшибкуВЖурналеРегистрации(ОписаниеОшибки); + КонецПопытки; +КонецПроцедуры + +&НаСервере +Процедура ЗафиксироватьОшибкуВЖурналеРегистрации(Знач ОписаниеОшибки) + ЗаписьЖурналаРегистрации(ЭтотОбъектНаСервере().Метаданные().Имя, УровеньЖурналаРегистрации.Ошибка, , , ОписаниеОшибки); +КонецПроцедуры +// } Пакетный запуск + +// { Контекст +&НаКлиенте +Процедура СохранитьКонтекст(Знач Контекст) Экспорт + Если Объект.ТекущийКонтейнер.СлучайныйПорядокВыполнения Тогда + ВызватьИсключение Объект.ВозможныеИсключения.СохранятьКонтекстТолькоВСтрогомРежиме; + КонецЕсли; + Объект.ТекущийКонтейнер.Контекст = Контекст; +КонецПроцедуры + +&НаКлиенте +Функция ПолучитьКонтекст() Экспорт + Если Объект.ТекущийКонтейнер.СлучайныйПорядокВыполнения Тогда + ВызватьИсключение Объект.ВозможныеИсключения.ПолучатьКонтекстТолькоВСтрогомРежиме; + КонецЕсли; + + Возврат Объект.ТекущийКонтейнер.Контекст; +КонецФункции +// } Контекст + +Процедура ВызватьОшибкуПроверки(СообщениеОшибки = """") Экспорт + + Префикс = ""[""+ Объект.СтатусыРезультатаТестирования.ОшибкаПроверки + ""]""; + ВызватьИсключение Префикс + "" "" + СообщениеОшибки; + +КонецПроцедуры + +Процедура ПропуститьТест(Знач Сообщение = """") Экспорт + + Префикс = ""["" + Объект.СтатусыРезультатаТестирования.ТестПропущен + ""]""; + Если ПустаяСтрока(Сообщение) Тогда + Сообщение = НСтр(""ru = 'Тест пропущен'""); + КонецЕсли; + ВызватьИсключение Префикс + "" "" + Сообщение; + +КонецПроцедуры + +// Выводит сообщение. В тестах ВСЕГДА должна использоваться ВМЕСТО метода Сообщить(). +// +Функция ВывестиСообщение(ТекстСообщения, Статус=Неопределено) Экспорт + + Сообщить(ТекстСообщения, Статус); + +КонецФункции + +// { Внешние интерфейсные инструменты +&НаКлиенте +Процедура ОткрытьИнструмент(Знач ИмяИнструмента, Знач ПутьИнструмента = """", Знач ИмяФормы = ""Форма"") + Если Не ПустаяСтрока(ПутьИнструмента) Тогда + ПутьКВнешнимИнструментам = ПутьИнструмента + ""\""; + Иначе + ПутьКВнешнимИнструментам = ПолучитьПутьКВнешнимИнструментам(); + КонецЕсли; + ПутьИнструмента = ПутьКВнешнимИнструментам + ИмяИнструмента + "".epf""; + ФайлИнструмента = Новый Файл(ПутьИнструмента); + Если Не ФайлИнструмента.Существует() Тогда + Сообщить(""Инструмент <"" + ИмяИнструмента + ""> не найден в каталоге <"" + ФайлИнструмента.Путь + "">""); + Возврат; + КонецЕсли; + АдресХранилища = """"; + ПоместитьФайл(АдресХранилища, ФайлИнструмента.ПолноеИмя, , Ложь); + ПодключитьФайлОбработкиНаСервере(АдресХранилища, Неопределено); + + ФормаИнструмента = ПолучитьФорму(""ВнешняяОбработка."" + ИмяИнструмента + ""."" + ИмяФормы); + Если ФормаИнструмента = Неопределено Тогда + Сообщить(""Инструмент <"" + ИмяИнструмента + "">: не удалось получить основную форму!""); + Возврат; + КонецЕсли; + ФормаИнструмента.Открыть(); + ФормаИнструмента = Неопределено; +КонецПроцедуры + +&НаКлиенте +Функция ПолучитьПутьКПлагинам() + ФайлЯдра = Новый Файл(ЭтаФорма.ИспользуемоеИмяФайла); + Результат = ФайлЯдра.Путь + ""Plugins\""; + + Возврат Результат; +КонецФункции + +&НаКлиенте +Функция ПолучитьПутьКВнешнимИнструментам() + ФайлЯдра = Новый Файл(ЭтаФорма.ИспользуемоеИмяФайла); + Результат = ФайлЯдра.Путь + ""Utils\""; + + Возврат Результат; +КонецФункции +// } Внешние интерфейстные инструменты + +// { Helpers +&НаКлиенте +Процедура ПодключитьВнешнююОбработку(ФайлОбработки) Экспорт + Если ПодключенныеВнешниеОбработки.Получить(ФайлОбработки.ИмяБезРасширения) = Неопределено Тогда + АдресХранилища = """"; + ПоместитьФайл(АдресХранилища, ФайлОбработки.ПолноеИмя, , Ложь, ЭтаФорма.УникальныйИдентификатор); + + ПодключитьФайлОбработкиНаСервере(АдресХранилища, ФайлОбработки.ИмяБезРасширения); + + ПодключенныеВнешниеОбработки.Вставить(ФайлОбработки.ИмяБезРасширения, Истина); + КонецЕсли; +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура ПодключитьФайлОбработкиНаСервере(Знач АдресХранилища, Знач ИдентификаторОбработки) + ВнешниеОбработки.Подключить(АдресХранилища, ИдентификаторОбработки, Ложь); +КонецПроцедуры + +&НаКлиенте +Функция ПолучитьОписаниеКонтекстаВыполнения(Знач Идентификатор, Знач ЭтоВнутренняяОбработка = Ложь) Экспорт + ОписаниеКонтекстаВыполнения = Новый Структура(""Идентификатор, ЭтоВнутренняяОбработка"", Идентификатор, ЭтоВнутренняяОбработка); + + Возврат Новый ФиксированнаяСтруктура(ОписаниеКонтекстаВыполнения); +КонецФункции + +&НаСервере +Функция ЭтотОбъектНаСервере() + Возврат РеквизитФормыВЗначение(""Объект""); +КонецФункции + +&НаКлиенте +Процедура ИнициализироватьИндикаторВыполнения(Знач КоличествоТестовыхМетодов = 0) + Элементы.ИндикаторВыполнения.МаксимальноеЗначение = КоличествоТестовыхМетодов; + ИндикаторВыполнения = 0; + Элементы.ИндикаторВыполнения.ЦветРамки = Новый Цвет(0, 174, 0); // Зеленый +КонецПроцедуры + +&НаКлиенте +Процедура ОповеститьОСобытии(Знач Подписчик, Знач Событие, Знач ПараметрыСобытия) + Выполнить(""Подписчик.ОбработатьСобытиеВыполненияТестов(Событие, ПараметрыСобытия);""); +КонецПроцедуры + +&НаКлиенте +Функция ПеремешатьМассив(Знач ИсходныйМассив) Экспорт + Результат = Новый Массив; + Для Каждого Элемент Из ИсходныйМассив Цикл + Результат.Добавить(Элемент); + КонецЦикла; + + // алгоритм перемешивания взят из книги Кнута ""Искусство программирования"" т.2 + ГСЧ = Новый ГенераторСлучайныхЧисел(); + ПоследнийИндекс = Результат.ВГраница(); + Для Индекс = 1 По ПоследнийИндекс Цикл + ТекущийИндекс = ПоследнийИндекс - Индекс + 1; + НовыйИндекс = ГСЧ.СлучайноеЧисло(0, ТекущийИндекс); + Если НовыйИндекс <> ТекущийИндекс Тогда + Значение = Результат[НовыйИндекс]; + Результат[НовыйИндекс] = Результат[ТекущийИндекс]; + Результат[ТекущийИндекс] = Значение; + КонецЕсли; + КонецЦикла; + + Возврат Результат; +КонецФункции + +&НаКлиенте +Функция НайтиРезультатТестированияПоИдентификатору(Знач КонтейнерРезультатовТестирования, Знач ИдентификаторТеста, Знач ВключатьПодчиненные = Ложь) Экспорт + Результат = НайтиРезультатТестированияПоИдентификатору_НаСервере(КонтейнерРезультатовТестирования, ИдентификаторТеста, ВключатьПодчиненные); + + Возврат Результат; +КонецФункции + +&НаСервере +Функция НайтиРезультатТестированияПоИдентификатору_НаСервере(Знач КонтейнерРезультатовТестирования, Знач ИдентификаторТеста, Знач ВключатьПодчиненные) Экспорт + Результат = ЭтотОбъектНаСервере().НайтиРезультатТестированияПоИдентификатору(КонтейнерРезультатовТестирования, ИдентификаторТеста, ВключатьПодчиненные); + + Возврат Результат; +КонецФункции + +&НаКлиенте +Процедура СброситьПодключенныеВнешниеОбработки() + ПодключенныеВнешниеОбработки = Новый Соответствие; +КонецПроцедуры + +&НаКлиенте +Функция ПараметрыМетода(Знач Парам1, Знач Парам2 = Неопределено, Знач Парам3 = Неопределено, Знач Парам4 = Неопределено, Знач Парам5 = Неопределено, Знач Парам6 = Неопределено, Знач Парам7 = Неопределено, Знач Парам8 = Неопределено, Знач Парам9 = Неопределено) Экспорт + ВсеПараметры = Новый Массив; + ВсеПараметры.Добавить(Парам1); + ВсеПараметры.Добавить(Парам2); + ВсеПараметры.Добавить(Парам3); + ВсеПараметры.Добавить(Парам4); + ВсеПараметры.Добавить(Парам5); + ВсеПараметры.Добавить(Парам6); + ВсеПараметры.Добавить(Парам7); + ВсеПараметры.Добавить(Парам8); + ВсеПараметры.Добавить(Парам9); + + ИндексСПоследнимПараметром = 0; + Для Сч = 0 По ВсеПараметры.ВГраница() Цикл + Индекс = ВсеПараметры.ВГраница() - Сч; + Если ВсеПараметры[Индекс] <> Неопределено Тогда + ИндексСПоследнимПараметром = Индекс; + Прервать; + КонецЕсли; + КонецЦикла; + + ПараметрыМетода = Новый Массив; + Для Сч = 0 По ИндексСПоследнимПараметром Цикл + ПараметрыМетода.Добавить(ВсеПараметры[Сч]); + КонецЦикла; + + Возврат ПараметрыМетода; +КонецФункции + +// } Helpers +", +{4,6, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",9176d5a2-441b-4c0a-b8b7-bf86d41bf1d9} +}, +{0, +{0, +{"B",1},0} +}, +{0, +{0, +{"B",1},0} +}, +{0,0}, +{0,4, +{1, +{0,07f739b4-709b-41bf-8096-032bddefd0f9} +}, +{1, +{0,092b3fc1-7ced-4d20-8a28-79b535f8a9c4} +}, +{1, +{0,a2724854-2f5c-4048-b7b2-02cbb9cb7fa3} +}, +{1, +{0,e46a4b91-3cc7-4188-b6f0-96c31aa42e19} +} +},1,0,0,0, +{0,0}, +{0,0} +}, +{9, +{16},0,"ИндикаторВыполнения", +{1,1, +{"ru","Индикатор выполнения"} +}, +{"Pattern", +{"N",10,0,0} +}, +{0, +{0, +{"B",1},0} +}, +{0, +{0, +{"B",1},0} +}, +{0,0}, +{0,0},0,0,0,0, +{0,0}, +{0,0} +}, +{9, +{2},0,"ДеревоТестов", +{1,1, +{"ru","Дерево тестов"} +}, +{"Pattern", +{"#",e603c0f2-92fb-4d47-8f38-a44a381cf235} +}, +{0, +{0, +{"B",1},0} +}, +{0, +{0, +{"B",1},0} +}, +{0,0}, +{0,0},0,0,0,7, +{5,1,0,"КоличествоТестов", +{1,1, +{"ru","Количество тестов"} +}, +{"Pattern", +{"N",10,0,1} +}, +{0, +{0, +{"B",1},0} +}, +{0, +{0, +{"B",1},0} +}, +{0,0},0}, +{5,2,0,"Состояние", +{1,1, +{"ru","Состояние"} +}, +{"Pattern", +{"N",1,0,1} +}, +{0, +{0, +{"B",1},0} +}, +{0, +{0, +{"B",1},0} +}, +{0,0},0}, +{5,3,0,"Имя", +{1,1, +{"ru","Имя"} +}, +{"Pattern", +{"S"} +}, +{0, +{0, +{"B",1},0} +}, +{0, +{0, +{"B",1},0} +}, +{0,0},0}, +{5,4,0,"ВремяВыполнения", +{1,1, +{"ru","Время выполнения"} +}, +{"Pattern", +{"N",10,3,1} +}, +{0, +{0, +{"B",1},0} +}, +{0, +{0, +{"B",1},0} +}, +{0,0},0}, +{5,5,0,"Путь", +{1,1, +{"ru","Путь"} +}, +{"Pattern", +{"S"} +}, +{0, +{0, +{"B",1},0} +}, +{0, +{0, +{"B",1},0} +}, +{0,0},0}, +{5,6,0,"ИконкаУзла", +{1,1, +{"ru","Иконка узла"} +}, +{"Pattern", +{"N",1,0,1} +}, +{0, +{0, +{"B",1},0} +}, +{0, +{0, +{"B",1},0} +}, +{0,0},0}, +{5,7,0,"Ключ", +{1,1, +{"ru","Ключ"} +}, +{"Pattern", +{"#",fc01b5df-97fe-449b-83d4-218a090e681e} +}, +{0, +{0, +{"B",1},0} +}, +{0, +{0, +{"B",1},0} +}, +{0,0},0}, +{0,0}, +{0,0} +}, +{9, +{3},0,"ИспользуемоеИмяФайла", +{1,1, +{"ru","Используемое имя файла"} +}, +{"Pattern", +{"S"} +}, +{0, +{0, +{"B",1},0} +}, +{0, +{0, +{"B",1},0} +}, +{0,0}, +{0,0},0,0,0,0, +{0,0}, +{0,0} +}, +{9, +{4},0,"ИдентификаторЗагрузчика", +{1,1, +{"ru","Идентификатор загрузчика"} +}, +{"Pattern"}, +{0, +{0, +{"B",1},0} +}, +{0, +{0, +{"B",1},0} +}, +{0,0}, +{0,0},0,0,0,0, +{0,0}, +{0,0} +}, +{9, +{5},0,"ДеревоОтЗагрузчика", +{1,1, +{"ru","Дерево от загрузчика"} +}, +{"Pattern"}, +{0, +{0, +{"B",1},0} +}, +{0, +{0, +{"B",1},0} +}, +{0,0}, +{0,0},0,0,0,0, +{0,0}, +{0,0} +},0,0, +{#base64:77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxTZXR0 +aW5ncyB4bWxucz0iaHR0cDovL3Y4LjFjLnJ1LzguMS9kYXRhLWNvbXBvc2l0aW9u +LXN5c3RlbS9zZXR0aW5ncyIgeG1sbnM6ZGNzY29yPSJodHRwOi8vdjguMWMucnUv +OC4xL2RhdGEtY29tcG9zaXRpb24tc3lzdGVtL2NvcmUiIHhtbG5zOnN0eWxlPSJo +dHRwOi8vdjguMWMucnUvOC4xL2RhdGEvdWkvc3R5bGUiIHhtbG5zOnN5cz0iaHR0 +cDovL3Y4LjFjLnJ1LzguMS9kYXRhL3VpL2ZvbnRzL3N5c3RlbSIgeG1sbnM6djg9 +Imh0dHA6Ly92OC4xYy5ydS84LjEvZGF0YS9jb3JlIiB4bWxuczp2OHVpPSJodHRw +Oi8vdjguMWMucnUvOC4xL2RhdGEvdWkiIHhtbG5zOndlYj0iaHR0cDovL3Y4LjFj +LnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93ZWIiIHhtbG5zOndpbj0iaHR0cDovL3Y4 +LjFjLnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93aW5kb3dzIiB4bWxuczp4cz0iaHR0 +cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDov +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,1, +{0,"Пути", +{"Pattern", +{"#",4772b3b4-f4a3-49c0-a1a5-8cb5961511a3} +},0} +}, +{0,9, +{6, +{3,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"КомандаВыполнитьВсеТесты", +{1,1, +{"ru","Выполнить все тесты (F7)"} +}, +{1,1, +{"ru","Команда выполнить все тесты"} +}, +{0, +{0, +{"B",1},0} +}, +{0,118,0}, +{3,0, +{0},"",-1,-1,1,0},"КомандаВыполнитьВсеТесты",2,0,0, +{0,0} +}, +{6, +{4,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"КомандаПерезагрузитьВсеТесты", +{1,1, +{"ru","Перезагрузить"} +}, +{1,1, +{"ru","Команда перезагрузить все тесты"} +}, +{0, +{0, +{"B",1},0} +}, +{0,82,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)"} +}, +{1,1, +{"ru","Команда выполнить выделенные тесты"} +}, +{0, +{0, +{"B",1},0} +}, +{0,0,0}, +{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","Генератор макетов данных"} +}, +{1,1, +{"ru","Генератор макетов данных на базе реальных данных"} +}, +{0, +{0, +{"B",1},0} +}, +{0,0,0}, +{3,0, +{0},"",-1,-1,1,0},"ГенераторМакетовДанных",3,0,0, +{0,0} +}, +{6, +{8,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"ПоказатьГУИД", +{1,1, +{"ru","Показать ГУИД"} +}, +{1,1, +{"ru","Показать ГУИД"} +}, +{0, +{0, +{"B",1},0} +}, +{0,0,0}, +{3,0, +{0},"",-1,-1,1,0},"ПоказатьГУИД",3,0,0, +{0,0} +}, +{6, +{11,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"КомандаЗагрузитьТолькоВыделенныеТесты", +{1,1, +{"ru","Загрузить только выделенные тесты"} +}, +{1,1, +{"ru","Команда загрузить только выделенные тесты"} +}, +{0, +{0, +{"B",1},0} +}, +{0,0,0}, +{3,0, +{0},"",-1,-1,1,0},"КомандаЗагрузитьТолькоВыделенныеТесты",3,0,0, +{0,0} +}, +{6, +{15,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"КомандаПерезагрузитьФорму", +{1,1, +{"ru","Перезагрузить браузер тестирования"} +}, +{1,1, +{"ru","Команда перезагрузить форму"} +}, +{0, +{0, +{"B",1},0} +}, +{0,0,0}, +{3,0, +{0},"",-1,-1,1,0},"КомандаПерезагрузитьФорму",3,0,0, +{0,0} +}, +{6, +{1,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"ЗагрузитьТестыПоУмолчанию", +{1,1, +{"ru","Загрузить тесты по умолчанию"} +}, +{1,1, +{"ru","Загрузить тесты по умолчанию"} +}, +{0, +{0, +{"B",1},0} +}, +{0,0,0}, +{3,0, +{0},"",-1,-1,1,0},"ЗагрузитьТестыПоУмолчанию",3,0,0, +{0,0} +}, +{6, +{2,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"КонвертерТестов", +{1,1, +{"ru","Конвертер тестов в формат 4-й версии"} +}, +{1,1, +{"ru","Конвертер тестов"} +}, +{0, +{0, +{"B",1},0} +}, +{0,0,0}, +{3,0, +{0},"",-1,-1,1,0},"КонвертерТестов",3,0,0, +{0,0} +} +}, +{0,0}, +{0,0} +} \ No newline at end of file diff --git a/src/xddTestRunner/und/fbabda67-719d-4191-9d89-748c2d43b001 b/src/xddTestRunner/und/fbabda67-719d-4191-9d89-748c2d43b001 deleted file mode 100644 index 4f3c1525..00000000 --- a/src/xddTestRunner/und/fbabda67-719d-4191-9d89-748c2d43b001 +++ /dev/null @@ -1,10 +0,0 @@ -{1, -{1, -{0, -{9, -{0, -{0,0,fbabda67-719d-4191-9d89-748c2d43b001},"ФормаВыбораПодсистемы", -{1,"ru","Форма выбора подсистемы"},""},0,0}, -{0} -} -},0} \ No newline at end of file diff --git a/src/xddTestRunner/und/versions b/src/xddTestRunner/und/versions index dc48a613..13faa9eb 100644 --- a/src/xddTestRunner/und/versions +++ b/src/xddTestRunner/und/versions @@ -1 +1 @@ -{1,22,"",d7df6a27-85ce-44f1-b4ef-f140ba4a3b42,"09955368-9350-432d-b490-f1057c702a2d",6ccaff59-7f4f-4b53-9c85-91471349fbb4,"versions",cb2d5171-aadf-445b-bb02-b6f13592f98e,"fbabda67-719d-4191-9d89-748c2d43b001.0",9b375caf-7563-4316-b263-0cf61a6b94cf,"5070e3c3-f74b-4ecd-9756-1136a230eca2",d0b5d6a9-d19f-4a9e-ba62-fee68fcbb588,"df7f0865-1068-416d-89b2-1bab8b502a1a.0",12c2ae4e-8f18-4492-a7c4-9979da537a88,"root",4e953073-db60-460a-9c93-a193251e1c11,"7e542ac7-435a-4390-85c5-964b3a399bee.0",452d24d4-8f6e-4d30-9f80-66522c224240,"d96a737c-e997-4182-9c28-c8dfa763aa8f.0",c88a9bc2-b61d-42e2-a5ee-62207491274b,"fbabda67-719d-4191-9d89-748c2d43b001",2cde4f5a-f49c-4d97-9d8d-819f1b24467c,"11ad5c96-c434-4088-bf66-ddff06c57ed8.1",20affaf8-e5db-4500-ae35-c64ea68e56e9,"11ad5c96-c434-4088-bf66-ddff06c57ed8.0",569fcaeb-86ba-4f83-8626-9ab6614d4f21,"7e542ac7-435a-4390-85c5-964b3a399bee",dcfb87a3-1c86-4c54-a2ee-ea8f979eaabc,"a1ce7ef7-f372-4589-b899-7fbf88efa7bf",4e1f9203-0f8b-496b-bdff-f96eb25f26fd,"version",8e5f63c9-ae05-4b92-b164-21777ffb6133,"09955368-9350-432d-b490-f1057c702a2d.0",70601cec-13a0-4041-810e-0ab566288249,"df7f0865-1068-416d-89b2-1bab8b502a1a",aa0ac0f2-6c4e-432e-8bbe-f3e6fdb3dcee,"bffaa180-64bd-40f2-bf0a-2915b892a8d5",67b7b5c1-a3b0-4f20-9938-3af11f12817e,"bffaa180-64bd-40f2-bf0a-2915b892a8d5.0",758e75ee-ffe8-4cc2-8ebc-53062be98cb9,"a1ce7ef7-f372-4589-b899-7fbf88efa7bf.0",195c7472-61a4-42d3-8993-576f6affc48f,"copyinfo",121405f5-aa0e-4aa6-aec5-c925ac21d5c3,"d96a737c-e997-4182-9c28-c8dfa763aa8f",29c3677b-599a-43c7-8355-5704b769a853} \ No newline at end of file +{1,13,"",0ffe2b2d-e3b9-4cac-8b85-f80cffb167a6,"versions",deec4bca-1769-45a5-945c-a61148400a8b,"5070e3c3-f74b-4ecd-9756-1136a230eca2",21c72837-4750-45ff-9b86-8708ff9c9aa8,"root",6769578c-7013-4b9c-a4c5-c8cdf32115cb,"11ad5c96-c434-4088-bf66-ddff06c57ed8.0",8817c168-d7f2-4f3e-b488-6eb1bd457f88,"11ad5c96-c434-4088-bf66-ddff06c57ed8.1",bf181a17-2087-44af-9d3b-a812b9fa83df,"a1ce7ef7-f372-4589-b899-7fbf88efa7bf",5a214455-0554-41dd-955b-9b03ba618641,"version",cc1f7be7-c78f-4be7-a05d-52904b4e3b23,"ed07b230-8bf7-4423-b861-a31f23c7471f",cad33af0-89f5-46a6-91b1-99db503a353b,"copyinfo",dd60c0b6-b2c6-430b-bc5d-c6c51e832052,"a1ce7ef7-f372-4589-b899-7fbf88efa7bf.0",1dad3e2a-1064-4d94-80b9-1e9d25d7da3c,"ed07b230-8bf7-4423-b861-a31f23c7471f.0",2ec2ecf1-2d8f-4397-8f30-3213cf9df6f5,"ed07b230-8bf7-4423-b861-a31f23c7471f.1",d2376067-c9d3-4379-9abc-b96f699d83ed} \ No newline at end of file diff --git "a/src/xddTestRunner/\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/xddTestRunner/\320\234\320\260\320\272\320\265\321\202\321\213/\320\234\320\260\320\272\320\265\321\202.txt" deleted file mode 100644 index b459f5f3..00000000 --- "a/src/xddTestRunner/\320\234\320\260\320\272\320\265\321\202\321\213/\320\234\320\260\320\272\320\265\321\202.txt" +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git "a/src/xddTestRunner/\320\234\320\260\320\272\320\265\321\202\321\213/\320\236\321\202\321\207\320\265\321\202\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.mxl" "b/src/xddTestRunner/\320\234\320\260\320\272\320\265\321\202\321\213/\320\236\321\202\321\207\320\265\321\202\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.mxl" deleted file mode 100644 index 07976c57..00000000 Binary files "a/src/xddTestRunner/\320\234\320\260\320\272\320\265\321\202\321\213/\320\236\321\202\321\207\320\265\321\202\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.mxl" and /dev/null differ diff --git a/xUnitAddTestsDesc.js b/xUnitAddTestsDesc.js deleted file mode 100644 index 0396bfae..00000000 --- a/xUnitAddTestsDesc.js +++ /dev/null @@ -1,194 +0,0 @@ -$engine JScript -$uname xUnitAddTestsDesc -$dname xUnitFor1C -$addin global -$addin stdlib -$addin stdcommands - -stdlib.require('TextWindow.js', SelfScript); -stdlib.require('log4js.js', SelfScript); -global.connectGlobals(SelfScript); - -var logger = addLogger(SelfScript.uniqueName, Log4js.Level.DEBUG); //var logger = addLogger(SelfScript.uniqueName, Log4js.Level.ERROR); - -var TEST_CASE_DESC_FUNC_NAME = '' -var TEST_CASE_DESC_FUNC_TEMPLATE = -" ;\n\n\ - () \n\ -\n\ - = ;\n\ -\n\ - = ;\n\ -\n\ - ;\n\ -\n\ -\n" - -function addLogger(loggerName, logLevel) { - var logger = Log4js.getLogger(loggerName); - var appender = new Log4js.BrowserConsoleAppender(); - appender.setLayout(new Log4js.PatternLayout(Log4js.PatternLayout.TTCC_CONVERSION_PATTERN)); - // , - appenders = []; - appenders.push(appender); - logger.onlog = new Log4js.CustomEvent(); - logger.onclear = new Log4js.CustomEvent(); - - logger.setAppenders(appenders); // - //logger.addAppender(new Log4js.FileAppender("f:\\somefile.log")); - logger.setLevel(logLevel); - return logger; -} - -SelfScript.self['macros xUnitFor1C'] = function() { - var tw = GetTextWindow(); - if (!tw || tw.IsReadOnly()) { - logger.debug(' ') - return true; - } - - var parser = snegopat.parseSources(tw.text()) - logger.debug('parser.reStream ' + parser.reStream) - - var indexTestCaseDescFunc = parser.idxOfName(TEST_CASE_DESC_FUNC_NAME) - logger.debug('parser.idxOfName("'+TEST_CASE_DESC_FUNC_NAME+'")=' + indexTestCaseDescFunc) - - var procNames = getTestCases(parser) - if(!procNames){ - logger.debug(' ') - return true - } - if (-1 == indexTestCaseDescFunc) { - logger.debug(' "'+TEST_CASE_DESC_FUNC_NAME+'"') - logger.debug(' "'+TEST_CASE_DESC_FUNC_NAME+'"') - - tw.InsertLine(1, TEST_CASE_DESC_FUNC_TEMPLATE); - - parser = snegopat.parseSources(tw.text()) - logger.debug('parser.reStream ' + parser.reStream) - - indexTestCaseDescFunc = parser.idxOfName(TEST_CASE_DESC_FUNC_NAME) - logger.debug('parser.idxOfName("'+TEST_CASE_DESC_FUNC_NAME+'")=' + indexTestCaseDescFunc) - } - - var data = getLineForInsertTestCaseDescriptions(parser, indexTestCaseDescFunc); - - var line = data.EndLine; - if(line != -1){ - var arrayName = data.ArrayName - deleteExistTestCaseDesc(tw, data.BeginLine, line, procNames, arrayName) - - parser = snegopat.parseSources(tw.text()) // .. , - logger.debug('parser.reStream ' + parser.reStream) - - data = getLineForInsertTestCaseDescriptions(parser, indexTestCaseDescFunc); - - line = data.EndLine; - if(line != -1){ - insertTestCaseDescIntoText(tw, line, procNames, arrayName); - } - } - else - logger.debug(' ') - - return true; -} - -function deleteExistTestCaseDesc(tw, beginLine, endLine, procNames, arrayName) { - var range = tw.Range(beginLine, 1, endLine) - var text = range.GetText() - logger.debug(' '+TEST_CASE_DESC_FUNC_NAME + '\n'+text) - - for(i=0; i < procNames.length; i++) { - var reTestCaseDesc = new RegExp( '^\\s*'+arrayName+'\\.\\(\\s*"'+procNames[i]+'"\\s*\\)\\s*;\\s*$', "igm"); - logger.debug(' '+reTestCaseDesc.source) - text = text.replace(reTestCaseDesc,""); - } - logger.debug(' '+TEST_CASE_DESC_FUNC_NAME + '\n'+text) - range.SetText(text) -} - -function insertTestCaseDescIntoText(tw, line, procNames, arrayName){ - logger.debug('arrayName <' + arrayName+'>') - array = new Array(procNames.length); - for(i=0; i < procNames.length; i++) { - str = '\t'+arrayName+'.("'+procNames[i]+'");'; - array[i] = str; - logger.debug(' - ' + str) - } - array[procNames.length] = ""; - tw.InsertLine(line, StringUtils.fromLines(array)); -} - -function getLineForInsertTestCaseDescriptions(parser, indexTestCaseDescFunc){ - var resEndLine = -1; - var resArrayName = '' - var resBeginLine = -1 - var ret = { BeginLine: -1, EndLine: -1, ArrayName: '' }; - - strForStream = addStringToTheLeft(indexTestCaseDescFunc, "0", 6-(""+indexTestCaseDescFunc).length) - - // () ... = ; ... ; ... - var reTestCaseDescriptionsFuncBody = new RegExp('FuNm('+strForStream+')LpNm(\\d{6})RpEx.*?(Nm(\\d{6})EqNwNm(\\d{6})).*?ReNm(\\d{6})', "g"); - - lexemsArray = reTestCaseDescriptionsFuncBody.exec(parser.reStream) - var findRightBody = lexemsArray && lexemsArray.length >= 6 - if(findRightBody) - { - logger.debug(TEST_CASE_DESC_FUNC_NAME + ' () lexemsArray.index ' + lexemsArray.index + ' lexemsArray.lastIndex ' + lexemsArray.lastIndex ) - - var testCaseArrayName = parser.name(lexemsArray[4]) // " = " - var arrayKeywordName = parser.name(lexemsArray[5]) // - var returnValueName = parser.name(lexemsArray[6]) // - logger.debug(' "' + testCaseArrayName+'"') - - findRightBody = //i.test(arrayKeywordName) && testCaseArrayName.toLowerCase() == returnValueName.toLowerCase() - if (findRightBody) { - - var lex = parser.lexem(parser.posToLexem(lexemsArray.index)) - logger.debug(' "'+TEST_CASE_DESC_FUNC_NAME+';" , ' + lex.line) - resBeginLine = lex.line - - var lex = parser.lexem(parser.posToLexem(lexemsArray.lastIndex)) - logger.debug(' " '+testCaseArrayName+';" , ' + lex.line) - - ret = { BeginLine: resBeginLine, EndLine: lex.line, ArrayName: testCaseArrayName } - } - else { - logger.error(' "". "' + arrayKeywordName+'"') - logger.error(' "'+testCaseArrayName+'". "' + returnValueName+'"') - } - } - else { - logger.error(' '+TEST_CASE_DESC_FUNC_NAME+' '); - if(lexemsArray) - logger.error(' (lexemsArray.length) 6, "' + lexemsArray.length+'"') - } - return ret; -} - -function getTestCases(parser){ - var res = new Array(); - var reStream = parser.reStream - var rePublicProcedureWithoutParams = /(Pc)Nm\d{6}LpRpEx/g - var reTestCaseName = /^/i - - while(rePublicProcedureWithoutParams.exec(reStream)) - { - var lex = parser.lexem(parser.posToLexem(RegExp.index + 2)) - logger.debug(' ' + lex.text + ", " + lex.line) - if (reTestCaseName.exec(lex.text)){ - logger.debug('\t ' + lex.text + ", " + lex.line) - res.push( lex.text ) - } - } - logger.debug('procNames.length ' + res.length) - return res.length ? res : null; -} - -function addStringToTheLeft(src, str, count) { - res = src; - for(i=0; i < count; i++) - res = str + res; - return res; -} \ No newline at end of file diff --git a/xddDataFixtureGen.epf b/xddDataFixtureGen.epf deleted file mode 100644 index e64884e8..00000000 Binary files a/xddDataFixtureGen.epf and /dev/null differ diff --git a/xddInformator.epf b/xddInformator.epf deleted file mode 100644 index 63a4b2ca..00000000 Binary files a/xddInformator.epf and /dev/null differ diff --git a/xddRegisterDynaWrapperX.epf b/xddRegisterDynaWrapperX.epf deleted file mode 100644 index 3b760f21..00000000 Binary files a/xddRegisterDynaWrapperX.epf and /dev/null differ diff --git a/xddScriptRunner.epf b/xddScriptRunner.epf deleted file mode 100644 index 2ff50992..00000000 Binary files a/xddScriptRunner.epf and /dev/null differ diff --git a/xddTestRunner.epf b/xddTestRunner.epf index 0bb2508d..a19fd00e 100644 Binary files a/xddTestRunner.epf and b/xddTestRunner.epf differ diff --git a/xddTestRunner.js b/xddTestRunner.js deleted file mode 100644 index 510f5283..00000000 --- a/xddTestRunner.js +++ /dev/null @@ -1,351 +0,0 @@ -$engine JScript -$uname _1CUnitTestRunner -$dname 1CUnit: Юнит-тестирование для 1С:Предприятия 8 -$addin stdcommands -$addin stdlib -$addin global - -global.connectGlobals(SelfScript); -events.connect(Designer, "onUnLoadAddin", SelfScript.self) - -stdlib.require("ScriptForm.js", SelfScript); - - -//////////////////////////////////////////////////////////////////////////////////////// -////{ Cкрипт "1CUnit: Юнит-тестирование для 1С:Предприятия 8" (TestRunner.js) для проекта "Снегопат" -//// -//// Описание: Запуск юнит-тестов системы юнит-тестирования 1CUnit для 1С:Предприятия 8 -//// из конфигуратора 1С:Предприятия при помоги Снегопата. -//// -//// Автор: Александр Кунташов , http://compaud.ru/blog -////} - -function onUnLoadAddin(addin) -{ - //if(this.isConnect()) - //MessageBox("TestRunnerForm1C onUnLoadAddin"); - //delete this.v8; -}; - -SelfScript.self['macrosОткрыть'] = function () { - var $this = Get1CTestRunnerForm(); - $this.open(); -}; - -SelfScript.self['macrosЗакрыть'] = function () { - var $this = Get1CTestRunnerForm(); - $this.close(); -}; - -SelfScript.self['macrosЗагрузить все тесты'] = function () { - var $this = Get1CTestRunnerForm(); - $this.LoadAllTests(); -}; - -SelfScript.self['macrosЗагрузить отдельный тест'] = function () { - var $this = Get1CTestRunnerForm(); - $this.LoadTest(); -}; - -SelfScript.self['macrosВыполнить все тесты'] = function () { - var $this = Get1CTestRunnerForm(); - $this.RunAllTests(); -}; - -SelfScript.self['macrosВыполнить выбранный тест'] = function () { - var $this = Get1CTestRunnerForm(); - $this.RunTest(); -}; - -SelfScript.self['macrosПерезагрузить 1С:Предприятие'] = function () { - var $this = Get1CTestRunnerForm(); - $this.disconnect(); - $this.connectIfNotConnected(); - - //$this.close(); - $this.open(); -}; - -//////////////////////////////////////////////////////////////////////////////////////// -////{ Класс TestRunnerForm1C -//// - -//TODO если пишем TestRunnerForm1C = new (ScriptForm.extend({ -// т.е. с использованием new, то при загрузке скрипта будут ошибки на описанных обработчиках событий типа btLoadAllTests_Click - -//TestRunnerForm1C = (ScriptForm.extend({ // так работают обработчики, но не удается подключиться из другого скрипта к экземпляру -TestRunnerForm1C = new (ScriptForm.extend({ - - settingsRootPath : SelfScript.uniqueName, - - formFolderPath : stdlib.getSnegopatMainFolder() + "scripts\\1CUnit_my\\", - //stdlib.getSnegopatMainFolder() + "user\\1CUnit\\ - - testsPath : "", - - construct: function () { - - this._super(SelfScript.fullPath.replace(/js$/, 'ssf')); - this.form.КлючСохраненияПоложенияОкна = SelfScript.uniqueName; - this.v8 = null; - this.testRunner = null; - this.testTree = this.form.TestTree; - this.form.Controls.TestTree.Columns.Name.ShowHierarchy = true; - - //TestRunnerForm1C._instance = this; - //Message("TestRunnerForm1C construct") - - //events.connect(Designer, "onUnLoadAddin", this, 'onUnLoadAddin'); - }, - - //onUnLoadAddin : function(addin) { - // //if(this.isConnect()) - // Message("TestRunnerForm1C onUnLoadAddin"); - // delete this.v8; - //}, - - //destruct: function() { - // //this.unloadAllEpf(); - // //if(this.isConnect()) - // delete this.v8; - //}, - - // TODO БАГ СНЕГОПАТА - если определить метод Open (именно учитывая регистр), то будет баг с обработчиками событий кнопок, например, ЗагрузитьТесты_Нажатие - // например, в 1.4.7.2 баг есть - open: function () { - this.show(); - }, - - //// TODO БАГ СНЕГОПАТА - если определить метод Close (именно учитывая регистр), то будет баг с обработчиками событий кнопок, например, ЗагрузитьТесты_Нажатие - //// например, в 1.4.7.2 баг есть - //close: function () { - // this._super().close(); - //}, - - LoadAllTests: function (path) { - this.testConnect(); - - testsPath = path; - - this.open(); - - this.treeCache = v8New('Map'); - this.testTree.Rows.Clear(); - - this.testRunner.LoadAllTests(path); - }, - - LoadTest: function () { - Message('LoadTest не реализован'); - }, - - RunAllTests: function () { - - this.testConnect(); - //this.open(); - // - //this.treeCache = v8New('Map'); - //this.testTree.Rows.Clear(); - - //this.testRunner.LoadAllTests(this.formFolderPath + "Тесты"); - ////this.testRunner.LoadAllTests(stdlib.getSnegopatMainFolder() + "user\\1CUnit\\Тесты"); - - this.testRunner.RunAllTests(); - - //this.disconnect(); // TODO включить для реальной работы - }, - - RunTest: function () { - Message('RunTest не реализован'); - }, - - LoadTest: function () { - Message('LoadTest не реализован'); - }, - - ReloadTests: function () { - Message('ReloadTests не реализован'); - }, - - /* Обработчики событий от TestRunner'а. */ - - TestLoaded: function (objTest) { -//debugger; - var parentRow = null; - if(objTest.Родитель) - parentRow = this.getTestRow(objTest.Родитель._guid); //var parentRow = this.getTestRow(objTest._guid); - - if (!parentRow) - parentRow = this.testTree; - - this.addTreeRow(parentRow, objTest.Имя, objTest.ПолныйПуть, objTest._guid); - }, - - TestPassed: function (objTest) { - }, - - TestBroken: function (objTest) { - }, - - TestNotImplemented: function (objTest) { - }, - - getTestRow: function (guid) { - return this.treeCache.Get(guid); - }, - - addTreeRow: function (parentRow, name, path, guid) { - var row = parentRow.Rows.Add(); - row.Name = name; - row.Path = path; - row._guid = guid; - this.treeCache.Insert(guid, row); - }, - - /* Вспомогательные процедуры и функции. */ - - isConnect: function () { - return this.v8 != null; - }, - - testConnect: function () { - if(!this.isConnect()) - throw "Нет соединения с 1С:Предприятием"; - }, - - connectIfNotConnected: function () { - - if (!this.isConnect()) { - this.v8 = new ActiveXObject("V82.Application"); - - this.v8.connect(this.getConnectString()); - this.v8.Visible = true; - //this.v8.Visible = false; - - this.testRunner = this.v8.ExternalDataProcessors.Create(this.getTestRunnerFilepath()); - this.testRunner.OpenBrowserForm(); - - // Установим перехватчик сообщений. - $this = this; - this.testRunner.SetHandlerObject({ - Message : function (msg) { Message(msg); }, - TestLoaded : function (obj) { $this.TestLoaded(obj); }, - TestPassed : function (obj) { $this.TestPassed(obj); }, - TestBroken : function (obj) { $this.TestBroken(obj); }, - TestNotImplemented : function (obj) { $this.TestNotImplemented(obj) } - }); - } - - try{ - this.v8.Visible = true; - } - catch(e){ // если приложение уже закрылось. TODO не знаю, как без исключения это проверить. - } - - return this.testRunner; - }, - - disconnect: function () { - if(this.isConnect()) - { - try{ - this.testRunner.SetHandlerObject(null); - } - catch(e){ // если приложение уже закрылось. TODO не знаю, как без исключения это проверить. - } - } - this.testRunner = null; - this.v8 = null; - }, - - LoadAllTestWithSelectFolderPath: function() { - path = this.SelectFolderPath() - if(path != null) - this.LoadAllTests(path); - }, - - SelectFolderPath : function () { - - ДиалогВыбораКаталога = v8New("ДиалогВыбораФайла", РежимДиалогаВыбораФайла.ВыборКаталога); - ДиалогВыбораКаталога.Каталог = testsPath; - - if(ДиалогВыбораКаталога.Выбрать() != false) { - - testsPath = ДиалогВыбораКаталога.Каталог; - return testsPath; - } - - //ДиалогОткрытияФайла=v8New("ДиалогВыбораФайла", РежимДиалогаВыбораФайла.Открытие) - //ДиалогОткрытияФайла.ПолноеИмяФайла = ""+Control.val.Значение; - //ДиалогОткрытияФайла.Заголовок = "Выберите внешнюю обработку" - //if(ДиалогОткрытияФайла.Выбрать()==false) { - // - //} else { - // Control.val.Значение = ДиалогОткрытияФайла.ПолноеИмяФайла; - //} - - return null; - - }, - - getTestRunnerFilepath: function () { - return this.formFolderPath + "UnitTestRunner.epf" - //return stdlib.getSnegopatMainFolder() + "user\\1CUnit\\UnitTestRunner.epf"; - }, - - getConnectString: function () { - //Артур: Нужно брать из профайmла CmdLine\UserName и CmdLine\UserPassword - var connStr = InfoBaseConnectionString(); - connStr += 'Usr="' + profileRoot.getValue("CmdLine/UserName") + '";'; - connStr += 'Pwd="' + profileRoot.getValue("CmdLine/UserPassword") + '";'; - return connStr; - }, - - /* Обработчики событий формы. */ - - // TODO смотрим выше коммент для TestRunnerForm1C = new (ScriptForm.extend({ - - Form_OnOpen: function(p1) { - //Message("test Form_OnOpen 2"); - }, - - ЗагрузитьНаборыТестов_Click: function(Button) { - //Message("ЗагрузитьВсеТесты_Нажатие"); - this.LoadAllTestWithSelectFolderPath(); - }, - - ЗагрузитьОтдельныйТестовыйНабор_Нажатие: function(button) { - Message("ЗагрузитьТесты_Нажатие"); - this.LoadTest(); - }, - - КнопкаВыполнитьВсеТестыНажатие: function(button) { - //Message("КнопкаВыполнитьВсеТестыНажатие"); - this.RunAllTests(); - }, - - КнопкаПерезагрузитьНажатие: function(button) { - Message("КнопкаПерезагрузитьНажатие"); - this.ReloadTests(); - }, - - dummy: function() { - throw(e); - } - -})); - -//TestRunnerForm1C = new TestRunnerForm1C; // нужно для правильной работы без new (ScriptForm.extend({ - -function Get1CTestRunnerForm() { - return TestRunnerForm1C; // так правильнее - - //if (!TestRunnerForm1C._instance) - // new TestRunnerForm1C(); - - //return TestRunnerForm1C._instance; -} - -//// -////} Класс TestRunnerForm1C -//////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/xddTestRunner.ssf b/xddTestRunner.ssf deleted file mode 100644 index 97526f69..00000000 Binary files a/xddTestRunner.ssf and /dev/null differ